diff --git a/src/grammar.json b/src/grammar.json
index ae4c39c..4878fff 100644
--- a/src/grammar.json
+++ b/src/grammar.json
@@ -3193,8 +3193,17 @@
       "type": "SEQ",
       "members": [
         {
-          "type": "STRING",
-          "value": "__attribute__"
+          "type": "CHOICE",
+          "members": [
+            {
+              "type": "STRING",
+              "value": "__attribute__"
+            },
+            {
+              "type": "STRING",
+              "value": "__attribute"
+            }
+          ]
         },
         {
           "type": "STRING",
@@ -4860,6 +4869,13 @@
                 ]
               }
             },
+            {
+              "type": "REPEAT",
+              "content": {
+                "type": "SYMBOL",
+                "name": "type_qualifier"
+              }
+            },
             {
               "type": "FIELD",
               "name": "type",
@@ -5986,8 +6002,16 @@
       "type": "SEQ",
       "members": [
         {
-          "type": "SYMBOL",
-          "name": "_expression_not_binary"
+          "type": "CHOICE",
+          "members": [
+            {
+              "type": "SYMBOL",
+              "name": "_expression_not_binary"
+            },
+            {
+              "type": "BLANK"
+            }
+          ]
         },
         {
           "type": "STRING",
@@ -8210,7 +8234,7 @@
           "name": "value",
           "content": {
             "type": "SYMBOL",
-            "name": "identifier"
+            "name": "expression"
           }
         },
         {
@@ -9400,7 +9424,7 @@
                 },
                 {
                   "type": "PATTERN",
-                  "value": "x[0-9a-fA-F]{2,}"
+                  "value": "x[0-9a-fA-F]{1,4}"
                 },
                 {
                   "type": "PATTERN",
diff --git a/src/node-types.json b/src/node-types.json
index 2685c1f..d47e5d1 100644
--- a/src/node-types.json
+++ b/src/node-types.json
@@ -2087,7 +2087,7 @@
         "required": true,
         "types": [
           {
-            "type": "identifier",
+            "type": "expression",
             "named": true
           }
         ]
@@ -3426,6 +3426,16 @@
           }
         ]
       }
+    },
+    "children": {
+      "multiple": true,
+      "required": false,
+      "types": [
+        {
+          "type": "type_qualifier",
+          "named": true
+        }
+      ]
     }
   },
   {
@@ -4240,6 +4250,10 @@
     "type": "__asm__",
     "named": false
   },
+  {
+    "type": "__attribute",
+    "named": false
+  },
   {
     "type": "__attribute__",
     "named": false
diff --git a/src/parser.c b/src/parser.c
index b8e7c02..4c5e0a9 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -13,15 +13,15 @@
 #endif
 
 #define LANGUAGE_VERSION 14
-#define STATE_COUNT 2009
-#define LARGE_STATE_COUNT 462
-#define SYMBOL_COUNT 359
+#define STATE_COUNT 2023
+#define LARGE_STATE_COUNT 463
+#define SYMBOL_COUNT 360
 #define ALIAS_COUNT 3
-#define TOKEN_COUNT 160
+#define TOKEN_COUNT 161
 #define EXTERNAL_TOKEN_COUNT 0
 #define FIELD_COUNT 39
 #define MAX_ALIAS_SEQUENCE_LENGTH 9
-#define PRODUCTION_ID_COUNT 132
+#define PRODUCTION_ID_COUNT 133
 
 enum ts_symbol_identifiers {
   sym_identifier = 1,
@@ -70,321 +70,322 @@ enum ts_symbol_identifiers {
   anon_sym_typedef = 44,
   anon_sym_extern = 45,
   anon_sym___attribute__ = 46,
-  anon_sym_COLON_COLON = 47,
-  anon_sym_LBRACK_LBRACK = 48,
-  anon_sym_RBRACK_RBRACK = 49,
-  anon_sym___declspec = 50,
-  anon_sym___based = 51,
-  anon_sym___cdecl = 52,
-  anon_sym___clrcall = 53,
-  anon_sym___stdcall = 54,
-  anon_sym___fastcall = 55,
-  anon_sym___thiscall = 56,
-  anon_sym___vectorcall = 57,
-  sym_ms_restrict_modifier = 58,
-  sym_ms_unsigned_ptr_modifier = 59,
-  sym_ms_signed_ptr_modifier = 60,
-  anon_sym__unaligned = 61,
-  anon_sym___unaligned = 62,
-  anon_sym_LBRACE = 63,
-  anon_sym_RBRACE = 64,
-  anon_sym_signed = 65,
-  anon_sym_unsigned = 66,
-  anon_sym_long = 67,
-  anon_sym_short = 68,
-  anon_sym_LBRACK = 69,
-  anon_sym_static = 70,
-  anon_sym_RBRACK = 71,
-  anon_sym_EQ = 72,
-  anon_sym_auto = 73,
-  anon_sym_register = 74,
-  anon_sym_inline = 75,
-  anon_sym___inline = 76,
-  anon_sym___inline__ = 77,
-  anon_sym___forceinline = 78,
-  anon_sym_thread_local = 79,
-  anon_sym___thread = 80,
-  anon_sym_const = 81,
-  anon_sym_constexpr = 82,
-  anon_sym_volatile = 83,
-  anon_sym_restrict = 84,
-  anon_sym___restrict__ = 85,
-  anon_sym__Atomic = 86,
-  anon_sym__Noreturn = 87,
-  anon_sym_noreturn = 88,
-  anon_sym__Nonnull = 89,
-  anon_sym_alignas = 90,
-  anon_sym__Alignas = 91,
-  sym_primitive_type = 92,
-  anon_sym_enum = 93,
-  anon_sym_COLON = 94,
-  anon_sym_struct = 95,
-  anon_sym_union = 96,
-  anon_sym_if = 97,
-  anon_sym_else = 98,
-  anon_sym_switch = 99,
-  anon_sym_case = 100,
-  anon_sym_default = 101,
-  anon_sym_while = 102,
-  anon_sym_do = 103,
-  anon_sym_for = 104,
-  anon_sym_return = 105,
-  anon_sym_break = 106,
-  anon_sym_continue = 107,
-  anon_sym_goto = 108,
-  anon_sym___try = 109,
-  anon_sym___except = 110,
-  anon_sym___finally = 111,
-  anon_sym___leave = 112,
-  anon_sym_QMARK = 113,
-  anon_sym_STAR_EQ = 114,
-  anon_sym_SLASH_EQ = 115,
-  anon_sym_PERCENT_EQ = 116,
-  anon_sym_PLUS_EQ = 117,
-  anon_sym_DASH_EQ = 118,
-  anon_sym_LT_LT_EQ = 119,
-  anon_sym_GT_GT_EQ = 120,
-  anon_sym_AMP_EQ = 121,
-  anon_sym_CARET_EQ = 122,
-  anon_sym_PIPE_EQ = 123,
-  anon_sym_DASH_DASH = 124,
-  anon_sym_PLUS_PLUS = 125,
-  anon_sym_sizeof = 126,
-  anon_sym___alignof__ = 127,
-  anon_sym___alignof = 128,
-  anon_sym__alignof = 129,
-  anon_sym_alignof = 130,
-  anon_sym__Alignof = 131,
-  anon_sym_offsetof = 132,
-  anon_sym__Generic = 133,
-  anon_sym_asm = 134,
-  anon_sym___asm__ = 135,
-  anon_sym___asm = 136,
-  anon_sym___volatile__ = 137,
-  anon_sym_DOT = 138,
-  anon_sym_DASH_GT = 139,
-  sym_number_literal = 140,
-  anon_sym_L_SQUOTE = 141,
-  anon_sym_u_SQUOTE = 142,
-  anon_sym_U_SQUOTE = 143,
-  anon_sym_u8_SQUOTE = 144,
-  anon_sym_SQUOTE = 145,
-  aux_sym_char_literal_token1 = 146,
-  anon_sym_L_DQUOTE = 147,
-  anon_sym_u_DQUOTE = 148,
-  anon_sym_U_DQUOTE = 149,
-  anon_sym_u8_DQUOTE = 150,
-  anon_sym_DQUOTE = 151,
-  aux_sym_string_literal_token1 = 152,
-  sym_escape_sequence = 153,
-  sym_system_lib_string = 154,
-  sym_true = 155,
-  sym_false = 156,
-  anon_sym_NULL = 157,
-  anon_sym_nullptr = 158,
-  sym_comment = 159,
-  sym_translation_unit = 160,
-  sym__top_level_item = 161,
-  sym__block_item = 162,
-  sym_preproc_include = 163,
-  sym_preproc_def = 164,
-  sym_preproc_function_def = 165,
-  sym_preproc_params = 166,
-  sym_preproc_call = 167,
-  sym_preproc_if = 168,
-  sym_preproc_ifdef = 169,
-  sym_preproc_else = 170,
-  sym_preproc_elif = 171,
-  sym_preproc_elifdef = 172,
-  sym_preproc_if_in_field_declaration_list = 173,
-  sym_preproc_ifdef_in_field_declaration_list = 174,
-  sym_preproc_else_in_field_declaration_list = 175,
-  sym_preproc_elif_in_field_declaration_list = 176,
-  sym_preproc_elifdef_in_field_declaration_list = 177,
-  sym_preproc_if_in_enumerator_list = 178,
-  sym_preproc_ifdef_in_enumerator_list = 179,
-  sym_preproc_else_in_enumerator_list = 180,
-  sym_preproc_elif_in_enumerator_list = 181,
-  sym_preproc_elifdef_in_enumerator_list = 182,
-  sym_preproc_if_in_enumerator_list_no_comma = 183,
-  sym_preproc_ifdef_in_enumerator_list_no_comma = 184,
-  sym_preproc_else_in_enumerator_list_no_comma = 185,
-  sym_preproc_elif_in_enumerator_list_no_comma = 186,
-  sym_preproc_elifdef_in_enumerator_list_no_comma = 187,
-  sym__preproc_expression = 188,
-  sym_preproc_parenthesized_expression = 189,
-  sym_preproc_defined = 190,
-  sym_preproc_unary_expression = 191,
-  sym_preproc_call_expression = 192,
-  sym_preproc_argument_list = 193,
-  sym_preproc_binary_expression = 194,
-  sym_function_definition = 195,
-  sym__old_style_function_definition = 196,
-  sym_declaration = 197,
-  sym_type_definition = 198,
-  sym__type_definition_type = 199,
-  sym__type_definition_declarators = 200,
-  sym__declaration_modifiers = 201,
-  sym__declaration_specifiers = 202,
-  sym_linkage_specification = 203,
-  sym_attribute_specifier = 204,
-  sym_attribute = 205,
-  sym_attribute_declaration = 206,
-  sym_ms_declspec_modifier = 207,
-  sym_ms_based_modifier = 208,
-  sym_ms_call_modifier = 209,
-  sym_ms_unaligned_ptr_modifier = 210,
-  sym_ms_pointer_modifier = 211,
-  sym_declaration_list = 212,
-  sym__declarator = 213,
-  sym__declaration_declarator = 214,
-  sym__field_declarator = 215,
-  sym__type_declarator = 216,
-  sym__abstract_declarator = 217,
-  sym_parenthesized_declarator = 218,
-  sym_parenthesized_field_declarator = 219,
-  sym_parenthesized_type_declarator = 220,
-  sym_abstract_parenthesized_declarator = 221,
-  sym_attributed_declarator = 222,
-  sym_attributed_field_declarator = 223,
-  sym_attributed_type_declarator = 224,
-  sym_pointer_declarator = 225,
-  sym_pointer_field_declarator = 226,
-  sym_pointer_type_declarator = 227,
-  sym_abstract_pointer_declarator = 228,
-  sym_function_declarator = 229,
-  sym__function_declaration_declarator = 230,
-  sym_function_field_declarator = 231,
-  sym_function_type_declarator = 232,
-  sym_abstract_function_declarator = 233,
-  sym__old_style_function_declarator = 234,
-  sym_array_declarator = 235,
-  sym_array_field_declarator = 236,
-  sym_array_type_declarator = 237,
-  sym_abstract_array_declarator = 238,
-  sym_init_declarator = 239,
-  sym_compound_statement = 240,
-  sym_storage_class_specifier = 241,
-  sym_type_qualifier = 242,
-  sym_alignas_qualifier = 243,
-  sym_type_specifier = 244,
-  sym_sized_type_specifier = 245,
-  sym_enum_specifier = 246,
-  sym_enumerator_list = 247,
-  sym_struct_specifier = 248,
-  sym_union_specifier = 249,
-  sym_field_declaration_list = 250,
-  sym__field_declaration_list_item = 251,
-  sym_field_declaration = 252,
-  sym__field_declaration_declarator = 253,
-  sym_bitfield_clause = 254,
-  sym_enumerator = 255,
-  sym_variadic_parameter = 256,
-  sym_parameter_list = 257,
-  sym__old_style_parameter_list = 258,
-  sym_parameter_declaration = 259,
-  sym_attributed_statement = 260,
-  sym_statement = 261,
-  sym__top_level_statement = 262,
-  sym_labeled_statement = 263,
-  sym__top_level_expression_statement = 264,
-  sym_expression_statement = 265,
-  sym_if_statement = 266,
-  sym_else_clause = 267,
-  sym_switch_statement = 268,
-  sym_case_statement = 269,
-  sym_while_statement = 270,
-  sym_do_statement = 271,
-  sym_for_statement = 272,
-  sym__for_statement_body = 273,
-  sym_return_statement = 274,
-  sym_break_statement = 275,
-  sym_continue_statement = 276,
-  sym_goto_statement = 277,
-  sym_seh_try_statement = 278,
-  sym_seh_except_clause = 279,
-  sym_seh_finally_clause = 280,
-  sym_seh_leave_statement = 281,
-  sym_expression = 282,
-  sym__string = 283,
-  sym_comma_expression = 284,
-  sym_conditional_expression = 285,
-  sym_assignment_expression = 286,
-  sym_pointer_expression = 287,
-  sym_unary_expression = 288,
-  sym_binary_expression = 289,
-  sym_update_expression = 290,
-  sym_cast_expression = 291,
-  sym_type_descriptor = 292,
-  sym_sizeof_expression = 293,
-  sym_alignof_expression = 294,
-  sym_offsetof_expression = 295,
-  sym_generic_expression = 296,
-  sym_subscript_expression = 297,
-  sym_call_expression = 298,
-  sym_gnu_asm_expression = 299,
-  sym_gnu_asm_qualifier = 300,
-  sym_gnu_asm_output_operand_list = 301,
-  sym_gnu_asm_output_operand = 302,
-  sym_gnu_asm_input_operand_list = 303,
-  sym_gnu_asm_input_operand = 304,
-  sym_gnu_asm_clobber_list = 305,
-  sym_gnu_asm_goto_list = 306,
-  sym_extension_expression = 307,
-  sym_argument_list = 308,
-  sym_field_expression = 309,
-  sym_compound_literal_expression = 310,
-  sym_parenthesized_expression = 311,
-  sym_initializer_list = 312,
-  sym_initializer_pair = 313,
-  sym_subscript_designator = 314,
-  sym_subscript_range_designator = 315,
-  sym_field_designator = 316,
-  sym_char_literal = 317,
-  sym_concatenated_string = 318,
-  sym_string_literal = 319,
-  sym_null = 320,
-  sym__empty_declaration = 321,
-  sym_macro_type_specifier = 322,
-  aux_sym_translation_unit_repeat1 = 323,
-  aux_sym_preproc_params_repeat1 = 324,
-  aux_sym_preproc_if_repeat1 = 325,
-  aux_sym_preproc_if_in_field_declaration_list_repeat1 = 326,
-  aux_sym_preproc_if_in_enumerator_list_repeat1 = 327,
-  aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1 = 328,
-  aux_sym_preproc_argument_list_repeat1 = 329,
-  aux_sym__old_style_function_definition_repeat1 = 330,
-  aux_sym_declaration_repeat1 = 331,
-  aux_sym_type_definition_repeat1 = 332,
-  aux_sym__type_definition_type_repeat1 = 333,
-  aux_sym__type_definition_declarators_repeat1 = 334,
-  aux_sym__declaration_specifiers_repeat1 = 335,
-  aux_sym_attribute_declaration_repeat1 = 336,
-  aux_sym_attributed_declarator_repeat1 = 337,
-  aux_sym_pointer_declarator_repeat1 = 338,
-  aux_sym_function_declarator_repeat1 = 339,
-  aux_sym_array_declarator_repeat1 = 340,
-  aux_sym_sized_type_specifier_repeat1 = 341,
-  aux_sym_enumerator_list_repeat1 = 342,
-  aux_sym__field_declaration_declarator_repeat1 = 343,
-  aux_sym_parameter_list_repeat1 = 344,
-  aux_sym__old_style_parameter_list_repeat1 = 345,
-  aux_sym_case_statement_repeat1 = 346,
-  aux_sym_generic_expression_repeat1 = 347,
-  aux_sym_gnu_asm_expression_repeat1 = 348,
-  aux_sym_gnu_asm_output_operand_list_repeat1 = 349,
-  aux_sym_gnu_asm_input_operand_list_repeat1 = 350,
-  aux_sym_gnu_asm_clobber_list_repeat1 = 351,
-  aux_sym_gnu_asm_goto_list_repeat1 = 352,
-  aux_sym_argument_list_repeat1 = 353,
-  aux_sym_initializer_list_repeat1 = 354,
-  aux_sym_initializer_pair_repeat1 = 355,
-  aux_sym_char_literal_repeat1 = 356,
-  aux_sym_concatenated_string_repeat1 = 357,
-  aux_sym_string_literal_repeat1 = 358,
-  alias_sym_field_identifier = 359,
-  alias_sym_statement_identifier = 360,
-  alias_sym_type_identifier = 361,
+  anon_sym___attribute = 47,
+  anon_sym_COLON_COLON = 48,
+  anon_sym_LBRACK_LBRACK = 49,
+  anon_sym_RBRACK_RBRACK = 50,
+  anon_sym___declspec = 51,
+  anon_sym___based = 52,
+  anon_sym___cdecl = 53,
+  anon_sym___clrcall = 54,
+  anon_sym___stdcall = 55,
+  anon_sym___fastcall = 56,
+  anon_sym___thiscall = 57,
+  anon_sym___vectorcall = 58,
+  sym_ms_restrict_modifier = 59,
+  sym_ms_unsigned_ptr_modifier = 60,
+  sym_ms_signed_ptr_modifier = 61,
+  anon_sym__unaligned = 62,
+  anon_sym___unaligned = 63,
+  anon_sym_LBRACE = 64,
+  anon_sym_RBRACE = 65,
+  anon_sym_signed = 66,
+  anon_sym_unsigned = 67,
+  anon_sym_long = 68,
+  anon_sym_short = 69,
+  anon_sym_LBRACK = 70,
+  anon_sym_static = 71,
+  anon_sym_RBRACK = 72,
+  anon_sym_EQ = 73,
+  anon_sym_auto = 74,
+  anon_sym_register = 75,
+  anon_sym_inline = 76,
+  anon_sym___inline = 77,
+  anon_sym___inline__ = 78,
+  anon_sym___forceinline = 79,
+  anon_sym_thread_local = 80,
+  anon_sym___thread = 81,
+  anon_sym_const = 82,
+  anon_sym_constexpr = 83,
+  anon_sym_volatile = 84,
+  anon_sym_restrict = 85,
+  anon_sym___restrict__ = 86,
+  anon_sym__Atomic = 87,
+  anon_sym__Noreturn = 88,
+  anon_sym_noreturn = 89,
+  anon_sym__Nonnull = 90,
+  anon_sym_alignas = 91,
+  anon_sym__Alignas = 92,
+  sym_primitive_type = 93,
+  anon_sym_enum = 94,
+  anon_sym_COLON = 95,
+  anon_sym_struct = 96,
+  anon_sym_union = 97,
+  anon_sym_if = 98,
+  anon_sym_else = 99,
+  anon_sym_switch = 100,
+  anon_sym_case = 101,
+  anon_sym_default = 102,
+  anon_sym_while = 103,
+  anon_sym_do = 104,
+  anon_sym_for = 105,
+  anon_sym_return = 106,
+  anon_sym_break = 107,
+  anon_sym_continue = 108,
+  anon_sym_goto = 109,
+  anon_sym___try = 110,
+  anon_sym___except = 111,
+  anon_sym___finally = 112,
+  anon_sym___leave = 113,
+  anon_sym_QMARK = 114,
+  anon_sym_STAR_EQ = 115,
+  anon_sym_SLASH_EQ = 116,
+  anon_sym_PERCENT_EQ = 117,
+  anon_sym_PLUS_EQ = 118,
+  anon_sym_DASH_EQ = 119,
+  anon_sym_LT_LT_EQ = 120,
+  anon_sym_GT_GT_EQ = 121,
+  anon_sym_AMP_EQ = 122,
+  anon_sym_CARET_EQ = 123,
+  anon_sym_PIPE_EQ = 124,
+  anon_sym_DASH_DASH = 125,
+  anon_sym_PLUS_PLUS = 126,
+  anon_sym_sizeof = 127,
+  anon_sym___alignof__ = 128,
+  anon_sym___alignof = 129,
+  anon_sym__alignof = 130,
+  anon_sym_alignof = 131,
+  anon_sym__Alignof = 132,
+  anon_sym_offsetof = 133,
+  anon_sym__Generic = 134,
+  anon_sym_asm = 135,
+  anon_sym___asm__ = 136,
+  anon_sym___asm = 137,
+  anon_sym___volatile__ = 138,
+  anon_sym_DOT = 139,
+  anon_sym_DASH_GT = 140,
+  sym_number_literal = 141,
+  anon_sym_L_SQUOTE = 142,
+  anon_sym_u_SQUOTE = 143,
+  anon_sym_U_SQUOTE = 144,
+  anon_sym_u8_SQUOTE = 145,
+  anon_sym_SQUOTE = 146,
+  aux_sym_char_literal_token1 = 147,
+  anon_sym_L_DQUOTE = 148,
+  anon_sym_u_DQUOTE = 149,
+  anon_sym_U_DQUOTE = 150,
+  anon_sym_u8_DQUOTE = 151,
+  anon_sym_DQUOTE = 152,
+  aux_sym_string_literal_token1 = 153,
+  sym_escape_sequence = 154,
+  sym_system_lib_string = 155,
+  sym_true = 156,
+  sym_false = 157,
+  anon_sym_NULL = 158,
+  anon_sym_nullptr = 159,
+  sym_comment = 160,
+  sym_translation_unit = 161,
+  sym__top_level_item = 162,
+  sym__block_item = 163,
+  sym_preproc_include = 164,
+  sym_preproc_def = 165,
+  sym_preproc_function_def = 166,
+  sym_preproc_params = 167,
+  sym_preproc_call = 168,
+  sym_preproc_if = 169,
+  sym_preproc_ifdef = 170,
+  sym_preproc_else = 171,
+  sym_preproc_elif = 172,
+  sym_preproc_elifdef = 173,
+  sym_preproc_if_in_field_declaration_list = 174,
+  sym_preproc_ifdef_in_field_declaration_list = 175,
+  sym_preproc_else_in_field_declaration_list = 176,
+  sym_preproc_elif_in_field_declaration_list = 177,
+  sym_preproc_elifdef_in_field_declaration_list = 178,
+  sym_preproc_if_in_enumerator_list = 179,
+  sym_preproc_ifdef_in_enumerator_list = 180,
+  sym_preproc_else_in_enumerator_list = 181,
+  sym_preproc_elif_in_enumerator_list = 182,
+  sym_preproc_elifdef_in_enumerator_list = 183,
+  sym_preproc_if_in_enumerator_list_no_comma = 184,
+  sym_preproc_ifdef_in_enumerator_list_no_comma = 185,
+  sym_preproc_else_in_enumerator_list_no_comma = 186,
+  sym_preproc_elif_in_enumerator_list_no_comma = 187,
+  sym_preproc_elifdef_in_enumerator_list_no_comma = 188,
+  sym__preproc_expression = 189,
+  sym_preproc_parenthesized_expression = 190,
+  sym_preproc_defined = 191,
+  sym_preproc_unary_expression = 192,
+  sym_preproc_call_expression = 193,
+  sym_preproc_argument_list = 194,
+  sym_preproc_binary_expression = 195,
+  sym_function_definition = 196,
+  sym__old_style_function_definition = 197,
+  sym_declaration = 198,
+  sym_type_definition = 199,
+  sym__type_definition_type = 200,
+  sym__type_definition_declarators = 201,
+  sym__declaration_modifiers = 202,
+  sym__declaration_specifiers = 203,
+  sym_linkage_specification = 204,
+  sym_attribute_specifier = 205,
+  sym_attribute = 206,
+  sym_attribute_declaration = 207,
+  sym_ms_declspec_modifier = 208,
+  sym_ms_based_modifier = 209,
+  sym_ms_call_modifier = 210,
+  sym_ms_unaligned_ptr_modifier = 211,
+  sym_ms_pointer_modifier = 212,
+  sym_declaration_list = 213,
+  sym__declarator = 214,
+  sym__declaration_declarator = 215,
+  sym__field_declarator = 216,
+  sym__type_declarator = 217,
+  sym__abstract_declarator = 218,
+  sym_parenthesized_declarator = 219,
+  sym_parenthesized_field_declarator = 220,
+  sym_parenthesized_type_declarator = 221,
+  sym_abstract_parenthesized_declarator = 222,
+  sym_attributed_declarator = 223,
+  sym_attributed_field_declarator = 224,
+  sym_attributed_type_declarator = 225,
+  sym_pointer_declarator = 226,
+  sym_pointer_field_declarator = 227,
+  sym_pointer_type_declarator = 228,
+  sym_abstract_pointer_declarator = 229,
+  sym_function_declarator = 230,
+  sym__function_declaration_declarator = 231,
+  sym_function_field_declarator = 232,
+  sym_function_type_declarator = 233,
+  sym_abstract_function_declarator = 234,
+  sym__old_style_function_declarator = 235,
+  sym_array_declarator = 236,
+  sym_array_field_declarator = 237,
+  sym_array_type_declarator = 238,
+  sym_abstract_array_declarator = 239,
+  sym_init_declarator = 240,
+  sym_compound_statement = 241,
+  sym_storage_class_specifier = 242,
+  sym_type_qualifier = 243,
+  sym_alignas_qualifier = 244,
+  sym_type_specifier = 245,
+  sym_sized_type_specifier = 246,
+  sym_enum_specifier = 247,
+  sym_enumerator_list = 248,
+  sym_struct_specifier = 249,
+  sym_union_specifier = 250,
+  sym_field_declaration_list = 251,
+  sym__field_declaration_list_item = 252,
+  sym_field_declaration = 253,
+  sym__field_declaration_declarator = 254,
+  sym_bitfield_clause = 255,
+  sym_enumerator = 256,
+  sym_variadic_parameter = 257,
+  sym_parameter_list = 258,
+  sym__old_style_parameter_list = 259,
+  sym_parameter_declaration = 260,
+  sym_attributed_statement = 261,
+  sym_statement = 262,
+  sym__top_level_statement = 263,
+  sym_labeled_statement = 264,
+  sym__top_level_expression_statement = 265,
+  sym_expression_statement = 266,
+  sym_if_statement = 267,
+  sym_else_clause = 268,
+  sym_switch_statement = 269,
+  sym_case_statement = 270,
+  sym_while_statement = 271,
+  sym_do_statement = 272,
+  sym_for_statement = 273,
+  sym__for_statement_body = 274,
+  sym_return_statement = 275,
+  sym_break_statement = 276,
+  sym_continue_statement = 277,
+  sym_goto_statement = 278,
+  sym_seh_try_statement = 279,
+  sym_seh_except_clause = 280,
+  sym_seh_finally_clause = 281,
+  sym_seh_leave_statement = 282,
+  sym_expression = 283,
+  sym__string = 284,
+  sym_comma_expression = 285,
+  sym_conditional_expression = 286,
+  sym_assignment_expression = 287,
+  sym_pointer_expression = 288,
+  sym_unary_expression = 289,
+  sym_binary_expression = 290,
+  sym_update_expression = 291,
+  sym_cast_expression = 292,
+  sym_type_descriptor = 293,
+  sym_sizeof_expression = 294,
+  sym_alignof_expression = 295,
+  sym_offsetof_expression = 296,
+  sym_generic_expression = 297,
+  sym_subscript_expression = 298,
+  sym_call_expression = 299,
+  sym_gnu_asm_expression = 300,
+  sym_gnu_asm_qualifier = 301,
+  sym_gnu_asm_output_operand_list = 302,
+  sym_gnu_asm_output_operand = 303,
+  sym_gnu_asm_input_operand_list = 304,
+  sym_gnu_asm_input_operand = 305,
+  sym_gnu_asm_clobber_list = 306,
+  sym_gnu_asm_goto_list = 307,
+  sym_extension_expression = 308,
+  sym_argument_list = 309,
+  sym_field_expression = 310,
+  sym_compound_literal_expression = 311,
+  sym_parenthesized_expression = 312,
+  sym_initializer_list = 313,
+  sym_initializer_pair = 314,
+  sym_subscript_designator = 315,
+  sym_subscript_range_designator = 316,
+  sym_field_designator = 317,
+  sym_char_literal = 318,
+  sym_concatenated_string = 319,
+  sym_string_literal = 320,
+  sym_null = 321,
+  sym__empty_declaration = 322,
+  sym_macro_type_specifier = 323,
+  aux_sym_translation_unit_repeat1 = 324,
+  aux_sym_preproc_params_repeat1 = 325,
+  aux_sym_preproc_if_repeat1 = 326,
+  aux_sym_preproc_if_in_field_declaration_list_repeat1 = 327,
+  aux_sym_preproc_if_in_enumerator_list_repeat1 = 328,
+  aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1 = 329,
+  aux_sym_preproc_argument_list_repeat1 = 330,
+  aux_sym__old_style_function_definition_repeat1 = 331,
+  aux_sym_declaration_repeat1 = 332,
+  aux_sym_type_definition_repeat1 = 333,
+  aux_sym__type_definition_type_repeat1 = 334,
+  aux_sym__type_definition_declarators_repeat1 = 335,
+  aux_sym__declaration_specifiers_repeat1 = 336,
+  aux_sym_attribute_declaration_repeat1 = 337,
+  aux_sym_attributed_declarator_repeat1 = 338,
+  aux_sym_pointer_declarator_repeat1 = 339,
+  aux_sym_function_declarator_repeat1 = 340,
+  aux_sym_array_declarator_repeat1 = 341,
+  aux_sym_sized_type_specifier_repeat1 = 342,
+  aux_sym_enumerator_list_repeat1 = 343,
+  aux_sym__field_declaration_declarator_repeat1 = 344,
+  aux_sym_parameter_list_repeat1 = 345,
+  aux_sym__old_style_parameter_list_repeat1 = 346,
+  aux_sym_case_statement_repeat1 = 347,
+  aux_sym_generic_expression_repeat1 = 348,
+  aux_sym_gnu_asm_expression_repeat1 = 349,
+  aux_sym_gnu_asm_output_operand_list_repeat1 = 350,
+  aux_sym_gnu_asm_input_operand_list_repeat1 = 351,
+  aux_sym_gnu_asm_clobber_list_repeat1 = 352,
+  aux_sym_gnu_asm_goto_list_repeat1 = 353,
+  aux_sym_argument_list_repeat1 = 354,
+  aux_sym_initializer_list_repeat1 = 355,
+  aux_sym_initializer_pair_repeat1 = 356,
+  aux_sym_char_literal_repeat1 = 357,
+  aux_sym_concatenated_string_repeat1 = 358,
+  aux_sym_string_literal_repeat1 = 359,
+  alias_sym_field_identifier = 360,
+  alias_sym_statement_identifier = 361,
+  alias_sym_type_identifier = 362,
 };
 
 static const char * const ts_symbol_names[] = {
@@ -435,6 +436,7 @@ static const char * const ts_symbol_names[] = {
   [anon_sym_typedef] = "typedef",
   [anon_sym_extern] = "extern",
   [anon_sym___attribute__] = "__attribute__",
+  [anon_sym___attribute] = "__attribute",
   [anon_sym_COLON_COLON] = "::",
   [anon_sym_LBRACK_LBRACK] = "[[",
   [anon_sym_RBRACK_RBRACK] = "]]",
@@ -800,6 +802,7 @@ static const TSSymbol ts_symbol_map[] = {
   [anon_sym_typedef] = anon_sym_typedef,
   [anon_sym_extern] = anon_sym_extern,
   [anon_sym___attribute__] = anon_sym___attribute__,
+  [anon_sym___attribute] = anon_sym___attribute,
   [anon_sym_COLON_COLON] = anon_sym_COLON_COLON,
   [anon_sym_LBRACK_LBRACK] = anon_sym_LBRACK_LBRACK,
   [anon_sym_RBRACK_RBRACK] = anon_sym_RBRACK_RBRACK,
@@ -1306,6 +1309,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
     .visible = true,
     .named = false,
   },
+  [anon_sym___attribute] = {
+    .visible = true,
+    .named = false,
+  },
   [anon_sym_COLON_COLON] = {
     .visible = true,
     .named = false,
@@ -2696,98 +2703,99 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
   [35] = {.index = 46, .length = 2},
   [36] = {.index = 48, .length = 5},
   [37] = {.index = 53, .length = 3},
-  [38] = {.index = 56, .length = 2},
-  [39] = {.index = 58, .length = 2},
-  [40] = {.index = 60, .length = 1},
-  [41] = {.index = 61, .length = 2},
-  [42] = {.index = 63, .length = 1},
-  [43] = {.index = 64, .length = 2},
-  [44] = {.index = 66, .length = 2},
-  [45] = {.index = 68, .length = 2},
-  [46] = {.index = 70, .length = 2},
-  [47] = {.index = 72, .length = 2},
-  [48] = {.index = 74, .length = 2},
-  [49] = {.index = 76, .length = 2},
-  [50] = {.index = 78, .length = 2},
-  [52] = {.index = 80, .length = 2},
-  [53] = {.index = 82, .length = 1},
-  [54] = {.index = 83, .length = 1},
-  [55] = {.index = 84, .length = 3},
-  [56] = {.index = 87, .length = 1},
-  [57] = {.index = 88, .length = 1},
-  [58] = {.index = 89, .length = 1},
-  [59] = {.index = 90, .length = 2},
-  [60] = {.index = 92, .length = 1},
-  [61] = {.index = 93, .length = 3},
-  [62] = {.index = 96, .length = 3},
-  [63] = {.index = 99, .length = 2},
-  [64] = {.index = 101, .length = 3},
-  [65] = {.index = 104, .length = 2},
-  [66] = {.index = 106, .length = 5},
-  [67] = {.index = 111, .length = 3},
-  [68] = {.index = 114, .length = 5},
-  [69] = {.index = 119, .length = 2},
-  [70] = {.index = 121, .length = 2},
-  [71] = {.index = 123, .length = 3},
-  [72] = {.index = 126, .length = 2},
-  [73] = {.index = 128, .length = 2},
-  [74] = {.index = 130, .length = 1},
-  [75] = {.index = 131, .length = 2},
-  [76] = {.index = 133, .length = 2},
-  [77] = {.index = 135, .length = 2},
-  [78] = {.index = 137, .length = 3},
-  [79] = {.index = 140, .length = 2},
-  [80] = {.index = 142, .length = 2},
-  [81] = {.index = 144, .length = 2},
-  [82] = {.index = 146, .length = 1},
-  [83] = {.index = 147, .length = 2},
-  [84] = {.index = 149, .length = 2},
-  [85] = {.index = 151, .length = 4},
-  [86] = {.index = 155, .length = 1},
-  [87] = {.index = 156, .length = 2},
-  [88] = {.index = 158, .length = 1},
-  [89] = {.index = 159, .length = 1},
-  [90] = {.index = 160, .length = 4},
-  [91] = {.index = 164, .length = 4},
-  [92] = {.index = 168, .length = 2},
-  [93] = {.index = 170, .length = 2},
-  [94] = {.index = 172, .length = 3},
-  [95] = {.index = 175, .length = 5},
-  [96] = {.index = 180, .length = 3},
-  [97] = {.index = 183, .length = 2},
-  [98] = {.index = 185, .length = 1},
-  [100] = {.index = 186, .length = 2},
-  [101] = {.index = 188, .length = 2},
-  [102] = {.index = 190, .length = 2},
-  [103] = {.index = 192, .length = 3},
-  [104] = {.index = 195, .length = 2},
-  [105] = {.index = 197, .length = 2},
-  [106] = {.index = 199, .length = 2},
-  [107] = {.index = 201, .length = 2},
-  [108] = {.index = 203, .length = 3},
-  [109] = {.index = 206, .length = 2},
-  [110] = {.index = 208, .length = 1},
-  [111] = {.index = 209, .length = 5},
-  [112] = {.index = 214, .length = 2},
-  [113] = {.index = 216, .length = 3},
-  [114] = {.index = 219, .length = 2},
+  [38] = {.index = 56, .length = 1},
+  [39] = {.index = 56, .length = 1},
+  [40] = {.index = 57, .length = 2},
+  [41] = {.index = 59, .length = 2},
+  [42] = {.index = 61, .length = 1},
+  [43] = {.index = 62, .length = 2},
+  [44] = {.index = 64, .length = 1},
+  [45] = {.index = 65, .length = 2},
+  [46] = {.index = 67, .length = 2},
+  [47] = {.index = 69, .length = 2},
+  [48] = {.index = 71, .length = 2},
+  [49] = {.index = 73, .length = 2},
+  [50] = {.index = 75, .length = 2},
+  [51] = {.index = 77, .length = 2},
+  [52] = {.index = 79, .length = 2},
+  [54] = {.index = 81, .length = 2},
+  [55] = {.index = 83, .length = 1},
+  [56] = {.index = 84, .length = 1},
+  [57] = {.index = 85, .length = 3},
+  [58] = {.index = 88, .length = 1},
+  [59] = {.index = 89, .length = 1},
+  [60] = {.index = 90, .length = 2},
+  [61] = {.index = 92, .length = 1},
+  [62] = {.index = 93, .length = 3},
+  [63] = {.index = 96, .length = 3},
+  [64] = {.index = 99, .length = 2},
+  [65] = {.index = 101, .length = 3},
+  [66] = {.index = 104, .length = 2},
+  [67] = {.index = 106, .length = 5},
+  [68] = {.index = 111, .length = 3},
+  [69] = {.index = 114, .length = 5},
+  [70] = {.index = 119, .length = 2},
+  [71] = {.index = 121, .length = 2},
+  [72] = {.index = 123, .length = 3},
+  [73] = {.index = 126, .length = 2},
+  [74] = {.index = 128, .length = 2},
+  [75] = {.index = 130, .length = 1},
+  [76] = {.index = 131, .length = 2},
+  [77] = {.index = 133, .length = 2},
+  [78] = {.index = 135, .length = 2},
+  [79] = {.index = 137, .length = 3},
+  [80] = {.index = 140, .length = 2},
+  [81] = {.index = 142, .length = 2},
+  [82] = {.index = 144, .length = 2},
+  [83] = {.index = 146, .length = 1},
+  [84] = {.index = 147, .length = 2},
+  [85] = {.index = 149, .length = 2},
+  [86] = {.index = 151, .length = 4},
+  [87] = {.index = 155, .length = 1},
+  [88] = {.index = 156, .length = 2},
+  [89] = {.index = 158, .length = 1},
+  [90] = {.index = 159, .length = 1},
+  [91] = {.index = 160, .length = 4},
+  [92] = {.index = 164, .length = 4},
+  [93] = {.index = 168, .length = 2},
+  [94] = {.index = 170, .length = 2},
+  [95] = {.index = 172, .length = 3},
+  [96] = {.index = 175, .length = 5},
+  [97] = {.index = 180, .length = 3},
+  [98] = {.index = 183, .length = 2},
+  [99] = {.index = 185, .length = 1},
+  [101] = {.index = 186, .length = 2},
+  [102] = {.index = 188, .length = 2},
+  [103] = {.index = 190, .length = 2},
+  [104] = {.index = 192, .length = 3},
+  [105] = {.index = 195, .length = 2},
+  [106] = {.index = 197, .length = 2},
+  [107] = {.index = 199, .length = 2},
+  [108] = {.index = 201, .length = 2},
+  [109] = {.index = 203, .length = 3},
+  [110] = {.index = 206, .length = 2},
+  [111] = {.index = 208, .length = 1},
+  [112] = {.index = 209, .length = 5},
+  [113] = {.index = 214, .length = 2},
+  [114] = {.index = 216, .length = 3},
   [115] = {.index = 219, .length = 2},
-  [116] = {.index = 221, .length = 3},
-  [117] = {.index = 224, .length = 2},
-  [118] = {.index = 226, .length = 1},
-  [119] = {.index = 227, .length = 4},
-  [120] = {.index = 231, .length = 3},
-  [121] = {.index = 234, .length = 2},
-  [122] = {.index = 236, .length = 2},
-  [123] = {.index = 35, .length = 1},
-  [124] = {.index = 238, .length = 5},
-  [125] = {.index = 243, .length = 4},
-  [126] = {.index = 247, .length = 2},
-  [127] = {.index = 249, .length = 2},
-  [128] = {.index = 251, .length = 2},
-  [129] = {.index = 253, .length = 5},
-  [130] = {.index = 258, .length = 2},
-  [131] = {.index = 260, .length = 3},
+  [116] = {.index = 219, .length = 2},
+  [117] = {.index = 221, .length = 3},
+  [118] = {.index = 224, .length = 2},
+  [119] = {.index = 226, .length = 1},
+  [120] = {.index = 227, .length = 4},
+  [121] = {.index = 231, .length = 3},
+  [122] = {.index = 234, .length = 2},
+  [123] = {.index = 236, .length = 2},
+  [124] = {.index = 35, .length = 1},
+  [125] = {.index = 238, .length = 5},
+  [126] = {.index = 243, .length = 4},
+  [127] = {.index = 247, .length = 2},
+  [128] = {.index = 249, .length = 2},
+  [129] = {.index = 251, .length = 2},
+  [130] = {.index = 253, .length = 5},
+  [131] = {.index = 258, .length = 2},
+  [132] = {.index = 260, .length = 3},
 };
 
 static const TSFieldMapEntry ts_field_map_entries[] = {
@@ -2880,57 +2888,57 @@ static const TSFieldMapEntry ts_field_map_entries[] = {
     {field_field, 2},
     {field_operator, 1},
   [56] =
+    {field_type, 2},
+  [57] =
     {field_name, 1},
     {field_value, 2},
-  [58] =
+  [59] =
     {field_name, 1},
     {field_parameters, 2},
-  [60] =
-    {field_condition, 1},
   [61] =
+    {field_condition, 1},
+  [62] =
     {field_alternative, 2},
     {field_name, 1},
-  [63] =
-    {field_type, 0, .inherited = true},
   [64] =
+    {field_type, 0, .inherited = true},
+  [65] =
     {field_declarator, 2},
     {field_type, 0},
-  [66] =
+  [67] =
     {field_left, 0},
     {field_right, 2},
-  [68] =
+  [69] =
     {field_type, 1},
     {field_value, 3},
-  [70] =
+  [71] =
     {field_declarator, 2},
     {field_type, 1},
-  [72] =
+  [73] =
     {field_declarator, 2, .inherited = true},
     {field_type, 1, .inherited = true},
-  [74] =
+  [75] =
     {field_declarator, 0},
     {field_declarator, 1, .inherited = true},
-  [76] =
+  [77] =
     {field_name, 2},
     {field_prefix, 0},
-  [78] =
+  [79] =
     {field_name, 1},
     {field_underlying_type, 3},
-  [80] =
+  [81] =
     {field_body, 3},
     {field_name, 2},
-  [82] =
-    {field_name, 3},
   [83] =
-    {field_body, 3},
+    {field_name, 3},
   [84] =
+    {field_body, 3},
+  [85] =
     {field_alternative, 3},
     {field_condition, 1},
     {field_consequence, 2},
-  [87] =
-    {field_initializer, 0},
   [88] =
-    {field_type, 2},
+    {field_initializer, 0},
   [89] =
     {field_assembly_code, 2},
   [90] =
@@ -3210,31 +3218,34 @@ static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE
   [37] = {
     [2] = alias_sym_field_identifier,
   },
-  [50] = {
+  [39] = {
+    [2] = alias_sym_type_identifier,
+  },
+  [52] = {
     [1] = alias_sym_type_identifier,
   },
-  [51] = {
+  [53] = {
     [0] = alias_sym_field_identifier,
   },
-  [52] = {
+  [54] = {
     [2] = alias_sym_type_identifier,
   },
-  [53] = {
+  [55] = {
     [3] = alias_sym_type_identifier,
   },
-  [78] = {
+  [79] = {
     [1] = alias_sym_type_identifier,
   },
-  [80] = {
+  [81] = {
     [3] = alias_sym_type_identifier,
   },
-  [99] = {
+  [100] = {
     [1] = alias_sym_field_identifier,
   },
-  [106] = {
+  [107] = {
     [4] = alias_sym_field_identifier,
   },
-  [114] = {
+  [115] = {
     [0] = alias_sym_field_identifier,
   },
 };
@@ -3250,43 +3261,43 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [3] = 3,
   [4] = 4,
   [5] = 5,
-  [6] = 2,
+  [6] = 6,
   [7] = 7,
   [8] = 8,
   [9] = 9,
-  [10] = 10,
-  [11] = 3,
-  [12] = 4,
+  [10] = 2,
+  [11] = 4,
+  [12] = 3,
   [13] = 5,
   [14] = 2,
-  [15] = 3,
-  [16] = 4,
+  [15] = 4,
+  [16] = 3,
   [17] = 5,
   [18] = 2,
-  [19] = 3,
-  [20] = 4,
+  [19] = 4,
+  [20] = 3,
   [21] = 5,
   [22] = 22,
   [23] = 23,
   [24] = 22,
-  [25] = 25,
+  [25] = 23,
   [26] = 26,
-  [27] = 22,
-  [28] = 28,
-  [29] = 23,
-  [30] = 26,
-  [31] = 23,
-  [32] = 32,
-  [33] = 28,
-  [34] = 26,
+  [27] = 27,
+  [28] = 27,
+  [29] = 29,
+  [30] = 30,
+  [31] = 27,
+  [32] = 29,
+  [33] = 23,
+  [34] = 30,
   [35] = 35,
-  [36] = 23,
-  [37] = 32,
-  [38] = 28,
-  [39] = 32,
-  [40] = 26,
-  [41] = 28,
-  [42] = 32,
+  [36] = 30,
+  [37] = 30,
+  [38] = 29,
+  [39] = 23,
+  [40] = 22,
+  [41] = 27,
+  [42] = 29,
   [43] = 43,
   [44] = 44,
   [45] = 45,
@@ -3295,30 +3306,30 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [48] = 48,
   [49] = 49,
   [50] = 48,
-  [51] = 47,
-  [52] = 45,
-  [53] = 48,
-  [54] = 49,
-  [55] = 46,
-  [56] = 45,
-  [57] = 46,
-  [58] = 49,
-  [59] = 47,
-  [60] = 49,
-  [61] = 48,
-  [62] = 47,
-  [63] = 46,
-  [64] = 45,
-  [65] = 49,
-  [66] = 66,
+  [51] = 46,
+  [52] = 46,
+  [53] = 47,
+  [54] = 45,
+  [55] = 48,
+  [56] = 49,
+  [57] = 45,
+  [58] = 46,
+  [59] = 48,
+  [60] = 47,
+  [61] = 49,
+  [62] = 45,
+  [63] = 47,
+  [64] = 49,
+  [65] = 65,
+  [66] = 65,
   [67] = 46,
-  [68] = 47,
-  [69] = 48,
-  [70] = 45,
-  [71] = 66,
-  [72] = 66,
-  [73] = 66,
-  [74] = 66,
+  [68] = 65,
+  [69] = 45,
+  [70] = 48,
+  [71] = 47,
+  [72] = 49,
+  [73] = 65,
+  [74] = 65,
   [75] = 75,
   [76] = 75,
   [77] = 75,
@@ -3329,7 +3340,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [82] = 82,
   [83] = 83,
   [84] = 84,
-  [85] = 83,
+  [85] = 85,
   [86] = 86,
   [87] = 87,
   [88] = 88,
@@ -3341,7 +3352,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [94] = 94,
   [95] = 95,
   [96] = 96,
-  [97] = 92,
+  [97] = 97,
   [98] = 98,
   [99] = 99,
   [100] = 100,
@@ -3359,9 +3370,9 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [112] = 112,
   [113] = 113,
   [114] = 114,
-  [115] = 115,
+  [115] = 109,
   [116] = 116,
-  [117] = 117,
+  [117] = 106,
   [118] = 118,
   [119] = 119,
   [120] = 120,
@@ -3395,263 +3406,263 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [148] = 80,
   [149] = 80,
   [150] = 80,
-  [151] = 112,
-  [152] = 110,
-  [153] = 111,
-  [154] = 112,
-  [155] = 113,
-  [156] = 114,
-  [157] = 115,
-  [158] = 116,
-  [159] = 117,
-  [160] = 110,
+  [151] = 91,
+  [152] = 101,
+  [153] = 102,
+  [154] = 103,
+  [155] = 104,
+  [156] = 105,
+  [157] = 109,
+  [158] = 98,
+  [159] = 110,
+  [160] = 99,
   [161] = 111,
-  [162] = 112,
-  [163] = 113,
-  [164] = 114,
-  [165] = 115,
-  [166] = 116,
-  [167] = 117,
-  [168] = 82,
-  [169] = 83,
-  [170] = 107,
-  [171] = 84,
-  [172] = 108,
-  [173] = 86,
-  [174] = 87,
-  [175] = 88,
-  [176] = 89,
-  [177] = 84,
-  [178] = 89,
-  [179] = 90,
-  [180] = 91,
-  [181] = 92,
-  [182] = 109,
-  [183] = 93,
-  [184] = 94,
-  [185] = 95,
-  [186] = 96,
-  [187] = 118,
-  [188] = 90,
-  [189] = 91,
-  [190] = 98,
-  [191] = 99,
-  [192] = 100,
-  [193] = 101,
-  [194] = 81,
-  [195] = 82,
-  [196] = 102,
-  [197] = 103,
-  [198] = 104,
-  [199] = 105,
-  [200] = 106,
-  [201] = 106,
-  [202] = 82,
-  [203] = 83,
-  [204] = 84,
-  [205] = 86,
-  [206] = 87,
-  [207] = 88,
-  [208] = 89,
-  [209] = 90,
-  [210] = 91,
-  [211] = 92,
-  [212] = 108,
-  [213] = 93,
-  [214] = 109,
+  [162] = 100,
+  [163] = 111,
+  [164] = 112,
+  [165] = 113,
+  [166] = 101,
+  [167] = 114,
+  [168] = 118,
+  [169] = 108,
+  [170] = 106,
+  [171] = 102,
+  [172] = 97,
+  [173] = 116,
+  [174] = 103,
+  [175] = 118,
+  [176] = 104,
+  [177] = 82,
+  [178] = 107,
+  [179] = 109,
+  [180] = 110,
+  [181] = 108,
+  [182] = 111,
+  [183] = 112,
+  [184] = 113,
+  [185] = 114,
+  [186] = 118,
+  [187] = 108,
+  [188] = 106,
+  [189] = 83,
+  [190] = 116,
+  [191] = 84,
+  [192] = 85,
+  [193] = 82,
+  [194] = 83,
+  [195] = 84,
+  [196] = 85,
+  [197] = 88,
+  [198] = 89,
+  [199] = 90,
+  [200] = 86,
+  [201] = 87,
+  [202] = 95,
+  [203] = 96,
+  [204] = 81,
+  [205] = 97,
+  [206] = 98,
+  [207] = 81,
+  [208] = 103,
+  [209] = 104,
+  [210] = 86,
+  [211] = 87,
+  [212] = 91,
+  [213] = 92,
+  [214] = 93,
   [215] = 94,
-  [216] = 95,
-  [217] = 96,
-  [218] = 118,
-  [219] = 100,
-  [220] = 101,
-  [221] = 81,
-  [222] = 93,
-  [223] = 106,
-  [224] = 107,
-  [225] = 108,
-  [226] = 109,
-  [227] = 110,
-  [228] = 111,
-  [229] = 115,
-  [230] = 116,
-  [231] = 98,
-  [232] = 99,
-  [233] = 102,
-  [234] = 103,
-  [235] = 104,
-  [236] = 105,
-  [237] = 105,
-  [238] = 113,
-  [239] = 114,
-  [240] = 117,
-  [241] = 94,
-  [242] = 95,
-  [243] = 96,
-  [244] = 118,
-  [245] = 98,
-  [246] = 99,
-  [247] = 100,
-  [248] = 86,
-  [249] = 101,
-  [250] = 81,
-  [251] = 87,
-  [252] = 88,
-  [253] = 102,
-  [254] = 103,
-  [255] = 104,
-  [256] = 107,
-  [257] = 136,
-  [258] = 140,
-  [259] = 144,
-  [260] = 120,
-  [261] = 146,
-  [262] = 147,
-  [263] = 120,
-  [264] = 125,
-  [265] = 119,
-  [266] = 125,
-  [267] = 127,
-  [268] = 128,
-  [269] = 121,
-  [270] = 130,
+  [216] = 100,
+  [217] = 101,
+  [218] = 102,
+  [219] = 105,
+  [220] = 116,
+  [221] = 88,
+  [222] = 89,
+  [223] = 90,
+  [224] = 82,
+  [225] = 83,
+  [226] = 84,
+  [227] = 85,
+  [228] = 86,
+  [229] = 105,
+  [230] = 107,
+  [231] = 91,
+  [232] = 92,
+  [233] = 93,
+  [234] = 94,
+  [235] = 87,
+  [236] = 113,
+  [237] = 95,
+  [238] = 96,
+  [239] = 81,
+  [240] = 88,
+  [241] = 114,
+  [242] = 89,
+  [243] = 90,
+  [244] = 97,
+  [245] = 112,
+  [246] = 96,
+  [247] = 92,
+  [248] = 93,
+  [249] = 94,
+  [250] = 110,
+  [251] = 107,
+  [252] = 98,
+  [253] = 99,
+  [254] = 100,
+  [255] = 95,
+  [256] = 99,
+  [257] = 145,
+  [258] = 141,
+  [259] = 142,
+  [260] = 144,
+  [261] = 145,
+  [262] = 143,
+  [263] = 146,
+  [264] = 137,
+  [265] = 147,
+  [266] = 121,
+  [267] = 122,
+  [268] = 126,
+  [269] = 128,
+  [270] = 138,
   [271] = 129,
-  [272] = 141,
-  [273] = 127,
-  [274] = 133,
-  [275] = 128,
-  [276] = 122,
-  [277] = 121,
-  [278] = 130,
-  [279] = 141,
-  [280] = 142,
-  [281] = 143,
-  [282] = 129,
+  [272] = 119,
+  [273] = 273,
+  [274] = 120,
+  [275] = 127,
+  [276] = 130,
+  [277] = 132,
+  [278] = 133,
+  [279] = 134,
+  [280] = 135,
+  [281] = 136,
+  [282] = 140,
   [283] = 123,
-  [284] = 135,
-  [285] = 139,
-  [286] = 131,
-  [287] = 137,
-  [288] = 138,
-  [289] = 122,
-  [290] = 132,
-  [291] = 124,
-  [292] = 126,
-  [293] = 131,
-  [294] = 133,
-  [295] = 135,
-  [296] = 134,
-  [297] = 137,
-  [298] = 147,
-  [299] = 138,
-  [300] = 123,
-  [301] = 126,
+  [284] = 124,
+  [285] = 131,
+  [286] = 129,
+  [287] = 119,
+  [288] = 139,
+  [289] = 141,
+  [290] = 144,
+  [291] = 143,
+  [292] = 146,
+  [293] = 137,
+  [294] = 122,
+  [295] = 126,
+  [296] = 128,
+  [297] = 138,
+  [298] = 120,
+  [299] = 127,
+  [300] = 130,
+  [301] = 132,
   [302] = 134,
-  [303] = 139,
-  [304] = 140,
-  [305] = 144,
-  [306] = 306,
-  [307] = 136,
-  [308] = 146,
-  [309] = 145,
-  [310] = 145,
-  [311] = 142,
-  [312] = 143,
-  [313] = 306,
-  [314] = 119,
-  [315] = 132,
-  [316] = 124,
-  [317] = 317,
-  [318] = 318,
+  [303] = 135,
+  [304] = 136,
+  [305] = 140,
+  [306] = 123,
+  [307] = 124,
+  [308] = 125,
+  [309] = 131,
+  [310] = 142,
+  [311] = 145,
+  [312] = 147,
+  [313] = 121,
+  [314] = 133,
+  [315] = 131,
+  [316] = 139,
+  [317] = 125,
+  [318] = 273,
   [319] = 319,
-  [320] = 320,
-  [321] = 136,
-  [322] = 320,
-  [323] = 323,
-  [324] = 131,
-  [325] = 320,
-  [326] = 326,
-  [327] = 318,
-  [328] = 317,
-  [329] = 329,
-  [330] = 326,
-  [331] = 319,
-  [332] = 329,
-  [333] = 320,
-  [334] = 326,
-  [335] = 317,
-  [336] = 318,
-  [337] = 319,
-  [338] = 323,
-  [339] = 329,
-  [340] = 323,
-  [341] = 320,
-  [342] = 326,
-  [343] = 319,
-  [344] = 317,
-  [345] = 319,
-  [346] = 329,
-  [347] = 323,
-  [348] = 329,
-  [349] = 317,
-  [350] = 323,
-  [351] = 318,
-  [352] = 326,
-  [353] = 133,
-  [354] = 132,
-  [355] = 139,
-  [356] = 146,
-  [357] = 130,
-  [358] = 141,
-  [359] = 142,
-  [360] = 126,
-  [361] = 143,
-  [362] = 135,
-  [363] = 363,
-  [364] = 137,
-  [365] = 147,
-  [366] = 134,
-  [367] = 367,
-  [368] = 119,
-  [369] = 129,
-  [370] = 123,
-  [371] = 124,
-  [372] = 125,
-  [373] = 140,
-  [374] = 138,
-  [375] = 127,
-  [376] = 128,
-  [377] = 122,
-  [378] = 121,
-  [379] = 144,
-  [380] = 380,
-  [381] = 381,
-  [382] = 381,
-  [383] = 383,
-  [384] = 384,
-  [385] = 306,
-  [386] = 383,
-  [387] = 384,
-  [388] = 383,
-  [389] = 384,
-  [390] = 383,
-  [391] = 384,
-  [392] = 384,
-  [393] = 383,
-  [394] = 384,
-  [395] = 383,
-  [396] = 381,
-  [397] = 381,
-  [398] = 398,
-  [399] = 399,
-  [400] = 399,
-  [401] = 401,
+  [320] = 146,
+  [321] = 137,
+  [322] = 322,
+  [323] = 123,
+  [324] = 124,
+  [325] = 125,
+  [326] = 143,
+  [327] = 327,
+  [328] = 328,
+  [329] = 147,
+  [330] = 121,
+  [331] = 331,
+  [332] = 122,
+  [333] = 333,
+  [334] = 334,
+  [335] = 126,
+  [336] = 128,
+  [337] = 138,
+  [338] = 338,
+  [339] = 327,
+  [340] = 340,
+  [341] = 322,
+  [342] = 120,
+  [343] = 127,
+  [344] = 130,
+  [345] = 132,
+  [346] = 133,
+  [347] = 134,
+  [348] = 135,
+  [349] = 349,
+  [350] = 328,
+  [351] = 334,
+  [352] = 333,
+  [353] = 327,
+  [354] = 322,
+  [355] = 334,
+  [356] = 333,
+  [357] = 139,
+  [358] = 327,
+  [359] = 322,
+  [360] = 136,
+  [361] = 349,
+  [362] = 362,
+  [363] = 328,
+  [364] = 334,
+  [365] = 333,
+  [366] = 333,
+  [367] = 141,
+  [368] = 328,
+  [369] = 142,
+  [370] = 327,
+  [371] = 322,
+  [372] = 334,
+  [373] = 349,
+  [374] = 144,
+  [375] = 349,
+  [376] = 331,
+  [377] = 140,
+  [378] = 349,
+  [379] = 331,
+  [380] = 331,
+  [381] = 328,
+  [382] = 382,
+  [383] = 382,
+  [384] = 382,
+  [385] = 382,
+  [386] = 386,
+  [387] = 387,
+  [388] = 388,
+  [389] = 387,
+  [390] = 273,
+  [391] = 386,
+  [392] = 386,
+  [393] = 387,
+  [394] = 386,
+  [395] = 387,
+  [396] = 386,
+  [397] = 387,
+  [398] = 387,
+  [399] = 386,
+  [400] = 400,
+  [401] = 400,
   [402] = 402,
-  [403] = 306,
-  [404] = 306,
-  [405] = 80,
-  [406] = 406,
-  [407] = 306,
+  [403] = 403,
+  [404] = 273,
+  [405] = 273,
+  [406] = 80,
+  [407] = 407,
   [408] = 408,
   [409] = 408,
   [410] = 408,
@@ -3661,7 +3672,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [414] = 408,
   [415] = 408,
   [416] = 416,
-  [417] = 417,
+  [417] = 273,
   [418] = 418,
   [419] = 419,
   [420] = 420,
@@ -3673,68 +3684,68 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [426] = 426,
   [427] = 427,
   [428] = 428,
-  [429] = 398,
-  [430] = 430,
+  [429] = 429,
+  [430] = 388,
   [431] = 431,
   [432] = 432,
   [433] = 433,
   [434] = 434,
   [435] = 435,
-  [436] = 433,
-  [437] = 437,
-  [438] = 433,
-  [439] = 432,
+  [436] = 436,
+  [437] = 432,
+  [438] = 438,
+  [439] = 436,
   [440] = 434,
   [441] = 441,
-  [442] = 442,
-  [443] = 443,
-  [444] = 441,
+  [442] = 432,
+  [443] = 438,
+  [444] = 436,
   [445] = 434,
-  [446] = 441,
+  [446] = 438,
   [447] = 447,
-  [448] = 432,
+  [448] = 448,
   [449] = 449,
   [450] = 450,
   [451] = 451,
   [452] = 452,
   [453] = 453,
-  [454] = 451,
+  [454] = 454,
   [455] = 455,
-  [456] = 451,
-  [457] = 457,
+  [456] = 452,
+  [457] = 452,
   [458] = 458,
-  [459] = 452,
-  [460] = 458,
-  [461] = 461,
-  [462] = 462,
+  [459] = 459,
+  [460] = 460,
+  [461] = 460,
+  [462] = 459,
   [463] = 463,
   [464] = 464,
   [465] = 465,
   [466] = 466,
   [467] = 467,
   [468] = 468,
-  [469] = 462,
-  [470] = 470,
-  [471] = 467,
-  [472] = 467,
-  [473] = 468,
+  [469] = 466,
+  [470] = 466,
+  [471] = 464,
+  [472] = 472,
+  [473] = 473,
   [474] = 474,
-  [475] = 468,
-  [476] = 462,
+  [475] = 475,
+  [476] = 476,
   [477] = 477,
-  [478] = 478,
-  [479] = 479,
-  [480] = 467,
-  [481] = 468,
-  [482] = 462,
-  [483] = 467,
-  [484] = 462,
-  [485] = 467,
+  [478] = 476,
+  [479] = 466,
+  [480] = 464,
+  [481] = 476,
+  [482] = 466,
+  [483] = 464,
+  [484] = 476,
+  [485] = 485,
   [486] = 486,
   [487] = 487,
-  [488] = 462,
-  [489] = 489,
-  [490] = 490,
+  [488] = 466,
+  [489] = 476,
+  [490] = 476,
   [491] = 491,
   [492] = 492,
   [493] = 493,
@@ -3743,14 +3754,14 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [496] = 496,
   [497] = 497,
   [498] = 498,
-  [499] = 499,
+  [499] = 497,
   [500] = 500,
   [501] = 501,
   [502] = 502,
-  [503] = 503,
+  [503] = 497,
   [504] = 504,
-  [505] = 503,
-  [506] = 506,
+  [505] = 505,
+  [506] = 497,
   [507] = 507,
   [508] = 508,
   [509] = 509,
@@ -3759,119 +3770,119 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [512] = 512,
   [513] = 513,
   [514] = 514,
-  [515] = 515,
-  [516] = 516,
+  [515] = 508,
+  [516] = 510,
   [517] = 517,
-  [518] = 502,
+  [518] = 518,
   [519] = 519,
-  [520] = 520,
+  [520] = 512,
   [521] = 521,
-  [522] = 522,
-  [523] = 504,
-  [524] = 503,
-  [525] = 506,
-  [526] = 507,
-  [527] = 508,
-  [528] = 509,
-  [529] = 510,
-  [530] = 511,
-  [531] = 512,
-  [532] = 513,
-  [533] = 533,
-  [534] = 515,
-  [535] = 535,
-  [536] = 536,
-  [537] = 537,
-  [538] = 538,
-  [539] = 538,
-  [540] = 520,
-  [541] = 507,
-  [542] = 536,
-  [543] = 536,
-  [544] = 504,
-  [545] = 503,
-  [546] = 506,
-  [547] = 507,
-  [548] = 508,
-  [549] = 509,
-  [550] = 510,
-  [551] = 511,
-  [552] = 512,
-  [553] = 513,
-  [554] = 508,
-  [555] = 536,
-  [556] = 556,
-  [557] = 516,
-  [558] = 509,
-  [559] = 538,
-  [560] = 521,
-  [561] = 515,
-  [562] = 562,
-  [563] = 517,
-  [564] = 506,
-  [565] = 519,
-  [566] = 520,
+  [522] = 514,
+  [523] = 513,
+  [524] = 518,
+  [525] = 519,
+  [526] = 526,
+  [527] = 527,
+  [528] = 528,
+  [529] = 529,
+  [530] = 509,
+  [531] = 531,
+  [532] = 532,
+  [533] = 531,
+  [534] = 534,
+  [535] = 531,
+  [536] = 510,
+  [537] = 513,
+  [538] = 518,
+  [539] = 539,
+  [540] = 540,
+  [541] = 508,
+  [542] = 542,
+  [543] = 543,
+  [544] = 526,
+  [545] = 545,
+  [546] = 546,
+  [547] = 547,
+  [548] = 519,
+  [549] = 545,
+  [550] = 416,
+  [551] = 526,
+  [552] = 547,
+  [553] = 527,
+  [554] = 514,
+  [555] = 528,
+  [556] = 529,
+  [557] = 557,
+  [558] = 513,
+  [559] = 510,
+  [560] = 543,
+  [561] = 545,
+  [562] = 546,
+  [563] = 527,
+  [564] = 547,
+  [565] = 529,
+  [566] = 566,
   [567] = 567,
-  [568] = 510,
-  [569] = 517,
-  [570] = 502,
-  [571] = 417,
-  [572] = 511,
-  [573] = 503,
-  [574] = 515,
-  [575] = 517,
-  [576] = 502,
-  [577] = 538,
-  [578] = 519,
-  [579] = 520,
-  [580] = 537,
-  [581] = 535,
-  [582] = 512,
-  [583] = 521,
-  [584] = 504,
-  [585] = 503,
-  [586] = 506,
-  [587] = 507,
-  [588] = 508,
-  [589] = 509,
-  [590] = 510,
-  [591] = 511,
-  [592] = 512,
-  [593] = 513,
-  [594] = 594,
-  [595] = 595,
-  [596] = 536,
-  [597] = 538,
-  [598] = 504,
-  [599] = 506,
-  [600] = 507,
+  [568] = 509,
+  [569] = 528,
+  [570] = 514,
+  [571] = 513,
+  [572] = 532,
+  [573] = 509,
+  [574] = 518,
+  [575] = 543,
+  [576] = 566,
+  [577] = 514,
+  [578] = 513,
+  [579] = 518,
+  [580] = 519,
+  [581] = 526,
+  [582] = 527,
+  [583] = 528,
+  [584] = 529,
+  [585] = 509,
+  [586] = 531,
+  [587] = 587,
+  [588] = 531,
+  [589] = 510,
+  [590] = 508,
+  [591] = 514,
+  [592] = 518,
+  [593] = 519,
+  [594] = 526,
+  [595] = 527,
+  [596] = 528,
+  [597] = 529,
+  [598] = 509,
+  [599] = 531,
+  [600] = 510,
   [601] = 508,
-  [602] = 509,
-  [603] = 510,
-  [604] = 511,
-  [605] = 512,
-  [606] = 513,
-  [607] = 536,
-  [608] = 538,
-  [609] = 515,
-  [610] = 517,
-  [611] = 502,
-  [612] = 519,
-  [613] = 535,
-  [614] = 535,
-  [615] = 513,
-  [616] = 535,
-  [617] = 515,
-  [618] = 516,
-  [619] = 517,
-  [620] = 519,
-  [621] = 519,
-  [622] = 622,
-  [623] = 504,
-  [624] = 502,
-  [625] = 625,
-  [626] = 626,
-  [627] = 627,
+  [602] = 543,
+  [603] = 545,
+  [604] = 546,
+  [605] = 547,
+  [606] = 529,
+  [607] = 545,
+  [608] = 546,
+  [609] = 532,
+  [610] = 519,
+  [611] = 546,
+  [612] = 612,
+  [613] = 532,
+  [614] = 547,
+  [615] = 532,
+  [616] = 543,
+  [617] = 587,
+  [618] = 545,
+  [619] = 546,
+  [620] = 547,
+  [621] = 526,
+  [622] = 527,
+  [623] = 528,
+  [624] = 508,
+  [625] = 543,
+  [626] = 566,
+  [627] = 587,
   [628] = 628,
   [629] = 629,
   [630] = 630,
@@ -3892,30 +3903,30 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [645] = 645,
   [646] = 646,
   [647] = 647,
-  [648] = 646,
-  [649] = 646,
-  [650] = 644,
-  [651] = 644,
-  [652] = 645,
-  [653] = 646,
+  [648] = 648,
+  [649] = 649,
+  [650] = 647,
+  [651] = 651,
+  [652] = 649,
+  [653] = 649,
   [654] = 647,
-  [655] = 645,
-  [656] = 647,
-  [657] = 645,
-  [658] = 644,
-  [659] = 647,
-  [660] = 660,
-  [661] = 661,
-  [662] = 662,
-  [663] = 401,
+  [655] = 648,
+  [656] = 651,
+  [657] = 647,
+  [658] = 649,
+  [659] = 648,
+  [660] = 651,
+  [661] = 651,
+  [662] = 648,
+  [663] = 663,
   [664] = 664,
-  [665] = 402,
+  [665] = 665,
   [666] = 666,
   [667] = 667,
-  [668] = 668,
-  [669] = 662,
-  [670] = 670,
-  [671] = 671,
+  [668] = 402,
+  [669] = 669,
+  [670] = 403,
+  [671] = 669,
   [672] = 672,
   [673] = 673,
   [674] = 674,
@@ -3927,24 +3938,24 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [680] = 680,
   [681] = 681,
   [682] = 682,
-  [683] = 683,
+  [683] = 675,
   [684] = 684,
   [685] = 685,
   [686] = 686,
   [687] = 687,
   [688] = 688,
-  [689] = 670,
-  [690] = 670,
-  [691] = 688,
-  [692] = 670,
-  [693] = 688,
-  [694] = 694,
-  [695] = 695,
-  [696] = 688,
-  [697] = 697,
+  [689] = 689,
+  [690] = 690,
+  [691] = 674,
+  [692] = 692,
+  [693] = 693,
+  [694] = 674,
+  [695] = 675,
+  [696] = 675,
+  [697] = 674,
   [698] = 698,
   [699] = 699,
-  [700] = 668,
+  [700] = 700,
   [701] = 701,
   [702] = 702,
   [703] = 703,
@@ -3952,29 +3963,29 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [705] = 705,
   [706] = 706,
   [707] = 707,
-  [708] = 630,
+  [708] = 708,
   [709] = 709,
-  [710] = 681,
+  [710] = 710,
   [711] = 711,
   [712] = 712,
-  [713] = 682,
-  [714] = 714,
+  [713] = 713,
+  [714] = 673,
   [715] = 715,
-  [716] = 630,
+  [716] = 699,
   [717] = 717,
-  [718] = 718,
-  [719] = 401,
-  [720] = 720,
+  [718] = 631,
+  [719] = 631,
+  [720] = 703,
   [721] = 721,
   [722] = 722,
   [723] = 723,
-  [724] = 402,
+  [724] = 724,
   [725] = 725,
-  [726] = 726,
+  [726] = 402,
   [727] = 727,
   [728] = 728,
   [729] = 729,
-  [730] = 730,
+  [730] = 403,
   [731] = 731,
   [732] = 732,
   [733] = 733,
@@ -4011,537 +4022,537 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [764] = 764,
   [765] = 765,
   [766] = 766,
-  [767] = 747,
+  [767] = 767,
   [768] = 768,
-  [769] = 747,
+  [769] = 769,
   [770] = 770,
   [771] = 771,
-  [772] = 747,
+  [772] = 772,
   [773] = 773,
   [774] = 774,
   [775] = 775,
   [776] = 776,
-  [777] = 747,
+  [777] = 777,
   [778] = 778,
   [779] = 779,
   [780] = 780,
   [781] = 781,
-  [782] = 136,
-  [783] = 124,
-  [784] = 131,
-  [785] = 137,
-  [786] = 138,
-  [787] = 122,
+  [782] = 782,
+  [783] = 783,
+  [784] = 784,
+  [785] = 785,
+  [786] = 786,
+  [787] = 787,
   [788] = 788,
-  [789] = 630,
-  [790] = 788,
+  [789] = 789,
+  [790] = 790,
   [791] = 791,
-  [792] = 792,
-  [793] = 788,
+  [792] = 788,
+  [793] = 793,
   [794] = 794,
   [795] = 795,
-  [796] = 796,
+  [796] = 788,
   [797] = 797,
-  [798] = 798,
-  [799] = 799,
-  [800] = 800,
+  [798] = 793,
+  [799] = 788,
+  [800] = 793,
   [801] = 801,
-  [802] = 802,
-  [803] = 803,
-  [804] = 804,
-  [805] = 805,
-  [806] = 806,
-  [807] = 807,
-  [808] = 788,
+  [802] = 131,
+  [803] = 142,
+  [804] = 788,
+  [805] = 145,
+  [806] = 147,
+  [807] = 121,
+  [808] = 133,
   [809] = 809,
   [810] = 810,
   [811] = 811,
-  [812] = 812,
+  [812] = 793,
   [813] = 813,
   [814] = 814,
   [815] = 815,
   [816] = 816,
-  [817] = 796,
-  [818] = 799,
-  [819] = 800,
-  [820] = 801,
-  [821] = 806,
-  [822] = 802,
-  [823] = 803,
-  [824] = 804,
-  [825] = 809,
+  [817] = 817,
+  [818] = 818,
+  [819] = 819,
+  [820] = 820,
+  [821] = 821,
+  [822] = 822,
+  [823] = 823,
+  [824] = 821,
+  [825] = 825,
   [826] = 826,
-  [827] = 805,
-  [828] = 686,
-  [829] = 829,
-  [830] = 797,
-  [831] = 807,
-  [832] = 832,
-  [833] = 798,
+  [827] = 827,
+  [828] = 827,
+  [829] = 815,
+  [830] = 816,
+  [831] = 820,
+  [832] = 813,
+  [833] = 817,
   [834] = 834,
-  [835] = 686,
-  [836] = 780,
-  [837] = 791,
-  [838] = 641,
-  [839] = 636,
-  [840] = 124,
-  [841] = 812,
-  [842] = 813,
-  [843] = 814,
-  [844] = 815,
-  [845] = 136,
-  [846] = 781,
-  [847] = 815,
-  [848] = 124,
-  [849] = 131,
-  [850] = 811,
-  [851] = 812,
-  [852] = 852,
-  [853] = 779,
-  [854] = 813,
-  [855] = 855,
-  [856] = 814,
-  [857] = 137,
-  [858] = 138,
-  [859] = 794,
-  [860] = 122,
-  [861] = 861,
-  [862] = 779,
-  [863] = 816,
-  [864] = 792,
-  [865] = 816,
-  [866] = 795,
-  [867] = 867,
-  [868] = 792,
-  [869] = 810,
-  [870] = 794,
-  [871] = 136,
-  [872] = 795,
-  [873] = 861,
-  [874] = 131,
-  [875] = 137,
-  [876] = 138,
-  [877] = 122,
-  [878] = 810,
-  [879] = 861,
-  [880] = 861,
-  [881] = 811,
-  [882] = 781,
-  [883] = 809,
-  [884] = 704,
-  [885] = 796,
-  [886] = 797,
-  [887] = 798,
-  [888] = 799,
-  [889] = 800,
-  [890] = 801,
-  [891] = 802,
-  [892] = 892,
-  [893] = 803,
-  [894] = 701,
+  [835] = 819,
+  [836] = 826,
+  [837] = 825,
+  [838] = 834,
+  [839] = 839,
+  [840] = 631,
+  [841] = 823,
+  [842] = 839,
+  [843] = 682,
+  [844] = 844,
+  [845] = 682,
+  [846] = 642,
+  [847] = 797,
+  [848] = 783,
+  [849] = 638,
+  [850] = 850,
+  [851] = 147,
+  [852] = 121,
+  [853] = 853,
+  [854] = 810,
+  [855] = 811,
+  [856] = 784,
+  [857] = 133,
+  [858] = 809,
+  [859] = 131,
+  [860] = 786,
+  [861] = 795,
+  [862] = 794,
+  [863] = 131,
+  [864] = 787,
+  [865] = 142,
+  [866] = 145,
+  [867] = 795,
+  [868] = 850,
+  [869] = 850,
+  [870] = 809,
+  [871] = 121,
+  [872] = 785,
+  [873] = 786,
+  [874] = 133,
+  [875] = 785,
+  [876] = 876,
+  [877] = 810,
+  [878] = 850,
+  [879] = 879,
+  [880] = 787,
+  [881] = 789,
+  [882] = 811,
+  [883] = 790,
+  [884] = 791,
+  [885] = 794,
+  [886] = 142,
+  [887] = 789,
+  [888] = 784,
+  [889] = 145,
+  [890] = 790,
+  [891] = 791,
+  [892] = 147,
+  [893] = 893,
+  [894] = 894,
   [895] = 702,
-  [896] = 804,
-  [897] = 707,
-  [898] = 705,
-  [899] = 805,
-  [900] = 900,
-  [901] = 806,
-  [902] = 902,
-  [903] = 903,
-  [904] = 807,
-  [905] = 703,
-  [906] = 686,
-  [907] = 98,
-  [908] = 99,
-  [909] = 102,
-  [910] = 103,
-  [911] = 104,
-  [912] = 105,
-  [913] = 699,
-  [914] = 698,
-  [915] = 112,
-  [916] = 113,
-  [917] = 114,
-  [918] = 117,
-  [919] = 919,
-  [920] = 920,
-  [921] = 697,
-  [922] = 922,
+  [896] = 700,
+  [897] = 897,
+  [898] = 823,
+  [899] = 821,
+  [900] = 825,
+  [901] = 826,
+  [902] = 839,
+  [903] = 827,
+  [904] = 815,
+  [905] = 816,
+  [906] = 820,
+  [907] = 813,
+  [908] = 908,
+  [909] = 817,
+  [910] = 834,
+  [911] = 819,
+  [912] = 708,
+  [913] = 707,
+  [914] = 704,
+  [915] = 705,
+  [916] = 916,
+  [917] = 917,
+  [918] = 86,
+  [919] = 94,
+  [920] = 100,
+  [921] = 101,
+  [922] = 102,
   [923] = 923,
-  [924] = 924,
-  [925] = 925,
-  [926] = 926,
-  [927] = 102,
-  [928] = 103,
-  [929] = 104,
-  [930] = 105,
-  [931] = 931,
-  [932] = 112,
-  [933] = 113,
-  [934] = 114,
-  [935] = 117,
-  [936] = 99,
-  [937] = 98,
-  [938] = 938,
-  [939] = 939,
+  [924] = 105,
+  [925] = 706,
+  [926] = 87,
+  [927] = 709,
+  [928] = 91,
+  [929] = 92,
+  [930] = 93,
+  [931] = 701,
+  [932] = 682,
+  [933] = 933,
+  [934] = 934,
+  [935] = 935,
+  [936] = 936,
+  [937] = 92,
+  [938] = 93,
+  [939] = 94,
   [940] = 940,
-  [941] = 941,
-  [942] = 942,
-  [943] = 925,
-  [944] = 944,
+  [941] = 100,
+  [942] = 101,
+  [943] = 102,
+  [944] = 105,
   [945] = 945,
   [946] = 946,
-  [947] = 947,
-  [948] = 948,
-  [949] = 926,
-  [950] = 945,
+  [947] = 87,
+  [948] = 91,
+  [949] = 86,
+  [950] = 950,
   [951] = 951,
-  [952] = 948,
-  [953] = 942,
+  [952] = 952,
+  [953] = 934,
   [954] = 954,
-  [955] = 954,
+  [955] = 955,
   [956] = 956,
-  [957] = 957,
-  [958] = 804,
-  [959] = 806,
-  [960] = 807,
-  [961] = 796,
-  [962] = 797,
-  [963] = 798,
-  [964] = 799,
-  [965] = 800,
-  [966] = 809,
-  [967] = 801,
-  [968] = 802,
-  [969] = 803,
-  [970] = 805,
-  [971] = 971,
-  [972] = 809,
-  [973] = 797,
-  [974] = 974,
-  [975] = 975,
-  [976] = 805,
-  [977] = 977,
-  [978] = 801,
-  [979] = 979,
-  [980] = 798,
-  [981] = 981,
-  [982] = 799,
-  [983] = 806,
-  [984] = 796,
-  [985] = 802,
-  [986] = 800,
-  [987] = 987,
-  [988] = 807,
-  [989] = 803,
-  [990] = 804,
-  [991] = 981,
-  [992] = 992,
-  [993] = 987,
-  [994] = 981,
-  [995] = 987,
-  [996] = 981,
-  [997] = 987,
+  [957] = 936,
+  [958] = 955,
+  [959] = 959,
+  [960] = 960,
+  [961] = 961,
+  [962] = 962,
+  [963] = 954,
+  [964] = 956,
+  [965] = 965,
+  [966] = 960,
+  [967] = 816,
+  [968] = 968,
+  [969] = 819,
+  [970] = 823,
+  [971] = 821,
+  [972] = 825,
+  [973] = 826,
+  [974] = 839,
+  [975] = 827,
+  [976] = 815,
+  [977] = 816,
+  [978] = 820,
+  [979] = 813,
+  [980] = 817,
+  [981] = 834,
+  [982] = 834,
+  [983] = 821,
+  [984] = 825,
+  [985] = 826,
+  [986] = 839,
+  [987] = 819,
+  [988] = 827,
+  [989] = 815,
+  [990] = 823,
+  [991] = 820,
+  [992] = 813,
+  [993] = 817,
+  [994] = 994,
+  [995] = 994,
+  [996] = 996,
+  [997] = 997,
   [998] = 998,
   [999] = 999,
   [1000] = 1000,
   [1001] = 1001,
   [1002] = 1002,
   [1003] = 1003,
-  [1004] = 998,
+  [1004] = 1004,
   [1005] = 1005,
-  [1006] = 1006,
+  [1006] = 994,
   [1007] = 1007,
-  [1008] = 1008,
-  [1009] = 1009,
-  [1010] = 1010,
-  [1011] = 1011,
+  [1008] = 1001,
+  [1009] = 1001,
+  [1010] = 994,
+  [1011] = 1001,
   [1012] = 1012,
   [1013] = 1013,
   [1014] = 1014,
-  [1015] = 834,
-  [1016] = 1013,
-  [1017] = 826,
+  [1015] = 1014,
+  [1016] = 1016,
+  [1017] = 1017,
   [1018] = 1018,
   [1019] = 1019,
-  [1020] = 1020,
+  [1020] = 818,
   [1021] = 1021,
-  [1022] = 957,
-  [1023] = 1021,
-  [1024] = 807,
+  [1022] = 844,
+  [1023] = 1023,
+  [1024] = 1024,
   [1025] = 1025,
-  [1026] = 1019,
+  [1026] = 1024,
   [1027] = 1027,
   [1028] = 1028,
-  [1029] = 1029,
-  [1030] = 1030,
-  [1031] = 1019,
-  [1032] = 1032,
-  [1033] = 1021,
-  [1034] = 1034,
-  [1035] = 1035,
-  [1036] = 1036,
-  [1037] = 1037,
-  [1038] = 1025,
+  [1029] = 823,
+  [1030] = 821,
+  [1031] = 825,
+  [1032] = 826,
+  [1033] = 839,
+  [1034] = 827,
+  [1035] = 815,
+  [1036] = 816,
+  [1037] = 820,
+  [1038] = 813,
   [1039] = 1039,
-  [1040] = 809,
-  [1041] = 1041,
-  [1042] = 1019,
+  [1040] = 817,
+  [1041] = 1039,
+  [1042] = 834,
   [1043] = 1043,
-  [1044] = 1044,
-  [1045] = 1021,
-  [1046] = 1025,
+  [1044] = 879,
+  [1045] = 1045,
+  [1046] = 1046,
   [1047] = 1047,
-  [1048] = 796,
-  [1049] = 1025,
-  [1050] = 797,
+  [1048] = 1048,
+  [1049] = 1049,
+  [1050] = 1050,
   [1051] = 1051,
-  [1052] = 798,
+  [1052] = 1049,
   [1053] = 1053,
-  [1054] = 799,
-  [1055] = 800,
-  [1056] = 801,
-  [1057] = 802,
-  [1058] = 803,
-  [1059] = 804,
-  [1060] = 1025,
-  [1061] = 805,
-  [1062] = 1025,
-  [1063] = 806,
-  [1064] = 1034,
-  [1065] = 1065,
+  [1054] = 1054,
+  [1055] = 1050,
+  [1056] = 1050,
+  [1057] = 1057,
+  [1058] = 1058,
+  [1059] = 1059,
+  [1060] = 819,
+  [1061] = 1061,
+  [1062] = 876,
+  [1063] = 722,
+  [1064] = 1064,
+  [1065] = 1039,
   [1066] = 1066,
-  [1067] = 1067,
+  [1067] = 968,
   [1068] = 1068,
-  [1069] = 1067,
-  [1070] = 1070,
-  [1071] = 1067,
-  [1072] = 1072,
-  [1073] = 1073,
-  [1074] = 1074,
-  [1075] = 1075,
-  [1076] = 1076,
-  [1077] = 1067,
-  [1078] = 1078,
-  [1079] = 855,
+  [1069] = 853,
+  [1070] = 1039,
+  [1071] = 1049,
+  [1072] = 1053,
+  [1073] = 1039,
+  [1074] = 1049,
+  [1075] = 1050,
+  [1076] = 713,
+  [1077] = 1077,
+  [1078] = 1039,
+  [1079] = 1079,
   [1080] = 1080,
-  [1081] = 852,
-  [1082] = 1068,
-  [1083] = 1083,
+  [1081] = 1081,
+  [1082] = 1082,
+  [1083] = 1079,
   [1084] = 1084,
   [1085] = 1085,
   [1086] = 1086,
   [1087] = 1087,
   [1088] = 1088,
   [1089] = 1089,
-  [1090] = 1090,
+  [1090] = 1079,
   [1091] = 1091,
-  [1092] = 1067,
+  [1092] = 1092,
   [1093] = 1093,
-  [1094] = 867,
+  [1094] = 1094,
   [1095] = 1095,
   [1096] = 1096,
-  [1097] = 1097,
+  [1097] = 1079,
   [1098] = 1098,
-  [1099] = 1098,
+  [1099] = 1099,
   [1100] = 1100,
   [1101] = 1101,
   [1102] = 1102,
   [1103] = 1103,
   [1104] = 1104,
-  [1105] = 1102,
-  [1106] = 1097,
-  [1107] = 766,
-  [1108] = 751,
+  [1105] = 1105,
+  [1106] = 1106,
+  [1107] = 1105,
+  [1108] = 1079,
   [1109] = 1109,
   [1110] = 1110,
   [1111] = 1111,
   [1112] = 1112,
-  [1113] = 1113,
+  [1113] = 1111,
   [1114] = 1114,
-  [1115] = 751,
+  [1115] = 1114,
   [1116] = 1116,
-  [1117] = 765,
-  [1118] = 1116,
-  [1119] = 1116,
-  [1120] = 736,
-  [1121] = 1121,
-  [1122] = 749,
-  [1123] = 766,
-  [1124] = 750,
-  [1125] = 738,
-  [1126] = 764,
-  [1127] = 752,
-  [1128] = 746,
-  [1129] = 1116,
-  [1130] = 1130,
-  [1131] = 1121,
-  [1132] = 1132,
-  [1133] = 1133,
-  [1134] = 1132,
-  [1135] = 1135,
-  [1136] = 1130,
-  [1137] = 1135,
-  [1138] = 1133,
-  [1139] = 1130,
-  [1140] = 1135,
-  [1141] = 1141,
-  [1142] = 1133,
-  [1143] = 1130,
-  [1144] = 1130,
-  [1145] = 1132,
-  [1146] = 1135,
-  [1147] = 1130,
+  [1117] = 1112,
+  [1118] = 1118,
+  [1119] = 1119,
+  [1120] = 713,
+  [1121] = 749,
+  [1122] = 722,
+  [1123] = 1123,
+  [1124] = 1124,
+  [1125] = 1125,
+  [1126] = 1126,
+  [1127] = 1127,
+  [1128] = 1128,
+  [1129] = 768,
+  [1130] = 750,
+  [1131] = 751,
+  [1132] = 752,
+  [1133] = 753,
+  [1134] = 754,
+  [1135] = 747,
+  [1136] = 1136,
+  [1137] = 1136,
+  [1138] = 1136,
+  [1139] = 1136,
+  [1140] = 770,
+  [1141] = 771,
+  [1142] = 755,
+  [1143] = 749,
+  [1144] = 766,
+  [1145] = 1145,
+  [1146] = 745,
+  [1147] = 756,
   [1148] = 1148,
   [1149] = 1149,
   [1150] = 1150,
-  [1151] = 1151,
-  [1152] = 1152,
-  [1153] = 1153,
-  [1154] = 826,
-  [1155] = 1155,
+  [1151] = 1150,
+  [1152] = 1149,
+  [1153] = 1148,
+  [1154] = 1149,
+  [1155] = 818,
   [1156] = 1156,
-  [1157] = 1157,
-  [1158] = 1158,
-  [1159] = 1159,
-  [1160] = 1160,
+  [1157] = 1150,
+  [1158] = 1149,
+  [1159] = 1149,
+  [1160] = 1149,
   [1161] = 1161,
-  [1162] = 1162,
-  [1163] = 1163,
-  [1164] = 1164,
-  [1165] = 1165,
-  [1166] = 684,
+  [1162] = 1148,
+  [1163] = 1161,
+  [1164] = 1161,
+  [1165] = 1148,
+  [1166] = 1145,
   [1167] = 1167,
-  [1168] = 1168,
+  [1168] = 684,
   [1169] = 1169,
   [1170] = 1170,
   [1171] = 1171,
   [1172] = 1172,
-  [1173] = 1149,
+  [1173] = 1173,
   [1174] = 1174,
   [1175] = 1175,
-  [1176] = 1152,
-  [1177] = 1165,
-  [1178] = 1153,
+  [1176] = 1176,
+  [1177] = 1177,
+  [1178] = 1178,
   [1179] = 1179,
-  [1180] = 1163,
-  [1181] = 1164,
+  [1180] = 1180,
+  [1181] = 1181,
   [1182] = 1182,
-  [1183] = 1169,
-  [1184] = 1171,
+  [1183] = 1183,
+  [1184] = 1184,
   [1185] = 1185,
-  [1186] = 1172,
-  [1187] = 1174,
-  [1188] = 1188,
-  [1189] = 1148,
-  [1190] = 1158,
-  [1191] = 1191,
+  [1186] = 1186,
+  [1187] = 1187,
+  [1188] = 1186,
+  [1189] = 1189,
+  [1190] = 1190,
+  [1191] = 1177,
   [1192] = 1192,
   [1193] = 1193,
   [1194] = 1194,
-  [1195] = 1195,
-  [1196] = 1158,
-  [1197] = 1194,
+  [1195] = 1192,
+  [1196] = 1183,
+  [1197] = 1197,
   [1198] = 1198,
-  [1199] = 1194,
-  [1200] = 1158,
-  [1201] = 1188,
+  [1199] = 1199,
+  [1200] = 1200,
+  [1201] = 1167,
   [1202] = 1202,
-  [1203] = 1203,
-  [1204] = 1179,
+  [1203] = 1173,
+  [1204] = 1200,
   [1205] = 1205,
-  [1206] = 1206,
-  [1207] = 1207,
-  [1208] = 1195,
-  [1209] = 1156,
-  [1210] = 1210,
-  [1211] = 1198,
-  [1212] = 1206,
+  [1206] = 1194,
+  [1207] = 1197,
+  [1208] = 1208,
+  [1209] = 1198,
+  [1210] = 1200,
+  [1211] = 1194,
+  [1212] = 1208,
   [1213] = 1213,
-  [1214] = 1168,
-  [1215] = 1157,
-  [1216] = 1007,
-  [1217] = 1210,
-  [1218] = 1206,
-  [1219] = 1213,
-  [1220] = 1203,
-  [1221] = 1008,
-  [1222] = 1202,
-  [1223] = 1175,
-  [1224] = 1224,
-  [1225] = 1206,
-  [1226] = 684,
-  [1227] = 1207,
-  [1228] = 1170,
-  [1229] = 1151,
-  [1230] = 1161,
-  [1231] = 1213,
-  [1232] = 1006,
-  [1233] = 1002,
-  [1234] = 1155,
+  [1214] = 1214,
+  [1215] = 1215,
+  [1216] = 1170,
+  [1217] = 1181,
+  [1218] = 1218,
+  [1219] = 1214,
+  [1220] = 1220,
+  [1221] = 1194,
+  [1222] = 1222,
+  [1223] = 1169,
+  [1224] = 1171,
+  [1225] = 1178,
+  [1226] = 1182,
+  [1227] = 1184,
+  [1228] = 1187,
+  [1229] = 1189,
+  [1230] = 1202,
+  [1231] = 1205,
+  [1232] = 1232,
+  [1233] = 1222,
+  [1234] = 1218,
   [1235] = 1235,
-  [1236] = 1236,
+  [1236] = 1176,
   [1237] = 1237,
-  [1238] = 1238,
+  [1238] = 1220,
   [1239] = 1239,
-  [1240] = 1192,
-  [1241] = 1210,
-  [1242] = 1210,
-  [1243] = 1243,
-  [1244] = 1244,
-  [1245] = 1245,
+  [1240] = 1012,
+  [1241] = 1241,
+  [1242] = 1242,
+  [1243] = 684,
+  [1244] = 1004,
+  [1245] = 1190,
   [1246] = 1246,
-  [1247] = 1243,
-  [1248] = 1243,
-  [1249] = 1243,
+  [1247] = 1000,
+  [1248] = 1237,
+  [1249] = 999,
   [1250] = 1250,
   [1251] = 1251,
-  [1252] = 1252,
-  [1253] = 1252,
-  [1254] = 1254,
-  [1255] = 1254,
-  [1256] = 1252,
-  [1257] = 1252,
-  [1258] = 1254,
-  [1259] = 1254,
-  [1260] = 1260,
+  [1252] = 1246,
+  [1253] = 1253,
+  [1254] = 1237,
+  [1255] = 1246,
+  [1256] = 1213,
+  [1257] = 1253,
+  [1258] = 1237,
+  [1259] = 1246,
+  [1260] = 1253,
   [1261] = 1261,
-  [1262] = 1262,
+  [1262] = 1261,
   [1263] = 1263,
   [1264] = 1264,
   [1265] = 1265,
   [1266] = 1266,
-  [1267] = 1267,
+  [1267] = 1261,
   [1268] = 1268,
-  [1269] = 1269,
+  [1269] = 1261,
   [1270] = 1270,
   [1271] = 1271,
-  [1272] = 1268,
-  [1273] = 1268,
+  [1272] = 1272,
+  [1273] = 1273,
   [1274] = 1274,
   [1275] = 1275,
-  [1276] = 1276,
-  [1277] = 1277,
-  [1278] = 1278,
-  [1279] = 1279,
-  [1280] = 1250,
+  [1276] = 1274,
+  [1277] = 1274,
+  [1278] = 1274,
+  [1279] = 1271,
+  [1280] = 1271,
   [1281] = 1281,
-  [1282] = 1282,
+  [1282] = 1271,
   [1283] = 1283,
-  [1284] = 1284,
+  [1284] = 1283,
   [1285] = 1285,
-  [1286] = 1286,
-  [1287] = 1286,
-  [1288] = 1286,
+  [1286] = 1283,
+  [1287] = 1287,
+  [1288] = 1288,
   [1289] = 1289,
-  [1290] = 1286,
+  [1290] = 1290,
   [1291] = 1291,
-  [1292] = 1291,
-  [1293] = 1286,
+  [1292] = 1292,
+  [1293] = 1293,
   [1294] = 1294,
-  [1295] = 1291,
-  [1296] = 1286,
-  [1297] = 1291,
+  [1295] = 1295,
+  [1296] = 1263,
+  [1297] = 1297,
   [1298] = 1298,
   [1299] = 1299,
   [1300] = 1300,
@@ -4554,165 +4565,165 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [1307] = 1307,
   [1308] = 1308,
   [1309] = 1309,
-  [1310] = 1310,
+  [1310] = 1306,
   [1311] = 1311,
-  [1312] = 1312,
+  [1312] = 1307,
   [1313] = 1313,
   [1314] = 1314,
   [1315] = 1315,
-  [1316] = 1316,
+  [1316] = 1306,
   [1317] = 1317,
-  [1318] = 1318,
-  [1319] = 1319,
-  [1320] = 1320,
+  [1318] = 1307,
+  [1319] = 1306,
+  [1320] = 1307,
   [1321] = 1321,
-  [1322] = 1322,
-  [1323] = 1323,
-  [1324] = 1320,
+  [1322] = 1307,
+  [1323] = 1307,
+  [1324] = 1324,
   [1325] = 1325,
   [1326] = 1326,
   [1327] = 1327,
-  [1328] = 1320,
+  [1328] = 1328,
   [1329] = 1329,
   [1330] = 1330,
   [1331] = 1331,
   [1332] = 1332,
-  [1333] = 1333,
-  [1334] = 1320,
+  [1333] = 1273,
+  [1334] = 1334,
   [1335] = 1335,
   [1336] = 1336,
   [1337] = 1337,
-  [1338] = 1260,
-  [1339] = 1339,
+  [1338] = 1338,
+  [1339] = 1281,
   [1340] = 1340,
   [1341] = 1341,
-  [1342] = 1336,
+  [1342] = 1342,
   [1343] = 1343,
-  [1344] = 1336,
-  [1345] = 1336,
+  [1344] = 1344,
+  [1345] = 1345,
   [1346] = 1346,
   [1347] = 1347,
-  [1348] = 1266,
+  [1348] = 1348,
   [1349] = 1349,
   [1350] = 1350,
-  [1351] = 1263,
+  [1351] = 1275,
   [1352] = 1352,
   [1353] = 1353,
-  [1354] = 1282,
-  [1355] = 1279,
+  [1354] = 1349,
+  [1355] = 1349,
   [1356] = 1356,
-  [1357] = 1356,
-  [1358] = 1356,
+  [1357] = 1357,
+  [1358] = 1349,
   [1359] = 1359,
-  [1360] = 1353,
-  [1361] = 1352,
-  [1362] = 1278,
-  [1363] = 1352,
+  [1360] = 1360,
+  [1361] = 1361,
+  [1362] = 1362,
+  [1363] = 1363,
   [1364] = 1364,
-  [1365] = 1353,
+  [1365] = 1365,
   [1366] = 1366,
   [1367] = 1367,
-  [1368] = 1368,
-  [1369] = 1352,
-  [1370] = 1370,
-  [1371] = 1371,
-  [1372] = 1353,
-  [1373] = 1283,
-  [1374] = 1356,
+  [1368] = 1302,
+  [1369] = 1299,
+  [1370] = 1301,
+  [1371] = 1300,
+  [1372] = 1372,
+  [1373] = 1365,
+  [1374] = 1365,
   [1375] = 1375,
-  [1376] = 1376,
-  [1377] = 1376,
+  [1376] = 1365,
+  [1377] = 1377,
   [1378] = 1378,
   [1379] = 1379,
   [1380] = 1380,
-  [1381] = 1379,
+  [1381] = 1381,
   [1382] = 1382,
-  [1383] = 1376,
+  [1383] = 1383,
   [1384] = 1384,
-  [1385] = 1380,
+  [1385] = 1385,
   [1386] = 1386,
-  [1387] = 1387,
-  [1388] = 1380,
+  [1387] = 1379,
+  [1388] = 1388,
   [1389] = 1389,
-  [1390] = 1380,
+  [1390] = 1379,
   [1391] = 1391,
   [1392] = 1392,
-  [1393] = 1393,
-  [1394] = 1394,
+  [1393] = 1381,
+  [1394] = 1378,
   [1395] = 1395,
   [1396] = 1396,
-  [1397] = 1379,
-  [1398] = 1398,
+  [1397] = 1397,
+  [1398] = 1379,
   [1399] = 1399,
-  [1400] = 1379,
-  [1401] = 1401,
-  [1402] = 1376,
+  [1400] = 1381,
+  [1401] = 1381,
+  [1402] = 1378,
   [1403] = 1403,
-  [1404] = 1404,
+  [1404] = 1378,
   [1405] = 1405,
   [1406] = 1406,
   [1407] = 1407,
   [1408] = 1408,
-  [1409] = 1407,
+  [1409] = 1409,
   [1410] = 1410,
-  [1411] = 1411,
-  [1412] = 1412,
-  [1413] = 1407,
+  [1411] = 1407,
+  [1412] = 1408,
+  [1413] = 1413,
   [1414] = 1414,
   [1415] = 1415,
-  [1416] = 1416,
+  [1416] = 1408,
   [1417] = 1417,
   [1418] = 1418,
   [1419] = 1419,
   [1420] = 1420,
   [1421] = 1421,
-  [1422] = 1422,
+  [1422] = 1406,
   [1423] = 1423,
-  [1424] = 1418,
-  [1425] = 1425,
+  [1424] = 1424,
+  [1425] = 1407,
   [1426] = 1426,
-  [1427] = 1418,
-  [1428] = 1428,
+  [1427] = 1427,
+  [1428] = 1407,
   [1429] = 1429,
   [1430] = 1430,
-  [1431] = 1418,
+  [1431] = 1431,
   [1432] = 1432,
-  [1433] = 1433,
-  [1434] = 1407,
-  [1435] = 1418,
+  [1433] = 1406,
+  [1434] = 1406,
+  [1435] = 1408,
   [1436] = 1436,
-  [1437] = 1407,
-  [1438] = 1407,
+  [1437] = 1437,
+  [1438] = 1438,
   [1439] = 1439,
   [1440] = 1440,
   [1441] = 1441,
-  [1442] = 1418,
+  [1442] = 1442,
   [1443] = 1443,
   [1444] = 1444,
   [1445] = 1445,
-  [1446] = 1446,
+  [1446] = 1445,
   [1447] = 1447,
-  [1448] = 1448,
+  [1448] = 1440,
   [1449] = 1449,
   [1450] = 1450,
   [1451] = 1451,
   [1452] = 1452,
-  [1453] = 1453,
+  [1453] = 1445,
   [1454] = 1454,
-  [1455] = 1455,
+  [1455] = 1440,
   [1456] = 1456,
-  [1457] = 1457,
-  [1458] = 1458,
-  [1459] = 1459,
-  [1460] = 1460,
+  [1457] = 1445,
+  [1458] = 1440,
+  [1459] = 1445,
+  [1460] = 1440,
   [1461] = 1461,
-  [1462] = 1462,
+  [1462] = 1440,
   [1463] = 1463,
   [1464] = 1464,
   [1465] = 1465,
   [1466] = 1466,
   [1467] = 1467,
-  [1468] = 1468,
+  [1468] = 1445,
   [1469] = 1469,
   [1470] = 1470,
   [1471] = 1471,
@@ -4737,281 +4748,281 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [1490] = 1490,
   [1491] = 1491,
   [1492] = 1492,
-  [1493] = 1491,
-  [1494] = 1489,
+  [1493] = 1493,
+  [1494] = 1494,
   [1495] = 1495,
   [1496] = 1496,
   [1497] = 1497,
-  [1498] = 1490,
-  [1499] = 1490,
+  [1498] = 1498,
+  [1499] = 1499,
   [1500] = 1500,
-  [1501] = 1501,
-  [1502] = 1489,
-  [1503] = 1491,
-  [1504] = 1504,
-  [1505] = 1500,
-  [1506] = 1497,
+  [1501] = 1499,
+  [1502] = 1502,
+  [1503] = 1499,
+  [1504] = 1502,
+  [1505] = 1502,
+  [1506] = 1506,
   [1507] = 1507,
-  [1508] = 1497,
-  [1509] = 1509,
-  [1510] = 1491,
+  [1508] = 1508,
+  [1509] = 1502,
+  [1510] = 1499,
   [1511] = 1511,
   [1512] = 1512,
-  [1513] = 1488,
+  [1513] = 1513,
   [1514] = 1500,
   [1515] = 1515,
   [1516] = 1516,
   [1517] = 1517,
-  [1518] = 1487,
-  [1519] = 1497,
-  [1520] = 1488,
-  [1521] = 1490,
-  [1522] = 1522,
-  [1523] = 1523,
-  [1524] = 1488,
-  [1525] = 1525,
+  [1518] = 1518,
+  [1519] = 1508,
+  [1520] = 1500,
+  [1521] = 1521,
+  [1522] = 1508,
+  [1523] = 1508,
+  [1524] = 1524,
+  [1525] = 1500,
   [1526] = 1526,
-  [1527] = 1522,
+  [1527] = 1527,
   [1528] = 1528,
-  [1529] = 1490,
-  [1530] = 1490,
-  [1531] = 1487,
-  [1532] = 1490,
-  [1533] = 1522,
+  [1529] = 1529,
+  [1530] = 1530,
+  [1531] = 1531,
+  [1532] = 1532,
+  [1533] = 1533,
   [1534] = 1534,
   [1535] = 1535,
   [1536] = 1536,
-  [1537] = 1517,
+  [1537] = 1537,
   [1538] = 1538,
-  [1539] = 1489,
-  [1540] = 1517,
-  [1541] = 1541,
-  [1542] = 1491,
-  [1543] = 1543,
-  [1544] = 1544,
+  [1539] = 1539,
+  [1540] = 1537,
+  [1541] = 1528,
+  [1542] = 1539,
+  [1543] = 1533,
+  [1544] = 1539,
   [1545] = 1545,
-  [1546] = 1546,
-  [1547] = 1500,
-  [1548] = 1548,
+  [1546] = 1539,
+  [1547] = 1547,
+  [1548] = 1539,
   [1549] = 1549,
   [1550] = 1550,
   [1551] = 1551,
   [1552] = 1552,
-  [1553] = 1553,
+  [1553] = 1527,
   [1554] = 1554,
   [1555] = 1555,
-  [1556] = 1550,
+  [1556] = 1528,
   [1557] = 1557,
-  [1558] = 1558,
-  [1559] = 1558,
-  [1560] = 1558,
+  [1558] = 1537,
+  [1559] = 1528,
+  [1560] = 1528,
   [1561] = 1561,
-  [1562] = 1562,
+  [1562] = 1528,
   [1563] = 1563,
-  [1564] = 1564,
+  [1564] = 1527,
   [1565] = 1565,
   [1566] = 1566,
-  [1567] = 1567,
-  [1568] = 1568,
-  [1569] = 1569,
-  [1570] = 1570,
-  [1571] = 1563,
+  [1567] = 1528,
+  [1568] = 1533,
+  [1569] = 1554,
+  [1570] = 1554,
+  [1571] = 1571,
   [1572] = 1572,
   [1573] = 1573,
   [1574] = 1574,
   [1575] = 1575,
-  [1576] = 1549,
+  [1576] = 1576,
   [1577] = 1577,
-  [1578] = 1552,
-  [1579] = 1575,
+  [1578] = 1578,
+  [1579] = 1579,
   [1580] = 1580,
   [1581] = 1581,
   [1582] = 1582,
   [1583] = 1583,
   [1584] = 1584,
-  [1585] = 1566,
-  [1586] = 1550,
+  [1585] = 1585,
+  [1586] = 1586,
   [1587] = 1587,
   [1588] = 1588,
-  [1589] = 1563,
-  [1590] = 1568,
-  [1591] = 1569,
-  [1592] = 1570,
-  [1593] = 1568,
-  [1594] = 1569,
-  [1595] = 1570,
-  [1596] = 1577,
-  [1597] = 1597,
-  [1598] = 1549,
-  [1599] = 1577,
-  [1600] = 1552,
-  [1601] = 1398,
-  [1602] = 1568,
+  [1589] = 1589,
+  [1590] = 1583,
+  [1591] = 1591,
+  [1592] = 1592,
+  [1593] = 1593,
+  [1594] = 1594,
+  [1595] = 1595,
+  [1596] = 1581,
+  [1597] = 1586,
+  [1598] = 1598,
+  [1599] = 1599,
+  [1600] = 1571,
+  [1601] = 1601,
+  [1602] = 1602,
   [1603] = 1603,
   [1604] = 1582,
-  [1605] = 1569,
-  [1606] = 1563,
-  [1607] = 1568,
-  [1608] = 1569,
-  [1609] = 1570,
-  [1610] = 1549,
-  [1611] = 1577,
-  [1612] = 1552,
-  [1613] = 1582,
-  [1614] = 1614,
-  [1615] = 1563,
-  [1616] = 1568,
-  [1617] = 1569,
-  [1618] = 1570,
-  [1619] = 1549,
-  [1620] = 1577,
-  [1621] = 1552,
-  [1622] = 1622,
-  [1623] = 1623,
-  [1624] = 1624,
-  [1625] = 1550,
+  [1605] = 1605,
+  [1606] = 1606,
+  [1607] = 1607,
+  [1608] = 1608,
+  [1609] = 1609,
+  [1610] = 1610,
+  [1611] = 1611,
+  [1612] = 1612,
+  [1613] = 1601,
+  [1614] = 1578,
+  [1615] = 1602,
+  [1616] = 1616,
+  [1617] = 1572,
+  [1618] = 1571,
+  [1619] = 1582,
+  [1620] = 1586,
+  [1621] = 1592,
+  [1622] = 1606,
+  [1623] = 1592,
+  [1624] = 1593,
+  [1625] = 1594,
   [1626] = 1626,
-  [1627] = 1627,
+  [1627] = 1601,
   [1628] = 1628,
-  [1629] = 1629,
-  [1630] = 1574,
+  [1629] = 1571,
+  [1630] = 1601,
   [1631] = 1631,
-  [1632] = 1632,
-  [1633] = 1549,
-  [1634] = 1577,
-  [1635] = 1552,
-  [1636] = 1574,
-  [1637] = 1573,
-  [1638] = 1638,
-  [1639] = 1575,
-  [1640] = 1640,
-  [1641] = 1641,
-  [1642] = 1642,
-  [1643] = 1582,
-  [1644] = 1644,
-  [1645] = 1645,
-  [1646] = 1582,
-  [1647] = 1647,
-  [1648] = 1570,
-  [1649] = 1624,
-  [1650] = 1650,
-  [1651] = 1553,
-  [1652] = 1597,
-  [1653] = 1624,
-  [1654] = 1553,
-  [1655] = 1655,
+  [1632] = 1593,
+  [1633] = 1606,
+  [1634] = 1606,
+  [1635] = 1586,
+  [1636] = 1636,
+  [1637] = 1592,
+  [1638] = 1593,
+  [1639] = 1594,
+  [1640] = 1571,
+  [1641] = 1601,
+  [1642] = 1602,
+  [1643] = 1606,
+  [1644] = 1586,
+  [1645] = 1592,
+  [1646] = 1593,
+  [1647] = 1594,
+  [1648] = 1571,
+  [1649] = 1601,
+  [1650] = 1602,
+  [1651] = 1606,
+  [1652] = 1652,
+  [1653] = 1594,
+  [1654] = 1573,
+  [1655] = 1578,
   [1656] = 1656,
-  [1657] = 1563,
+  [1657] = 1583,
   [1658] = 1658,
-  [1659] = 1659,
-  [1660] = 1660,
+  [1659] = 1592,
+  [1660] = 1593,
   [1661] = 1661,
-  [1662] = 1662,
-  [1663] = 1663,
-  [1664] = 1664,
-  [1665] = 1665,
-  [1666] = 1566,
+  [1662] = 1581,
+  [1663] = 1602,
+  [1664] = 1594,
+  [1665] = 1652,
+  [1666] = 1666,
   [1667] = 1667,
-  [1668] = 1582,
-  [1669] = 1669,
+  [1668] = 1668,
+  [1669] = 1658,
   [1670] = 1670,
   [1671] = 1671,
   [1672] = 1672,
-  [1673] = 1673,
-  [1674] = 1672,
-  [1675] = 1675,
-  [1676] = 1673,
+  [1673] = 1586,
+  [1674] = 1674,
+  [1675] = 1417,
+  [1676] = 1676,
   [1677] = 1677,
   [1678] = 1678,
-  [1679] = 1679,
+  [1679] = 1652,
   [1680] = 1680,
-  [1681] = 1681,
-  [1682] = 1669,
-  [1683] = 1677,
-  [1684] = 1684,
+  [1681] = 1573,
+  [1682] = 1682,
+  [1683] = 1683,
+  [1684] = 1578,
   [1685] = 1685,
-  [1686] = 1677,
+  [1686] = 1602,
   [1687] = 1687,
   [1688] = 1688,
   [1689] = 1689,
   [1690] = 1690,
   [1691] = 1691,
-  [1692] = 1688,
-  [1693] = 1687,
+  [1692] = 1692,
+  [1693] = 1693,
   [1694] = 1694,
-  [1695] = 1677,
+  [1695] = 1695,
   [1696] = 1696,
-  [1697] = 1687,
+  [1697] = 1697,
   [1698] = 1698,
-  [1699] = 1699,
-  [1700] = 1672,
-  [1701] = 1688,
-  [1702] = 1685,
-  [1703] = 1703,
-  [1704] = 1704,
-  [1705] = 1705,
-  [1706] = 1703,
-  [1707] = 1707,
-  [1708] = 1696,
-  [1709] = 1677,
-  [1710] = 1673,
-  [1711] = 1672,
-  [1712] = 1688,
-  [1713] = 1685,
-  [1714] = 1687,
-  [1715] = 1687,
-  [1716] = 1696,
-  [1717] = 1669,
-  [1718] = 1718,
-  [1719] = 1689,
-  [1720] = 1687,
-  [1721] = 1703,
-  [1722] = 1707,
-  [1723] = 1723,
-  [1724] = 1696,
-  [1725] = 1673,
-  [1726] = 1726,
-  [1727] = 1696,
-  [1728] = 1688,
+  [1699] = 1692,
+  [1700] = 1692,
+  [1701] = 1701,
+  [1702] = 1702,
+  [1703] = 1690,
+  [1704] = 1687,
+  [1705] = 1701,
+  [1706] = 1690,
+  [1707] = 1692,
+  [1708] = 1692,
+  [1709] = 1690,
+  [1710] = 1701,
+  [1711] = 1690,
+  [1712] = 1692,
+  [1713] = 1713,
+  [1714] = 1714,
+  [1715] = 1715,
+  [1716] = 1716,
+  [1717] = 1690,
+  [1718] = 1692,
+  [1719] = 1694,
+  [1720] = 1689,
+  [1721] = 1693,
+  [1722] = 1702,
+  [1723] = 1690,
+  [1724] = 1689,
+  [1725] = 1697,
+  [1726] = 1702,
+  [1727] = 1727,
+  [1728] = 1728,
   [1729] = 1729,
-  [1730] = 1669,
-  [1731] = 1685,
-  [1732] = 1689,
+  [1730] = 1730,
+  [1731] = 1731,
+  [1732] = 1701,
   [1733] = 1733,
-  [1734] = 1689,
-  [1735] = 1689,
-  [1736] = 1736,
+  [1734] = 1734,
+  [1735] = 1716,
+  [1736] = 1702,
   [1737] = 1737,
-  [1738] = 1672,
-  [1739] = 1739,
-  [1740] = 1703,
-  [1741] = 1673,
-  [1742] = 1707,
-  [1743] = 1699,
-  [1744] = 1744,
-  [1745] = 1745,
-  [1746] = 1746,
-  [1747] = 1747,
-  [1748] = 1688,
-  [1749] = 1749,
-  [1750] = 1687,
-  [1751] = 1751,
-  [1752] = 1705,
-  [1753] = 1705,
-  [1754] = 1703,
-  [1755] = 1707,
-  [1756] = 1688,
-  [1757] = 1757,
-  [1758] = 1758,
-  [1759] = 1759,
-  [1760] = 1760,
+  [1738] = 1737,
+  [1739] = 1687,
+  [1740] = 1740,
+  [1741] = 1687,
+  [1742] = 1689,
+  [1743] = 1743,
+  [1744] = 1694,
+  [1745] = 1689,
+  [1746] = 1693,
+  [1747] = 1702,
+  [1748] = 1748,
+  [1749] = 1698,
+  [1750] = 1697,
+  [1751] = 1734,
+  [1752] = 1716,
+  [1753] = 1737,
+  [1754] = 1693,
+  [1755] = 1755,
+  [1756] = 1756,
+  [1757] = 1698,
+  [1758] = 1697,
+  [1759] = 1698,
+  [1760] = 1716,
   [1761] = 1761,
-  [1762] = 1762,
-  [1763] = 1763,
+  [1762] = 1737,
+  [1763] = 1737,
   [1764] = 1764,
-  [1765] = 1765,
-  [1766] = 1766,
-  [1767] = 1767,
+  [1765] = 1687,
+  [1766] = 1697,
+  [1767] = 1701,
   [1768] = 1768,
   [1769] = 1769,
   [1770] = 1770,
@@ -5020,239 +5031,253 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
   [1773] = 1773,
   [1774] = 1774,
   [1775] = 1775,
-  [1776] = 1764,
+  [1776] = 1776,
   [1777] = 1777,
   [1778] = 1778,
-  [1779] = 1775,
-  [1780] = 1774,
+  [1779] = 1779,
+  [1780] = 1780,
   [1781] = 1781,
   [1782] = 1782,
-  [1783] = 636,
-  [1784] = 1784,
+  [1783] = 1783,
+  [1784] = 1783,
   [1785] = 1785,
   [1786] = 1786,
   [1787] = 1787,
-  [1788] = 1788,
-  [1789] = 1769,
-  [1790] = 1006,
-  [1791] = 1761,
-  [1792] = 1773,
+  [1788] = 1777,
+  [1789] = 1789,
+  [1790] = 1790,
+  [1791] = 1791,
+  [1792] = 1792,
   [1793] = 1793,
-  [1794] = 1794,
+  [1794] = 1786,
   [1795] = 1795,
-  [1796] = 1007,
+  [1796] = 1796,
   [1797] = 1797,
-  [1798] = 1774,
-  [1799] = 1771,
-  [1800] = 1768,
-  [1801] = 1801,
-  [1802] = 1802,
-  [1803] = 1803,
-  [1804] = 1768,
-  [1805] = 1769,
-  [1806] = 1773,
-  [1807] = 1760,
-  [1808] = 1774,
-  [1809] = 1809,
+  [1798] = 1780,
+  [1799] = 1799,
+  [1800] = 1000,
+  [1801] = 1791,
+  [1802] = 1012,
+  [1803] = 1783,
+  [1804] = 1804,
+  [1805] = 1805,
+  [1806] = 1787,
+  [1807] = 1807,
+  [1808] = 1786,
+  [1809] = 1780,
   [1810] = 1810,
   [1811] = 1811,
-  [1812] = 1812,
-  [1813] = 1774,
-  [1814] = 1814,
-  [1815] = 641,
-  [1816] = 1816,
-  [1817] = 1759,
-  [1818] = 1818,
-  [1819] = 1819,
-  [1820] = 1819,
-  [1821] = 1764,
-  [1822] = 1822,
-  [1823] = 1823,
-  [1824] = 1778,
-  [1825] = 1803,
+  [1812] = 1786,
+  [1813] = 1813,
+  [1814] = 1807,
+  [1815] = 1815,
+  [1816] = 1790,
+  [1817] = 1817,
+  [1818] = 1777,
+  [1819] = 1783,
+  [1820] = 1787,
+  [1821] = 1821,
+  [1822] = 1786,
+  [1823] = 1796,
+  [1824] = 1824,
+  [1825] = 1825,
   [1826] = 1826,
-  [1827] = 1827,
+  [1827] = 642,
   [1828] = 1828,
   [1829] = 1829,
-  [1830] = 1830,
-  [1831] = 1831,
-  [1832] = 1832,
+  [1830] = 1783,
+  [1831] = 1779,
+  [1832] = 1790,
   [1833] = 1833,
   [1834] = 1834,
   [1835] = 1835,
   [1836] = 1836,
   [1837] = 1837,
-  [1838] = 1838,
-  [1839] = 1839,
+  [1838] = 1815,
+  [1839] = 1790,
   [1840] = 1840,
   [1841] = 1841,
-  [1842] = 1818,
+  [1842] = 1842,
   [1843] = 1843,
-  [1844] = 1763,
-  [1845] = 1786,
-  [1846] = 1846,
-  [1847] = 1847,
+  [1844] = 1786,
+  [1845] = 1845,
+  [1846] = 1797,
+  [1847] = 1780,
   [1848] = 1848,
   [1849] = 1849,
   [1850] = 1850,
-  [1851] = 1851,
-  [1852] = 1773,
-  [1853] = 1781,
-  [1854] = 1854,
+  [1851] = 1791,
+  [1852] = 1852,
+  [1853] = 1853,
+  [1854] = 1807,
   [1855] = 1855,
-  [1856] = 1793,
+  [1856] = 1789,
   [1857] = 1857,
   [1858] = 1858,
   [1859] = 1859,
   [1860] = 1860,
-  [1861] = 1775,
+  [1861] = 1817,
   [1862] = 1862,
   [1863] = 1863,
-  [1864] = 1814,
-  [1865] = 1793,
+  [1864] = 1864,
+  [1865] = 1797,
   [1866] = 1866,
-  [1867] = 1867,
-  [1868] = 1868,
-  [1869] = 1768,
+  [1867] = 1799,
+  [1868] = 638,
+  [1869] = 1869,
   [1870] = 1870,
-  [1871] = 1773,
+  [1871] = 1795,
   [1872] = 1872,
-  [1873] = 1873,
-  [1874] = 1874,
-  [1875] = 1875,
-  [1876] = 1876,
-  [1877] = 1769,
-  [1878] = 1878,
-  [1879] = 1760,
-  [1880] = 1760,
-  [1881] = 1881,
-  [1882] = 1882,
-  [1883] = 1766,
+  [1873] = 1863,
+  [1874] = 1815,
+  [1875] = 1789,
+  [1876] = 1813,
+  [1877] = 1824,
+  [1878] = 1780,
+  [1879] = 1817,
+  [1880] = 1880,
+  [1881] = 1787,
+  [1882] = 1783,
+  [1883] = 1834,
   [1884] = 1884,
   [1885] = 1885,
-  [1886] = 1758,
-  [1887] = 1784,
-  [1888] = 1769,
-  [1889] = 1818,
+  [1886] = 1886,
+  [1887] = 1779,
+  [1888] = 1790,
+  [1889] = 1889,
   [1890] = 1890,
   [1891] = 1891,
-  [1892] = 1823,
-  [1893] = 1893,
-  [1894] = 1002,
-  [1895] = 1873,
-  [1896] = 1814,
-  [1897] = 1768,
-  [1898] = 1898,
-  [1899] = 1836,
-  [1900] = 1810,
-  [1901] = 1811,
-  [1902] = 1832,
+  [1892] = 1892,
+  [1893] = 1813,
+  [1894] = 1894,
+  [1895] = 1895,
+  [1896] = 1896,
+  [1897] = 1897,
+  [1898] = 1787,
+  [1899] = 1899,
+  [1900] = 1900,
+  [1901] = 1901,
+  [1902] = 1848,
   [1903] = 1903,
-  [1904] = 1758,
+  [1904] = 1904,
   [1905] = 1905,
-  [1906] = 1769,
-  [1907] = 1836,
-  [1908] = 1803,
-  [1909] = 1819,
-  [1910] = 1903,
-  [1911] = 1757,
+  [1906] = 1858,
+  [1907] = 1804,
+  [1908] = 1795,
+  [1909] = 1848,
+  [1910] = 1848,
+  [1911] = 1834,
   [1912] = 1912,
-  [1913] = 1839,
-  [1914] = 1803,
-  [1915] = 1814,
-  [1916] = 1916,
-  [1917] = 1763,
-  [1918] = 1778,
-  [1919] = 1761,
-  [1920] = 1802,
-  [1921] = 1858,
+  [1913] = 1858,
+  [1914] = 1824,
+  [1915] = 1825,
+  [1916] = 1825,
+  [1917] = 1894,
+  [1918] = 1807,
+  [1919] = 1919,
+  [1920] = 1920,
+  [1921] = 1886,
   [1922] = 1922,
-  [1923] = 1860,
-  [1924] = 1797,
+  [1923] = 1833,
+  [1924] = 1894,
   [1925] = 1925,
   [1926] = 1926,
-  [1927] = 1761,
-  [1928] = 1928,
-  [1929] = 1797,
-  [1930] = 1784,
-  [1931] = 1810,
-  [1932] = 1811,
-  [1933] = 1933,
-  [1934] = 1771,
-  [1935] = 1769,
-  [1936] = 1936,
-  [1937] = 1819,
-  [1938] = 1860,
-  [1939] = 1775,
-  [1940] = 1766,
-  [1941] = 1771,
-  [1942] = 1773,
+  [1927] = 1927,
+  [1928] = 1789,
+  [1929] = 1886,
+  [1930] = 1930,
+  [1931] = 1931,
+  [1932] = 1932,
+  [1933] = 1863,
+  [1934] = 1934,
+  [1935] = 1872,
+  [1936] = 1919,
+  [1937] = 1815,
+  [1938] = 1922,
+  [1939] = 1795,
+  [1940] = 1872,
+  [1941] = 1863,
+  [1942] = 999,
   [1943] = 1943,
-  [1944] = 1766,
-  [1945] = 1873,
-  [1946] = 1803,
-  [1947] = 1787,
-  [1948] = 1758,
-  [1949] = 1860,
-  [1950] = 1950,
-  [1951] = 1784,
-  [1952] = 1810,
-  [1953] = 1860,
+  [1944] = 1930,
+  [1945] = 1824,
+  [1946] = 1825,
+  [1947] = 1947,
+  [1948] = 1783,
+  [1949] = 1949,
+  [1950] = 1858,
+  [1951] = 1833,
+  [1952] = 1952,
+  [1953] = 1953,
   [1954] = 1954,
-  [1955] = 1775,
-  [1956] = 1810,
-  [1957] = 1810,
-  [1958] = 1775,
-  [1959] = 1797,
-  [1960] = 1960,
-  [1961] = 1811,
-  [1962] = 1962,
-  [1963] = 1767,
-  [1964] = 1765,
-  [1965] = 1766,
-  [1966] = 1858,
+  [1955] = 1786,
+  [1956] = 1956,
+  [1957] = 1957,
+  [1958] = 1797,
+  [1959] = 1930,
+  [1960] = 1901,
+  [1961] = 1961,
+  [1962] = 1813,
+  [1963] = 1963,
+  [1964] = 1964,
+  [1965] = 1965,
+  [1966] = 1824,
   [1967] = 1967,
   [1968] = 1968,
-  [1969] = 1803,
-  [1970] = 1970,
-  [1971] = 1971,
-  [1972] = 1839,
+  [1969] = 1969,
+  [1970] = 1824,
+  [1971] = 1824,
+  [1972] = 1947,
   [1973] = 1973,
-  [1974] = 1757,
-  [1975] = 1008,
-  [1976] = 1976,
-  [1977] = 1823,
-  [1978] = 1846,
-  [1979] = 1774,
-  [1980] = 1764,
+  [1974] = 1974,
+  [1975] = 1975,
+  [1976] = 1919,
+  [1977] = 1778,
+  [1978] = 1978,
+  [1979] = 1834,
+  [1980] = 1804,
   [1981] = 1981,
-  [1982] = 1832,
-  [1983] = 1768,
-  [1984] = 1778,
+  [1982] = 1982,
+  [1983] = 1790,
+  [1984] = 1791,
   [1985] = 1985,
-  [1986] = 1765,
-  [1987] = 1810,
-  [1988] = 1873,
-  [1989] = 1757,
-  [1990] = 1786,
+  [1986] = 1986,
+  [1987] = 1894,
+  [1988] = 1842,
+  [1989] = 1817,
+  [1990] = 1930,
   [1991] = 1991,
-  [1992] = 1992,
+  [1992] = 1967,
   [1993] = 1993,
-  [1994] = 1994,
-  [1995] = 1995,
-  [1996] = 1793,
-  [1997] = 1773,
-  [1998] = 1998,
+  [1994] = 1789,
+  [1995] = 1815,
+  [1996] = 1833,
+  [1997] = 1834,
+  [1998] = 1834,
   [1999] = 1999,
-  [2000] = 2000,
+  [2000] = 1978,
   [2001] = 2001,
-  [2002] = 1765,
-  [2003] = 1763,
+  [2002] = 1884,
+  [2003] = 1842,
   [2004] = 2004,
-  [2005] = 1765,
-  [2006] = 2006,
-  [2007] = 1774,
+  [2005] = 1947,
+  [2006] = 1787,
+  [2007] = 1789,
   [2008] = 2008,
+  [2009] = 1919,
+  [2010] = 2010,
+  [2011] = 1842,
+  [2012] = 2012,
+  [2013] = 1004,
+  [2014] = 2008,
+  [2015] = 2015,
+  [2016] = 1978,
+  [2017] = 2017,
+  [2018] = 2008,
+  [2019] = 1978,
+  [2020] = 2020,
+  [2021] = 1787,
+  [2022] = 1978,
 };
 
 static TSCharacterRange sym_number_literal_character_set_13[] = {
@@ -5453,45 +5478,45 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
   eof = lexer->eof(lexer);
   switch (state) {
     case 0:
-      if (eof) ADVANCE(120);
+      if (eof) ADVANCE(121);
       ADVANCE_MAP(
-        '!', 187,
-        '"', 286,
+        '!', 188,
+        '"', 287,
         '#', 75,
-        '%', 204,
-        '&', 213,
-        '\'', 277,
-        '(', 124,
-        ')', 127,
-        '*', 200,
-        '+', 195,
-        ',', 126,
-        '-', 190,
-        '.', 253,
-        '/', 202,
-        '0', 259,
-        ':', 237,
-        ';', 226,
-        '<', 220,
-        '=', 236,
-        '>', 216,
-        '?', 238,
-        'L', 298,
-        'U', 300,
-        '[', 233,
+        '%', 205,
+        '&', 214,
+        '\'', 278,
+        '(', 125,
+        ')', 128,
+        '*', 201,
+        '+', 196,
+        ',', 127,
+        '-', 191,
+        '.', 254,
+        '/', 203,
+        '0', 260,
+        ':', 238,
+        ';', 227,
+        '<', 221,
+        '=', 237,
+        '>', 217,
+        '?', 239,
+        'L', 302,
+        'U', 304,
+        '[', 234,
         '\\', 2,
-        ']', 234,
-        '^', 210,
-        'u', 302,
-        '{', 230,
-        '|', 207,
-        '}', 231,
-        '~', 188,
+        ']', 235,
+        '^', 211,
+        'u', 306,
+        '{', 231,
+        '|', 208,
+        '}', 232,
+        '~', 189,
       );
       if (('\t' <= lookahead && lookahead <= '\r') ||
-          lookahead == ' ') SKIP(118);
-      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(261);
-      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(310);
+          lookahead == ' ') SKIP(119);
+      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262);
+      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314);
       END_STATE();
     case 1:
       if (lookahead == '\n') SKIP(43);
@@ -5499,8 +5524,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
     case 2:
       if (lookahead == '\n') SKIP(43);
       if (lookahead == '\r') SKIP(1);
-      if (lookahead == 'U') ADVANCE(115);
-      if (lookahead == 'u') ADVANCE(107);
+      if (lookahead == 'U') ADVANCE(116);
+      if (lookahead == 'u') ADVANCE(108);
       END_STATE();
     case 3:
       if (lookahead == '\n') SKIP(46);
@@ -5508,8 +5533,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
     case 4:
       if (lookahead == '\n') SKIP(46);
       if (lookahead == '\r') SKIP(3);
-      if (lookahead == 'U') ADVANCE(115);
-      if (lookahead == 'u') ADVANCE(107);
+      if (lookahead == 'U') ADVANCE(116);
+      if (lookahead == 'u') ADVANCE(108);
       END_STATE();
     case 5:
       if (lookahead == '\n') SKIP(45);
@@ -5517,8 +5542,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
     case 6:
       if (lookahead == '\n') SKIP(45);
       if (lookahead == '\r') SKIP(5);
-      if (lookahead == 'U') ADVANCE(115);
-      if (lookahead == 'u') ADVANCE(107);
+      if (lookahead == 'U') ADVANCE(116);
+      if (lookahead == 'u') ADVANCE(108);
       END_STATE();
     case 7:
       if (lookahead == '\n') SKIP(47);
@@ -5526,8 +5551,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
     case 8:
       if (lookahead == '\n') SKIP(47);
       if (lookahead == '\r') SKIP(7);
-      if (lookahead == 'U') ADVANCE(115);
-      if (lookahead == 'u') ADVANCE(107);
+      if (lookahead == 'U') ADVANCE(116);
+      if (lookahead == 'u') ADVANCE(108);
       END_STATE();
     case 9:
       if (lookahead == '\n') SKIP(49);
@@ -5535,26 +5560,26 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
     case 10:
       if (lookahead == '\n') SKIP(49);
       if (lookahead == '\r') SKIP(9);
-      if (lookahead == 'U') ADVANCE(115);
-      if (lookahead == 'u') ADVANCE(107);
+      if (lookahead == 'U') ADVANCE(116);
+      if (lookahead == 'u') ADVANCE(108);
       END_STATE();
     case 11:
-      if (lookahead == '\n') SKIP(52);
+      if (lookahead == '\n') SKIP(53);
       END_STATE();
     case 12:
-      if (lookahead == '\n') SKIP(52);
+      if (lookahead == '\n') SKIP(53);
       if (lookahead == '\r') SKIP(11);
-      if (lookahead == 'U') ADVANCE(115);
-      if (lookahead == 'u') ADVANCE(107);
+      if (lookahead == 'U') ADVANCE(116);
+      if (lookahead == 'u') ADVANCE(108);
       END_STATE();
     case 13:
-      if (lookahead == '\n') SKIP(53);
+      if (lookahead == '\n') SKIP(52);
       END_STATE();
     case 14:
-      if (lookahead == '\n') SKIP(53);
+      if (lookahead == '\n') SKIP(52);
       if (lookahead == '\r') SKIP(13);
-      if (lookahead == 'U') ADVANCE(115);
-      if (lookahead == 'u') ADVANCE(107);
+      if (lookahead == 'U') ADVANCE(116);
+      if (lookahead == 'u') ADVANCE(108);
       END_STATE();
     case 15:
       if (lookahead == '\n') SKIP(57);
@@ -5562,8 +5587,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
     case 16:
       if (lookahead == '\n') SKIP(57);
       if (lookahead == '\r') SKIP(15);
-      if (lookahead == 'U') ADVANCE(115);
-      if (lookahead == 'u') ADVANCE(107);
+      if (lookahead == 'U') ADVANCE(116);
+      if (lookahead == 'u') ADVANCE(108);
       END_STATE();
     case 17:
       if (lookahead == '\n') SKIP(50);
@@ -5571,8 +5596,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
     case 18:
       if (lookahead == '\n') SKIP(50);
       if (lookahead == '\r') SKIP(17);
-      if (lookahead == 'U') ADVANCE(115);
-      if (lookahead == 'u') ADVANCE(107);
+      if (lookahead == 'U') ADVANCE(116);
+      if (lookahead == 'u') ADVANCE(108);
       END_STATE();
     case 19:
       if (lookahead == '\n') SKIP(51);
@@ -5580,45 +5605,45 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
     case 20:
       if (lookahead == '\n') SKIP(51);
       if (lookahead == '\r') SKIP(19);
-      if (lookahead == 'U') ADVANCE(115);
-      if (lookahead == 'u') ADVANCE(107);
+      if (lookahead == 'U') ADVANCE(116);
+      if (lookahead == 'u') ADVANCE(108);
       END_STATE();
     case 21:
-      if (lookahead == '\n') SKIP(23);
+      if (lookahead == '\n') SKIP(48);
       END_STATE();
     case 22:
-      if (lookahead == '\n') SKIP(23);
+      if (lookahead == '\n') SKIP(48);
       if (lookahead == '\r') SKIP(21);
+      if (lookahead == 'U') ADVANCE(116);
+      if (lookahead == 'u') ADVANCE(108);
       END_STATE();
     case 23:
+      if (lookahead == '\n') SKIP(25);
+      END_STATE();
+    case 24:
+      if (lookahead == '\n') SKIP(25);
+      if (lookahead == '\r') SKIP(23);
+      END_STATE();
+    case 25:
       ADVANCE_MAP(
-        '\n', 129,
+        '\n', 130,
         '!', 68,
-        '%', 203,
-        '&', 212,
-        '(', 185,
-        '*', 199,
-        '+', 194,
-        '-', 189,
-        '/', 201,
-        '<', 221,
+        '%', 204,
+        '&', 213,
+        '(', 186,
+        '*', 200,
+        '+', 195,
+        '-', 190,
+        '/', 202,
+        '<', 222,
         '=', 69,
-        '>', 217,
+        '>', 218,
       );
-      if (lookahead == '\\') SKIP(22);
-      if (lookahead == '^') ADVANCE(209);
-      if (lookahead == '|') ADVANCE(208);
+      if (lookahead == '\\') SKIP(24);
+      if (lookahead == '^') ADVANCE(210);
+      if (lookahead == '|') ADVANCE(209);
       if (('\t' <= lookahead && lookahead <= '\r') ||
-          lookahead == ' ') SKIP(23);
-      END_STATE();
-    case 24:
-      if (lookahead == '\n') SKIP(48);
-      END_STATE();
-    case 25:
-      if (lookahead == '\n') SKIP(48);
-      if (lookahead == '\r') SKIP(24);
-      if (lookahead == 'U') ADVANCE(115);
-      if (lookahead == 'u') ADVANCE(107);
+          lookahead == ' ') SKIP(25);
       END_STATE();
     case 26:
       if (lookahead == '\n') SKIP(56);
@@ -5626,8 +5651,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
     case 27:
       if (lookahead == '\n') SKIP(56);
       if (lookahead == '\r') SKIP(26);
-      if (lookahead == 'U') ADVANCE(115);
-      if (lookahead == 'u') ADVANCE(107);
+      if (lookahead == 'U') ADVANCE(116);
+      if (lookahead == 'u') ADVANCE(108);
       END_STATE();
     case 28:
       if (lookahead == '\n') SKIP(54);
@@ -5635,79 +5660,79 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
     case 29:
       if (lookahead == '\n') SKIP(54);
       if (lookahead == '\r') SKIP(28);
-      if (lookahead == 'U') ADVANCE(115);
-      if (lookahead == 'u') ADVANCE(107);
+      if (lookahead == 'U') ADVANCE(116);
+      if (lookahead == 'u') ADVANCE(108);
       END_STATE();
     case 30:
       if (lookahead == '\n') SKIP(58);
-      if (lookahead == '\'') ADVANCE(277);
-      if (lookahead == '/') ADVANCE(280);
-      if (lookahead == '\\') ADVANCE(279);
+      if (lookahead == '\'') ADVANCE(278);
+      if (lookahead == '/') ADVANCE(281);
+      if (lookahead == '\\') ADVANCE(280);
       if (('\t' <= lookahead && lookahead <= '\r') ||
-          lookahead == ' ') ADVANCE(281);
-      if (lookahead != 0) ADVANCE(278);
+          lookahead == ' ') ADVANCE(282);
+      if (lookahead != 0) ADVANCE(279);
       END_STATE();
     case 31:
-      if (lookahead == '\n') ADVANCE(293);
-      if (lookahead == '\r') ADVANCE(292);
-      if (lookahead == 'U') ADVANCE(116);
-      if (lookahead == 'u') ADVANCE(108);
-      if (lookahead == 'x') ADVANCE(104);
-      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(295);
-      if (lookahead != 0) ADVANCE(292);
+      if (lookahead == '\n') ADVANCE(294);
+      if (lookahead == '\r') ADVANCE(293);
+      if (lookahead == 'U') ADVANCE(117);
+      if (lookahead == 'u') ADVANCE(109);
+      if (lookahead == 'x') ADVANCE(103);
+      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(296);
+      if (lookahead != 0) ADVANCE(293);
       END_STATE();
     case 32:
-      if (lookahead == '\n') ADVANCE(122);
+      if (lookahead == '\n') ADVANCE(123);
       if (lookahead == '\r') ADVANCE(36);
-      if (lookahead == '(') ADVANCE(124);
-      if (lookahead == '/') ADVANCE(150);
-      if (lookahead == '\\') ADVANCE(145);
+      if (lookahead == '(') ADVANCE(125);
+      if (lookahead == '/') ADVANCE(151);
+      if (lookahead == '\\') ADVANCE(146);
       if (('\t' <= lookahead && lookahead <= '\f') ||
           lookahead == ' ') SKIP(66);
-      if (lookahead != 0) ADVANCE(152);
+      if (lookahead != 0) ADVANCE(153);
       END_STATE();
     case 33:
-      if (lookahead == '\n') ADVANCE(122);
+      if (lookahead == '\n') ADVANCE(123);
       if (lookahead == '\r') ADVANCE(36);
-      if (lookahead == '/') ADVANCE(150);
-      if (lookahead == '\\') ADVANCE(145);
+      if (lookahead == '/') ADVANCE(151);
+      if (lookahead == '\\') ADVANCE(146);
       if (('\t' <= lookahead && lookahead <= '\f') ||
           lookahead == ' ') SKIP(66);
-      if (lookahead != 0) ADVANCE(152);
+      if (lookahead != 0) ADVANCE(153);
       END_STATE();
     case 34:
-      if (lookahead == '\n') ADVANCE(122);
+      if (lookahead == '\n') ADVANCE(123);
       if (lookahead == '\r') ADVANCE(35);
-      if (lookahead == '(') ADVANCE(185);
+      if (lookahead == '(') ADVANCE(186);
       if (lookahead == '/') ADVANCE(60);
       if (lookahead == '\\') SKIP(39);
       if (('\t' <= lookahead && lookahead <= '\f') ||
           lookahead == ' ') SKIP(59);
       END_STATE();
     case 35:
-      if (lookahead == '\n') ADVANCE(122);
-      if (lookahead == '(') ADVANCE(185);
+      if (lookahead == '\n') ADVANCE(123);
+      if (lookahead == '(') ADVANCE(186);
       if (lookahead == '/') ADVANCE(60);
       if (lookahead == '\\') SKIP(39);
       if (('\t' <= lookahead && lookahead <= '\r') ||
           lookahead == ' ') SKIP(59);
       END_STATE();
     case 36:
-      if (lookahead == '\n') ADVANCE(122);
-      if (lookahead == '/') ADVANCE(150);
-      if (lookahead == '\\') ADVANCE(145);
+      if (lookahead == '\n') ADVANCE(123);
+      if (lookahead == '/') ADVANCE(151);
+      if (lookahead == '\\') ADVANCE(146);
       if (('\t' <= lookahead && lookahead <= '\r') ||
           lookahead == ' ') SKIP(66);
-      if (lookahead != 0) ADVANCE(152);
+      if (lookahead != 0) ADVANCE(153);
       END_STATE();
     case 37:
       if (lookahead == '\n') SKIP(55);
-      if (lookahead == '"') ADVANCE(286);
-      if (lookahead == '/') ADVANCE(287);
+      if (lookahead == '"') ADVANCE(287);
+      if (lookahead == '/') ADVANCE(288);
       if (lookahead == '\\') ADVANCE(31);
       if (('\t' <= lookahead && lookahead <= '\r') ||
-          lookahead == ' ') ADVANCE(290);
-      if (lookahead != 0) ADVANCE(291);
+          lookahead == ' ') ADVANCE(291);
+      if (lookahead != 0) ADVANCE(292);
       END_STATE();
     case 38:
       if (lookahead == '\n') SKIP(59);
@@ -5722,379 +5747,380 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
     case 41:
       if (lookahead == '\n') SKIP(44);
       if (lookahead == '\r') SKIP(40);
-      if (lookahead == 'U') ADVANCE(115);
-      if (lookahead == 'u') ADVANCE(107);
+      if (lookahead == 'U') ADVANCE(116);
+      if (lookahead == 'u') ADVANCE(108);
       END_STATE();
     case 42:
-      if (lookahead == '\r') ADVANCE(319);
-      if (lookahead == '\\') ADVANCE(313);
-      if (lookahead != 0) ADVANCE(318);
+      if (lookahead == '\r') ADVANCE(323);
+      if (lookahead == '\\') ADVANCE(317);
+      if (lookahead != 0) ADVANCE(322);
       END_STATE();
     case 43:
       ADVANCE_MAP(
-        '!', 187,
-        '"', 286,
+        '!', 188,
+        '"', 287,
         '#', 75,
-        '%', 204,
-        '&', 213,
-        '\'', 277,
-        '(', 185,
-        ')', 127,
-        '*', 200,
-        '+', 195,
-        ',', 126,
-        '-', 190,
-        '.', 253,
-        '/', 202,
-        '0', 259,
-        ':', 237,
-        ';', 226,
-        '<', 220,
-        '=', 236,
-        '>', 216,
-        '?', 238,
-        'L', 298,
-        'U', 300,
-        '[', 233,
+        '%', 205,
+        '&', 214,
+        '\'', 278,
+        '(', 186,
+        ')', 128,
+        '*', 201,
+        '+', 196,
+        ',', 127,
+        '-', 191,
+        '.', 254,
+        '/', 203,
+        '0', 260,
+        ':', 238,
+        ';', 227,
+        '<', 221,
+        '=', 237,
+        '>', 217,
+        '?', 239,
+        'L', 302,
+        'U', 304,
+        '[', 234,
         '\\', 2,
-        ']', 234,
-        '^', 210,
-        'u', 302,
-        '{', 230,
-        '|', 207,
-        '}', 231,
-        '~', 188,
+        ']', 235,
+        '^', 211,
+        'u', 306,
+        '{', 231,
+        '|', 208,
+        '}', 232,
+        '~', 189,
       );
       if (('\t' <= lookahead && lookahead <= '\r') ||
           lookahead == ' ') SKIP(43);
-      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(261);
-      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(310);
+      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262);
+      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314);
       END_STATE();
     case 44:
       ADVANCE_MAP(
-        '!', 187,
-        '"', 286,
+        '!', 188,
+        '"', 287,
         '#', 83,
-        '%', 204,
-        '&', 213,
-        '\'', 277,
-        '(', 185,
-        ')', 127,
-        '*', 200,
-        '+', 195,
-        ',', 126,
-        '-', 190,
-        '.', 253,
-        '/', 202,
-        '0', 259,
-        ':', 237,
-        ';', 226,
-        '<', 220,
-        '=', 236,
-        '>', 216,
-        '?', 238,
-        'L', 298,
-        'U', 300,
-        '[', 232,
+        '%', 205,
+        '&', 214,
+        '\'', 278,
+        '(', 186,
+        ')', 128,
+        '*', 201,
+        '+', 196,
+        ',', 127,
+        '-', 191,
+        '.', 254,
+        '/', 203,
+        '0', 260,
+        ':', 238,
+        ';', 227,
+        '<', 221,
+        '=', 237,
+        '>', 217,
+        '?', 239,
+        'L', 302,
+        'U', 304,
+        '[', 233,
         '\\', 41,
-        ']', 234,
-        '^', 210,
-        'u', 302,
-        '{', 230,
-        '|', 207,
-        '}', 231,
-        '~', 188,
+        ']', 235,
+        '^', 211,
+        'u', 306,
+        '{', 231,
+        '|', 208,
+        '}', 232,
+        '~', 189,
       );
       if (('\t' <= lookahead && lookahead <= '\r') ||
           lookahead == ' ') SKIP(44);
-      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(261);
-      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(310);
+      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262);
+      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314);
       END_STATE();
     case 45:
       ADVANCE_MAP(
-        '!', 186,
-        '"', 286,
+        '!', 187,
+        '"', 287,
         '#', 75,
-        '&', 211,
-        '\'', 277,
-        '(', 185,
-        '*', 199,
-        '+', 196,
-        ',', 126,
-        '-', 191,
+        '&', 212,
+        '\'', 278,
+        '(', 186,
+        '*', 200,
+        '+', 197,
+        ',', 127,
+        '-', 192,
         '.', 96,
         '/', 60,
-        '0', 259,
+        '0', 260,
         ':', 67,
-        ';', 226,
-        'L', 298,
-        'U', 300,
+        ';', 227,
+        'L', 302,
+        'U', 304,
         '[', 73,
         '\\', 6,
         ']', 74,
-        'u', 302,
-        '{', 230,
-        '~', 188,
+        'u', 306,
+        '{', 231,
+        '~', 189,
       );
       if (('\t' <= lookahead && lookahead <= '\r') ||
           lookahead == ' ') SKIP(45);
-      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(261);
-      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(310);
+      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262);
+      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314);
       END_STATE();
     case 46:
       ADVANCE_MAP(
-        '!', 186,
-        '"', 286,
+        '!', 187,
+        '"', 287,
         '#', 79,
-        '&', 211,
-        '\'', 277,
-        '(', 185,
-        ')', 127,
-        '*', 199,
-        '+', 196,
-        ',', 126,
-        '-', 191,
-        '.', 254,
+        '&', 212,
+        '\'', 278,
+        '(', 186,
+        ')', 128,
+        '*', 200,
+        '+', 197,
+        ',', 127,
+        '-', 192,
+        '.', 255,
         '/', 60,
-        '0', 259,
-        ':', 237,
-        ';', 226,
-        '=', 235,
-        'L', 298,
-        'U', 300,
-        '[', 233,
+        '0', 260,
+        ':', 238,
+        ';', 227,
+        '=', 236,
+        'L', 302,
+        'U', 304,
+        '[', 234,
         '\\', 4,
-        ']', 234,
-        'u', 302,
-        '{', 230,
-        '}', 231,
-        '~', 188,
+        ']', 235,
+        'u', 306,
+        '{', 231,
+        '}', 232,
+        '~', 189,
       );
       if (('\t' <= lookahead && lookahead <= '\r') ||
           lookahead == ' ') SKIP(46);
-      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(261);
-      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(310);
+      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262);
+      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314);
       END_STATE();
     case 47:
       ADVANCE_MAP(
-        '!', 186,
-        '"', 286,
+        '!', 187,
+        '"', 287,
         '#', 77,
-        '&', 211,
-        '\'', 277,
-        '(', 185,
-        '*', 199,
-        '+', 196,
-        '-', 191,
+        '&', 212,
+        '\'', 278,
+        '(', 186,
+        '*', 200,
+        '+', 197,
+        '-', 192,
         '.', 96,
         '/', 60,
-        '0', 259,
-        ';', 226,
-        'L', 298,
-        'U', 300,
+        '0', 260,
+        ';', 227,
+        'L', 302,
+        'U', 304,
         '[', 73,
         '\\', 8,
-        'u', 302,
-        '{', 230,
-        '~', 188,
+        'u', 306,
+        '{', 231,
+        '~', 189,
       );
       if (('\t' <= lookahead && lookahead <= '\r') ||
           lookahead == ' ') SKIP(47);
-      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(261);
-      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(310);
+      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262);
+      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314);
       END_STATE();
     case 48:
       ADVANCE_MAP(
-        '!', 186,
-        '\'', 277,
-        '(', 185,
-        ')', 127,
-        '+', 198,
-        '-', 193,
+        '!', 187,
+        '\'', 278,
+        '(', 186,
+        ')', 128,
+        '+', 199,
+        '-', 194,
         '.', 96,
         '/', 60,
-        '0', 259,
-        'L', 306,
-        'U', 307,
-        '\\', 25,
-        'u', 308,
-        '~', 188,
+        '0', 260,
+        'L', 310,
+        'U', 311,
+        '\\', 22,
+        'u', 312,
+        '~', 189,
       );
       if (('\t' <= lookahead && lookahead <= '\r') ||
           lookahead == ' ') SKIP(48);
-      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(261);
-      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(310);
+      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262);
+      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314);
       END_STATE();
     case 49:
       ADVANCE_MAP(
         '!', 68,
-        '"', 286,
+        '"', 287,
         '#', 83,
-        '%', 204,
-        '&', 213,
-        '(', 185,
-        ')', 127,
-        '*', 200,
-        '+', 197,
-        ',', 126,
-        '-', 192,
-        '.', 252,
-        '/', 202,
-        ':', 237,
-        ';', 226,
-        '<', 220,
-        '=', 236,
-        '>', 216,
-        '?', 238,
-        'L', 299,
-        'U', 301,
-        '[', 233,
+        '%', 205,
+        '&', 214,
+        '(', 186,
+        ')', 128,
+        '*', 201,
+        '+', 198,
+        ',', 127,
+        '-', 193,
+        '.', 253,
+        '/', 203,
+        ':', 238,
+        ';', 227,
+        '<', 221,
+        '=', 237,
+        '>', 217,
+        '?', 239,
+        'L', 303,
+        'U', 305,
+        '[', 234,
         '\\', 10,
-        ']', 234,
-        '^', 210,
-        'u', 303,
-        '|', 207,
-        '}', 231,
+        ']', 235,
+        '^', 211,
+        'u', 307,
+        '|', 208,
+        '}', 232,
       );
       if (('\t' <= lookahead && lookahead <= '\r') ||
           lookahead == ' ') SKIP(49);
-      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(310);
+      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314);
       END_STATE();
     case 50:
       ADVANCE_MAP(
         '!', 68,
         '#', 83,
-        '%', 204,
-        '&', 213,
-        '(', 185,
-        ')', 127,
-        '*', 200,
-        '+', 197,
-        ',', 126,
-        '-', 192,
-        '.', 252,
-        '/', 202,
-        ':', 237,
-        ';', 226,
-        '<', 220,
-        '=', 236,
-        '>', 216,
-        '?', 238,
-        '[', 233,
+        '%', 205,
+        '&', 214,
+        '(', 186,
+        ')', 128,
+        '*', 201,
+        '+', 198,
+        ',', 127,
+        '-', 193,
+        '.', 253,
+        '/', 203,
+        ':', 238,
+        ';', 227,
+        '<', 221,
+        '=', 237,
+        '>', 217,
+        '?', 239,
+        '[', 234,
         '\\', 18,
-        ']', 234,
-        '^', 210,
-        '{', 230,
-        '|', 207,
-        '}', 231,
+        ']', 235,
+        '^', 211,
+        '{', 231,
+        '|', 208,
+        '}', 232,
       );
       if (('\t' <= lookahead && lookahead <= '\r') ||
           lookahead == ' ') SKIP(50);
-      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(310);
+      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314);
       END_STATE();
     case 51:
       ADVANCE_MAP(
         '!', 68,
         '#', 83,
-        '%', 204,
-        '&', 213,
-        '(', 185,
-        ')', 127,
-        '*', 200,
-        '+', 197,
-        ',', 126,
-        '-', 192,
-        '.', 251,
-        '/', 202,
-        ':', 237,
-        ';', 226,
-        '<', 220,
-        '=', 236,
-        '>', 216,
-        '?', 238,
-        '[', 232,
+        '%', 205,
+        '&', 214,
+        '(', 186,
+        ')', 128,
+        '*', 201,
+        '+', 198,
+        ',', 127,
+        '-', 193,
+        '.', 252,
+        '/', 203,
+        ':', 238,
+        ';', 227,
+        '<', 221,
+        '=', 237,
+        '>', 217,
+        '?', 239,
+        '[', 233,
         '\\', 20,
         ']', 74,
-        '^', 210,
-        '|', 207,
-        '}', 231,
+        '^', 211,
+        '|', 208,
+        '}', 232,
       );
       if (('\t' <= lookahead && lookahead <= '\r') ||
           lookahead == ' ') SKIP(51);
-      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(310);
+      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314);
       END_STATE();
     case 52:
       ADVANCE_MAP(
         '!', 68,
-        '#', 76,
+        '#', 80,
         '%', 204,
         '&', 213,
-        '(', 185,
-        ')', 127,
+        '(', 186,
+        ')', 128,
         '*', 200,
-        '+', 197,
-        ',', 126,
-        '-', 192,
-        '.', 252,
+        '+', 195,
+        ',', 127,
+        '-', 190,
         '/', 202,
-        ':', 237,
-        ';', 226,
-        '<', 220,
-        '=', 236,
-        '>', 216,
-        '?', 238,
-        '[', 233,
-        '\\', 12,
+        ';', 227,
+        '<', 222,
+        '=', 237,
+        '>', 218,
+        '[', 234,
+        '\\', 14,
         '^', 210,
-        '{', 230,
-        '|', 207,
-        '}', 231,
+        '{', 231,
+        '|', 209,
+        '}', 232,
       );
       if (('\t' <= lookahead && lookahead <= '\r') ||
           lookahead == ' ') SKIP(52);
-      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(310);
+      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314);
       END_STATE();
     case 53:
       ADVANCE_MAP(
         '!', 68,
-        '#', 78,
-        '%', 203,
-        '&', 212,
-        '(', 185,
-        ')', 127,
-        '*', 199,
-        '+', 194,
-        ',', 126,
-        '-', 189,
-        '/', 201,
-        ';', 226,
+        '#', 76,
+        '%', 205,
+        '&', 214,
+        '(', 186,
+        ')', 128,
+        '*', 201,
+        '+', 198,
+        ',', 127,
+        '-', 193,
+        '.', 253,
+        '/', 203,
+        ':', 238,
+        ';', 227,
         '<', 221,
-        '=', 236,
+        '=', 237,
         '>', 217,
-        '[', 233,
-        '\\', 14,
-        '^', 209,
-        '{', 230,
+        '?', 239,
+        '[', 234,
+        '\\', 12,
+        '^', 211,
+        '{', 231,
         '|', 208,
+        '}', 232,
       );
       if (('\t' <= lookahead && lookahead <= '\r') ||
           lookahead == ' ') SKIP(53);
-      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(310);
+      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314);
       END_STATE();
     case 54:
-      if (lookahead == '"') ADVANCE(286);
+      if (lookahead == '"') ADVANCE(287);
       if (lookahead == '/') ADVANCE(60);
       if (lookahead == '<') ADVANCE(70);
-      if (lookahead == 'L') ADVANCE(299);
-      if (lookahead == 'U') ADVANCE(301);
+      if (lookahead == 'L') ADVANCE(303);
+      if (lookahead == 'U') ADVANCE(305);
       if (lookahead == '\\') ADVANCE(29);
-      if (lookahead == 'u') ADVANCE(303);
+      if (lookahead == 'u') ADVANCE(307);
       if (('\t' <= lookahead && lookahead <= '\r') ||
           lookahead == ' ') SKIP(54);
-      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(310);
+      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314);
       END_STATE();
     case 55:
-      if (lookahead == '"') ADVANCE(286);
+      if (lookahead == '"') ADVANCE(287);
       if (lookahead == '/') ADVANCE(60);
       if (lookahead == '\\') ADVANCE(31);
       if (('\t' <= lookahead && lookahead <= '\r') ||
@@ -6104,30 +6130,29 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
       if (lookahead == '#') ADVANCE(93);
       if (lookahead == '/') ADVANCE(60);
       if (lookahead == '\\') ADVANCE(27);
-      if (lookahead == '}') ADVANCE(231);
+      if (lookahead == '}') ADVANCE(232);
       if (('\t' <= lookahead && lookahead <= '\r') ||
           lookahead == ' ') SKIP(56);
-      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(310);
+      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314);
       END_STATE();
     case 57:
-      if (lookahead == '#') ADVANCE(80);
+      if (lookahead == '#') ADVANCE(78);
       if (lookahead == '/') ADVANCE(60);
       if (lookahead == '[') ADVANCE(73);
       if (lookahead == '\\') ADVANCE(16);
-      if (lookahead == '}') ADVANCE(231);
       if (('\t' <= lookahead && lookahead <= '\r') ||
           lookahead == ' ') SKIP(57);
-      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(310);
+      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314);
       END_STATE();
     case 58:
-      if (lookahead == '\'') ADVANCE(277);
+      if (lookahead == '\'') ADVANCE(278);
       if (lookahead == '/') ADVANCE(60);
       if (lookahead == '\\') ADVANCE(31);
       if (('\t' <= lookahead && lookahead <= '\r') ||
           lookahead == ' ') SKIP(58);
       END_STATE();
     case 59:
-      if (lookahead == '(') ADVANCE(185);
+      if (lookahead == '(') ADVANCE(186);
       if (lookahead == '/') ADVANCE(60);
       if (lookahead == '\\') SKIP(39);
       if (('\t' <= lookahead && lookahead <= '\r') ||
@@ -6135,11 +6160,11 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
       END_STATE();
     case 60:
       if (lookahead == '*') ADVANCE(62);
-      if (lookahead == '/') ADVANCE(318);
+      if (lookahead == '/') ADVANCE(322);
       END_STATE();
     case 61:
       if (lookahead == '*') ADVANCE(61);
-      if (lookahead == '/') ADVANCE(311);
+      if (lookahead == '/') ADVANCE(315);
       if (lookahead != 0) ADVANCE(62);
       END_STATE();
     case 62:
@@ -6148,113 +6173,113 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
       END_STATE();
     case 63:
       if (lookahead == '*') ADVANCE(61);
-      if (lookahead != 0) ADVANCE(143);
+      if (lookahead != 0) ADVANCE(144);
       END_STATE();
     case 64:
       if (lookahead == '.') ADVANCE(96);
-      if (lookahead == '0') ADVANCE(257);
-      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(258);
+      if (lookahead == '0') ADVANCE(258);
+      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(259);
       if (('A' <= lookahead && lookahead <= 'F') ||
-          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(267);
+          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(268);
       END_STATE();
     case 65:
-      if (lookahead == '.') ADVANCE(125);
+      if (lookahead == '.') ADVANCE(126);
       END_STATE();
     case 66:
-      if (lookahead == '/') ADVANCE(150);
-      if (lookahead == '\\') ADVANCE(145);
+      if (lookahead == '/') ADVANCE(151);
+      if (lookahead == '\\') ADVANCE(146);
       if (('\t' <= lookahead && lookahead <= '\r') ||
           lookahead == ' ') SKIP(66);
-      if (lookahead != 0) ADVANCE(152);
+      if (lookahead != 0) ADVANCE(153);
       END_STATE();
     case 67:
-      if (lookahead == ':') ADVANCE(227);
+      if (lookahead == ':') ADVANCE(228);
       END_STATE();
     case 68:
-      if (lookahead == '=') ADVANCE(215);
+      if (lookahead == '=') ADVANCE(216);
       END_STATE();
     case 69:
-      if (lookahead == '=') ADVANCE(214);
+      if (lookahead == '=') ADVANCE(215);
       END_STATE();
     case 70:
-      if (lookahead == '>') ADVANCE(296);
+      if (lookahead == '>') ADVANCE(300);
       if (lookahead == '\\') ADVANCE(71);
       if (lookahead != 0 &&
           lookahead != '\n') ADVANCE(70);
       END_STATE();
     case 71:
-      if (lookahead == '>') ADVANCE(297);
+      if (lookahead == '>') ADVANCE(301);
       if (lookahead == '\\') ADVANCE(71);
       if (lookahead != 0 &&
           lookahead != '\n') ADVANCE(70);
       END_STATE();
     case 72:
-      if (lookahead == 'U') ADVANCE(115);
-      if (lookahead == 'u') ADVANCE(107);
+      if (lookahead == 'U') ADVANCE(116);
+      if (lookahead == 'u') ADVANCE(108);
       END_STATE();
     case 73:
-      if (lookahead == '[') ADVANCE(228);
+      if (lookahead == '[') ADVANCE(229);
       END_STATE();
     case 74:
-      if (lookahead == ']') ADVANCE(229);
+      if (lookahead == ']') ADVANCE(230);
       END_STATE();
     case 75:
-      if (lookahead == 'd') ADVANCE(159);
-      if (lookahead == 'e') ADVANCE(179);
-      if (lookahead == 'i') ADVANCE(167);
+      if (lookahead == 'd') ADVANCE(160);
+      if (lookahead == 'e') ADVANCE(180);
+      if (lookahead == 'i') ADVANCE(168);
       if (lookahead == '\t' ||
           lookahead == ' ') ADVANCE(75);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 76:
-      if (lookahead == 'd') ADVANCE(159);
-      if (lookahead == 'e') ADVANCE(179);
-      if (lookahead == 'i') ADVANCE(168);
+      if (lookahead == 'd') ADVANCE(160);
+      if (lookahead == 'e') ADVANCE(180);
+      if (lookahead == 'i') ADVANCE(169);
       if (lookahead == '\t' ||
           lookahead == ' ') ADVANCE(76);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 77:
-      if (lookahead == 'd') ADVANCE(159);
-      if (lookahead == 'e') ADVANCE(181);
-      if (lookahead == 'i') ADVANCE(167);
+      if (lookahead == 'd') ADVANCE(160);
+      if (lookahead == 'e') ADVANCE(182);
+      if (lookahead == 'i') ADVANCE(168);
       if (lookahead == '\t' ||
           lookahead == ' ') ADVANCE(77);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 78:
-      if (lookahead == 'd') ADVANCE(159);
-      if (lookahead == 'e') ADVANCE(181);
-      if (lookahead == 'i') ADVANCE(168);
+      if (lookahead == 'd') ADVANCE(160);
+      if (lookahead == 'e') ADVANCE(182);
+      if (lookahead == 'i') ADVANCE(169);
       if (lookahead == '\t' ||
           lookahead == ' ') ADVANCE(78);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 79:
-      if (lookahead == 'd') ADVANCE(159);
-      if (lookahead == 'i') ADVANCE(167);
+      if (lookahead == 'd') ADVANCE(160);
+      if (lookahead == 'i') ADVANCE(168);
       if (lookahead == '\t' ||
           lookahead == ' ') ADVANCE(79);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 80:
-      if (lookahead == 'd') ADVANCE(159);
-      if (lookahead == 'i') ADVANCE(168);
+      if (lookahead == 'd') ADVANCE(160);
+      if (lookahead == 'i') ADVANCE(169);
       if (lookahead == '\t' ||
           lookahead == ' ') ADVANCE(80);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 81:
       if (lookahead == 'd') ADVANCE(92);
@@ -6268,7 +6293,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
           lookahead == ' ') ADVANCE(83);
       END_STATE();
     case 84:
-      if (lookahead == 'e') ADVANCE(134);
+      if (lookahead == 'e') ADVANCE(135);
       END_STATE();
     case 85:
       if (lookahead == 'e') ADVANCE(89);
@@ -6277,16 +6302,16 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
       if (lookahead == 'e') ADVANCE(90);
       END_STATE();
     case 87:
-      if (lookahead == 'f') ADVANCE(136);
+      if (lookahead == 'f') ADVANCE(137);
       END_STATE();
     case 88:
-      if (lookahead == 'f') ADVANCE(130);
+      if (lookahead == 'f') ADVANCE(131);
       END_STATE();
     case 89:
-      if (lookahead == 'f') ADVANCE(138);
+      if (lookahead == 'f') ADVANCE(139);
       END_STATE();
     case 90:
-      if (lookahead == 'f') ADVANCE(140);
+      if (lookahead == 'f') ADVANCE(141);
       END_STATE();
     case 91:
       if (lookahead == 'i') ADVANCE(87);
@@ -6296,67 +6321,67 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
       if (lookahead == 'i') ADVANCE(88);
       END_STATE();
     case 93:
-      if (lookahead == 'i') ADVANCE(168);
+      if (lookahead == 'i') ADVANCE(169);
       if (lookahead == '\t' ||
           lookahead == ' ') ADVANCE(93);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 94:
       if (lookahead == 'l') ADVANCE(91);
       if (lookahead == 'n') ADVANCE(81);
       END_STATE();
     case 95:
-      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(261);
+      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(262);
       END_STATE();
     case 96:
-      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(256);
+      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(257);
       END_STATE();
     case 97:
-      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(258);
+      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(259);
       if (('A' <= lookahead && lookahead <= 'F') ||
-          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(267);
+          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(268);
       END_STATE();
     case 98:
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'F') ||
-          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(310);
+          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(314);
       END_STATE();
     case 99:
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'F') ||
-          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(264);
+          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(265);
       END_STATE();
     case 100:
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'F') ||
-          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(267);
+          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(268);
       END_STATE();
     case 101:
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'F') ||
-          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(262);
+          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(263);
       END_STATE();
     case 102:
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'F') ||
-          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(292);
+          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(293);
       END_STATE();
     case 103:
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'F') ||
-          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(98);
+          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(299);
       END_STATE();
     case 104:
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'F') ||
-          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(102);
+          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(98);
       END_STATE();
     case 105:
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'F') ||
-          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(103);
+          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(102);
       END_STATE();
     case 106:
       if (('0' <= lookahead && lookahead <= '9') ||
@@ -6414,366 +6439,363 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
           ('a' <= lookahead && lookahead <= 'f')) ADVANCE(114);
       END_STATE();
     case 117:
-      if (lookahead != 0 &&
-          lookahead != '*') ADVANCE(152);
+      if (('0' <= lookahead && lookahead <= '9') ||
+          ('A' <= lookahead && lookahead <= 'F') ||
+          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(115);
       END_STATE();
     case 118:
-      if (eof) ADVANCE(120);
+      if (lookahead != 0 &&
+          lookahead != '*') ADVANCE(153);
+      END_STATE();
+    case 119:
+      if (eof) ADVANCE(121);
       ADVANCE_MAP(
-        '!', 187,
-        '"', 286,
+        '!', 188,
+        '"', 287,
         '#', 75,
-        '%', 204,
-        '&', 213,
-        '\'', 277,
-        '(', 185,
-        ')', 127,
-        '*', 200,
-        '+', 195,
-        ',', 126,
-        '-', 190,
-        '.', 253,
-        '/', 202,
-        '0', 259,
-        ':', 237,
-        ';', 226,
-        '<', 220,
-        '=', 236,
-        '>', 216,
-        '?', 238,
-        'L', 298,
-        'U', 300,
-        '[', 233,
+        '%', 205,
+        '&', 214,
+        '\'', 278,
+        '(', 186,
+        ')', 128,
+        '*', 201,
+        '+', 196,
+        ',', 127,
+        '-', 191,
+        '.', 254,
+        '/', 203,
+        '0', 260,
+        ':', 238,
+        ';', 227,
+        '<', 221,
+        '=', 237,
+        '>', 217,
+        '?', 239,
+        'L', 302,
+        'U', 304,
+        '[', 234,
         '\\', 2,
-        ']', 234,
-        '^', 210,
-        'u', 302,
-        '{', 230,
-        '|', 207,
-        '}', 231,
-        '~', 188,
+        ']', 235,
+        '^', 211,
+        'u', 306,
+        '{', 231,
+        '|', 208,
+        '}', 232,
+        '~', 189,
       );
       if (('\t' <= lookahead && lookahead <= '\r') ||
-          lookahead == ' ') SKIP(118);
-      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(261);
-      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(310);
+          lookahead == ' ') SKIP(119);
+      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262);
+      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314);
       END_STATE();
-    case 119:
-      if (eof) ADVANCE(120);
+    case 120:
+      if (eof) ADVANCE(121);
       ADVANCE_MAP(
-        '!', 186,
-        '"', 286,
+        '!', 187,
+        '"', 287,
         '#', 79,
-        '&', 211,
-        '\'', 277,
-        '(', 185,
-        ')', 127,
-        '*', 199,
-        '+', 196,
-        ',', 126,
-        '-', 191,
-        '.', 254,
+        '&', 212,
+        '\'', 278,
+        '(', 186,
+        ')', 128,
+        '*', 200,
+        '+', 197,
+        ',', 127,
+        '-', 192,
+        '.', 255,
         '/', 60,
-        '0', 259,
-        ':', 237,
-        ';', 226,
-        '=', 235,
-        'L', 298,
-        'U', 300,
-        '[', 233,
+        '0', 260,
+        ':', 238,
+        ';', 227,
+        '=', 236,
+        'L', 302,
+        'U', 304,
+        '[', 234,
         '\\', 4,
-        ']', 234,
-        'u', 302,
-        '{', 230,
-        '}', 231,
-        '~', 188,
+        ']', 235,
+        'u', 306,
+        '{', 231,
+        '}', 232,
+        '~', 189,
       );
       if (('\t' <= lookahead && lookahead <= '\r') ||
-          lookahead == ' ') SKIP(119);
-      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(261);
-      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(310);
+          lookahead == ' ') SKIP(120);
+      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262);
+      if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314);
       END_STATE();
-    case 120:
+    case 121:
       ACCEPT_TOKEN(ts_builtin_sym_end);
       END_STATE();
-    case 121:
+    case 122:
       ACCEPT_TOKEN(aux_sym_preproc_include_token1);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
-    case 122:
+    case 123:
       ACCEPT_TOKEN(aux_sym_preproc_include_token2);
       END_STATE();
-    case 123:
+    case 124:
       ACCEPT_TOKEN(aux_sym_preproc_def_token1);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
-    case 124:
+    case 125:
       ACCEPT_TOKEN(anon_sym_LPAREN);
       END_STATE();
-    case 125:
+    case 126:
       ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT);
       END_STATE();
-    case 126:
+    case 127:
       ACCEPT_TOKEN(anon_sym_COMMA);
       END_STATE();
-    case 127:
+    case 128:
       ACCEPT_TOKEN(anon_sym_RPAREN);
       END_STATE();
-    case 128:
+    case 129:
       ACCEPT_TOKEN(aux_sym_preproc_if_token1);
-      if (lookahead == 'd') ADVANCE(163);
-      if (lookahead == 'n') ADVANCE(157);
+      if (lookahead == 'd') ADVANCE(164);
+      if (lookahead == 'n') ADVANCE(158);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
-    case 129:
+    case 130:
       ACCEPT_TOKEN(anon_sym_LF);
-      if (lookahead == '\n') ADVANCE(129);
+      if (lookahead == '\n') ADVANCE(130);
       END_STATE();
-    case 130:
+    case 131:
       ACCEPT_TOKEN(aux_sym_preproc_if_token2);
       END_STATE();
-    case 131:
+    case 132:
       ACCEPT_TOKEN(aux_sym_preproc_if_token2);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
-    case 132:
+    case 133:
       ACCEPT_TOKEN(aux_sym_preproc_ifdef_token1);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
-    case 133:
+    case 134:
       ACCEPT_TOKEN(aux_sym_preproc_ifdef_token2);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
-    case 134:
+    case 135:
       ACCEPT_TOKEN(aux_sym_preproc_else_token1);
       END_STATE();
-    case 135:
+    case 136:
       ACCEPT_TOKEN(aux_sym_preproc_else_token1);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
-    case 136:
+    case 137:
       ACCEPT_TOKEN(aux_sym_preproc_elif_token1);
       if (lookahead == 'd') ADVANCE(85);
       if (lookahead == 'n') ADVANCE(82);
       END_STATE();
-    case 137:
+    case 138:
       ACCEPT_TOKEN(aux_sym_preproc_elif_token1);
-      if (lookahead == 'd') ADVANCE(165);
-      if (lookahead == 'n') ADVANCE(158);
+      if (lookahead == 'd') ADVANCE(166);
+      if (lookahead == 'n') ADVANCE(159);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
-    case 138:
+    case 139:
       ACCEPT_TOKEN(aux_sym_preproc_elifdef_token1);
       END_STATE();
-    case 139:
+    case 140:
       ACCEPT_TOKEN(aux_sym_preproc_elifdef_token1);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
-    case 140:
+    case 141:
       ACCEPT_TOKEN(aux_sym_preproc_elifdef_token2);
       END_STATE();
-    case 141:
+    case 142:
       ACCEPT_TOKEN(aux_sym_preproc_elifdef_token2);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
-      END_STATE();
-    case 142:
-      ACCEPT_TOKEN(sym_preproc_arg);
-      if (lookahead == '\n') ADVANCE(62);
-      if (lookahead == '*') ADVANCE(142);
-      if (lookahead == '/') ADVANCE(311);
-      if (lookahead == '\\') ADVANCE(148);
-      if (lookahead != 0) ADVANCE(143);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 143:
       ACCEPT_TOKEN(sym_preproc_arg);
       if (lookahead == '\n') ADVANCE(62);
-      if (lookahead == '*') ADVANCE(142);
-      if (lookahead == '/') ADVANCE(63);
-      if (lookahead == '\\') ADVANCE(148);
-      if (lookahead != 0) ADVANCE(143);
+      if (lookahead == '*') ADVANCE(143);
+      if (lookahead == '/') ADVANCE(315);
+      if (lookahead == '\\') ADVANCE(149);
+      if (lookahead != 0) ADVANCE(144);
       END_STATE();
     case 144:
       ACCEPT_TOKEN(sym_preproc_arg);
-      if (lookahead == '\n') ADVANCE(318);
-      if (lookahead == '\r') ADVANCE(312);
-      if (lookahead == '/') ADVANCE(315);
-      if (lookahead == '\\') ADVANCE(314);
-      if (lookahead != 0) ADVANCE(316);
+      if (lookahead == '\n') ADVANCE(62);
+      if (lookahead == '*') ADVANCE(143);
+      if (lookahead == '/') ADVANCE(63);
+      if (lookahead == '\\') ADVANCE(149);
+      if (lookahead != 0) ADVANCE(144);
       END_STATE();
     case 145:
       ACCEPT_TOKEN(sym_preproc_arg);
-      if (lookahead == '\n') SKIP(66);
-      if (lookahead == '\r') ADVANCE(146);
-      if (lookahead == '/') ADVANCE(117);
-      if (lookahead == '\\') ADVANCE(147);
-      if (lookahead != 0) ADVANCE(152);
+      if (lookahead == '\n') ADVANCE(322);
+      if (lookahead == '\r') ADVANCE(316);
+      if (lookahead == '/') ADVANCE(319);
+      if (lookahead == '\\') ADVANCE(318);
+      if (lookahead != 0) ADVANCE(320);
       END_STATE();
     case 146:
       ACCEPT_TOKEN(sym_preproc_arg);
       if (lookahead == '\n') SKIP(66);
-      if (lookahead == '/') ADVANCE(117);
-      if (lookahead == '\\') ADVANCE(147);
-      if (lookahead != 0) ADVANCE(152);
+      if (lookahead == '\r') ADVANCE(147);
+      if (lookahead == '/') ADVANCE(118);
+      if (lookahead == '\\') ADVANCE(148);
+      if (lookahead != 0) ADVANCE(153);
       END_STATE();
     case 147:
       ACCEPT_TOKEN(sym_preproc_arg);
-      if (lookahead == '\r') ADVANCE(153);
-      if (lookahead == '/') ADVANCE(117);
-      if (lookahead == '\\') ADVANCE(147);
-      if (lookahead != 0) ADVANCE(152);
+      if (lookahead == '\n') SKIP(66);
+      if (lookahead == '/') ADVANCE(118);
+      if (lookahead == '\\') ADVANCE(148);
+      if (lookahead != 0) ADVANCE(153);
       END_STATE();
     case 148:
       ACCEPT_TOKEN(sym_preproc_arg);
-      if (lookahead == '\r') ADVANCE(151);
-      if (lookahead == '*') ADVANCE(142);
-      if (lookahead == '/') ADVANCE(63);
+      if (lookahead == '\r') ADVANCE(154);
+      if (lookahead == '/') ADVANCE(118);
       if (lookahead == '\\') ADVANCE(148);
-      if (lookahead != 0) ADVANCE(143);
+      if (lookahead != 0) ADVANCE(153);
       END_STATE();
     case 149:
       ACCEPT_TOKEN(sym_preproc_arg);
-      if (lookahead == '\r') ADVANCE(317);
-      if (lookahead == '/') ADVANCE(315);
-      if (lookahead == '\\') ADVANCE(314);
-      if (lookahead != 0) ADVANCE(316);
+      if (lookahead == '\r') ADVANCE(152);
+      if (lookahead == '*') ADVANCE(143);
+      if (lookahead == '/') ADVANCE(63);
+      if (lookahead == '\\') ADVANCE(149);
+      if (lookahead != 0) ADVANCE(144);
       END_STATE();
     case 150:
       ACCEPT_TOKEN(sym_preproc_arg);
-      if (lookahead == '*') ADVANCE(143);
-      if (lookahead == '/') ADVANCE(315);
-      if (lookahead == '\\') ADVANCE(147);
-      if (lookahead != 0 &&
-          lookahead != '\n') ADVANCE(152);
+      if (lookahead == '\r') ADVANCE(321);
+      if (lookahead == '/') ADVANCE(319);
+      if (lookahead == '\\') ADVANCE(318);
+      if (lookahead != 0) ADVANCE(320);
       END_STATE();
     case 151:
       ACCEPT_TOKEN(sym_preproc_arg);
-      if (lookahead == '*') ADVANCE(142);
-      if (lookahead == '/') ADVANCE(63);
+      if (lookahead == '*') ADVANCE(144);
+      if (lookahead == '/') ADVANCE(319);
       if (lookahead == '\\') ADVANCE(148);
-      if (lookahead != 0) ADVANCE(143);
+      if (lookahead != 0 &&
+          lookahead != '\n') ADVANCE(153);
       END_STATE();
     case 152:
       ACCEPT_TOKEN(sym_preproc_arg);
-      if (lookahead == '/') ADVANCE(117);
-      if (lookahead == '\\') ADVANCE(147);
-      if (lookahead != 0 &&
-          lookahead != '\n') ADVANCE(152);
+      if (lookahead == '*') ADVANCE(143);
+      if (lookahead == '/') ADVANCE(63);
+      if (lookahead == '\\') ADVANCE(149);
+      if (lookahead != 0) ADVANCE(144);
       END_STATE();
     case 153:
       ACCEPT_TOKEN(sym_preproc_arg);
-      if (lookahead == '/') ADVANCE(117);
-      if (lookahead == '\\') ADVANCE(147);
-      if (lookahead != 0) ADVANCE(152);
+      if (lookahead == '/') ADVANCE(118);
+      if (lookahead == '\\') ADVANCE(148);
+      if (lookahead != 0 &&
+          lookahead != '\n') ADVANCE(153);
       END_STATE();
     case 154:
-      ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'c') ADVANCE(180);
-      if (('0' <= lookahead && lookahead <= '9') ||
-          ('A' <= lookahead && lookahead <= 'Z') ||
-          lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+      ACCEPT_TOKEN(sym_preproc_arg);
+      if (lookahead == '/') ADVANCE(118);
+      if (lookahead == '\\') ADVANCE(148);
+      if (lookahead != 0) ADVANCE(153);
       END_STATE();
     case 155:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'd') ADVANCE(178);
+      if (lookahead == 'c') ADVANCE(181);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 156:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'd') ADVANCE(162);
+      if (lookahead == 'd') ADVANCE(179);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 157:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'd') ADVANCE(164);
+      if (lookahead == 'd') ADVANCE(163);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 158:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'd') ADVANCE(166);
+      if (lookahead == 'd') ADVANCE(165);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 159:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'e') ADVANCE(169);
+      if (lookahead == 'd') ADVANCE(167);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 160:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'e') ADVANCE(135);
+      if (lookahead == 'e') ADVANCE(170);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 161:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'e') ADVANCE(123);
+      if (lookahead == 'e') ADVANCE(136);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 162:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'e') ADVANCE(121);
+      if (lookahead == 'e') ADVANCE(124);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 163:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'e') ADVANCE(172);
+      if (lookahead == 'e') ADVANCE(122);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 164:
       ACCEPT_TOKEN(sym_preproc_directive);
@@ -6781,7 +6803,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 165:
       ACCEPT_TOKEN(sym_preproc_directive);
@@ -6789,7 +6811,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 166:
       ACCEPT_TOKEN(sym_preproc_directive);
@@ -6797,48 +6819,48 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 167:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'f') ADVANCE(128);
-      if (lookahead == 'n') ADVANCE(154);
+      if (lookahead == 'e') ADVANCE(176);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 168:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'f') ADVANCE(128);
+      if (lookahead == 'f') ADVANCE(129);
+      if (lookahead == 'n') ADVANCE(155);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 169:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'f') ADVANCE(176);
+      if (lookahead == 'f') ADVANCE(129);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 170:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'f') ADVANCE(137);
+      if (lookahead == 'f') ADVANCE(177);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 171:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'f') ADVANCE(131);
+      if (lookahead == 'f') ADVANCE(138);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 172:
       ACCEPT_TOKEN(sym_preproc_directive);
@@ -6846,7 +6868,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 173:
       ACCEPT_TOKEN(sym_preproc_directive);
@@ -6854,990 +6876,1016 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 174:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'f') ADVANCE(139);
+      if (lookahead == 'f') ADVANCE(134);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 175:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'f') ADVANCE(141);
+      if (lookahead == 'f') ADVANCE(140);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 176:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'i') ADVANCE(182);
+      if (lookahead == 'f') ADVANCE(142);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 177:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'i') ADVANCE(170);
-      if (lookahead == 's') ADVANCE(160);
+      if (lookahead == 'i') ADVANCE(183);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 178:
       ACCEPT_TOKEN(sym_preproc_directive);
       if (lookahead == 'i') ADVANCE(171);
+      if (lookahead == 's') ADVANCE(161);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 179:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'l') ADVANCE(177);
-      if (lookahead == 'n') ADVANCE(155);
+      if (lookahead == 'i') ADVANCE(172);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 180:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'l') ADVANCE(183);
+      if (lookahead == 'l') ADVANCE(178);
+      if (lookahead == 'n') ADVANCE(156);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 181:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'n') ADVANCE(155);
+      if (lookahead == 'l') ADVANCE(184);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 182:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'n') ADVANCE(161);
+      if (lookahead == 'n') ADVANCE(156);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 183:
       ACCEPT_TOKEN(sym_preproc_directive);
-      if (lookahead == 'u') ADVANCE(156);
+      if (lookahead == 'n') ADVANCE(162);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 184:
       ACCEPT_TOKEN(sym_preproc_directive);
+      if (lookahead == 'u') ADVANCE(157);
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'Z') ||
           lookahead == '_' ||
-          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(184);
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 185:
-      ACCEPT_TOKEN(anon_sym_LPAREN2);
+      ACCEPT_TOKEN(sym_preproc_directive);
+      if (('0' <= lookahead && lookahead <= '9') ||
+          ('A' <= lookahead && lookahead <= 'Z') ||
+          lookahead == '_' ||
+          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185);
       END_STATE();
     case 186:
-      ACCEPT_TOKEN(anon_sym_BANG);
+      ACCEPT_TOKEN(anon_sym_LPAREN2);
       END_STATE();
     case 187:
       ACCEPT_TOKEN(anon_sym_BANG);
-      if (lookahead == '=') ADVANCE(215);
       END_STATE();
     case 188:
-      ACCEPT_TOKEN(anon_sym_TILDE);
+      ACCEPT_TOKEN(anon_sym_BANG);
+      if (lookahead == '=') ADVANCE(216);
       END_STATE();
     case 189:
-      ACCEPT_TOKEN(anon_sym_DASH);
+      ACCEPT_TOKEN(anon_sym_TILDE);
       END_STATE();
     case 190:
       ACCEPT_TOKEN(anon_sym_DASH);
-      if (lookahead == '-') ADVANCE(249);
-      if (lookahead == '.') ADVANCE(96);
-      if (lookahead == '0') ADVANCE(259);
-      if (lookahead == '=') ADVANCE(243);
-      if (lookahead == '>') ADVANCE(255);
-      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(261);
       END_STATE();
     case 191:
       ACCEPT_TOKEN(anon_sym_DASH);
-      if (lookahead == '-') ADVANCE(249);
+      if (lookahead == '-') ADVANCE(250);
       if (lookahead == '.') ADVANCE(96);
-      if (lookahead == '0') ADVANCE(259);
-      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(261);
+      if (lookahead == '0') ADVANCE(260);
+      if (lookahead == '=') ADVANCE(244);
+      if (lookahead == '>') ADVANCE(256);
+      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262);
       END_STATE();
     case 192:
       ACCEPT_TOKEN(anon_sym_DASH);
-      if (lookahead == '-') ADVANCE(249);
-      if (lookahead == '=') ADVANCE(243);
-      if (lookahead == '>') ADVANCE(255);
+      if (lookahead == '-') ADVANCE(250);
+      if (lookahead == '.') ADVANCE(96);
+      if (lookahead == '0') ADVANCE(260);
+      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262);
       END_STATE();
     case 193:
       ACCEPT_TOKEN(anon_sym_DASH);
-      if (lookahead == '.') ADVANCE(96);
-      if (lookahead == '0') ADVANCE(259);
-      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(261);
+      if (lookahead == '-') ADVANCE(250);
+      if (lookahead == '=') ADVANCE(244);
+      if (lookahead == '>') ADVANCE(256);
       END_STATE();
     case 194:
-      ACCEPT_TOKEN(anon_sym_PLUS);
+      ACCEPT_TOKEN(anon_sym_DASH);
+      if (lookahead == '.') ADVANCE(96);
+      if (lookahead == '0') ADVANCE(260);
+      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262);
       END_STATE();
     case 195:
       ACCEPT_TOKEN(anon_sym_PLUS);
-      if (lookahead == '+') ADVANCE(250);
-      if (lookahead == '.') ADVANCE(96);
-      if (lookahead == '0') ADVANCE(259);
-      if (lookahead == '=') ADVANCE(242);
-      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(261);
       END_STATE();
     case 196:
       ACCEPT_TOKEN(anon_sym_PLUS);
-      if (lookahead == '+') ADVANCE(250);
+      if (lookahead == '+') ADVANCE(251);
       if (lookahead == '.') ADVANCE(96);
-      if (lookahead == '0') ADVANCE(259);
-      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(261);
+      if (lookahead == '0') ADVANCE(260);
+      if (lookahead == '=') ADVANCE(243);
+      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262);
       END_STATE();
     case 197:
       ACCEPT_TOKEN(anon_sym_PLUS);
-      if (lookahead == '+') ADVANCE(250);
-      if (lookahead == '=') ADVANCE(242);
+      if (lookahead == '+') ADVANCE(251);
+      if (lookahead == '.') ADVANCE(96);
+      if (lookahead == '0') ADVANCE(260);
+      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262);
       END_STATE();
     case 198:
       ACCEPT_TOKEN(anon_sym_PLUS);
-      if (lookahead == '.') ADVANCE(96);
-      if (lookahead == '0') ADVANCE(259);
-      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(261);
+      if (lookahead == '+') ADVANCE(251);
+      if (lookahead == '=') ADVANCE(243);
       END_STATE();
     case 199:
-      ACCEPT_TOKEN(anon_sym_STAR);
+      ACCEPT_TOKEN(anon_sym_PLUS);
+      if (lookahead == '.') ADVANCE(96);
+      if (lookahead == '0') ADVANCE(260);
+      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262);
       END_STATE();
     case 200:
       ACCEPT_TOKEN(anon_sym_STAR);
-      if (lookahead == '=') ADVANCE(239);
       END_STATE();
     case 201:
-      ACCEPT_TOKEN(anon_sym_SLASH);
-      if (lookahead == '*') ADVANCE(62);
-      if (lookahead == '/') ADVANCE(318);
+      ACCEPT_TOKEN(anon_sym_STAR);
+      if (lookahead == '=') ADVANCE(240);
       END_STATE();
     case 202:
       ACCEPT_TOKEN(anon_sym_SLASH);
       if (lookahead == '*') ADVANCE(62);
-      if (lookahead == '/') ADVANCE(318);
-      if (lookahead == '=') ADVANCE(240);
+      if (lookahead == '/') ADVANCE(322);
       END_STATE();
     case 203:
-      ACCEPT_TOKEN(anon_sym_PERCENT);
+      ACCEPT_TOKEN(anon_sym_SLASH);
+      if (lookahead == '*') ADVANCE(62);
+      if (lookahead == '/') ADVANCE(322);
+      if (lookahead == '=') ADVANCE(241);
       END_STATE();
     case 204:
       ACCEPT_TOKEN(anon_sym_PERCENT);
-      if (lookahead == '=') ADVANCE(241);
       END_STATE();
     case 205:
-      ACCEPT_TOKEN(anon_sym_PIPE_PIPE);
+      ACCEPT_TOKEN(anon_sym_PERCENT);
+      if (lookahead == '=') ADVANCE(242);
       END_STATE();
     case 206:
-      ACCEPT_TOKEN(anon_sym_AMP_AMP);
+      ACCEPT_TOKEN(anon_sym_PIPE_PIPE);
       END_STATE();
     case 207:
-      ACCEPT_TOKEN(anon_sym_PIPE);
-      if (lookahead == '=') ADVANCE(248);
-      if (lookahead == '|') ADVANCE(205);
+      ACCEPT_TOKEN(anon_sym_AMP_AMP);
       END_STATE();
     case 208:
       ACCEPT_TOKEN(anon_sym_PIPE);
-      if (lookahead == '|') ADVANCE(205);
+      if (lookahead == '=') ADVANCE(249);
+      if (lookahead == '|') ADVANCE(206);
       END_STATE();
     case 209:
-      ACCEPT_TOKEN(anon_sym_CARET);
+      ACCEPT_TOKEN(anon_sym_PIPE);
+      if (lookahead == '|') ADVANCE(206);
       END_STATE();
     case 210:
       ACCEPT_TOKEN(anon_sym_CARET);
-      if (lookahead == '=') ADVANCE(247);
       END_STATE();
     case 211:
-      ACCEPT_TOKEN(anon_sym_AMP);
+      ACCEPT_TOKEN(anon_sym_CARET);
+      if (lookahead == '=') ADVANCE(248);
       END_STATE();
     case 212:
       ACCEPT_TOKEN(anon_sym_AMP);
-      if (lookahead == '&') ADVANCE(206);
       END_STATE();
     case 213:
       ACCEPT_TOKEN(anon_sym_AMP);
-      if (lookahead == '&') ADVANCE(206);
-      if (lookahead == '=') ADVANCE(246);
+      if (lookahead == '&') ADVANCE(207);
       END_STATE();
     case 214:
-      ACCEPT_TOKEN(anon_sym_EQ_EQ);
+      ACCEPT_TOKEN(anon_sym_AMP);
+      if (lookahead == '&') ADVANCE(207);
+      if (lookahead == '=') ADVANCE(247);
       END_STATE();
     case 215:
-      ACCEPT_TOKEN(anon_sym_BANG_EQ);
+      ACCEPT_TOKEN(anon_sym_EQ_EQ);
       END_STATE();
     case 216:
-      ACCEPT_TOKEN(anon_sym_GT);
-      if (lookahead == '=') ADVANCE(218);
-      if (lookahead == '>') ADVANCE(225);
+      ACCEPT_TOKEN(anon_sym_BANG_EQ);
       END_STATE();
     case 217:
       ACCEPT_TOKEN(anon_sym_GT);
-      if (lookahead == '=') ADVANCE(218);
-      if (lookahead == '>') ADVANCE(224);
+      if (lookahead == '=') ADVANCE(219);
+      if (lookahead == '>') ADVANCE(226);
       END_STATE();
     case 218:
-      ACCEPT_TOKEN(anon_sym_GT_EQ);
+      ACCEPT_TOKEN(anon_sym_GT);
+      if (lookahead == '=') ADVANCE(219);
+      if (lookahead == '>') ADVANCE(225);
       END_STATE();
     case 219:
-      ACCEPT_TOKEN(anon_sym_LT_EQ);
+      ACCEPT_TOKEN(anon_sym_GT_EQ);
       END_STATE();
     case 220:
-      ACCEPT_TOKEN(anon_sym_LT);
-      if (lookahead == '<') ADVANCE(223);
-      if (lookahead == '=') ADVANCE(219);
+      ACCEPT_TOKEN(anon_sym_LT_EQ);
       END_STATE();
     case 221:
       ACCEPT_TOKEN(anon_sym_LT);
-      if (lookahead == '<') ADVANCE(222);
-      if (lookahead == '=') ADVANCE(219);
+      if (lookahead == '<') ADVANCE(224);
+      if (lookahead == '=') ADVANCE(220);
       END_STATE();
     case 222:
-      ACCEPT_TOKEN(anon_sym_LT_LT);
+      ACCEPT_TOKEN(anon_sym_LT);
+      if (lookahead == '<') ADVANCE(223);
+      if (lookahead == '=') ADVANCE(220);
       END_STATE();
     case 223:
       ACCEPT_TOKEN(anon_sym_LT_LT);
-      if (lookahead == '=') ADVANCE(244);
       END_STATE();
     case 224:
-      ACCEPT_TOKEN(anon_sym_GT_GT);
+      ACCEPT_TOKEN(anon_sym_LT_LT);
+      if (lookahead == '=') ADVANCE(245);
       END_STATE();
     case 225:
       ACCEPT_TOKEN(anon_sym_GT_GT);
-      if (lookahead == '=') ADVANCE(245);
       END_STATE();
     case 226:
-      ACCEPT_TOKEN(anon_sym_SEMI);
+      ACCEPT_TOKEN(anon_sym_GT_GT);
+      if (lookahead == '=') ADVANCE(246);
       END_STATE();
     case 227:
-      ACCEPT_TOKEN(anon_sym_COLON_COLON);
+      ACCEPT_TOKEN(anon_sym_SEMI);
       END_STATE();
     case 228:
-      ACCEPT_TOKEN(anon_sym_LBRACK_LBRACK);
+      ACCEPT_TOKEN(anon_sym_COLON_COLON);
       END_STATE();
     case 229:
-      ACCEPT_TOKEN(anon_sym_RBRACK_RBRACK);
+      ACCEPT_TOKEN(anon_sym_LBRACK_LBRACK);
       END_STATE();
     case 230:
-      ACCEPT_TOKEN(anon_sym_LBRACE);
+      ACCEPT_TOKEN(anon_sym_RBRACK_RBRACK);
       END_STATE();
     case 231:
-      ACCEPT_TOKEN(anon_sym_RBRACE);
+      ACCEPT_TOKEN(anon_sym_LBRACE);
       END_STATE();
     case 232:
-      ACCEPT_TOKEN(anon_sym_LBRACK);
+      ACCEPT_TOKEN(anon_sym_RBRACE);
       END_STATE();
     case 233:
       ACCEPT_TOKEN(anon_sym_LBRACK);
-      if (lookahead == '[') ADVANCE(228);
       END_STATE();
     case 234:
-      ACCEPT_TOKEN(anon_sym_RBRACK);
+      ACCEPT_TOKEN(anon_sym_LBRACK);
+      if (lookahead == '[') ADVANCE(229);
       END_STATE();
     case 235:
-      ACCEPT_TOKEN(anon_sym_EQ);
+      ACCEPT_TOKEN(anon_sym_RBRACK);
       END_STATE();
     case 236:
       ACCEPT_TOKEN(anon_sym_EQ);
-      if (lookahead == '=') ADVANCE(214);
       END_STATE();
     case 237:
-      ACCEPT_TOKEN(anon_sym_COLON);
+      ACCEPT_TOKEN(anon_sym_EQ);
+      if (lookahead == '=') ADVANCE(215);
       END_STATE();
     case 238:
-      ACCEPT_TOKEN(anon_sym_QMARK);
+      ACCEPT_TOKEN(anon_sym_COLON);
       END_STATE();
     case 239:
-      ACCEPT_TOKEN(anon_sym_STAR_EQ);
+      ACCEPT_TOKEN(anon_sym_QMARK);
       END_STATE();
     case 240:
-      ACCEPT_TOKEN(anon_sym_SLASH_EQ);
+      ACCEPT_TOKEN(anon_sym_STAR_EQ);
       END_STATE();
     case 241:
-      ACCEPT_TOKEN(anon_sym_PERCENT_EQ);
+      ACCEPT_TOKEN(anon_sym_SLASH_EQ);
       END_STATE();
     case 242:
-      ACCEPT_TOKEN(anon_sym_PLUS_EQ);
+      ACCEPT_TOKEN(anon_sym_PERCENT_EQ);
       END_STATE();
     case 243:
-      ACCEPT_TOKEN(anon_sym_DASH_EQ);
+      ACCEPT_TOKEN(anon_sym_PLUS_EQ);
       END_STATE();
     case 244:
-      ACCEPT_TOKEN(anon_sym_LT_LT_EQ);
+      ACCEPT_TOKEN(anon_sym_DASH_EQ);
       END_STATE();
     case 245:
-      ACCEPT_TOKEN(anon_sym_GT_GT_EQ);
+      ACCEPT_TOKEN(anon_sym_LT_LT_EQ);
       END_STATE();
     case 246:
-      ACCEPT_TOKEN(anon_sym_AMP_EQ);
+      ACCEPT_TOKEN(anon_sym_GT_GT_EQ);
       END_STATE();
     case 247:
-      ACCEPT_TOKEN(anon_sym_CARET_EQ);
+      ACCEPT_TOKEN(anon_sym_AMP_EQ);
       END_STATE();
     case 248:
-      ACCEPT_TOKEN(anon_sym_PIPE_EQ);
+      ACCEPT_TOKEN(anon_sym_CARET_EQ);
       END_STATE();
     case 249:
-      ACCEPT_TOKEN(anon_sym_DASH_DASH);
+      ACCEPT_TOKEN(anon_sym_PIPE_EQ);
       END_STATE();
     case 250:
-      ACCEPT_TOKEN(anon_sym_PLUS_PLUS);
+      ACCEPT_TOKEN(anon_sym_DASH_DASH);
       END_STATE();
     case 251:
-      ACCEPT_TOKEN(anon_sym_DOT);
+      ACCEPT_TOKEN(anon_sym_PLUS_PLUS);
       END_STATE();
     case 252:
       ACCEPT_TOKEN(anon_sym_DOT);
-      if (lookahead == '.') ADVANCE(65);
       END_STATE();
     case 253:
       ACCEPT_TOKEN(anon_sym_DOT);
       if (lookahead == '.') ADVANCE(65);
-      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(256);
       END_STATE();
     case 254:
       ACCEPT_TOKEN(anon_sym_DOT);
-      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(256);
+      if (lookahead == '.') ADVANCE(65);
+      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(257);
       END_STATE();
     case 255:
-      ACCEPT_TOKEN(anon_sym_DASH_GT);
+      ACCEPT_TOKEN(anon_sym_DOT);
+      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(257);
       END_STATE();
     case 256:
+      ACCEPT_TOKEN(anon_sym_DASH_GT);
+      END_STATE();
+    case 257:
       ACCEPT_TOKEN(sym_number_literal);
       if (lookahead == '\'') ADVANCE(96);
       if (lookahead == 'E' ||
           lookahead == 'P' ||
           lookahead == 'e' ||
-          lookahead == 'p') ADVANCE(269);
-      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(256);
-      if (set_contains(sym_number_literal_character_set_13, 13, lookahead)) ADVANCE(272);
+          lookahead == 'p') ADVANCE(270);
+      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(257);
+      if (set_contains(sym_number_literal_character_set_13, 13, lookahead)) ADVANCE(273);
       END_STATE();
-    case 257:
+    case 258:
       ACCEPT_TOKEN(sym_number_literal);
       ADVANCE_MAP(
         '\'', 97,
-        '.', 270,
-        'B', 266,
-        'b', 266,
-        'E', 265,
-        'e', 265,
-        'P', 269,
-        'p', 269,
+        '.', 271,
+        'B', 267,
+        'b', 267,
+        'E', 266,
+        'e', 266,
+        'P', 270,
+        'p', 270,
         'X', 100,
         'x', 100,
-        'A', 267,
-        'C', 267,
-        'a', 267,
-        'c', 267,
-        'D', 267,
-        'F', 267,
-        'd', 267,
-        'f', 267,
-        'L', 272,
-        'U', 272,
-        'W', 272,
-        'l', 272,
-        'u', 272,
-        'w', 272,
+        'A', 268,
+        'C', 268,
+        'a', 268,
+        'c', 268,
+        'D', 268,
+        'F', 268,
+        'd', 268,
+        'f', 268,
+        'L', 273,
+        'U', 273,
+        'W', 273,
+        'l', 273,
+        'u', 273,
+        'w', 273,
       );
-      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(258);
+      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(259);
       END_STATE();
-    case 258:
+    case 259:
       ACCEPT_TOKEN(sym_number_literal);
       ADVANCE_MAP(
         '\'', 97,
-        '.', 270,
-        'E', 265,
-        'e', 265,
-        'P', 269,
-        'p', 269,
-        'A', 267,
-        'C', 267,
-        'a', 267,
-        'c', 267,
-        'B', 267,
-        'D', 267,
-        'F', 267,
-        'b', 267,
-        'd', 267,
-        'f', 267,
-        'L', 272,
-        'U', 272,
-        'W', 272,
-        'l', 272,
-        'u', 272,
-        'w', 272,
+        '.', 271,
+        'E', 266,
+        'e', 266,
+        'P', 270,
+        'p', 270,
+        'A', 268,
+        'C', 268,
+        'a', 268,
+        'c', 268,
+        'B', 268,
+        'D', 268,
+        'F', 268,
+        'b', 268,
+        'd', 268,
+        'f', 268,
+        'L', 273,
+        'U', 273,
+        'W', 273,
+        'l', 273,
+        'u', 273,
+        'w', 273,
       );
-      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(258);
+      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(259);
       END_STATE();
-    case 259:
+    case 260:
       ACCEPT_TOKEN(sym_number_literal);
       ADVANCE_MAP(
         '\'', 95,
-        '.', 270,
-        'B', 268,
-        'b', 268,
+        '.', 271,
+        'B', 269,
+        'b', 269,
         'X', 64,
         'x', 64,
-        'E', 269,
-        'P', 269,
-        'e', 269,
-        'p', 269,
-        'D', 272,
-        'F', 272,
-        'L', 272,
-        'U', 272,
-        'W', 272,
-        'd', 272,
-        'f', 272,
-        'l', 272,
-        'u', 272,
-        'w', 272,
+        'E', 270,
+        'P', 270,
+        'e', 270,
+        'p', 270,
+        'D', 273,
+        'F', 273,
+        'L', 273,
+        'U', 273,
+        'W', 273,
+        'd', 273,
+        'f', 273,
+        'l', 273,
+        'u', 273,
+        'w', 273,
       );
-      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(261);
+      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(262);
       END_STATE();
-    case 260:
+    case 261:
       ACCEPT_TOKEN(sym_number_literal);
       ADVANCE_MAP(
         '\'', 95,
-        '.', 270,
-        'B', 271,
-        'b', 271,
+        '.', 271,
+        'B', 272,
+        'b', 272,
         'X', 100,
         'x', 100,
-        'E', 269,
-        'P', 269,
-        'e', 269,
-        'p', 269,
-        'D', 272,
-        'F', 272,
-        'L', 272,
-        'U', 272,
-        'W', 272,
-        'd', 272,
-        'f', 272,
-        'l', 272,
-        'u', 272,
-        'w', 272,
+        'E', 270,
+        'P', 270,
+        'e', 270,
+        'p', 270,
+        'D', 273,
+        'F', 273,
+        'L', 273,
+        'U', 273,
+        'W', 273,
+        'd', 273,
+        'f', 273,
+        'l', 273,
+        'u', 273,
+        'w', 273,
       );
-      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(261);
+      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(262);
       END_STATE();
-    case 261:
+    case 262:
       ACCEPT_TOKEN(sym_number_literal);
       if (lookahead == '\'') ADVANCE(95);
-      if (lookahead == '.') ADVANCE(270);
+      if (lookahead == '.') ADVANCE(271);
       if (lookahead == 'E' ||
           lookahead == 'P' ||
           lookahead == 'e' ||
-          lookahead == 'p') ADVANCE(269);
-      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(261);
-      if (set_contains(sym_number_literal_character_set_13, 13, lookahead)) ADVANCE(272);
+          lookahead == 'p') ADVANCE(270);
+      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(262);
+      if (set_contains(sym_number_literal_character_set_13, 13, lookahead)) ADVANCE(273);
       END_STATE();
-    case 262:
+    case 263:
       ACCEPT_TOKEN(sym_number_literal);
       ADVANCE_MAP(
         '\'', 101,
-        'B', 262,
-        'D', 262,
-        'F', 262,
-        'b', 262,
-        'd', 262,
-        'f', 262,
-        'L', 272,
-        'U', 272,
-        'W', 272,
-        'l', 272,
-        'u', 272,
-        'w', 272,
+        'B', 263,
+        'D', 263,
+        'F', 263,
+        'b', 263,
+        'd', 263,
+        'f', 263,
+        'L', 273,
+        'U', 273,
+        'W', 273,
+        'l', 273,
+        'u', 273,
+        'w', 273,
       );
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'E') ||
-          ('a' <= lookahead && lookahead <= 'e')) ADVANCE(262);
+          ('a' <= lookahead && lookahead <= 'e')) ADVANCE(263);
       END_STATE();
-    case 263:
+    case 264:
       ACCEPT_TOKEN(sym_number_literal);
       ADVANCE_MAP(
         '\'', 99,
         '+', 101,
         '-', 101,
-        'E', 263,
-        'e', 263,
-        'P', 269,
-        'p', 269,
-        'B', 264,
-        'D', 264,
-        'F', 264,
-        'b', 264,
-        'd', 264,
-        'f', 264,
-        'L', 272,
-        'U', 272,
-        'W', 272,
-        'l', 272,
-        'u', 272,
-        'w', 272,
+        'E', 264,
+        'e', 264,
+        'P', 270,
+        'p', 270,
+        'B', 265,
+        'D', 265,
+        'F', 265,
+        'b', 265,
+        'd', 265,
+        'f', 265,
+        'L', 273,
+        'U', 273,
+        'W', 273,
+        'l', 273,
+        'u', 273,
+        'w', 273,
       );
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'C') ||
-          ('a' <= lookahead && lookahead <= 'c')) ADVANCE(264);
+          ('a' <= lookahead && lookahead <= 'c')) ADVANCE(265);
       END_STATE();
-    case 264:
+    case 265:
       ACCEPT_TOKEN(sym_number_literal);
       ADVANCE_MAP(
         '\'', 99,
-        'E', 263,
-        'e', 263,
-        'P', 269,
-        'p', 269,
-        'B', 264,
-        'D', 264,
-        'F', 264,
-        'b', 264,
-        'd', 264,
-        'f', 264,
-        'L', 272,
-        'U', 272,
-        'W', 272,
-        'l', 272,
-        'u', 272,
-        'w', 272,
+        'E', 264,
+        'e', 264,
+        'P', 270,
+        'p', 270,
+        'B', 265,
+        'D', 265,
+        'F', 265,
+        'b', 265,
+        'd', 265,
+        'f', 265,
+        'L', 273,
+        'U', 273,
+        'W', 273,
+        'l', 273,
+        'u', 273,
+        'w', 273,
       );
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'C') ||
-          ('a' <= lookahead && lookahead <= 'c')) ADVANCE(264);
+          ('a' <= lookahead && lookahead <= 'c')) ADVANCE(265);
       END_STATE();
-    case 265:
+    case 266:
       ACCEPT_TOKEN(sym_number_literal);
       ADVANCE_MAP(
         '\'', 100,
-        '.', 270,
+        '.', 271,
         '+', 101,
         '-', 101,
-        'E', 265,
-        'e', 265,
-        'P', 269,
-        'p', 269,
-        'B', 267,
-        'D', 267,
-        'F', 267,
-        'b', 267,
-        'd', 267,
-        'f', 267,
-        'L', 272,
-        'U', 272,
-        'W', 272,
-        'l', 272,
-        'u', 272,
-        'w', 272,
+        'E', 266,
+        'e', 266,
+        'P', 270,
+        'p', 270,
+        'B', 268,
+        'D', 268,
+        'F', 268,
+        'b', 268,
+        'd', 268,
+        'f', 268,
+        'L', 273,
+        'U', 273,
+        'W', 273,
+        'l', 273,
+        'u', 273,
+        'w', 273,
       );
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'C') ||
-          ('a' <= lookahead && lookahead <= 'c')) ADVANCE(267);
+          ('a' <= lookahead && lookahead <= 'c')) ADVANCE(268);
       END_STATE();
-    case 266:
+    case 267:
       ACCEPT_TOKEN(sym_number_literal);
       ADVANCE_MAP(
         '\'', 100,
-        '.', 270,
-        'E', 265,
-        'e', 265,
-        'P', 269,
-        'p', 269,
-        'A', 267,
-        'C', 267,
-        'a', 267,
-        'c', 267,
-        'B', 267,
-        'D', 267,
-        'F', 267,
-        'b', 267,
-        'd', 267,
-        'f', 267,
-        'L', 272,
-        'U', 272,
-        'W', 272,
-        'l', 272,
-        'u', 272,
-        'w', 272,
+        '.', 271,
+        'E', 266,
+        'e', 266,
+        'P', 270,
+        'p', 270,
+        'A', 268,
+        'C', 268,
+        'a', 268,
+        'c', 268,
+        'B', 268,
+        'D', 268,
+        'F', 268,
+        'b', 268,
+        'd', 268,
+        'f', 268,
+        'L', 273,
+        'U', 273,
+        'W', 273,
+        'l', 273,
+        'u', 273,
+        'w', 273,
       );
-      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(258);
+      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(259);
       END_STATE();
-    case 267:
+    case 268:
       ACCEPT_TOKEN(sym_number_literal);
       ADVANCE_MAP(
         '\'', 100,
-        '.', 270,
-        'E', 265,
-        'e', 265,
-        'P', 269,
-        'p', 269,
-        'B', 267,
-        'D', 267,
-        'F', 267,
-        'b', 267,
-        'd', 267,
-        'f', 267,
-        'L', 272,
-        'U', 272,
-        'W', 272,
-        'l', 272,
-        'u', 272,
-        'w', 272,
+        '.', 271,
+        'E', 266,
+        'e', 266,
+        'P', 270,
+        'p', 270,
+        'B', 268,
+        'D', 268,
+        'F', 268,
+        'b', 268,
+        'd', 268,
+        'f', 268,
+        'L', 273,
+        'U', 273,
+        'W', 273,
+        'l', 273,
+        'u', 273,
+        'w', 273,
       );
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'C') ||
-          ('a' <= lookahead && lookahead <= 'c')) ADVANCE(267);
+          ('a' <= lookahead && lookahead <= 'c')) ADVANCE(268);
       END_STATE();
-    case 268:
+    case 269:
       ACCEPT_TOKEN(sym_number_literal);
       if (lookahead == '.') ADVANCE(96);
-      if (lookahead == '0') ADVANCE(260);
-      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(261);
-      if (set_contains(sym_number_literal_character_set_13, 13, lookahead)) ADVANCE(272);
+      if (lookahead == '0') ADVANCE(261);
+      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262);
+      if (set_contains(sym_number_literal_character_set_13, 13, lookahead)) ADVANCE(273);
       END_STATE();
-    case 269:
+    case 270:
       ACCEPT_TOKEN(sym_number_literal);
       ADVANCE_MAP(
         '+', 101,
         '-', 101,
-        'B', 262,
-        'D', 262,
-        'F', 262,
-        'b', 262,
-        'd', 262,
-        'f', 262,
-        'L', 272,
-        'U', 272,
-        'W', 272,
-        'l', 272,
-        'u', 272,
-        'w', 272,
+        'B', 263,
+        'D', 263,
+        'F', 263,
+        'b', 263,
+        'd', 263,
+        'f', 263,
+        'L', 273,
+        'U', 273,
+        'W', 273,
+        'l', 273,
+        'u', 273,
+        'w', 273,
       );
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'E') ||
-          ('a' <= lookahead && lookahead <= 'e')) ADVANCE(262);
+          ('a' <= lookahead && lookahead <= 'e')) ADVANCE(263);
       END_STATE();
-    case 270:
+    case 271:
       ACCEPT_TOKEN(sym_number_literal);
       ADVANCE_MAP(
-        'E', 263,
-        'e', 263,
-        'P', 269,
-        'p', 269,
-        'B', 264,
-        'D', 264,
-        'F', 264,
-        'b', 264,
-        'd', 264,
-        'f', 264,
-        'L', 272,
-        'U', 272,
-        'W', 272,
-        'l', 272,
-        'u', 272,
-        'w', 272,
+        'E', 264,
+        'e', 264,
+        'P', 270,
+        'p', 270,
+        'B', 265,
+        'D', 265,
+        'F', 265,
+        'b', 265,
+        'd', 265,
+        'f', 265,
+        'L', 273,
+        'U', 273,
+        'W', 273,
+        'l', 273,
+        'u', 273,
+        'w', 273,
       );
       if (('0' <= lookahead && lookahead <= '9') ||
           ('A' <= lookahead && lookahead <= 'C') ||
-          ('a' <= lookahead && lookahead <= 'c')) ADVANCE(264);
+          ('a' <= lookahead && lookahead <= 'c')) ADVANCE(265);
       END_STATE();
-    case 271:
+    case 272:
       ACCEPT_TOKEN(sym_number_literal);
-      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(261);
-      if (set_contains(sym_number_literal_character_set_13, 13, lookahead)) ADVANCE(272);
+      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(262);
+      if (set_contains(sym_number_literal_character_set_13, 13, lookahead)) ADVANCE(273);
       END_STATE();
-    case 272:
+    case 273:
       ACCEPT_TOKEN(sym_number_literal);
       ADVANCE_MAP(
-        'B', 272,
-        'D', 272,
-        'F', 272,
-        'L', 272,
-        'U', 272,
-        'W', 272,
-        'b', 272,
-        'd', 272,
-        'f', 272,
-        'l', 272,
-        'u', 272,
-        'w', 272,
+        'B', 273,
+        'D', 273,
+        'F', 273,
+        'L', 273,
+        'U', 273,
+        'W', 273,
+        'b', 273,
+        'd', 273,
+        'f', 273,
+        'l', 273,
+        'u', 273,
+        'w', 273,
       );
       END_STATE();
-    case 273:
-      ACCEPT_TOKEN(anon_sym_L_SQUOTE);
-      END_STATE();
     case 274:
-      ACCEPT_TOKEN(anon_sym_u_SQUOTE);
+      ACCEPT_TOKEN(anon_sym_L_SQUOTE);
       END_STATE();
     case 275:
-      ACCEPT_TOKEN(anon_sym_U_SQUOTE);
+      ACCEPT_TOKEN(anon_sym_u_SQUOTE);
       END_STATE();
     case 276:
-      ACCEPT_TOKEN(anon_sym_u8_SQUOTE);
+      ACCEPT_TOKEN(anon_sym_U_SQUOTE);
       END_STATE();
     case 277:
-      ACCEPT_TOKEN(anon_sym_SQUOTE);
+      ACCEPT_TOKEN(anon_sym_u8_SQUOTE);
       END_STATE();
     case 278:
-      ACCEPT_TOKEN(aux_sym_char_literal_token1);
+      ACCEPT_TOKEN(anon_sym_SQUOTE);
       END_STATE();
     case 279:
       ACCEPT_TOKEN(aux_sym_char_literal_token1);
-      if (lookahead == '\n') ADVANCE(293);
-      if (lookahead == '\r') ADVANCE(292);
-      if (lookahead == 'U') ADVANCE(116);
-      if (lookahead == 'u') ADVANCE(108);
-      if (lookahead == 'x') ADVANCE(104);
-      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(295);
-      if (lookahead != 0) ADVANCE(292);
       END_STATE();
     case 280:
       ACCEPT_TOKEN(aux_sym_char_literal_token1);
-      if (lookahead == '*') ADVANCE(62);
-      if (lookahead == '/') ADVANCE(318);
+      if (lookahead == '\n') ADVANCE(294);
+      if (lookahead == '\r') ADVANCE(293);
+      if (lookahead == 'U') ADVANCE(117);
+      if (lookahead == 'u') ADVANCE(109);
+      if (lookahead == 'x') ADVANCE(103);
+      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(296);
+      if (lookahead != 0) ADVANCE(293);
       END_STATE();
     case 281:
       ACCEPT_TOKEN(aux_sym_char_literal_token1);
-      if (lookahead == '\\') ADVANCE(31);
+      if (lookahead == '*') ADVANCE(62);
+      if (lookahead == '/') ADVANCE(322);
       END_STATE();
     case 282:
-      ACCEPT_TOKEN(anon_sym_L_DQUOTE);
+      ACCEPT_TOKEN(aux_sym_char_literal_token1);
+      if (lookahead == '\\') ADVANCE(31);
       END_STATE();
     case 283:
-      ACCEPT_TOKEN(anon_sym_u_DQUOTE);
+      ACCEPT_TOKEN(anon_sym_L_DQUOTE);
       END_STATE();
     case 284:
-      ACCEPT_TOKEN(anon_sym_U_DQUOTE);
+      ACCEPT_TOKEN(anon_sym_u_DQUOTE);
       END_STATE();
     case 285:
-      ACCEPT_TOKEN(anon_sym_u8_DQUOTE);
+      ACCEPT_TOKEN(anon_sym_U_DQUOTE);
       END_STATE();
     case 286:
-      ACCEPT_TOKEN(anon_sym_DQUOTE);
+      ACCEPT_TOKEN(anon_sym_u8_DQUOTE);
       END_STATE();
     case 287:
+      ACCEPT_TOKEN(anon_sym_DQUOTE);
+      END_STATE();
+    case 288:
       ACCEPT_TOKEN(aux_sym_string_literal_token1);
-      if (lookahead == '*') ADVANCE(289);
-      if (lookahead == '/') ADVANCE(291);
+      if (lookahead == '*') ADVANCE(290);
+      if (lookahead == '/') ADVANCE(292);
       if (lookahead != 0 &&
           lookahead != '\n' &&
           lookahead != '"' &&
-          lookahead != '\\') ADVANCE(291);
+          lookahead != '\\') ADVANCE(292);
       END_STATE();
-    case 288:
+    case 289:
       ACCEPT_TOKEN(aux_sym_string_literal_token1);
-      if (lookahead == '*') ADVANCE(288);
-      if (lookahead == '/') ADVANCE(291);
+      if (lookahead == '*') ADVANCE(289);
+      if (lookahead == '/') ADVANCE(292);
       if (lookahead != 0 &&
           lookahead != '\n' &&
           lookahead != '"' &&
-          lookahead != '\\') ADVANCE(289);
+          lookahead != '\\') ADVANCE(290);
       END_STATE();
-    case 289:
+    case 290:
       ACCEPT_TOKEN(aux_sym_string_literal_token1);
-      if (lookahead == '*') ADVANCE(288);
+      if (lookahead == '*') ADVANCE(289);
       if (lookahead != 0 &&
           lookahead != '\n' &&
           lookahead != '"' &&
-          lookahead != '\\') ADVANCE(289);
+          lookahead != '\\') ADVANCE(290);
       END_STATE();
-    case 290:
+    case 291:
       ACCEPT_TOKEN(aux_sym_string_literal_token1);
-      if (lookahead == '/') ADVANCE(287);
+      if (lookahead == '/') ADVANCE(288);
       if (lookahead == '\t' ||
           (0x0b <= lookahead && lookahead <= '\r') ||
-          lookahead == ' ') ADVANCE(290);
+          lookahead == ' ') ADVANCE(291);
       if (lookahead != 0 &&
           (lookahead < '\t' || '\r' < lookahead) &&
           lookahead != '"' &&
-          lookahead != '\\') ADVANCE(291);
+          lookahead != '\\') ADVANCE(292);
       END_STATE();
-    case 291:
+    case 292:
       ACCEPT_TOKEN(aux_sym_string_literal_token1);
       if (lookahead != 0 &&
           lookahead != '\n' &&
           lookahead != '"' &&
-          lookahead != '\\') ADVANCE(291);
-      END_STATE();
-    case 292:
-      ACCEPT_TOKEN(sym_escape_sequence);
+          lookahead != '\\') ADVANCE(292);
       END_STATE();
     case 293:
       ACCEPT_TOKEN(sym_escape_sequence);
-      if (lookahead == '\\') ADVANCE(31);
       END_STATE();
     case 294:
       ACCEPT_TOKEN(sym_escape_sequence);
-      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(292);
+      if (lookahead == '\\') ADVANCE(31);
       END_STATE();
     case 295:
       ACCEPT_TOKEN(sym_escape_sequence);
-      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(294);
+      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(293);
       END_STATE();
     case 296:
-      ACCEPT_TOKEN(sym_system_lib_string);
+      ACCEPT_TOKEN(sym_escape_sequence);
+      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(295);
       END_STATE();
     case 297:
-      ACCEPT_TOKEN(sym_system_lib_string);
-      if (lookahead == '>') ADVANCE(296);
-      if (lookahead == '\\') ADVANCE(71);
-      if (lookahead != 0 &&
-          lookahead != '\n') ADVANCE(70);
+      ACCEPT_TOKEN(sym_escape_sequence);
+      if (('0' <= lookahead && lookahead <= '9') ||
+          ('A' <= lookahead && lookahead <= 'F') ||
+          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(293);
       END_STATE();
     case 298:
-      ACCEPT_TOKEN(sym_identifier);
-      if (lookahead == '"') ADVANCE(282);
-      if (lookahead == '\'') ADVANCE(273);
-      if (lookahead == '\\') ADVANCE(72);
-      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(310);
+      ACCEPT_TOKEN(sym_escape_sequence);
+      if (('0' <= lookahead && lookahead <= '9') ||
+          ('A' <= lookahead && lookahead <= 'F') ||
+          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(297);
       END_STATE();
     case 299:
-      ACCEPT_TOKEN(sym_identifier);
-      if (lookahead == '"') ADVANCE(282);
-      if (lookahead == '\\') ADVANCE(72);
-      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(310);
+      ACCEPT_TOKEN(sym_escape_sequence);
+      if (('0' <= lookahead && lookahead <= '9') ||
+          ('A' <= lookahead && lookahead <= 'F') ||
+          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(298);
       END_STATE();
     case 300:
-      ACCEPT_TOKEN(sym_identifier);
-      if (lookahead == '"') ADVANCE(284);
-      if (lookahead == '\'') ADVANCE(275);
-      if (lookahead == '\\') ADVANCE(72);
-      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(310);
+      ACCEPT_TOKEN(sym_system_lib_string);
       END_STATE();
     case 301:
-      ACCEPT_TOKEN(sym_identifier);
-      if (lookahead == '"') ADVANCE(284);
-      if (lookahead == '\\') ADVANCE(72);
-      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(310);
+      ACCEPT_TOKEN(sym_system_lib_string);
+      if (lookahead == '>') ADVANCE(300);
+      if (lookahead == '\\') ADVANCE(71);
+      if (lookahead != 0 &&
+          lookahead != '\n') ADVANCE(70);
       END_STATE();
     case 302:
       ACCEPT_TOKEN(sym_identifier);
       if (lookahead == '"') ADVANCE(283);
       if (lookahead == '\'') ADVANCE(274);
-      if (lookahead == '8') ADVANCE(304);
       if (lookahead == '\\') ADVANCE(72);
-      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(310);
+      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314);
       END_STATE();
     case 303:
       ACCEPT_TOKEN(sym_identifier);
       if (lookahead == '"') ADVANCE(283);
-      if (lookahead == '8') ADVANCE(305);
       if (lookahead == '\\') ADVANCE(72);
-      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(310);
+      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314);
       END_STATE();
     case 304:
       ACCEPT_TOKEN(sym_identifier);
       if (lookahead == '"') ADVANCE(285);
       if (lookahead == '\'') ADVANCE(276);
       if (lookahead == '\\') ADVANCE(72);
-      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(310);
+      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314);
       END_STATE();
     case 305:
       ACCEPT_TOKEN(sym_identifier);
       if (lookahead == '"') ADVANCE(285);
       if (lookahead == '\\') ADVANCE(72);
-      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(310);
+      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314);
       END_STATE();
     case 306:
       ACCEPT_TOKEN(sym_identifier);
-      if (lookahead == '\'') ADVANCE(273);
+      if (lookahead == '"') ADVANCE(284);
+      if (lookahead == '\'') ADVANCE(275);
+      if (lookahead == '8') ADVANCE(308);
       if (lookahead == '\\') ADVANCE(72);
-      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(310);
+      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314);
       END_STATE();
     case 307:
       ACCEPT_TOKEN(sym_identifier);
-      if (lookahead == '\'') ADVANCE(275);
+      if (lookahead == '"') ADVANCE(284);
+      if (lookahead == '8') ADVANCE(309);
       if (lookahead == '\\') ADVANCE(72);
-      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(310);
+      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314);
       END_STATE();
     case 308:
       ACCEPT_TOKEN(sym_identifier);
-      if (lookahead == '\'') ADVANCE(274);
-      if (lookahead == '8') ADVANCE(309);
+      if (lookahead == '"') ADVANCE(286);
+      if (lookahead == '\'') ADVANCE(277);
       if (lookahead == '\\') ADVANCE(72);
-      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(310);
+      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314);
       END_STATE();
     case 309:
       ACCEPT_TOKEN(sym_identifier);
-      if (lookahead == '\'') ADVANCE(276);
+      if (lookahead == '"') ADVANCE(286);
       if (lookahead == '\\') ADVANCE(72);
-      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(310);
+      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314);
       END_STATE();
     case 310:
       ACCEPT_TOKEN(sym_identifier);
+      if (lookahead == '\'') ADVANCE(274);
       if (lookahead == '\\') ADVANCE(72);
-      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(310);
+      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314);
       END_STATE();
     case 311:
-      ACCEPT_TOKEN(sym_comment);
+      ACCEPT_TOKEN(sym_identifier);
+      if (lookahead == '\'') ADVANCE(276);
+      if (lookahead == '\\') ADVANCE(72);
+      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314);
       END_STATE();
     case 312:
-      ACCEPT_TOKEN(sym_comment);
-      if (lookahead == '\n') ADVANCE(318);
-      if (lookahead == '/') ADVANCE(315);
-      if (lookahead == '\\') ADVANCE(149);
-      if (lookahead != 0) ADVANCE(316);
+      ACCEPT_TOKEN(sym_identifier);
+      if (lookahead == '\'') ADVANCE(275);
+      if (lookahead == '8') ADVANCE(313);
+      if (lookahead == '\\') ADVANCE(72);
+      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314);
       END_STATE();
     case 313:
-      ACCEPT_TOKEN(sym_comment);
-      if (lookahead == '\r') ADVANCE(319);
-      if (lookahead == '\\') ADVANCE(313);
-      if (lookahead != 0) ADVANCE(318);
+      ACCEPT_TOKEN(sym_identifier);
+      if (lookahead == '\'') ADVANCE(277);
+      if (lookahead == '\\') ADVANCE(72);
+      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314);
       END_STATE();
     case 314:
-      ACCEPT_TOKEN(sym_comment);
-      if (lookahead == '\r') ADVANCE(317);
-      if (lookahead == '/') ADVANCE(315);
-      if (lookahead == '\\') ADVANCE(314);
-      if (lookahead != 0) ADVANCE(316);
+      ACCEPT_TOKEN(sym_identifier);
+      if (lookahead == '\\') ADVANCE(72);
+      if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314);
       END_STATE();
     case 315:
       ACCEPT_TOKEN(sym_comment);
-      if (lookahead == '*') ADVANCE(318);
-      if (lookahead == '\\') ADVANCE(144);
-      if (lookahead != 0 &&
-          lookahead != '\n') ADVANCE(316);
       END_STATE();
     case 316:
       ACCEPT_TOKEN(sym_comment);
-      if (lookahead == '/') ADVANCE(315);
-      if (lookahead == '\\') ADVANCE(149);
-      if (lookahead != 0 &&
-          lookahead != '\n') ADVANCE(316);
+      if (lookahead == '\n') ADVANCE(322);
+      if (lookahead == '/') ADVANCE(319);
+      if (lookahead == '\\') ADVANCE(150);
+      if (lookahead != 0) ADVANCE(320);
       END_STATE();
     case 317:
       ACCEPT_TOKEN(sym_comment);
-      if (lookahead == '/') ADVANCE(315);
-      if (lookahead == '\\') ADVANCE(149);
-      if (lookahead != 0) ADVANCE(316);
+      if (lookahead == '\r') ADVANCE(323);
+      if (lookahead == '\\') ADVANCE(317);
+      if (lookahead != 0) ADVANCE(322);
       END_STATE();
     case 318:
+      ACCEPT_TOKEN(sym_comment);
+      if (lookahead == '\r') ADVANCE(321);
+      if (lookahead == '/') ADVANCE(319);
+      if (lookahead == '\\') ADVANCE(318);
+      if (lookahead != 0) ADVANCE(320);
+      END_STATE();
+    case 319:
+      ACCEPT_TOKEN(sym_comment);
+      if (lookahead == '*') ADVANCE(322);
+      if (lookahead == '\\') ADVANCE(145);
+      if (lookahead != 0 &&
+          lookahead != '\n') ADVANCE(320);
+      END_STATE();
+    case 320:
+      ACCEPT_TOKEN(sym_comment);
+      if (lookahead == '/') ADVANCE(319);
+      if (lookahead == '\\') ADVANCE(150);
+      if (lookahead != 0 &&
+          lookahead != '\n') ADVANCE(320);
+      END_STATE();
+    case 321:
+      ACCEPT_TOKEN(sym_comment);
+      if (lookahead == '/') ADVANCE(319);
+      if (lookahead == '\\') ADVANCE(150);
+      if (lookahead != 0) ADVANCE(320);
+      END_STATE();
+    case 322:
       ACCEPT_TOKEN(sym_comment);
       if (lookahead == '\\') ADVANCE(42);
       if (lookahead != 0 &&
-          lookahead != '\n') ADVANCE(318);
+          lookahead != '\n') ADVANCE(322);
       END_STATE();
-    case 319:
+    case 323:
       ACCEPT_TOKEN(sym_comment);
       if (lookahead == '\\') ADVANCE(42);
-      if (lookahead != 0) ADVANCE(318);
+      if (lookahead != 0) ADVANCE(322);
       END_STATE();
     default:
       return false;
@@ -9441,6 +9489,7 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) {
       ACCEPT_TOKEN(anon_sym___alignof__);
       END_STATE();
     case 494:
+      ACCEPT_TOKEN(anon_sym___attribute);
       if (lookahead == '_') ADVANCE(502);
       END_STATE();
     case 495:
@@ -9501,7 +9550,7 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) {
 
 static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [0] = {.lex_state = 0},
-  [1] = {.lex_state = 119},
+  [1] = {.lex_state = 120},
   [2] = {.lex_state = 45},
   [3] = {.lex_state = 45},
   [4] = {.lex_state = 45},
@@ -9523,69 +9572,69 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [20] = {.lex_state = 45},
   [21] = {.lex_state = 45},
   [22] = {.lex_state = 45},
-  [23] = {.lex_state = 119},
-  [24] = {.lex_state = 119},
-  [25] = {.lex_state = 47},
-  [26] = {.lex_state = 119},
-  [27] = {.lex_state = 47},
-  [28] = {.lex_state = 119},
-  [29] = {.lex_state = 119},
-  [30] = {.lex_state = 119},
-  [31] = {.lex_state = 119},
-  [32] = {.lex_state = 119},
-  [33] = {.lex_state = 119},
-  [34] = {.lex_state = 119},
+  [23] = {.lex_state = 120},
+  [24] = {.lex_state = 120},
+  [25] = {.lex_state = 120},
+  [26] = {.lex_state = 47},
+  [27] = {.lex_state = 120},
+  [28] = {.lex_state = 120},
+  [29] = {.lex_state = 120},
+  [30] = {.lex_state = 120},
+  [31] = {.lex_state = 120},
+  [32] = {.lex_state = 120},
+  [33] = {.lex_state = 120},
+  [34] = {.lex_state = 120},
   [35] = {.lex_state = 47},
-  [36] = {.lex_state = 119},
-  [37] = {.lex_state = 119},
-  [38] = {.lex_state = 119},
-  [39] = {.lex_state = 119},
-  [40] = {.lex_state = 119},
-  [41] = {.lex_state = 119},
-  [42] = {.lex_state = 119},
-  [43] = {.lex_state = 119},
-  [44] = {.lex_state = 119},
+  [36] = {.lex_state = 120},
+  [37] = {.lex_state = 120},
+  [38] = {.lex_state = 120},
+  [39] = {.lex_state = 120},
+  [40] = {.lex_state = 47},
+  [41] = {.lex_state = 120},
+  [42] = {.lex_state = 120},
+  [43] = {.lex_state = 120},
+  [44] = {.lex_state = 120},
   [45] = {.lex_state = 45},
   [46] = {.lex_state = 45},
   [47] = {.lex_state = 45},
   [48] = {.lex_state = 45},
   [49] = {.lex_state = 45},
-  [50] = {.lex_state = 119},
-  [51] = {.lex_state = 119},
-  [52] = {.lex_state = 119},
-  [53] = {.lex_state = 119},
-  [54] = {.lex_state = 119},
-  [55] = {.lex_state = 47},
-  [56] = {.lex_state = 47},
-  [57] = {.lex_state = 119},
+  [50] = {.lex_state = 120},
+  [51] = {.lex_state = 120},
+  [52] = {.lex_state = 120},
+  [53] = {.lex_state = 120},
+  [54] = {.lex_state = 120},
+  [55] = {.lex_state = 120},
+  [56] = {.lex_state = 120},
+  [57] = {.lex_state = 47},
   [58] = {.lex_state = 47},
   [59] = {.lex_state = 47},
-  [60] = {.lex_state = 119},
+  [60] = {.lex_state = 47},
   [61] = {.lex_state = 47},
-  [62] = {.lex_state = 119},
-  [63] = {.lex_state = 119},
-  [64] = {.lex_state = 119},
-  [65] = {.lex_state = 119},
-  [66] = {.lex_state = 119},
-  [67] = {.lex_state = 119},
-  [68] = {.lex_state = 119},
-  [69] = {.lex_state = 119},
-  [70] = {.lex_state = 119},
-  [71] = {.lex_state = 119},
-  [72] = {.lex_state = 119},
-  [73] = {.lex_state = 119},
-  [74] = {.lex_state = 119},
-  [75] = {.lex_state = 119},
-  [76] = {.lex_state = 119},
-  [77] = {.lex_state = 119},
-  [78] = {.lex_state = 119},
-  [79] = {.lex_state = 119},
+  [62] = {.lex_state = 120},
+  [63] = {.lex_state = 120},
+  [64] = {.lex_state = 120},
+  [65] = {.lex_state = 120},
+  [66] = {.lex_state = 120},
+  [67] = {.lex_state = 120},
+  [68] = {.lex_state = 120},
+  [69] = {.lex_state = 120},
+  [70] = {.lex_state = 120},
+  [71] = {.lex_state = 120},
+  [72] = {.lex_state = 120},
+  [73] = {.lex_state = 120},
+  [74] = {.lex_state = 120},
+  [75] = {.lex_state = 120},
+  [76] = {.lex_state = 120},
+  [77] = {.lex_state = 120},
+  [78] = {.lex_state = 120},
+  [79] = {.lex_state = 120},
   [80] = {.lex_state = 45},
   [81] = {.lex_state = 45},
   [82] = {.lex_state = 45},
   [83] = {.lex_state = 45},
   [84] = {.lex_state = 45},
-  [85] = {.lex_state = 119},
+  [85] = {.lex_state = 45},
   [86] = {.lex_state = 45},
   [87] = {.lex_state = 45},
   [88] = {.lex_state = 45},
@@ -9597,7 +9646,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [94] = {.lex_state = 45},
   [95] = {.lex_state = 45},
   [96] = {.lex_state = 45},
-  [97] = {.lex_state = 119},
+  [97] = {.lex_state = 45},
   [98] = {.lex_state = 45},
   [99] = {.lex_state = 45},
   [100] = {.lex_state = 45},
@@ -9615,9 +9664,9 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [112] = {.lex_state = 45},
   [113] = {.lex_state = 45},
   [114] = {.lex_state = 45},
-  [115] = {.lex_state = 45},
+  [115] = {.lex_state = 120},
   [116] = {.lex_state = 45},
-  [117] = {.lex_state = 45},
+  [117] = {.lex_state = 120},
   [118] = {.lex_state = 45},
   [119] = {.lex_state = 45},
   [120] = {.lex_state = 45},
@@ -9648,266 +9697,266 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [145] = {.lex_state = 45},
   [146] = {.lex_state = 45},
   [147] = {.lex_state = 45},
-  [148] = {.lex_state = 119},
-  [149] = {.lex_state = 119},
-  [150] = {.lex_state = 47},
-  [151] = {.lex_state = 47},
-  [152] = {.lex_state = 119},
-  [153] = {.lex_state = 119},
-  [154] = {.lex_state = 119},
-  [155] = {.lex_state = 119},
-  [156] = {.lex_state = 119},
-  [157] = {.lex_state = 119},
-  [158] = {.lex_state = 119},
-  [159] = {.lex_state = 119},
-  [160] = {.lex_state = 119},
-  [161] = {.lex_state = 119},
-  [162] = {.lex_state = 119},
-  [163] = {.lex_state = 119},
-  [164] = {.lex_state = 119},
-  [165] = {.lex_state = 119},
-  [166] = {.lex_state = 119},
-  [167] = {.lex_state = 119},
-  [168] = {.lex_state = 119},
-  [169] = {.lex_state = 119},
-  [170] = {.lex_state = 119},
-  [171] = {.lex_state = 119},
-  [172] = {.lex_state = 119},
-  [173] = {.lex_state = 119},
-  [174] = {.lex_state = 119},
-  [175] = {.lex_state = 119},
-  [176] = {.lex_state = 119},
-  [177] = {.lex_state = 119},
-  [178] = {.lex_state = 119},
-  [179] = {.lex_state = 119},
-  [180] = {.lex_state = 119},
-  [181] = {.lex_state = 119},
-  [182] = {.lex_state = 119},
-  [183] = {.lex_state = 119},
-  [184] = {.lex_state = 119},
-  [185] = {.lex_state = 119},
-  [186] = {.lex_state = 119},
-  [187] = {.lex_state = 119},
-  [188] = {.lex_state = 119},
-  [189] = {.lex_state = 119},
-  [190] = {.lex_state = 119},
-  [191] = {.lex_state = 119},
-  [192] = {.lex_state = 119},
-  [193] = {.lex_state = 119},
-  [194] = {.lex_state = 119},
-  [195] = {.lex_state = 119},
-  [196] = {.lex_state = 119},
-  [197] = {.lex_state = 119},
-  [198] = {.lex_state = 119},
-  [199] = {.lex_state = 119},
-  [200] = {.lex_state = 119},
-  [201] = {.lex_state = 119},
+  [148] = {.lex_state = 47},
+  [149] = {.lex_state = 120},
+  [150] = {.lex_state = 120},
+  [151] = {.lex_state = 120},
+  [152] = {.lex_state = 120},
+  [153] = {.lex_state = 120},
+  [154] = {.lex_state = 120},
+  [155] = {.lex_state = 120},
+  [156] = {.lex_state = 120},
+  [157] = {.lex_state = 120},
+  [158] = {.lex_state = 120},
+  [159] = {.lex_state = 120},
+  [160] = {.lex_state = 120},
+  [161] = {.lex_state = 120},
+  [162] = {.lex_state = 120},
+  [163] = {.lex_state = 120},
+  [164] = {.lex_state = 120},
+  [165] = {.lex_state = 120},
+  [166] = {.lex_state = 120},
+  [167] = {.lex_state = 120},
+  [168] = {.lex_state = 120},
+  [169] = {.lex_state = 120},
+  [170] = {.lex_state = 120},
+  [171] = {.lex_state = 120},
+  [172] = {.lex_state = 120},
+  [173] = {.lex_state = 120},
+  [174] = {.lex_state = 120},
+  [175] = {.lex_state = 120},
+  [176] = {.lex_state = 120},
+  [177] = {.lex_state = 120},
+  [178] = {.lex_state = 47},
+  [179] = {.lex_state = 47},
+  [180] = {.lex_state = 47},
+  [181] = {.lex_state = 120},
+  [182] = {.lex_state = 47},
+  [183] = {.lex_state = 47},
+  [184] = {.lex_state = 47},
+  [185] = {.lex_state = 47},
+  [186] = {.lex_state = 47},
+  [187] = {.lex_state = 47},
+  [188] = {.lex_state = 47},
+  [189] = {.lex_state = 120},
+  [190] = {.lex_state = 47},
+  [191] = {.lex_state = 120},
+  [192] = {.lex_state = 120},
+  [193] = {.lex_state = 47},
+  [194] = {.lex_state = 47},
+  [195] = {.lex_state = 47},
+  [196] = {.lex_state = 47},
+  [197] = {.lex_state = 47},
+  [198] = {.lex_state = 47},
+  [199] = {.lex_state = 47},
+  [200] = {.lex_state = 120},
+  [201] = {.lex_state = 120},
   [202] = {.lex_state = 47},
   [203] = {.lex_state = 47},
   [204] = {.lex_state = 47},
   [205] = {.lex_state = 47},
   [206] = {.lex_state = 47},
-  [207] = {.lex_state = 47},
+  [207] = {.lex_state = 120},
   [208] = {.lex_state = 47},
   [209] = {.lex_state = 47},
   [210] = {.lex_state = 47},
   [211] = {.lex_state = 47},
-  [212] = {.lex_state = 119},
+  [212] = {.lex_state = 47},
   [213] = {.lex_state = 47},
-  [214] = {.lex_state = 119},
+  [214] = {.lex_state = 47},
   [215] = {.lex_state = 47},
   [216] = {.lex_state = 47},
   [217] = {.lex_state = 47},
   [218] = {.lex_state = 47},
   [219] = {.lex_state = 47},
-  [220] = {.lex_state = 47},
-  [221] = {.lex_state = 47},
-  [222] = {.lex_state = 119},
-  [223] = {.lex_state = 47},
-  [224] = {.lex_state = 47},
-  [225] = {.lex_state = 47},
-  [226] = {.lex_state = 47},
-  [227] = {.lex_state = 47},
-  [228] = {.lex_state = 47},
-  [229] = {.lex_state = 47},
-  [230] = {.lex_state = 47},
-  [231] = {.lex_state = 47},
-  [232] = {.lex_state = 47},
-  [233] = {.lex_state = 47},
-  [234] = {.lex_state = 47},
-  [235] = {.lex_state = 47},
-  [236] = {.lex_state = 47},
-  [237] = {.lex_state = 119},
-  [238] = {.lex_state = 47},
-  [239] = {.lex_state = 47},
-  [240] = {.lex_state = 47},
-  [241] = {.lex_state = 119},
-  [242] = {.lex_state = 119},
-  [243] = {.lex_state = 119},
-  [244] = {.lex_state = 119},
-  [245] = {.lex_state = 119},
-  [246] = {.lex_state = 119},
-  [247] = {.lex_state = 119},
-  [248] = {.lex_state = 119},
-  [249] = {.lex_state = 119},
-  [250] = {.lex_state = 119},
-  [251] = {.lex_state = 119},
-  [252] = {.lex_state = 119},
-  [253] = {.lex_state = 119},
-  [254] = {.lex_state = 119},
-  [255] = {.lex_state = 119},
-  [256] = {.lex_state = 119},
-  [257] = {.lex_state = 47},
-  [258] = {.lex_state = 47},
-  [259] = {.lex_state = 47},
-  [260] = {.lex_state = 119},
-  [261] = {.lex_state = 47},
-  [262] = {.lex_state = 119},
-  [263] = {.lex_state = 47},
-  [264] = {.lex_state = 119},
-  [265] = {.lex_state = 47},
-  [266] = {.lex_state = 47},
-  [267] = {.lex_state = 47},
-  [268] = {.lex_state = 47},
-  [269] = {.lex_state = 47},
-  [270] = {.lex_state = 47},
-  [271] = {.lex_state = 47},
-  [272] = {.lex_state = 119},
-  [273] = {.lex_state = 119},
-  [274] = {.lex_state = 47},
-  [275] = {.lex_state = 119},
-  [276] = {.lex_state = 119},
-  [277] = {.lex_state = 119},
-  [278] = {.lex_state = 119},
-  [279] = {.lex_state = 47},
-  [280] = {.lex_state = 47},
-  [281] = {.lex_state = 47},
-  [282] = {.lex_state = 119},
-  [283] = {.lex_state = 119},
-  [284] = {.lex_state = 47},
-  [285] = {.lex_state = 47},
+  [220] = {.lex_state = 120},
+  [221] = {.lex_state = 120},
+  [222] = {.lex_state = 120},
+  [223] = {.lex_state = 120},
+  [224] = {.lex_state = 120},
+  [225] = {.lex_state = 120},
+  [226] = {.lex_state = 120},
+  [227] = {.lex_state = 120},
+  [228] = {.lex_state = 120},
+  [229] = {.lex_state = 120},
+  [230] = {.lex_state = 120},
+  [231] = {.lex_state = 120},
+  [232] = {.lex_state = 120},
+  [233] = {.lex_state = 120},
+  [234] = {.lex_state = 120},
+  [235] = {.lex_state = 120},
+  [236] = {.lex_state = 120},
+  [237] = {.lex_state = 120},
+  [238] = {.lex_state = 120},
+  [239] = {.lex_state = 120},
+  [240] = {.lex_state = 120},
+  [241] = {.lex_state = 120},
+  [242] = {.lex_state = 120},
+  [243] = {.lex_state = 120},
+  [244] = {.lex_state = 120},
+  [245] = {.lex_state = 120},
+  [246] = {.lex_state = 120},
+  [247] = {.lex_state = 120},
+  [248] = {.lex_state = 120},
+  [249] = {.lex_state = 120},
+  [250] = {.lex_state = 120},
+  [251] = {.lex_state = 120},
+  [252] = {.lex_state = 120},
+  [253] = {.lex_state = 120},
+  [254] = {.lex_state = 120},
+  [255] = {.lex_state = 120},
+  [256] = {.lex_state = 47},
+  [257] = {.lex_state = 120},
+  [258] = {.lex_state = 120},
+  [259] = {.lex_state = 120},
+  [260] = {.lex_state = 120},
+  [261] = {.lex_state = 120},
+  [262] = {.lex_state = 120},
+  [263] = {.lex_state = 120},
+  [264] = {.lex_state = 120},
+  [265] = {.lex_state = 120},
+  [266] = {.lex_state = 120},
+  [267] = {.lex_state = 120},
+  [268] = {.lex_state = 120},
+  [269] = {.lex_state = 120},
+  [270] = {.lex_state = 120},
+  [271] = {.lex_state = 120},
+  [272] = {.lex_state = 120},
+  [273] = {.lex_state = 44},
+  [274] = {.lex_state = 120},
+  [275] = {.lex_state = 120},
+  [276] = {.lex_state = 120},
+  [277] = {.lex_state = 120},
+  [278] = {.lex_state = 120},
+  [279] = {.lex_state = 120},
+  [280] = {.lex_state = 120},
+  [281] = {.lex_state = 120},
+  [282] = {.lex_state = 120},
+  [283] = {.lex_state = 120},
+  [284] = {.lex_state = 120},
+  [285] = {.lex_state = 120},
   [286] = {.lex_state = 47},
   [287] = {.lex_state = 47},
   [288] = {.lex_state = 47},
   [289] = {.lex_state = 47},
-  [290] = {.lex_state = 119},
-  [291] = {.lex_state = 119},
-  [292] = {.lex_state = 119},
-  [293] = {.lex_state = 119},
-  [294] = {.lex_state = 119},
-  [295] = {.lex_state = 119},
-  [296] = {.lex_state = 119},
-  [297] = {.lex_state = 119},
+  [290] = {.lex_state = 47},
+  [291] = {.lex_state = 47},
+  [292] = {.lex_state = 47},
+  [293] = {.lex_state = 47},
+  [294] = {.lex_state = 47},
+  [295] = {.lex_state = 47},
+  [296] = {.lex_state = 47},
+  [297] = {.lex_state = 47},
   [298] = {.lex_state = 47},
-  [299] = {.lex_state = 119},
+  [299] = {.lex_state = 47},
   [300] = {.lex_state = 47},
   [301] = {.lex_state = 47},
   [302] = {.lex_state = 47},
-  [303] = {.lex_state = 119},
-  [304] = {.lex_state = 119},
-  [305] = {.lex_state = 119},
-  [306] = {.lex_state = 44},
-  [307] = {.lex_state = 119},
-  [308] = {.lex_state = 119},
-  [309] = {.lex_state = 119},
+  [303] = {.lex_state = 47},
+  [304] = {.lex_state = 47},
+  [305] = {.lex_state = 47},
+  [306] = {.lex_state = 47},
+  [307] = {.lex_state = 47},
+  [308] = {.lex_state = 47},
+  [309] = {.lex_state = 47},
   [310] = {.lex_state = 47},
-  [311] = {.lex_state = 119},
-  [312] = {.lex_state = 119},
-  [313] = {.lex_state = 44},
-  [314] = {.lex_state = 119},
-  [315] = {.lex_state = 47},
-  [316] = {.lex_state = 47},
-  [317] = {.lex_state = 119},
-  [318] = {.lex_state = 119},
-  [319] = {.lex_state = 119},
-  [320] = {.lex_state = 119},
-  [321] = {.lex_state = 119},
-  [322] = {.lex_state = 119},
-  [323] = {.lex_state = 119},
-  [324] = {.lex_state = 119},
-  [325] = {.lex_state = 119},
-  [326] = {.lex_state = 119},
-  [327] = {.lex_state = 119},
-  [328] = {.lex_state = 119},
-  [329] = {.lex_state = 119},
-  [330] = {.lex_state = 119},
-  [331] = {.lex_state = 119},
-  [332] = {.lex_state = 119},
-  [333] = {.lex_state = 119},
-  [334] = {.lex_state = 119},
-  [335] = {.lex_state = 119},
-  [336] = {.lex_state = 119},
-  [337] = {.lex_state = 119},
-  [338] = {.lex_state = 119},
-  [339] = {.lex_state = 119},
-  [340] = {.lex_state = 119},
-  [341] = {.lex_state = 119},
-  [342] = {.lex_state = 119},
-  [343] = {.lex_state = 119},
-  [344] = {.lex_state = 119},
-  [345] = {.lex_state = 119},
-  [346] = {.lex_state = 119},
-  [347] = {.lex_state = 119},
-  [348] = {.lex_state = 119},
-  [349] = {.lex_state = 119},
-  [350] = {.lex_state = 119},
-  [351] = {.lex_state = 119},
-  [352] = {.lex_state = 119},
-  [353] = {.lex_state = 119},
-  [354] = {.lex_state = 119},
-  [355] = {.lex_state = 119},
-  [356] = {.lex_state = 119},
-  [357] = {.lex_state = 119},
-  [358] = {.lex_state = 119},
-  [359] = {.lex_state = 119},
-  [360] = {.lex_state = 119},
-  [361] = {.lex_state = 119},
-  [362] = {.lex_state = 119},
-  [363] = {.lex_state = 119},
-  [364] = {.lex_state = 119},
-  [365] = {.lex_state = 119},
-  [366] = {.lex_state = 119},
-  [367] = {.lex_state = 119},
-  [368] = {.lex_state = 119},
-  [369] = {.lex_state = 119},
-  [370] = {.lex_state = 119},
-  [371] = {.lex_state = 119},
-  [372] = {.lex_state = 119},
-  [373] = {.lex_state = 119},
-  [374] = {.lex_state = 119},
-  [375] = {.lex_state = 119},
-  [376] = {.lex_state = 119},
-  [377] = {.lex_state = 119},
-  [378] = {.lex_state = 119},
-  [379] = {.lex_state = 119},
-  [380] = {.lex_state = 119},
-  [381] = {.lex_state = 119},
-  [382] = {.lex_state = 119},
-  [383] = {.lex_state = 119},
-  [384] = {.lex_state = 119},
-  [385] = {.lex_state = 44},
-  [386] = {.lex_state = 119},
-  [387] = {.lex_state = 119},
-  [388] = {.lex_state = 119},
-  [389] = {.lex_state = 119},
-  [390] = {.lex_state = 119},
-  [391] = {.lex_state = 119},
-  [392] = {.lex_state = 119},
-  [393] = {.lex_state = 119},
-  [394] = {.lex_state = 119},
-  [395] = {.lex_state = 119},
-  [396] = {.lex_state = 119},
-  [397] = {.lex_state = 119},
-  [398] = {.lex_state = 119},
-  [399] = {.lex_state = 119},
-  [400] = {.lex_state = 119},
-  [401] = {.lex_state = 119},
-  [402] = {.lex_state = 119},
-  [403] = {.lex_state = 44},
+  [311] = {.lex_state = 47},
+  [312] = {.lex_state = 47},
+  [313] = {.lex_state = 47},
+  [314] = {.lex_state = 47},
+  [315] = {.lex_state = 120},
+  [316] = {.lex_state = 120},
+  [317] = {.lex_state = 120},
+  [318] = {.lex_state = 44},
+  [319] = {.lex_state = 120},
+  [320] = {.lex_state = 120},
+  [321] = {.lex_state = 120},
+  [322] = {.lex_state = 120},
+  [323] = {.lex_state = 120},
+  [324] = {.lex_state = 120},
+  [325] = {.lex_state = 120},
+  [326] = {.lex_state = 120},
+  [327] = {.lex_state = 120},
+  [328] = {.lex_state = 120},
+  [329] = {.lex_state = 120},
+  [330] = {.lex_state = 120},
+  [331] = {.lex_state = 120},
+  [332] = {.lex_state = 120},
+  [333] = {.lex_state = 120},
+  [334] = {.lex_state = 120},
+  [335] = {.lex_state = 120},
+  [336] = {.lex_state = 120},
+  [337] = {.lex_state = 120},
+  [338] = {.lex_state = 120},
+  [339] = {.lex_state = 120},
+  [340] = {.lex_state = 120},
+  [341] = {.lex_state = 120},
+  [342] = {.lex_state = 120},
+  [343] = {.lex_state = 120},
+  [344] = {.lex_state = 120},
+  [345] = {.lex_state = 120},
+  [346] = {.lex_state = 120},
+  [347] = {.lex_state = 120},
+  [348] = {.lex_state = 120},
+  [349] = {.lex_state = 120},
+  [350] = {.lex_state = 120},
+  [351] = {.lex_state = 120},
+  [352] = {.lex_state = 120},
+  [353] = {.lex_state = 120},
+  [354] = {.lex_state = 120},
+  [355] = {.lex_state = 120},
+  [356] = {.lex_state = 120},
+  [357] = {.lex_state = 120},
+  [358] = {.lex_state = 120},
+  [359] = {.lex_state = 120},
+  [360] = {.lex_state = 120},
+  [361] = {.lex_state = 120},
+  [362] = {.lex_state = 120},
+  [363] = {.lex_state = 120},
+  [364] = {.lex_state = 120},
+  [365] = {.lex_state = 120},
+  [366] = {.lex_state = 120},
+  [367] = {.lex_state = 120},
+  [368] = {.lex_state = 120},
+  [369] = {.lex_state = 120},
+  [370] = {.lex_state = 120},
+  [371] = {.lex_state = 120},
+  [372] = {.lex_state = 120},
+  [373] = {.lex_state = 120},
+  [374] = {.lex_state = 120},
+  [375] = {.lex_state = 120},
+  [376] = {.lex_state = 120},
+  [377] = {.lex_state = 120},
+  [378] = {.lex_state = 120},
+  [379] = {.lex_state = 120},
+  [380] = {.lex_state = 120},
+  [381] = {.lex_state = 120},
+  [382] = {.lex_state = 120},
+  [383] = {.lex_state = 120},
+  [384] = {.lex_state = 120},
+  [385] = {.lex_state = 120},
+  [386] = {.lex_state = 120},
+  [387] = {.lex_state = 120},
+  [388] = {.lex_state = 120},
+  [389] = {.lex_state = 120},
+  [390] = {.lex_state = 44},
+  [391] = {.lex_state = 120},
+  [392] = {.lex_state = 120},
+  [393] = {.lex_state = 120},
+  [394] = {.lex_state = 120},
+  [395] = {.lex_state = 120},
+  [396] = {.lex_state = 120},
+  [397] = {.lex_state = 120},
+  [398] = {.lex_state = 120},
+  [399] = {.lex_state = 120},
+  [400] = {.lex_state = 120},
+  [401] = {.lex_state = 120},
+  [402] = {.lex_state = 120},
+  [403] = {.lex_state = 120},
   [404] = {.lex_state = 44},
-  [405] = {.lex_state = 119},
-  [406] = {.lex_state = 119},
-  [407] = {.lex_state = 44},
+  [405] = {.lex_state = 44},
+  [406] = {.lex_state = 120},
+  [407] = {.lex_state = 120},
   [408] = {.lex_state = 49},
   [409] = {.lex_state = 49},
   [410] = {.lex_state = 49},
@@ -9917,612 +9966,612 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [414] = {.lex_state = 49},
   [415] = {.lex_state = 49},
   [416] = {.lex_state = 49},
-  [417] = {.lex_state = 49},
-  [418] = {.lex_state = 52},
-  [419] = {.lex_state = 119},
-  [420] = {.lex_state = 119},
-  [421] = {.lex_state = 119},
-  [422] = {.lex_state = 119},
-  [423] = {.lex_state = 119},
-  [424] = {.lex_state = 119},
-  [425] = {.lex_state = 119},
-  [426] = {.lex_state = 119},
-  [427] = {.lex_state = 119},
-  [428] = {.lex_state = 119},
-  [429] = {.lex_state = 119},
-  [430] = {.lex_state = 119},
-  [431] = {.lex_state = 52},
-  [432] = {.lex_state = 52},
-  [433] = {.lex_state = 52},
-  [434] = {.lex_state = 52},
-  [435] = {.lex_state = 119},
-  [436] = {.lex_state = 52},
-  [437] = {.lex_state = 52},
-  [438] = {.lex_state = 52},
-  [439] = {.lex_state = 52},
-  [440] = {.lex_state = 52},
-  [441] = {.lex_state = 52},
-  [442] = {.lex_state = 52},
-  [443] = {.lex_state = 119},
-  [444] = {.lex_state = 52},
-  [445] = {.lex_state = 52},
-  [446] = {.lex_state = 52},
-  [447] = {.lex_state = 52},
-  [448] = {.lex_state = 52},
-  [449] = {.lex_state = 52},
-  [450] = {.lex_state = 119},
-  [451] = {.lex_state = 52},
-  [452] = {.lex_state = 119},
-  [453] = {.lex_state = 53},
-  [454] = {.lex_state = 57},
+  [417] = {.lex_state = 44},
+  [418] = {.lex_state = 49},
+  [419] = {.lex_state = 53},
+  [420] = {.lex_state = 120},
+  [421] = {.lex_state = 120},
+  [422] = {.lex_state = 120},
+  [423] = {.lex_state = 120},
+  [424] = {.lex_state = 120},
+  [425] = {.lex_state = 120},
+  [426] = {.lex_state = 120},
+  [427] = {.lex_state = 120},
+  [428] = {.lex_state = 120},
+  [429] = {.lex_state = 120},
+  [430] = {.lex_state = 120},
+  [431] = {.lex_state = 53},
+  [432] = {.lex_state = 53},
+  [433] = {.lex_state = 53},
+  [434] = {.lex_state = 53},
+  [435] = {.lex_state = 53},
+  [436] = {.lex_state = 53},
+  [437] = {.lex_state = 53},
+  [438] = {.lex_state = 53},
+  [439] = {.lex_state = 53},
+  [440] = {.lex_state = 53},
+  [441] = {.lex_state = 53},
+  [442] = {.lex_state = 53},
+  [443] = {.lex_state = 53},
+  [444] = {.lex_state = 53},
+  [445] = {.lex_state = 53},
+  [446] = {.lex_state = 53},
+  [447] = {.lex_state = 120},
+  [448] = {.lex_state = 53},
+  [449] = {.lex_state = 120},
+  [450] = {.lex_state = 120},
+  [451] = {.lex_state = 120},
+  [452] = {.lex_state = 53},
+  [453] = {.lex_state = 52},
+  [454] = {.lex_state = 52},
   [455] = {.lex_state = 57},
-  [456] = {.lex_state = 53},
-  [457] = {.lex_state = 53},
-  [458] = {.lex_state = 119},
-  [459] = {.lex_state = 119},
-  [460] = {.lex_state = 119},
-  [461] = {.lex_state = 57},
-  [462] = {.lex_state = 119},
-  [463] = {.lex_state = 119},
-  [464] = {.lex_state = 119},
-  [465] = {.lex_state = 119},
-  [466] = {.lex_state = 119},
-  [467] = {.lex_state = 119},
-  [468] = {.lex_state = 119},
-  [469] = {.lex_state = 119},
-  [470] = {.lex_state = 119},
-  [471] = {.lex_state = 119},
-  [472] = {.lex_state = 119},
-  [473] = {.lex_state = 119},
-  [474] = {.lex_state = 119},
-  [475] = {.lex_state = 119},
-  [476] = {.lex_state = 119},
-  [477] = {.lex_state = 119},
-  [478] = {.lex_state = 119},
-  [479] = {.lex_state = 119},
-  [480] = {.lex_state = 119},
-  [481] = {.lex_state = 119},
-  [482] = {.lex_state = 119},
-  [483] = {.lex_state = 119},
-  [484] = {.lex_state = 119},
-  [485] = {.lex_state = 119},
-  [486] = {.lex_state = 119},
-  [487] = {.lex_state = 119},
-  [488] = {.lex_state = 119},
-  [489] = {.lex_state = 119},
-  [490] = {.lex_state = 119},
-  [491] = {.lex_state = 119},
-  [492] = {.lex_state = 119},
-  [493] = {.lex_state = 119},
-  [494] = {.lex_state = 119},
-  [495] = {.lex_state = 119},
-  [496] = {.lex_state = 119},
-  [497] = {.lex_state = 119},
-  [498] = {.lex_state = 119},
-  [499] = {.lex_state = 119},
-  [500] = {.lex_state = 119},
-  [501] = {.lex_state = 119},
-  [502] = {.lex_state = 119},
-  [503] = {.lex_state = 119},
-  [504] = {.lex_state = 119},
-  [505] = {.lex_state = 119},
-  [506] = {.lex_state = 119},
-  [507] = {.lex_state = 119},
-  [508] = {.lex_state = 119},
-  [509] = {.lex_state = 119},
-  [510] = {.lex_state = 119},
-  [511] = {.lex_state = 119},
-  [512] = {.lex_state = 119},
-  [513] = {.lex_state = 119},
-  [514] = {.lex_state = 119},
-  [515] = {.lex_state = 119},
-  [516] = {.lex_state = 119},
-  [517] = {.lex_state = 119},
-  [518] = {.lex_state = 119},
-  [519] = {.lex_state = 119},
-  [520] = {.lex_state = 52},
-  [521] = {.lex_state = 119},
-  [522] = {.lex_state = 119},
-  [523] = {.lex_state = 119},
-  [524] = {.lex_state = 119},
-  [525] = {.lex_state = 119},
-  [526] = {.lex_state = 119},
-  [527] = {.lex_state = 119},
-  [528] = {.lex_state = 119},
-  [529] = {.lex_state = 119},
-  [530] = {.lex_state = 119},
-  [531] = {.lex_state = 119},
-  [532] = {.lex_state = 119},
-  [533] = {.lex_state = 119},
-  [534] = {.lex_state = 119},
-  [535] = {.lex_state = 119},
-  [536] = {.lex_state = 119},
-  [537] = {.lex_state = 119},
-  [538] = {.lex_state = 119},
-  [539] = {.lex_state = 119},
-  [540] = {.lex_state = 52},
-  [541] = {.lex_state = 119},
-  [542] = {.lex_state = 119},
-  [543] = {.lex_state = 119},
-  [544] = {.lex_state = 119},
-  [545] = {.lex_state = 119},
-  [546] = {.lex_state = 119},
-  [547] = {.lex_state = 119},
-  [548] = {.lex_state = 119},
-  [549] = {.lex_state = 119},
-  [550] = {.lex_state = 119},
-  [551] = {.lex_state = 119},
-  [552] = {.lex_state = 119},
-  [553] = {.lex_state = 119},
-  [554] = {.lex_state = 119},
-  [555] = {.lex_state = 119},
-  [556] = {.lex_state = 119},
-  [557] = {.lex_state = 119},
-  [558] = {.lex_state = 119},
-  [559] = {.lex_state = 119},
-  [560] = {.lex_state = 119},
-  [561] = {.lex_state = 119},
-  [562] = {.lex_state = 119},
-  [563] = {.lex_state = 119},
-  [564] = {.lex_state = 119},
-  [565] = {.lex_state = 119},
-  [566] = {.lex_state = 52},
-  [567] = {.lex_state = 119},
-  [568] = {.lex_state = 119},
-  [569] = {.lex_state = 119},
-  [570] = {.lex_state = 119},
-  [571] = {.lex_state = 49},
-  [572] = {.lex_state = 119},
-  [573] = {.lex_state = 119},
-  [574] = {.lex_state = 119},
-  [575] = {.lex_state = 119},
-  [576] = {.lex_state = 119},
-  [577] = {.lex_state = 119},
-  [578] = {.lex_state = 119},
-  [579] = {.lex_state = 52},
-  [580] = {.lex_state = 119},
-  [581] = {.lex_state = 119},
-  [582] = {.lex_state = 119},
-  [583] = {.lex_state = 119},
-  [584] = {.lex_state = 119},
-  [585] = {.lex_state = 119},
-  [586] = {.lex_state = 119},
-  [587] = {.lex_state = 119},
-  [588] = {.lex_state = 119},
-  [589] = {.lex_state = 119},
-  [590] = {.lex_state = 119},
-  [591] = {.lex_state = 119},
-  [592] = {.lex_state = 119},
-  [593] = {.lex_state = 119},
-  [594] = {.lex_state = 119},
-  [595] = {.lex_state = 119},
-  [596] = {.lex_state = 119},
-  [597] = {.lex_state = 119},
-  [598] = {.lex_state = 119},
-  [599] = {.lex_state = 119},
-  [600] = {.lex_state = 119},
-  [601] = {.lex_state = 119},
-  [602] = {.lex_state = 119},
-  [603] = {.lex_state = 119},
-  [604] = {.lex_state = 119},
-  [605] = {.lex_state = 119},
-  [606] = {.lex_state = 119},
-  [607] = {.lex_state = 119},
-  [608] = {.lex_state = 119},
-  [609] = {.lex_state = 119},
-  [610] = {.lex_state = 119},
-  [611] = {.lex_state = 119},
-  [612] = {.lex_state = 119},
-  [613] = {.lex_state = 119},
-  [614] = {.lex_state = 119},
-  [615] = {.lex_state = 119},
-  [616] = {.lex_state = 119},
-  [617] = {.lex_state = 119},
-  [618] = {.lex_state = 119},
-  [619] = {.lex_state = 119},
-  [620] = {.lex_state = 119},
-  [621] = {.lex_state = 119},
-  [622] = {.lex_state = 119},
-  [623] = {.lex_state = 119},
-  [624] = {.lex_state = 119},
-  [625] = {.lex_state = 49},
-  [626] = {.lex_state = 49},
-  [627] = {.lex_state = 49},
-  [628] = {.lex_state = 52},
-  [629] = {.lex_state = 52},
+  [456] = {.lex_state = 52},
+  [457] = {.lex_state = 57},
+  [458] = {.lex_state = 57},
+  [459] = {.lex_state = 120},
+  [460] = {.lex_state = 120},
+  [461] = {.lex_state = 120},
+  [462] = {.lex_state = 120},
+  [463] = {.lex_state = 120},
+  [464] = {.lex_state = 120},
+  [465] = {.lex_state = 120},
+  [466] = {.lex_state = 120},
+  [467] = {.lex_state = 120},
+  [468] = {.lex_state = 120},
+  [469] = {.lex_state = 120},
+  [470] = {.lex_state = 120},
+  [471] = {.lex_state = 120},
+  [472] = {.lex_state = 120},
+  [473] = {.lex_state = 120},
+  [474] = {.lex_state = 120},
+  [475] = {.lex_state = 120},
+  [476] = {.lex_state = 120},
+  [477] = {.lex_state = 120},
+  [478] = {.lex_state = 120},
+  [479] = {.lex_state = 120},
+  [480] = {.lex_state = 120},
+  [481] = {.lex_state = 120},
+  [482] = {.lex_state = 120},
+  [483] = {.lex_state = 120},
+  [484] = {.lex_state = 120},
+  [485] = {.lex_state = 120},
+  [486] = {.lex_state = 120},
+  [487] = {.lex_state = 120},
+  [488] = {.lex_state = 120},
+  [489] = {.lex_state = 120},
+  [490] = {.lex_state = 120},
+  [491] = {.lex_state = 120},
+  [492] = {.lex_state = 120},
+  [493] = {.lex_state = 120},
+  [494] = {.lex_state = 120},
+  [495] = {.lex_state = 120},
+  [496] = {.lex_state = 120},
+  [497] = {.lex_state = 53},
+  [498] = {.lex_state = 120},
+  [499] = {.lex_state = 53},
+  [500] = {.lex_state = 120},
+  [501] = {.lex_state = 120},
+  [502] = {.lex_state = 120},
+  [503] = {.lex_state = 53},
+  [504] = {.lex_state = 120},
+  [505] = {.lex_state = 120},
+  [506] = {.lex_state = 53},
+  [507] = {.lex_state = 120},
+  [508] = {.lex_state = 120},
+  [509] = {.lex_state = 120},
+  [510] = {.lex_state = 120},
+  [511] = {.lex_state = 120},
+  [512] = {.lex_state = 120},
+  [513] = {.lex_state = 120},
+  [514] = {.lex_state = 120},
+  [515] = {.lex_state = 120},
+  [516] = {.lex_state = 120},
+  [517] = {.lex_state = 120},
+  [518] = {.lex_state = 120},
+  [519] = {.lex_state = 120},
+  [520] = {.lex_state = 120},
+  [521] = {.lex_state = 120},
+  [522] = {.lex_state = 120},
+  [523] = {.lex_state = 120},
+  [524] = {.lex_state = 120},
+  [525] = {.lex_state = 120},
+  [526] = {.lex_state = 120},
+  [527] = {.lex_state = 120},
+  [528] = {.lex_state = 120},
+  [529] = {.lex_state = 120},
+  [530] = {.lex_state = 120},
+  [531] = {.lex_state = 120},
+  [532] = {.lex_state = 120},
+  [533] = {.lex_state = 120},
+  [534] = {.lex_state = 120},
+  [535] = {.lex_state = 120},
+  [536] = {.lex_state = 120},
+  [537] = {.lex_state = 120},
+  [538] = {.lex_state = 120},
+  [539] = {.lex_state = 120},
+  [540] = {.lex_state = 120},
+  [541] = {.lex_state = 120},
+  [542] = {.lex_state = 120},
+  [543] = {.lex_state = 120},
+  [544] = {.lex_state = 120},
+  [545] = {.lex_state = 120},
+  [546] = {.lex_state = 120},
+  [547] = {.lex_state = 120},
+  [548] = {.lex_state = 120},
+  [549] = {.lex_state = 120},
+  [550] = {.lex_state = 49},
+  [551] = {.lex_state = 120},
+  [552] = {.lex_state = 120},
+  [553] = {.lex_state = 120},
+  [554] = {.lex_state = 120},
+  [555] = {.lex_state = 120},
+  [556] = {.lex_state = 120},
+  [557] = {.lex_state = 120},
+  [558] = {.lex_state = 120},
+  [559] = {.lex_state = 120},
+  [560] = {.lex_state = 120},
+  [561] = {.lex_state = 120},
+  [562] = {.lex_state = 120},
+  [563] = {.lex_state = 120},
+  [564] = {.lex_state = 120},
+  [565] = {.lex_state = 120},
+  [566] = {.lex_state = 120},
+  [567] = {.lex_state = 120},
+  [568] = {.lex_state = 120},
+  [569] = {.lex_state = 120},
+  [570] = {.lex_state = 120},
+  [571] = {.lex_state = 120},
+  [572] = {.lex_state = 120},
+  [573] = {.lex_state = 120},
+  [574] = {.lex_state = 120},
+  [575] = {.lex_state = 120},
+  [576] = {.lex_state = 120},
+  [577] = {.lex_state = 120},
+  [578] = {.lex_state = 120},
+  [579] = {.lex_state = 120},
+  [580] = {.lex_state = 120},
+  [581] = {.lex_state = 120},
+  [582] = {.lex_state = 120},
+  [583] = {.lex_state = 120},
+  [584] = {.lex_state = 120},
+  [585] = {.lex_state = 120},
+  [586] = {.lex_state = 120},
+  [587] = {.lex_state = 120},
+  [588] = {.lex_state = 120},
+  [589] = {.lex_state = 120},
+  [590] = {.lex_state = 120},
+  [591] = {.lex_state = 120},
+  [592] = {.lex_state = 120},
+  [593] = {.lex_state = 120},
+  [594] = {.lex_state = 120},
+  [595] = {.lex_state = 120},
+  [596] = {.lex_state = 120},
+  [597] = {.lex_state = 120},
+  [598] = {.lex_state = 120},
+  [599] = {.lex_state = 120},
+  [600] = {.lex_state = 120},
+  [601] = {.lex_state = 120},
+  [602] = {.lex_state = 120},
+  [603] = {.lex_state = 120},
+  [604] = {.lex_state = 120},
+  [605] = {.lex_state = 120},
+  [606] = {.lex_state = 120},
+  [607] = {.lex_state = 120},
+  [608] = {.lex_state = 120},
+  [609] = {.lex_state = 120},
+  [610] = {.lex_state = 120},
+  [611] = {.lex_state = 120},
+  [612] = {.lex_state = 120},
+  [613] = {.lex_state = 120},
+  [614] = {.lex_state = 120},
+  [615] = {.lex_state = 120},
+  [616] = {.lex_state = 120},
+  [617] = {.lex_state = 120},
+  [618] = {.lex_state = 120},
+  [619] = {.lex_state = 120},
+  [620] = {.lex_state = 120},
+  [621] = {.lex_state = 120},
+  [622] = {.lex_state = 120},
+  [623] = {.lex_state = 120},
+  [624] = {.lex_state = 120},
+  [625] = {.lex_state = 120},
+  [626] = {.lex_state = 120},
+  [627] = {.lex_state = 120},
+  [628] = {.lex_state = 49},
+  [629] = {.lex_state = 49},
   [630] = {.lex_state = 49},
-  [631] = {.lex_state = 50},
-  [632] = {.lex_state = 50},
-  [633] = {.lex_state = 50},
+  [631] = {.lex_state = 49},
+  [632] = {.lex_state = 53},
+  [633] = {.lex_state = 53},
   [634] = {.lex_state = 50},
   [635] = {.lex_state = 50},
-  [636] = {.lex_state = 49},
+  [636] = {.lex_state = 50},
   [637] = {.lex_state = 50},
-  [638] = {.lex_state = 52},
+  [638] = {.lex_state = 49},
   [639] = {.lex_state = 50},
   [640] = {.lex_state = 50},
-  [641] = {.lex_state = 49},
-  [642] = {.lex_state = 50},
+  [641] = {.lex_state = 50},
+  [642] = {.lex_state = 49},
   [643] = {.lex_state = 50},
-  [644] = {.lex_state = 52},
-  [645] = {.lex_state = 52},
-  [646] = {.lex_state = 52},
-  [647] = {.lex_state = 52},
-  [648] = {.lex_state = 52},
-  [649] = {.lex_state = 52},
-  [650] = {.lex_state = 52},
-  [651] = {.lex_state = 52},
-  [652] = {.lex_state = 52},
-  [653] = {.lex_state = 52},
-  [654] = {.lex_state = 52},
-  [655] = {.lex_state = 52},
-  [656] = {.lex_state = 52},
-  [657] = {.lex_state = 52},
-  [658] = {.lex_state = 52},
-  [659] = {.lex_state = 52},
-  [660] = {.lex_state = 52},
-  [661] = {.lex_state = 52},
-  [662] = {.lex_state = 119},
-  [663] = {.lex_state = 119},
-  [664] = {.lex_state = 119},
-  [665] = {.lex_state = 119},
-  [666] = {.lex_state = 52},
-  [667] = {.lex_state = 52},
-  [668] = {.lex_state = 49},
-  [669] = {.lex_state = 50},
-  [670] = {.lex_state = 52},
+  [644] = {.lex_state = 50},
+  [645] = {.lex_state = 50},
+  [646] = {.lex_state = 53},
+  [647] = {.lex_state = 53},
+  [648] = {.lex_state = 53},
+  [649] = {.lex_state = 53},
+  [650] = {.lex_state = 53},
+  [651] = {.lex_state = 53},
+  [652] = {.lex_state = 53},
+  [653] = {.lex_state = 53},
+  [654] = {.lex_state = 53},
+  [655] = {.lex_state = 53},
+  [656] = {.lex_state = 53},
+  [657] = {.lex_state = 53},
+  [658] = {.lex_state = 53},
+  [659] = {.lex_state = 53},
+  [660] = {.lex_state = 53},
+  [661] = {.lex_state = 53},
+  [662] = {.lex_state = 53},
+  [663] = {.lex_state = 53},
+  [664] = {.lex_state = 53},
+  [665] = {.lex_state = 53},
+  [666] = {.lex_state = 53},
+  [667] = {.lex_state = 120},
+  [668] = {.lex_state = 120},
+  [669] = {.lex_state = 120},
+  [670] = {.lex_state = 120},
   [671] = {.lex_state = 50},
-  [672] = {.lex_state = 50},
-  [673] = {.lex_state = 50},
-  [674] = {.lex_state = 50},
-  [675] = {.lex_state = 50},
+  [672] = {.lex_state = 53},
+  [673] = {.lex_state = 49},
+  [674] = {.lex_state = 53},
+  [675] = {.lex_state = 53},
   [676] = {.lex_state = 50},
   [677] = {.lex_state = 50},
   [678] = {.lex_state = 50},
   [679] = {.lex_state = 50},
   [680] = {.lex_state = 50},
-  [681] = {.lex_state = 119},
-  [682] = {.lex_state = 119},
-  [683] = {.lex_state = 50},
+  [681] = {.lex_state = 50},
+  [682] = {.lex_state = 50},
+  [683] = {.lex_state = 53},
   [684] = {.lex_state = 50},
   [685] = {.lex_state = 50},
   [686] = {.lex_state = 50},
   [687] = {.lex_state = 50},
-  [688] = {.lex_state = 52},
-  [689] = {.lex_state = 52},
-  [690] = {.lex_state = 52},
-  [691] = {.lex_state = 52},
-  [692] = {.lex_state = 52},
-  [693] = {.lex_state = 52},
-  [694] = {.lex_state = 50},
-  [695] = {.lex_state = 50},
-  [696] = {.lex_state = 52},
-  [697] = {.lex_state = 51},
-  [698] = {.lex_state = 51},
-  [699] = {.lex_state = 51},
-  [700] = {.lex_state = 49},
-  [701] = {.lex_state = 50},
+  [688] = {.lex_state = 50},
+  [689] = {.lex_state = 50},
+  [690] = {.lex_state = 50},
+  [691] = {.lex_state = 53},
+  [692] = {.lex_state = 50},
+  [693] = {.lex_state = 50},
+  [694] = {.lex_state = 53},
+  [695] = {.lex_state = 53},
+  [696] = {.lex_state = 53},
+  [697] = {.lex_state = 53},
+  [698] = {.lex_state = 50},
+  [699] = {.lex_state = 120},
+  [700] = {.lex_state = 50},
+  [701] = {.lex_state = 51},
   [702] = {.lex_state = 50},
-  [703] = {.lex_state = 50},
+  [703] = {.lex_state = 120},
   [704] = {.lex_state = 50},
   [705] = {.lex_state = 50},
-  [706] = {.lex_state = 52},
+  [706] = {.lex_state = 51},
   [707] = {.lex_state = 50},
-  [708] = {.lex_state = 49},
-  [709] = {.lex_state = 52},
-  [710] = {.lex_state = 52},
-  [711] = {.lex_state = 52},
-  [712] = {.lex_state = 52},
-  [713] = {.lex_state = 52},
-  [714] = {.lex_state = 52},
-  [715] = {.lex_state = 52},
-  [716] = {.lex_state = 49},
-  [717] = {.lex_state = 52},
-  [718] = {.lex_state = 52},
-  [719] = {.lex_state = 52},
-  [720] = {.lex_state = 52},
-  [721] = {.lex_state = 52},
-  [722] = {.lex_state = 52},
-  [723] = {.lex_state = 52},
-  [724] = {.lex_state = 52},
-  [725] = {.lex_state = 52},
-  [726] = {.lex_state = 52},
-  [727] = {.lex_state = 52},
-  [728] = {.lex_state = 52},
-  [729] = {.lex_state = 52},
-  [730] = {.lex_state = 52},
-  [731] = {.lex_state = 52},
-  [732] = {.lex_state = 52},
-  [733] = {.lex_state = 52},
-  [734] = {.lex_state = 52},
-  [735] = {.lex_state = 52},
-  [736] = {.lex_state = 52},
-  [737] = {.lex_state = 52},
-  [738] = {.lex_state = 52},
-  [739] = {.lex_state = 52},
-  [740] = {.lex_state = 52},
-  [741] = {.lex_state = 52},
-  [742] = {.lex_state = 52},
-  [743] = {.lex_state = 52},
-  [744] = {.lex_state = 52},
-  [745] = {.lex_state = 52},
-  [746] = {.lex_state = 52},
-  [747] = {.lex_state = 49},
-  [748] = {.lex_state = 52},
-  [749] = {.lex_state = 52},
-  [750] = {.lex_state = 52},
-  [751] = {.lex_state = 52},
-  [752] = {.lex_state = 52},
-  [753] = {.lex_state = 52},
-  [754] = {.lex_state = 52},
-  [755] = {.lex_state = 52},
-  [756] = {.lex_state = 52},
-  [757] = {.lex_state = 52},
-  [758] = {.lex_state = 52},
-  [759] = {.lex_state = 52},
-  [760] = {.lex_state = 52},
-  [761] = {.lex_state = 52},
-  [762] = {.lex_state = 52},
-  [763] = {.lex_state = 52},
-  [764] = {.lex_state = 52},
-  [765] = {.lex_state = 52},
-  [766] = {.lex_state = 52},
-  [767] = {.lex_state = 49},
-  [768] = {.lex_state = 49},
-  [769] = {.lex_state = 49},
-  [770] = {.lex_state = 52},
-  [771] = {.lex_state = 52},
-  [772] = {.lex_state = 49},
-  [773] = {.lex_state = 52},
-  [774] = {.lex_state = 52},
-  [775] = {.lex_state = 52},
-  [776] = {.lex_state = 52},
-  [777] = {.lex_state = 49},
-  [778] = {.lex_state = 52},
-  [779] = {.lex_state = 52},
-  [780] = {.lex_state = 52},
-  [781] = {.lex_state = 52},
-  [782] = {.lex_state = 52},
-  [783] = {.lex_state = 52},
-  [784] = {.lex_state = 52},
-  [785] = {.lex_state = 52},
-  [786] = {.lex_state = 52},
-  [787] = {.lex_state = 52},
-  [788] = {.lex_state = 52},
-  [789] = {.lex_state = 49},
-  [790] = {.lex_state = 52},
-  [791] = {.lex_state = 52},
-  [792] = {.lex_state = 52},
-  [793] = {.lex_state = 52},
-  [794] = {.lex_state = 52},
-  [795] = {.lex_state = 52},
-  [796] = {.lex_state = 50},
-  [797] = {.lex_state = 50},
-  [798] = {.lex_state = 50},
-  [799] = {.lex_state = 50},
-  [800] = {.lex_state = 50},
-  [801] = {.lex_state = 50},
-  [802] = {.lex_state = 50},
-  [803] = {.lex_state = 50},
-  [804] = {.lex_state = 50},
-  [805] = {.lex_state = 50},
-  [806] = {.lex_state = 50},
-  [807] = {.lex_state = 50},
-  [808] = {.lex_state = 52},
-  [809] = {.lex_state = 50},
-  [810] = {.lex_state = 52},
-  [811] = {.lex_state = 52},
-  [812] = {.lex_state = 52},
-  [813] = {.lex_state = 52},
-  [814] = {.lex_state = 52},
-  [815] = {.lex_state = 52},
-  [816] = {.lex_state = 52},
-  [817] = {.lex_state = 52},
-  [818] = {.lex_state = 52},
-  [819] = {.lex_state = 52},
-  [820] = {.lex_state = 52},
-  [821] = {.lex_state = 52},
-  [822] = {.lex_state = 52},
-  [823] = {.lex_state = 52},
-  [824] = {.lex_state = 52},
-  [825] = {.lex_state = 52},
-  [826] = {.lex_state = 52},
-  [827] = {.lex_state = 52},
+  [708] = {.lex_state = 50},
+  [709] = {.lex_state = 51},
+  [710] = {.lex_state = 53},
+  [711] = {.lex_state = 53},
+  [712] = {.lex_state = 53},
+  [713] = {.lex_state = 53},
+  [714] = {.lex_state = 49},
+  [715] = {.lex_state = 53},
+  [716] = {.lex_state = 53},
+  [717] = {.lex_state = 53},
+  [718] = {.lex_state = 49},
+  [719] = {.lex_state = 49},
+  [720] = {.lex_state = 53},
+  [721] = {.lex_state = 53},
+  [722] = {.lex_state = 53},
+  [723] = {.lex_state = 53},
+  [724] = {.lex_state = 53},
+  [725] = {.lex_state = 53},
+  [726] = {.lex_state = 53},
+  [727] = {.lex_state = 53},
+  [728] = {.lex_state = 53},
+  [729] = {.lex_state = 53},
+  [730] = {.lex_state = 53},
+  [731] = {.lex_state = 53},
+  [732] = {.lex_state = 53},
+  [733] = {.lex_state = 53},
+  [734] = {.lex_state = 53},
+  [735] = {.lex_state = 53},
+  [736] = {.lex_state = 53},
+  [737] = {.lex_state = 53},
+  [738] = {.lex_state = 53},
+  [739] = {.lex_state = 53},
+  [740] = {.lex_state = 53},
+  [741] = {.lex_state = 53},
+  [742] = {.lex_state = 53},
+  [743] = {.lex_state = 53},
+  [744] = {.lex_state = 53},
+  [745] = {.lex_state = 53},
+  [746] = {.lex_state = 53},
+  [747] = {.lex_state = 53},
+  [748] = {.lex_state = 53},
+  [749] = {.lex_state = 53},
+  [750] = {.lex_state = 53},
+  [751] = {.lex_state = 53},
+  [752] = {.lex_state = 53},
+  [753] = {.lex_state = 53},
+  [754] = {.lex_state = 53},
+  [755] = {.lex_state = 53},
+  [756] = {.lex_state = 53},
+  [757] = {.lex_state = 53},
+  [758] = {.lex_state = 53},
+  [759] = {.lex_state = 53},
+  [760] = {.lex_state = 53},
+  [761] = {.lex_state = 53},
+  [762] = {.lex_state = 53},
+  [763] = {.lex_state = 53},
+  [764] = {.lex_state = 53},
+  [765] = {.lex_state = 53},
+  [766] = {.lex_state = 53},
+  [767] = {.lex_state = 53},
+  [768] = {.lex_state = 53},
+  [769] = {.lex_state = 53},
+  [770] = {.lex_state = 53},
+  [771] = {.lex_state = 53},
+  [772] = {.lex_state = 53},
+  [773] = {.lex_state = 53},
+  [774] = {.lex_state = 53},
+  [775] = {.lex_state = 53},
+  [776] = {.lex_state = 53},
+  [777] = {.lex_state = 53},
+  [778] = {.lex_state = 53},
+  [779] = {.lex_state = 53},
+  [780] = {.lex_state = 53},
+  [781] = {.lex_state = 53},
+  [782] = {.lex_state = 53},
+  [783] = {.lex_state = 53},
+  [784] = {.lex_state = 53},
+  [785] = {.lex_state = 53},
+  [786] = {.lex_state = 53},
+  [787] = {.lex_state = 53},
+  [788] = {.lex_state = 49},
+  [789] = {.lex_state = 53},
+  [790] = {.lex_state = 53},
+  [791] = {.lex_state = 53},
+  [792] = {.lex_state = 49},
+  [793] = {.lex_state = 53},
+  [794] = {.lex_state = 53},
+  [795] = {.lex_state = 53},
+  [796] = {.lex_state = 49},
+  [797] = {.lex_state = 53},
+  [798] = {.lex_state = 53},
+  [799] = {.lex_state = 49},
+  [800] = {.lex_state = 53},
+  [801] = {.lex_state = 49},
+  [802] = {.lex_state = 53},
+  [803] = {.lex_state = 53},
+  [804] = {.lex_state = 49},
+  [805] = {.lex_state = 53},
+  [806] = {.lex_state = 53},
+  [807] = {.lex_state = 53},
+  [808] = {.lex_state = 53},
+  [809] = {.lex_state = 53},
+  [810] = {.lex_state = 53},
+  [811] = {.lex_state = 53},
+  [812] = {.lex_state = 53},
+  [813] = {.lex_state = 53},
+  [814] = {.lex_state = 53},
+  [815] = {.lex_state = 53},
+  [816] = {.lex_state = 53},
+  [817] = {.lex_state = 53},
+  [818] = {.lex_state = 53},
+  [819] = {.lex_state = 53},
+  [820] = {.lex_state = 53},
+  [821] = {.lex_state = 53},
+  [822] = {.lex_state = 53},
+  [823] = {.lex_state = 50},
+  [824] = {.lex_state = 50},
+  [825] = {.lex_state = 50},
+  [826] = {.lex_state = 50},
+  [827] = {.lex_state = 53},
   [828] = {.lex_state = 50},
-  [829] = {.lex_state = 52},
-  [830] = {.lex_state = 52},
-  [831] = {.lex_state = 52},
-  [832] = {.lex_state = 52},
-  [833] = {.lex_state = 52},
-  [834] = {.lex_state = 52},
-  [835] = {.lex_state = 52},
-  [836] = {.lex_state = 52},
-  [837] = {.lex_state = 52},
-  [838] = {.lex_state = 52},
-  [839] = {.lex_state = 52},
-  [840] = {.lex_state = 53},
+  [829] = {.lex_state = 50},
+  [830] = {.lex_state = 50},
+  [831] = {.lex_state = 50},
+  [832] = {.lex_state = 50},
+  [833] = {.lex_state = 50},
+  [834] = {.lex_state = 50},
+  [835] = {.lex_state = 50},
+  [836] = {.lex_state = 53},
+  [837] = {.lex_state = 53},
+  [838] = {.lex_state = 53},
+  [839] = {.lex_state = 53},
+  [840] = {.lex_state = 49},
   [841] = {.lex_state = 53},
-  [842] = {.lex_state = 53},
+  [842] = {.lex_state = 50},
   [843] = {.lex_state = 53},
   [844] = {.lex_state = 53},
-  [845] = {.lex_state = 57},
-  [846] = {.lex_state = 57},
-  [847] = {.lex_state = 57},
-  [848] = {.lex_state = 57},
-  [849] = {.lex_state = 57},
-  [850] = {.lex_state = 57},
+  [845] = {.lex_state = 50},
+  [846] = {.lex_state = 53},
+  [847] = {.lex_state = 53},
+  [848] = {.lex_state = 53},
+  [849] = {.lex_state = 53},
+  [850] = {.lex_state = 49},
   [851] = {.lex_state = 57},
-  [852] = {.lex_state = 52},
-  [853] = {.lex_state = 57},
+  [852] = {.lex_state = 57},
+  [853] = {.lex_state = 53},
   [854] = {.lex_state = 57},
-  [855] = {.lex_state = 52},
+  [855] = {.lex_state = 57},
   [856] = {.lex_state = 57},
   [857] = {.lex_state = 57},
-  [858] = {.lex_state = 57},
+  [858] = {.lex_state = 52},
   [859] = {.lex_state = 57},
-  [860] = {.lex_state = 57},
-  [861] = {.lex_state = 49},
-  [862] = {.lex_state = 53},
-  [863] = {.lex_state = 53},
-  [864] = {.lex_state = 53},
-  [865] = {.lex_state = 57},
-  [866] = {.lex_state = 57},
+  [860] = {.lex_state = 52},
+  [861] = {.lex_state = 57},
+  [862] = {.lex_state = 52},
+  [863] = {.lex_state = 52},
+  [864] = {.lex_state = 52},
+  [865] = {.lex_state = 52},
+  [866] = {.lex_state = 52},
   [867] = {.lex_state = 52},
-  [868] = {.lex_state = 57},
-  [869] = {.lex_state = 57},
-  [870] = {.lex_state = 53},
-  [871] = {.lex_state = 53},
-  [872] = {.lex_state = 53},
-  [873] = {.lex_state = 49},
-  [874] = {.lex_state = 53},
-  [875] = {.lex_state = 53},
+  [868] = {.lex_state = 49},
+  [869] = {.lex_state = 49},
+  [870] = {.lex_state = 57},
+  [871] = {.lex_state = 52},
+  [872] = {.lex_state = 57},
+  [873] = {.lex_state = 57},
+  [874] = {.lex_state = 52},
+  [875] = {.lex_state = 52},
   [876] = {.lex_state = 53},
-  [877] = {.lex_state = 53},
-  [878] = {.lex_state = 53},
-  [879] = {.lex_state = 49},
-  [880] = {.lex_state = 49},
-  [881] = {.lex_state = 53},
-  [882] = {.lex_state = 53},
-  [883] = {.lex_state = 49},
-  [884] = {.lex_state = 49},
-  [885] = {.lex_state = 49},
-  [886] = {.lex_state = 49},
-  [887] = {.lex_state = 49},
-  [888] = {.lex_state = 49},
-  [889] = {.lex_state = 49},
-  [890] = {.lex_state = 49},
-  [891] = {.lex_state = 49},
+  [877] = {.lex_state = 52},
+  [878] = {.lex_state = 49},
+  [879] = {.lex_state = 53},
+  [880] = {.lex_state = 57},
+  [881] = {.lex_state = 57},
+  [882] = {.lex_state = 52},
+  [883] = {.lex_state = 57},
+  [884] = {.lex_state = 57},
+  [885] = {.lex_state = 57},
+  [886] = {.lex_state = 57},
+  [887] = {.lex_state = 52},
+  [888] = {.lex_state = 52},
+  [889] = {.lex_state = 57},
+  [890] = {.lex_state = 52},
+  [891] = {.lex_state = 52},
   [892] = {.lex_state = 52},
-  [893] = {.lex_state = 49},
-  [894] = {.lex_state = 49},
+  [893] = {.lex_state = 53},
+  [894] = {.lex_state = 53},
   [895] = {.lex_state = 49},
   [896] = {.lex_state = 49},
-  [897] = {.lex_state = 49},
+  [897] = {.lex_state = 53},
   [898] = {.lex_state = 49},
   [899] = {.lex_state = 49},
-  [900] = {.lex_state = 52},
+  [900] = {.lex_state = 49},
   [901] = {.lex_state = 49},
-  [902] = {.lex_state = 52},
-  [903] = {.lex_state = 52},
+  [902] = {.lex_state = 49},
+  [903] = {.lex_state = 49},
   [904] = {.lex_state = 49},
   [905] = {.lex_state = 49},
   [906] = {.lex_state = 49},
-  [907] = {.lex_state = 119},
-  [908] = {.lex_state = 119},
-  [909] = {.lex_state = 119},
-  [910] = {.lex_state = 119},
-  [911] = {.lex_state = 119},
-  [912] = {.lex_state = 119},
+  [907] = {.lex_state = 49},
+  [908] = {.lex_state = 53},
+  [909] = {.lex_state = 49},
+  [910] = {.lex_state = 49},
+  [911] = {.lex_state = 49},
+  [912] = {.lex_state = 49},
   [913] = {.lex_state = 49},
   [914] = {.lex_state = 49},
-  [915] = {.lex_state = 119},
-  [916] = {.lex_state = 119},
-  [917] = {.lex_state = 119},
-  [918] = {.lex_state = 119},
-  [919] = {.lex_state = 52},
-  [920] = {.lex_state = 52},
-  [921] = {.lex_state = 49},
-  [922] = {.lex_state = 52},
-  [923] = {.lex_state = 52},
-  [924] = {.lex_state = 49},
-  [925] = {.lex_state = 52},
-  [926] = {.lex_state = 52},
-  [927] = {.lex_state = 52},
-  [928] = {.lex_state = 52},
-  [929] = {.lex_state = 52},
-  [930] = {.lex_state = 52},
-  [931] = {.lex_state = 52},
-  [932] = {.lex_state = 52},
-  [933] = {.lex_state = 52},
-  [934] = {.lex_state = 52},
-  [935] = {.lex_state = 52},
-  [936] = {.lex_state = 52},
-  [937] = {.lex_state = 52},
-  [938] = {.lex_state = 52},
-  [939] = {.lex_state = 52},
-  [940] = {.lex_state = 52},
-  [941] = {.lex_state = 52},
-  [942] = {.lex_state = 52},
-  [943] = {.lex_state = 52},
-  [944] = {.lex_state = 52},
-  [945] = {.lex_state = 52},
-  [946] = {.lex_state = 52},
-  [947] = {.lex_state = 52},
-  [948] = {.lex_state = 52},
-  [949] = {.lex_state = 52},
-  [950] = {.lex_state = 52},
-  [951] = {.lex_state = 52},
-  [952] = {.lex_state = 52},
-  [953] = {.lex_state = 52},
-  [954] = {.lex_state = 52},
-  [955] = {.lex_state = 52},
-  [956] = {.lex_state = 52},
-  [957] = {.lex_state = 50},
-  [958] = {.lex_state = 50},
-  [959] = {.lex_state = 50},
-  [960] = {.lex_state = 50},
-  [961] = {.lex_state = 50},
-  [962] = {.lex_state = 50},
-  [963] = {.lex_state = 50},
-  [964] = {.lex_state = 50},
-  [965] = {.lex_state = 50},
-  [966] = {.lex_state = 50},
-  [967] = {.lex_state = 50},
+  [915] = {.lex_state = 49},
+  [916] = {.lex_state = 53},
+  [917] = {.lex_state = 53},
+  [918] = {.lex_state = 120},
+  [919] = {.lex_state = 120},
+  [920] = {.lex_state = 120},
+  [921] = {.lex_state = 120},
+  [922] = {.lex_state = 120},
+  [923] = {.lex_state = 53},
+  [924] = {.lex_state = 120},
+  [925] = {.lex_state = 49},
+  [926] = {.lex_state = 120},
+  [927] = {.lex_state = 49},
+  [928] = {.lex_state = 120},
+  [929] = {.lex_state = 120},
+  [930] = {.lex_state = 120},
+  [931] = {.lex_state = 49},
+  [932] = {.lex_state = 49},
+  [933] = {.lex_state = 53},
+  [934] = {.lex_state = 53},
+  [935] = {.lex_state = 49},
+  [936] = {.lex_state = 53},
+  [937] = {.lex_state = 53},
+  [938] = {.lex_state = 53},
+  [939] = {.lex_state = 53},
+  [940] = {.lex_state = 53},
+  [941] = {.lex_state = 53},
+  [942] = {.lex_state = 53},
+  [943] = {.lex_state = 53},
+  [944] = {.lex_state = 53},
+  [945] = {.lex_state = 53},
+  [946] = {.lex_state = 53},
+  [947] = {.lex_state = 53},
+  [948] = {.lex_state = 53},
+  [949] = {.lex_state = 53},
+  [950] = {.lex_state = 53},
+  [951] = {.lex_state = 53},
+  [952] = {.lex_state = 53},
+  [953] = {.lex_state = 53},
+  [954] = {.lex_state = 53},
+  [955] = {.lex_state = 53},
+  [956] = {.lex_state = 53},
+  [957] = {.lex_state = 53},
+  [958] = {.lex_state = 53},
+  [959] = {.lex_state = 53},
+  [960] = {.lex_state = 53},
+  [961] = {.lex_state = 53},
+  [962] = {.lex_state = 53},
+  [963] = {.lex_state = 53},
+  [964] = {.lex_state = 53},
+  [965] = {.lex_state = 53},
+  [966] = {.lex_state = 53},
+  [967] = {.lex_state = 53},
   [968] = {.lex_state = 50},
-  [969] = {.lex_state = 50},
+  [969] = {.lex_state = 53},
   [970] = {.lex_state = 50},
-  [971] = {.lex_state = 52},
-  [972] = {.lex_state = 52},
-  [973] = {.lex_state = 52},
-  [974] = {.lex_state = 52},
-  [975] = {.lex_state = 52},
-  [976] = {.lex_state = 52},
-  [977] = {.lex_state = 52},
-  [978] = {.lex_state = 52},
-  [979] = {.lex_state = 52},
-  [980] = {.lex_state = 52},
-  [981] = {.lex_state = 52},
-  [982] = {.lex_state = 52},
-  [983] = {.lex_state = 52},
-  [984] = {.lex_state = 52},
-  [985] = {.lex_state = 52},
-  [986] = {.lex_state = 52},
-  [987] = {.lex_state = 52},
-  [988] = {.lex_state = 52},
-  [989] = {.lex_state = 52},
-  [990] = {.lex_state = 52},
-  [991] = {.lex_state = 52},
-  [992] = {.lex_state = 52},
-  [993] = {.lex_state = 52},
-  [994] = {.lex_state = 52},
-  [995] = {.lex_state = 52},
-  [996] = {.lex_state = 52},
-  [997] = {.lex_state = 52},
-  [998] = {.lex_state = 52},
+  [971] = {.lex_state = 50},
+  [972] = {.lex_state = 50},
+  [973] = {.lex_state = 50},
+  [974] = {.lex_state = 50},
+  [975] = {.lex_state = 50},
+  [976] = {.lex_state = 50},
+  [977] = {.lex_state = 50},
+  [978] = {.lex_state = 50},
+  [979] = {.lex_state = 50},
+  [980] = {.lex_state = 50},
+  [981] = {.lex_state = 50},
+  [982] = {.lex_state = 53},
+  [983] = {.lex_state = 53},
+  [984] = {.lex_state = 53},
+  [985] = {.lex_state = 53},
+  [986] = {.lex_state = 53},
+  [987] = {.lex_state = 50},
+  [988] = {.lex_state = 53},
+  [989] = {.lex_state = 53},
+  [990] = {.lex_state = 53},
+  [991] = {.lex_state = 53},
+  [992] = {.lex_state = 53},
+  [993] = {.lex_state = 53},
+  [994] = {.lex_state = 53},
+  [995] = {.lex_state = 53},
+  [996] = {.lex_state = 53},
+  [997] = {.lex_state = 53},
+  [998] = {.lex_state = 53},
   [999] = {.lex_state = 52},
   [1000] = {.lex_state = 52},
-  [1001] = {.lex_state = 52},
+  [1001] = {.lex_state = 53},
   [1002] = {.lex_state = 53},
-  [1003] = {.lex_state = 52},
+  [1003] = {.lex_state = 53},
   [1004] = {.lex_state = 52},
-  [1005] = {.lex_state = 52},
+  [1005] = {.lex_state = 53},
   [1006] = {.lex_state = 53},
   [1007] = {.lex_state = 53},
   [1008] = {.lex_state = 53},
-  [1009] = {.lex_state = 52},
-  [1010] = {.lex_state = 49},
-  [1011] = {.lex_state = 49},
-  [1012] = {.lex_state = 49},
-  [1013] = {.lex_state = 49},
-  [1014] = {.lex_state = 52},
-  [1015] = {.lex_state = 52},
-  [1016] = {.lex_state = 49},
-  [1017] = {.lex_state = 52},
-  [1018] = {.lex_state = 49},
+  [1009] = {.lex_state = 53},
+  [1010] = {.lex_state = 53},
+  [1011] = {.lex_state = 53},
+  [1012] = {.lex_state = 52},
+  [1013] = {.lex_state = 53},
+  [1014] = {.lex_state = 53},
+  [1015] = {.lex_state = 53},
+  [1016] = {.lex_state = 53},
+  [1017] = {.lex_state = 53},
+  [1018] = {.lex_state = 53},
   [1019] = {.lex_state = 49},
-  [1020] = {.lex_state = 49},
-  [1021] = {.lex_state = 49},
-  [1022] = {.lex_state = 49},
+  [1020] = {.lex_state = 53},
+  [1021] = {.lex_state = 53},
+  [1022] = {.lex_state = 53},
   [1023] = {.lex_state = 49},
   [1024] = {.lex_state = 49},
   [1025] = {.lex_state = 49},
@@ -10544,7 +10593,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [1041] = {.lex_state = 49},
   [1042] = {.lex_state = 49},
   [1043] = {.lex_state = 49},
-  [1044] = {.lex_state = 49},
+  [1044] = {.lex_state = 53},
   [1045] = {.lex_state = 49},
   [1046] = {.lex_state = 49},
   [1047] = {.lex_state = 49},
@@ -10562,541 +10611,541 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [1059] = {.lex_state = 49},
   [1060] = {.lex_state = 49},
   [1061] = {.lex_state = 49},
-  [1062] = {.lex_state = 49},
-  [1063] = {.lex_state = 49},
+  [1062] = {.lex_state = 53},
+  [1063] = {.lex_state = 53},
   [1064] = {.lex_state = 49},
   [1065] = {.lex_state = 49},
   [1066] = {.lex_state = 49},
   [1067] = {.lex_state = 49},
   [1068] = {.lex_state = 49},
-  [1069] = {.lex_state = 49},
+  [1069] = {.lex_state = 53},
   [1070] = {.lex_state = 49},
   [1071] = {.lex_state = 49},
-  [1072] = {.lex_state = 52},
-  [1073] = {.lex_state = 52},
+  [1072] = {.lex_state = 49},
+  [1073] = {.lex_state = 49},
   [1074] = {.lex_state = 49},
   [1075] = {.lex_state = 49},
-  [1076] = {.lex_state = 52},
+  [1076] = {.lex_state = 53},
   [1077] = {.lex_state = 49},
   [1078] = {.lex_state = 49},
-  [1079] = {.lex_state = 52},
+  [1079] = {.lex_state = 49},
   [1080] = {.lex_state = 49},
-  [1081] = {.lex_state = 52},
+  [1081] = {.lex_state = 49},
   [1082] = {.lex_state = 49},
   [1083] = {.lex_state = 49},
-  [1084] = {.lex_state = 52},
-  [1085] = {.lex_state = 49},
+  [1084] = {.lex_state = 53},
+  [1085] = {.lex_state = 53},
   [1086] = {.lex_state = 49},
-  [1087] = {.lex_state = 52},
+  [1087] = {.lex_state = 53},
   [1088] = {.lex_state = 49},
   [1089] = {.lex_state = 49},
   [1090] = {.lex_state = 49},
-  [1091] = {.lex_state = 49},
+  [1091] = {.lex_state = 53},
   [1092] = {.lex_state = 49},
-  [1093] = {.lex_state = 49},
-  [1094] = {.lex_state = 52},
-  [1095] = {.lex_state = 52},
-  [1096] = {.lex_state = 52},
-  [1097] = {.lex_state = 52},
-  [1098] = {.lex_state = 52},
-  [1099] = {.lex_state = 52},
+  [1093] = {.lex_state = 53},
+  [1094] = {.lex_state = 49},
+  [1095] = {.lex_state = 49},
+  [1096] = {.lex_state = 49},
+  [1097] = {.lex_state = 49},
+  [1098] = {.lex_state = 49},
+  [1099] = {.lex_state = 49},
   [1100] = {.lex_state = 49},
-  [1101] = {.lex_state = 52},
-  [1102] = {.lex_state = 52},
+  [1101] = {.lex_state = 53},
+  [1102] = {.lex_state = 49},
   [1103] = {.lex_state = 49},
-  [1104] = {.lex_state = 52},
-  [1105] = {.lex_state = 52},
-  [1106] = {.lex_state = 52},
-  [1107] = {.lex_state = 52},
-  [1108] = {.lex_state = 52},
-  [1109] = {.lex_state = 52},
-  [1110] = {.lex_state = 52},
-  [1111] = {.lex_state = 52},
-  [1112] = {.lex_state = 52},
-  [1113] = {.lex_state = 52},
-  [1114] = {.lex_state = 52},
-  [1115] = {.lex_state = 52},
-  [1116] = {.lex_state = 52},
-  [1117] = {.lex_state = 52},
-  [1118] = {.lex_state = 52},
-  [1119] = {.lex_state = 52},
-  [1120] = {.lex_state = 52},
+  [1104] = {.lex_state = 49},
+  [1105] = {.lex_state = 49},
+  [1106] = {.lex_state = 49},
+  [1107] = {.lex_state = 49},
+  [1108] = {.lex_state = 49},
+  [1109] = {.lex_state = 53},
+  [1110] = {.lex_state = 53},
+  [1111] = {.lex_state = 53},
+  [1112] = {.lex_state = 53},
+  [1113] = {.lex_state = 53},
+  [1114] = {.lex_state = 53},
+  [1115] = {.lex_state = 53},
+  [1116] = {.lex_state = 49},
+  [1117] = {.lex_state = 53},
+  [1118] = {.lex_state = 53},
+  [1119] = {.lex_state = 49},
+  [1120] = {.lex_state = 53},
   [1121] = {.lex_state = 53},
-  [1122] = {.lex_state = 52},
-  [1123] = {.lex_state = 52},
-  [1124] = {.lex_state = 52},
-  [1125] = {.lex_state = 52},
-  [1126] = {.lex_state = 52},
-  [1127] = {.lex_state = 52},
-  [1128] = {.lex_state = 52},
-  [1129] = {.lex_state = 52},
-  [1130] = {.lex_state = 52},
-  [1131] = {.lex_state = 23},
-  [1132] = {.lex_state = 48},
+  [1122] = {.lex_state = 53},
+  [1123] = {.lex_state = 53},
+  [1124] = {.lex_state = 53},
+  [1125] = {.lex_state = 53},
+  [1126] = {.lex_state = 53},
+  [1127] = {.lex_state = 53},
+  [1128] = {.lex_state = 53},
+  [1129] = {.lex_state = 53},
+  [1130] = {.lex_state = 53},
+  [1131] = {.lex_state = 53},
+  [1132] = {.lex_state = 53},
   [1133] = {.lex_state = 53},
-  [1134] = {.lex_state = 48},
-  [1135] = {.lex_state = 52},
-  [1136] = {.lex_state = 52},
-  [1137] = {.lex_state = 52},
+  [1134] = {.lex_state = 53},
+  [1135] = {.lex_state = 53},
+  [1136] = {.lex_state = 53},
+  [1137] = {.lex_state = 53},
   [1138] = {.lex_state = 53},
-  [1139] = {.lex_state = 52},
-  [1140] = {.lex_state = 52},
-  [1141] = {.lex_state = 52},
+  [1139] = {.lex_state = 53},
+  [1140] = {.lex_state = 53},
+  [1141] = {.lex_state = 53},
   [1142] = {.lex_state = 53},
-  [1143] = {.lex_state = 52},
-  [1144] = {.lex_state = 52},
-  [1145] = {.lex_state = 48},
-  [1146] = {.lex_state = 52},
-  [1147] = {.lex_state = 52},
-  [1148] = {.lex_state = 48},
-  [1149] = {.lex_state = 48},
-  [1150] = {.lex_state = 48},
-  [1151] = {.lex_state = 53},
-  [1152] = {.lex_state = 48},
-  [1153] = {.lex_state = 48},
-  [1154] = {.lex_state = 52},
+  [1143] = {.lex_state = 53},
+  [1144] = {.lex_state = 53},
+  [1145] = {.lex_state = 52},
+  [1146] = {.lex_state = 53},
+  [1147] = {.lex_state = 53},
+  [1148] = {.lex_state = 53},
+  [1149] = {.lex_state = 53},
+  [1150] = {.lex_state = 52},
+  [1151] = {.lex_state = 52},
+  [1152] = {.lex_state = 53},
+  [1153] = {.lex_state = 53},
+  [1154] = {.lex_state = 53},
   [1155] = {.lex_state = 53},
   [1156] = {.lex_state = 53},
-  [1157] = {.lex_state = 53},
-  [1158] = {.lex_state = 48},
-  [1159] = {.lex_state = 48},
-  [1160] = {.lex_state = 48},
-  [1161] = {.lex_state = 53},
-  [1162] = {.lex_state = 48},
+  [1157] = {.lex_state = 52},
+  [1158] = {.lex_state = 53},
+  [1159] = {.lex_state = 53},
+  [1160] = {.lex_state = 53},
+  [1161] = {.lex_state = 48},
+  [1162] = {.lex_state = 53},
   [1163] = {.lex_state = 48},
   [1164] = {.lex_state = 48},
-  [1165] = {.lex_state = 48},
-  [1166] = {.lex_state = 53},
+  [1165] = {.lex_state = 53},
+  [1166] = {.lex_state = 25},
   [1167] = {.lex_state = 48},
-  [1168] = {.lex_state = 53},
-  [1169] = {.lex_state = 48},
-  [1170] = {.lex_state = 53},
-  [1171] = {.lex_state = 48},
+  [1168] = {.lex_state = 52},
+  [1169] = {.lex_state = 52},
+  [1170] = {.lex_state = 48},
+  [1171] = {.lex_state = 52},
   [1172] = {.lex_state = 48},
   [1173] = {.lex_state = 48},
   [1174] = {.lex_state = 48},
-  [1175] = {.lex_state = 53},
-  [1176] = {.lex_state = 48},
+  [1175] = {.lex_state = 48},
+  [1176] = {.lex_state = 52},
   [1177] = {.lex_state = 48},
-  [1178] = {.lex_state = 48},
-  [1179] = {.lex_state = 53},
-  [1180] = {.lex_state = 48},
+  [1178] = {.lex_state = 52},
+  [1179] = {.lex_state = 48},
+  [1180] = {.lex_state = 52},
   [1181] = {.lex_state = 48},
-  [1182] = {.lex_state = 48},
+  [1182] = {.lex_state = 52},
   [1183] = {.lex_state = 48},
-  [1184] = {.lex_state = 48},
+  [1184] = {.lex_state = 52},
   [1185] = {.lex_state = 48},
   [1186] = {.lex_state = 48},
-  [1187] = {.lex_state = 48},
+  [1187] = {.lex_state = 52},
   [1188] = {.lex_state = 48},
-  [1189] = {.lex_state = 48},
-  [1190] = {.lex_state = 48},
+  [1189] = {.lex_state = 52},
+  [1190] = {.lex_state = 52},
   [1191] = {.lex_state = 48},
-  [1192] = {.lex_state = 53},
-  [1193] = {.lex_state = 53},
+  [1192] = {.lex_state = 48},
+  [1193] = {.lex_state = 48},
   [1194] = {.lex_state = 48},
-  [1195] = {.lex_state = 53},
+  [1195] = {.lex_state = 48},
   [1196] = {.lex_state = 48},
   [1197] = {.lex_state = 48},
-  [1198] = {.lex_state = 53},
+  [1198] = {.lex_state = 48},
   [1199] = {.lex_state = 48},
   [1200] = {.lex_state = 48},
   [1201] = {.lex_state = 48},
-  [1202] = {.lex_state = 53},
-  [1203] = {.lex_state = 53},
-  [1204] = {.lex_state = 23},
-  [1205] = {.lex_state = 23},
-  [1206] = {.lex_state = 52},
-  [1207] = {.lex_state = 53},
-  [1208] = {.lex_state = 23},
-  [1209] = {.lex_state = 23},
-  [1210] = {.lex_state = 23},
-  [1211] = {.lex_state = 23},
-  [1212] = {.lex_state = 52},
-  [1213] = {.lex_state = 23},
-  [1214] = {.lex_state = 23},
-  [1215] = {.lex_state = 23},
-  [1216] = {.lex_state = 23},
-  [1217] = {.lex_state = 23},
+  [1202] = {.lex_state = 52},
+  [1203] = {.lex_state = 48},
+  [1204] = {.lex_state = 48},
+  [1205] = {.lex_state = 52},
+  [1206] = {.lex_state = 48},
+  [1207] = {.lex_state = 48},
+  [1208] = {.lex_state = 48},
+  [1209] = {.lex_state = 48},
+  [1210] = {.lex_state = 48},
+  [1211] = {.lex_state = 48},
+  [1212] = {.lex_state = 48},
+  [1213] = {.lex_state = 52},
+  [1214] = {.lex_state = 48},
+  [1215] = {.lex_state = 48},
+  [1216] = {.lex_state = 48},
+  [1217] = {.lex_state = 48},
   [1218] = {.lex_state = 52},
-  [1219] = {.lex_state = 23},
-  [1220] = {.lex_state = 23},
-  [1221] = {.lex_state = 23},
-  [1222] = {.lex_state = 23},
-  [1223] = {.lex_state = 23},
-  [1224] = {.lex_state = 23},
-  [1225] = {.lex_state = 52},
-  [1226] = {.lex_state = 23},
-  [1227] = {.lex_state = 53},
-  [1228] = {.lex_state = 23},
-  [1229] = {.lex_state = 23},
-  [1230] = {.lex_state = 23},
-  [1231] = {.lex_state = 23},
-  [1232] = {.lex_state = 23},
-  [1233] = {.lex_state = 23},
-  [1234] = {.lex_state = 23},
-  [1235] = {.lex_state = 23},
-  [1236] = {.lex_state = 23},
-  [1237] = {.lex_state = 23},
-  [1238] = {.lex_state = 23},
-  [1239] = {.lex_state = 23},
-  [1240] = {.lex_state = 23},
-  [1241] = {.lex_state = 23},
-  [1242] = {.lex_state = 23},
-  [1243] = {.lex_state = 52},
-  [1244] = {.lex_state = 52},
-  [1245] = {.lex_state = 52},
-  [1246] = {.lex_state = 52},
-  [1247] = {.lex_state = 52},
-  [1248] = {.lex_state = 52},
-  [1249] = {.lex_state = 52},
-  [1250] = {.lex_state = 52},
-  [1251] = {.lex_state = 52},
-  [1252] = {.lex_state = 52},
-  [1253] = {.lex_state = 52},
-  [1254] = {.lex_state = 52},
-  [1255] = {.lex_state = 52},
-  [1256] = {.lex_state = 52},
-  [1257] = {.lex_state = 52},
-  [1258] = {.lex_state = 52},
-  [1259] = {.lex_state = 52},
-  [1260] = {.lex_state = 52},
-  [1261] = {.lex_state = 52},
-  [1262] = {.lex_state = 52},
-  [1263] = {.lex_state = 52},
-  [1264] = {.lex_state = 52},
-  [1265] = {.lex_state = 52},
-  [1266] = {.lex_state = 52},
-  [1267] = {.lex_state = 52},
-  [1268] = {.lex_state = 52},
-  [1269] = {.lex_state = 50},
-  [1270] = {.lex_state = 50},
-  [1271] = {.lex_state = 50},
-  [1272] = {.lex_state = 52},
-  [1273] = {.lex_state = 52},
-  [1274] = {.lex_state = 50},
-  [1275] = {.lex_state = 52},
-  [1276] = {.lex_state = 52},
-  [1277] = {.lex_state = 52},
-  [1278] = {.lex_state = 52},
-  [1279] = {.lex_state = 52},
-  [1280] = {.lex_state = 52},
-  [1281] = {.lex_state = 52},
-  [1282] = {.lex_state = 52},
-  [1283] = {.lex_state = 52},
-  [1284] = {.lex_state = 52},
-  [1285] = {.lex_state = 52},
-  [1286] = {.lex_state = 52},
-  [1287] = {.lex_state = 52},
-  [1288] = {.lex_state = 52},
-  [1289] = {.lex_state = 56},
-  [1290] = {.lex_state = 52},
-  [1291] = {.lex_state = 52},
-  [1292] = {.lex_state = 52},
-  [1293] = {.lex_state = 52},
-  [1294] = {.lex_state = 56},
-  [1295] = {.lex_state = 52},
-  [1296] = {.lex_state = 52},
-  [1297] = {.lex_state = 52},
-  [1298] = {.lex_state = 52},
-  [1299] = {.lex_state = 52},
-  [1300] = {.lex_state = 52},
-  [1301] = {.lex_state = 52},
-  [1302] = {.lex_state = 52},
-  [1303] = {.lex_state = 52},
-  [1304] = {.lex_state = 52},
-  [1305] = {.lex_state = 52},
-  [1306] = {.lex_state = 52},
-  [1307] = {.lex_state = 52},
-  [1308] = {.lex_state = 56},
-  [1309] = {.lex_state = 50},
-  [1310] = {.lex_state = 50},
-  [1311] = {.lex_state = 52},
-  [1312] = {.lex_state = 52},
-  [1313] = {.lex_state = 50},
-  [1314] = {.lex_state = 50},
-  [1315] = {.lex_state = 52},
-  [1316] = {.lex_state = 52},
-  [1317] = {.lex_state = 52},
-  [1318] = {.lex_state = 50},
-  [1319] = {.lex_state = 50},
-  [1320] = {.lex_state = 52},
-  [1321] = {.lex_state = 50},
-  [1322] = {.lex_state = 50},
-  [1323] = {.lex_state = 50},
-  [1324] = {.lex_state = 52},
-  [1325] = {.lex_state = 50},
-  [1326] = {.lex_state = 50},
-  [1327] = {.lex_state = 50},
-  [1328] = {.lex_state = 52},
-  [1329] = {.lex_state = 52},
-  [1330] = {.lex_state = 52},
-  [1331] = {.lex_state = 52},
+  [1219] = {.lex_state = 48},
+  [1220] = {.lex_state = 52},
+  [1221] = {.lex_state = 48},
+  [1222] = {.lex_state = 52},
+  [1223] = {.lex_state = 25},
+  [1224] = {.lex_state = 25},
+  [1225] = {.lex_state = 25},
+  [1226] = {.lex_state = 25},
+  [1227] = {.lex_state = 25},
+  [1228] = {.lex_state = 25},
+  [1229] = {.lex_state = 25},
+  [1230] = {.lex_state = 25},
+  [1231] = {.lex_state = 25},
+  [1232] = {.lex_state = 25},
+  [1233] = {.lex_state = 52},
+  [1234] = {.lex_state = 25},
+  [1235] = {.lex_state = 25},
+  [1236] = {.lex_state = 25},
+  [1237] = {.lex_state = 25},
+  [1238] = {.lex_state = 25},
+  [1239] = {.lex_state = 25},
+  [1240] = {.lex_state = 25},
+  [1241] = {.lex_state = 25},
+  [1242] = {.lex_state = 25},
+  [1243] = {.lex_state = 25},
+  [1244] = {.lex_state = 25},
+  [1245] = {.lex_state = 25},
+  [1246] = {.lex_state = 53},
+  [1247] = {.lex_state = 25},
+  [1248] = {.lex_state = 25},
+  [1249] = {.lex_state = 25},
+  [1250] = {.lex_state = 25},
+  [1251] = {.lex_state = 25},
+  [1252] = {.lex_state = 53},
+  [1253] = {.lex_state = 25},
+  [1254] = {.lex_state = 25},
+  [1255] = {.lex_state = 53},
+  [1256] = {.lex_state = 25},
+  [1257] = {.lex_state = 25},
+  [1258] = {.lex_state = 25},
+  [1259] = {.lex_state = 53},
+  [1260] = {.lex_state = 25},
+  [1261] = {.lex_state = 53},
+  [1262] = {.lex_state = 53},
+  [1263] = {.lex_state = 53},
+  [1264] = {.lex_state = 53},
+  [1265] = {.lex_state = 53},
+  [1266] = {.lex_state = 53},
+  [1267] = {.lex_state = 53},
+  [1268] = {.lex_state = 53},
+  [1269] = {.lex_state = 53},
+  [1270] = {.lex_state = 53},
+  [1271] = {.lex_state = 53},
+  [1272] = {.lex_state = 53},
+  [1273] = {.lex_state = 53},
+  [1274] = {.lex_state = 53},
+  [1275] = {.lex_state = 53},
+  [1276] = {.lex_state = 53},
+  [1277] = {.lex_state = 53},
+  [1278] = {.lex_state = 53},
+  [1279] = {.lex_state = 53},
+  [1280] = {.lex_state = 53},
+  [1281] = {.lex_state = 53},
+  [1282] = {.lex_state = 53},
+  [1283] = {.lex_state = 53},
+  [1284] = {.lex_state = 53},
+  [1285] = {.lex_state = 53},
+  [1286] = {.lex_state = 53},
+  [1287] = {.lex_state = 53},
+  [1288] = {.lex_state = 53},
+  [1289] = {.lex_state = 53},
+  [1290] = {.lex_state = 53},
+  [1291] = {.lex_state = 50},
+  [1292] = {.lex_state = 50},
+  [1293] = {.lex_state = 50},
+  [1294] = {.lex_state = 50},
+  [1295] = {.lex_state = 53},
+  [1296] = {.lex_state = 53},
+  [1297] = {.lex_state = 53},
+  [1298] = {.lex_state = 53},
+  [1299] = {.lex_state = 53},
+  [1300] = {.lex_state = 53},
+  [1301] = {.lex_state = 53},
+  [1302] = {.lex_state = 53},
+  [1303] = {.lex_state = 53},
+  [1304] = {.lex_state = 53},
+  [1305] = {.lex_state = 53},
+  [1306] = {.lex_state = 53},
+  [1307] = {.lex_state = 53},
+  [1308] = {.lex_state = 53},
+  [1309] = {.lex_state = 53},
+  [1310] = {.lex_state = 53},
+  [1311] = {.lex_state = 53},
+  [1312] = {.lex_state = 53},
+  [1313] = {.lex_state = 53},
+  [1314] = {.lex_state = 53},
+  [1315] = {.lex_state = 53},
+  [1316] = {.lex_state = 53},
+  [1317] = {.lex_state = 56},
+  [1318] = {.lex_state = 53},
+  [1319] = {.lex_state = 53},
+  [1320] = {.lex_state = 53},
+  [1321] = {.lex_state = 53},
+  [1322] = {.lex_state = 53},
+  [1323] = {.lex_state = 53},
+  [1324] = {.lex_state = 56},
+  [1325] = {.lex_state = 53},
+  [1326] = {.lex_state = 53},
+  [1327] = {.lex_state = 53},
+  [1328] = {.lex_state = 53},
+  [1329] = {.lex_state = 53},
+  [1330] = {.lex_state = 53},
+  [1331] = {.lex_state = 49},
   [1332] = {.lex_state = 50},
-  [1333] = {.lex_state = 50},
-  [1334] = {.lex_state = 52},
-  [1335] = {.lex_state = 49},
-  [1336] = {.lex_state = 119},
-  [1337] = {.lex_state = 52},
-  [1338] = {.lex_state = 52},
-  [1339] = {.lex_state = 52},
-  [1340] = {.lex_state = 52},
-  [1341] = {.lex_state = 0},
-  [1342] = {.lex_state = 119},
-  [1343] = {.lex_state = 52},
-  [1344] = {.lex_state = 119},
-  [1345] = {.lex_state = 119},
-  [1346] = {.lex_state = 52},
-  [1347] = {.lex_state = 52},
-  [1348] = {.lex_state = 52},
-  [1349] = {.lex_state = 52},
-  [1350] = {.lex_state = 0},
-  [1351] = {.lex_state = 52},
-  [1352] = {.lex_state = 54},
-  [1353] = {.lex_state = 119},
-  [1354] = {.lex_state = 52},
-  [1355] = {.lex_state = 52},
-  [1356] = {.lex_state = 119},
-  [1357] = {.lex_state = 119},
-  [1358] = {.lex_state = 119},
-  [1359] = {.lex_state = 119},
-  [1360] = {.lex_state = 119},
-  [1361] = {.lex_state = 54},
-  [1362] = {.lex_state = 52},
-  [1363] = {.lex_state = 54},
-  [1364] = {.lex_state = 52},
-  [1365] = {.lex_state = 119},
-  [1366] = {.lex_state = 49},
-  [1367] = {.lex_state = 52},
-  [1368] = {.lex_state = 49},
-  [1369] = {.lex_state = 54},
-  [1370] = {.lex_state = 52},
-  [1371] = {.lex_state = 49},
-  [1372] = {.lex_state = 119},
-  [1373] = {.lex_state = 52},
-  [1374] = {.lex_state = 119},
-  [1375] = {.lex_state = 0},
-  [1376] = {.lex_state = 119},
-  [1377] = {.lex_state = 119},
-  [1378] = {.lex_state = 52},
-  [1379] = {.lex_state = 119},
-  [1380] = {.lex_state = 119},
-  [1381] = {.lex_state = 119},
-  [1382] = {.lex_state = 50},
-  [1383] = {.lex_state = 119},
-  [1384] = {.lex_state = 52},
-  [1385] = {.lex_state = 119},
-  [1386] = {.lex_state = 52},
-  [1387] = {.lex_state = 52},
-  [1388] = {.lex_state = 119},
-  [1389] = {.lex_state = 52},
-  [1390] = {.lex_state = 119},
-  [1391] = {.lex_state = 52},
-  [1392] = {.lex_state = 52},
-  [1393] = {.lex_state = 52},
-  [1394] = {.lex_state = 52},
-  [1395] = {.lex_state = 0},
-  [1396] = {.lex_state = 52},
-  [1397] = {.lex_state = 119},
-  [1398] = {.lex_state = 50},
-  [1399] = {.lex_state = 50},
-  [1400] = {.lex_state = 119},
-  [1401] = {.lex_state = 52},
-  [1402] = {.lex_state = 119},
-  [1403] = {.lex_state = 52},
-  [1404] = {.lex_state = 52},
-  [1405] = {.lex_state = 52},
-  [1406] = {.lex_state = 52},
-  [1407] = {.lex_state = 52},
-  [1408] = {.lex_state = 52},
-  [1409] = {.lex_state = 52},
-  [1410] = {.lex_state = 0},
-  [1411] = {.lex_state = 52},
-  [1412] = {.lex_state = 52},
-  [1413] = {.lex_state = 52},
-  [1414] = {.lex_state = 119},
-  [1415] = {.lex_state = 52},
-  [1416] = {.lex_state = 119},
-  [1417] = {.lex_state = 52},
-  [1418] = {.lex_state = 52},
-  [1419] = {.lex_state = 52},
-  [1420] = {.lex_state = 52},
-  [1421] = {.lex_state = 52},
-  [1422] = {.lex_state = 119},
-  [1423] = {.lex_state = 52},
-  [1424] = {.lex_state = 52},
-  [1425] = {.lex_state = 52},
-  [1426] = {.lex_state = 52},
-  [1427] = {.lex_state = 52},
-  [1428] = {.lex_state = 50},
-  [1429] = {.lex_state = 52},
-  [1430] = {.lex_state = 0},
-  [1431] = {.lex_state = 52},
-  [1432] = {.lex_state = 119},
-  [1433] = {.lex_state = 52},
-  [1434] = {.lex_state = 52},
-  [1435] = {.lex_state = 52},
-  [1436] = {.lex_state = 119},
-  [1437] = {.lex_state = 52},
-  [1438] = {.lex_state = 52},
-  [1439] = {.lex_state = 119},
-  [1440] = {.lex_state = 119},
-  [1441] = {.lex_state = 52},
-  [1442] = {.lex_state = 52},
-  [1443] = {.lex_state = 0},
-  [1444] = {.lex_state = 52},
-  [1445] = {.lex_state = 52},
-  [1446] = {.lex_state = 52},
-  [1447] = {.lex_state = 52},
-  [1448] = {.lex_state = 56},
-  [1449] = {.lex_state = 52},
-  [1450] = {.lex_state = 119},
-  [1451] = {.lex_state = 52},
-  [1452] = {.lex_state = 119},
-  [1453] = {.lex_state = 0},
-  [1454] = {.lex_state = 119},
-  [1455] = {.lex_state = 56},
-  [1456] = {.lex_state = 52},
-  [1457] = {.lex_state = 52},
-  [1458] = {.lex_state = 52},
-  [1459] = {.lex_state = 52},
-  [1460] = {.lex_state = 52},
-  [1461] = {.lex_state = 50},
-  [1462] = {.lex_state = 52},
-  [1463] = {.lex_state = 56},
-  [1464] = {.lex_state = 56},
-  [1465] = {.lex_state = 56},
-  [1466] = {.lex_state = 52},
-  [1467] = {.lex_state = 119},
-  [1468] = {.lex_state = 56},
-  [1469] = {.lex_state = 52},
-  [1470] = {.lex_state = 56},
-  [1471] = {.lex_state = 119},
-  [1472] = {.lex_state = 52},
-  [1473] = {.lex_state = 56},
-  [1474] = {.lex_state = 56},
-  [1475] = {.lex_state = 56},
+  [1333] = {.lex_state = 53},
+  [1334] = {.lex_state = 56},
+  [1335] = {.lex_state = 53},
+  [1336] = {.lex_state = 50},
+  [1337] = {.lex_state = 53},
+  [1338] = {.lex_state = 53},
+  [1339] = {.lex_state = 53},
+  [1340] = {.lex_state = 50},
+  [1341] = {.lex_state = 50},
+  [1342] = {.lex_state = 50},
+  [1343] = {.lex_state = 50},
+  [1344] = {.lex_state = 50},
+  [1345] = {.lex_state = 53},
+  [1346] = {.lex_state = 50},
+  [1347] = {.lex_state = 50},
+  [1348] = {.lex_state = 50},
+  [1349] = {.lex_state = 53},
+  [1350] = {.lex_state = 53},
+  [1351] = {.lex_state = 53},
+  [1352] = {.lex_state = 50},
+  [1353] = {.lex_state = 50},
+  [1354] = {.lex_state = 53},
+  [1355] = {.lex_state = 53},
+  [1356] = {.lex_state = 53},
+  [1357] = {.lex_state = 53},
+  [1358] = {.lex_state = 53},
+  [1359] = {.lex_state = 50},
+  [1360] = {.lex_state = 50},
+  [1361] = {.lex_state = 53},
+  [1362] = {.lex_state = 53},
+  [1363] = {.lex_state = 53},
+  [1364] = {.lex_state = 0},
+  [1365] = {.lex_state = 120},
+  [1366] = {.lex_state = 53},
+  [1367] = {.lex_state = 53},
+  [1368] = {.lex_state = 53},
+  [1369] = {.lex_state = 53},
+  [1370] = {.lex_state = 53},
+  [1371] = {.lex_state = 53},
+  [1372] = {.lex_state = 0},
+  [1373] = {.lex_state = 120},
+  [1374] = {.lex_state = 120},
+  [1375] = {.lex_state = 53},
+  [1376] = {.lex_state = 120},
+  [1377] = {.lex_state = 49},
+  [1378] = {.lex_state = 120},
+  [1379] = {.lex_state = 54},
+  [1380] = {.lex_state = 53},
+  [1381] = {.lex_state = 120},
+  [1382] = {.lex_state = 53},
+  [1383] = {.lex_state = 53},
+  [1384] = {.lex_state = 53},
+  [1385] = {.lex_state = 49},
+  [1386] = {.lex_state = 49},
+  [1387] = {.lex_state = 54},
+  [1388] = {.lex_state = 53},
+  [1389] = {.lex_state = 53},
+  [1390] = {.lex_state = 54},
+  [1391] = {.lex_state = 120},
+  [1392] = {.lex_state = 53},
+  [1393] = {.lex_state = 120},
+  [1394] = {.lex_state = 120},
+  [1395] = {.lex_state = 53},
+  [1396] = {.lex_state = 53},
+  [1397] = {.lex_state = 53},
+  [1398] = {.lex_state = 54},
+  [1399] = {.lex_state = 53},
+  [1400] = {.lex_state = 120},
+  [1401] = {.lex_state = 120},
+  [1402] = {.lex_state = 120},
+  [1403] = {.lex_state = 53},
+  [1404] = {.lex_state = 120},
+  [1405] = {.lex_state = 53},
+  [1406] = {.lex_state = 120},
+  [1407] = {.lex_state = 120},
+  [1408] = {.lex_state = 120},
+  [1409] = {.lex_state = 53},
+  [1410] = {.lex_state = 53},
+  [1411] = {.lex_state = 120},
+  [1412] = {.lex_state = 120},
+  [1413] = {.lex_state = 53},
+  [1414] = {.lex_state = 53},
+  [1415] = {.lex_state = 50},
+  [1416] = {.lex_state = 120},
+  [1417] = {.lex_state = 50},
+  [1418] = {.lex_state = 53},
+  [1419] = {.lex_state = 0},
+  [1420] = {.lex_state = 53},
+  [1421] = {.lex_state = 53},
+  [1422] = {.lex_state = 120},
+  [1423] = {.lex_state = 53},
+  [1424] = {.lex_state = 53},
+  [1425] = {.lex_state = 120},
+  [1426] = {.lex_state = 53},
+  [1427] = {.lex_state = 50},
+  [1428] = {.lex_state = 120},
+  [1429] = {.lex_state = 53},
+  [1430] = {.lex_state = 53},
+  [1431] = {.lex_state = 0},
+  [1432] = {.lex_state = 53},
+  [1433] = {.lex_state = 120},
+  [1434] = {.lex_state = 120},
+  [1435] = {.lex_state = 120},
+  [1436] = {.lex_state = 53},
+  [1437] = {.lex_state = 53},
+  [1438] = {.lex_state = 120},
+  [1439] = {.lex_state = 120},
+  [1440] = {.lex_state = 53},
+  [1441] = {.lex_state = 53},
+  [1442] = {.lex_state = 53},
+  [1443] = {.lex_state = 120},
+  [1444] = {.lex_state = 0},
+  [1445] = {.lex_state = 53},
+  [1446] = {.lex_state = 53},
+  [1447] = {.lex_state = 53},
+  [1448] = {.lex_state = 53},
+  [1449] = {.lex_state = 53},
+  [1450] = {.lex_state = 53},
+  [1451] = {.lex_state = 53},
+  [1452] = {.lex_state = 53},
+  [1453] = {.lex_state = 53},
+  [1454] = {.lex_state = 120},
+  [1455] = {.lex_state = 53},
+  [1456] = {.lex_state = 0},
+  [1457] = {.lex_state = 53},
+  [1458] = {.lex_state = 53},
+  [1459] = {.lex_state = 53},
+  [1460] = {.lex_state = 53},
+  [1461] = {.lex_state = 120},
+  [1462] = {.lex_state = 53},
+  [1463] = {.lex_state = 50},
+  [1464] = {.lex_state = 53},
+  [1465] = {.lex_state = 53},
+  [1466] = {.lex_state = 53},
+  [1467] = {.lex_state = 53},
+  [1468] = {.lex_state = 53},
+  [1469] = {.lex_state = 120},
+  [1470] = {.lex_state = 120},
+  [1471] = {.lex_state = 53},
+  [1472] = {.lex_state = 53},
+  [1473] = {.lex_state = 53},
+  [1474] = {.lex_state = 120},
+  [1475] = {.lex_state = 53},
   [1476] = {.lex_state = 56},
   [1477] = {.lex_state = 0},
-  [1478] = {.lex_state = 45},
-  [1479] = {.lex_state = 52},
-  [1480] = {.lex_state = 52},
-  [1481] = {.lex_state = 50},
-  [1482] = {.lex_state = 52},
-  [1483] = {.lex_state = 52},
-  [1484] = {.lex_state = 52},
-  [1485] = {.lex_state = 52},
-  [1486] = {.lex_state = 52},
-  [1487] = {.lex_state = 30},
-  [1488] = {.lex_state = 52},
-  [1489] = {.lex_state = 52},
-  [1490] = {.lex_state = 32},
-  [1491] = {.lex_state = 52},
-  [1492] = {.lex_state = 0},
-  [1493] = {.lex_state = 52},
-  [1494] = {.lex_state = 52},
-  [1495] = {.lex_state = 50},
-  [1496] = {.lex_state = 119},
-  [1497] = {.lex_state = 52},
-  [1498] = {.lex_state = 32},
-  [1499] = {.lex_state = 32},
-  [1500] = {.lex_state = 52},
-  [1501] = {.lex_state = 0},
-  [1502] = {.lex_state = 52},
-  [1503] = {.lex_state = 52},
-  [1504] = {.lex_state = 0},
-  [1505] = {.lex_state = 52},
-  [1506] = {.lex_state = 52},
-  [1507] = {.lex_state = 37},
-  [1508] = {.lex_state = 52},
-  [1509] = {.lex_state = 52},
-  [1510] = {.lex_state = 52},
-  [1511] = {.lex_state = 0},
-  [1512] = {.lex_state = 30},
-  [1513] = {.lex_state = 52},
-  [1514] = {.lex_state = 52},
-  [1515] = {.lex_state = 52},
-  [1516] = {.lex_state = 50},
-  [1517] = {.lex_state = 37},
-  [1518] = {.lex_state = 30},
-  [1519] = {.lex_state = 52},
-  [1520] = {.lex_state = 52},
-  [1521] = {.lex_state = 32},
-  [1522] = {.lex_state = 37},
-  [1523] = {.lex_state = 52},
-  [1524] = {.lex_state = 52},
-  [1525] = {.lex_state = 119},
-  [1526] = {.lex_state = 45},
-  [1527] = {.lex_state = 37},
-  [1528] = {.lex_state = 0},
-  [1529] = {.lex_state = 32},
-  [1530] = {.lex_state = 32},
-  [1531] = {.lex_state = 30},
-  [1532] = {.lex_state = 32},
-  [1533] = {.lex_state = 37},
+  [1478] = {.lex_state = 53},
+  [1479] = {.lex_state = 0},
+  [1480] = {.lex_state = 56},
+  [1481] = {.lex_state = 120},
+  [1482] = {.lex_state = 56},
+  [1483] = {.lex_state = 56},
+  [1484] = {.lex_state = 120},
+  [1485] = {.lex_state = 56},
+  [1486] = {.lex_state = 120},
+  [1487] = {.lex_state = 50},
+  [1488] = {.lex_state = 56},
+  [1489] = {.lex_state = 56},
+  [1490] = {.lex_state = 56},
+  [1491] = {.lex_state = 53},
+  [1492] = {.lex_state = 53},
+  [1493] = {.lex_state = 56},
+  [1494] = {.lex_state = 53},
+  [1495] = {.lex_state = 120},
+  [1496] = {.lex_state = 56},
+  [1497] = {.lex_state = 0},
+  [1498] = {.lex_state = 56},
+  [1499] = {.lex_state = 53},
+  [1500] = {.lex_state = 53},
+  [1501] = {.lex_state = 53},
+  [1502] = {.lex_state = 53},
+  [1503] = {.lex_state = 53},
+  [1504] = {.lex_state = 53},
+  [1505] = {.lex_state = 53},
+  [1506] = {.lex_state = 53},
+  [1507] = {.lex_state = 53},
+  [1508] = {.lex_state = 53},
+  [1509] = {.lex_state = 53},
+  [1510] = {.lex_state = 53},
+  [1511] = {.lex_state = 53},
+  [1512] = {.lex_state = 53},
+  [1513] = {.lex_state = 53},
+  [1514] = {.lex_state = 53},
+  [1515] = {.lex_state = 53},
+  [1516] = {.lex_state = 45},
+  [1517] = {.lex_state = 50},
+  [1518] = {.lex_state = 53},
+  [1519] = {.lex_state = 53},
+  [1520] = {.lex_state = 53},
+  [1521] = {.lex_state = 53},
+  [1522] = {.lex_state = 53},
+  [1523] = {.lex_state = 53},
+  [1524] = {.lex_state = 53},
+  [1525] = {.lex_state = 53},
+  [1526] = {.lex_state = 53},
+  [1527] = {.lex_state = 30},
+  [1528] = {.lex_state = 32},
+  [1529] = {.lex_state = 50},
+  [1530] = {.lex_state = 0},
+  [1531] = {.lex_state = 0},
+  [1532] = {.lex_state = 0},
+  [1533] = {.lex_state = 53},
   [1534] = {.lex_state = 50},
-  [1535] = {.lex_state = 52},
-  [1536] = {.lex_state = 0},
+  [1535] = {.lex_state = 50},
+  [1536] = {.lex_state = 45},
   [1537] = {.lex_state = 37},
   [1538] = {.lex_state = 0},
-  [1539] = {.lex_state = 52},
+  [1539] = {.lex_state = 53},
   [1540] = {.lex_state = 37},
-  [1541] = {.lex_state = 52},
-  [1542] = {.lex_state = 52},
-  [1543] = {.lex_state = 52},
-  [1544] = {.lex_state = 0},
-  [1545] = {.lex_state = 50},
-  [1546] = {.lex_state = 0},
-  [1547] = {.lex_state = 52},
-  [1548] = {.lex_state = 0},
+  [1541] = {.lex_state = 32},
+  [1542] = {.lex_state = 53},
+  [1543] = {.lex_state = 53},
+  [1544] = {.lex_state = 53},
+  [1545] = {.lex_state = 0},
+  [1546] = {.lex_state = 53},
+  [1547] = {.lex_state = 120},
+  [1548] = {.lex_state = 53},
   [1549] = {.lex_state = 0},
-  [1550] = {.lex_state = 34},
+  [1550] = {.lex_state = 50},
   [1551] = {.lex_state = 0},
-  [1552] = {.lex_state = 0},
-  [1553] = {.lex_state = 52},
-  [1554] = {.lex_state = 0},
-  [1555] = {.lex_state = 52},
-  [1556] = {.lex_state = 34},
-  [1557] = {.lex_state = 0},
-  [1558] = {.lex_state = 45},
-  [1559] = {.lex_state = 45},
-  [1560] = {.lex_state = 45},
+  [1552] = {.lex_state = 53},
+  [1553] = {.lex_state = 30},
+  [1554] = {.lex_state = 37},
+  [1555] = {.lex_state = 120},
+  [1556] = {.lex_state = 32},
+  [1557] = {.lex_state = 30},
+  [1558] = {.lex_state = 37},
+  [1559] = {.lex_state = 32},
+  [1560] = {.lex_state = 32},
   [1561] = {.lex_state = 0},
-  [1562] = {.lex_state = 0},
+  [1562] = {.lex_state = 32},
   [1563] = {.lex_state = 0},
-  [1564] = {.lex_state = 0},
-  [1565] = {.lex_state = 0},
-  [1566] = {.lex_state = 45},
-  [1567] = {.lex_state = 52},
-  [1568] = {.lex_state = 0},
-  [1569] = {.lex_state = 0},
-  [1570] = {.lex_state = 0},
+  [1564] = {.lex_state = 30},
+  [1565] = {.lex_state = 37},
+  [1566] = {.lex_state = 0},
+  [1567] = {.lex_state = 32},
+  [1568] = {.lex_state = 53},
+  [1569] = {.lex_state = 37},
+  [1570] = {.lex_state = 37},
   [1571] = {.lex_state = 0},
   [1572] = {.lex_state = 0},
-  [1573] = {.lex_state = 0},
-  [1574] = {.lex_state = 52},
+  [1573] = {.lex_state = 53},
+  [1574] = {.lex_state = 0},
   [1575] = {.lex_state = 0},
   [1576] = {.lex_state = 0},
   [1577] = {.lex_state = 0},
-  [1578] = {.lex_state = 0},
+  [1578] = {.lex_state = 34},
   [1579] = {.lex_state = 0},
   [1580] = {.lex_state = 0},
-  [1581] = {.lex_state = 0},
+  [1581] = {.lex_state = 45},
   [1582] = {.lex_state = 0},
-  [1583] = {.lex_state = 0},
-  [1584] = {.lex_state = 52},
-  [1585] = {.lex_state = 45},
-  [1586] = {.lex_state = 34},
+  [1583] = {.lex_state = 45},
+  [1584] = {.lex_state = 0},
+  [1585] = {.lex_state = 0},
+  [1586] = {.lex_state = 0},
   [1587] = {.lex_state = 0},
-  [1588] = {.lex_state = 0},
-  [1589] = {.lex_state = 0},
-  [1590] = {.lex_state = 0},
+  [1588] = {.lex_state = 53},
+  [1589] = {.lex_state = 53},
+  [1590] = {.lex_state = 45},
   [1591] = {.lex_state = 0},
   [1592] = {.lex_state = 0},
   [1593] = {.lex_state = 0},
   [1594] = {.lex_state = 0},
   [1595] = {.lex_state = 0},
-  [1596] = {.lex_state = 0},
+  [1596] = {.lex_state = 45},
   [1597] = {.lex_state = 0},
   [1598] = {.lex_state = 0},
   [1599] = {.lex_state = 0},
@@ -11110,11 +11159,11 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [1607] = {.lex_state = 0},
   [1608] = {.lex_state = 0},
   [1609] = {.lex_state = 0},
-  [1610] = {.lex_state = 0},
-  [1611] = {.lex_state = 0},
+  [1610] = {.lex_state = 53},
+  [1611] = {.lex_state = 53},
   [1612] = {.lex_state = 0},
   [1613] = {.lex_state = 0},
-  [1614] = {.lex_state = 52},
+  [1614] = {.lex_state = 34},
   [1615] = {.lex_state = 0},
   [1616] = {.lex_state = 0},
   [1617] = {.lex_state = 0},
@@ -11124,19 +11173,19 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [1621] = {.lex_state = 0},
   [1622] = {.lex_state = 0},
   [1623] = {.lex_state = 0},
-  [1624] = {.lex_state = 30},
-  [1625] = {.lex_state = 34},
+  [1624] = {.lex_state = 0},
+  [1625] = {.lex_state = 0},
   [1626] = {.lex_state = 0},
   [1627] = {.lex_state = 0},
   [1628] = {.lex_state = 0},
   [1629] = {.lex_state = 0},
-  [1630] = {.lex_state = 52},
+  [1630] = {.lex_state = 0},
   [1631] = {.lex_state = 0},
-  [1632] = {.lex_state = 52},
+  [1632] = {.lex_state = 0},
   [1633] = {.lex_state = 0},
   [1634] = {.lex_state = 0},
   [1635] = {.lex_state = 0},
-  [1636] = {.lex_state = 52},
+  [1636] = {.lex_state = 53},
   [1637] = {.lex_state = 0},
   [1638] = {.lex_state = 0},
   [1639] = {.lex_state = 0},
@@ -11144,32 +11193,32 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [1641] = {.lex_state = 0},
   [1642] = {.lex_state = 0},
   [1643] = {.lex_state = 0},
-  [1644] = {.lex_state = 52},
+  [1644] = {.lex_state = 0},
   [1645] = {.lex_state = 0},
   [1646] = {.lex_state = 0},
   [1647] = {.lex_state = 0},
   [1648] = {.lex_state = 0},
-  [1649] = {.lex_state = 30},
+  [1649] = {.lex_state = 0},
   [1650] = {.lex_state = 0},
-  [1651] = {.lex_state = 52},
-  [1652] = {.lex_state = 0},
-  [1653] = {.lex_state = 30},
-  [1654] = {.lex_state = 52},
-  [1655] = {.lex_state = 0},
+  [1651] = {.lex_state = 0},
+  [1652] = {.lex_state = 30},
+  [1653] = {.lex_state = 0},
+  [1654] = {.lex_state = 53},
+  [1655] = {.lex_state = 34},
   [1656] = {.lex_state = 45},
-  [1657] = {.lex_state = 0},
+  [1657] = {.lex_state = 45},
   [1658] = {.lex_state = 0},
   [1659] = {.lex_state = 0},
   [1660] = {.lex_state = 0},
   [1661] = {.lex_state = 0},
-  [1662] = {.lex_state = 0},
+  [1662] = {.lex_state = 45},
   [1663] = {.lex_state = 0},
   [1664] = {.lex_state = 0},
-  [1665] = {.lex_state = 0},
-  [1666] = {.lex_state = 45},
+  [1665] = {.lex_state = 30},
+  [1666] = {.lex_state = 0},
   [1667] = {.lex_state = 0},
   [1668] = {.lex_state = 0},
-  [1669] = {.lex_state = 119},
+  [1669] = {.lex_state = 0},
   [1670] = {.lex_state = 0},
   [1671] = {.lex_state = 0},
   [1672] = {.lex_state = 0},
@@ -11178,337 +11227,351 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
   [1675] = {.lex_state = 0},
   [1676] = {.lex_state = 0},
   [1677] = {.lex_state = 0},
-  [1678] = {.lex_state = 119},
-  [1679] = {.lex_state = 45},
-  [1680] = {.lex_state = 45},
-  [1681] = {.lex_state = 0},
-  [1682] = {.lex_state = 119},
+  [1678] = {.lex_state = 0},
+  [1679] = {.lex_state = 30},
+  [1680] = {.lex_state = 0},
+  [1681] = {.lex_state = 53},
+  [1682] = {.lex_state = 0},
   [1683] = {.lex_state = 0},
-  [1684] = {.lex_state = 52},
+  [1684] = {.lex_state = 34},
   [1685] = {.lex_state = 0},
   [1686] = {.lex_state = 0},
-  [1687] = {.lex_state = 33},
-  [1688] = {.lex_state = 33},
-  [1689] = {.lex_state = 119},
-  [1690] = {.lex_state = 0},
+  [1687] = {.lex_state = 0},
+  [1688] = {.lex_state = 0},
+  [1689] = {.lex_state = 120},
+  [1690] = {.lex_state = 33},
   [1691] = {.lex_state = 0},
   [1692] = {.lex_state = 33},
-  [1693] = {.lex_state = 33},
-  [1694] = {.lex_state = 52},
+  [1693] = {.lex_state = 120},
+  [1694] = {.lex_state = 53},
   [1695] = {.lex_state = 0},
-  [1696] = {.lex_state = 119},
-  [1697] = {.lex_state = 33},
+  [1696] = {.lex_state = 0},
+  [1697] = {.lex_state = 0},
   [1698] = {.lex_state = 0},
-  [1699] = {.lex_state = 52},
-  [1700] = {.lex_state = 0},
-  [1701] = {.lex_state = 33},
-  [1702] = {.lex_state = 0},
-  [1703] = {.lex_state = 119},
+  [1699] = {.lex_state = 33},
+  [1700] = {.lex_state = 33},
+  [1701] = {.lex_state = 0},
+  [1702] = {.lex_state = 120},
+  [1703] = {.lex_state = 33},
   [1704] = {.lex_state = 0},
-  [1705] = {.lex_state = 52},
-  [1706] = {.lex_state = 119},
-  [1707] = {.lex_state = 119},
-  [1708] = {.lex_state = 119},
-  [1709] = {.lex_state = 0},
+  [1705] = {.lex_state = 0},
+  [1706] = {.lex_state = 33},
+  [1707] = {.lex_state = 33},
+  [1708] = {.lex_state = 33},
+  [1709] = {.lex_state = 33},
   [1710] = {.lex_state = 0},
-  [1711] = {.lex_state = 0},
+  [1711] = {.lex_state = 33},
   [1712] = {.lex_state = 33},
   [1713] = {.lex_state = 0},
-  [1714] = {.lex_state = 33},
-  [1715] = {.lex_state = 33},
-  [1716] = {.lex_state = 119},
-  [1717] = {.lex_state = 119},
-  [1718] = {.lex_state = 0},
-  [1719] = {.lex_state = 119},
-  [1720] = {.lex_state = 33},
-  [1721] = {.lex_state = 119},
-  [1722] = {.lex_state = 119},
-  [1723] = {.lex_state = 45},
-  [1724] = {.lex_state = 119},
+  [1714] = {.lex_state = 0},
+  [1715] = {.lex_state = 120},
+  [1716] = {.lex_state = 120},
+  [1717] = {.lex_state = 33},
+  [1718] = {.lex_state = 33},
+  [1719] = {.lex_state = 53},
+  [1720] = {.lex_state = 120},
+  [1721] = {.lex_state = 120},
+  [1722] = {.lex_state = 120},
+  [1723] = {.lex_state = 33},
+  [1724] = {.lex_state = 120},
   [1725] = {.lex_state = 0},
-  [1726] = {.lex_state = 0},
-  [1727] = {.lex_state = 119},
-  [1728] = {.lex_state = 33},
-  [1729] = {.lex_state = 119},
-  [1730] = {.lex_state = 119},
-  [1731] = {.lex_state = 0},
-  [1732] = {.lex_state = 119},
-  [1733] = {.lex_state = 52},
-  [1734] = {.lex_state = 119},
-  [1735] = {.lex_state = 119},
-  [1736] = {.lex_state = 0},
-  [1737] = {.lex_state = 0},
-  [1738] = {.lex_state = 0},
-  [1739] = {.lex_state = 33},
-  [1740] = {.lex_state = 119},
+  [1726] = {.lex_state = 120},
+  [1727] = {.lex_state = 45},
+  [1728] = {.lex_state = 53},
+  [1729] = {.lex_state = 0},
+  [1730] = {.lex_state = 45},
+  [1731] = {.lex_state = 33},
+  [1732] = {.lex_state = 0},
+  [1733] = {.lex_state = 0},
+  [1734] = {.lex_state = 53},
+  [1735] = {.lex_state = 120},
+  [1736] = {.lex_state = 120},
+  [1737] = {.lex_state = 120},
+  [1738] = {.lex_state = 120},
+  [1739] = {.lex_state = 0},
+  [1740] = {.lex_state = 0},
   [1741] = {.lex_state = 0},
-  [1742] = {.lex_state = 119},
-  [1743] = {.lex_state = 52},
-  [1744] = {.lex_state = 0},
-  [1745] = {.lex_state = 33},
-  [1746] = {.lex_state = 0},
-  [1747] = {.lex_state = 0},
-  [1748] = {.lex_state = 33},
+  [1742] = {.lex_state = 120},
+  [1743] = {.lex_state = 0},
+  [1744] = {.lex_state = 53},
+  [1745] = {.lex_state = 120},
+  [1746] = {.lex_state = 120},
+  [1747] = {.lex_state = 120},
+  [1748] = {.lex_state = 0},
   [1749] = {.lex_state = 0},
-  [1750] = {.lex_state = 33},
-  [1751] = {.lex_state = 33},
-  [1752] = {.lex_state = 52},
-  [1753] = {.lex_state = 52},
-  [1754] = {.lex_state = 119},
-  [1755] = {.lex_state = 119},
-  [1756] = {.lex_state = 33},
-  [1757] = {.lex_state = 52},
+  [1750] = {.lex_state = 0},
+  [1751] = {.lex_state = 53},
+  [1752] = {.lex_state = 120},
+  [1753] = {.lex_state = 120},
+  [1754] = {.lex_state = 120},
+  [1755] = {.lex_state = 33},
+  [1756] = {.lex_state = 53},
+  [1757] = {.lex_state = 0},
   [1758] = {.lex_state = 0},
   [1759] = {.lex_state = 0},
-  [1760] = {.lex_state = 44},
+  [1760] = {.lex_state = 120},
   [1761] = {.lex_state = 0},
-  [1762] = {.lex_state = 0},
-  [1763] = {.lex_state = 0},
-  [1764] = {.lex_state = 44},
-  [1765] = {.lex_state = 119},
+  [1762] = {.lex_state = 120},
+  [1763] = {.lex_state = 120},
+  [1764] = {.lex_state = 33},
+  [1765] = {.lex_state = 0},
   [1766] = {.lex_state = 0},
-  [1767] = {.lex_state = 119},
+  [1767] = {.lex_state = 0},
   [1768] = {.lex_state = 0},
-  [1769] = {.lex_state = 34},
+  [1769] = {.lex_state = 0},
   [1770] = {.lex_state = 0},
-  [1771] = {.lex_state = 0},
+  [1771] = {.lex_state = 53},
   [1772] = {.lex_state = 0},
-  [1773] = {.lex_state = 34},
-  [1774] = {.lex_state = 34},
-  [1775] = {.lex_state = 0},
+  [1773] = {.lex_state = 120},
+  [1774] = {.lex_state = 45},
+  [1775] = {.lex_state = 44},
   [1776] = {.lex_state = 44},
-  [1777] = {.lex_state = 0},
-  [1778] = {.lex_state = 44},
-  [1779] = {.lex_state = 0},
-  [1780] = {.lex_state = 34},
-  [1781] = {.lex_state = 52},
-  [1782] = {.lex_state = 52},
+  [1777] = {.lex_state = 44},
+  [1778] = {.lex_state = 120},
+  [1779] = {.lex_state = 44},
+  [1780] = {.lex_state = 0},
+  [1781] = {.lex_state = 0},
+  [1782] = {.lex_state = 44},
   [1783] = {.lex_state = 34},
-  [1784] = {.lex_state = 0},
-  [1785] = {.lex_state = 0},
-  [1786] = {.lex_state = 0},
-  [1787] = {.lex_state = 0},
-  [1788] = {.lex_state = 0},
-  [1789] = {.lex_state = 34},
-  [1790] = {.lex_state = 34},
+  [1784] = {.lex_state = 34},
+  [1785] = {.lex_state = 53},
+  [1786] = {.lex_state = 34},
+  [1787] = {.lex_state = 34},
+  [1788] = {.lex_state = 44},
+  [1789] = {.lex_state = 0},
+  [1790] = {.lex_state = 0},
   [1791] = {.lex_state = 0},
-  [1792] = {.lex_state = 34},
-  [1793] = {.lex_state = 0},
-  [1794] = {.lex_state = 0},
-  [1795] = {.lex_state = 52},
-  [1796] = {.lex_state = 34},
-  [1797] = {.lex_state = 0},
-  [1798] = {.lex_state = 34},
-  [1799] = {.lex_state = 0},
-  [1800] = {.lex_state = 0},
-  [1801] = {.lex_state = 52},
-  [1802] = {.lex_state = 52},
-  [1803] = {.lex_state = 0},
-  [1804] = {.lex_state = 0},
-  [1805] = {.lex_state = 34},
+  [1792] = {.lex_state = 44},
+  [1793] = {.lex_state = 44},
+  [1794] = {.lex_state = 34},
+  [1795] = {.lex_state = 0},
+  [1796] = {.lex_state = 0},
+  [1797] = {.lex_state = 44},
+  [1798] = {.lex_state = 0},
+  [1799] = {.lex_state = 53},
+  [1800] = {.lex_state = 34},
+  [1801] = {.lex_state = 0},
+  [1802] = {.lex_state = 34},
+  [1803] = {.lex_state = 34},
+  [1804] = {.lex_state = 44},
+  [1805] = {.lex_state = 44},
   [1806] = {.lex_state = 34},
-  [1807] = {.lex_state = 44},
+  [1807] = {.lex_state = 0},
   [1808] = {.lex_state = 34},
   [1809] = {.lex_state = 0},
-  [1810] = {.lex_state = 52},
-  [1811] = {.lex_state = 52},
-  [1812] = {.lex_state = 0},
-  [1813] = {.lex_state = 34},
-  [1814] = {.lex_state = 34},
-  [1815] = {.lex_state = 34},
-  [1816] = {.lex_state = 52},
-  [1817] = {.lex_state = 0},
+  [1810] = {.lex_state = 0},
+  [1811] = {.lex_state = 0},
+  [1812] = {.lex_state = 34},
+  [1813] = {.lex_state = 44},
+  [1814] = {.lex_state = 0},
+  [1815] = {.lex_state = 0},
+  [1816] = {.lex_state = 0},
+  [1817] = {.lex_state = 34},
   [1818] = {.lex_state = 44},
-  [1819] = {.lex_state = 52},
-  [1820] = {.lex_state = 52},
-  [1821] = {.lex_state = 44},
-  [1822] = {.lex_state = 44},
+  [1819] = {.lex_state = 34},
+  [1820] = {.lex_state = 34},
+  [1821] = {.lex_state = 53},
+  [1822] = {.lex_state = 34},
   [1823] = {.lex_state = 0},
-  [1824] = {.lex_state = 44},
-  [1825] = {.lex_state = 0},
+  [1824] = {.lex_state = 53},
+  [1825] = {.lex_state = 53},
   [1826] = {.lex_state = 0},
-  [1827] = {.lex_state = 119},
+  [1827] = {.lex_state = 34},
   [1828] = {.lex_state = 0},
-  [1829] = {.lex_state = 0},
-  [1830] = {.lex_state = 0},
-  [1831] = {.lex_state = 0},
-  [1832] = {.lex_state = 44},
-  [1833] = {.lex_state = 119},
-  [1834] = {.lex_state = 44},
-  [1835] = {.lex_state = 119},
+  [1829] = {.lex_state = 44},
+  [1830] = {.lex_state = 34},
+  [1831] = {.lex_state = 44},
+  [1832] = {.lex_state = 0},
+  [1833] = {.lex_state = 53},
+  [1834] = {.lex_state = 0},
+  [1835] = {.lex_state = 44},
   [1836] = {.lex_state = 44},
   [1837] = {.lex_state = 0},
   [1838] = {.lex_state = 0},
-  [1839] = {.lex_state = 44},
-  [1840] = {.lex_state = 119},
-  [1841] = {.lex_state = 52},
-  [1842] = {.lex_state = 44},
-  [1843] = {.lex_state = 0},
-  [1844] = {.lex_state = 0},
+  [1839] = {.lex_state = 0},
+  [1840] = {.lex_state = 0},
+  [1841] = {.lex_state = 0},
+  [1842] = {.lex_state = 53},
+  [1843] = {.lex_state = 120},
+  [1844] = {.lex_state = 34},
   [1845] = {.lex_state = 0},
-  [1846] = {.lex_state = 0},
+  [1846] = {.lex_state = 44},
   [1847] = {.lex_state = 0},
   [1848] = {.lex_state = 0},
   [1849] = {.lex_state = 0},
   [1850] = {.lex_state = 0},
-  [1851] = {.lex_state = 52},
-  [1852] = {.lex_state = 34},
-  [1853] = {.lex_state = 52},
-  [1854] = {.lex_state = 119},
-  [1855] = {.lex_state = 44},
+  [1851] = {.lex_state = 0},
+  [1852] = {.lex_state = 53},
+  [1853] = {.lex_state = 120},
+  [1854] = {.lex_state = 0},
+  [1855] = {.lex_state = 53},
   [1856] = {.lex_state = 0},
-  [1857] = {.lex_state = 44},
-  [1858] = {.lex_state = 52},
-  [1859] = {.lex_state = 52},
+  [1857] = {.lex_state = 0},
+  [1858] = {.lex_state = 0},
+  [1859] = {.lex_state = 0},
   [1860] = {.lex_state = 0},
-  [1861] = {.lex_state = 0},
+  [1861] = {.lex_state = 34},
   [1862] = {.lex_state = 0},
-  [1863] = {.lex_state = 44},
-  [1864] = {.lex_state = 34},
-  [1865] = {.lex_state = 0},
+  [1863] = {.lex_state = 0},
+  [1864] = {.lex_state = 120},
+  [1865] = {.lex_state = 44},
   [1866] = {.lex_state = 0},
-  [1867] = {.lex_state = 0},
-  [1868] = {.lex_state = 44},
-  [1869] = {.lex_state = 0},
+  [1867] = {.lex_state = 53},
+  [1868] = {.lex_state = 34},
+  [1869] = {.lex_state = 53},
   [1870] = {.lex_state = 44},
-  [1871] = {.lex_state = 34},
-  [1872] = {.lex_state = 44},
-  [1873] = {.lex_state = 44},
-  [1874] = {.lex_state = 119},
-  [1875] = {.lex_state = 52},
+  [1871] = {.lex_state = 0},
+  [1872] = {.lex_state = 53},
+  [1873] = {.lex_state = 0},
+  [1874] = {.lex_state = 0},
+  [1875] = {.lex_state = 0},
   [1876] = {.lex_state = 44},
-  [1877] = {.lex_state = 34},
-  [1878] = {.lex_state = 44},
-  [1879] = {.lex_state = 44},
-  [1880] = {.lex_state = 44},
-  [1881] = {.lex_state = 52},
-  [1882] = {.lex_state = 0},
+  [1877] = {.lex_state = 53},
+  [1878] = {.lex_state = 0},
+  [1879] = {.lex_state = 34},
+  [1880] = {.lex_state = 0},
+  [1881] = {.lex_state = 34},
+  [1882] = {.lex_state = 34},
   [1883] = {.lex_state = 0},
-  [1884] = {.lex_state = 44},
+  [1884] = {.lex_state = 0},
   [1885] = {.lex_state = 0},
   [1886] = {.lex_state = 0},
-  [1887] = {.lex_state = 0},
-  [1888] = {.lex_state = 34},
-  [1889] = {.lex_state = 44},
-  [1890] = {.lex_state = 44},
+  [1887] = {.lex_state = 44},
+  [1888] = {.lex_state = 0},
+  [1889] = {.lex_state = 53},
+  [1890] = {.lex_state = 53},
   [1891] = {.lex_state = 44},
-  [1892] = {.lex_state = 0},
+  [1892] = {.lex_state = 120},
   [1893] = {.lex_state = 44},
-  [1894] = {.lex_state = 34},
-  [1895] = {.lex_state = 44},
-  [1896] = {.lex_state = 34},
-  [1897] = {.lex_state = 0},
-  [1898] = {.lex_state = 119},
+  [1894] = {.lex_state = 44},
+  [1895] = {.lex_state = 53},
+  [1896] = {.lex_state = 44},
+  [1897] = {.lex_state = 44},
+  [1898] = {.lex_state = 34},
   [1899] = {.lex_state = 44},
-  [1900] = {.lex_state = 52},
-  [1901] = {.lex_state = 52},
-  [1902] = {.lex_state = 44},
-  [1903] = {.lex_state = 0},
-  [1904] = {.lex_state = 0},
-  [1905] = {.lex_state = 52},
-  [1906] = {.lex_state = 34},
+  [1900] = {.lex_state = 0},
+  [1901] = {.lex_state = 53},
+  [1902] = {.lex_state = 0},
+  [1903] = {.lex_state = 44},
+  [1904] = {.lex_state = 53},
+  [1905] = {.lex_state = 0},
+  [1906] = {.lex_state = 0},
   [1907] = {.lex_state = 44},
   [1908] = {.lex_state = 0},
-  [1909] = {.lex_state = 52},
+  [1909] = {.lex_state = 0},
   [1910] = {.lex_state = 0},
-  [1911] = {.lex_state = 52},
+  [1911] = {.lex_state = 0},
   [1912] = {.lex_state = 0},
-  [1913] = {.lex_state = 44},
-  [1914] = {.lex_state = 0},
-  [1915] = {.lex_state = 34},
-  [1916] = {.lex_state = 119},
-  [1917] = {.lex_state = 0},
-  [1918] = {.lex_state = 44},
-  [1919] = {.lex_state = 0},
-  [1920] = {.lex_state = 52},
-  [1921] = {.lex_state = 52},
+  [1913] = {.lex_state = 0},
+  [1914] = {.lex_state = 53},
+  [1915] = {.lex_state = 53},
+  [1916] = {.lex_state = 53},
+  [1917] = {.lex_state = 44},
+  [1918] = {.lex_state = 0},
+  [1919] = {.lex_state = 44},
+  [1920] = {.lex_state = 53},
+  [1921] = {.lex_state = 0},
   [1922] = {.lex_state = 0},
-  [1923] = {.lex_state = 0},
-  [1924] = {.lex_state = 0},
-  [1925] = {.lex_state = 44},
+  [1923] = {.lex_state = 53},
+  [1924] = {.lex_state = 44},
+  [1925] = {.lex_state = 0},
   [1926] = {.lex_state = 44},
-  [1927] = {.lex_state = 0},
+  [1927] = {.lex_state = 44},
   [1928] = {.lex_state = 0},
   [1929] = {.lex_state = 0},
   [1930] = {.lex_state = 0},
-  [1931] = {.lex_state = 52},
-  [1932] = {.lex_state = 52},
-  [1933] = {.lex_state = 52},
-  [1934] = {.lex_state = 0},
-  [1935] = {.lex_state = 34},
-  [1936] = {.lex_state = 0},
-  [1937] = {.lex_state = 52},
+  [1931] = {.lex_state = 53},
+  [1932] = {.lex_state = 53},
+  [1933] = {.lex_state = 0},
+  [1934] = {.lex_state = 44},
+  [1935] = {.lex_state = 53},
+  [1936] = {.lex_state = 44},
+  [1937] = {.lex_state = 0},
   [1938] = {.lex_state = 0},
   [1939] = {.lex_state = 0},
-  [1940] = {.lex_state = 0},
+  [1940] = {.lex_state = 53},
   [1941] = {.lex_state = 0},
   [1942] = {.lex_state = 34},
   [1943] = {.lex_state = 0},
   [1944] = {.lex_state = 0},
-  [1945] = {.lex_state = 44},
-  [1946] = {.lex_state = 0},
-  [1947] = {.lex_state = 0},
-  [1948] = {.lex_state = 0},
+  [1945] = {.lex_state = 53},
+  [1946] = {.lex_state = 53},
+  [1947] = {.lex_state = 44},
+  [1948] = {.lex_state = 34},
   [1949] = {.lex_state = 0},
-  [1950] = {.lex_state = 44},
-  [1951] = {.lex_state = 0},
-  [1952] = {.lex_state = 52},
+  [1950] = {.lex_state = 0},
+  [1951] = {.lex_state = 53},
+  [1952] = {.lex_state = 120},
   [1953] = {.lex_state = 0},
-  [1954] = {.lex_state = 0},
-  [1955] = {.lex_state = 0},
-  [1956] = {.lex_state = 52},
-  [1957] = {.lex_state = 52},
-  [1958] = {.lex_state = 0},
+  [1954] = {.lex_state = 44},
+  [1955] = {.lex_state = 34},
+  [1956] = {.lex_state = 53},
+  [1957] = {.lex_state = 0},
+  [1958] = {.lex_state = 44},
   [1959] = {.lex_state = 0},
-  [1960] = {.lex_state = 52},
-  [1961] = {.lex_state = 52},
-  [1962] = {.lex_state = 0},
-  [1963] = {.lex_state = 119},
-  [1964] = {.lex_state = 119},
+  [1960] = {.lex_state = 53},
+  [1961] = {.lex_state = 0},
+  [1962] = {.lex_state = 44},
+  [1963] = {.lex_state = 120},
+  [1964] = {.lex_state = 0},
   [1965] = {.lex_state = 0},
-  [1966] = {.lex_state = 52},
-  [1967] = {.lex_state = 44},
-  [1968] = {.lex_state = 44},
-  [1969] = {.lex_state = 0},
-  [1970] = {.lex_state = 44},
-  [1971] = {.lex_state = 0},
+  [1966] = {.lex_state = 53},
+  [1967] = {.lex_state = 0},
+  [1968] = {.lex_state = 0},
+  [1969] = {.lex_state = 53},
+  [1970] = {.lex_state = 53},
+  [1971] = {.lex_state = 53},
   [1972] = {.lex_state = 44},
-  [1973] = {.lex_state = 52},
-  [1974] = {.lex_state = 52},
-  [1975] = {.lex_state = 34},
-  [1976] = {.lex_state = 0},
-  [1977] = {.lex_state = 0},
-  [1978] = {.lex_state = 0},
-  [1979] = {.lex_state = 34},
+  [1973] = {.lex_state = 0},
+  [1974] = {.lex_state = 0},
+  [1975] = {.lex_state = 120},
+  [1976] = {.lex_state = 44},
+  [1977] = {.lex_state = 120},
+  [1978] = {.lex_state = 120},
+  [1979] = {.lex_state = 0},
   [1980] = {.lex_state = 44},
-  [1981] = {.lex_state = 44},
-  [1982] = {.lex_state = 44},
+  [1981] = {.lex_state = 0},
+  [1982] = {.lex_state = 0},
   [1983] = {.lex_state = 0},
-  [1984] = {.lex_state = 44},
-  [1985] = {.lex_state = 0},
-  [1986] = {.lex_state = 119},
-  [1987] = {.lex_state = 52},
-  [1988] = {.lex_state = 44},
-  [1989] = {.lex_state = 52},
+  [1984] = {.lex_state = 0},
+  [1985] = {.lex_state = 120},
+  [1986] = {.lex_state = 44},
+  [1987] = {.lex_state = 44},
+  [1988] = {.lex_state = 53},
+  [1989] = {.lex_state = 34},
   [1990] = {.lex_state = 0},
-  [1991] = {.lex_state = 44},
-  [1992] = {.lex_state = 52},
-  [1993] = {.lex_state = 119},
+  [1991] = {.lex_state = 120},
+  [1992] = {.lex_state = 0},
+  [1993] = {.lex_state = 44},
   [1994] = {.lex_state = 0},
   [1995] = {.lex_state = 0},
-  [1996] = {.lex_state = 0},
-  [1997] = {.lex_state = 34},
-  [1998] = {.lex_state = 44},
-  [1999] = {.lex_state = 44},
-  [2000] = {.lex_state = 0},
-  [2001] = {.lex_state = 52},
-  [2002] = {.lex_state = 119},
-  [2003] = {.lex_state = 0},
-  [2004] = {.lex_state = 52},
-  [2005] = {.lex_state = 119},
-  [2006] = {.lex_state = 52},
-  [2007] = {.lex_state = 34},
+  [1996] = {.lex_state = 53},
+  [1997] = {.lex_state = 0},
+  [1998] = {.lex_state = 0},
+  [1999] = {.lex_state = 0},
+  [2000] = {.lex_state = 120},
+  [2001] = {.lex_state = 53},
+  [2002] = {.lex_state = 0},
+  [2003] = {.lex_state = 53},
+  [2004] = {.lex_state = 0},
+  [2005] = {.lex_state = 44},
+  [2006] = {.lex_state = 34},
+  [2007] = {.lex_state = 0},
   [2008] = {.lex_state = 0},
+  [2009] = {.lex_state = 44},
+  [2010] = {.lex_state = 0},
+  [2011] = {.lex_state = 53},
+  [2012] = {.lex_state = 44},
+  [2013] = {.lex_state = 34},
+  [2014] = {.lex_state = 0},
+  [2015] = {.lex_state = 44},
+  [2016] = {.lex_state = 120},
+  [2017] = {.lex_state = 44},
+  [2018] = {.lex_state = 0},
+  [2019] = {.lex_state = 120},
+  [2020] = {.lex_state = 0},
+  [2021] = {.lex_state = 34},
+  [2022] = {.lex_state = 120},
 };
 
 static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
@@ -11557,6 +11620,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_typedef] = ACTIONS(1),
     [anon_sym_extern] = ACTIONS(1),
     [anon_sym___attribute__] = ACTIONS(1),
+    [anon_sym___attribute] = ACTIONS(1),
     [anon_sym_LBRACK_LBRACK] = ACTIONS(1),
     [anon_sym___declspec] = ACTIONS(1),
     [anon_sym___based] = ACTIONS(1),
@@ -11666,78 +11730,78 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_comment] = ACTIONS(3),
   },
   [1] = {
-    [sym_translation_unit] = STATE(1882),
-    [sym__top_level_item] = STATE(43),
-    [sym_preproc_include] = STATE(43),
-    [sym_preproc_def] = STATE(43),
-    [sym_preproc_function_def] = STATE(43),
-    [sym_preproc_call] = STATE(43),
-    [sym_preproc_if] = STATE(43),
-    [sym_preproc_ifdef] = STATE(43),
-    [sym_function_definition] = STATE(43),
-    [sym__old_style_function_definition] = STATE(380),
-    [sym_declaration] = STATE(43),
-    [sym_type_definition] = STATE(43),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1118),
-    [sym_linkage_specification] = STATE(43),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(690),
-    [sym_compound_statement] = STATE(43),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(790),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(367),
-    [sym__top_level_statement] = STATE(43),
-    [sym_labeled_statement] = STATE(43),
-    [sym__top_level_expression_statement] = STATE(43),
-    [sym_if_statement] = STATE(43),
-    [sym_switch_statement] = STATE(43),
-    [sym_case_statement] = STATE(43),
-    [sym_while_statement] = STATE(43),
-    [sym_do_statement] = STATE(43),
-    [sym_for_statement] = STATE(43),
-    [sym_return_statement] = STATE(43),
-    [sym_break_statement] = STATE(43),
-    [sym_continue_statement] = STATE(43),
-    [sym_goto_statement] = STATE(43),
-    [sym_expression] = STATE(1100),
-    [sym__string] = STATE(1103),
-    [sym_conditional_expression] = STATE(1103),
-    [sym_assignment_expression] = STATE(1103),
-    [sym_pointer_expression] = STATE(924),
-    [sym_unary_expression] = STATE(1103),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(1103),
-    [sym_cast_expression] = STATE(1103),
-    [sym_sizeof_expression] = STATE(1103),
-    [sym_alignof_expression] = STATE(1103),
-    [sym_offsetof_expression] = STATE(1103),
-    [sym_generic_expression] = STATE(1103),
-    [sym_subscript_expression] = STATE(924),
-    [sym_call_expression] = STATE(924),
-    [sym_gnu_asm_expression] = STATE(1103),
-    [sym_extension_expression] = STATE(1103),
-    [sym_field_expression] = STATE(924),
-    [sym_compound_literal_expression] = STATE(1103),
-    [sym_parenthesized_expression] = STATE(924),
-    [sym_char_literal] = STATE(1103),
-    [sym_concatenated_string] = STATE(1103),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(1103),
-    [sym__empty_declaration] = STATE(43),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_translation_unit_repeat1] = STATE(43),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(338),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
+    [sym_translation_unit] = STATE(1981),
+    [sym__top_level_item] = STATE(44),
+    [sym_preproc_include] = STATE(44),
+    [sym_preproc_def] = STATE(44),
+    [sym_preproc_function_def] = STATE(44),
+    [sym_preproc_call] = STATE(44),
+    [sym_preproc_if] = STATE(44),
+    [sym_preproc_ifdef] = STATE(44),
+    [sym_function_definition] = STATE(44),
+    [sym__old_style_function_definition] = STATE(338),
+    [sym_declaration] = STATE(44),
+    [sym_type_definition] = STATE(44),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1136),
+    [sym_linkage_specification] = STATE(44),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(691),
+    [sym_compound_statement] = STATE(44),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(800),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(362),
+    [sym__top_level_statement] = STATE(44),
+    [sym_labeled_statement] = STATE(44),
+    [sym__top_level_expression_statement] = STATE(44),
+    [sym_if_statement] = STATE(44),
+    [sym_switch_statement] = STATE(44),
+    [sym_case_statement] = STATE(44),
+    [sym_while_statement] = STATE(44),
+    [sym_do_statement] = STATE(44),
+    [sym_for_statement] = STATE(44),
+    [sym_return_statement] = STATE(44),
+    [sym_break_statement] = STATE(44),
+    [sym_continue_statement] = STATE(44),
+    [sym_goto_statement] = STATE(44),
+    [sym_expression] = STATE(1116),
+    [sym__string] = STATE(1119),
+    [sym_conditional_expression] = STATE(1119),
+    [sym_assignment_expression] = STATE(1119),
+    [sym_pointer_expression] = STATE(935),
+    [sym_unary_expression] = STATE(1119),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(1119),
+    [sym_cast_expression] = STATE(1119),
+    [sym_sizeof_expression] = STATE(1119),
+    [sym_alignof_expression] = STATE(1119),
+    [sym_offsetof_expression] = STATE(1119),
+    [sym_generic_expression] = STATE(1119),
+    [sym_subscript_expression] = STATE(935),
+    [sym_call_expression] = STATE(935),
+    [sym_gnu_asm_expression] = STATE(1119),
+    [sym_extension_expression] = STATE(1119),
+    [sym_field_expression] = STATE(935),
+    [sym_compound_literal_expression] = STATE(1119),
+    [sym_parenthesized_expression] = STATE(935),
+    [sym_char_literal] = STATE(1119),
+    [sym_concatenated_string] = STATE(1119),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(1119),
+    [sym__empty_declaration] = STATE(44),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_translation_unit_repeat1] = STATE(44),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(375),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
     [ts_builtin_sym_end] = ACTIONS(5),
     [sym_identifier] = ACTIONS(7),
     [aux_sym_preproc_include_token1] = ACTIONS(9),
@@ -11753,89 +11817,274 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(27),
-    [anon_sym_typedef] = ACTIONS(29),
-    [anon_sym_extern] = ACTIONS(31),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(59),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(63),
-    [anon_sym_default] = ACTIONS(65),
-    [anon_sym_while] = ACTIONS(67),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(71),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(93),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(99),
-    [sym_false] = ACTIONS(99),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(27),
+    [anon_sym___extension__] = ACTIONS(29),
+    [anon_sym_typedef] = ACTIONS(31),
+    [anon_sym_extern] = ACTIONS(33),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(61),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(65),
+    [anon_sym_default] = ACTIONS(67),
+    [anon_sym_while] = ACTIONS(69),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(73),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(95),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(101),
+    [sym_false] = ACTIONS(101),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [2] = {
+    [sym__block_item] = STATE(3),
+    [sym_preproc_include] = STATE(3),
+    [sym_preproc_def] = STATE(3),
+    [sym_preproc_function_def] = STATE(3),
+    [sym_preproc_call] = STATE(3),
+    [sym_preproc_if] = STATE(3),
+    [sym_preproc_ifdef] = STATE(3),
+    [sym_preproc_else] = STATE(1894),
+    [sym_preproc_elif] = STATE(1894),
+    [sym_preproc_elifdef] = STATE(1894),
+    [sym_function_definition] = STATE(3),
+    [sym__old_style_function_definition] = STATE(129),
+    [sym_declaration] = STATE(3),
+    [sym_type_definition] = STATE(3),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
+    [sym_linkage_specification] = STATE(3),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(793),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
+    [sym_statement] = STATE(3),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym__empty_declaration] = STATE(3),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_repeat1] = STATE(3),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
+    [aux_sym_preproc_if_token2] = ACTIONS(113),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
+    [anon_sym_LPAREN2] = ACTIONS(19),
+    [anon_sym_BANG] = ACTIONS(21),
+    [anon_sym_TILDE] = ACTIONS(21),
+    [anon_sym_DASH] = ACTIONS(23),
+    [anon_sym_PLUS] = ACTIONS(23),
+    [anon_sym_STAR] = ACTIONS(25),
+    [anon_sym_AMP] = ACTIONS(25),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
+    [sym_comment] = ACTIONS(3),
+  },
+  [3] = {
     [sym__block_item] = STATE(22),
     [sym_preproc_include] = STATE(22),
     [sym_preproc_def] = STATE(22),
@@ -11843,88 +12092,88 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_call] = STATE(22),
     [sym_preproc_if] = STATE(22),
     [sym_preproc_ifdef] = STATE(22),
-    [sym_preproc_else] = STATE(1760),
-    [sym_preproc_elif] = STATE(1760),
-    [sym_preproc_elifdef] = STATE(1760),
+    [sym_preproc_else] = STATE(1893),
+    [sym_preproc_elif] = STATE(1893),
+    [sym_preproc_elifdef] = STATE(1893),
     [sym_function_definition] = STATE(22),
-    [sym__old_style_function_definition] = STATE(120),
+    [sym__old_style_function_definition] = STATE(129),
     [sym_declaration] = STATE(22),
     [sym_type_definition] = STATE(22),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
     [sym_linkage_specification] = STATE(22),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
     [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
     [sym_statement] = STATE(22),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(22),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(22),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
-    [aux_sym_preproc_if_token2] = ACTIONS(111),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
+    [aux_sym_preproc_if_token2] = ACTIONS(165),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -11932,92 +12181,93 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [3] = {
+  [4] = {
     [sym__block_item] = STATE(5),
     [sym_preproc_include] = STATE(5),
     [sym_preproc_def] = STATE(5),
@@ -12025,270 +12275,88 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_call] = STATE(5),
     [sym_preproc_if] = STATE(5),
     [sym_preproc_ifdef] = STATE(5),
-    [sym_preproc_else] = STATE(1988),
-    [sym_preproc_elif] = STATE(1988),
-    [sym_preproc_elifdef] = STATE(1988),
+    [sym_preproc_else] = STATE(1846),
+    [sym_preproc_elif] = STATE(1846),
+    [sym_preproc_elifdef] = STATE(1846),
     [sym_function_definition] = STATE(5),
-    [sym__old_style_function_definition] = STATE(120),
+    [sym__old_style_function_definition] = STATE(129),
     [sym_declaration] = STATE(5),
     [sym_type_definition] = STATE(5),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
     [sym_linkage_specification] = STATE(5),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
     [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
     [sym_statement] = STATE(5),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(5),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(5),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
-    [aux_sym_preproc_if_token2] = ACTIONS(163),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
-    [anon_sym_LPAREN2] = ACTIONS(19),
-    [anon_sym_BANG] = ACTIONS(21),
-    [anon_sym_TILDE] = ACTIONS(21),
-    [anon_sym_DASH] = ACTIONS(23),
-    [anon_sym_PLUS] = ACTIONS(23),
-    [anon_sym_STAR] = ACTIONS(25),
-    [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
-    [sym_comment] = ACTIONS(3),
-  },
-  [4] = {
-    [sym__block_item] = STATE(6),
-    [sym_preproc_include] = STATE(6),
-    [sym_preproc_def] = STATE(6),
-    [sym_preproc_function_def] = STATE(6),
-    [sym_preproc_call] = STATE(6),
-    [sym_preproc_if] = STATE(6),
-    [sym_preproc_ifdef] = STATE(6),
-    [sym_preproc_else] = STATE(1764),
-    [sym_preproc_elif] = STATE(1764),
-    [sym_preproc_elifdef] = STATE(1764),
-    [sym_function_definition] = STATE(6),
-    [sym__old_style_function_definition] = STATE(120),
-    [sym_declaration] = STATE(6),
-    [sym_type_definition] = STATE(6),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
-    [sym_linkage_specification] = STATE(6),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
-    [sym_statement] = STATE(6),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym__empty_declaration] = STATE(6),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_repeat1] = STATE(6),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
-    [aux_sym_preproc_if_token2] = ACTIONS(165),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
+    [aux_sym_preproc_if_token2] = ACTIONS(167),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -12296,89 +12364,90 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [5] = {
@@ -12389,88 +12458,88 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_call] = STATE(22),
     [sym_preproc_if] = STATE(22),
     [sym_preproc_ifdef] = STATE(22),
-    [sym_preproc_else] = STATE(1918),
-    [sym_preproc_elif] = STATE(1918),
-    [sym_preproc_elifdef] = STATE(1918),
+    [sym_preproc_else] = STATE(1936),
+    [sym_preproc_elif] = STATE(1936),
+    [sym_preproc_elifdef] = STATE(1936),
     [sym_function_definition] = STATE(22),
-    [sym__old_style_function_definition] = STATE(120),
+    [sym__old_style_function_definition] = STATE(129),
     [sym_declaration] = STATE(22),
     [sym_type_definition] = STATE(22),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
     [sym_linkage_specification] = STATE(22),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
     [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
     [sym_statement] = STATE(22),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(22),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(22),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
-    [aux_sym_preproc_if_token2] = ACTIONS(167),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
+    [aux_sym_preproc_if_token2] = ACTIONS(169),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -12478,181 +12547,182 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [6] = {
-    [sym__block_item] = STATE(22),
-    [sym_preproc_include] = STATE(22),
-    [sym_preproc_def] = STATE(22),
-    [sym_preproc_function_def] = STATE(22),
-    [sym_preproc_call] = STATE(22),
-    [sym_preproc_if] = STATE(22),
-    [sym_preproc_ifdef] = STATE(22),
-    [sym_preproc_else] = STATE(1880),
-    [sym_preproc_elif] = STATE(1880),
-    [sym_preproc_elifdef] = STATE(1880),
-    [sym_function_definition] = STATE(22),
-    [sym__old_style_function_definition] = STATE(120),
-    [sym_declaration] = STATE(22),
-    [sym_type_definition] = STATE(22),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
-    [sym_linkage_specification] = STATE(22),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
+    [sym__block_item] = STATE(8),
+    [sym_preproc_include] = STATE(8),
+    [sym_preproc_def] = STATE(8),
+    [sym_preproc_function_def] = STATE(8),
+    [sym_preproc_call] = STATE(8),
+    [sym_preproc_if] = STATE(8),
+    [sym_preproc_ifdef] = STATE(8),
+    [sym_preproc_else] = STATE(1792),
+    [sym_preproc_elif] = STATE(1792),
+    [sym_preproc_elifdef] = STATE(1792),
+    [sym_function_definition] = STATE(8),
+    [sym__old_style_function_definition] = STATE(129),
+    [sym_declaration] = STATE(8),
+    [sym_type_definition] = STATE(8),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
+    [sym_linkage_specification] = STATE(8),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
     [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
-    [sym_statement] = STATE(22),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym__empty_declaration] = STATE(22),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_repeat1] = STATE(22),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
-    [aux_sym_preproc_if_token2] = ACTIONS(169),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
+    [sym_statement] = STATE(8),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym__empty_declaration] = STATE(8),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_repeat1] = STATE(8),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
+    [aux_sym_preproc_if_token2] = ACTIONS(171),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -12660,89 +12730,90 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [7] = {
@@ -12753,270 +12824,88 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_call] = STATE(9),
     [sym_preproc_if] = STATE(9),
     [sym_preproc_ifdef] = STATE(9),
-    [sym_preproc_else] = STATE(1926),
-    [sym_preproc_elif] = STATE(1926),
-    [sym_preproc_elifdef] = STATE(1926),
+    [sym_preproc_else] = STATE(1793),
+    [sym_preproc_elif] = STATE(1793),
+    [sym_preproc_elifdef] = STATE(1793),
     [sym_function_definition] = STATE(9),
-    [sym__old_style_function_definition] = STATE(120),
+    [sym__old_style_function_definition] = STATE(129),
     [sym_declaration] = STATE(9),
     [sym_type_definition] = STATE(9),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
     [sym_linkage_specification] = STATE(9),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
     [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
     [sym_statement] = STATE(9),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(9),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(9),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
-    [aux_sym_preproc_if_token2] = ACTIONS(171),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
-    [anon_sym_LPAREN2] = ACTIONS(19),
-    [anon_sym_BANG] = ACTIONS(21),
-    [anon_sym_TILDE] = ACTIONS(21),
-    [anon_sym_DASH] = ACTIONS(23),
-    [anon_sym_PLUS] = ACTIONS(23),
-    [anon_sym_STAR] = ACTIONS(25),
-    [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
-    [sym_comment] = ACTIONS(3),
-  },
-  [8] = {
-    [sym__block_item] = STATE(10),
-    [sym_preproc_include] = STATE(10),
-    [sym_preproc_def] = STATE(10),
-    [sym_preproc_function_def] = STATE(10),
-    [sym_preproc_call] = STATE(10),
-    [sym_preproc_if] = STATE(10),
-    [sym_preproc_ifdef] = STATE(10),
-    [sym_preproc_else] = STATE(1991),
-    [sym_preproc_elif] = STATE(1991),
-    [sym_preproc_elifdef] = STATE(1991),
-    [sym_function_definition] = STATE(10),
-    [sym__old_style_function_definition] = STATE(120),
-    [sym_declaration] = STATE(10),
-    [sym_type_definition] = STATE(10),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
-    [sym_linkage_specification] = STATE(10),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
-    [sym_statement] = STATE(10),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym__empty_declaration] = STATE(10),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_repeat1] = STATE(10),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
     [aux_sym_preproc_if_token2] = ACTIONS(173),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -13024,92 +12913,93 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [9] = {
+  [8] = {
     [sym__block_item] = STATE(22),
     [sym_preproc_include] = STATE(22),
     [sym_preproc_def] = STATE(22),
@@ -13117,88 +13007,88 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_call] = STATE(22),
     [sym_preproc_if] = STATE(22),
     [sym_preproc_ifdef] = STATE(22),
-    [sym_preproc_else] = STATE(1998),
-    [sym_preproc_elif] = STATE(1998),
-    [sym_preproc_elifdef] = STATE(1998),
+    [sym_preproc_else] = STATE(1805),
+    [sym_preproc_elif] = STATE(1805),
+    [sym_preproc_elifdef] = STATE(1805),
     [sym_function_definition] = STATE(22),
-    [sym__old_style_function_definition] = STATE(120),
+    [sym__old_style_function_definition] = STATE(129),
     [sym_declaration] = STATE(22),
     [sym_type_definition] = STATE(22),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
     [sym_linkage_specification] = STATE(22),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
     [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
     [sym_statement] = STATE(22),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(22),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(22),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
     [aux_sym_preproc_if_token2] = ACTIONS(175),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -13206,92 +13096,93 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [10] = {
+  [9] = {
     [sym__block_item] = STATE(22),
     [sym_preproc_include] = STATE(22),
     [sym_preproc_def] = STATE(22),
@@ -13299,88 +13190,271 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_call] = STATE(22),
     [sym_preproc_if] = STATE(22),
     [sym_preproc_ifdef] = STATE(22),
-    [sym_preproc_else] = STATE(1878),
-    [sym_preproc_elif] = STATE(1878),
-    [sym_preproc_elifdef] = STATE(1878),
+    [sym_preproc_else] = STATE(2017),
+    [sym_preproc_elif] = STATE(2017),
+    [sym_preproc_elifdef] = STATE(2017),
     [sym_function_definition] = STATE(22),
-    [sym__old_style_function_definition] = STATE(120),
+    [sym__old_style_function_definition] = STATE(129),
     [sym_declaration] = STATE(22),
     [sym_type_definition] = STATE(22),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
     [sym_linkage_specification] = STATE(22),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
     [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
     [sym_statement] = STATE(22),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(22),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(22),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
     [aux_sym_preproc_if_token2] = ACTIONS(177),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
+    [anon_sym_LPAREN2] = ACTIONS(19),
+    [anon_sym_BANG] = ACTIONS(21),
+    [anon_sym_TILDE] = ACTIONS(21),
+    [anon_sym_DASH] = ACTIONS(23),
+    [anon_sym_PLUS] = ACTIONS(23),
+    [anon_sym_STAR] = ACTIONS(25),
+    [anon_sym_AMP] = ACTIONS(25),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
+    [sym_comment] = ACTIONS(3),
+  },
+  [10] = {
+    [sym__block_item] = STATE(12),
+    [sym_preproc_include] = STATE(12),
+    [sym_preproc_def] = STATE(12),
+    [sym_preproc_function_def] = STATE(12),
+    [sym_preproc_call] = STATE(12),
+    [sym_preproc_if] = STATE(12),
+    [sym_preproc_ifdef] = STATE(12),
+    [sym_preproc_else] = STATE(1987),
+    [sym_preproc_elif] = STATE(1987),
+    [sym_preproc_elifdef] = STATE(1987),
+    [sym_function_definition] = STATE(12),
+    [sym__old_style_function_definition] = STATE(129),
+    [sym_declaration] = STATE(12),
+    [sym_type_definition] = STATE(12),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
+    [sym_linkage_specification] = STATE(12),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(793),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
+    [sym_statement] = STATE(12),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym__empty_declaration] = STATE(12),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_repeat1] = STATE(12),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
+    [aux_sym_preproc_if_token2] = ACTIONS(179),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -13388,89 +13462,90 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [11] = {
@@ -13481,270 +13556,88 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_call] = STATE(13),
     [sym_preproc_if] = STATE(13),
     [sym_preproc_ifdef] = STATE(13),
-    [sym_preproc_else] = STATE(1873),
-    [sym_preproc_elif] = STATE(1873),
-    [sym_preproc_elifdef] = STATE(1873),
+    [sym_preproc_else] = STATE(1797),
+    [sym_preproc_elif] = STATE(1797),
+    [sym_preproc_elifdef] = STATE(1797),
     [sym_function_definition] = STATE(13),
-    [sym__old_style_function_definition] = STATE(120),
+    [sym__old_style_function_definition] = STATE(129),
     [sym_declaration] = STATE(13),
     [sym_type_definition] = STATE(13),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
     [sym_linkage_specification] = STATE(13),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
     [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
     [sym_statement] = STATE(13),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(13),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(13),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
-    [aux_sym_preproc_if_token2] = ACTIONS(179),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
-    [anon_sym_LPAREN2] = ACTIONS(19),
-    [anon_sym_BANG] = ACTIONS(21),
-    [anon_sym_TILDE] = ACTIONS(21),
-    [anon_sym_DASH] = ACTIONS(23),
-    [anon_sym_PLUS] = ACTIONS(23),
-    [anon_sym_STAR] = ACTIONS(25),
-    [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
-    [sym_comment] = ACTIONS(3),
-  },
-  [12] = {
-    [sym__block_item] = STATE(14),
-    [sym_preproc_include] = STATE(14),
-    [sym_preproc_def] = STATE(14),
-    [sym_preproc_function_def] = STATE(14),
-    [sym_preproc_call] = STATE(14),
-    [sym_preproc_if] = STATE(14),
-    [sym_preproc_ifdef] = STATE(14),
-    [sym_preproc_else] = STATE(1821),
-    [sym_preproc_elif] = STATE(1821),
-    [sym_preproc_elifdef] = STATE(1821),
-    [sym_function_definition] = STATE(14),
-    [sym__old_style_function_definition] = STATE(120),
-    [sym_declaration] = STATE(14),
-    [sym_type_definition] = STATE(14),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
-    [sym_linkage_specification] = STATE(14),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
-    [sym_statement] = STATE(14),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym__empty_declaration] = STATE(14),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_repeat1] = STATE(14),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
     [aux_sym_preproc_if_token2] = ACTIONS(181),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -13752,92 +13645,93 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [13] = {
+  [12] = {
     [sym__block_item] = STATE(22),
     [sym_preproc_include] = STATE(22),
     [sym_preproc_def] = STATE(22),
@@ -13845,88 +13739,88 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_call] = STATE(22),
     [sym_preproc_if] = STATE(22),
     [sym_preproc_ifdef] = STATE(22),
-    [sym_preproc_else] = STATE(1824),
-    [sym_preproc_elif] = STATE(1824),
-    [sym_preproc_elifdef] = STATE(1824),
+    [sym_preproc_else] = STATE(1813),
+    [sym_preproc_elif] = STATE(1813),
+    [sym_preproc_elifdef] = STATE(1813),
     [sym_function_definition] = STATE(22),
-    [sym__old_style_function_definition] = STATE(120),
+    [sym__old_style_function_definition] = STATE(129),
     [sym_declaration] = STATE(22),
     [sym_type_definition] = STATE(22),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
     [sym_linkage_specification] = STATE(22),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
     [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
     [sym_statement] = STATE(22),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(22),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(22),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
     [aux_sym_preproc_if_token2] = ACTIONS(183),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -13934,92 +13828,93 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [14] = {
+  [13] = {
     [sym__block_item] = STATE(22),
     [sym_preproc_include] = STATE(22),
     [sym_preproc_def] = STATE(22),
@@ -14027,88 +13922,271 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_call] = STATE(22),
     [sym_preproc_if] = STATE(22),
     [sym_preproc_ifdef] = STATE(22),
-    [sym_preproc_else] = STATE(1879),
-    [sym_preproc_elif] = STATE(1879),
-    [sym_preproc_elifdef] = STATE(1879),
+    [sym_preproc_else] = STATE(1919),
+    [sym_preproc_elif] = STATE(1919),
+    [sym_preproc_elifdef] = STATE(1919),
     [sym_function_definition] = STATE(22),
-    [sym__old_style_function_definition] = STATE(120),
+    [sym__old_style_function_definition] = STATE(129),
     [sym_declaration] = STATE(22),
     [sym_type_definition] = STATE(22),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
     [sym_linkage_specification] = STATE(22),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
     [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
     [sym_statement] = STATE(22),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(22),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(22),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
     [aux_sym_preproc_if_token2] = ACTIONS(185),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
+    [anon_sym_LPAREN2] = ACTIONS(19),
+    [anon_sym_BANG] = ACTIONS(21),
+    [anon_sym_TILDE] = ACTIONS(21),
+    [anon_sym_DASH] = ACTIONS(23),
+    [anon_sym_PLUS] = ACTIONS(23),
+    [anon_sym_STAR] = ACTIONS(25),
+    [anon_sym_AMP] = ACTIONS(25),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
+    [sym_comment] = ACTIONS(3),
+  },
+  [14] = {
+    [sym__block_item] = STATE(16),
+    [sym_preproc_include] = STATE(16),
+    [sym_preproc_def] = STATE(16),
+    [sym_preproc_function_def] = STATE(16),
+    [sym_preproc_call] = STATE(16),
+    [sym_preproc_if] = STATE(16),
+    [sym_preproc_ifdef] = STATE(16),
+    [sym_preproc_else] = STATE(1924),
+    [sym_preproc_elif] = STATE(1924),
+    [sym_preproc_elifdef] = STATE(1924),
+    [sym_function_definition] = STATE(16),
+    [sym__old_style_function_definition] = STATE(129),
+    [sym_declaration] = STATE(16),
+    [sym_type_definition] = STATE(16),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
+    [sym_linkage_specification] = STATE(16),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(793),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
+    [sym_statement] = STATE(16),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym__empty_declaration] = STATE(16),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_repeat1] = STATE(16),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
+    [aux_sym_preproc_if_token2] = ACTIONS(187),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -14116,89 +14194,90 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [15] = {
@@ -14209,270 +14288,88 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_call] = STATE(17),
     [sym_preproc_if] = STATE(17),
     [sym_preproc_ifdef] = STATE(17),
-    [sym_preproc_else] = STATE(1895),
-    [sym_preproc_elif] = STATE(1895),
-    [sym_preproc_elifdef] = STATE(1895),
+    [sym_preproc_else] = STATE(1865),
+    [sym_preproc_elif] = STATE(1865),
+    [sym_preproc_elifdef] = STATE(1865),
     [sym_function_definition] = STATE(17),
-    [sym__old_style_function_definition] = STATE(120),
+    [sym__old_style_function_definition] = STATE(129),
     [sym_declaration] = STATE(17),
     [sym_type_definition] = STATE(17),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
     [sym_linkage_specification] = STATE(17),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
     [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
     [sym_statement] = STATE(17),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(17),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(17),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
-    [aux_sym_preproc_if_token2] = ACTIONS(187),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
-    [anon_sym_LPAREN2] = ACTIONS(19),
-    [anon_sym_BANG] = ACTIONS(21),
-    [anon_sym_TILDE] = ACTIONS(21),
-    [anon_sym_DASH] = ACTIONS(23),
-    [anon_sym_PLUS] = ACTIONS(23),
-    [anon_sym_STAR] = ACTIONS(25),
-    [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
-    [sym_comment] = ACTIONS(3),
-  },
-  [16] = {
-    [sym__block_item] = STATE(18),
-    [sym_preproc_include] = STATE(18),
-    [sym_preproc_def] = STATE(18),
-    [sym_preproc_function_def] = STATE(18),
-    [sym_preproc_call] = STATE(18),
-    [sym_preproc_if] = STATE(18),
-    [sym_preproc_ifdef] = STATE(18),
-    [sym_preproc_else] = STATE(1776),
-    [sym_preproc_elif] = STATE(1776),
-    [sym_preproc_elifdef] = STATE(1776),
-    [sym_function_definition] = STATE(18),
-    [sym__old_style_function_definition] = STATE(120),
-    [sym_declaration] = STATE(18),
-    [sym_type_definition] = STATE(18),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
-    [sym_linkage_specification] = STATE(18),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
-    [sym_statement] = STATE(18),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym__empty_declaration] = STATE(18),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_repeat1] = STATE(18),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
     [aux_sym_preproc_if_token2] = ACTIONS(189),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -14480,92 +14377,93 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [17] = {
+  [16] = {
     [sym__block_item] = STATE(22),
     [sym_preproc_include] = STATE(22),
     [sym_preproc_def] = STATE(22),
@@ -14573,88 +14471,88 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_call] = STATE(22),
     [sym_preproc_if] = STATE(22),
     [sym_preproc_ifdef] = STATE(22),
-    [sym_preproc_else] = STATE(1778),
-    [sym_preproc_elif] = STATE(1778),
-    [sym_preproc_elifdef] = STATE(1778),
+    [sym_preproc_else] = STATE(1876),
+    [sym_preproc_elif] = STATE(1876),
+    [sym_preproc_elifdef] = STATE(1876),
     [sym_function_definition] = STATE(22),
-    [sym__old_style_function_definition] = STATE(120),
+    [sym__old_style_function_definition] = STATE(129),
     [sym_declaration] = STATE(22),
     [sym_type_definition] = STATE(22),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
     [sym_linkage_specification] = STATE(22),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
     [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
     [sym_statement] = STATE(22),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(22),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(22),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
     [aux_sym_preproc_if_token2] = ACTIONS(191),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -14662,92 +14560,93 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [18] = {
+  [17] = {
     [sym__block_item] = STATE(22),
     [sym_preproc_include] = STATE(22),
     [sym_preproc_def] = STATE(22),
@@ -14755,88 +14654,271 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_call] = STATE(22),
     [sym_preproc_if] = STATE(22),
     [sym_preproc_ifdef] = STATE(22),
-    [sym_preproc_else] = STATE(1807),
-    [sym_preproc_elif] = STATE(1807),
-    [sym_preproc_elifdef] = STATE(1807),
+    [sym_preproc_else] = STATE(1976),
+    [sym_preproc_elif] = STATE(1976),
+    [sym_preproc_elifdef] = STATE(1976),
     [sym_function_definition] = STATE(22),
-    [sym__old_style_function_definition] = STATE(120),
+    [sym__old_style_function_definition] = STATE(129),
     [sym_declaration] = STATE(22),
     [sym_type_definition] = STATE(22),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
     [sym_linkage_specification] = STATE(22),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
     [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
     [sym_statement] = STATE(22),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(22),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(22),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
     [aux_sym_preproc_if_token2] = ACTIONS(193),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
+    [anon_sym_LPAREN2] = ACTIONS(19),
+    [anon_sym_BANG] = ACTIONS(21),
+    [anon_sym_TILDE] = ACTIONS(21),
+    [anon_sym_DASH] = ACTIONS(23),
+    [anon_sym_PLUS] = ACTIONS(23),
+    [anon_sym_STAR] = ACTIONS(25),
+    [anon_sym_AMP] = ACTIONS(25),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
+    [sym_comment] = ACTIONS(3),
+  },
+  [18] = {
+    [sym__block_item] = STATE(20),
+    [sym_preproc_include] = STATE(20),
+    [sym_preproc_def] = STATE(20),
+    [sym_preproc_function_def] = STATE(20),
+    [sym_preproc_call] = STATE(20),
+    [sym_preproc_if] = STATE(20),
+    [sym_preproc_ifdef] = STATE(20),
+    [sym_preproc_else] = STATE(1917),
+    [sym_preproc_elif] = STATE(1917),
+    [sym_preproc_elifdef] = STATE(1917),
+    [sym_function_definition] = STATE(20),
+    [sym__old_style_function_definition] = STATE(129),
+    [sym_declaration] = STATE(20),
+    [sym_type_definition] = STATE(20),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
+    [sym_linkage_specification] = STATE(20),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(793),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
+    [sym_statement] = STATE(20),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym__empty_declaration] = STATE(20),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_repeat1] = STATE(20),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
+    [aux_sym_preproc_if_token2] = ACTIONS(195),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -14844,89 +14926,90 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [19] = {
@@ -14937,88 +15020,88 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_call] = STATE(21),
     [sym_preproc_if] = STATE(21),
     [sym_preproc_ifdef] = STATE(21),
-    [sym_preproc_else] = STATE(1945),
-    [sym_preproc_elif] = STATE(1945),
-    [sym_preproc_elifdef] = STATE(1945),
+    [sym_preproc_else] = STATE(1958),
+    [sym_preproc_elif] = STATE(1958),
+    [sym_preproc_elifdef] = STATE(1958),
     [sym_function_definition] = STATE(21),
-    [sym__old_style_function_definition] = STATE(120),
+    [sym__old_style_function_definition] = STATE(129),
     [sym_declaration] = STATE(21),
     [sym_type_definition] = STATE(21),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
     [sym_linkage_specification] = STATE(21),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
     [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
     [sym_statement] = STATE(21),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(21),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(21),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
-    [aux_sym_preproc_if_token2] = ACTIONS(195),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
+    [aux_sym_preproc_if_token2] = ACTIONS(197),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -15026,181 +15109,182 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [20] = {
-    [sym__block_item] = STATE(2),
-    [sym_preproc_include] = STATE(2),
-    [sym_preproc_def] = STATE(2),
-    [sym_preproc_function_def] = STATE(2),
-    [sym_preproc_call] = STATE(2),
-    [sym_preproc_if] = STATE(2),
-    [sym_preproc_ifdef] = STATE(2),
-    [sym_preproc_else] = STATE(1980),
-    [sym_preproc_elif] = STATE(1980),
-    [sym_preproc_elifdef] = STATE(1980),
-    [sym_function_definition] = STATE(2),
-    [sym__old_style_function_definition] = STATE(120),
-    [sym_declaration] = STATE(2),
-    [sym_type_definition] = STATE(2),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
-    [sym_linkage_specification] = STATE(2),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
+    [sym__block_item] = STATE(22),
+    [sym_preproc_include] = STATE(22),
+    [sym_preproc_def] = STATE(22),
+    [sym_preproc_function_def] = STATE(22),
+    [sym_preproc_call] = STATE(22),
+    [sym_preproc_if] = STATE(22),
+    [sym_preproc_ifdef] = STATE(22),
+    [sym_preproc_else] = STATE(1962),
+    [sym_preproc_elif] = STATE(1962),
+    [sym_preproc_elifdef] = STATE(1962),
+    [sym_function_definition] = STATE(22),
+    [sym__old_style_function_definition] = STATE(129),
+    [sym_declaration] = STATE(22),
+    [sym_type_definition] = STATE(22),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
+    [sym_linkage_specification] = STATE(22),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
     [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
-    [sym_statement] = STATE(2),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym__empty_declaration] = STATE(2),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_repeat1] = STATE(2),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
-    [aux_sym_preproc_if_token2] = ACTIONS(197),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
+    [sym_statement] = STATE(22),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym__empty_declaration] = STATE(22),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_repeat1] = STATE(22),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
+    [aux_sym_preproc_if_token2] = ACTIONS(199),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -15208,89 +15292,90 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [21] = {
@@ -15301,88 +15386,88 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_call] = STATE(22),
     [sym_preproc_if] = STATE(22),
     [sym_preproc_ifdef] = STATE(22),
-    [sym_preproc_else] = STATE(1984),
-    [sym_preproc_elif] = STATE(1984),
-    [sym_preproc_elifdef] = STATE(1984),
+    [sym_preproc_else] = STATE(2009),
+    [sym_preproc_elif] = STATE(2009),
+    [sym_preproc_elifdef] = STATE(2009),
     [sym_function_definition] = STATE(22),
-    [sym__old_style_function_definition] = STATE(120),
+    [sym__old_style_function_definition] = STATE(129),
     [sym_declaration] = STATE(22),
     [sym_type_definition] = STATE(22),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
     [sym_linkage_specification] = STATE(22),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
     [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
     [sym_statement] = STATE(22),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(22),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(22),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(103),
-    [aux_sym_preproc_include_token1] = ACTIONS(105),
-    [aux_sym_preproc_def_token1] = ACTIONS(107),
-    [aux_sym_preproc_if_token1] = ACTIONS(109),
-    [aux_sym_preproc_if_token2] = ACTIONS(199),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(113),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(113),
-    [aux_sym_preproc_else_token1] = ACTIONS(115),
-    [aux_sym_preproc_elif_token1] = ACTIONS(117),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(119),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(119),
-    [sym_preproc_directive] = ACTIONS(121),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(105),
+    [aux_sym_preproc_include_token1] = ACTIONS(107),
+    [aux_sym_preproc_def_token1] = ACTIONS(109),
+    [aux_sym_preproc_if_token1] = ACTIONS(111),
+    [aux_sym_preproc_if_token2] = ACTIONS(201),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(115),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(115),
+    [aux_sym_preproc_else_token1] = ACTIONS(117),
+    [aux_sym_preproc_elif_token1] = ACTIONS(119),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(121),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(121),
+    [sym_preproc_directive] = ACTIONS(123),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -15390,89 +15475,90 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(129),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(131),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [22] = {
@@ -15484,258 +15570,259 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_if] = STATE(22),
     [sym_preproc_ifdef] = STATE(22),
     [sym_function_definition] = STATE(22),
-    [sym__old_style_function_definition] = STATE(120),
+    [sym__old_style_function_definition] = STATE(129),
     [sym_declaration] = STATE(22),
     [sym_type_definition] = STATE(22),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1129),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1137),
     [sym_linkage_specification] = STATE(22),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(689),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(674),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
     [sym_type_specifier] = STATE(793),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(145),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(119),
     [sym_statement] = STATE(22),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(22),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(22),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(201),
-    [aux_sym_preproc_include_token1] = ACTIONS(204),
-    [aux_sym_preproc_def_token1] = ACTIONS(207),
-    [aux_sym_preproc_if_token1] = ACTIONS(210),
-    [aux_sym_preproc_if_token2] = ACTIONS(213),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(215),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(215),
-    [aux_sym_preproc_else_token1] = ACTIONS(213),
-    [aux_sym_preproc_elif_token1] = ACTIONS(213),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(213),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(213),
-    [sym_preproc_directive] = ACTIONS(218),
-    [anon_sym_LPAREN2] = ACTIONS(221),
-    [anon_sym_BANG] = ACTIONS(224),
-    [anon_sym_TILDE] = ACTIONS(224),
-    [anon_sym_DASH] = ACTIONS(227),
-    [anon_sym_PLUS] = ACTIONS(227),
-    [anon_sym_STAR] = ACTIONS(230),
-    [anon_sym_AMP] = ACTIONS(230),
-    [anon_sym_SEMI] = ACTIONS(233),
-    [anon_sym___extension__] = ACTIONS(236),
-    [anon_sym_typedef] = ACTIONS(239),
-    [anon_sym_extern] = ACTIONS(242),
-    [anon_sym___attribute__] = ACTIONS(245),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(248),
-    [anon_sym___declspec] = ACTIONS(251),
-    [anon_sym___cdecl] = ACTIONS(254),
-    [anon_sym___clrcall] = ACTIONS(254),
-    [anon_sym___stdcall] = ACTIONS(254),
-    [anon_sym___fastcall] = ACTIONS(254),
-    [anon_sym___thiscall] = ACTIONS(254),
-    [anon_sym___vectorcall] = ACTIONS(254),
-    [anon_sym_LBRACE] = ACTIONS(257),
-    [anon_sym_signed] = ACTIONS(260),
-    [anon_sym_unsigned] = ACTIONS(260),
-    [anon_sym_long] = ACTIONS(260),
-    [anon_sym_short] = ACTIONS(260),
-    [anon_sym_static] = ACTIONS(263),
-    [anon_sym_auto] = ACTIONS(263),
-    [anon_sym_register] = ACTIONS(263),
-    [anon_sym_inline] = ACTIONS(263),
-    [anon_sym___inline] = ACTIONS(263),
-    [anon_sym___inline__] = ACTIONS(263),
-    [anon_sym___forceinline] = ACTIONS(263),
-    [anon_sym_thread_local] = ACTIONS(263),
-    [anon_sym___thread] = ACTIONS(263),
-    [anon_sym_const] = ACTIONS(266),
-    [anon_sym_constexpr] = ACTIONS(266),
-    [anon_sym_volatile] = ACTIONS(266),
-    [anon_sym_restrict] = ACTIONS(266),
-    [anon_sym___restrict__] = ACTIONS(266),
-    [anon_sym__Atomic] = ACTIONS(266),
-    [anon_sym__Noreturn] = ACTIONS(266),
-    [anon_sym_noreturn] = ACTIONS(266),
-    [anon_sym__Nonnull] = ACTIONS(266),
-    [anon_sym_alignas] = ACTIONS(269),
-    [anon_sym__Alignas] = ACTIONS(269),
-    [sym_primitive_type] = ACTIONS(272),
-    [anon_sym_enum] = ACTIONS(275),
-    [anon_sym_struct] = ACTIONS(278),
-    [anon_sym_union] = ACTIONS(281),
-    [anon_sym_if] = ACTIONS(284),
-    [anon_sym_switch] = ACTIONS(287),
-    [anon_sym_case] = ACTIONS(290),
-    [anon_sym_default] = ACTIONS(293),
-    [anon_sym_while] = ACTIONS(296),
-    [anon_sym_do] = ACTIONS(299),
-    [anon_sym_for] = ACTIONS(302),
-    [anon_sym_return] = ACTIONS(305),
-    [anon_sym_break] = ACTIONS(308),
-    [anon_sym_continue] = ACTIONS(311),
-    [anon_sym_goto] = ACTIONS(314),
-    [anon_sym___try] = ACTIONS(317),
-    [anon_sym___leave] = ACTIONS(320),
-    [anon_sym_DASH_DASH] = ACTIONS(323),
-    [anon_sym_PLUS_PLUS] = ACTIONS(323),
-    [anon_sym_sizeof] = ACTIONS(326),
-    [anon_sym___alignof__] = ACTIONS(329),
-    [anon_sym___alignof] = ACTIONS(329),
-    [anon_sym__alignof] = ACTIONS(329),
-    [anon_sym_alignof] = ACTIONS(329),
-    [anon_sym__Alignof] = ACTIONS(329),
-    [anon_sym_offsetof] = ACTIONS(332),
-    [anon_sym__Generic] = ACTIONS(335),
-    [anon_sym_asm] = ACTIONS(338),
-    [anon_sym___asm__] = ACTIONS(338),
-    [anon_sym___asm] = ACTIONS(338),
-    [sym_number_literal] = ACTIONS(341),
-    [anon_sym_L_SQUOTE] = ACTIONS(344),
-    [anon_sym_u_SQUOTE] = ACTIONS(344),
-    [anon_sym_U_SQUOTE] = ACTIONS(344),
-    [anon_sym_u8_SQUOTE] = ACTIONS(344),
-    [anon_sym_SQUOTE] = ACTIONS(344),
-    [anon_sym_L_DQUOTE] = ACTIONS(347),
-    [anon_sym_u_DQUOTE] = ACTIONS(347),
-    [anon_sym_U_DQUOTE] = ACTIONS(347),
-    [anon_sym_u8_DQUOTE] = ACTIONS(347),
-    [anon_sym_DQUOTE] = ACTIONS(347),
-    [sym_true] = ACTIONS(350),
-    [sym_false] = ACTIONS(350),
-    [anon_sym_NULL] = ACTIONS(353),
-    [anon_sym_nullptr] = ACTIONS(353),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(203),
+    [aux_sym_preproc_include_token1] = ACTIONS(206),
+    [aux_sym_preproc_def_token1] = ACTIONS(209),
+    [aux_sym_preproc_if_token1] = ACTIONS(212),
+    [aux_sym_preproc_if_token2] = ACTIONS(215),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(217),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(217),
+    [aux_sym_preproc_else_token1] = ACTIONS(215),
+    [aux_sym_preproc_elif_token1] = ACTIONS(215),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(215),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(215),
+    [sym_preproc_directive] = ACTIONS(220),
+    [anon_sym_LPAREN2] = ACTIONS(223),
+    [anon_sym_BANG] = ACTIONS(226),
+    [anon_sym_TILDE] = ACTIONS(226),
+    [anon_sym_DASH] = ACTIONS(229),
+    [anon_sym_PLUS] = ACTIONS(229),
+    [anon_sym_STAR] = ACTIONS(232),
+    [anon_sym_AMP] = ACTIONS(232),
+    [anon_sym_SEMI] = ACTIONS(235),
+    [anon_sym___extension__] = ACTIONS(238),
+    [anon_sym_typedef] = ACTIONS(241),
+    [anon_sym_extern] = ACTIONS(244),
+    [anon_sym___attribute__] = ACTIONS(247),
+    [anon_sym___attribute] = ACTIONS(247),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(250),
+    [anon_sym___declspec] = ACTIONS(253),
+    [anon_sym___cdecl] = ACTIONS(256),
+    [anon_sym___clrcall] = ACTIONS(256),
+    [anon_sym___stdcall] = ACTIONS(256),
+    [anon_sym___fastcall] = ACTIONS(256),
+    [anon_sym___thiscall] = ACTIONS(256),
+    [anon_sym___vectorcall] = ACTIONS(256),
+    [anon_sym_LBRACE] = ACTIONS(259),
+    [anon_sym_signed] = ACTIONS(262),
+    [anon_sym_unsigned] = ACTIONS(262),
+    [anon_sym_long] = ACTIONS(262),
+    [anon_sym_short] = ACTIONS(262),
+    [anon_sym_static] = ACTIONS(265),
+    [anon_sym_auto] = ACTIONS(265),
+    [anon_sym_register] = ACTIONS(265),
+    [anon_sym_inline] = ACTIONS(265),
+    [anon_sym___inline] = ACTIONS(265),
+    [anon_sym___inline__] = ACTIONS(265),
+    [anon_sym___forceinline] = ACTIONS(265),
+    [anon_sym_thread_local] = ACTIONS(265),
+    [anon_sym___thread] = ACTIONS(265),
+    [anon_sym_const] = ACTIONS(268),
+    [anon_sym_constexpr] = ACTIONS(268),
+    [anon_sym_volatile] = ACTIONS(268),
+    [anon_sym_restrict] = ACTIONS(268),
+    [anon_sym___restrict__] = ACTIONS(268),
+    [anon_sym__Atomic] = ACTIONS(268),
+    [anon_sym__Noreturn] = ACTIONS(268),
+    [anon_sym_noreturn] = ACTIONS(268),
+    [anon_sym__Nonnull] = ACTIONS(268),
+    [anon_sym_alignas] = ACTIONS(271),
+    [anon_sym__Alignas] = ACTIONS(271),
+    [sym_primitive_type] = ACTIONS(274),
+    [anon_sym_enum] = ACTIONS(277),
+    [anon_sym_struct] = ACTIONS(280),
+    [anon_sym_union] = ACTIONS(283),
+    [anon_sym_if] = ACTIONS(286),
+    [anon_sym_switch] = ACTIONS(289),
+    [anon_sym_case] = ACTIONS(292),
+    [anon_sym_default] = ACTIONS(295),
+    [anon_sym_while] = ACTIONS(298),
+    [anon_sym_do] = ACTIONS(301),
+    [anon_sym_for] = ACTIONS(304),
+    [anon_sym_return] = ACTIONS(307),
+    [anon_sym_break] = ACTIONS(310),
+    [anon_sym_continue] = ACTIONS(313),
+    [anon_sym_goto] = ACTIONS(316),
+    [anon_sym___try] = ACTIONS(319),
+    [anon_sym___leave] = ACTIONS(322),
+    [anon_sym_DASH_DASH] = ACTIONS(325),
+    [anon_sym_PLUS_PLUS] = ACTIONS(325),
+    [anon_sym_sizeof] = ACTIONS(328),
+    [anon_sym___alignof__] = ACTIONS(331),
+    [anon_sym___alignof] = ACTIONS(331),
+    [anon_sym__alignof] = ACTIONS(331),
+    [anon_sym_alignof] = ACTIONS(331),
+    [anon_sym__Alignof] = ACTIONS(331),
+    [anon_sym_offsetof] = ACTIONS(334),
+    [anon_sym__Generic] = ACTIONS(337),
+    [anon_sym_asm] = ACTIONS(340),
+    [anon_sym___asm__] = ACTIONS(340),
+    [anon_sym___asm] = ACTIONS(340),
+    [sym_number_literal] = ACTIONS(343),
+    [anon_sym_L_SQUOTE] = ACTIONS(346),
+    [anon_sym_u_SQUOTE] = ACTIONS(346),
+    [anon_sym_U_SQUOTE] = ACTIONS(346),
+    [anon_sym_u8_SQUOTE] = ACTIONS(346),
+    [anon_sym_SQUOTE] = ACTIONS(346),
+    [anon_sym_L_DQUOTE] = ACTIONS(349),
+    [anon_sym_u_DQUOTE] = ACTIONS(349),
+    [anon_sym_U_DQUOTE] = ACTIONS(349),
+    [anon_sym_u8_DQUOTE] = ACTIONS(349),
+    [anon_sym_DQUOTE] = ACTIONS(349),
+    [sym_true] = ACTIONS(352),
+    [sym_false] = ACTIONS(352),
+    [anon_sym_NULL] = ACTIONS(355),
+    [anon_sym_nullptr] = ACTIONS(355),
     [sym_comment] = ACTIONS(3),
   },
   [23] = {
-    [sym__block_item] = STATE(42),
-    [sym_preproc_include] = STATE(42),
-    [sym_preproc_def] = STATE(42),
-    [sym_preproc_function_def] = STATE(42),
-    [sym_preproc_call] = STATE(42),
-    [sym_preproc_if] = STATE(42),
-    [sym_preproc_ifdef] = STATE(42),
-    [sym_function_definition] = STATE(42),
-    [sym__old_style_function_definition] = STATE(260),
-    [sym_declaration] = STATE(42),
-    [sym_type_definition] = STATE(42),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1119),
-    [sym_linkage_specification] = STATE(42),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(670),
-    [sym_compound_statement] = STATE(177),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(788),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(309),
-    [sym_statement] = STATE(42),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym__empty_declaration] = STATE(42),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_repeat1] = STATE(42),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(356),
-    [aux_sym_preproc_include_token1] = ACTIONS(358),
-    [aux_sym_preproc_def_token1] = ACTIONS(360),
-    [aux_sym_preproc_if_token1] = ACTIONS(362),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(364),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(364),
-    [sym_preproc_directive] = ACTIONS(366),
+    [sym__block_item] = STATE(31),
+    [sym_preproc_include] = STATE(31),
+    [sym_preproc_def] = STATE(31),
+    [sym_preproc_function_def] = STATE(31),
+    [sym_preproc_call] = STATE(31),
+    [sym_preproc_if] = STATE(31),
+    [sym_preproc_ifdef] = STATE(31),
+    [sym_function_definition] = STATE(31),
+    [sym__old_style_function_definition] = STATE(271),
+    [sym_declaration] = STATE(31),
+    [sym_type_definition] = STATE(31),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1138),
+    [sym_linkage_specification] = STATE(31),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(694),
+    [sym_compound_statement] = STATE(250),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(812),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(272),
+    [sym_statement] = STATE(31),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym__empty_declaration] = STATE(31),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_repeat1] = STATE(31),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(358),
+    [aux_sym_preproc_include_token1] = ACTIONS(360),
+    [aux_sym_preproc_def_token1] = ACTIONS(362),
+    [aux_sym_preproc_if_token1] = ACTIONS(364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(366),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(366),
+    [sym_preproc_directive] = ACTIONS(368),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -15743,90 +15830,91 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(374),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_RBRACE] = ACTIONS(378),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(376),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_RBRACE] = ACTIONS(380),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [24] = {
@@ -15838,255 +15926,255 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_if] = STATE(24),
     [sym_preproc_ifdef] = STATE(24),
     [sym_function_definition] = STATE(24),
-    [sym__old_style_function_definition] = STATE(260),
+    [sym__old_style_function_definition] = STATE(271),
     [sym_declaration] = STATE(24),
     [sym_type_definition] = STATE(24),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1119),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1138),
     [sym_linkage_specification] = STATE(24),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(670),
-    [sym_compound_statement] = STATE(177),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(788),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(309),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(694),
+    [sym_compound_statement] = STATE(250),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(812),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(272),
     [sym_statement] = STATE(24),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(24),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(24),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(406),
-    [aux_sym_preproc_include_token1] = ACTIONS(409),
-    [aux_sym_preproc_def_token1] = ACTIONS(412),
-    [aux_sym_preproc_if_token1] = ACTIONS(415),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(418),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(418),
-    [sym_preproc_directive] = ACTIONS(421),
-    [anon_sym_LPAREN2] = ACTIONS(221),
-    [anon_sym_BANG] = ACTIONS(224),
-    [anon_sym_TILDE] = ACTIONS(224),
-    [anon_sym_DASH] = ACTIONS(227),
-    [anon_sym_PLUS] = ACTIONS(227),
-    [anon_sym_STAR] = ACTIONS(230),
-    [anon_sym_AMP] = ACTIONS(230),
-    [anon_sym_SEMI] = ACTIONS(424),
-    [anon_sym___extension__] = ACTIONS(427),
-    [anon_sym_typedef] = ACTIONS(430),
-    [anon_sym_extern] = ACTIONS(433),
-    [anon_sym___attribute__] = ACTIONS(245),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(248),
-    [anon_sym___declspec] = ACTIONS(251),
-    [anon_sym___cdecl] = ACTIONS(254),
-    [anon_sym___clrcall] = ACTIONS(254),
-    [anon_sym___stdcall] = ACTIONS(254),
-    [anon_sym___fastcall] = ACTIONS(254),
-    [anon_sym___thiscall] = ACTIONS(254),
-    [anon_sym___vectorcall] = ACTIONS(254),
-    [anon_sym_LBRACE] = ACTIONS(436),
-    [anon_sym_RBRACE] = ACTIONS(439),
-    [anon_sym_signed] = ACTIONS(260),
-    [anon_sym_unsigned] = ACTIONS(260),
-    [anon_sym_long] = ACTIONS(260),
-    [anon_sym_short] = ACTIONS(260),
-    [anon_sym_static] = ACTIONS(263),
-    [anon_sym_auto] = ACTIONS(263),
-    [anon_sym_register] = ACTIONS(263),
-    [anon_sym_inline] = ACTIONS(263),
-    [anon_sym___inline] = ACTIONS(263),
-    [anon_sym___inline__] = ACTIONS(263),
-    [anon_sym___forceinline] = ACTIONS(263),
-    [anon_sym_thread_local] = ACTIONS(263),
-    [anon_sym___thread] = ACTIONS(263),
-    [anon_sym_const] = ACTIONS(266),
-    [anon_sym_constexpr] = ACTIONS(266),
-    [anon_sym_volatile] = ACTIONS(266),
-    [anon_sym_restrict] = ACTIONS(266),
-    [anon_sym___restrict__] = ACTIONS(266),
-    [anon_sym__Atomic] = ACTIONS(266),
-    [anon_sym__Noreturn] = ACTIONS(266),
-    [anon_sym_noreturn] = ACTIONS(266),
-    [anon_sym__Nonnull] = ACTIONS(266),
-    [anon_sym_alignas] = ACTIONS(269),
-    [anon_sym__Alignas] = ACTIONS(269),
-    [sym_primitive_type] = ACTIONS(272),
-    [anon_sym_enum] = ACTIONS(275),
-    [anon_sym_struct] = ACTIONS(278),
-    [anon_sym_union] = ACTIONS(281),
-    [anon_sym_if] = ACTIONS(441),
-    [anon_sym_switch] = ACTIONS(444),
-    [anon_sym_case] = ACTIONS(447),
-    [anon_sym_default] = ACTIONS(450),
-    [anon_sym_while] = ACTIONS(453),
-    [anon_sym_do] = ACTIONS(456),
-    [anon_sym_for] = ACTIONS(459),
-    [anon_sym_return] = ACTIONS(462),
-    [anon_sym_break] = ACTIONS(465),
-    [anon_sym_continue] = ACTIONS(468),
-    [anon_sym_goto] = ACTIONS(471),
-    [anon_sym___try] = ACTIONS(474),
-    [anon_sym___leave] = ACTIONS(477),
-    [anon_sym_DASH_DASH] = ACTIONS(323),
-    [anon_sym_PLUS_PLUS] = ACTIONS(323),
-    [anon_sym_sizeof] = ACTIONS(326),
-    [anon_sym___alignof__] = ACTIONS(329),
-    [anon_sym___alignof] = ACTIONS(329),
-    [anon_sym__alignof] = ACTIONS(329),
-    [anon_sym_alignof] = ACTIONS(329),
-    [anon_sym__Alignof] = ACTIONS(329),
-    [anon_sym_offsetof] = ACTIONS(332),
-    [anon_sym__Generic] = ACTIONS(335),
-    [anon_sym_asm] = ACTIONS(338),
-    [anon_sym___asm__] = ACTIONS(338),
-    [anon_sym___asm] = ACTIONS(338),
-    [sym_number_literal] = ACTIONS(341),
-    [anon_sym_L_SQUOTE] = ACTIONS(344),
-    [anon_sym_u_SQUOTE] = ACTIONS(344),
-    [anon_sym_U_SQUOTE] = ACTIONS(344),
-    [anon_sym_u8_SQUOTE] = ACTIONS(344),
-    [anon_sym_SQUOTE] = ACTIONS(344),
-    [anon_sym_L_DQUOTE] = ACTIONS(347),
-    [anon_sym_u_DQUOTE] = ACTIONS(347),
-    [anon_sym_U_DQUOTE] = ACTIONS(347),
-    [anon_sym_u8_DQUOTE] = ACTIONS(347),
-    [anon_sym_DQUOTE] = ACTIONS(347),
-    [sym_true] = ACTIONS(350),
-    [sym_false] = ACTIONS(350),
-    [anon_sym_NULL] = ACTIONS(353),
-    [anon_sym_nullptr] = ACTIONS(353),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(408),
+    [aux_sym_preproc_include_token1] = ACTIONS(411),
+    [aux_sym_preproc_def_token1] = ACTIONS(414),
+    [aux_sym_preproc_if_token1] = ACTIONS(417),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(420),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(420),
+    [sym_preproc_directive] = ACTIONS(423),
+    [anon_sym_LPAREN2] = ACTIONS(223),
+    [anon_sym_BANG] = ACTIONS(226),
+    [anon_sym_TILDE] = ACTIONS(226),
+    [anon_sym_DASH] = ACTIONS(229),
+    [anon_sym_PLUS] = ACTIONS(229),
+    [anon_sym_STAR] = ACTIONS(232),
+    [anon_sym_AMP] = ACTIONS(232),
+    [anon_sym_SEMI] = ACTIONS(426),
+    [anon_sym___extension__] = ACTIONS(429),
+    [anon_sym_typedef] = ACTIONS(432),
+    [anon_sym_extern] = ACTIONS(435),
+    [anon_sym___attribute__] = ACTIONS(247),
+    [anon_sym___attribute] = ACTIONS(247),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(250),
+    [anon_sym___declspec] = ACTIONS(253),
+    [anon_sym___cdecl] = ACTIONS(256),
+    [anon_sym___clrcall] = ACTIONS(256),
+    [anon_sym___stdcall] = ACTIONS(256),
+    [anon_sym___fastcall] = ACTIONS(256),
+    [anon_sym___thiscall] = ACTIONS(256),
+    [anon_sym___vectorcall] = ACTIONS(256),
+    [anon_sym_LBRACE] = ACTIONS(438),
+    [anon_sym_RBRACE] = ACTIONS(441),
+    [anon_sym_signed] = ACTIONS(262),
+    [anon_sym_unsigned] = ACTIONS(262),
+    [anon_sym_long] = ACTIONS(262),
+    [anon_sym_short] = ACTIONS(262),
+    [anon_sym_static] = ACTIONS(265),
+    [anon_sym_auto] = ACTIONS(265),
+    [anon_sym_register] = ACTIONS(265),
+    [anon_sym_inline] = ACTIONS(265),
+    [anon_sym___inline] = ACTIONS(265),
+    [anon_sym___inline__] = ACTIONS(265),
+    [anon_sym___forceinline] = ACTIONS(265),
+    [anon_sym_thread_local] = ACTIONS(265),
+    [anon_sym___thread] = ACTIONS(265),
+    [anon_sym_const] = ACTIONS(268),
+    [anon_sym_constexpr] = ACTIONS(268),
+    [anon_sym_volatile] = ACTIONS(268),
+    [anon_sym_restrict] = ACTIONS(268),
+    [anon_sym___restrict__] = ACTIONS(268),
+    [anon_sym__Atomic] = ACTIONS(268),
+    [anon_sym__Noreturn] = ACTIONS(268),
+    [anon_sym_noreturn] = ACTIONS(268),
+    [anon_sym__Nonnull] = ACTIONS(268),
+    [anon_sym_alignas] = ACTIONS(271),
+    [anon_sym__Alignas] = ACTIONS(271),
+    [sym_primitive_type] = ACTIONS(274),
+    [anon_sym_enum] = ACTIONS(277),
+    [anon_sym_struct] = ACTIONS(280),
+    [anon_sym_union] = ACTIONS(283),
+    [anon_sym_if] = ACTIONS(443),
+    [anon_sym_switch] = ACTIONS(446),
+    [anon_sym_case] = ACTIONS(449),
+    [anon_sym_default] = ACTIONS(452),
+    [anon_sym_while] = ACTIONS(455),
+    [anon_sym_do] = ACTIONS(458),
+    [anon_sym_for] = ACTIONS(461),
+    [anon_sym_return] = ACTIONS(464),
+    [anon_sym_break] = ACTIONS(467),
+    [anon_sym_continue] = ACTIONS(470),
+    [anon_sym_goto] = ACTIONS(473),
+    [anon_sym___try] = ACTIONS(476),
+    [anon_sym___leave] = ACTIONS(479),
+    [anon_sym_DASH_DASH] = ACTIONS(325),
+    [anon_sym_PLUS_PLUS] = ACTIONS(325),
+    [anon_sym_sizeof] = ACTIONS(328),
+    [anon_sym___alignof__] = ACTIONS(331),
+    [anon_sym___alignof] = ACTIONS(331),
+    [anon_sym__alignof] = ACTIONS(331),
+    [anon_sym_alignof] = ACTIONS(331),
+    [anon_sym__Alignof] = ACTIONS(331),
+    [anon_sym_offsetof] = ACTIONS(334),
+    [anon_sym__Generic] = ACTIONS(337),
+    [anon_sym_asm] = ACTIONS(340),
+    [anon_sym___asm__] = ACTIONS(340),
+    [anon_sym___asm] = ACTIONS(340),
+    [sym_number_literal] = ACTIONS(343),
+    [anon_sym_L_SQUOTE] = ACTIONS(346),
+    [anon_sym_u_SQUOTE] = ACTIONS(346),
+    [anon_sym_U_SQUOTE] = ACTIONS(346),
+    [anon_sym_u8_SQUOTE] = ACTIONS(346),
+    [anon_sym_SQUOTE] = ACTIONS(346),
+    [anon_sym_L_DQUOTE] = ACTIONS(349),
+    [anon_sym_u_DQUOTE] = ACTIONS(349),
+    [anon_sym_U_DQUOTE] = ACTIONS(349),
+    [anon_sym_u8_DQUOTE] = ACTIONS(349),
+    [anon_sym_DQUOTE] = ACTIONS(349),
+    [sym_true] = ACTIONS(352),
+    [sym_false] = ACTIONS(352),
+    [anon_sym_NULL] = ACTIONS(355),
+    [anon_sym_nullptr] = ACTIONS(355),
     [sym_comment] = ACTIONS(3),
   },
   [25] = {
-    [sym__block_item] = STATE(35),
-    [sym_preproc_include] = STATE(35),
-    [sym_preproc_def] = STATE(35),
-    [sym_preproc_function_def] = STATE(35),
-    [sym_preproc_call] = STATE(35),
-    [sym_preproc_if] = STATE(35),
-    [sym_preproc_ifdef] = STATE(35),
-    [sym_function_definition] = STATE(35),
-    [sym__old_style_function_definition] = STATE(263),
-    [sym_declaration] = STATE(35),
-    [sym_type_definition] = STATE(35),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1116),
-    [sym_linkage_specification] = STATE(35),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(692),
-    [sym_compound_statement] = STATE(204),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(808),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(310),
-    [sym_statement] = STATE(35),
-    [sym_labeled_statement] = STATE(204),
-    [sym_expression_statement] = STATE(204),
-    [sym_if_statement] = STATE(204),
-    [sym_switch_statement] = STATE(204),
-    [sym_case_statement] = STATE(204),
-    [sym_while_statement] = STATE(204),
-    [sym_do_statement] = STATE(204),
-    [sym_for_statement] = STATE(204),
-    [sym_return_statement] = STATE(204),
-    [sym_break_statement] = STATE(204),
-    [sym_continue_statement] = STATE(204),
-    [sym_goto_statement] = STATE(204),
-    [sym_seh_try_statement] = STATE(204),
-    [sym_seh_leave_statement] = STATE(204),
-    [sym_expression] = STATE(1031),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1919),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym__empty_declaration] = STATE(35),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_repeat1] = STATE(35),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(350),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(480),
-    [aux_sym_preproc_include_token1] = ACTIONS(482),
-    [aux_sym_preproc_def_token1] = ACTIONS(484),
-    [aux_sym_preproc_if_token1] = ACTIONS(486),
-    [aux_sym_preproc_if_token2] = ACTIONS(488),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(490),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(490),
-    [sym_preproc_directive] = ACTIONS(492),
+    [sym__block_item] = STATE(27),
+    [sym_preproc_include] = STATE(27),
+    [sym_preproc_def] = STATE(27),
+    [sym_preproc_function_def] = STATE(27),
+    [sym_preproc_call] = STATE(27),
+    [sym_preproc_if] = STATE(27),
+    [sym_preproc_ifdef] = STATE(27),
+    [sym_function_definition] = STATE(27),
+    [sym__old_style_function_definition] = STATE(271),
+    [sym_declaration] = STATE(27),
+    [sym_type_definition] = STATE(27),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1138),
+    [sym_linkage_specification] = STATE(27),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(694),
+    [sym_compound_statement] = STATE(250),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(812),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(272),
+    [sym_statement] = STATE(27),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym__empty_declaration] = STATE(27),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_repeat1] = STATE(27),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(358),
+    [aux_sym_preproc_include_token1] = ACTIONS(360),
+    [aux_sym_preproc_def_token1] = ACTIONS(362),
+    [aux_sym_preproc_if_token1] = ACTIONS(364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(366),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(366),
+    [sym_preproc_directive] = ACTIONS(368),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -16094,92 +16182,270 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(494),
-    [anon_sym___extension__] = ACTIONS(496),
-    [anon_sym_typedef] = ACTIONS(498),
-    [anon_sym_extern] = ACTIONS(500),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(502),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(504),
-    [anon_sym_switch] = ACTIONS(506),
-    [anon_sym_case] = ACTIONS(508),
-    [anon_sym_default] = ACTIONS(510),
-    [anon_sym_while] = ACTIONS(512),
-    [anon_sym_do] = ACTIONS(514),
-    [anon_sym_for] = ACTIONS(516),
-    [anon_sym_return] = ACTIONS(518),
-    [anon_sym_break] = ACTIONS(520),
-    [anon_sym_continue] = ACTIONS(522),
-    [anon_sym_goto] = ACTIONS(524),
-    [anon_sym___try] = ACTIONS(526),
-    [anon_sym___leave] = ACTIONS(528),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(376),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_RBRACE] = ACTIONS(482),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [26] = {
+    [sym__block_item] = STATE(40),
+    [sym_preproc_include] = STATE(40),
+    [sym_preproc_def] = STATE(40),
+    [sym_preproc_function_def] = STATE(40),
+    [sym_preproc_call] = STATE(40),
+    [sym_preproc_if] = STATE(40),
+    [sym_preproc_ifdef] = STATE(40),
+    [sym_function_definition] = STATE(40),
+    [sym__old_style_function_definition] = STATE(286),
+    [sym_declaration] = STATE(40),
+    [sym_type_definition] = STATE(40),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1139),
+    [sym_linkage_specification] = STATE(40),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(697),
+    [sym_compound_statement] = STATE(180),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(798),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(287),
+    [sym_statement] = STATE(40),
+    [sym_labeled_statement] = STATE(180),
+    [sym_expression_statement] = STATE(180),
+    [sym_if_statement] = STATE(180),
+    [sym_switch_statement] = STATE(180),
+    [sym_case_statement] = STATE(180),
+    [sym_while_statement] = STATE(180),
+    [sym_do_statement] = STATE(180),
+    [sym_for_statement] = STATE(180),
+    [sym_return_statement] = STATE(180),
+    [sym_break_statement] = STATE(180),
+    [sym_continue_statement] = STATE(180),
+    [sym_goto_statement] = STATE(180),
+    [sym_seh_try_statement] = STATE(180),
+    [sym_seh_leave_statement] = STATE(180),
+    [sym_expression] = STATE(1052),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1858),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym__empty_declaration] = STATE(40),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_repeat1] = STATE(40),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(378),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(484),
+    [aux_sym_preproc_include_token1] = ACTIONS(486),
+    [aux_sym_preproc_def_token1] = ACTIONS(488),
+    [aux_sym_preproc_if_token1] = ACTIONS(490),
+    [aux_sym_preproc_if_token2] = ACTIONS(492),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(494),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(494),
+    [sym_preproc_directive] = ACTIONS(496),
+    [anon_sym_LPAREN2] = ACTIONS(19),
+    [anon_sym_BANG] = ACTIONS(21),
+    [anon_sym_TILDE] = ACTIONS(21),
+    [anon_sym_DASH] = ACTIONS(23),
+    [anon_sym_PLUS] = ACTIONS(23),
+    [anon_sym_STAR] = ACTIONS(25),
+    [anon_sym_AMP] = ACTIONS(25),
+    [anon_sym_SEMI] = ACTIONS(498),
+    [anon_sym___extension__] = ACTIONS(500),
+    [anon_sym_typedef] = ACTIONS(502),
+    [anon_sym_extern] = ACTIONS(504),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(506),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(508),
+    [anon_sym_switch] = ACTIONS(510),
+    [anon_sym_case] = ACTIONS(512),
+    [anon_sym_default] = ACTIONS(514),
+    [anon_sym_while] = ACTIONS(516),
+    [anon_sym_do] = ACTIONS(518),
+    [anon_sym_for] = ACTIONS(520),
+    [anon_sym_return] = ACTIONS(522),
+    [anon_sym_break] = ACTIONS(524),
+    [anon_sym_continue] = ACTIONS(526),
+    [anon_sym_goto] = ACTIONS(528),
+    [anon_sym___try] = ACTIONS(530),
+    [anon_sym___leave] = ACTIONS(532),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
+    [sym_comment] = ACTIONS(3),
+  },
+  [27] = {
     [sym__block_item] = STATE(24),
     [sym_preproc_include] = STATE(24),
     [sym_preproc_def] = STATE(24),
@@ -16188,79 +16454,79 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_if] = STATE(24),
     [sym_preproc_ifdef] = STATE(24),
     [sym_function_definition] = STATE(24),
-    [sym__old_style_function_definition] = STATE(260),
+    [sym__old_style_function_definition] = STATE(271),
     [sym_declaration] = STATE(24),
     [sym_type_definition] = STATE(24),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1119),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1138),
     [sym_linkage_specification] = STATE(24),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(670),
-    [sym_compound_statement] = STATE(177),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(788),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(309),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(694),
+    [sym_compound_statement] = STATE(250),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(812),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(272),
     [sym_statement] = STATE(24),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(24),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(24),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(356),
-    [aux_sym_preproc_include_token1] = ACTIONS(358),
-    [aux_sym_preproc_def_token1] = ACTIONS(360),
-    [aux_sym_preproc_if_token1] = ACTIONS(362),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(364),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(364),
-    [sym_preproc_directive] = ACTIONS(366),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(358),
+    [aux_sym_preproc_include_token1] = ACTIONS(360),
+    [aux_sym_preproc_def_token1] = ACTIONS(362),
+    [aux_sym_preproc_if_token1] = ACTIONS(364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(366),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(366),
+    [sym_preproc_directive] = ACTIONS(368),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -16268,349 +16534,175 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(374),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_RBRACE] = ACTIONS(530),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
-    [sym_comment] = ACTIONS(3),
-  },
-  [27] = {
-    [sym__block_item] = STATE(27),
-    [sym_preproc_include] = STATE(27),
-    [sym_preproc_def] = STATE(27),
-    [sym_preproc_function_def] = STATE(27),
-    [sym_preproc_call] = STATE(27),
-    [sym_preproc_if] = STATE(27),
-    [sym_preproc_ifdef] = STATE(27),
-    [sym_function_definition] = STATE(27),
-    [sym__old_style_function_definition] = STATE(263),
-    [sym_declaration] = STATE(27),
-    [sym_type_definition] = STATE(27),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1116),
-    [sym_linkage_specification] = STATE(27),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(692),
-    [sym_compound_statement] = STATE(204),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(808),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(310),
-    [sym_statement] = STATE(27),
-    [sym_labeled_statement] = STATE(204),
-    [sym_expression_statement] = STATE(204),
-    [sym_if_statement] = STATE(204),
-    [sym_switch_statement] = STATE(204),
-    [sym_case_statement] = STATE(204),
-    [sym_while_statement] = STATE(204),
-    [sym_do_statement] = STATE(204),
-    [sym_for_statement] = STATE(204),
-    [sym_return_statement] = STATE(204),
-    [sym_break_statement] = STATE(204),
-    [sym_continue_statement] = STATE(204),
-    [sym_goto_statement] = STATE(204),
-    [sym_seh_try_statement] = STATE(204),
-    [sym_seh_leave_statement] = STATE(204),
-    [sym_expression] = STATE(1031),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1919),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym__empty_declaration] = STATE(27),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_repeat1] = STATE(27),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(350),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(532),
-    [aux_sym_preproc_include_token1] = ACTIONS(535),
-    [aux_sym_preproc_def_token1] = ACTIONS(538),
-    [aux_sym_preproc_if_token1] = ACTIONS(541),
-    [aux_sym_preproc_if_token2] = ACTIONS(213),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(544),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(544),
-    [sym_preproc_directive] = ACTIONS(547),
-    [anon_sym_LPAREN2] = ACTIONS(221),
-    [anon_sym_BANG] = ACTIONS(224),
-    [anon_sym_TILDE] = ACTIONS(224),
-    [anon_sym_DASH] = ACTIONS(227),
-    [anon_sym_PLUS] = ACTIONS(227),
-    [anon_sym_STAR] = ACTIONS(230),
-    [anon_sym_AMP] = ACTIONS(230),
-    [anon_sym_SEMI] = ACTIONS(550),
-    [anon_sym___extension__] = ACTIONS(553),
-    [anon_sym_typedef] = ACTIONS(556),
-    [anon_sym_extern] = ACTIONS(559),
-    [anon_sym___attribute__] = ACTIONS(245),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(248),
-    [anon_sym___declspec] = ACTIONS(251),
-    [anon_sym___cdecl] = ACTIONS(254),
-    [anon_sym___clrcall] = ACTIONS(254),
-    [anon_sym___stdcall] = ACTIONS(254),
-    [anon_sym___fastcall] = ACTIONS(254),
-    [anon_sym___thiscall] = ACTIONS(254),
-    [anon_sym___vectorcall] = ACTIONS(254),
-    [anon_sym_LBRACE] = ACTIONS(562),
-    [anon_sym_signed] = ACTIONS(260),
-    [anon_sym_unsigned] = ACTIONS(260),
-    [anon_sym_long] = ACTIONS(260),
-    [anon_sym_short] = ACTIONS(260),
-    [anon_sym_static] = ACTIONS(263),
-    [anon_sym_auto] = ACTIONS(263),
-    [anon_sym_register] = ACTIONS(263),
-    [anon_sym_inline] = ACTIONS(263),
-    [anon_sym___inline] = ACTIONS(263),
-    [anon_sym___inline__] = ACTIONS(263),
-    [anon_sym___forceinline] = ACTIONS(263),
-    [anon_sym_thread_local] = ACTIONS(263),
-    [anon_sym___thread] = ACTIONS(263),
-    [anon_sym_const] = ACTIONS(266),
-    [anon_sym_constexpr] = ACTIONS(266),
-    [anon_sym_volatile] = ACTIONS(266),
-    [anon_sym_restrict] = ACTIONS(266),
-    [anon_sym___restrict__] = ACTIONS(266),
-    [anon_sym__Atomic] = ACTIONS(266),
-    [anon_sym__Noreturn] = ACTIONS(266),
-    [anon_sym_noreturn] = ACTIONS(266),
-    [anon_sym__Nonnull] = ACTIONS(266),
-    [anon_sym_alignas] = ACTIONS(269),
-    [anon_sym__Alignas] = ACTIONS(269),
-    [sym_primitive_type] = ACTIONS(272),
-    [anon_sym_enum] = ACTIONS(275),
-    [anon_sym_struct] = ACTIONS(278),
-    [anon_sym_union] = ACTIONS(281),
-    [anon_sym_if] = ACTIONS(565),
-    [anon_sym_switch] = ACTIONS(568),
-    [anon_sym_case] = ACTIONS(571),
-    [anon_sym_default] = ACTIONS(574),
-    [anon_sym_while] = ACTIONS(577),
-    [anon_sym_do] = ACTIONS(580),
-    [anon_sym_for] = ACTIONS(583),
-    [anon_sym_return] = ACTIONS(586),
-    [anon_sym_break] = ACTIONS(589),
-    [anon_sym_continue] = ACTIONS(592),
-    [anon_sym_goto] = ACTIONS(595),
-    [anon_sym___try] = ACTIONS(598),
-    [anon_sym___leave] = ACTIONS(601),
-    [anon_sym_DASH_DASH] = ACTIONS(323),
-    [anon_sym_PLUS_PLUS] = ACTIONS(323),
-    [anon_sym_sizeof] = ACTIONS(326),
-    [anon_sym___alignof__] = ACTIONS(329),
-    [anon_sym___alignof] = ACTIONS(329),
-    [anon_sym__alignof] = ACTIONS(329),
-    [anon_sym_alignof] = ACTIONS(329),
-    [anon_sym__Alignof] = ACTIONS(329),
-    [anon_sym_offsetof] = ACTIONS(332),
-    [anon_sym__Generic] = ACTIONS(335),
-    [anon_sym_asm] = ACTIONS(338),
-    [anon_sym___asm__] = ACTIONS(338),
-    [anon_sym___asm] = ACTIONS(338),
-    [sym_number_literal] = ACTIONS(341),
-    [anon_sym_L_SQUOTE] = ACTIONS(344),
-    [anon_sym_u_SQUOTE] = ACTIONS(344),
-    [anon_sym_U_SQUOTE] = ACTIONS(344),
-    [anon_sym_u8_SQUOTE] = ACTIONS(344),
-    [anon_sym_SQUOTE] = ACTIONS(344),
-    [anon_sym_L_DQUOTE] = ACTIONS(347),
-    [anon_sym_u_DQUOTE] = ACTIONS(347),
-    [anon_sym_U_DQUOTE] = ACTIONS(347),
-    [anon_sym_u8_DQUOTE] = ACTIONS(347),
-    [anon_sym_DQUOTE] = ACTIONS(347),
-    [sym_true] = ACTIONS(350),
-    [sym_false] = ACTIONS(350),
-    [anon_sym_NULL] = ACTIONS(353),
-    [anon_sym_nullptr] = ACTIONS(353),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(376),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_RBRACE] = ACTIONS(534),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [28] = {
-    [sym__block_item] = STATE(30),
-    [sym_preproc_include] = STATE(30),
-    [sym_preproc_def] = STATE(30),
-    [sym_preproc_function_def] = STATE(30),
-    [sym_preproc_call] = STATE(30),
-    [sym_preproc_if] = STATE(30),
-    [sym_preproc_ifdef] = STATE(30),
-    [sym_function_definition] = STATE(30),
-    [sym__old_style_function_definition] = STATE(260),
-    [sym_declaration] = STATE(30),
-    [sym_type_definition] = STATE(30),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1119),
-    [sym_linkage_specification] = STATE(30),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(670),
-    [sym_compound_statement] = STATE(177),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(788),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(309),
-    [sym_statement] = STATE(30),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym__empty_declaration] = STATE(30),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_repeat1] = STATE(30),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(356),
-    [aux_sym_preproc_include_token1] = ACTIONS(358),
-    [aux_sym_preproc_def_token1] = ACTIONS(360),
-    [aux_sym_preproc_if_token1] = ACTIONS(362),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(364),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(364),
-    [sym_preproc_directive] = ACTIONS(366),
+    [sym__block_item] = STATE(24),
+    [sym_preproc_include] = STATE(24),
+    [sym_preproc_def] = STATE(24),
+    [sym_preproc_function_def] = STATE(24),
+    [sym_preproc_call] = STATE(24),
+    [sym_preproc_if] = STATE(24),
+    [sym_preproc_ifdef] = STATE(24),
+    [sym_function_definition] = STATE(24),
+    [sym__old_style_function_definition] = STATE(271),
+    [sym_declaration] = STATE(24),
+    [sym_type_definition] = STATE(24),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1138),
+    [sym_linkage_specification] = STATE(24),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(694),
+    [sym_compound_statement] = STATE(250),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(812),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(272),
+    [sym_statement] = STATE(24),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym__empty_declaration] = STATE(24),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_repeat1] = STATE(24),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(358),
+    [aux_sym_preproc_include_token1] = ACTIONS(360),
+    [aux_sym_preproc_def_token1] = ACTIONS(362),
+    [aux_sym_preproc_if_token1] = ACTIONS(364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(366),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(366),
+    [sym_preproc_directive] = ACTIONS(368),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -16618,268 +16710,94 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(374),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_RBRACE] = ACTIONS(604),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(376),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_RBRACE] = ACTIONS(536),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [29] = {
-    [sym__block_item] = STATE(39),
-    [sym_preproc_include] = STATE(39),
-    [sym_preproc_def] = STATE(39),
-    [sym_preproc_function_def] = STATE(39),
-    [sym_preproc_call] = STATE(39),
-    [sym_preproc_if] = STATE(39),
-    [sym_preproc_ifdef] = STATE(39),
-    [sym_function_definition] = STATE(39),
-    [sym__old_style_function_definition] = STATE(260),
-    [sym_declaration] = STATE(39),
-    [sym_type_definition] = STATE(39),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1119),
-    [sym_linkage_specification] = STATE(39),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(670),
-    [sym_compound_statement] = STATE(177),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(788),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(309),
-    [sym_statement] = STATE(39),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym__empty_declaration] = STATE(39),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_repeat1] = STATE(39),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(356),
-    [aux_sym_preproc_include_token1] = ACTIONS(358),
-    [aux_sym_preproc_def_token1] = ACTIONS(360),
-    [aux_sym_preproc_if_token1] = ACTIONS(362),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(364),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(364),
-    [sym_preproc_directive] = ACTIONS(366),
-    [anon_sym_LPAREN2] = ACTIONS(19),
-    [anon_sym_BANG] = ACTIONS(21),
-    [anon_sym_TILDE] = ACTIONS(21),
-    [anon_sym_DASH] = ACTIONS(23),
-    [anon_sym_PLUS] = ACTIONS(23),
-    [anon_sym_STAR] = ACTIONS(25),
-    [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(374),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_RBRACE] = ACTIONS(606),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
-    [sym_comment] = ACTIONS(3),
-  },
-  [30] = {
     [sym__block_item] = STATE(24),
     [sym_preproc_include] = STATE(24),
     [sym_preproc_def] = STATE(24),
@@ -16888,79 +16806,79 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_if] = STATE(24),
     [sym_preproc_ifdef] = STATE(24),
     [sym_function_definition] = STATE(24),
-    [sym__old_style_function_definition] = STATE(260),
+    [sym__old_style_function_definition] = STATE(271),
     [sym_declaration] = STATE(24),
     [sym_type_definition] = STATE(24),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1119),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1138),
     [sym_linkage_specification] = STATE(24),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(670),
-    [sym_compound_statement] = STATE(177),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(788),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(309),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(694),
+    [sym_compound_statement] = STATE(250),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(812),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(272),
     [sym_statement] = STATE(24),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(24),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(24),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(356),
-    [aux_sym_preproc_include_token1] = ACTIONS(358),
-    [aux_sym_preproc_def_token1] = ACTIONS(360),
-    [aux_sym_preproc_if_token1] = ACTIONS(362),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(364),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(364),
-    [sym_preproc_directive] = ACTIONS(366),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(358),
+    [aux_sym_preproc_include_token1] = ACTIONS(360),
+    [aux_sym_preproc_def_token1] = ACTIONS(362),
+    [aux_sym_preproc_if_token1] = ACTIONS(364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(366),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(366),
+    [sym_preproc_directive] = ACTIONS(368),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -16968,93 +16886,94 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(374),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_RBRACE] = ACTIONS(608),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(376),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_RBRACE] = ACTIONS(538),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [31] = {
+  [30] = {
     [sym__block_item] = STATE(32),
     [sym_preproc_include] = STATE(32),
     [sym_preproc_def] = STATE(32),
@@ -17063,79 +16982,79 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_if] = STATE(32),
     [sym_preproc_ifdef] = STATE(32),
     [sym_function_definition] = STATE(32),
-    [sym__old_style_function_definition] = STATE(260),
+    [sym__old_style_function_definition] = STATE(271),
     [sym_declaration] = STATE(32),
     [sym_type_definition] = STATE(32),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1119),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1138),
     [sym_linkage_specification] = STATE(32),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(670),
-    [sym_compound_statement] = STATE(177),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(788),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(309),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(694),
+    [sym_compound_statement] = STATE(250),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(812),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(272),
     [sym_statement] = STATE(32),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(32),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(32),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(356),
-    [aux_sym_preproc_include_token1] = ACTIONS(358),
-    [aux_sym_preproc_def_token1] = ACTIONS(360),
-    [aux_sym_preproc_if_token1] = ACTIONS(362),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(364),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(364),
-    [sym_preproc_directive] = ACTIONS(366),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(358),
+    [aux_sym_preproc_include_token1] = ACTIONS(360),
+    [aux_sym_preproc_def_token1] = ACTIONS(362),
+    [aux_sym_preproc_if_token1] = ACTIONS(364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(366),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(366),
+    [sym_preproc_directive] = ACTIONS(368),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -17143,93 +17062,94 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(374),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_RBRACE] = ACTIONS(610),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(376),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_RBRACE] = ACTIONS(540),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [32] = {
+  [31] = {
     [sym__block_item] = STATE(24),
     [sym_preproc_include] = STATE(24),
     [sym_preproc_def] = STATE(24),
@@ -17238,254 +17158,79 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_if] = STATE(24),
     [sym_preproc_ifdef] = STATE(24),
     [sym_function_definition] = STATE(24),
-    [sym__old_style_function_definition] = STATE(260),
+    [sym__old_style_function_definition] = STATE(271),
     [sym_declaration] = STATE(24),
     [sym_type_definition] = STATE(24),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1119),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1138),
     [sym_linkage_specification] = STATE(24),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(670),
-    [sym_compound_statement] = STATE(177),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(788),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(309),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(694),
+    [sym_compound_statement] = STATE(250),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(812),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(272),
     [sym_statement] = STATE(24),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(24),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(24),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(356),
-    [aux_sym_preproc_include_token1] = ACTIONS(358),
-    [aux_sym_preproc_def_token1] = ACTIONS(360),
-    [aux_sym_preproc_if_token1] = ACTIONS(362),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(364),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(364),
-    [sym_preproc_directive] = ACTIONS(366),
-    [anon_sym_LPAREN2] = ACTIONS(19),
-    [anon_sym_BANG] = ACTIONS(21),
-    [anon_sym_TILDE] = ACTIONS(21),
-    [anon_sym_DASH] = ACTIONS(23),
-    [anon_sym_PLUS] = ACTIONS(23),
-    [anon_sym_STAR] = ACTIONS(25),
-    [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(374),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_RBRACE] = ACTIONS(612),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
-    [sym_comment] = ACTIONS(3),
-  },
-  [33] = {
-    [sym__block_item] = STATE(34),
-    [sym_preproc_include] = STATE(34),
-    [sym_preproc_def] = STATE(34),
-    [sym_preproc_function_def] = STATE(34),
-    [sym_preproc_call] = STATE(34),
-    [sym_preproc_if] = STATE(34),
-    [sym_preproc_ifdef] = STATE(34),
-    [sym_function_definition] = STATE(34),
-    [sym__old_style_function_definition] = STATE(260),
-    [sym_declaration] = STATE(34),
-    [sym_type_definition] = STATE(34),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1119),
-    [sym_linkage_specification] = STATE(34),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(670),
-    [sym_compound_statement] = STATE(177),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(788),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(309),
-    [sym_statement] = STATE(34),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym__empty_declaration] = STATE(34),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_repeat1] = STATE(34),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(356),
-    [aux_sym_preproc_include_token1] = ACTIONS(358),
-    [aux_sym_preproc_def_token1] = ACTIONS(360),
-    [aux_sym_preproc_if_token1] = ACTIONS(362),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(364),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(364),
-    [sym_preproc_directive] = ACTIONS(366),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(358),
+    [aux_sym_preproc_include_token1] = ACTIONS(360),
+    [aux_sym_preproc_def_token1] = ACTIONS(362),
+    [aux_sym_preproc_if_token1] = ACTIONS(364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(366),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(366),
+    [sym_preproc_directive] = ACTIONS(368),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -17493,93 +17238,94 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(374),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_RBRACE] = ACTIONS(614),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(376),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_RBRACE] = ACTIONS(542),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [34] = {
+  [32] = {
     [sym__block_item] = STATE(24),
     [sym_preproc_include] = STATE(24),
     [sym_preproc_def] = STATE(24),
@@ -17588,79 +17334,79 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_if] = STATE(24),
     [sym_preproc_ifdef] = STATE(24),
     [sym_function_definition] = STATE(24),
-    [sym__old_style_function_definition] = STATE(260),
+    [sym__old_style_function_definition] = STATE(271),
     [sym_declaration] = STATE(24),
     [sym_type_definition] = STATE(24),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1119),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1138),
     [sym_linkage_specification] = STATE(24),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(670),
-    [sym_compound_statement] = STATE(177),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(788),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(309),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(694),
+    [sym_compound_statement] = STATE(250),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(812),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(272),
     [sym_statement] = STATE(24),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(24),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(24),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(356),
-    [aux_sym_preproc_include_token1] = ACTIONS(358),
-    [aux_sym_preproc_def_token1] = ACTIONS(360),
-    [aux_sym_preproc_if_token1] = ACTIONS(362),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(364),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(364),
-    [sym_preproc_directive] = ACTIONS(366),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(358),
+    [aux_sym_preproc_include_token1] = ACTIONS(360),
+    [aux_sym_preproc_def_token1] = ACTIONS(362),
+    [aux_sym_preproc_if_token1] = ACTIONS(364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(366),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(366),
+    [sym_preproc_directive] = ACTIONS(368),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -17668,175 +17414,175 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(374),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_RBRACE] = ACTIONS(616),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(376),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_RBRACE] = ACTIONS(544),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [35] = {
-    [sym__block_item] = STATE(27),
-    [sym_preproc_include] = STATE(27),
-    [sym_preproc_def] = STATE(27),
-    [sym_preproc_function_def] = STATE(27),
-    [sym_preproc_call] = STATE(27),
-    [sym_preproc_if] = STATE(27),
-    [sym_preproc_ifdef] = STATE(27),
-    [sym_function_definition] = STATE(27),
-    [sym__old_style_function_definition] = STATE(263),
-    [sym_declaration] = STATE(27),
-    [sym_type_definition] = STATE(27),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1116),
-    [sym_linkage_specification] = STATE(27),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(692),
-    [sym_compound_statement] = STATE(204),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(808),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(310),
-    [sym_statement] = STATE(27),
-    [sym_labeled_statement] = STATE(204),
-    [sym_expression_statement] = STATE(204),
-    [sym_if_statement] = STATE(204),
-    [sym_switch_statement] = STATE(204),
-    [sym_case_statement] = STATE(204),
-    [sym_while_statement] = STATE(204),
-    [sym_do_statement] = STATE(204),
-    [sym_for_statement] = STATE(204),
-    [sym_return_statement] = STATE(204),
-    [sym_break_statement] = STATE(204),
-    [sym_continue_statement] = STATE(204),
-    [sym_goto_statement] = STATE(204),
-    [sym_seh_try_statement] = STATE(204),
-    [sym_seh_leave_statement] = STATE(204),
-    [sym_expression] = STATE(1031),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1919),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym__empty_declaration] = STATE(27),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_repeat1] = STATE(27),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(350),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(480),
-    [aux_sym_preproc_include_token1] = ACTIONS(482),
-    [aux_sym_preproc_def_token1] = ACTIONS(484),
-    [aux_sym_preproc_if_token1] = ACTIONS(486),
-    [aux_sym_preproc_if_token2] = ACTIONS(618),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(490),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(490),
-    [sym_preproc_directive] = ACTIONS(492),
+  [33] = {
+    [sym__block_item] = STATE(28),
+    [sym_preproc_include] = STATE(28),
+    [sym_preproc_def] = STATE(28),
+    [sym_preproc_function_def] = STATE(28),
+    [sym_preproc_call] = STATE(28),
+    [sym_preproc_if] = STATE(28),
+    [sym_preproc_ifdef] = STATE(28),
+    [sym_function_definition] = STATE(28),
+    [sym__old_style_function_definition] = STATE(271),
+    [sym_declaration] = STATE(28),
+    [sym_type_definition] = STATE(28),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1138),
+    [sym_linkage_specification] = STATE(28),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(694),
+    [sym_compound_statement] = STATE(250),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(812),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(272),
+    [sym_statement] = STATE(28),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym__empty_declaration] = STATE(28),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_repeat1] = STATE(28),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(358),
+    [aux_sym_preproc_include_token1] = ACTIONS(360),
+    [aux_sym_preproc_def_token1] = ACTIONS(362),
+    [aux_sym_preproc_if_token1] = ACTIONS(364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(366),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(366),
+    [sym_preproc_directive] = ACTIONS(368),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -17844,173 +17590,175 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(494),
-    [anon_sym___extension__] = ACTIONS(496),
-    [anon_sym_typedef] = ACTIONS(498),
-    [anon_sym_extern] = ACTIONS(500),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(502),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(504),
-    [anon_sym_switch] = ACTIONS(506),
-    [anon_sym_case] = ACTIONS(508),
-    [anon_sym_default] = ACTIONS(510),
-    [anon_sym_while] = ACTIONS(512),
-    [anon_sym_do] = ACTIONS(514),
-    [anon_sym_for] = ACTIONS(516),
-    [anon_sym_return] = ACTIONS(518),
-    [anon_sym_break] = ACTIONS(520),
-    [anon_sym_continue] = ACTIONS(522),
-    [anon_sym_goto] = ACTIONS(524),
-    [anon_sym___try] = ACTIONS(526),
-    [anon_sym___leave] = ACTIONS(528),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(376),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_RBRACE] = ACTIONS(546),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [36] = {
-    [sym__block_item] = STATE(37),
-    [sym_preproc_include] = STATE(37),
-    [sym_preproc_def] = STATE(37),
-    [sym_preproc_function_def] = STATE(37),
-    [sym_preproc_call] = STATE(37),
-    [sym_preproc_if] = STATE(37),
-    [sym_preproc_ifdef] = STATE(37),
-    [sym_function_definition] = STATE(37),
-    [sym__old_style_function_definition] = STATE(260),
-    [sym_declaration] = STATE(37),
-    [sym_type_definition] = STATE(37),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1119),
-    [sym_linkage_specification] = STATE(37),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(670),
-    [sym_compound_statement] = STATE(177),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(788),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(309),
-    [sym_statement] = STATE(37),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym__empty_declaration] = STATE(37),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_repeat1] = STATE(37),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(356),
-    [aux_sym_preproc_include_token1] = ACTIONS(358),
-    [aux_sym_preproc_def_token1] = ACTIONS(360),
-    [aux_sym_preproc_if_token1] = ACTIONS(362),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(364),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(364),
-    [sym_preproc_directive] = ACTIONS(366),
+  [34] = {
+    [sym__block_item] = STATE(29),
+    [sym_preproc_include] = STATE(29),
+    [sym_preproc_def] = STATE(29),
+    [sym_preproc_function_def] = STATE(29),
+    [sym_preproc_call] = STATE(29),
+    [sym_preproc_if] = STATE(29),
+    [sym_preproc_ifdef] = STATE(29),
+    [sym_function_definition] = STATE(29),
+    [sym__old_style_function_definition] = STATE(271),
+    [sym_declaration] = STATE(29),
+    [sym_type_definition] = STATE(29),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1138),
+    [sym_linkage_specification] = STATE(29),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(694),
+    [sym_compound_statement] = STATE(250),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(812),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(272),
+    [sym_statement] = STATE(29),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym__empty_declaration] = STATE(29),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_repeat1] = STATE(29),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(358),
+    [aux_sym_preproc_include_token1] = ACTIONS(360),
+    [aux_sym_preproc_def_token1] = ACTIONS(362),
+    [aux_sym_preproc_if_token1] = ACTIONS(364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(366),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(366),
+    [sym_preproc_directive] = ACTIONS(368),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -18018,174 +17766,176 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(374),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_RBRACE] = ACTIONS(620),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(376),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_RBRACE] = ACTIONS(548),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [37] = {
-    [sym__block_item] = STATE(24),
-    [sym_preproc_include] = STATE(24),
-    [sym_preproc_def] = STATE(24),
-    [sym_preproc_function_def] = STATE(24),
-    [sym_preproc_call] = STATE(24),
-    [sym_preproc_if] = STATE(24),
-    [sym_preproc_ifdef] = STATE(24),
-    [sym_function_definition] = STATE(24),
-    [sym__old_style_function_definition] = STATE(260),
-    [sym_declaration] = STATE(24),
-    [sym_type_definition] = STATE(24),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1119),
-    [sym_linkage_specification] = STATE(24),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(670),
-    [sym_compound_statement] = STATE(177),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(788),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(309),
-    [sym_statement] = STATE(24),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym__empty_declaration] = STATE(24),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_repeat1] = STATE(24),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(356),
-    [aux_sym_preproc_include_token1] = ACTIONS(358),
-    [aux_sym_preproc_def_token1] = ACTIONS(360),
-    [aux_sym_preproc_if_token1] = ACTIONS(362),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(364),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(364),
-    [sym_preproc_directive] = ACTIONS(366),
+  [35] = {
+    [sym__block_item] = STATE(26),
+    [sym_preproc_include] = STATE(26),
+    [sym_preproc_def] = STATE(26),
+    [sym_preproc_function_def] = STATE(26),
+    [sym_preproc_call] = STATE(26),
+    [sym_preproc_if] = STATE(26),
+    [sym_preproc_ifdef] = STATE(26),
+    [sym_function_definition] = STATE(26),
+    [sym__old_style_function_definition] = STATE(286),
+    [sym_declaration] = STATE(26),
+    [sym_type_definition] = STATE(26),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1139),
+    [sym_linkage_specification] = STATE(26),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(697),
+    [sym_compound_statement] = STATE(180),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(798),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(287),
+    [sym_statement] = STATE(26),
+    [sym_labeled_statement] = STATE(180),
+    [sym_expression_statement] = STATE(180),
+    [sym_if_statement] = STATE(180),
+    [sym_switch_statement] = STATE(180),
+    [sym_case_statement] = STATE(180),
+    [sym_while_statement] = STATE(180),
+    [sym_do_statement] = STATE(180),
+    [sym_for_statement] = STATE(180),
+    [sym_return_statement] = STATE(180),
+    [sym_break_statement] = STATE(180),
+    [sym_continue_statement] = STATE(180),
+    [sym_goto_statement] = STATE(180),
+    [sym_seh_try_statement] = STATE(180),
+    [sym_seh_leave_statement] = STATE(180),
+    [sym_expression] = STATE(1052),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1858),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym__empty_declaration] = STATE(26),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_repeat1] = STATE(26),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(378),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(484),
+    [aux_sym_preproc_include_token1] = ACTIONS(486),
+    [aux_sym_preproc_def_token1] = ACTIONS(488),
+    [aux_sym_preproc_if_token1] = ACTIONS(490),
+    [aux_sym_preproc_if_token2] = ACTIONS(550),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(494),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(494),
+    [sym_preproc_directive] = ACTIONS(496),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -18193,174 +17943,174 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(374),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_RBRACE] = ACTIONS(622),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(498),
+    [anon_sym___extension__] = ACTIONS(500),
+    [anon_sym_typedef] = ACTIONS(502),
+    [anon_sym_extern] = ACTIONS(504),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(506),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(508),
+    [anon_sym_switch] = ACTIONS(510),
+    [anon_sym_case] = ACTIONS(512),
+    [anon_sym_default] = ACTIONS(514),
+    [anon_sym_while] = ACTIONS(516),
+    [anon_sym_do] = ACTIONS(518),
+    [anon_sym_for] = ACTIONS(520),
+    [anon_sym_return] = ACTIONS(522),
+    [anon_sym_break] = ACTIONS(524),
+    [anon_sym_continue] = ACTIONS(526),
+    [anon_sym_goto] = ACTIONS(528),
+    [anon_sym___try] = ACTIONS(530),
+    [anon_sym___leave] = ACTIONS(532),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [38] = {
-    [sym__block_item] = STATE(40),
-    [sym_preproc_include] = STATE(40),
-    [sym_preproc_def] = STATE(40),
-    [sym_preproc_function_def] = STATE(40),
-    [sym_preproc_call] = STATE(40),
-    [sym_preproc_if] = STATE(40),
-    [sym_preproc_ifdef] = STATE(40),
-    [sym_function_definition] = STATE(40),
-    [sym__old_style_function_definition] = STATE(260),
-    [sym_declaration] = STATE(40),
-    [sym_type_definition] = STATE(40),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1119),
-    [sym_linkage_specification] = STATE(40),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(670),
-    [sym_compound_statement] = STATE(177),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(788),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(309),
-    [sym_statement] = STATE(40),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym__empty_declaration] = STATE(40),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_repeat1] = STATE(40),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(356),
-    [aux_sym_preproc_include_token1] = ACTIONS(358),
-    [aux_sym_preproc_def_token1] = ACTIONS(360),
-    [aux_sym_preproc_if_token1] = ACTIONS(362),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(364),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(364),
-    [sym_preproc_directive] = ACTIONS(366),
+  [36] = {
+    [sym__block_item] = STATE(38),
+    [sym_preproc_include] = STATE(38),
+    [sym_preproc_def] = STATE(38),
+    [sym_preproc_function_def] = STATE(38),
+    [sym_preproc_call] = STATE(38),
+    [sym_preproc_if] = STATE(38),
+    [sym_preproc_ifdef] = STATE(38),
+    [sym_function_definition] = STATE(38),
+    [sym__old_style_function_definition] = STATE(271),
+    [sym_declaration] = STATE(38),
+    [sym_type_definition] = STATE(38),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1138),
+    [sym_linkage_specification] = STATE(38),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(694),
+    [sym_compound_statement] = STATE(250),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(812),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(272),
+    [sym_statement] = STATE(38),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym__empty_declaration] = STATE(38),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_repeat1] = STATE(38),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(358),
+    [aux_sym_preproc_include_token1] = ACTIONS(360),
+    [aux_sym_preproc_def_token1] = ACTIONS(362),
+    [aux_sym_preproc_if_token1] = ACTIONS(364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(366),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(366),
+    [sym_preproc_directive] = ACTIONS(368),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -18368,174 +18118,175 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(374),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_RBRACE] = ACTIONS(624),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(376),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_RBRACE] = ACTIONS(552),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [39] = {
-    [sym__block_item] = STATE(24),
-    [sym_preproc_include] = STATE(24),
-    [sym_preproc_def] = STATE(24),
-    [sym_preproc_function_def] = STATE(24),
-    [sym_preproc_call] = STATE(24),
-    [sym_preproc_if] = STATE(24),
-    [sym_preproc_ifdef] = STATE(24),
-    [sym_function_definition] = STATE(24),
-    [sym__old_style_function_definition] = STATE(260),
-    [sym_declaration] = STATE(24),
-    [sym_type_definition] = STATE(24),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1119),
-    [sym_linkage_specification] = STATE(24),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(670),
-    [sym_compound_statement] = STATE(177),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(788),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(309),
-    [sym_statement] = STATE(24),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym__empty_declaration] = STATE(24),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_repeat1] = STATE(24),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(356),
-    [aux_sym_preproc_include_token1] = ACTIONS(358),
-    [aux_sym_preproc_def_token1] = ACTIONS(360),
-    [aux_sym_preproc_if_token1] = ACTIONS(362),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(364),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(364),
-    [sym_preproc_directive] = ACTIONS(366),
+  [37] = {
+    [sym__block_item] = STATE(42),
+    [sym_preproc_include] = STATE(42),
+    [sym_preproc_def] = STATE(42),
+    [sym_preproc_function_def] = STATE(42),
+    [sym_preproc_call] = STATE(42),
+    [sym_preproc_if] = STATE(42),
+    [sym_preproc_ifdef] = STATE(42),
+    [sym_function_definition] = STATE(42),
+    [sym__old_style_function_definition] = STATE(271),
+    [sym_declaration] = STATE(42),
+    [sym_type_definition] = STATE(42),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1138),
+    [sym_linkage_specification] = STATE(42),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(694),
+    [sym_compound_statement] = STATE(250),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(812),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(272),
+    [sym_statement] = STATE(42),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym__empty_declaration] = STATE(42),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_repeat1] = STATE(42),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(358),
+    [aux_sym_preproc_include_token1] = ACTIONS(360),
+    [aux_sym_preproc_def_token1] = ACTIONS(362),
+    [aux_sym_preproc_if_token1] = ACTIONS(364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(366),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(366),
+    [sym_preproc_directive] = ACTIONS(368),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -18543,93 +18294,94 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(374),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_RBRACE] = ACTIONS(626),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(376),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_RBRACE] = ACTIONS(554),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [40] = {
+  [38] = {
     [sym__block_item] = STATE(24),
     [sym_preproc_include] = STATE(24),
     [sym_preproc_def] = STATE(24),
@@ -18638,79 +18390,79 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_if] = STATE(24),
     [sym_preproc_ifdef] = STATE(24),
     [sym_function_definition] = STATE(24),
-    [sym__old_style_function_definition] = STATE(260),
+    [sym__old_style_function_definition] = STATE(271),
     [sym_declaration] = STATE(24),
     [sym_type_definition] = STATE(24),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1119),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1138),
     [sym_linkage_specification] = STATE(24),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(670),
-    [sym_compound_statement] = STATE(177),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(788),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(309),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(694),
+    [sym_compound_statement] = STATE(250),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(812),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(272),
     [sym_statement] = STATE(24),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(24),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(24),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(356),
-    [aux_sym_preproc_include_token1] = ACTIONS(358),
-    [aux_sym_preproc_def_token1] = ACTIONS(360),
-    [aux_sym_preproc_if_token1] = ACTIONS(362),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(364),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(364),
-    [sym_preproc_directive] = ACTIONS(366),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(358),
+    [aux_sym_preproc_include_token1] = ACTIONS(360),
+    [aux_sym_preproc_def_token1] = ACTIONS(362),
+    [aux_sym_preproc_if_token1] = ACTIONS(364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(366),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(366),
+    [sym_preproc_directive] = ACTIONS(368),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -18718,174 +18470,175 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(374),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_RBRACE] = ACTIONS(628),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(376),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_RBRACE] = ACTIONS(556),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [41] = {
-    [sym__block_item] = STATE(26),
-    [sym_preproc_include] = STATE(26),
-    [sym_preproc_def] = STATE(26),
-    [sym_preproc_function_def] = STATE(26),
-    [sym_preproc_call] = STATE(26),
-    [sym_preproc_if] = STATE(26),
-    [sym_preproc_ifdef] = STATE(26),
-    [sym_function_definition] = STATE(26),
-    [sym__old_style_function_definition] = STATE(260),
-    [sym_declaration] = STATE(26),
-    [sym_type_definition] = STATE(26),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1119),
-    [sym_linkage_specification] = STATE(26),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(670),
-    [sym_compound_statement] = STATE(177),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(788),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(309),
-    [sym_statement] = STATE(26),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym__empty_declaration] = STATE(26),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_repeat1] = STATE(26),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(356),
-    [aux_sym_preproc_include_token1] = ACTIONS(358),
-    [aux_sym_preproc_def_token1] = ACTIONS(360),
-    [aux_sym_preproc_if_token1] = ACTIONS(362),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(364),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(364),
-    [sym_preproc_directive] = ACTIONS(366),
+  [39] = {
+    [sym__block_item] = STATE(41),
+    [sym_preproc_include] = STATE(41),
+    [sym_preproc_def] = STATE(41),
+    [sym_preproc_function_def] = STATE(41),
+    [sym_preproc_call] = STATE(41),
+    [sym_preproc_if] = STATE(41),
+    [sym_preproc_ifdef] = STATE(41),
+    [sym_function_definition] = STATE(41),
+    [sym__old_style_function_definition] = STATE(271),
+    [sym_declaration] = STATE(41),
+    [sym_type_definition] = STATE(41),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1138),
+    [sym_linkage_specification] = STATE(41),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(694),
+    [sym_compound_statement] = STATE(250),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(812),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(272),
+    [sym_statement] = STATE(41),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym__empty_declaration] = STATE(41),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_repeat1] = STATE(41),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(358),
+    [aux_sym_preproc_include_token1] = ACTIONS(360),
+    [aux_sym_preproc_def_token1] = ACTIONS(362),
+    [aux_sym_preproc_if_token1] = ACTIONS(364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(366),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(366),
+    [sym_preproc_directive] = ACTIONS(368),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -18893,93 +18646,270 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(374),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_RBRACE] = ACTIONS(630),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(376),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_RBRACE] = ACTIONS(558),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [42] = {
+  [40] = {
+    [sym__block_item] = STATE(40),
+    [sym_preproc_include] = STATE(40),
+    [sym_preproc_def] = STATE(40),
+    [sym_preproc_function_def] = STATE(40),
+    [sym_preproc_call] = STATE(40),
+    [sym_preproc_if] = STATE(40),
+    [sym_preproc_ifdef] = STATE(40),
+    [sym_function_definition] = STATE(40),
+    [sym__old_style_function_definition] = STATE(286),
+    [sym_declaration] = STATE(40),
+    [sym_type_definition] = STATE(40),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1139),
+    [sym_linkage_specification] = STATE(40),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(697),
+    [sym_compound_statement] = STATE(180),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(798),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(287),
+    [sym_statement] = STATE(40),
+    [sym_labeled_statement] = STATE(180),
+    [sym_expression_statement] = STATE(180),
+    [sym_if_statement] = STATE(180),
+    [sym_switch_statement] = STATE(180),
+    [sym_case_statement] = STATE(180),
+    [sym_while_statement] = STATE(180),
+    [sym_do_statement] = STATE(180),
+    [sym_for_statement] = STATE(180),
+    [sym_return_statement] = STATE(180),
+    [sym_break_statement] = STATE(180),
+    [sym_continue_statement] = STATE(180),
+    [sym_goto_statement] = STATE(180),
+    [sym_seh_try_statement] = STATE(180),
+    [sym_seh_leave_statement] = STATE(180),
+    [sym_expression] = STATE(1052),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1858),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym__empty_declaration] = STATE(40),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_repeat1] = STATE(40),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(378),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(560),
+    [aux_sym_preproc_include_token1] = ACTIONS(563),
+    [aux_sym_preproc_def_token1] = ACTIONS(566),
+    [aux_sym_preproc_if_token1] = ACTIONS(569),
+    [aux_sym_preproc_if_token2] = ACTIONS(215),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(572),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(572),
+    [sym_preproc_directive] = ACTIONS(575),
+    [anon_sym_LPAREN2] = ACTIONS(223),
+    [anon_sym_BANG] = ACTIONS(226),
+    [anon_sym_TILDE] = ACTIONS(226),
+    [anon_sym_DASH] = ACTIONS(229),
+    [anon_sym_PLUS] = ACTIONS(229),
+    [anon_sym_STAR] = ACTIONS(232),
+    [anon_sym_AMP] = ACTIONS(232),
+    [anon_sym_SEMI] = ACTIONS(578),
+    [anon_sym___extension__] = ACTIONS(581),
+    [anon_sym_typedef] = ACTIONS(584),
+    [anon_sym_extern] = ACTIONS(587),
+    [anon_sym___attribute__] = ACTIONS(247),
+    [anon_sym___attribute] = ACTIONS(247),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(250),
+    [anon_sym___declspec] = ACTIONS(253),
+    [anon_sym___cdecl] = ACTIONS(256),
+    [anon_sym___clrcall] = ACTIONS(256),
+    [anon_sym___stdcall] = ACTIONS(256),
+    [anon_sym___fastcall] = ACTIONS(256),
+    [anon_sym___thiscall] = ACTIONS(256),
+    [anon_sym___vectorcall] = ACTIONS(256),
+    [anon_sym_LBRACE] = ACTIONS(590),
+    [anon_sym_signed] = ACTIONS(262),
+    [anon_sym_unsigned] = ACTIONS(262),
+    [anon_sym_long] = ACTIONS(262),
+    [anon_sym_short] = ACTIONS(262),
+    [anon_sym_static] = ACTIONS(265),
+    [anon_sym_auto] = ACTIONS(265),
+    [anon_sym_register] = ACTIONS(265),
+    [anon_sym_inline] = ACTIONS(265),
+    [anon_sym___inline] = ACTIONS(265),
+    [anon_sym___inline__] = ACTIONS(265),
+    [anon_sym___forceinline] = ACTIONS(265),
+    [anon_sym_thread_local] = ACTIONS(265),
+    [anon_sym___thread] = ACTIONS(265),
+    [anon_sym_const] = ACTIONS(268),
+    [anon_sym_constexpr] = ACTIONS(268),
+    [anon_sym_volatile] = ACTIONS(268),
+    [anon_sym_restrict] = ACTIONS(268),
+    [anon_sym___restrict__] = ACTIONS(268),
+    [anon_sym__Atomic] = ACTIONS(268),
+    [anon_sym__Noreturn] = ACTIONS(268),
+    [anon_sym_noreturn] = ACTIONS(268),
+    [anon_sym__Nonnull] = ACTIONS(268),
+    [anon_sym_alignas] = ACTIONS(271),
+    [anon_sym__Alignas] = ACTIONS(271),
+    [sym_primitive_type] = ACTIONS(274),
+    [anon_sym_enum] = ACTIONS(277),
+    [anon_sym_struct] = ACTIONS(280),
+    [anon_sym_union] = ACTIONS(283),
+    [anon_sym_if] = ACTIONS(593),
+    [anon_sym_switch] = ACTIONS(596),
+    [anon_sym_case] = ACTIONS(599),
+    [anon_sym_default] = ACTIONS(602),
+    [anon_sym_while] = ACTIONS(605),
+    [anon_sym_do] = ACTIONS(608),
+    [anon_sym_for] = ACTIONS(611),
+    [anon_sym_return] = ACTIONS(614),
+    [anon_sym_break] = ACTIONS(617),
+    [anon_sym_continue] = ACTIONS(620),
+    [anon_sym_goto] = ACTIONS(623),
+    [anon_sym___try] = ACTIONS(626),
+    [anon_sym___leave] = ACTIONS(629),
+    [anon_sym_DASH_DASH] = ACTIONS(325),
+    [anon_sym_PLUS_PLUS] = ACTIONS(325),
+    [anon_sym_sizeof] = ACTIONS(328),
+    [anon_sym___alignof__] = ACTIONS(331),
+    [anon_sym___alignof] = ACTIONS(331),
+    [anon_sym__alignof] = ACTIONS(331),
+    [anon_sym_alignof] = ACTIONS(331),
+    [anon_sym__Alignof] = ACTIONS(331),
+    [anon_sym_offsetof] = ACTIONS(334),
+    [anon_sym__Generic] = ACTIONS(337),
+    [anon_sym_asm] = ACTIONS(340),
+    [anon_sym___asm__] = ACTIONS(340),
+    [anon_sym___asm] = ACTIONS(340),
+    [sym_number_literal] = ACTIONS(343),
+    [anon_sym_L_SQUOTE] = ACTIONS(346),
+    [anon_sym_u_SQUOTE] = ACTIONS(346),
+    [anon_sym_U_SQUOTE] = ACTIONS(346),
+    [anon_sym_u8_SQUOTE] = ACTIONS(346),
+    [anon_sym_SQUOTE] = ACTIONS(346),
+    [anon_sym_L_DQUOTE] = ACTIONS(349),
+    [anon_sym_u_DQUOTE] = ACTIONS(349),
+    [anon_sym_U_DQUOTE] = ACTIONS(349),
+    [anon_sym_u8_DQUOTE] = ACTIONS(349),
+    [anon_sym_DQUOTE] = ACTIONS(349),
+    [sym_true] = ACTIONS(352),
+    [sym_false] = ACTIONS(352),
+    [anon_sym_NULL] = ACTIONS(355),
+    [anon_sym_nullptr] = ACTIONS(355),
+    [sym_comment] = ACTIONS(3),
+  },
+  [41] = {
     [sym__block_item] = STATE(24),
     [sym_preproc_include] = STATE(24),
     [sym_preproc_def] = STATE(24),
@@ -18988,79 +18918,79 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_if] = STATE(24),
     [sym_preproc_ifdef] = STATE(24),
     [sym_function_definition] = STATE(24),
-    [sym__old_style_function_definition] = STATE(260),
+    [sym__old_style_function_definition] = STATE(271),
     [sym_declaration] = STATE(24),
     [sym_type_definition] = STATE(24),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1119),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1138),
     [sym_linkage_specification] = STATE(24),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(670),
-    [sym_compound_statement] = STATE(177),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(788),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(309),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(694),
+    [sym_compound_statement] = STATE(250),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(812),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(272),
     [sym_statement] = STATE(24),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [sym__empty_declaration] = STATE(24),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_repeat1] = STATE(24),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(356),
-    [aux_sym_preproc_include_token1] = ACTIONS(358),
-    [aux_sym_preproc_def_token1] = ACTIONS(360),
-    [aux_sym_preproc_if_token1] = ACTIONS(362),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(364),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(364),
-    [sym_preproc_directive] = ACTIONS(366),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(358),
+    [aux_sym_preproc_include_token1] = ACTIONS(360),
+    [aux_sym_preproc_def_token1] = ACTIONS(362),
+    [aux_sym_preproc_if_token1] = ACTIONS(364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(366),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(366),
+    [sym_preproc_directive] = ACTIONS(368),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -19068,172 +18998,175 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(374),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(376),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(376),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(378),
     [anon_sym_RBRACE] = ACTIONS(632),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [43] = {
-    [sym__top_level_item] = STATE(44),
-    [sym_preproc_include] = STATE(44),
-    [sym_preproc_def] = STATE(44),
-    [sym_preproc_function_def] = STATE(44),
-    [sym_preproc_call] = STATE(44),
-    [sym_preproc_if] = STATE(44),
-    [sym_preproc_ifdef] = STATE(44),
-    [sym_function_definition] = STATE(44),
-    [sym__old_style_function_definition] = STATE(380),
-    [sym_declaration] = STATE(44),
-    [sym_type_definition] = STATE(44),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1118),
-    [sym_linkage_specification] = STATE(44),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(690),
-    [sym_compound_statement] = STATE(44),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(790),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(367),
-    [sym__top_level_statement] = STATE(44),
-    [sym_labeled_statement] = STATE(44),
-    [sym__top_level_expression_statement] = STATE(44),
-    [sym_if_statement] = STATE(44),
-    [sym_switch_statement] = STATE(44),
-    [sym_case_statement] = STATE(44),
-    [sym_while_statement] = STATE(44),
-    [sym_do_statement] = STATE(44),
-    [sym_for_statement] = STATE(44),
-    [sym_return_statement] = STATE(44),
-    [sym_break_statement] = STATE(44),
-    [sym_continue_statement] = STATE(44),
-    [sym_goto_statement] = STATE(44),
-    [sym_expression] = STATE(1100),
-    [sym__string] = STATE(1103),
-    [sym_conditional_expression] = STATE(1103),
-    [sym_assignment_expression] = STATE(1103),
-    [sym_pointer_expression] = STATE(924),
-    [sym_unary_expression] = STATE(1103),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(1103),
-    [sym_cast_expression] = STATE(1103),
-    [sym_sizeof_expression] = STATE(1103),
-    [sym_alignof_expression] = STATE(1103),
-    [sym_offsetof_expression] = STATE(1103),
-    [sym_generic_expression] = STATE(1103),
-    [sym_subscript_expression] = STATE(924),
-    [sym_call_expression] = STATE(924),
-    [sym_gnu_asm_expression] = STATE(1103),
-    [sym_extension_expression] = STATE(1103),
-    [sym_field_expression] = STATE(924),
-    [sym_compound_literal_expression] = STATE(1103),
-    [sym_parenthesized_expression] = STATE(924),
-    [sym_char_literal] = STATE(1103),
-    [sym_concatenated_string] = STATE(1103),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(1103),
-    [sym__empty_declaration] = STATE(44),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_translation_unit_repeat1] = STATE(44),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(338),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [ts_builtin_sym_end] = ACTIONS(634),
-    [sym_identifier] = ACTIONS(7),
-    [aux_sym_preproc_include_token1] = ACTIONS(9),
-    [aux_sym_preproc_def_token1] = ACTIONS(11),
-    [aux_sym_preproc_if_token1] = ACTIONS(13),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(15),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(15),
-    [sym_preproc_directive] = ACTIONS(17),
+  [42] = {
+    [sym__block_item] = STATE(24),
+    [sym_preproc_include] = STATE(24),
+    [sym_preproc_def] = STATE(24),
+    [sym_preproc_function_def] = STATE(24),
+    [sym_preproc_call] = STATE(24),
+    [sym_preproc_if] = STATE(24),
+    [sym_preproc_ifdef] = STATE(24),
+    [sym_function_definition] = STATE(24),
+    [sym__old_style_function_definition] = STATE(271),
+    [sym_declaration] = STATE(24),
+    [sym_type_definition] = STATE(24),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1138),
+    [sym_linkage_specification] = STATE(24),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(694),
+    [sym_compound_statement] = STATE(250),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(812),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(272),
+    [sym_statement] = STATE(24),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym__empty_declaration] = STATE(24),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_repeat1] = STATE(24),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(358),
+    [aux_sym_preproc_include_token1] = ACTIONS(360),
+    [aux_sym_preproc_def_token1] = ACTIONS(362),
+    [aux_sym_preproc_if_token1] = ACTIONS(364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(366),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(366),
+    [sym_preproc_directive] = ACTIONS(368),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -19241,160 +19174,165 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(27),
-    [anon_sym_typedef] = ACTIONS(29),
-    [anon_sym_extern] = ACTIONS(31),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(59),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(63),
-    [anon_sym_default] = ACTIONS(65),
-    [anon_sym_while] = ACTIONS(67),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(71),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(93),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(99),
-    [sym_false] = ACTIONS(99),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(376),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_RBRACE] = ACTIONS(634),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [44] = {
-    [sym__top_level_item] = STATE(44),
-    [sym_preproc_include] = STATE(44),
-    [sym_preproc_def] = STATE(44),
-    [sym_preproc_function_def] = STATE(44),
-    [sym_preproc_call] = STATE(44),
-    [sym_preproc_if] = STATE(44),
-    [sym_preproc_ifdef] = STATE(44),
-    [sym_function_definition] = STATE(44),
-    [sym__old_style_function_definition] = STATE(380),
-    [sym_declaration] = STATE(44),
-    [sym_type_definition] = STATE(44),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1118),
-    [sym_linkage_specification] = STATE(44),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(690),
-    [sym_compound_statement] = STATE(44),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(790),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(367),
-    [sym__top_level_statement] = STATE(44),
-    [sym_labeled_statement] = STATE(44),
-    [sym__top_level_expression_statement] = STATE(44),
-    [sym_if_statement] = STATE(44),
-    [sym_switch_statement] = STATE(44),
-    [sym_case_statement] = STATE(44),
-    [sym_while_statement] = STATE(44),
-    [sym_do_statement] = STATE(44),
-    [sym_for_statement] = STATE(44),
-    [sym_return_statement] = STATE(44),
-    [sym_break_statement] = STATE(44),
-    [sym_continue_statement] = STATE(44),
-    [sym_goto_statement] = STATE(44),
-    [sym_expression] = STATE(1100),
-    [sym__string] = STATE(1103),
-    [sym_conditional_expression] = STATE(1103),
-    [sym_assignment_expression] = STATE(1103),
-    [sym_pointer_expression] = STATE(924),
-    [sym_unary_expression] = STATE(1103),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(1103),
-    [sym_cast_expression] = STATE(1103),
-    [sym_sizeof_expression] = STATE(1103),
-    [sym_alignof_expression] = STATE(1103),
-    [sym_offsetof_expression] = STATE(1103),
-    [sym_generic_expression] = STATE(1103),
-    [sym_subscript_expression] = STATE(924),
-    [sym_call_expression] = STATE(924),
-    [sym_gnu_asm_expression] = STATE(1103),
-    [sym_extension_expression] = STATE(1103),
-    [sym_field_expression] = STATE(924),
-    [sym_compound_literal_expression] = STATE(1103),
-    [sym_parenthesized_expression] = STATE(924),
-    [sym_char_literal] = STATE(1103),
-    [sym_concatenated_string] = STATE(1103),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(1103),
-    [sym__empty_declaration] = STATE(44),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_translation_unit_repeat1] = STATE(44),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(338),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
+  [43] = {
+    [sym__top_level_item] = STATE(43),
+    [sym_preproc_include] = STATE(43),
+    [sym_preproc_def] = STATE(43),
+    [sym_preproc_function_def] = STATE(43),
+    [sym_preproc_call] = STATE(43),
+    [sym_preproc_if] = STATE(43),
+    [sym_preproc_ifdef] = STATE(43),
+    [sym_function_definition] = STATE(43),
+    [sym__old_style_function_definition] = STATE(338),
+    [sym_declaration] = STATE(43),
+    [sym_type_definition] = STATE(43),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1136),
+    [sym_linkage_specification] = STATE(43),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(691),
+    [sym_compound_statement] = STATE(43),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(800),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(362),
+    [sym__top_level_statement] = STATE(43),
+    [sym_labeled_statement] = STATE(43),
+    [sym__top_level_expression_statement] = STATE(43),
+    [sym_if_statement] = STATE(43),
+    [sym_switch_statement] = STATE(43),
+    [sym_case_statement] = STATE(43),
+    [sym_while_statement] = STATE(43),
+    [sym_do_statement] = STATE(43),
+    [sym_for_statement] = STATE(43),
+    [sym_return_statement] = STATE(43),
+    [sym_break_statement] = STATE(43),
+    [sym_continue_statement] = STATE(43),
+    [sym_goto_statement] = STATE(43),
+    [sym_expression] = STATE(1116),
+    [sym__string] = STATE(1119),
+    [sym_conditional_expression] = STATE(1119),
+    [sym_assignment_expression] = STATE(1119),
+    [sym_pointer_expression] = STATE(935),
+    [sym_unary_expression] = STATE(1119),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(1119),
+    [sym_cast_expression] = STATE(1119),
+    [sym_sizeof_expression] = STATE(1119),
+    [sym_alignof_expression] = STATE(1119),
+    [sym_offsetof_expression] = STATE(1119),
+    [sym_generic_expression] = STATE(1119),
+    [sym_subscript_expression] = STATE(935),
+    [sym_call_expression] = STATE(935),
+    [sym_gnu_asm_expression] = STATE(1119),
+    [sym_extension_expression] = STATE(1119),
+    [sym_field_expression] = STATE(935),
+    [sym_compound_literal_expression] = STATE(1119),
+    [sym_parenthesized_expression] = STATE(935),
+    [sym_char_literal] = STATE(1119),
+    [sym_concatenated_string] = STATE(1119),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(1119),
+    [sym__empty_declaration] = STATE(43),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_translation_unit_repeat1] = STATE(43),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(375),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
     [ts_builtin_sym_end] = ACTIONS(636),
     [sym_identifier] = ACTIONS(638),
     [aux_sym_preproc_include_token1] = ACTIONS(641),
@@ -19410,105 +19348,278 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(662),
     [anon_sym_STAR] = ACTIONS(665),
     [anon_sym_AMP] = ACTIONS(665),
-    [anon_sym___extension__] = ACTIONS(668),
-    [anon_sym_typedef] = ACTIONS(671),
-    [anon_sym_extern] = ACTIONS(674),
-    [anon_sym___attribute__] = ACTIONS(677),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(680),
-    [anon_sym___declspec] = ACTIONS(683),
-    [anon_sym___cdecl] = ACTIONS(686),
-    [anon_sym___clrcall] = ACTIONS(686),
-    [anon_sym___stdcall] = ACTIONS(686),
-    [anon_sym___fastcall] = ACTIONS(686),
-    [anon_sym___thiscall] = ACTIONS(686),
-    [anon_sym___vectorcall] = ACTIONS(686),
-    [anon_sym_LBRACE] = ACTIONS(689),
-    [anon_sym_signed] = ACTIONS(692),
-    [anon_sym_unsigned] = ACTIONS(692),
-    [anon_sym_long] = ACTIONS(692),
-    [anon_sym_short] = ACTIONS(692),
-    [anon_sym_static] = ACTIONS(695),
-    [anon_sym_auto] = ACTIONS(695),
-    [anon_sym_register] = ACTIONS(695),
-    [anon_sym_inline] = ACTIONS(695),
-    [anon_sym___inline] = ACTIONS(695),
-    [anon_sym___inline__] = ACTIONS(695),
-    [anon_sym___forceinline] = ACTIONS(695),
-    [anon_sym_thread_local] = ACTIONS(695),
-    [anon_sym___thread] = ACTIONS(695),
-    [anon_sym_const] = ACTIONS(698),
-    [anon_sym_constexpr] = ACTIONS(698),
-    [anon_sym_volatile] = ACTIONS(698),
-    [anon_sym_restrict] = ACTIONS(698),
-    [anon_sym___restrict__] = ACTIONS(698),
-    [anon_sym__Atomic] = ACTIONS(698),
-    [anon_sym__Noreturn] = ACTIONS(698),
-    [anon_sym_noreturn] = ACTIONS(698),
-    [anon_sym__Nonnull] = ACTIONS(698),
-    [anon_sym_alignas] = ACTIONS(701),
-    [anon_sym__Alignas] = ACTIONS(701),
-    [sym_primitive_type] = ACTIONS(704),
-    [anon_sym_enum] = ACTIONS(707),
-    [anon_sym_struct] = ACTIONS(710),
-    [anon_sym_union] = ACTIONS(713),
-    [anon_sym_if] = ACTIONS(716),
-    [anon_sym_switch] = ACTIONS(719),
-    [anon_sym_case] = ACTIONS(722),
-    [anon_sym_default] = ACTIONS(725),
-    [anon_sym_while] = ACTIONS(728),
-    [anon_sym_do] = ACTIONS(731),
-    [anon_sym_for] = ACTIONS(734),
-    [anon_sym_return] = ACTIONS(737),
-    [anon_sym_break] = ACTIONS(740),
-    [anon_sym_continue] = ACTIONS(743),
-    [anon_sym_goto] = ACTIONS(746),
-    [anon_sym_DASH_DASH] = ACTIONS(749),
-    [anon_sym_PLUS_PLUS] = ACTIONS(749),
-    [anon_sym_sizeof] = ACTIONS(752),
-    [anon_sym___alignof__] = ACTIONS(755),
-    [anon_sym___alignof] = ACTIONS(755),
-    [anon_sym__alignof] = ACTIONS(755),
-    [anon_sym_alignof] = ACTIONS(755),
-    [anon_sym__Alignof] = ACTIONS(755),
-    [anon_sym_offsetof] = ACTIONS(758),
-    [anon_sym__Generic] = ACTIONS(761),
-    [anon_sym_asm] = ACTIONS(764),
-    [anon_sym___asm__] = ACTIONS(764),
-    [anon_sym___asm] = ACTIONS(764),
-    [sym_number_literal] = ACTIONS(767),
-    [anon_sym_L_SQUOTE] = ACTIONS(770),
-    [anon_sym_u_SQUOTE] = ACTIONS(770),
-    [anon_sym_U_SQUOTE] = ACTIONS(770),
-    [anon_sym_u8_SQUOTE] = ACTIONS(770),
-    [anon_sym_SQUOTE] = ACTIONS(770),
-    [anon_sym_L_DQUOTE] = ACTIONS(773),
-    [anon_sym_u_DQUOTE] = ACTIONS(773),
-    [anon_sym_U_DQUOTE] = ACTIONS(773),
-    [anon_sym_u8_DQUOTE] = ACTIONS(773),
-    [anon_sym_DQUOTE] = ACTIONS(773),
-    [sym_true] = ACTIONS(776),
-    [sym_false] = ACTIONS(776),
-    [anon_sym_NULL] = ACTIONS(779),
-    [anon_sym_nullptr] = ACTIONS(779),
+    [anon_sym_SEMI] = ACTIONS(668),
+    [anon_sym___extension__] = ACTIONS(671),
+    [anon_sym_typedef] = ACTIONS(674),
+    [anon_sym_extern] = ACTIONS(677),
+    [anon_sym___attribute__] = ACTIONS(680),
+    [anon_sym___attribute] = ACTIONS(680),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(683),
+    [anon_sym___declspec] = ACTIONS(686),
+    [anon_sym___cdecl] = ACTIONS(689),
+    [anon_sym___clrcall] = ACTIONS(689),
+    [anon_sym___stdcall] = ACTIONS(689),
+    [anon_sym___fastcall] = ACTIONS(689),
+    [anon_sym___thiscall] = ACTIONS(689),
+    [anon_sym___vectorcall] = ACTIONS(689),
+    [anon_sym_LBRACE] = ACTIONS(692),
+    [anon_sym_signed] = ACTIONS(695),
+    [anon_sym_unsigned] = ACTIONS(695),
+    [anon_sym_long] = ACTIONS(695),
+    [anon_sym_short] = ACTIONS(695),
+    [anon_sym_static] = ACTIONS(698),
+    [anon_sym_auto] = ACTIONS(698),
+    [anon_sym_register] = ACTIONS(698),
+    [anon_sym_inline] = ACTIONS(698),
+    [anon_sym___inline] = ACTIONS(698),
+    [anon_sym___inline__] = ACTIONS(698),
+    [anon_sym___forceinline] = ACTIONS(698),
+    [anon_sym_thread_local] = ACTIONS(698),
+    [anon_sym___thread] = ACTIONS(698),
+    [anon_sym_const] = ACTIONS(701),
+    [anon_sym_constexpr] = ACTIONS(701),
+    [anon_sym_volatile] = ACTIONS(701),
+    [anon_sym_restrict] = ACTIONS(701),
+    [anon_sym___restrict__] = ACTIONS(701),
+    [anon_sym__Atomic] = ACTIONS(701),
+    [anon_sym__Noreturn] = ACTIONS(701),
+    [anon_sym_noreturn] = ACTIONS(701),
+    [anon_sym__Nonnull] = ACTIONS(701),
+    [anon_sym_alignas] = ACTIONS(704),
+    [anon_sym__Alignas] = ACTIONS(704),
+    [sym_primitive_type] = ACTIONS(707),
+    [anon_sym_enum] = ACTIONS(710),
+    [anon_sym_struct] = ACTIONS(713),
+    [anon_sym_union] = ACTIONS(716),
+    [anon_sym_if] = ACTIONS(719),
+    [anon_sym_switch] = ACTIONS(722),
+    [anon_sym_case] = ACTIONS(725),
+    [anon_sym_default] = ACTIONS(728),
+    [anon_sym_while] = ACTIONS(731),
+    [anon_sym_do] = ACTIONS(734),
+    [anon_sym_for] = ACTIONS(737),
+    [anon_sym_return] = ACTIONS(740),
+    [anon_sym_break] = ACTIONS(743),
+    [anon_sym_continue] = ACTIONS(746),
+    [anon_sym_goto] = ACTIONS(749),
+    [anon_sym_DASH_DASH] = ACTIONS(752),
+    [anon_sym_PLUS_PLUS] = ACTIONS(752),
+    [anon_sym_sizeof] = ACTIONS(755),
+    [anon_sym___alignof__] = ACTIONS(758),
+    [anon_sym___alignof] = ACTIONS(758),
+    [anon_sym__alignof] = ACTIONS(758),
+    [anon_sym_alignof] = ACTIONS(758),
+    [anon_sym__Alignof] = ACTIONS(758),
+    [anon_sym_offsetof] = ACTIONS(761),
+    [anon_sym__Generic] = ACTIONS(764),
+    [anon_sym_asm] = ACTIONS(767),
+    [anon_sym___asm__] = ACTIONS(767),
+    [anon_sym___asm] = ACTIONS(767),
+    [sym_number_literal] = ACTIONS(770),
+    [anon_sym_L_SQUOTE] = ACTIONS(773),
+    [anon_sym_u_SQUOTE] = ACTIONS(773),
+    [anon_sym_U_SQUOTE] = ACTIONS(773),
+    [anon_sym_u8_SQUOTE] = ACTIONS(773),
+    [anon_sym_SQUOTE] = ACTIONS(773),
+    [anon_sym_L_DQUOTE] = ACTIONS(776),
+    [anon_sym_u_DQUOTE] = ACTIONS(776),
+    [anon_sym_U_DQUOTE] = ACTIONS(776),
+    [anon_sym_u8_DQUOTE] = ACTIONS(776),
+    [anon_sym_DQUOTE] = ACTIONS(776),
+    [sym_true] = ACTIONS(779),
+    [sym_false] = ACTIONS(779),
+    [anon_sym_NULL] = ACTIONS(782),
+    [anon_sym_nullptr] = ACTIONS(782),
+    [sym_comment] = ACTIONS(3),
+  },
+  [44] = {
+    [sym__top_level_item] = STATE(43),
+    [sym_preproc_include] = STATE(43),
+    [sym_preproc_def] = STATE(43),
+    [sym_preproc_function_def] = STATE(43),
+    [sym_preproc_call] = STATE(43),
+    [sym_preproc_if] = STATE(43),
+    [sym_preproc_ifdef] = STATE(43),
+    [sym_function_definition] = STATE(43),
+    [sym__old_style_function_definition] = STATE(338),
+    [sym_declaration] = STATE(43),
+    [sym_type_definition] = STATE(43),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1136),
+    [sym_linkage_specification] = STATE(43),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(691),
+    [sym_compound_statement] = STATE(43),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(800),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(362),
+    [sym__top_level_statement] = STATE(43),
+    [sym_labeled_statement] = STATE(43),
+    [sym__top_level_expression_statement] = STATE(43),
+    [sym_if_statement] = STATE(43),
+    [sym_switch_statement] = STATE(43),
+    [sym_case_statement] = STATE(43),
+    [sym_while_statement] = STATE(43),
+    [sym_do_statement] = STATE(43),
+    [sym_for_statement] = STATE(43),
+    [sym_return_statement] = STATE(43),
+    [sym_break_statement] = STATE(43),
+    [sym_continue_statement] = STATE(43),
+    [sym_goto_statement] = STATE(43),
+    [sym_expression] = STATE(1116),
+    [sym__string] = STATE(1119),
+    [sym_conditional_expression] = STATE(1119),
+    [sym_assignment_expression] = STATE(1119),
+    [sym_pointer_expression] = STATE(935),
+    [sym_unary_expression] = STATE(1119),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(1119),
+    [sym_cast_expression] = STATE(1119),
+    [sym_sizeof_expression] = STATE(1119),
+    [sym_alignof_expression] = STATE(1119),
+    [sym_offsetof_expression] = STATE(1119),
+    [sym_generic_expression] = STATE(1119),
+    [sym_subscript_expression] = STATE(935),
+    [sym_call_expression] = STATE(935),
+    [sym_gnu_asm_expression] = STATE(1119),
+    [sym_extension_expression] = STATE(1119),
+    [sym_field_expression] = STATE(935),
+    [sym_compound_literal_expression] = STATE(1119),
+    [sym_parenthesized_expression] = STATE(935),
+    [sym_char_literal] = STATE(1119),
+    [sym_concatenated_string] = STATE(1119),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(1119),
+    [sym__empty_declaration] = STATE(43),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_translation_unit_repeat1] = STATE(43),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(375),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [ts_builtin_sym_end] = ACTIONS(785),
+    [sym_identifier] = ACTIONS(7),
+    [aux_sym_preproc_include_token1] = ACTIONS(9),
+    [aux_sym_preproc_def_token1] = ACTIONS(11),
+    [aux_sym_preproc_if_token1] = ACTIONS(13),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(15),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(15),
+    [sym_preproc_directive] = ACTIONS(17),
+    [anon_sym_LPAREN2] = ACTIONS(19),
+    [anon_sym_BANG] = ACTIONS(21),
+    [anon_sym_TILDE] = ACTIONS(21),
+    [anon_sym_DASH] = ACTIONS(23),
+    [anon_sym_PLUS] = ACTIONS(23),
+    [anon_sym_STAR] = ACTIONS(25),
+    [anon_sym_AMP] = ACTIONS(25),
+    [anon_sym_SEMI] = ACTIONS(27),
+    [anon_sym___extension__] = ACTIONS(29),
+    [anon_sym_typedef] = ACTIONS(31),
+    [anon_sym_extern] = ACTIONS(33),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(61),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(65),
+    [anon_sym_default] = ACTIONS(67),
+    [anon_sym_while] = ACTIONS(69),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(73),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(95),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(101),
+    [sym_false] = ACTIONS(101),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [45] = {
     [sym_declaration] = STATE(47),
     [sym_type_definition] = STATE(47),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1143),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1149),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
     [sym_compound_statement] = STATE(47),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
     [sym_attributed_statement] = STATE(47),
     [sym_labeled_statement] = STATE(47),
     [sym_expression_statement] = STATE(47),
@@ -19523,48 +19634,48 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_goto_statement] = STATE(47),
     [sym_seh_try_statement] = STATE(47),
     [sym_seh_leave_statement] = STATE(47),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
     [aux_sym_case_statement_repeat1] = STATE(47),
-    [sym_identifier] = ACTIONS(782),
-    [aux_sym_preproc_include_token1] = ACTIONS(784),
-    [aux_sym_preproc_def_token1] = ACTIONS(784),
-    [aux_sym_preproc_if_token1] = ACTIONS(784),
-    [aux_sym_preproc_if_token2] = ACTIONS(784),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(784),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(784),
-    [aux_sym_preproc_else_token1] = ACTIONS(784),
-    [aux_sym_preproc_elif_token1] = ACTIONS(784),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(784),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(784),
-    [sym_preproc_directive] = ACTIONS(784),
+    [sym_identifier] = ACTIONS(787),
+    [aux_sym_preproc_include_token1] = ACTIONS(789),
+    [aux_sym_preproc_def_token1] = ACTIONS(789),
+    [aux_sym_preproc_if_token1] = ACTIONS(789),
+    [aux_sym_preproc_if_token2] = ACTIONS(789),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(789),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(789),
+    [aux_sym_preproc_else_token1] = ACTIONS(789),
+    [aux_sym_preproc_elif_token1] = ACTIONS(789),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(789),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(789),
+    [sym_preproc_directive] = ACTIONS(789),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -19572,275 +19683,110 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(784),
-    [anon_sym___clrcall] = ACTIONS(784),
-    [anon_sym___stdcall] = ACTIONS(784),
-    [anon_sym___fastcall] = ACTIONS(784),
-    [anon_sym___thiscall] = ACTIONS(784),
-    [anon_sym___vectorcall] = ACTIONS(784),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_else] = ACTIONS(784),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(784),
-    [anon_sym_default] = ACTIONS(784),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(789),
+    [anon_sym___clrcall] = ACTIONS(789),
+    [anon_sym___stdcall] = ACTIONS(789),
+    [anon_sym___fastcall] = ACTIONS(789),
+    [anon_sym___thiscall] = ACTIONS(789),
+    [anon_sym___vectorcall] = ACTIONS(789),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_else] = ACTIONS(789),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(789),
+    [anon_sym_default] = ACTIONS(789),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [46] = {
-    [sym_declaration] = STATE(49),
-    [sym_type_definition] = STATE(49),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1143),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(49),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(49),
-    [sym_labeled_statement] = STATE(49),
-    [sym_expression_statement] = STATE(49),
-    [sym_if_statement] = STATE(49),
-    [sym_switch_statement] = STATE(49),
-    [sym_while_statement] = STATE(49),
-    [sym_do_statement] = STATE(49),
-    [sym_for_statement] = STATE(49),
-    [sym_return_statement] = STATE(49),
-    [sym_break_statement] = STATE(49),
-    [sym_continue_statement] = STATE(49),
-    [sym_goto_statement] = STATE(49),
-    [sym_seh_try_statement] = STATE(49),
-    [sym_seh_leave_statement] = STATE(49),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [aux_sym_case_statement_repeat1] = STATE(49),
-    [sym_identifier] = ACTIONS(782),
-    [aux_sym_preproc_include_token1] = ACTIONS(786),
-    [aux_sym_preproc_def_token1] = ACTIONS(786),
-    [aux_sym_preproc_if_token1] = ACTIONS(786),
-    [aux_sym_preproc_if_token2] = ACTIONS(786),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(786),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(786),
-    [aux_sym_preproc_else_token1] = ACTIONS(786),
-    [aux_sym_preproc_elif_token1] = ACTIONS(786),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(786),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(786),
-    [sym_preproc_directive] = ACTIONS(786),
-    [anon_sym_LPAREN2] = ACTIONS(19),
-    [anon_sym_BANG] = ACTIONS(21),
-    [anon_sym_TILDE] = ACTIONS(21),
-    [anon_sym_DASH] = ACTIONS(23),
-    [anon_sym_PLUS] = ACTIONS(23),
-    [anon_sym_STAR] = ACTIONS(25),
-    [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(786),
-    [anon_sym___clrcall] = ACTIONS(786),
-    [anon_sym___stdcall] = ACTIONS(786),
-    [anon_sym___fastcall] = ACTIONS(786),
-    [anon_sym___thiscall] = ACTIONS(786),
-    [anon_sym___vectorcall] = ACTIONS(786),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_else] = ACTIONS(786),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(786),
-    [anon_sym_default] = ACTIONS(786),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
-    [sym_comment] = ACTIONS(3),
-  },
-  [47] = {
     [sym_declaration] = STATE(48),
     [sym_type_definition] = STATE(48),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1143),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1149),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
     [sym_compound_statement] = STATE(48),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
     [sym_attributed_statement] = STATE(48),
     [sym_labeled_statement] = STATE(48),
     [sym_expression_statement] = STATE(48),
@@ -19855,48 +19801,48 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_goto_statement] = STATE(48),
     [sym_seh_try_statement] = STATE(48),
     [sym_seh_leave_statement] = STATE(48),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
     [aux_sym_case_statement_repeat1] = STATE(48),
-    [sym_identifier] = ACTIONS(782),
-    [aux_sym_preproc_include_token1] = ACTIONS(788),
-    [aux_sym_preproc_def_token1] = ACTIONS(788),
-    [aux_sym_preproc_if_token1] = ACTIONS(788),
-    [aux_sym_preproc_if_token2] = ACTIONS(788),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(788),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(788),
-    [aux_sym_preproc_else_token1] = ACTIONS(788),
-    [aux_sym_preproc_elif_token1] = ACTIONS(788),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(788),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(788),
-    [sym_preproc_directive] = ACTIONS(788),
+    [sym_identifier] = ACTIONS(787),
+    [aux_sym_preproc_include_token1] = ACTIONS(791),
+    [aux_sym_preproc_def_token1] = ACTIONS(791),
+    [aux_sym_preproc_if_token1] = ACTIONS(791),
+    [aux_sym_preproc_if_token2] = ACTIONS(791),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(791),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(791),
+    [aux_sym_preproc_else_token1] = ACTIONS(791),
+    [aux_sym_preproc_elif_token1] = ACTIONS(791),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(791),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(791),
+    [sym_preproc_directive] = ACTIONS(791),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -19904,154 +19850,155 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(788),
-    [anon_sym___clrcall] = ACTIONS(788),
-    [anon_sym___stdcall] = ACTIONS(788),
-    [anon_sym___fastcall] = ACTIONS(788),
-    [anon_sym___thiscall] = ACTIONS(788),
-    [anon_sym___vectorcall] = ACTIONS(788),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_else] = ACTIONS(788),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(788),
-    [anon_sym_default] = ACTIONS(788),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(791),
+    [anon_sym___clrcall] = ACTIONS(791),
+    [anon_sym___stdcall] = ACTIONS(791),
+    [anon_sym___fastcall] = ACTIONS(791),
+    [anon_sym___thiscall] = ACTIONS(791),
+    [anon_sym___vectorcall] = ACTIONS(791),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_else] = ACTIONS(791),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(791),
+    [anon_sym_default] = ACTIONS(791),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [48] = {
-    [sym_declaration] = STATE(48),
-    [sym_type_definition] = STATE(48),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1143),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(48),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(48),
-    [sym_labeled_statement] = STATE(48),
-    [sym_expression_statement] = STATE(48),
-    [sym_if_statement] = STATE(48),
-    [sym_switch_statement] = STATE(48),
-    [sym_while_statement] = STATE(48),
-    [sym_do_statement] = STATE(48),
-    [sym_for_statement] = STATE(48),
-    [sym_return_statement] = STATE(48),
-    [sym_break_statement] = STATE(48),
-    [sym_continue_statement] = STATE(48),
-    [sym_goto_statement] = STATE(48),
-    [sym_seh_try_statement] = STATE(48),
-    [sym_seh_leave_statement] = STATE(48),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [aux_sym_case_statement_repeat1] = STATE(48),
-    [sym_identifier] = ACTIONS(790),
+  [47] = {
+    [sym_declaration] = STATE(49),
+    [sym_type_definition] = STATE(49),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1149),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(49),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(49),
+    [sym_labeled_statement] = STATE(49),
+    [sym_expression_statement] = STATE(49),
+    [sym_if_statement] = STATE(49),
+    [sym_switch_statement] = STATE(49),
+    [sym_while_statement] = STATE(49),
+    [sym_do_statement] = STATE(49),
+    [sym_for_statement] = STATE(49),
+    [sym_return_statement] = STATE(49),
+    [sym_break_statement] = STATE(49),
+    [sym_continue_statement] = STATE(49),
+    [sym_goto_statement] = STATE(49),
+    [sym_seh_try_statement] = STATE(49),
+    [sym_seh_leave_statement] = STATE(49),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [aux_sym_case_statement_repeat1] = STATE(49),
+    [sym_identifier] = ACTIONS(787),
     [aux_sym_preproc_include_token1] = ACTIONS(793),
     [aux_sym_preproc_def_token1] = ACTIONS(793),
     [aux_sym_preproc_if_token1] = ACTIONS(793),
@@ -20063,172 +20010,173 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [aux_sym_preproc_elifdef_token1] = ACTIONS(793),
     [aux_sym_preproc_elifdef_token2] = ACTIONS(793),
     [sym_preproc_directive] = ACTIONS(793),
-    [anon_sym_LPAREN2] = ACTIONS(795),
-    [anon_sym_BANG] = ACTIONS(798),
-    [anon_sym_TILDE] = ACTIONS(798),
-    [anon_sym_DASH] = ACTIONS(801),
-    [anon_sym_PLUS] = ACTIONS(801),
-    [anon_sym_STAR] = ACTIONS(804),
-    [anon_sym_AMP] = ACTIONS(804),
-    [anon_sym_SEMI] = ACTIONS(807),
-    [anon_sym___extension__] = ACTIONS(810),
-    [anon_sym_typedef] = ACTIONS(813),
-    [anon_sym_extern] = ACTIONS(816),
-    [anon_sym___attribute__] = ACTIONS(819),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(822),
-    [anon_sym___declspec] = ACTIONS(825),
+    [anon_sym_LPAREN2] = ACTIONS(19),
+    [anon_sym_BANG] = ACTIONS(21),
+    [anon_sym_TILDE] = ACTIONS(21),
+    [anon_sym_DASH] = ACTIONS(23),
+    [anon_sym_PLUS] = ACTIONS(23),
+    [anon_sym_STAR] = ACTIONS(25),
+    [anon_sym_AMP] = ACTIONS(25),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
     [anon_sym___cdecl] = ACTIONS(793),
     [anon_sym___clrcall] = ACTIONS(793),
     [anon_sym___stdcall] = ACTIONS(793),
     [anon_sym___fastcall] = ACTIONS(793),
     [anon_sym___thiscall] = ACTIONS(793),
     [anon_sym___vectorcall] = ACTIONS(793),
-    [anon_sym_LBRACE] = ACTIONS(828),
-    [anon_sym_signed] = ACTIONS(831),
-    [anon_sym_unsigned] = ACTIONS(831),
-    [anon_sym_long] = ACTIONS(831),
-    [anon_sym_short] = ACTIONS(831),
-    [anon_sym_static] = ACTIONS(816),
-    [anon_sym_auto] = ACTIONS(816),
-    [anon_sym_register] = ACTIONS(816),
-    [anon_sym_inline] = ACTIONS(816),
-    [anon_sym___inline] = ACTIONS(816),
-    [anon_sym___inline__] = ACTIONS(816),
-    [anon_sym___forceinline] = ACTIONS(816),
-    [anon_sym_thread_local] = ACTIONS(816),
-    [anon_sym___thread] = ACTIONS(816),
-    [anon_sym_const] = ACTIONS(834),
-    [anon_sym_constexpr] = ACTIONS(834),
-    [anon_sym_volatile] = ACTIONS(834),
-    [anon_sym_restrict] = ACTIONS(834),
-    [anon_sym___restrict__] = ACTIONS(834),
-    [anon_sym__Atomic] = ACTIONS(834),
-    [anon_sym__Noreturn] = ACTIONS(834),
-    [anon_sym_noreturn] = ACTIONS(834),
-    [anon_sym__Nonnull] = ACTIONS(834),
-    [anon_sym_alignas] = ACTIONS(837),
-    [anon_sym__Alignas] = ACTIONS(837),
-    [sym_primitive_type] = ACTIONS(840),
-    [anon_sym_enum] = ACTIONS(843),
-    [anon_sym_struct] = ACTIONS(846),
-    [anon_sym_union] = ACTIONS(849),
-    [anon_sym_if] = ACTIONS(852),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
     [anon_sym_else] = ACTIONS(793),
-    [anon_sym_switch] = ACTIONS(855),
+    [anon_sym_switch] = ACTIONS(137),
     [anon_sym_case] = ACTIONS(793),
     [anon_sym_default] = ACTIONS(793),
-    [anon_sym_while] = ACTIONS(858),
-    [anon_sym_do] = ACTIONS(861),
-    [anon_sym_for] = ACTIONS(864),
-    [anon_sym_return] = ACTIONS(867),
-    [anon_sym_break] = ACTIONS(870),
-    [anon_sym_continue] = ACTIONS(873),
-    [anon_sym_goto] = ACTIONS(876),
-    [anon_sym___try] = ACTIONS(879),
-    [anon_sym___leave] = ACTIONS(882),
-    [anon_sym_DASH_DASH] = ACTIONS(885),
-    [anon_sym_PLUS_PLUS] = ACTIONS(885),
-    [anon_sym_sizeof] = ACTIONS(888),
-    [anon_sym___alignof__] = ACTIONS(891),
-    [anon_sym___alignof] = ACTIONS(891),
-    [anon_sym__alignof] = ACTIONS(891),
-    [anon_sym_alignof] = ACTIONS(891),
-    [anon_sym__Alignof] = ACTIONS(891),
-    [anon_sym_offsetof] = ACTIONS(894),
-    [anon_sym__Generic] = ACTIONS(897),
-    [anon_sym_asm] = ACTIONS(900),
-    [anon_sym___asm__] = ACTIONS(900),
-    [anon_sym___asm] = ACTIONS(900),
-    [sym_number_literal] = ACTIONS(903),
-    [anon_sym_L_SQUOTE] = ACTIONS(906),
-    [anon_sym_u_SQUOTE] = ACTIONS(906),
-    [anon_sym_U_SQUOTE] = ACTIONS(906),
-    [anon_sym_u8_SQUOTE] = ACTIONS(906),
-    [anon_sym_SQUOTE] = ACTIONS(906),
-    [anon_sym_L_DQUOTE] = ACTIONS(909),
-    [anon_sym_u_DQUOTE] = ACTIONS(909),
-    [anon_sym_U_DQUOTE] = ACTIONS(909),
-    [anon_sym_u8_DQUOTE] = ACTIONS(909),
-    [anon_sym_DQUOTE] = ACTIONS(909),
-    [sym_true] = ACTIONS(912),
-    [sym_false] = ACTIONS(912),
-    [anon_sym_NULL] = ACTIONS(915),
-    [anon_sym_nullptr] = ACTIONS(915),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [49] = {
-    [sym_declaration] = STATE(48),
-    [sym_type_definition] = STATE(48),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1143),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(48),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(48),
-    [sym_labeled_statement] = STATE(48),
-    [sym_expression_statement] = STATE(48),
-    [sym_if_statement] = STATE(48),
-    [sym_switch_statement] = STATE(48),
-    [sym_while_statement] = STATE(48),
-    [sym_do_statement] = STATE(48),
-    [sym_for_statement] = STATE(48),
-    [sym_return_statement] = STATE(48),
-    [sym_break_statement] = STATE(48),
-    [sym_continue_statement] = STATE(48),
-    [sym_goto_statement] = STATE(48),
-    [sym_seh_try_statement] = STATE(48),
-    [sym_seh_leave_statement] = STATE(48),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [aux_sym_case_statement_repeat1] = STATE(48),
-    [sym_identifier] = ACTIONS(782),
-    [aux_sym_preproc_include_token1] = ACTIONS(918),
-    [aux_sym_preproc_def_token1] = ACTIONS(918),
-    [aux_sym_preproc_if_token1] = ACTIONS(918),
-    [aux_sym_preproc_if_token2] = ACTIONS(918),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(918),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(918),
-    [aux_sym_preproc_else_token1] = ACTIONS(918),
-    [aux_sym_preproc_elif_token1] = ACTIONS(918),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(918),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(918),
-    [sym_preproc_directive] = ACTIONS(918),
+  [48] = {
+    [sym_declaration] = STATE(49),
+    [sym_type_definition] = STATE(49),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1149),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(49),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(49),
+    [sym_labeled_statement] = STATE(49),
+    [sym_expression_statement] = STATE(49),
+    [sym_if_statement] = STATE(49),
+    [sym_switch_statement] = STATE(49),
+    [sym_while_statement] = STATE(49),
+    [sym_do_statement] = STATE(49),
+    [sym_for_statement] = STATE(49),
+    [sym_return_statement] = STATE(49),
+    [sym_break_statement] = STATE(49),
+    [sym_continue_statement] = STATE(49),
+    [sym_goto_statement] = STATE(49),
+    [sym_seh_try_statement] = STATE(49),
+    [sym_seh_leave_statement] = STATE(49),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [aux_sym_case_statement_repeat1] = STATE(49),
+    [sym_identifier] = ACTIONS(787),
+    [aux_sym_preproc_include_token1] = ACTIONS(795),
+    [aux_sym_preproc_def_token1] = ACTIONS(795),
+    [aux_sym_preproc_if_token1] = ACTIONS(795),
+    [aux_sym_preproc_if_token2] = ACTIONS(795),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(795),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(795),
+    [aux_sym_preproc_else_token1] = ACTIONS(795),
+    [aux_sym_preproc_elif_token1] = ACTIONS(795),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(795),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(795),
+    [sym_preproc_directive] = ACTIONS(795),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -20236,109 +20184,440 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(125),
-    [anon_sym_typedef] = ACTIONS(127),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(918),
-    [anon_sym___clrcall] = ACTIONS(918),
-    [anon_sym___stdcall] = ACTIONS(918),
-    [anon_sym___fastcall] = ACTIONS(918),
-    [anon_sym___thiscall] = ACTIONS(918),
-    [anon_sym___vectorcall] = ACTIONS(918),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_else] = ACTIONS(918),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(918),
-    [anon_sym_default] = ACTIONS(918),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(127),
+    [anon_sym_typedef] = ACTIONS(129),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(795),
+    [anon_sym___clrcall] = ACTIONS(795),
+    [anon_sym___stdcall] = ACTIONS(795),
+    [anon_sym___fastcall] = ACTIONS(795),
+    [anon_sym___thiscall] = ACTIONS(795),
+    [anon_sym___vectorcall] = ACTIONS(795),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_else] = ACTIONS(795),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(795),
+    [anon_sym_default] = ACTIONS(795),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
+    [sym_comment] = ACTIONS(3),
+  },
+  [49] = {
+    [sym_declaration] = STATE(49),
+    [sym_type_definition] = STATE(49),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1149),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(49),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(49),
+    [sym_labeled_statement] = STATE(49),
+    [sym_expression_statement] = STATE(49),
+    [sym_if_statement] = STATE(49),
+    [sym_switch_statement] = STATE(49),
+    [sym_while_statement] = STATE(49),
+    [sym_do_statement] = STATE(49),
+    [sym_for_statement] = STATE(49),
+    [sym_return_statement] = STATE(49),
+    [sym_break_statement] = STATE(49),
+    [sym_continue_statement] = STATE(49),
+    [sym_goto_statement] = STATE(49),
+    [sym_seh_try_statement] = STATE(49),
+    [sym_seh_leave_statement] = STATE(49),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [aux_sym_case_statement_repeat1] = STATE(49),
+    [sym_identifier] = ACTIONS(797),
+    [aux_sym_preproc_include_token1] = ACTIONS(800),
+    [aux_sym_preproc_def_token1] = ACTIONS(800),
+    [aux_sym_preproc_if_token1] = ACTIONS(800),
+    [aux_sym_preproc_if_token2] = ACTIONS(800),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(800),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(800),
+    [aux_sym_preproc_else_token1] = ACTIONS(800),
+    [aux_sym_preproc_elif_token1] = ACTIONS(800),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(800),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(800),
+    [sym_preproc_directive] = ACTIONS(800),
+    [anon_sym_LPAREN2] = ACTIONS(802),
+    [anon_sym_BANG] = ACTIONS(805),
+    [anon_sym_TILDE] = ACTIONS(805),
+    [anon_sym_DASH] = ACTIONS(808),
+    [anon_sym_PLUS] = ACTIONS(808),
+    [anon_sym_STAR] = ACTIONS(811),
+    [anon_sym_AMP] = ACTIONS(811),
+    [anon_sym_SEMI] = ACTIONS(814),
+    [anon_sym___extension__] = ACTIONS(817),
+    [anon_sym_typedef] = ACTIONS(820),
+    [anon_sym_extern] = ACTIONS(823),
+    [anon_sym___attribute__] = ACTIONS(826),
+    [anon_sym___attribute] = ACTIONS(826),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(829),
+    [anon_sym___declspec] = ACTIONS(832),
+    [anon_sym___cdecl] = ACTIONS(800),
+    [anon_sym___clrcall] = ACTIONS(800),
+    [anon_sym___stdcall] = ACTIONS(800),
+    [anon_sym___fastcall] = ACTIONS(800),
+    [anon_sym___thiscall] = ACTIONS(800),
+    [anon_sym___vectorcall] = ACTIONS(800),
+    [anon_sym_LBRACE] = ACTIONS(835),
+    [anon_sym_signed] = ACTIONS(838),
+    [anon_sym_unsigned] = ACTIONS(838),
+    [anon_sym_long] = ACTIONS(838),
+    [anon_sym_short] = ACTIONS(838),
+    [anon_sym_static] = ACTIONS(823),
+    [anon_sym_auto] = ACTIONS(823),
+    [anon_sym_register] = ACTIONS(823),
+    [anon_sym_inline] = ACTIONS(823),
+    [anon_sym___inline] = ACTIONS(823),
+    [anon_sym___inline__] = ACTIONS(823),
+    [anon_sym___forceinline] = ACTIONS(823),
+    [anon_sym_thread_local] = ACTIONS(823),
+    [anon_sym___thread] = ACTIONS(823),
+    [anon_sym_const] = ACTIONS(841),
+    [anon_sym_constexpr] = ACTIONS(841),
+    [anon_sym_volatile] = ACTIONS(841),
+    [anon_sym_restrict] = ACTIONS(841),
+    [anon_sym___restrict__] = ACTIONS(841),
+    [anon_sym__Atomic] = ACTIONS(841),
+    [anon_sym__Noreturn] = ACTIONS(841),
+    [anon_sym_noreturn] = ACTIONS(841),
+    [anon_sym__Nonnull] = ACTIONS(841),
+    [anon_sym_alignas] = ACTIONS(844),
+    [anon_sym__Alignas] = ACTIONS(844),
+    [sym_primitive_type] = ACTIONS(847),
+    [anon_sym_enum] = ACTIONS(850),
+    [anon_sym_struct] = ACTIONS(853),
+    [anon_sym_union] = ACTIONS(856),
+    [anon_sym_if] = ACTIONS(859),
+    [anon_sym_else] = ACTIONS(800),
+    [anon_sym_switch] = ACTIONS(862),
+    [anon_sym_case] = ACTIONS(800),
+    [anon_sym_default] = ACTIONS(800),
+    [anon_sym_while] = ACTIONS(865),
+    [anon_sym_do] = ACTIONS(868),
+    [anon_sym_for] = ACTIONS(871),
+    [anon_sym_return] = ACTIONS(874),
+    [anon_sym_break] = ACTIONS(877),
+    [anon_sym_continue] = ACTIONS(880),
+    [anon_sym_goto] = ACTIONS(883),
+    [anon_sym___try] = ACTIONS(886),
+    [anon_sym___leave] = ACTIONS(889),
+    [anon_sym_DASH_DASH] = ACTIONS(892),
+    [anon_sym_PLUS_PLUS] = ACTIONS(892),
+    [anon_sym_sizeof] = ACTIONS(895),
+    [anon_sym___alignof__] = ACTIONS(898),
+    [anon_sym___alignof] = ACTIONS(898),
+    [anon_sym__alignof] = ACTIONS(898),
+    [anon_sym_alignof] = ACTIONS(898),
+    [anon_sym__Alignof] = ACTIONS(898),
+    [anon_sym_offsetof] = ACTIONS(901),
+    [anon_sym__Generic] = ACTIONS(904),
+    [anon_sym_asm] = ACTIONS(907),
+    [anon_sym___asm__] = ACTIONS(907),
+    [anon_sym___asm] = ACTIONS(907),
+    [sym_number_literal] = ACTIONS(910),
+    [anon_sym_L_SQUOTE] = ACTIONS(913),
+    [anon_sym_u_SQUOTE] = ACTIONS(913),
+    [anon_sym_U_SQUOTE] = ACTIONS(913),
+    [anon_sym_u8_SQUOTE] = ACTIONS(913),
+    [anon_sym_SQUOTE] = ACTIONS(913),
+    [anon_sym_L_DQUOTE] = ACTIONS(916),
+    [anon_sym_u_DQUOTE] = ACTIONS(916),
+    [anon_sym_U_DQUOTE] = ACTIONS(916),
+    [anon_sym_u8_DQUOTE] = ACTIONS(916),
+    [anon_sym_DQUOTE] = ACTIONS(916),
+    [sym_true] = ACTIONS(919),
+    [sym_false] = ACTIONS(919),
+    [anon_sym_NULL] = ACTIONS(922),
+    [anon_sym_nullptr] = ACTIONS(922),
     [sym_comment] = ACTIONS(3),
   },
   [50] = {
+    [sym_declaration] = STATE(64),
+    [sym_type_definition] = STATE(64),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1154),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(64),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(64),
+    [sym_labeled_statement] = STATE(64),
+    [sym_expression_statement] = STATE(64),
+    [sym_if_statement] = STATE(64),
+    [sym_switch_statement] = STATE(64),
+    [sym_while_statement] = STATE(64),
+    [sym_do_statement] = STATE(64),
+    [sym_for_statement] = STATE(64),
+    [sym_return_statement] = STATE(64),
+    [sym_break_statement] = STATE(64),
+    [sym_continue_statement] = STATE(64),
+    [sym_goto_statement] = STATE(64),
+    [sym_seh_try_statement] = STATE(64),
+    [sym_seh_leave_statement] = STATE(64),
+    [sym_expression] = STATE(1074),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1913),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(375),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [aux_sym_case_statement_repeat1] = STATE(64),
+    [ts_builtin_sym_end] = ACTIONS(925),
+    [sym_identifier] = ACTIONS(927),
+    [aux_sym_preproc_include_token1] = ACTIONS(795),
+    [aux_sym_preproc_def_token1] = ACTIONS(795),
+    [aux_sym_preproc_if_token1] = ACTIONS(795),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(795),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(795),
+    [sym_preproc_directive] = ACTIONS(795),
+    [anon_sym_LPAREN2] = ACTIONS(19),
+    [anon_sym_BANG] = ACTIONS(21),
+    [anon_sym_TILDE] = ACTIONS(21),
+    [anon_sym_DASH] = ACTIONS(23),
+    [anon_sym_PLUS] = ACTIONS(23),
+    [anon_sym_STAR] = ACTIONS(25),
+    [anon_sym_AMP] = ACTIONS(25),
+    [anon_sym_SEMI] = ACTIONS(929),
+    [anon_sym___extension__] = ACTIONS(29),
+    [anon_sym_typedef] = ACTIONS(31),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(795),
+    [anon_sym___clrcall] = ACTIONS(795),
+    [anon_sym___stdcall] = ACTIONS(795),
+    [anon_sym___fastcall] = ACTIONS(795),
+    [anon_sym___thiscall] = ACTIONS(795),
+    [anon_sym___vectorcall] = ACTIONS(795),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(61),
+    [anon_sym_else] = ACTIONS(795),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(795),
+    [anon_sym_default] = ACTIONS(795),
+    [anon_sym_while] = ACTIONS(69),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(73),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(931),
+    [anon_sym___leave] = ACTIONS(933),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
+    [sym_comment] = ACTIONS(3),
+  },
+  [51] = {
     [sym_declaration] = STATE(50),
     [sym_type_definition] = STATE(50),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1139),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1154),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
     [sym_compound_statement] = STATE(50),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
     [sym_attributed_statement] = STATE(50),
     [sym_labeled_statement] = STATE(50),
     [sym_expression_statement] = STATE(50),
@@ -20353,154 +20632,481 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_goto_statement] = STATE(50),
     [sym_seh_try_statement] = STATE(50),
     [sym_seh_leave_statement] = STATE(50),
-    [sym_expression] = STATE(1042),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1791),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(338),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
+    [sym_expression] = STATE(1074),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1913),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(375),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
     [aux_sym_case_statement_repeat1] = STATE(50),
-    [ts_builtin_sym_end] = ACTIONS(920),
-    [sym_identifier] = ACTIONS(922),
+    [ts_builtin_sym_end] = ACTIONS(935),
+    [sym_identifier] = ACTIONS(927),
+    [aux_sym_preproc_include_token1] = ACTIONS(791),
+    [aux_sym_preproc_def_token1] = ACTIONS(791),
+    [aux_sym_preproc_if_token1] = ACTIONS(791),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(791),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(791),
+    [sym_preproc_directive] = ACTIONS(791),
+    [anon_sym_LPAREN2] = ACTIONS(19),
+    [anon_sym_BANG] = ACTIONS(21),
+    [anon_sym_TILDE] = ACTIONS(21),
+    [anon_sym_DASH] = ACTIONS(23),
+    [anon_sym_PLUS] = ACTIONS(23),
+    [anon_sym_STAR] = ACTIONS(25),
+    [anon_sym_AMP] = ACTIONS(25),
+    [anon_sym_SEMI] = ACTIONS(929),
+    [anon_sym___extension__] = ACTIONS(29),
+    [anon_sym_typedef] = ACTIONS(31),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(791),
+    [anon_sym___clrcall] = ACTIONS(791),
+    [anon_sym___stdcall] = ACTIONS(791),
+    [anon_sym___fastcall] = ACTIONS(791),
+    [anon_sym___thiscall] = ACTIONS(791),
+    [anon_sym___vectorcall] = ACTIONS(791),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(61),
+    [anon_sym_else] = ACTIONS(791),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(791),
+    [anon_sym_default] = ACTIONS(791),
+    [anon_sym_while] = ACTIONS(69),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(73),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(931),
+    [anon_sym___leave] = ACTIONS(933),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
+    [sym_comment] = ACTIONS(3),
+  },
+  [52] = {
+    [sym_declaration] = STATE(55),
+    [sym_type_definition] = STATE(55),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1158),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(55),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(55),
+    [sym_labeled_statement] = STATE(55),
+    [sym_expression_statement] = STATE(55),
+    [sym_if_statement] = STATE(55),
+    [sym_switch_statement] = STATE(55),
+    [sym_while_statement] = STATE(55),
+    [sym_do_statement] = STATE(55),
+    [sym_for_statement] = STATE(55),
+    [sym_return_statement] = STATE(55),
+    [sym_break_statement] = STATE(55),
+    [sym_continue_statement] = STATE(55),
+    [sym_goto_statement] = STATE(55),
+    [sym_seh_try_statement] = STATE(55),
+    [sym_seh_leave_statement] = STATE(55),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [aux_sym_case_statement_repeat1] = STATE(55),
+    [sym_identifier] = ACTIONS(937),
+    [aux_sym_preproc_include_token1] = ACTIONS(791),
+    [aux_sym_preproc_def_token1] = ACTIONS(791),
+    [aux_sym_preproc_if_token1] = ACTIONS(791),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(791),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(791),
+    [sym_preproc_directive] = ACTIONS(791),
+    [anon_sym_LPAREN2] = ACTIONS(19),
+    [anon_sym_BANG] = ACTIONS(21),
+    [anon_sym_TILDE] = ACTIONS(21),
+    [anon_sym_DASH] = ACTIONS(23),
+    [anon_sym_PLUS] = ACTIONS(23),
+    [anon_sym_STAR] = ACTIONS(25),
+    [anon_sym_AMP] = ACTIONS(25),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(791),
+    [anon_sym___clrcall] = ACTIONS(791),
+    [anon_sym___stdcall] = ACTIONS(791),
+    [anon_sym___fastcall] = ACTIONS(791),
+    [anon_sym___thiscall] = ACTIONS(791),
+    [anon_sym___vectorcall] = ACTIONS(791),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_RBRACE] = ACTIONS(935),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_else] = ACTIONS(791),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(791),
+    [anon_sym_default] = ACTIONS(791),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
+    [sym_comment] = ACTIONS(3),
+  },
+  [53] = {
+    [sym_declaration] = STATE(56),
+    [sym_type_definition] = STATE(56),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1158),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(56),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(56),
+    [sym_labeled_statement] = STATE(56),
+    [sym_expression_statement] = STATE(56),
+    [sym_if_statement] = STATE(56),
+    [sym_switch_statement] = STATE(56),
+    [sym_while_statement] = STATE(56),
+    [sym_do_statement] = STATE(56),
+    [sym_for_statement] = STATE(56),
+    [sym_return_statement] = STATE(56),
+    [sym_break_statement] = STATE(56),
+    [sym_continue_statement] = STATE(56),
+    [sym_goto_statement] = STATE(56),
+    [sym_seh_try_statement] = STATE(56),
+    [sym_seh_leave_statement] = STATE(56),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [aux_sym_case_statement_repeat1] = STATE(56),
+    [sym_identifier] = ACTIONS(937),
     [aux_sym_preproc_include_token1] = ACTIONS(793),
     [aux_sym_preproc_def_token1] = ACTIONS(793),
     [aux_sym_preproc_if_token1] = ACTIONS(793),
     [aux_sym_preproc_ifdef_token1] = ACTIONS(793),
     [aux_sym_preproc_ifdef_token2] = ACTIONS(793),
     [sym_preproc_directive] = ACTIONS(793),
-    [anon_sym_LPAREN2] = ACTIONS(795),
-    [anon_sym_BANG] = ACTIONS(798),
-    [anon_sym_TILDE] = ACTIONS(798),
-    [anon_sym_DASH] = ACTIONS(801),
-    [anon_sym_PLUS] = ACTIONS(801),
-    [anon_sym_STAR] = ACTIONS(804),
-    [anon_sym_AMP] = ACTIONS(804),
-    [anon_sym_SEMI] = ACTIONS(925),
-    [anon_sym___extension__] = ACTIONS(928),
-    [anon_sym_typedef] = ACTIONS(931),
-    [anon_sym_extern] = ACTIONS(816),
-    [anon_sym___attribute__] = ACTIONS(819),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(822),
-    [anon_sym___declspec] = ACTIONS(825),
+    [anon_sym_LPAREN2] = ACTIONS(19),
+    [anon_sym_BANG] = ACTIONS(21),
+    [anon_sym_TILDE] = ACTIONS(21),
+    [anon_sym_DASH] = ACTIONS(23),
+    [anon_sym_PLUS] = ACTIONS(23),
+    [anon_sym_STAR] = ACTIONS(25),
+    [anon_sym_AMP] = ACTIONS(25),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
     [anon_sym___cdecl] = ACTIONS(793),
     [anon_sym___clrcall] = ACTIONS(793),
     [anon_sym___stdcall] = ACTIONS(793),
     [anon_sym___fastcall] = ACTIONS(793),
     [anon_sym___thiscall] = ACTIONS(793),
     [anon_sym___vectorcall] = ACTIONS(793),
-    [anon_sym_LBRACE] = ACTIONS(934),
-    [anon_sym_signed] = ACTIONS(831),
-    [anon_sym_unsigned] = ACTIONS(831),
-    [anon_sym_long] = ACTIONS(831),
-    [anon_sym_short] = ACTIONS(831),
-    [anon_sym_static] = ACTIONS(816),
-    [anon_sym_auto] = ACTIONS(816),
-    [anon_sym_register] = ACTIONS(816),
-    [anon_sym_inline] = ACTIONS(816),
-    [anon_sym___inline] = ACTIONS(816),
-    [anon_sym___inline__] = ACTIONS(816),
-    [anon_sym___forceinline] = ACTIONS(816),
-    [anon_sym_thread_local] = ACTIONS(816),
-    [anon_sym___thread] = ACTIONS(816),
-    [anon_sym_const] = ACTIONS(834),
-    [anon_sym_constexpr] = ACTIONS(834),
-    [anon_sym_volatile] = ACTIONS(834),
-    [anon_sym_restrict] = ACTIONS(834),
-    [anon_sym___restrict__] = ACTIONS(834),
-    [anon_sym__Atomic] = ACTIONS(834),
-    [anon_sym__Noreturn] = ACTIONS(834),
-    [anon_sym_noreturn] = ACTIONS(834),
-    [anon_sym__Nonnull] = ACTIONS(834),
-    [anon_sym_alignas] = ACTIONS(837),
-    [anon_sym__Alignas] = ACTIONS(837),
-    [sym_primitive_type] = ACTIONS(840),
-    [anon_sym_enum] = ACTIONS(843),
-    [anon_sym_struct] = ACTIONS(846),
-    [anon_sym_union] = ACTIONS(849),
-    [anon_sym_if] = ACTIONS(937),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_RBRACE] = ACTIONS(939),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
     [anon_sym_else] = ACTIONS(793),
-    [anon_sym_switch] = ACTIONS(940),
+    [anon_sym_switch] = ACTIONS(384),
     [anon_sym_case] = ACTIONS(793),
     [anon_sym_default] = ACTIONS(793),
-    [anon_sym_while] = ACTIONS(943),
-    [anon_sym_do] = ACTIONS(946),
-    [anon_sym_for] = ACTIONS(949),
-    [anon_sym_return] = ACTIONS(952),
-    [anon_sym_break] = ACTIONS(955),
-    [anon_sym_continue] = ACTIONS(958),
-    [anon_sym_goto] = ACTIONS(961),
-    [anon_sym___try] = ACTIONS(964),
-    [anon_sym___leave] = ACTIONS(967),
-    [anon_sym_DASH_DASH] = ACTIONS(885),
-    [anon_sym_PLUS_PLUS] = ACTIONS(885),
-    [anon_sym_sizeof] = ACTIONS(888),
-    [anon_sym___alignof__] = ACTIONS(891),
-    [anon_sym___alignof] = ACTIONS(891),
-    [anon_sym__alignof] = ACTIONS(891),
-    [anon_sym_alignof] = ACTIONS(891),
-    [anon_sym__Alignof] = ACTIONS(891),
-    [anon_sym_offsetof] = ACTIONS(894),
-    [anon_sym__Generic] = ACTIONS(897),
-    [anon_sym_asm] = ACTIONS(900),
-    [anon_sym___asm__] = ACTIONS(900),
-    [anon_sym___asm] = ACTIONS(900),
-    [sym_number_literal] = ACTIONS(903),
-    [anon_sym_L_SQUOTE] = ACTIONS(906),
-    [anon_sym_u_SQUOTE] = ACTIONS(906),
-    [anon_sym_U_SQUOTE] = ACTIONS(906),
-    [anon_sym_u8_SQUOTE] = ACTIONS(906),
-    [anon_sym_SQUOTE] = ACTIONS(906),
-    [anon_sym_L_DQUOTE] = ACTIONS(909),
-    [anon_sym_u_DQUOTE] = ACTIONS(909),
-    [anon_sym_U_DQUOTE] = ACTIONS(909),
-    [anon_sym_u8_DQUOTE] = ACTIONS(909),
-    [anon_sym_DQUOTE] = ACTIONS(909),
-    [sym_true] = ACTIONS(912),
-    [sym_false] = ACTIONS(912),
-    [anon_sym_NULL] = ACTIONS(915),
-    [anon_sym_nullptr] = ACTIONS(915),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [51] = {
+  [54] = {
     [sym_declaration] = STATE(53),
     [sym_type_definition] = STATE(53),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1147),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1158),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
     [sym_compound_statement] = STATE(53),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
     [sym_attributed_statement] = STATE(53),
     [sym_labeled_statement] = STATE(53),
     [sym_expression_statement] = STATE(53),
@@ -20515,43 +21121,43 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_goto_statement] = STATE(53),
     [sym_seh_try_statement] = STATE(53),
     [sym_seh_leave_statement] = STATE(53),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
     [aux_sym_case_statement_repeat1] = STATE(53),
-    [sym_identifier] = ACTIONS(970),
-    [aux_sym_preproc_include_token1] = ACTIONS(788),
-    [aux_sym_preproc_def_token1] = ACTIONS(788),
-    [aux_sym_preproc_if_token1] = ACTIONS(788),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(788),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(788),
-    [sym_preproc_directive] = ACTIONS(788),
+    [sym_identifier] = ACTIONS(937),
+    [aux_sym_preproc_include_token1] = ACTIONS(789),
+    [aux_sym_preproc_def_token1] = ACTIONS(789),
+    [aux_sym_preproc_if_token1] = ACTIONS(789),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(789),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(789),
+    [sym_preproc_directive] = ACTIONS(789),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -20559,162 +21165,162 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(788),
-    [anon_sym___clrcall] = ACTIONS(788),
-    [anon_sym___stdcall] = ACTIONS(788),
-    [anon_sym___fastcall] = ACTIONS(788),
-    [anon_sym___thiscall] = ACTIONS(788),
-    [anon_sym___vectorcall] = ACTIONS(788),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_RBRACE] = ACTIONS(972),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_else] = ACTIONS(788),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(788),
-    [anon_sym_default] = ACTIONS(788),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(789),
+    [anon_sym___clrcall] = ACTIONS(789),
+    [anon_sym___stdcall] = ACTIONS(789),
+    [anon_sym___fastcall] = ACTIONS(789),
+    [anon_sym___thiscall] = ACTIONS(789),
+    [anon_sym___vectorcall] = ACTIONS(789),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_RBRACE] = ACTIONS(941),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_else] = ACTIONS(789),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(789),
+    [anon_sym_default] = ACTIONS(789),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [52] = {
-    [sym_declaration] = STATE(62),
-    [sym_type_definition] = STATE(62),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1139),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(62),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(62),
-    [sym_labeled_statement] = STATE(62),
-    [sym_expression_statement] = STATE(62),
-    [sym_if_statement] = STATE(62),
-    [sym_switch_statement] = STATE(62),
-    [sym_while_statement] = STATE(62),
-    [sym_do_statement] = STATE(62),
-    [sym_for_statement] = STATE(62),
-    [sym_return_statement] = STATE(62),
-    [sym_break_statement] = STATE(62),
-    [sym_continue_statement] = STATE(62),
-    [sym_goto_statement] = STATE(62),
-    [sym_seh_try_statement] = STATE(62),
-    [sym_seh_leave_statement] = STATE(62),
-    [sym_expression] = STATE(1042),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1791),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(338),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [aux_sym_case_statement_repeat1] = STATE(62),
-    [ts_builtin_sym_end] = ACTIONS(974),
-    [sym_identifier] = ACTIONS(976),
-    [aux_sym_preproc_include_token1] = ACTIONS(784),
-    [aux_sym_preproc_def_token1] = ACTIONS(784),
-    [aux_sym_preproc_if_token1] = ACTIONS(784),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(784),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(784),
-    [sym_preproc_directive] = ACTIONS(784),
+  [55] = {
+    [sym_declaration] = STATE(56),
+    [sym_type_definition] = STATE(56),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1158),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(56),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(56),
+    [sym_labeled_statement] = STATE(56),
+    [sym_expression_statement] = STATE(56),
+    [sym_if_statement] = STATE(56),
+    [sym_switch_statement] = STATE(56),
+    [sym_while_statement] = STATE(56),
+    [sym_do_statement] = STATE(56),
+    [sym_for_statement] = STATE(56),
+    [sym_return_statement] = STATE(56),
+    [sym_break_statement] = STATE(56),
+    [sym_continue_statement] = STATE(56),
+    [sym_goto_statement] = STATE(56),
+    [sym_seh_try_statement] = STATE(56),
+    [sym_seh_leave_statement] = STATE(56),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [aux_sym_case_statement_repeat1] = STATE(56),
+    [sym_identifier] = ACTIONS(937),
+    [aux_sym_preproc_include_token1] = ACTIONS(795),
+    [aux_sym_preproc_def_token1] = ACTIONS(795),
+    [aux_sym_preproc_if_token1] = ACTIONS(795),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(795),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(795),
+    [sym_preproc_directive] = ACTIONS(795),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -20722,485 +21328,326 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(978),
-    [anon_sym___extension__] = ACTIONS(27),
-    [anon_sym_typedef] = ACTIONS(29),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(784),
-    [anon_sym___clrcall] = ACTIONS(784),
-    [anon_sym___stdcall] = ACTIONS(784),
-    [anon_sym___fastcall] = ACTIONS(784),
-    [anon_sym___thiscall] = ACTIONS(784),
-    [anon_sym___vectorcall] = ACTIONS(784),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(59),
-    [anon_sym_else] = ACTIONS(784),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(784),
-    [anon_sym_default] = ACTIONS(784),
-    [anon_sym_while] = ACTIONS(67),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(71),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(980),
-    [anon_sym___leave] = ACTIONS(982),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(372),
+    [anon_sym_typedef] = ACTIONS(374),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(795),
+    [anon_sym___clrcall] = ACTIONS(795),
+    [anon_sym___stdcall] = ACTIONS(795),
+    [anon_sym___fastcall] = ACTIONS(795),
+    [anon_sym___thiscall] = ACTIONS(795),
+    [anon_sym___vectorcall] = ACTIONS(795),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_RBRACE] = ACTIONS(925),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_else] = ACTIONS(795),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(795),
+    [anon_sym_default] = ACTIONS(795),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [53] = {
-    [sym_declaration] = STATE(53),
-    [sym_type_definition] = STATE(53),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1147),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(53),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(53),
-    [sym_labeled_statement] = STATE(53),
-    [sym_expression_statement] = STATE(53),
-    [sym_if_statement] = STATE(53),
-    [sym_switch_statement] = STATE(53),
-    [sym_while_statement] = STATE(53),
-    [sym_do_statement] = STATE(53),
-    [sym_for_statement] = STATE(53),
-    [sym_return_statement] = STATE(53),
-    [sym_break_statement] = STATE(53),
-    [sym_continue_statement] = STATE(53),
-    [sym_goto_statement] = STATE(53),
-    [sym_seh_try_statement] = STATE(53),
-    [sym_seh_leave_statement] = STATE(53),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [aux_sym_case_statement_repeat1] = STATE(53),
-    [sym_identifier] = ACTIONS(984),
-    [aux_sym_preproc_include_token1] = ACTIONS(793),
-    [aux_sym_preproc_def_token1] = ACTIONS(793),
-    [aux_sym_preproc_if_token1] = ACTIONS(793),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(793),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(793),
-    [sym_preproc_directive] = ACTIONS(793),
-    [anon_sym_LPAREN2] = ACTIONS(795),
-    [anon_sym_BANG] = ACTIONS(798),
-    [anon_sym_TILDE] = ACTIONS(798),
-    [anon_sym_DASH] = ACTIONS(801),
-    [anon_sym_PLUS] = ACTIONS(801),
-    [anon_sym_STAR] = ACTIONS(804),
-    [anon_sym_AMP] = ACTIONS(804),
-    [anon_sym_SEMI] = ACTIONS(987),
-    [anon_sym___extension__] = ACTIONS(990),
-    [anon_sym_typedef] = ACTIONS(993),
-    [anon_sym_extern] = ACTIONS(816),
-    [anon_sym___attribute__] = ACTIONS(819),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(822),
-    [anon_sym___declspec] = ACTIONS(825),
-    [anon_sym___cdecl] = ACTIONS(793),
-    [anon_sym___clrcall] = ACTIONS(793),
-    [anon_sym___stdcall] = ACTIONS(793),
-    [anon_sym___fastcall] = ACTIONS(793),
-    [anon_sym___thiscall] = ACTIONS(793),
-    [anon_sym___vectorcall] = ACTIONS(793),
-    [anon_sym_LBRACE] = ACTIONS(996),
-    [anon_sym_RBRACE] = ACTIONS(920),
-    [anon_sym_signed] = ACTIONS(831),
-    [anon_sym_unsigned] = ACTIONS(831),
-    [anon_sym_long] = ACTIONS(831),
-    [anon_sym_short] = ACTIONS(831),
-    [anon_sym_static] = ACTIONS(816),
-    [anon_sym_auto] = ACTIONS(816),
-    [anon_sym_register] = ACTIONS(816),
-    [anon_sym_inline] = ACTIONS(816),
-    [anon_sym___inline] = ACTIONS(816),
-    [anon_sym___inline__] = ACTIONS(816),
-    [anon_sym___forceinline] = ACTIONS(816),
-    [anon_sym_thread_local] = ACTIONS(816),
-    [anon_sym___thread] = ACTIONS(816),
-    [anon_sym_const] = ACTIONS(834),
-    [anon_sym_constexpr] = ACTIONS(834),
-    [anon_sym_volatile] = ACTIONS(834),
-    [anon_sym_restrict] = ACTIONS(834),
-    [anon_sym___restrict__] = ACTIONS(834),
-    [anon_sym__Atomic] = ACTIONS(834),
-    [anon_sym__Noreturn] = ACTIONS(834),
-    [anon_sym_noreturn] = ACTIONS(834),
-    [anon_sym__Nonnull] = ACTIONS(834),
-    [anon_sym_alignas] = ACTIONS(837),
-    [anon_sym__Alignas] = ACTIONS(837),
-    [sym_primitive_type] = ACTIONS(840),
-    [anon_sym_enum] = ACTIONS(843),
-    [anon_sym_struct] = ACTIONS(846),
-    [anon_sym_union] = ACTIONS(849),
-    [anon_sym_if] = ACTIONS(999),
-    [anon_sym_else] = ACTIONS(793),
-    [anon_sym_switch] = ACTIONS(1002),
-    [anon_sym_case] = ACTIONS(793),
-    [anon_sym_default] = ACTIONS(793),
-    [anon_sym_while] = ACTIONS(1005),
-    [anon_sym_do] = ACTIONS(1008),
-    [anon_sym_for] = ACTIONS(1011),
-    [anon_sym_return] = ACTIONS(1014),
-    [anon_sym_break] = ACTIONS(1017),
-    [anon_sym_continue] = ACTIONS(1020),
-    [anon_sym_goto] = ACTIONS(1023),
-    [anon_sym___try] = ACTIONS(1026),
-    [anon_sym___leave] = ACTIONS(1029),
-    [anon_sym_DASH_DASH] = ACTIONS(885),
-    [anon_sym_PLUS_PLUS] = ACTIONS(885),
-    [anon_sym_sizeof] = ACTIONS(888),
-    [anon_sym___alignof__] = ACTIONS(891),
-    [anon_sym___alignof] = ACTIONS(891),
-    [anon_sym__alignof] = ACTIONS(891),
-    [anon_sym_alignof] = ACTIONS(891),
-    [anon_sym__Alignof] = ACTIONS(891),
-    [anon_sym_offsetof] = ACTIONS(894),
-    [anon_sym__Generic] = ACTIONS(897),
-    [anon_sym_asm] = ACTIONS(900),
-    [anon_sym___asm__] = ACTIONS(900),
-    [anon_sym___asm] = ACTIONS(900),
-    [sym_number_literal] = ACTIONS(903),
-    [anon_sym_L_SQUOTE] = ACTIONS(906),
-    [anon_sym_u_SQUOTE] = ACTIONS(906),
-    [anon_sym_U_SQUOTE] = ACTIONS(906),
-    [anon_sym_u8_SQUOTE] = ACTIONS(906),
-    [anon_sym_SQUOTE] = ACTIONS(906),
-    [anon_sym_L_DQUOTE] = ACTIONS(909),
-    [anon_sym_u_DQUOTE] = ACTIONS(909),
-    [anon_sym_U_DQUOTE] = ACTIONS(909),
-    [anon_sym_u8_DQUOTE] = ACTIONS(909),
-    [anon_sym_DQUOTE] = ACTIONS(909),
-    [sym_true] = ACTIONS(912),
-    [sym_false] = ACTIONS(912),
-    [anon_sym_NULL] = ACTIONS(915),
-    [anon_sym_nullptr] = ACTIONS(915),
-    [sym_comment] = ACTIONS(3),
-  },
-  [54] = {
-    [sym_declaration] = STATE(50),
-    [sym_type_definition] = STATE(50),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1139),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(50),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(50),
-    [sym_labeled_statement] = STATE(50),
-    [sym_expression_statement] = STATE(50),
-    [sym_if_statement] = STATE(50),
-    [sym_switch_statement] = STATE(50),
-    [sym_while_statement] = STATE(50),
-    [sym_do_statement] = STATE(50),
-    [sym_for_statement] = STATE(50),
-    [sym_return_statement] = STATE(50),
-    [sym_break_statement] = STATE(50),
-    [sym_continue_statement] = STATE(50),
-    [sym_goto_statement] = STATE(50),
-    [sym_seh_try_statement] = STATE(50),
-    [sym_seh_leave_statement] = STATE(50),
-    [sym_expression] = STATE(1042),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1791),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(338),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [aux_sym_case_statement_repeat1] = STATE(50),
-    [ts_builtin_sym_end] = ACTIONS(1032),
-    [sym_identifier] = ACTIONS(976),
-    [aux_sym_preproc_include_token1] = ACTIONS(918),
-    [aux_sym_preproc_def_token1] = ACTIONS(918),
-    [aux_sym_preproc_if_token1] = ACTIONS(918),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(918),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(918),
-    [sym_preproc_directive] = ACTIONS(918),
-    [anon_sym_LPAREN2] = ACTIONS(19),
-    [anon_sym_BANG] = ACTIONS(21),
-    [anon_sym_TILDE] = ACTIONS(21),
-    [anon_sym_DASH] = ACTIONS(23),
-    [anon_sym_PLUS] = ACTIONS(23),
-    [anon_sym_STAR] = ACTIONS(25),
-    [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(978),
-    [anon_sym___extension__] = ACTIONS(27),
-    [anon_sym_typedef] = ACTIONS(29),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(918),
-    [anon_sym___clrcall] = ACTIONS(918),
-    [anon_sym___stdcall] = ACTIONS(918),
-    [anon_sym___fastcall] = ACTIONS(918),
-    [anon_sym___thiscall] = ACTIONS(918),
-    [anon_sym___vectorcall] = ACTIONS(918),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(59),
-    [anon_sym_else] = ACTIONS(918),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(918),
-    [anon_sym_default] = ACTIONS(918),
-    [anon_sym_while] = ACTIONS(67),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(71),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(980),
-    [anon_sym___leave] = ACTIONS(982),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+  [56] = {
+    [sym_declaration] = STATE(56),
+    [sym_type_definition] = STATE(56),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1158),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(56),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(56),
+    [sym_labeled_statement] = STATE(56),
+    [sym_expression_statement] = STATE(56),
+    [sym_if_statement] = STATE(56),
+    [sym_switch_statement] = STATE(56),
+    [sym_while_statement] = STATE(56),
+    [sym_do_statement] = STATE(56),
+    [sym_for_statement] = STATE(56),
+    [sym_return_statement] = STATE(56),
+    [sym_break_statement] = STATE(56),
+    [sym_continue_statement] = STATE(56),
+    [sym_goto_statement] = STATE(56),
+    [sym_seh_try_statement] = STATE(56),
+    [sym_seh_leave_statement] = STATE(56),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [aux_sym_case_statement_repeat1] = STATE(56),
+    [sym_identifier] = ACTIONS(943),
+    [aux_sym_preproc_include_token1] = ACTIONS(800),
+    [aux_sym_preproc_def_token1] = ACTIONS(800),
+    [aux_sym_preproc_if_token1] = ACTIONS(800),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(800),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(800),
+    [sym_preproc_directive] = ACTIONS(800),
+    [anon_sym_LPAREN2] = ACTIONS(802),
+    [anon_sym_BANG] = ACTIONS(805),
+    [anon_sym_TILDE] = ACTIONS(805),
+    [anon_sym_DASH] = ACTIONS(808),
+    [anon_sym_PLUS] = ACTIONS(808),
+    [anon_sym_STAR] = ACTIONS(811),
+    [anon_sym_AMP] = ACTIONS(811),
+    [anon_sym_SEMI] = ACTIONS(946),
+    [anon_sym___extension__] = ACTIONS(949),
+    [anon_sym_typedef] = ACTIONS(952),
+    [anon_sym_extern] = ACTIONS(823),
+    [anon_sym___attribute__] = ACTIONS(826),
+    [anon_sym___attribute] = ACTIONS(826),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(829),
+    [anon_sym___declspec] = ACTIONS(832),
+    [anon_sym___cdecl] = ACTIONS(800),
+    [anon_sym___clrcall] = ACTIONS(800),
+    [anon_sym___stdcall] = ACTIONS(800),
+    [anon_sym___fastcall] = ACTIONS(800),
+    [anon_sym___thiscall] = ACTIONS(800),
+    [anon_sym___vectorcall] = ACTIONS(800),
+    [anon_sym_LBRACE] = ACTIONS(955),
+    [anon_sym_RBRACE] = ACTIONS(958),
+    [anon_sym_signed] = ACTIONS(838),
+    [anon_sym_unsigned] = ACTIONS(838),
+    [anon_sym_long] = ACTIONS(838),
+    [anon_sym_short] = ACTIONS(838),
+    [anon_sym_static] = ACTIONS(823),
+    [anon_sym_auto] = ACTIONS(823),
+    [anon_sym_register] = ACTIONS(823),
+    [anon_sym_inline] = ACTIONS(823),
+    [anon_sym___inline] = ACTIONS(823),
+    [anon_sym___inline__] = ACTIONS(823),
+    [anon_sym___forceinline] = ACTIONS(823),
+    [anon_sym_thread_local] = ACTIONS(823),
+    [anon_sym___thread] = ACTIONS(823),
+    [anon_sym_const] = ACTIONS(841),
+    [anon_sym_constexpr] = ACTIONS(841),
+    [anon_sym_volatile] = ACTIONS(841),
+    [anon_sym_restrict] = ACTIONS(841),
+    [anon_sym___restrict__] = ACTIONS(841),
+    [anon_sym__Atomic] = ACTIONS(841),
+    [anon_sym__Noreturn] = ACTIONS(841),
+    [anon_sym_noreturn] = ACTIONS(841),
+    [anon_sym__Nonnull] = ACTIONS(841),
+    [anon_sym_alignas] = ACTIONS(844),
+    [anon_sym__Alignas] = ACTIONS(844),
+    [sym_primitive_type] = ACTIONS(847),
+    [anon_sym_enum] = ACTIONS(850),
+    [anon_sym_struct] = ACTIONS(853),
+    [anon_sym_union] = ACTIONS(856),
+    [anon_sym_if] = ACTIONS(960),
+    [anon_sym_else] = ACTIONS(800),
+    [anon_sym_switch] = ACTIONS(963),
+    [anon_sym_case] = ACTIONS(800),
+    [anon_sym_default] = ACTIONS(800),
+    [anon_sym_while] = ACTIONS(966),
+    [anon_sym_do] = ACTIONS(969),
+    [anon_sym_for] = ACTIONS(972),
+    [anon_sym_return] = ACTIONS(975),
+    [anon_sym_break] = ACTIONS(978),
+    [anon_sym_continue] = ACTIONS(981),
+    [anon_sym_goto] = ACTIONS(984),
+    [anon_sym___try] = ACTIONS(987),
+    [anon_sym___leave] = ACTIONS(990),
+    [anon_sym_DASH_DASH] = ACTIONS(892),
+    [anon_sym_PLUS_PLUS] = ACTIONS(892),
+    [anon_sym_sizeof] = ACTIONS(895),
+    [anon_sym___alignof__] = ACTIONS(898),
+    [anon_sym___alignof] = ACTIONS(898),
+    [anon_sym__alignof] = ACTIONS(898),
+    [anon_sym_alignof] = ACTIONS(898),
+    [anon_sym__Alignof] = ACTIONS(898),
+    [anon_sym_offsetof] = ACTIONS(901),
+    [anon_sym__Generic] = ACTIONS(904),
+    [anon_sym_asm] = ACTIONS(907),
+    [anon_sym___asm__] = ACTIONS(907),
+    [anon_sym___asm] = ACTIONS(907),
+    [sym_number_literal] = ACTIONS(910),
+    [anon_sym_L_SQUOTE] = ACTIONS(913),
+    [anon_sym_u_SQUOTE] = ACTIONS(913),
+    [anon_sym_U_SQUOTE] = ACTIONS(913),
+    [anon_sym_u8_SQUOTE] = ACTIONS(913),
+    [anon_sym_SQUOTE] = ACTIONS(913),
+    [anon_sym_L_DQUOTE] = ACTIONS(916),
+    [anon_sym_u_DQUOTE] = ACTIONS(916),
+    [anon_sym_U_DQUOTE] = ACTIONS(916),
+    [anon_sym_u8_DQUOTE] = ACTIONS(916),
+    [anon_sym_DQUOTE] = ACTIONS(916),
+    [sym_true] = ACTIONS(919),
+    [sym_false] = ACTIONS(919),
+    [anon_sym_NULL] = ACTIONS(922),
+    [anon_sym_nullptr] = ACTIONS(922),
     [sym_comment] = ACTIONS(3),
   },
-  [55] = {
-    [sym_declaration] = STATE(58),
-    [sym_type_definition] = STATE(58),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1144),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(58),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(58),
-    [sym_labeled_statement] = STATE(58),
-    [sym_expression_statement] = STATE(58),
-    [sym_if_statement] = STATE(58),
-    [sym_switch_statement] = STATE(58),
-    [sym_while_statement] = STATE(58),
-    [sym_do_statement] = STATE(58),
-    [sym_for_statement] = STATE(58),
-    [sym_return_statement] = STATE(58),
-    [sym_break_statement] = STATE(58),
-    [sym_continue_statement] = STATE(58),
-    [sym_goto_statement] = STATE(58),
-    [sym_seh_try_statement] = STATE(58),
-    [sym_seh_leave_statement] = STATE(58),
-    [sym_expression] = STATE(1031),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1919),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(350),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [aux_sym_case_statement_repeat1] = STATE(58),
-    [sym_identifier] = ACTIONS(1034),
-    [aux_sym_preproc_include_token1] = ACTIONS(786),
-    [aux_sym_preproc_def_token1] = ACTIONS(786),
-    [aux_sym_preproc_if_token1] = ACTIONS(786),
-    [aux_sym_preproc_if_token2] = ACTIONS(786),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(786),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(786),
-    [sym_preproc_directive] = ACTIONS(786),
+  [57] = {
+    [sym_declaration] = STATE(60),
+    [sym_type_definition] = STATE(60),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1152),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(60),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(60),
+    [sym_labeled_statement] = STATE(60),
+    [sym_expression_statement] = STATE(60),
+    [sym_if_statement] = STATE(60),
+    [sym_switch_statement] = STATE(60),
+    [sym_while_statement] = STATE(60),
+    [sym_do_statement] = STATE(60),
+    [sym_for_statement] = STATE(60),
+    [sym_return_statement] = STATE(60),
+    [sym_break_statement] = STATE(60),
+    [sym_continue_statement] = STATE(60),
+    [sym_goto_statement] = STATE(60),
+    [sym_seh_try_statement] = STATE(60),
+    [sym_seh_leave_statement] = STATE(60),
+    [sym_expression] = STATE(1052),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1858),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(378),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [aux_sym_case_statement_repeat1] = STATE(60),
+    [sym_identifier] = ACTIONS(993),
+    [aux_sym_preproc_include_token1] = ACTIONS(789),
+    [aux_sym_preproc_def_token1] = ACTIONS(789),
+    [aux_sym_preproc_if_token1] = ACTIONS(789),
+    [aux_sym_preproc_if_token2] = ACTIONS(789),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(789),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(789),
+    [sym_preproc_directive] = ACTIONS(789),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -21208,109 +21655,110 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(494),
-    [anon_sym___extension__] = ACTIONS(496),
-    [anon_sym_typedef] = ACTIONS(498),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(786),
-    [anon_sym___clrcall] = ACTIONS(786),
-    [anon_sym___stdcall] = ACTIONS(786),
-    [anon_sym___fastcall] = ACTIONS(786),
-    [anon_sym___thiscall] = ACTIONS(786),
-    [anon_sym___vectorcall] = ACTIONS(786),
-    [anon_sym_LBRACE] = ACTIONS(502),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(504),
-    [anon_sym_else] = ACTIONS(786),
-    [anon_sym_switch] = ACTIONS(506),
-    [anon_sym_case] = ACTIONS(786),
-    [anon_sym_default] = ACTIONS(786),
-    [anon_sym_while] = ACTIONS(512),
-    [anon_sym_do] = ACTIONS(514),
-    [anon_sym_for] = ACTIONS(516),
-    [anon_sym_return] = ACTIONS(518),
-    [anon_sym_break] = ACTIONS(520),
-    [anon_sym_continue] = ACTIONS(522),
-    [anon_sym_goto] = ACTIONS(524),
-    [anon_sym___try] = ACTIONS(526),
-    [anon_sym___leave] = ACTIONS(528),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(498),
+    [anon_sym___extension__] = ACTIONS(500),
+    [anon_sym_typedef] = ACTIONS(502),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(789),
+    [anon_sym___clrcall] = ACTIONS(789),
+    [anon_sym___stdcall] = ACTIONS(789),
+    [anon_sym___fastcall] = ACTIONS(789),
+    [anon_sym___thiscall] = ACTIONS(789),
+    [anon_sym___vectorcall] = ACTIONS(789),
+    [anon_sym_LBRACE] = ACTIONS(506),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(508),
+    [anon_sym_else] = ACTIONS(789),
+    [anon_sym_switch] = ACTIONS(510),
+    [anon_sym_case] = ACTIONS(789),
+    [anon_sym_default] = ACTIONS(789),
+    [anon_sym_while] = ACTIONS(516),
+    [anon_sym_do] = ACTIONS(518),
+    [anon_sym_for] = ACTIONS(520),
+    [anon_sym_return] = ACTIONS(522),
+    [anon_sym_break] = ACTIONS(524),
+    [anon_sym_continue] = ACTIONS(526),
+    [anon_sym_goto] = ACTIONS(528),
+    [anon_sym___try] = ACTIONS(530),
+    [anon_sym___leave] = ACTIONS(532),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [56] = {
+  [58] = {
     [sym_declaration] = STATE(59),
     [sym_type_definition] = STATE(59),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1144),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1152),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
     [sym_compound_statement] = STATE(59),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
     [sym_attributed_statement] = STATE(59),
     [sym_labeled_statement] = STATE(59),
     [sym_expression_statement] = STATE(59),
@@ -21325,44 +21773,44 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_goto_statement] = STATE(59),
     [sym_seh_try_statement] = STATE(59),
     [sym_seh_leave_statement] = STATE(59),
-    [sym_expression] = STATE(1031),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1919),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(350),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
+    [sym_expression] = STATE(1052),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1858),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(378),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
     [aux_sym_case_statement_repeat1] = STATE(59),
-    [sym_identifier] = ACTIONS(1034),
-    [aux_sym_preproc_include_token1] = ACTIONS(784),
-    [aux_sym_preproc_def_token1] = ACTIONS(784),
-    [aux_sym_preproc_if_token1] = ACTIONS(784),
-    [aux_sym_preproc_if_token2] = ACTIONS(784),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(784),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(784),
-    [sym_preproc_directive] = ACTIONS(784),
+    [sym_identifier] = ACTIONS(993),
+    [aux_sym_preproc_include_token1] = ACTIONS(791),
+    [aux_sym_preproc_def_token1] = ACTIONS(791),
+    [aux_sym_preproc_if_token1] = ACTIONS(791),
+    [aux_sym_preproc_if_token2] = ACTIONS(791),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(791),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(791),
+    [sym_preproc_directive] = ACTIONS(791),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -21370,271 +21818,110 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(494),
-    [anon_sym___extension__] = ACTIONS(496),
-    [anon_sym_typedef] = ACTIONS(498),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(784),
-    [anon_sym___clrcall] = ACTIONS(784),
-    [anon_sym___stdcall] = ACTIONS(784),
-    [anon_sym___fastcall] = ACTIONS(784),
-    [anon_sym___thiscall] = ACTIONS(784),
-    [anon_sym___vectorcall] = ACTIONS(784),
-    [anon_sym_LBRACE] = ACTIONS(502),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(504),
-    [anon_sym_else] = ACTIONS(784),
-    [anon_sym_switch] = ACTIONS(506),
-    [anon_sym_case] = ACTIONS(784),
-    [anon_sym_default] = ACTIONS(784),
-    [anon_sym_while] = ACTIONS(512),
-    [anon_sym_do] = ACTIONS(514),
-    [anon_sym_for] = ACTIONS(516),
-    [anon_sym_return] = ACTIONS(518),
-    [anon_sym_break] = ACTIONS(520),
-    [anon_sym_continue] = ACTIONS(522),
-    [anon_sym_goto] = ACTIONS(524),
-    [anon_sym___try] = ACTIONS(526),
-    [anon_sym___leave] = ACTIONS(528),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(498),
+    [anon_sym___extension__] = ACTIONS(500),
+    [anon_sym_typedef] = ACTIONS(502),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(791),
+    [anon_sym___clrcall] = ACTIONS(791),
+    [anon_sym___stdcall] = ACTIONS(791),
+    [anon_sym___fastcall] = ACTIONS(791),
+    [anon_sym___thiscall] = ACTIONS(791),
+    [anon_sym___vectorcall] = ACTIONS(791),
+    [anon_sym_LBRACE] = ACTIONS(506),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(508),
+    [anon_sym_else] = ACTIONS(791),
+    [anon_sym_switch] = ACTIONS(510),
+    [anon_sym_case] = ACTIONS(791),
+    [anon_sym_default] = ACTIONS(791),
+    [anon_sym_while] = ACTIONS(516),
+    [anon_sym_do] = ACTIONS(518),
+    [anon_sym_for] = ACTIONS(520),
+    [anon_sym_return] = ACTIONS(522),
+    [anon_sym_break] = ACTIONS(524),
+    [anon_sym_continue] = ACTIONS(526),
+    [anon_sym_goto] = ACTIONS(528),
+    [anon_sym___try] = ACTIONS(530),
+    [anon_sym___leave] = ACTIONS(532),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [57] = {
-    [sym_declaration] = STATE(54),
-    [sym_type_definition] = STATE(54),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1139),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(54),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(54),
-    [sym_labeled_statement] = STATE(54),
-    [sym_expression_statement] = STATE(54),
-    [sym_if_statement] = STATE(54),
-    [sym_switch_statement] = STATE(54),
-    [sym_while_statement] = STATE(54),
-    [sym_do_statement] = STATE(54),
-    [sym_for_statement] = STATE(54),
-    [sym_return_statement] = STATE(54),
-    [sym_break_statement] = STATE(54),
-    [sym_continue_statement] = STATE(54),
-    [sym_goto_statement] = STATE(54),
-    [sym_seh_try_statement] = STATE(54),
-    [sym_seh_leave_statement] = STATE(54),
-    [sym_expression] = STATE(1042),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1791),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(338),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [aux_sym_case_statement_repeat1] = STATE(54),
-    [ts_builtin_sym_end] = ACTIONS(1036),
-    [sym_identifier] = ACTIONS(976),
-    [aux_sym_preproc_include_token1] = ACTIONS(786),
-    [aux_sym_preproc_def_token1] = ACTIONS(786),
-    [aux_sym_preproc_if_token1] = ACTIONS(786),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(786),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(786),
-    [sym_preproc_directive] = ACTIONS(786),
-    [anon_sym_LPAREN2] = ACTIONS(19),
-    [anon_sym_BANG] = ACTIONS(21),
-    [anon_sym_TILDE] = ACTIONS(21),
-    [anon_sym_DASH] = ACTIONS(23),
-    [anon_sym_PLUS] = ACTIONS(23),
-    [anon_sym_STAR] = ACTIONS(25),
-    [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(978),
-    [anon_sym___extension__] = ACTIONS(27),
-    [anon_sym_typedef] = ACTIONS(29),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(786),
-    [anon_sym___clrcall] = ACTIONS(786),
-    [anon_sym___stdcall] = ACTIONS(786),
-    [anon_sym___fastcall] = ACTIONS(786),
-    [anon_sym___thiscall] = ACTIONS(786),
-    [anon_sym___vectorcall] = ACTIONS(786),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(59),
-    [anon_sym_else] = ACTIONS(786),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(786),
-    [anon_sym_default] = ACTIONS(786),
-    [anon_sym_while] = ACTIONS(67),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(71),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(980),
-    [anon_sym___leave] = ACTIONS(982),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
-    [sym_comment] = ACTIONS(3),
-  },
-  [58] = {
+  [59] = {
     [sym_declaration] = STATE(61),
     [sym_type_definition] = STATE(61),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1144),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1152),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
     [sym_compound_statement] = STATE(61),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
     [sym_attributed_statement] = STATE(61),
     [sym_labeled_statement] = STATE(61),
     [sym_expression_statement] = STATE(61),
@@ -21649,44 +21936,44 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_goto_statement] = STATE(61),
     [sym_seh_try_statement] = STATE(61),
     [sym_seh_leave_statement] = STATE(61),
-    [sym_expression] = STATE(1031),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1919),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(350),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
+    [sym_expression] = STATE(1052),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1858),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(378),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
     [aux_sym_case_statement_repeat1] = STATE(61),
-    [sym_identifier] = ACTIONS(1034),
-    [aux_sym_preproc_include_token1] = ACTIONS(918),
-    [aux_sym_preproc_def_token1] = ACTIONS(918),
-    [aux_sym_preproc_if_token1] = ACTIONS(918),
-    [aux_sym_preproc_if_token2] = ACTIONS(918),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(918),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(918),
-    [sym_preproc_directive] = ACTIONS(918),
+    [sym_identifier] = ACTIONS(993),
+    [aux_sym_preproc_include_token1] = ACTIONS(795),
+    [aux_sym_preproc_def_token1] = ACTIONS(795),
+    [aux_sym_preproc_if_token1] = ACTIONS(795),
+    [aux_sym_preproc_if_token2] = ACTIONS(795),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(795),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(795),
+    [sym_preproc_directive] = ACTIONS(795),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -21694,109 +21981,110 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(494),
-    [anon_sym___extension__] = ACTIONS(496),
-    [anon_sym_typedef] = ACTIONS(498),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(918),
-    [anon_sym___clrcall] = ACTIONS(918),
-    [anon_sym___stdcall] = ACTIONS(918),
-    [anon_sym___fastcall] = ACTIONS(918),
-    [anon_sym___thiscall] = ACTIONS(918),
-    [anon_sym___vectorcall] = ACTIONS(918),
-    [anon_sym_LBRACE] = ACTIONS(502),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(504),
-    [anon_sym_else] = ACTIONS(918),
-    [anon_sym_switch] = ACTIONS(506),
-    [anon_sym_case] = ACTIONS(918),
-    [anon_sym_default] = ACTIONS(918),
-    [anon_sym_while] = ACTIONS(512),
-    [anon_sym_do] = ACTIONS(514),
-    [anon_sym_for] = ACTIONS(516),
-    [anon_sym_return] = ACTIONS(518),
-    [anon_sym_break] = ACTIONS(520),
-    [anon_sym_continue] = ACTIONS(522),
-    [anon_sym_goto] = ACTIONS(524),
-    [anon_sym___try] = ACTIONS(526),
-    [anon_sym___leave] = ACTIONS(528),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(498),
+    [anon_sym___extension__] = ACTIONS(500),
+    [anon_sym_typedef] = ACTIONS(502),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(795),
+    [anon_sym___clrcall] = ACTIONS(795),
+    [anon_sym___stdcall] = ACTIONS(795),
+    [anon_sym___fastcall] = ACTIONS(795),
+    [anon_sym___thiscall] = ACTIONS(795),
+    [anon_sym___vectorcall] = ACTIONS(795),
+    [anon_sym_LBRACE] = ACTIONS(506),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(508),
+    [anon_sym_else] = ACTIONS(795),
+    [anon_sym_switch] = ACTIONS(510),
+    [anon_sym_case] = ACTIONS(795),
+    [anon_sym_default] = ACTIONS(795),
+    [anon_sym_while] = ACTIONS(516),
+    [anon_sym_do] = ACTIONS(518),
+    [anon_sym_for] = ACTIONS(520),
+    [anon_sym_return] = ACTIONS(522),
+    [anon_sym_break] = ACTIONS(524),
+    [anon_sym_continue] = ACTIONS(526),
+    [anon_sym_goto] = ACTIONS(528),
+    [anon_sym___try] = ACTIONS(530),
+    [anon_sym___leave] = ACTIONS(532),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [59] = {
+  [60] = {
     [sym_declaration] = STATE(61),
     [sym_type_definition] = STATE(61),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1144),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1152),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
     [sym_compound_statement] = STATE(61),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
     [sym_attributed_statement] = STATE(61),
     [sym_labeled_statement] = STATE(61),
     [sym_expression_statement] = STATE(61),
@@ -21811,205 +22099,44 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_goto_statement] = STATE(61),
     [sym_seh_try_statement] = STATE(61),
     [sym_seh_leave_statement] = STATE(61),
-    [sym_expression] = STATE(1031),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1919),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(350),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
+    [sym_expression] = STATE(1052),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1858),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(378),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
     [aux_sym_case_statement_repeat1] = STATE(61),
-    [sym_identifier] = ACTIONS(1034),
-    [aux_sym_preproc_include_token1] = ACTIONS(788),
-    [aux_sym_preproc_def_token1] = ACTIONS(788),
-    [aux_sym_preproc_if_token1] = ACTIONS(788),
-    [aux_sym_preproc_if_token2] = ACTIONS(788),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(788),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(788),
-    [sym_preproc_directive] = ACTIONS(788),
-    [anon_sym_LPAREN2] = ACTIONS(19),
-    [anon_sym_BANG] = ACTIONS(21),
-    [anon_sym_TILDE] = ACTIONS(21),
-    [anon_sym_DASH] = ACTIONS(23),
-    [anon_sym_PLUS] = ACTIONS(23),
-    [anon_sym_STAR] = ACTIONS(25),
-    [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(494),
-    [anon_sym___extension__] = ACTIONS(496),
-    [anon_sym_typedef] = ACTIONS(498),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(788),
-    [anon_sym___clrcall] = ACTIONS(788),
-    [anon_sym___stdcall] = ACTIONS(788),
-    [anon_sym___fastcall] = ACTIONS(788),
-    [anon_sym___thiscall] = ACTIONS(788),
-    [anon_sym___vectorcall] = ACTIONS(788),
-    [anon_sym_LBRACE] = ACTIONS(502),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(504),
-    [anon_sym_else] = ACTIONS(788),
-    [anon_sym_switch] = ACTIONS(506),
-    [anon_sym_case] = ACTIONS(788),
-    [anon_sym_default] = ACTIONS(788),
-    [anon_sym_while] = ACTIONS(512),
-    [anon_sym_do] = ACTIONS(514),
-    [anon_sym_for] = ACTIONS(516),
-    [anon_sym_return] = ACTIONS(518),
-    [anon_sym_break] = ACTIONS(520),
-    [anon_sym_continue] = ACTIONS(522),
-    [anon_sym_goto] = ACTIONS(524),
-    [anon_sym___try] = ACTIONS(526),
-    [anon_sym___leave] = ACTIONS(528),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
-    [sym_comment] = ACTIONS(3),
-  },
-  [60] = {
-    [sym_declaration] = STATE(53),
-    [sym_type_definition] = STATE(53),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1147),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(53),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(53),
-    [sym_labeled_statement] = STATE(53),
-    [sym_expression_statement] = STATE(53),
-    [sym_if_statement] = STATE(53),
-    [sym_switch_statement] = STATE(53),
-    [sym_while_statement] = STATE(53),
-    [sym_do_statement] = STATE(53),
-    [sym_for_statement] = STATE(53),
-    [sym_return_statement] = STATE(53),
-    [sym_break_statement] = STATE(53),
-    [sym_continue_statement] = STATE(53),
-    [sym_goto_statement] = STATE(53),
-    [sym_seh_try_statement] = STATE(53),
-    [sym_seh_leave_statement] = STATE(53),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [aux_sym_case_statement_repeat1] = STATE(53),
-    [sym_identifier] = ACTIONS(970),
-    [aux_sym_preproc_include_token1] = ACTIONS(918),
-    [aux_sym_preproc_def_token1] = ACTIONS(918),
-    [aux_sym_preproc_if_token1] = ACTIONS(918),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(918),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(918),
-    [sym_preproc_directive] = ACTIONS(918),
+    [sym_identifier] = ACTIONS(993),
+    [aux_sym_preproc_include_token1] = ACTIONS(793),
+    [aux_sym_preproc_def_token1] = ACTIONS(793),
+    [aux_sym_preproc_if_token1] = ACTIONS(793),
+    [aux_sym_preproc_if_token2] = ACTIONS(793),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(793),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(793),
+    [sym_preproc_directive] = ACTIONS(793),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -22017,110 +22144,110 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(918),
-    [anon_sym___clrcall] = ACTIONS(918),
-    [anon_sym___stdcall] = ACTIONS(918),
-    [anon_sym___fastcall] = ACTIONS(918),
-    [anon_sym___thiscall] = ACTIONS(918),
-    [anon_sym___vectorcall] = ACTIONS(918),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_RBRACE] = ACTIONS(1032),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_else] = ACTIONS(918),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(918),
-    [anon_sym_default] = ACTIONS(918),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(498),
+    [anon_sym___extension__] = ACTIONS(500),
+    [anon_sym_typedef] = ACTIONS(502),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(793),
+    [anon_sym___clrcall] = ACTIONS(793),
+    [anon_sym___stdcall] = ACTIONS(793),
+    [anon_sym___fastcall] = ACTIONS(793),
+    [anon_sym___thiscall] = ACTIONS(793),
+    [anon_sym___vectorcall] = ACTIONS(793),
+    [anon_sym_LBRACE] = ACTIONS(506),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(508),
+    [anon_sym_else] = ACTIONS(793),
+    [anon_sym_switch] = ACTIONS(510),
+    [anon_sym_case] = ACTIONS(793),
+    [anon_sym_default] = ACTIONS(793),
+    [anon_sym_while] = ACTIONS(516),
+    [anon_sym_do] = ACTIONS(518),
+    [anon_sym_for] = ACTIONS(520),
+    [anon_sym_return] = ACTIONS(522),
+    [anon_sym_break] = ACTIONS(524),
+    [anon_sym_continue] = ACTIONS(526),
+    [anon_sym_goto] = ACTIONS(528),
+    [anon_sym___try] = ACTIONS(530),
+    [anon_sym___leave] = ACTIONS(532),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [61] = {
     [sym_declaration] = STATE(61),
     [sym_type_definition] = STATE(61),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1144),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1152),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
     [sym_compound_statement] = STATE(61),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
     [sym_attributed_statement] = STATE(61),
     [sym_labeled_statement] = STATE(61),
     [sym_expression_statement] = STATE(61),
@@ -22135,206 +22262,207 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_goto_statement] = STATE(61),
     [sym_seh_try_statement] = STATE(61),
     [sym_seh_leave_statement] = STATE(61),
-    [sym_expression] = STATE(1031),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1919),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(350),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
+    [sym_expression] = STATE(1052),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1858),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(378),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
     [aux_sym_case_statement_repeat1] = STATE(61),
-    [sym_identifier] = ACTIONS(1038),
-    [aux_sym_preproc_include_token1] = ACTIONS(793),
-    [aux_sym_preproc_def_token1] = ACTIONS(793),
-    [aux_sym_preproc_if_token1] = ACTIONS(793),
-    [aux_sym_preproc_if_token2] = ACTIONS(793),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(793),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(793),
-    [sym_preproc_directive] = ACTIONS(793),
-    [anon_sym_LPAREN2] = ACTIONS(795),
-    [anon_sym_BANG] = ACTIONS(798),
-    [anon_sym_TILDE] = ACTIONS(798),
-    [anon_sym_DASH] = ACTIONS(801),
-    [anon_sym_PLUS] = ACTIONS(801),
-    [anon_sym_STAR] = ACTIONS(804),
-    [anon_sym_AMP] = ACTIONS(804),
-    [anon_sym_SEMI] = ACTIONS(1041),
-    [anon_sym___extension__] = ACTIONS(1044),
-    [anon_sym_typedef] = ACTIONS(1047),
-    [anon_sym_extern] = ACTIONS(816),
-    [anon_sym___attribute__] = ACTIONS(819),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(822),
-    [anon_sym___declspec] = ACTIONS(825),
-    [anon_sym___cdecl] = ACTIONS(793),
-    [anon_sym___clrcall] = ACTIONS(793),
-    [anon_sym___stdcall] = ACTIONS(793),
-    [anon_sym___fastcall] = ACTIONS(793),
-    [anon_sym___thiscall] = ACTIONS(793),
-    [anon_sym___vectorcall] = ACTIONS(793),
-    [anon_sym_LBRACE] = ACTIONS(1050),
-    [anon_sym_signed] = ACTIONS(831),
-    [anon_sym_unsigned] = ACTIONS(831),
-    [anon_sym_long] = ACTIONS(831),
-    [anon_sym_short] = ACTIONS(831),
-    [anon_sym_static] = ACTIONS(816),
-    [anon_sym_auto] = ACTIONS(816),
-    [anon_sym_register] = ACTIONS(816),
-    [anon_sym_inline] = ACTIONS(816),
-    [anon_sym___inline] = ACTIONS(816),
-    [anon_sym___inline__] = ACTIONS(816),
-    [anon_sym___forceinline] = ACTIONS(816),
-    [anon_sym_thread_local] = ACTIONS(816),
-    [anon_sym___thread] = ACTIONS(816),
-    [anon_sym_const] = ACTIONS(834),
-    [anon_sym_constexpr] = ACTIONS(834),
-    [anon_sym_volatile] = ACTIONS(834),
-    [anon_sym_restrict] = ACTIONS(834),
-    [anon_sym___restrict__] = ACTIONS(834),
-    [anon_sym__Atomic] = ACTIONS(834),
-    [anon_sym__Noreturn] = ACTIONS(834),
-    [anon_sym_noreturn] = ACTIONS(834),
-    [anon_sym__Nonnull] = ACTIONS(834),
-    [anon_sym_alignas] = ACTIONS(837),
-    [anon_sym__Alignas] = ACTIONS(837),
-    [sym_primitive_type] = ACTIONS(840),
-    [anon_sym_enum] = ACTIONS(843),
-    [anon_sym_struct] = ACTIONS(846),
-    [anon_sym_union] = ACTIONS(849),
-    [anon_sym_if] = ACTIONS(1053),
-    [anon_sym_else] = ACTIONS(793),
-    [anon_sym_switch] = ACTIONS(1056),
-    [anon_sym_case] = ACTIONS(793),
-    [anon_sym_default] = ACTIONS(793),
-    [anon_sym_while] = ACTIONS(1059),
-    [anon_sym_do] = ACTIONS(1062),
-    [anon_sym_for] = ACTIONS(1065),
-    [anon_sym_return] = ACTIONS(1068),
-    [anon_sym_break] = ACTIONS(1071),
-    [anon_sym_continue] = ACTIONS(1074),
-    [anon_sym_goto] = ACTIONS(1077),
-    [anon_sym___try] = ACTIONS(1080),
-    [anon_sym___leave] = ACTIONS(1083),
-    [anon_sym_DASH_DASH] = ACTIONS(885),
-    [anon_sym_PLUS_PLUS] = ACTIONS(885),
-    [anon_sym_sizeof] = ACTIONS(888),
-    [anon_sym___alignof__] = ACTIONS(891),
-    [anon_sym___alignof] = ACTIONS(891),
-    [anon_sym__alignof] = ACTIONS(891),
-    [anon_sym_alignof] = ACTIONS(891),
-    [anon_sym__Alignof] = ACTIONS(891),
-    [anon_sym_offsetof] = ACTIONS(894),
-    [anon_sym__Generic] = ACTIONS(897),
-    [anon_sym_asm] = ACTIONS(900),
-    [anon_sym___asm__] = ACTIONS(900),
-    [anon_sym___asm] = ACTIONS(900),
-    [sym_number_literal] = ACTIONS(903),
-    [anon_sym_L_SQUOTE] = ACTIONS(906),
-    [anon_sym_u_SQUOTE] = ACTIONS(906),
-    [anon_sym_U_SQUOTE] = ACTIONS(906),
-    [anon_sym_u8_SQUOTE] = ACTIONS(906),
-    [anon_sym_SQUOTE] = ACTIONS(906),
-    [anon_sym_L_DQUOTE] = ACTIONS(909),
-    [anon_sym_u_DQUOTE] = ACTIONS(909),
-    [anon_sym_U_DQUOTE] = ACTIONS(909),
-    [anon_sym_u8_DQUOTE] = ACTIONS(909),
-    [anon_sym_DQUOTE] = ACTIONS(909),
-    [sym_true] = ACTIONS(912),
-    [sym_false] = ACTIONS(912),
-    [anon_sym_NULL] = ACTIONS(915),
-    [anon_sym_nullptr] = ACTIONS(915),
+    [sym_identifier] = ACTIONS(995),
+    [aux_sym_preproc_include_token1] = ACTIONS(800),
+    [aux_sym_preproc_def_token1] = ACTIONS(800),
+    [aux_sym_preproc_if_token1] = ACTIONS(800),
+    [aux_sym_preproc_if_token2] = ACTIONS(800),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(800),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(800),
+    [sym_preproc_directive] = ACTIONS(800),
+    [anon_sym_LPAREN2] = ACTIONS(802),
+    [anon_sym_BANG] = ACTIONS(805),
+    [anon_sym_TILDE] = ACTIONS(805),
+    [anon_sym_DASH] = ACTIONS(808),
+    [anon_sym_PLUS] = ACTIONS(808),
+    [anon_sym_STAR] = ACTIONS(811),
+    [anon_sym_AMP] = ACTIONS(811),
+    [anon_sym_SEMI] = ACTIONS(998),
+    [anon_sym___extension__] = ACTIONS(1001),
+    [anon_sym_typedef] = ACTIONS(1004),
+    [anon_sym_extern] = ACTIONS(823),
+    [anon_sym___attribute__] = ACTIONS(826),
+    [anon_sym___attribute] = ACTIONS(826),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(829),
+    [anon_sym___declspec] = ACTIONS(832),
+    [anon_sym___cdecl] = ACTIONS(800),
+    [anon_sym___clrcall] = ACTIONS(800),
+    [anon_sym___stdcall] = ACTIONS(800),
+    [anon_sym___fastcall] = ACTIONS(800),
+    [anon_sym___thiscall] = ACTIONS(800),
+    [anon_sym___vectorcall] = ACTIONS(800),
+    [anon_sym_LBRACE] = ACTIONS(1007),
+    [anon_sym_signed] = ACTIONS(838),
+    [anon_sym_unsigned] = ACTIONS(838),
+    [anon_sym_long] = ACTIONS(838),
+    [anon_sym_short] = ACTIONS(838),
+    [anon_sym_static] = ACTIONS(823),
+    [anon_sym_auto] = ACTIONS(823),
+    [anon_sym_register] = ACTIONS(823),
+    [anon_sym_inline] = ACTIONS(823),
+    [anon_sym___inline] = ACTIONS(823),
+    [anon_sym___inline__] = ACTIONS(823),
+    [anon_sym___forceinline] = ACTIONS(823),
+    [anon_sym_thread_local] = ACTIONS(823),
+    [anon_sym___thread] = ACTIONS(823),
+    [anon_sym_const] = ACTIONS(841),
+    [anon_sym_constexpr] = ACTIONS(841),
+    [anon_sym_volatile] = ACTIONS(841),
+    [anon_sym_restrict] = ACTIONS(841),
+    [anon_sym___restrict__] = ACTIONS(841),
+    [anon_sym__Atomic] = ACTIONS(841),
+    [anon_sym__Noreturn] = ACTIONS(841),
+    [anon_sym_noreturn] = ACTIONS(841),
+    [anon_sym__Nonnull] = ACTIONS(841),
+    [anon_sym_alignas] = ACTIONS(844),
+    [anon_sym__Alignas] = ACTIONS(844),
+    [sym_primitive_type] = ACTIONS(847),
+    [anon_sym_enum] = ACTIONS(850),
+    [anon_sym_struct] = ACTIONS(853),
+    [anon_sym_union] = ACTIONS(856),
+    [anon_sym_if] = ACTIONS(1010),
+    [anon_sym_else] = ACTIONS(800),
+    [anon_sym_switch] = ACTIONS(1013),
+    [anon_sym_case] = ACTIONS(800),
+    [anon_sym_default] = ACTIONS(800),
+    [anon_sym_while] = ACTIONS(1016),
+    [anon_sym_do] = ACTIONS(1019),
+    [anon_sym_for] = ACTIONS(1022),
+    [anon_sym_return] = ACTIONS(1025),
+    [anon_sym_break] = ACTIONS(1028),
+    [anon_sym_continue] = ACTIONS(1031),
+    [anon_sym_goto] = ACTIONS(1034),
+    [anon_sym___try] = ACTIONS(1037),
+    [anon_sym___leave] = ACTIONS(1040),
+    [anon_sym_DASH_DASH] = ACTIONS(892),
+    [anon_sym_PLUS_PLUS] = ACTIONS(892),
+    [anon_sym_sizeof] = ACTIONS(895),
+    [anon_sym___alignof__] = ACTIONS(898),
+    [anon_sym___alignof] = ACTIONS(898),
+    [anon_sym__alignof] = ACTIONS(898),
+    [anon_sym_alignof] = ACTIONS(898),
+    [anon_sym__Alignof] = ACTIONS(898),
+    [anon_sym_offsetof] = ACTIONS(901),
+    [anon_sym__Generic] = ACTIONS(904),
+    [anon_sym_asm] = ACTIONS(907),
+    [anon_sym___asm__] = ACTIONS(907),
+    [anon_sym___asm] = ACTIONS(907),
+    [sym_number_literal] = ACTIONS(910),
+    [anon_sym_L_SQUOTE] = ACTIONS(913),
+    [anon_sym_u_SQUOTE] = ACTIONS(913),
+    [anon_sym_U_SQUOTE] = ACTIONS(913),
+    [anon_sym_u8_SQUOTE] = ACTIONS(913),
+    [anon_sym_SQUOTE] = ACTIONS(913),
+    [anon_sym_L_DQUOTE] = ACTIONS(916),
+    [anon_sym_u_DQUOTE] = ACTIONS(916),
+    [anon_sym_U_DQUOTE] = ACTIONS(916),
+    [anon_sym_u8_DQUOTE] = ACTIONS(916),
+    [anon_sym_DQUOTE] = ACTIONS(916),
+    [sym_true] = ACTIONS(919),
+    [sym_false] = ACTIONS(919),
+    [anon_sym_NULL] = ACTIONS(922),
+    [anon_sym_nullptr] = ACTIONS(922),
     [sym_comment] = ACTIONS(3),
   },
   [62] = {
-    [sym_declaration] = STATE(50),
-    [sym_type_definition] = STATE(50),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1139),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(50),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(50),
-    [sym_labeled_statement] = STATE(50),
-    [sym_expression_statement] = STATE(50),
-    [sym_if_statement] = STATE(50),
-    [sym_switch_statement] = STATE(50),
-    [sym_while_statement] = STATE(50),
-    [sym_do_statement] = STATE(50),
-    [sym_for_statement] = STATE(50),
-    [sym_return_statement] = STATE(50),
-    [sym_break_statement] = STATE(50),
-    [sym_continue_statement] = STATE(50),
-    [sym_goto_statement] = STATE(50),
-    [sym_seh_try_statement] = STATE(50),
-    [sym_seh_leave_statement] = STATE(50),
-    [sym_expression] = STATE(1042),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1791),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(338),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [aux_sym_case_statement_repeat1] = STATE(50),
-    [ts_builtin_sym_end] = ACTIONS(972),
-    [sym_identifier] = ACTIONS(976),
-    [aux_sym_preproc_include_token1] = ACTIONS(788),
-    [aux_sym_preproc_def_token1] = ACTIONS(788),
-    [aux_sym_preproc_if_token1] = ACTIONS(788),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(788),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(788),
-    [sym_preproc_directive] = ACTIONS(788),
+    [sym_declaration] = STATE(63),
+    [sym_type_definition] = STATE(63),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1154),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(63),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(63),
+    [sym_labeled_statement] = STATE(63),
+    [sym_expression_statement] = STATE(63),
+    [sym_if_statement] = STATE(63),
+    [sym_switch_statement] = STATE(63),
+    [sym_while_statement] = STATE(63),
+    [sym_do_statement] = STATE(63),
+    [sym_for_statement] = STATE(63),
+    [sym_return_statement] = STATE(63),
+    [sym_break_statement] = STATE(63),
+    [sym_continue_statement] = STATE(63),
+    [sym_goto_statement] = STATE(63),
+    [sym_seh_try_statement] = STATE(63),
+    [sym_seh_leave_statement] = STATE(63),
+    [sym_expression] = STATE(1074),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1913),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(375),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [aux_sym_case_statement_repeat1] = STATE(63),
+    [ts_builtin_sym_end] = ACTIONS(941),
+    [sym_identifier] = ACTIONS(927),
+    [aux_sym_preproc_include_token1] = ACTIONS(789),
+    [aux_sym_preproc_def_token1] = ACTIONS(789),
+    [aux_sym_preproc_if_token1] = ACTIONS(789),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(789),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(789),
+    [sym_preproc_directive] = ACTIONS(789),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -22342,160 +22470,162 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(978),
-    [anon_sym___extension__] = ACTIONS(27),
-    [anon_sym_typedef] = ACTIONS(29),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(788),
-    [anon_sym___clrcall] = ACTIONS(788),
-    [anon_sym___stdcall] = ACTIONS(788),
-    [anon_sym___fastcall] = ACTIONS(788),
-    [anon_sym___thiscall] = ACTIONS(788),
-    [anon_sym___vectorcall] = ACTIONS(788),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(59),
-    [anon_sym_else] = ACTIONS(788),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(788),
-    [anon_sym_default] = ACTIONS(788),
-    [anon_sym_while] = ACTIONS(67),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(71),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(980),
-    [anon_sym___leave] = ACTIONS(982),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(929),
+    [anon_sym___extension__] = ACTIONS(29),
+    [anon_sym_typedef] = ACTIONS(31),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(789),
+    [anon_sym___clrcall] = ACTIONS(789),
+    [anon_sym___stdcall] = ACTIONS(789),
+    [anon_sym___fastcall] = ACTIONS(789),
+    [anon_sym___thiscall] = ACTIONS(789),
+    [anon_sym___vectorcall] = ACTIONS(789),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(61),
+    [anon_sym_else] = ACTIONS(789),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(789),
+    [anon_sym_default] = ACTIONS(789),
+    [anon_sym_while] = ACTIONS(69),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(73),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(931),
+    [anon_sym___leave] = ACTIONS(933),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [63] = {
-    [sym_declaration] = STATE(60),
-    [sym_type_definition] = STATE(60),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1147),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(60),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(60),
-    [sym_labeled_statement] = STATE(60),
-    [sym_expression_statement] = STATE(60),
-    [sym_if_statement] = STATE(60),
-    [sym_switch_statement] = STATE(60),
-    [sym_while_statement] = STATE(60),
-    [sym_do_statement] = STATE(60),
-    [sym_for_statement] = STATE(60),
-    [sym_return_statement] = STATE(60),
-    [sym_break_statement] = STATE(60),
-    [sym_continue_statement] = STATE(60),
-    [sym_goto_statement] = STATE(60),
-    [sym_seh_try_statement] = STATE(60),
-    [sym_seh_leave_statement] = STATE(60),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [aux_sym_case_statement_repeat1] = STATE(60),
-    [sym_identifier] = ACTIONS(970),
-    [aux_sym_preproc_include_token1] = ACTIONS(786),
-    [aux_sym_preproc_def_token1] = ACTIONS(786),
-    [aux_sym_preproc_if_token1] = ACTIONS(786),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(786),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(786),
-    [sym_preproc_directive] = ACTIONS(786),
+    [sym_declaration] = STATE(64),
+    [sym_type_definition] = STATE(64),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1154),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(64),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(64),
+    [sym_labeled_statement] = STATE(64),
+    [sym_expression_statement] = STATE(64),
+    [sym_if_statement] = STATE(64),
+    [sym_switch_statement] = STATE(64),
+    [sym_while_statement] = STATE(64),
+    [sym_do_statement] = STATE(64),
+    [sym_for_statement] = STATE(64),
+    [sym_return_statement] = STATE(64),
+    [sym_break_statement] = STATE(64),
+    [sym_continue_statement] = STATE(64),
+    [sym_goto_statement] = STATE(64),
+    [sym_seh_try_statement] = STATE(64),
+    [sym_seh_leave_statement] = STATE(64),
+    [sym_expression] = STATE(1074),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1913),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(375),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [aux_sym_case_statement_repeat1] = STATE(64),
+    [ts_builtin_sym_end] = ACTIONS(939),
+    [sym_identifier] = ACTIONS(927),
+    [aux_sym_preproc_include_token1] = ACTIONS(793),
+    [aux_sym_preproc_def_token1] = ACTIONS(793),
+    [aux_sym_preproc_if_token1] = ACTIONS(793),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(793),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(793),
+    [sym_preproc_directive] = ACTIONS(793),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -22503,317 +22633,318 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(786),
-    [anon_sym___clrcall] = ACTIONS(786),
-    [anon_sym___stdcall] = ACTIONS(786),
-    [anon_sym___fastcall] = ACTIONS(786),
-    [anon_sym___thiscall] = ACTIONS(786),
-    [anon_sym___vectorcall] = ACTIONS(786),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_RBRACE] = ACTIONS(1036),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_else] = ACTIONS(786),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(786),
-    [anon_sym_default] = ACTIONS(786),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(929),
+    [anon_sym___extension__] = ACTIONS(29),
+    [anon_sym_typedef] = ACTIONS(31),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(793),
+    [anon_sym___clrcall] = ACTIONS(793),
+    [anon_sym___stdcall] = ACTIONS(793),
+    [anon_sym___fastcall] = ACTIONS(793),
+    [anon_sym___thiscall] = ACTIONS(793),
+    [anon_sym___vectorcall] = ACTIONS(793),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(61),
+    [anon_sym_else] = ACTIONS(793),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(793),
+    [anon_sym_default] = ACTIONS(793),
+    [anon_sym_while] = ACTIONS(69),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(73),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(931),
+    [anon_sym___leave] = ACTIONS(933),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [64] = {
-    [sym_declaration] = STATE(51),
-    [sym_type_definition] = STATE(51),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1147),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(51),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(51),
-    [sym_labeled_statement] = STATE(51),
-    [sym_expression_statement] = STATE(51),
-    [sym_if_statement] = STATE(51),
-    [sym_switch_statement] = STATE(51),
-    [sym_while_statement] = STATE(51),
-    [sym_do_statement] = STATE(51),
-    [sym_for_statement] = STATE(51),
-    [sym_return_statement] = STATE(51),
-    [sym_break_statement] = STATE(51),
-    [sym_continue_statement] = STATE(51),
-    [sym_goto_statement] = STATE(51),
-    [sym_seh_try_statement] = STATE(51),
-    [sym_seh_leave_statement] = STATE(51),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [aux_sym_case_statement_repeat1] = STATE(51),
-    [sym_identifier] = ACTIONS(970),
-    [aux_sym_preproc_include_token1] = ACTIONS(784),
-    [aux_sym_preproc_def_token1] = ACTIONS(784),
-    [aux_sym_preproc_if_token1] = ACTIONS(784),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(784),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(784),
-    [sym_preproc_directive] = ACTIONS(784),
-    [anon_sym_LPAREN2] = ACTIONS(19),
-    [anon_sym_BANG] = ACTIONS(21),
-    [anon_sym_TILDE] = ACTIONS(21),
-    [anon_sym_DASH] = ACTIONS(23),
-    [anon_sym_PLUS] = ACTIONS(23),
-    [anon_sym_STAR] = ACTIONS(25),
-    [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(370),
-    [anon_sym_typedef] = ACTIONS(372),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(784),
-    [anon_sym___clrcall] = ACTIONS(784),
-    [anon_sym___stdcall] = ACTIONS(784),
-    [anon_sym___fastcall] = ACTIONS(784),
-    [anon_sym___thiscall] = ACTIONS(784),
-    [anon_sym___vectorcall] = ACTIONS(784),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_RBRACE] = ACTIONS(974),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_else] = ACTIONS(784),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(784),
-    [anon_sym_default] = ACTIONS(784),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [sym_declaration] = STATE(64),
+    [sym_type_definition] = STATE(64),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1154),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(64),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(64),
+    [sym_labeled_statement] = STATE(64),
+    [sym_expression_statement] = STATE(64),
+    [sym_if_statement] = STATE(64),
+    [sym_switch_statement] = STATE(64),
+    [sym_while_statement] = STATE(64),
+    [sym_do_statement] = STATE(64),
+    [sym_for_statement] = STATE(64),
+    [sym_return_statement] = STATE(64),
+    [sym_break_statement] = STATE(64),
+    [sym_continue_statement] = STATE(64),
+    [sym_goto_statement] = STATE(64),
+    [sym_seh_try_statement] = STATE(64),
+    [sym_seh_leave_statement] = STATE(64),
+    [sym_expression] = STATE(1074),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1913),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(375),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [aux_sym_case_statement_repeat1] = STATE(64),
+    [ts_builtin_sym_end] = ACTIONS(958),
+    [sym_identifier] = ACTIONS(1043),
+    [aux_sym_preproc_include_token1] = ACTIONS(800),
+    [aux_sym_preproc_def_token1] = ACTIONS(800),
+    [aux_sym_preproc_if_token1] = ACTIONS(800),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(800),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(800),
+    [sym_preproc_directive] = ACTIONS(800),
+    [anon_sym_LPAREN2] = ACTIONS(802),
+    [anon_sym_BANG] = ACTIONS(805),
+    [anon_sym_TILDE] = ACTIONS(805),
+    [anon_sym_DASH] = ACTIONS(808),
+    [anon_sym_PLUS] = ACTIONS(808),
+    [anon_sym_STAR] = ACTIONS(811),
+    [anon_sym_AMP] = ACTIONS(811),
+    [anon_sym_SEMI] = ACTIONS(1046),
+    [anon_sym___extension__] = ACTIONS(1049),
+    [anon_sym_typedef] = ACTIONS(1052),
+    [anon_sym_extern] = ACTIONS(823),
+    [anon_sym___attribute__] = ACTIONS(826),
+    [anon_sym___attribute] = ACTIONS(826),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(829),
+    [anon_sym___declspec] = ACTIONS(832),
+    [anon_sym___cdecl] = ACTIONS(800),
+    [anon_sym___clrcall] = ACTIONS(800),
+    [anon_sym___stdcall] = ACTIONS(800),
+    [anon_sym___fastcall] = ACTIONS(800),
+    [anon_sym___thiscall] = ACTIONS(800),
+    [anon_sym___vectorcall] = ACTIONS(800),
+    [anon_sym_LBRACE] = ACTIONS(1055),
+    [anon_sym_signed] = ACTIONS(838),
+    [anon_sym_unsigned] = ACTIONS(838),
+    [anon_sym_long] = ACTIONS(838),
+    [anon_sym_short] = ACTIONS(838),
+    [anon_sym_static] = ACTIONS(823),
+    [anon_sym_auto] = ACTIONS(823),
+    [anon_sym_register] = ACTIONS(823),
+    [anon_sym_inline] = ACTIONS(823),
+    [anon_sym___inline] = ACTIONS(823),
+    [anon_sym___inline__] = ACTIONS(823),
+    [anon_sym___forceinline] = ACTIONS(823),
+    [anon_sym_thread_local] = ACTIONS(823),
+    [anon_sym___thread] = ACTIONS(823),
+    [anon_sym_const] = ACTIONS(841),
+    [anon_sym_constexpr] = ACTIONS(841),
+    [anon_sym_volatile] = ACTIONS(841),
+    [anon_sym_restrict] = ACTIONS(841),
+    [anon_sym___restrict__] = ACTIONS(841),
+    [anon_sym__Atomic] = ACTIONS(841),
+    [anon_sym__Noreturn] = ACTIONS(841),
+    [anon_sym_noreturn] = ACTIONS(841),
+    [anon_sym__Nonnull] = ACTIONS(841),
+    [anon_sym_alignas] = ACTIONS(844),
+    [anon_sym__Alignas] = ACTIONS(844),
+    [sym_primitive_type] = ACTIONS(847),
+    [anon_sym_enum] = ACTIONS(850),
+    [anon_sym_struct] = ACTIONS(853),
+    [anon_sym_union] = ACTIONS(856),
+    [anon_sym_if] = ACTIONS(1058),
+    [anon_sym_else] = ACTIONS(800),
+    [anon_sym_switch] = ACTIONS(1061),
+    [anon_sym_case] = ACTIONS(800),
+    [anon_sym_default] = ACTIONS(800),
+    [anon_sym_while] = ACTIONS(1064),
+    [anon_sym_do] = ACTIONS(1067),
+    [anon_sym_for] = ACTIONS(1070),
+    [anon_sym_return] = ACTIONS(1073),
+    [anon_sym_break] = ACTIONS(1076),
+    [anon_sym_continue] = ACTIONS(1079),
+    [anon_sym_goto] = ACTIONS(1082),
+    [anon_sym___try] = ACTIONS(1085),
+    [anon_sym___leave] = ACTIONS(1088),
+    [anon_sym_DASH_DASH] = ACTIONS(892),
+    [anon_sym_PLUS_PLUS] = ACTIONS(892),
+    [anon_sym_sizeof] = ACTIONS(895),
+    [anon_sym___alignof__] = ACTIONS(898),
+    [anon_sym___alignof] = ACTIONS(898),
+    [anon_sym__alignof] = ACTIONS(898),
+    [anon_sym_alignof] = ACTIONS(898),
+    [anon_sym__Alignof] = ACTIONS(898),
+    [anon_sym_offsetof] = ACTIONS(901),
+    [anon_sym__Generic] = ACTIONS(904),
+    [anon_sym_asm] = ACTIONS(907),
+    [anon_sym___asm__] = ACTIONS(907),
+    [anon_sym___asm] = ACTIONS(907),
+    [sym_number_literal] = ACTIONS(910),
+    [anon_sym_L_SQUOTE] = ACTIONS(913),
+    [anon_sym_u_SQUOTE] = ACTIONS(913),
+    [anon_sym_U_SQUOTE] = ACTIONS(913),
+    [anon_sym_u8_SQUOTE] = ACTIONS(913),
+    [anon_sym_SQUOTE] = ACTIONS(913),
+    [anon_sym_L_DQUOTE] = ACTIONS(916),
+    [anon_sym_u_DQUOTE] = ACTIONS(916),
+    [anon_sym_U_DQUOTE] = ACTIONS(916),
+    [anon_sym_u8_DQUOTE] = ACTIONS(916),
+    [anon_sym_DQUOTE] = ACTIONS(916),
+    [sym_true] = ACTIONS(919),
+    [sym_false] = ACTIONS(919),
+    [anon_sym_NULL] = ACTIONS(922),
+    [anon_sym_nullptr] = ACTIONS(922),
     [sym_comment] = ACTIONS(3),
   },
   [65] = {
-    [sym_declaration] = STATE(69),
-    [sym_type_definition] = STATE(69),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1139),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(69),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(69),
-    [sym_labeled_statement] = STATE(69),
-    [sym_expression_statement] = STATE(69),
-    [sym_if_statement] = STATE(69),
-    [sym_switch_statement] = STATE(69),
-    [sym_while_statement] = STATE(69),
-    [sym_do_statement] = STATE(69),
-    [sym_for_statement] = STATE(69),
-    [sym_return_statement] = STATE(69),
-    [sym_break_statement] = STATE(69),
-    [sym_continue_statement] = STATE(69),
-    [sym_goto_statement] = STATE(69),
-    [sym_seh_try_statement] = STATE(69),
-    [sym_seh_leave_statement] = STATE(69),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(340),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [aux_sym_case_statement_repeat1] = STATE(69),
-    [sym_identifier] = ACTIONS(1086),
+    [sym_declaration] = STATE(192),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1158),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(250),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(250),
+    [sym_statement] = STATE(192),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(937),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -22821,146 +22952,147 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(27),
-    [anon_sym_typedef] = ACTIONS(29),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(1088),
-    [anon_sym_else] = ACTIONS(918),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_while] = ACTIONS(1090),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(1092),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(1094),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [66] = {
-    [sym_declaration] = STATE(244),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1139),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(177),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(177),
-    [sym_statement] = STATE(244),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(340),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1086),
+    [sym_declaration] = STATE(85),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1149),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(110),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(110),
+    [sym_statement] = STATE(85),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(787),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -22968,146 +23100,147 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(1088),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(1098),
-    [anon_sym_default] = ACTIONS(1100),
-    [anon_sym_while] = ACTIONS(1090),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(1092),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(1094),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [67] = {
-    [sym_declaration] = STATE(65),
-    [sym_type_definition] = STATE(65),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1139),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(65),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(65),
-    [sym_labeled_statement] = STATE(65),
-    [sym_expression_statement] = STATE(65),
-    [sym_if_statement] = STATE(65),
-    [sym_switch_statement] = STATE(65),
-    [sym_while_statement] = STATE(65),
-    [sym_do_statement] = STATE(65),
-    [sym_for_statement] = STATE(65),
-    [sym_return_statement] = STATE(65),
-    [sym_break_statement] = STATE(65),
-    [sym_continue_statement] = STATE(65),
-    [sym_goto_statement] = STATE(65),
-    [sym_seh_try_statement] = STATE(65),
-    [sym_seh_leave_statement] = STATE(65),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(340),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [aux_sym_case_statement_repeat1] = STATE(65),
-    [sym_identifier] = ACTIONS(1086),
+    [sym_declaration] = STATE(70),
+    [sym_type_definition] = STATE(70),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1154),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(70),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(70),
+    [sym_labeled_statement] = STATE(70),
+    [sym_expression_statement] = STATE(70),
+    [sym_if_statement] = STATE(70),
+    [sym_switch_statement] = STATE(70),
+    [sym_while_statement] = STATE(70),
+    [sym_do_statement] = STATE(70),
+    [sym_for_statement] = STATE(70),
+    [sym_return_statement] = STATE(70),
+    [sym_break_statement] = STATE(70),
+    [sym_continue_statement] = STATE(70),
+    [sym_goto_statement] = STATE(70),
+    [sym_seh_try_statement] = STATE(70),
+    [sym_seh_leave_statement] = STATE(70),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(361),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [aux_sym_case_statement_repeat1] = STATE(70),
+    [sym_identifier] = ACTIONS(1093),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -23115,146 +23248,147 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(27),
-    [anon_sym_typedef] = ACTIONS(29),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(1088),
-    [anon_sym_else] = ACTIONS(786),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_while] = ACTIONS(1090),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(1092),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(1094),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(29),
+    [anon_sym_typedef] = ACTIONS(31),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(1095),
+    [anon_sym_else] = ACTIONS(791),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_while] = ACTIONS(1097),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(1099),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(1101),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [68] = {
-    [sym_declaration] = STATE(69),
-    [sym_type_definition] = STATE(69),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1139),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(69),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(69),
-    [sym_labeled_statement] = STATE(69),
-    [sym_expression_statement] = STATE(69),
-    [sym_if_statement] = STATE(69),
-    [sym_switch_statement] = STATE(69),
-    [sym_while_statement] = STATE(69),
-    [sym_do_statement] = STATE(69),
-    [sym_for_statement] = STATE(69),
-    [sym_return_statement] = STATE(69),
-    [sym_break_statement] = STATE(69),
-    [sym_continue_statement] = STATE(69),
-    [sym_goto_statement] = STATE(69),
-    [sym_seh_try_statement] = STATE(69),
-    [sym_seh_leave_statement] = STATE(69),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(340),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [aux_sym_case_statement_repeat1] = STATE(69),
-    [sym_identifier] = ACTIONS(1086),
+    [sym_declaration] = STATE(227),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1154),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(250),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(250),
+    [sym_statement] = STATE(227),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(361),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1093),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -23262,293 +23396,147 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(27),
-    [anon_sym_typedef] = ACTIONS(29),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(1088),
-    [anon_sym_else] = ACTIONS(788),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_while] = ACTIONS(1090),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(1092),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(1094),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(1095),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(1103),
+    [anon_sym_default] = ACTIONS(1105),
+    [anon_sym_while] = ACTIONS(1097),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(1099),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(1101),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [69] = {
-    [sym_declaration] = STATE(69),
-    [sym_type_definition] = STATE(69),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1139),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(69),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(69),
-    [sym_labeled_statement] = STATE(69),
-    [sym_expression_statement] = STATE(69),
-    [sym_if_statement] = STATE(69),
-    [sym_switch_statement] = STATE(69),
-    [sym_while_statement] = STATE(69),
-    [sym_do_statement] = STATE(69),
-    [sym_for_statement] = STATE(69),
-    [sym_return_statement] = STATE(69),
-    [sym_break_statement] = STATE(69),
-    [sym_continue_statement] = STATE(69),
-    [sym_goto_statement] = STATE(69),
-    [sym_seh_try_statement] = STATE(69),
-    [sym_seh_leave_statement] = STATE(69),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(340),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [aux_sym_case_statement_repeat1] = STATE(69),
-    [sym_identifier] = ACTIONS(1102),
-    [anon_sym_LPAREN2] = ACTIONS(795),
-    [anon_sym_BANG] = ACTIONS(798),
-    [anon_sym_TILDE] = ACTIONS(798),
-    [anon_sym_DASH] = ACTIONS(801),
-    [anon_sym_PLUS] = ACTIONS(801),
-    [anon_sym_STAR] = ACTIONS(804),
-    [anon_sym_AMP] = ACTIONS(804),
-    [anon_sym_SEMI] = ACTIONS(987),
-    [anon_sym___extension__] = ACTIONS(928),
-    [anon_sym_typedef] = ACTIONS(931),
-    [anon_sym_extern] = ACTIONS(816),
-    [anon_sym___attribute__] = ACTIONS(819),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(822),
-    [anon_sym___declspec] = ACTIONS(825),
-    [anon_sym_LBRACE] = ACTIONS(934),
-    [anon_sym_signed] = ACTIONS(831),
-    [anon_sym_unsigned] = ACTIONS(831),
-    [anon_sym_long] = ACTIONS(831),
-    [anon_sym_short] = ACTIONS(831),
-    [anon_sym_static] = ACTIONS(816),
-    [anon_sym_auto] = ACTIONS(816),
-    [anon_sym_register] = ACTIONS(816),
-    [anon_sym_inline] = ACTIONS(816),
-    [anon_sym___inline] = ACTIONS(816),
-    [anon_sym___inline__] = ACTIONS(816),
-    [anon_sym___forceinline] = ACTIONS(816),
-    [anon_sym_thread_local] = ACTIONS(816),
-    [anon_sym___thread] = ACTIONS(816),
-    [anon_sym_const] = ACTIONS(834),
-    [anon_sym_constexpr] = ACTIONS(834),
-    [anon_sym_volatile] = ACTIONS(834),
-    [anon_sym_restrict] = ACTIONS(834),
-    [anon_sym___restrict__] = ACTIONS(834),
-    [anon_sym__Atomic] = ACTIONS(834),
-    [anon_sym__Noreturn] = ACTIONS(834),
-    [anon_sym_noreturn] = ACTIONS(834),
-    [anon_sym__Nonnull] = ACTIONS(834),
-    [anon_sym_alignas] = ACTIONS(837),
-    [anon_sym__Alignas] = ACTIONS(837),
-    [sym_primitive_type] = ACTIONS(840),
-    [anon_sym_enum] = ACTIONS(843),
-    [anon_sym_struct] = ACTIONS(846),
-    [anon_sym_union] = ACTIONS(849),
-    [anon_sym_if] = ACTIONS(1105),
-    [anon_sym_else] = ACTIONS(793),
-    [anon_sym_switch] = ACTIONS(940),
-    [anon_sym_while] = ACTIONS(1108),
-    [anon_sym_do] = ACTIONS(946),
-    [anon_sym_for] = ACTIONS(1111),
-    [anon_sym_return] = ACTIONS(952),
-    [anon_sym_break] = ACTIONS(955),
-    [anon_sym_continue] = ACTIONS(958),
-    [anon_sym_goto] = ACTIONS(961),
-    [anon_sym___try] = ACTIONS(1114),
-    [anon_sym___leave] = ACTIONS(1029),
-    [anon_sym_DASH_DASH] = ACTIONS(885),
-    [anon_sym_PLUS_PLUS] = ACTIONS(885),
-    [anon_sym_sizeof] = ACTIONS(888),
-    [anon_sym___alignof__] = ACTIONS(891),
-    [anon_sym___alignof] = ACTIONS(891),
-    [anon_sym__alignof] = ACTIONS(891),
-    [anon_sym_alignof] = ACTIONS(891),
-    [anon_sym__Alignof] = ACTIONS(891),
-    [anon_sym_offsetof] = ACTIONS(894),
-    [anon_sym__Generic] = ACTIONS(897),
-    [anon_sym_asm] = ACTIONS(900),
-    [anon_sym___asm__] = ACTIONS(900),
-    [anon_sym___asm] = ACTIONS(900),
-    [sym_number_literal] = ACTIONS(903),
-    [anon_sym_L_SQUOTE] = ACTIONS(906),
-    [anon_sym_u_SQUOTE] = ACTIONS(906),
-    [anon_sym_U_SQUOTE] = ACTIONS(906),
-    [anon_sym_u8_SQUOTE] = ACTIONS(906),
-    [anon_sym_SQUOTE] = ACTIONS(906),
-    [anon_sym_L_DQUOTE] = ACTIONS(909),
-    [anon_sym_u_DQUOTE] = ACTIONS(909),
-    [anon_sym_U_DQUOTE] = ACTIONS(909),
-    [anon_sym_u8_DQUOTE] = ACTIONS(909),
-    [anon_sym_DQUOTE] = ACTIONS(909),
-    [sym_true] = ACTIONS(912),
-    [sym_false] = ACTIONS(912),
-    [anon_sym_NULL] = ACTIONS(915),
-    [anon_sym_nullptr] = ACTIONS(915),
-    [sym_comment] = ACTIONS(3),
-  },
-  [70] = {
-    [sym_declaration] = STATE(68),
-    [sym_type_definition] = STATE(68),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1139),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(68),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(68),
-    [sym_labeled_statement] = STATE(68),
-    [sym_expression_statement] = STATE(68),
-    [sym_if_statement] = STATE(68),
-    [sym_switch_statement] = STATE(68),
-    [sym_while_statement] = STATE(68),
-    [sym_do_statement] = STATE(68),
-    [sym_for_statement] = STATE(68),
-    [sym_return_statement] = STATE(68),
-    [sym_break_statement] = STATE(68),
-    [sym_continue_statement] = STATE(68),
-    [sym_goto_statement] = STATE(68),
-    [sym_seh_try_statement] = STATE(68),
-    [sym_seh_leave_statement] = STATE(68),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(340),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [aux_sym_case_statement_repeat1] = STATE(68),
-    [sym_identifier] = ACTIONS(1086),
+    [sym_declaration] = STATE(71),
+    [sym_type_definition] = STATE(71),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1154),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(71),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(71),
+    [sym_labeled_statement] = STATE(71),
+    [sym_expression_statement] = STATE(71),
+    [sym_if_statement] = STATE(71),
+    [sym_switch_statement] = STATE(71),
+    [sym_while_statement] = STATE(71),
+    [sym_do_statement] = STATE(71),
+    [sym_for_statement] = STATE(71),
+    [sym_return_statement] = STATE(71),
+    [sym_break_statement] = STATE(71),
+    [sym_continue_statement] = STATE(71),
+    [sym_goto_statement] = STATE(71),
+    [sym_seh_try_statement] = STATE(71),
+    [sym_seh_leave_statement] = STATE(71),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(361),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [aux_sym_case_statement_repeat1] = STATE(71),
+    [sym_identifier] = ACTIONS(1093),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -23556,146 +23544,147 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(27),
-    [anon_sym_typedef] = ACTIONS(29),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(1088),
-    [anon_sym_else] = ACTIONS(784),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_while] = ACTIONS(1090),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(1092),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(1094),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(29),
+    [anon_sym_typedef] = ACTIONS(31),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(1095),
+    [anon_sym_else] = ACTIONS(789),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_while] = ACTIONS(1097),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(1099),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(1101),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [71] = {
-    [sym_declaration] = STATE(218),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1144),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(204),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(204),
-    [sym_statement] = STATE(218),
-    [sym_labeled_statement] = STATE(204),
-    [sym_expression_statement] = STATE(204),
-    [sym_if_statement] = STATE(204),
-    [sym_switch_statement] = STATE(204),
-    [sym_case_statement] = STATE(204),
-    [sym_while_statement] = STATE(204),
-    [sym_do_statement] = STATE(204),
-    [sym_for_statement] = STATE(204),
-    [sym_return_statement] = STATE(204),
-    [sym_break_statement] = STATE(204),
-    [sym_continue_statement] = STATE(204),
-    [sym_goto_statement] = STATE(204),
-    [sym_seh_try_statement] = STATE(204),
-    [sym_seh_leave_statement] = STATE(204),
-    [sym_expression] = STATE(1031),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1919),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(350),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1034),
+  [70] = {
+    [sym_declaration] = STATE(72),
+    [sym_type_definition] = STATE(72),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1154),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(72),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(72),
+    [sym_labeled_statement] = STATE(72),
+    [sym_expression_statement] = STATE(72),
+    [sym_if_statement] = STATE(72),
+    [sym_switch_statement] = STATE(72),
+    [sym_while_statement] = STATE(72),
+    [sym_do_statement] = STATE(72),
+    [sym_for_statement] = STATE(72),
+    [sym_return_statement] = STATE(72),
+    [sym_break_statement] = STATE(72),
+    [sym_continue_statement] = STATE(72),
+    [sym_goto_statement] = STATE(72),
+    [sym_seh_try_statement] = STATE(72),
+    [sym_seh_leave_statement] = STATE(72),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(361),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [aux_sym_case_statement_repeat1] = STATE(72),
+    [sym_identifier] = ACTIONS(1093),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -23703,146 +23692,147 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(494),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_LBRACE] = ACTIONS(502),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(504),
-    [anon_sym_switch] = ACTIONS(506),
-    [anon_sym_case] = ACTIONS(508),
-    [anon_sym_default] = ACTIONS(510),
-    [anon_sym_while] = ACTIONS(512),
-    [anon_sym_do] = ACTIONS(514),
-    [anon_sym_for] = ACTIONS(516),
-    [anon_sym_return] = ACTIONS(518),
-    [anon_sym_break] = ACTIONS(520),
-    [anon_sym_continue] = ACTIONS(522),
-    [anon_sym_goto] = ACTIONS(524),
-    [anon_sym___try] = ACTIONS(526),
-    [anon_sym___leave] = ACTIONS(528),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(29),
+    [anon_sym_typedef] = ACTIONS(31),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(1095),
+    [anon_sym_else] = ACTIONS(795),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_while] = ACTIONS(1097),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(1099),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(1101),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [72] = {
-    [sym_declaration] = STATE(187),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1147),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(177),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(177),
-    [sym_statement] = STATE(187),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(970),
+  [71] = {
+    [sym_declaration] = STATE(72),
+    [sym_type_definition] = STATE(72),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1154),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(72),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(72),
+    [sym_labeled_statement] = STATE(72),
+    [sym_expression_statement] = STATE(72),
+    [sym_if_statement] = STATE(72),
+    [sym_switch_statement] = STATE(72),
+    [sym_while_statement] = STATE(72),
+    [sym_do_statement] = STATE(72),
+    [sym_for_statement] = STATE(72),
+    [sym_return_statement] = STATE(72),
+    [sym_break_statement] = STATE(72),
+    [sym_continue_statement] = STATE(72),
+    [sym_goto_statement] = STATE(72),
+    [sym_seh_try_statement] = STATE(72),
+    [sym_seh_leave_statement] = STATE(72),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(361),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [aux_sym_case_statement_repeat1] = STATE(72),
+    [sym_identifier] = ACTIONS(1093),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -23850,146 +23840,295 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(29),
+    [anon_sym_typedef] = ACTIONS(31),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(1095),
+    [anon_sym_else] = ACTIONS(793),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_while] = ACTIONS(1097),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(1099),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(1101),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
+    [sym_comment] = ACTIONS(3),
+  },
+  [72] = {
+    [sym_declaration] = STATE(72),
+    [sym_type_definition] = STATE(72),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1154),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(72),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(72),
+    [sym_labeled_statement] = STATE(72),
+    [sym_expression_statement] = STATE(72),
+    [sym_if_statement] = STATE(72),
+    [sym_switch_statement] = STATE(72),
+    [sym_while_statement] = STATE(72),
+    [sym_do_statement] = STATE(72),
+    [sym_for_statement] = STATE(72),
+    [sym_return_statement] = STATE(72),
+    [sym_break_statement] = STATE(72),
+    [sym_continue_statement] = STATE(72),
+    [sym_goto_statement] = STATE(72),
+    [sym_seh_try_statement] = STATE(72),
+    [sym_seh_leave_statement] = STATE(72),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(361),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [aux_sym_case_statement_repeat1] = STATE(72),
+    [sym_identifier] = ACTIONS(1107),
+    [anon_sym_LPAREN2] = ACTIONS(802),
+    [anon_sym_BANG] = ACTIONS(805),
+    [anon_sym_TILDE] = ACTIONS(805),
+    [anon_sym_DASH] = ACTIONS(808),
+    [anon_sym_PLUS] = ACTIONS(808),
+    [anon_sym_STAR] = ACTIONS(811),
+    [anon_sym_AMP] = ACTIONS(811),
+    [anon_sym_SEMI] = ACTIONS(946),
+    [anon_sym___extension__] = ACTIONS(1049),
+    [anon_sym_typedef] = ACTIONS(1052),
+    [anon_sym_extern] = ACTIONS(823),
+    [anon_sym___attribute__] = ACTIONS(826),
+    [anon_sym___attribute] = ACTIONS(826),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(829),
+    [anon_sym___declspec] = ACTIONS(832),
+    [anon_sym_LBRACE] = ACTIONS(1055),
+    [anon_sym_signed] = ACTIONS(838),
+    [anon_sym_unsigned] = ACTIONS(838),
+    [anon_sym_long] = ACTIONS(838),
+    [anon_sym_short] = ACTIONS(838),
+    [anon_sym_static] = ACTIONS(823),
+    [anon_sym_auto] = ACTIONS(823),
+    [anon_sym_register] = ACTIONS(823),
+    [anon_sym_inline] = ACTIONS(823),
+    [anon_sym___inline] = ACTIONS(823),
+    [anon_sym___inline__] = ACTIONS(823),
+    [anon_sym___forceinline] = ACTIONS(823),
+    [anon_sym_thread_local] = ACTIONS(823),
+    [anon_sym___thread] = ACTIONS(823),
+    [anon_sym_const] = ACTIONS(841),
+    [anon_sym_constexpr] = ACTIONS(841),
+    [anon_sym_volatile] = ACTIONS(841),
+    [anon_sym_restrict] = ACTIONS(841),
+    [anon_sym___restrict__] = ACTIONS(841),
+    [anon_sym__Atomic] = ACTIONS(841),
+    [anon_sym__Noreturn] = ACTIONS(841),
+    [anon_sym_noreturn] = ACTIONS(841),
+    [anon_sym__Nonnull] = ACTIONS(841),
+    [anon_sym_alignas] = ACTIONS(844),
+    [anon_sym__Alignas] = ACTIONS(844),
+    [sym_primitive_type] = ACTIONS(847),
+    [anon_sym_enum] = ACTIONS(850),
+    [anon_sym_struct] = ACTIONS(853),
+    [anon_sym_union] = ACTIONS(856),
+    [anon_sym_if] = ACTIONS(1110),
+    [anon_sym_else] = ACTIONS(800),
+    [anon_sym_switch] = ACTIONS(1061),
+    [anon_sym_while] = ACTIONS(1113),
+    [anon_sym_do] = ACTIONS(1067),
+    [anon_sym_for] = ACTIONS(1116),
+    [anon_sym_return] = ACTIONS(1073),
+    [anon_sym_break] = ACTIONS(1076),
+    [anon_sym_continue] = ACTIONS(1079),
+    [anon_sym_goto] = ACTIONS(1082),
+    [anon_sym___try] = ACTIONS(1119),
+    [anon_sym___leave] = ACTIONS(990),
+    [anon_sym_DASH_DASH] = ACTIONS(892),
+    [anon_sym_PLUS_PLUS] = ACTIONS(892),
+    [anon_sym_sizeof] = ACTIONS(895),
+    [anon_sym___alignof__] = ACTIONS(898),
+    [anon_sym___alignof] = ACTIONS(898),
+    [anon_sym__alignof] = ACTIONS(898),
+    [anon_sym_alignof] = ACTIONS(898),
+    [anon_sym__Alignof] = ACTIONS(898),
+    [anon_sym_offsetof] = ACTIONS(901),
+    [anon_sym__Generic] = ACTIONS(904),
+    [anon_sym_asm] = ACTIONS(907),
+    [anon_sym___asm__] = ACTIONS(907),
+    [anon_sym___asm] = ACTIONS(907),
+    [sym_number_literal] = ACTIONS(910),
+    [anon_sym_L_SQUOTE] = ACTIONS(913),
+    [anon_sym_u_SQUOTE] = ACTIONS(913),
+    [anon_sym_U_SQUOTE] = ACTIONS(913),
+    [anon_sym_u8_SQUOTE] = ACTIONS(913),
+    [anon_sym_SQUOTE] = ACTIONS(913),
+    [anon_sym_L_DQUOTE] = ACTIONS(916),
+    [anon_sym_u_DQUOTE] = ACTIONS(916),
+    [anon_sym_U_DQUOTE] = ACTIONS(916),
+    [anon_sym_u8_DQUOTE] = ACTIONS(916),
+    [anon_sym_DQUOTE] = ACTIONS(916),
+    [sym_true] = ACTIONS(919),
+    [sym_false] = ACTIONS(919),
+    [anon_sym_NULL] = ACTIONS(922),
+    [anon_sym_nullptr] = ACTIONS(922),
     [sym_comment] = ACTIONS(3),
   },
   [73] = {
-    [sym_declaration] = STATE(118),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1143),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(84),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(84),
-    [sym_statement] = STATE(118),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(782),
+    [sym_declaration] = STATE(227),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1154),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(159),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(159),
+    [sym_statement] = STATE(227),
+    [sym_labeled_statement] = STATE(159),
+    [sym_expression_statement] = STATE(159),
+    [sym_if_statement] = STATE(159),
+    [sym_switch_statement] = STATE(159),
+    [sym_case_statement] = STATE(159),
+    [sym_while_statement] = STATE(159),
+    [sym_do_statement] = STATE(159),
+    [sym_for_statement] = STATE(159),
+    [sym_return_statement] = STATE(159),
+    [sym_break_statement] = STATE(159),
+    [sym_continue_statement] = STATE(159),
+    [sym_goto_statement] = STATE(159),
+    [sym_seh_try_statement] = STATE(159),
+    [sym_seh_leave_statement] = STATE(159),
+    [sym_expression] = STATE(1074),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1913),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(375),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(927),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -23997,146 +24136,147 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(929),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(61),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(65),
+    [anon_sym_default] = ACTIONS(67),
+    [anon_sym_while] = ACTIONS(69),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(73),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(931),
+    [anon_sym___leave] = ACTIONS(933),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [74] = {
-    [sym_declaration] = STATE(244),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1139),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(406),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_compound_statement] = STATE(171),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_attributed_statement] = STATE(171),
-    [sym_statement] = STATE(244),
-    [sym_labeled_statement] = STATE(171),
-    [sym_expression_statement] = STATE(171),
-    [sym_if_statement] = STATE(171),
-    [sym_switch_statement] = STATE(171),
-    [sym_case_statement] = STATE(171),
-    [sym_while_statement] = STATE(171),
-    [sym_do_statement] = STATE(171),
-    [sym_for_statement] = STATE(171),
-    [sym_return_statement] = STATE(171),
-    [sym_break_statement] = STATE(171),
-    [sym_continue_statement] = STATE(171),
-    [sym_goto_statement] = STATE(171),
-    [sym_seh_try_statement] = STATE(171),
-    [sym_seh_leave_statement] = STATE(171),
-    [sym_expression] = STATE(1042),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1791),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_attributed_declarator_repeat1] = STATE(338),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(976),
+    [sym_declaration] = STATE(196),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1152),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(407),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_compound_statement] = STATE(180),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_attributed_statement] = STATE(180),
+    [sym_statement] = STATE(196),
+    [sym_labeled_statement] = STATE(180),
+    [sym_expression_statement] = STATE(180),
+    [sym_if_statement] = STATE(180),
+    [sym_switch_statement] = STATE(180),
+    [sym_case_statement] = STATE(180),
+    [sym_while_statement] = STATE(180),
+    [sym_do_statement] = STATE(180),
+    [sym_for_statement] = STATE(180),
+    [sym_return_statement] = STATE(180),
+    [sym_break_statement] = STATE(180),
+    [sym_continue_statement] = STATE(180),
+    [sym_goto_statement] = STATE(180),
+    [sym_seh_try_statement] = STATE(180),
+    [sym_seh_leave_statement] = STATE(180),
+    [sym_expression] = STATE(1052),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1858),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_attributed_declarator_repeat1] = STATE(378),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(993),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -24144,129 +24284,130 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(978),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(35),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_if] = ACTIONS(59),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(63),
-    [anon_sym_default] = ACTIONS(65),
-    [anon_sym_while] = ACTIONS(67),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(71),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(980),
-    [anon_sym___leave] = ACTIONS(982),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(498),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(37),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_LBRACE] = ACTIONS(506),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_if] = ACTIONS(508),
+    [anon_sym_switch] = ACTIONS(510),
+    [anon_sym_case] = ACTIONS(512),
+    [anon_sym_default] = ACTIONS(514),
+    [anon_sym_while] = ACTIONS(516),
+    [anon_sym_do] = ACTIONS(518),
+    [anon_sym_for] = ACTIONS(520),
+    [anon_sym_return] = ACTIONS(522),
+    [anon_sym_break] = ACTIONS(524),
+    [anon_sym_continue] = ACTIONS(526),
+    [anon_sym_goto] = ACTIONS(528),
+    [anon_sym___try] = ACTIONS(530),
+    [anon_sym___leave] = ACTIONS(532),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [75] = {
-    [sym_declaration] = STATE(466),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1136),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__for_statement_body] = STATE(1938),
-    [sym_expression] = STATE(1051),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1828),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1117),
+    [sym_declaration] = STATE(491),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1160),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__for_statement_body] = STATE(1874),
+    [sym_expression] = STATE(1058),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1837),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1122),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -24274,115 +24415,116 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(1119),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(1124),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [76] = {
-    [sym_declaration] = STATE(466),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1136),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__for_statement_body] = STATE(1953),
-    [sym_expression] = STATE(1051),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1828),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1117),
+    [sym_declaration] = STATE(491),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1160),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__for_statement_body] = STATE(1995),
+    [sym_expression] = STATE(1058),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1837),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1122),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -24390,115 +24532,116 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(1119),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(1124),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [77] = {
-    [sym_declaration] = STATE(466),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1136),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__for_statement_body] = STATE(1949),
-    [sym_expression] = STATE(1051),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1828),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1117),
+    [sym_declaration] = STATE(491),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1160),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__for_statement_body] = STATE(1815),
+    [sym_expression] = STATE(1058),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1837),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1122),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -24506,115 +24649,116 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(1119),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(1124),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [78] = {
-    [sym_declaration] = STATE(466),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1136),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__for_statement_body] = STATE(1860),
-    [sym_expression] = STATE(1051),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1828),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1117),
+    [sym_declaration] = STATE(491),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1160),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__for_statement_body] = STATE(1937),
+    [sym_expression] = STATE(1058),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1837),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1122),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -24622,115 +24766,116 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(1119),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(1124),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [79] = {
-    [sym_declaration] = STATE(466),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1136),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__for_statement_body] = STATE(1923),
-    [sym_expression] = STATE(1051),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1828),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1117),
+    [sym_declaration] = STATE(491),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1160),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__for_statement_body] = STATE(1838),
+    [sym_expression] = STATE(1058),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1837),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1122),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -24738,24677 +24883,25218 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(1119),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(1124),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [80] = {
-    [sym_else_clause] = STATE(81),
-    [sym_identifier] = ACTIONS(1123),
-    [aux_sym_preproc_include_token1] = ACTIONS(1123),
-    [aux_sym_preproc_def_token1] = ACTIONS(1123),
-    [aux_sym_preproc_if_token1] = ACTIONS(1123),
-    [aux_sym_preproc_if_token2] = ACTIONS(1123),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1123),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1123),
-    [aux_sym_preproc_else_token1] = ACTIONS(1123),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1123),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1123),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1123),
-    [sym_preproc_directive] = ACTIONS(1123),
-    [anon_sym_LPAREN2] = ACTIONS(1125),
-    [anon_sym_BANG] = ACTIONS(1125),
-    [anon_sym_TILDE] = ACTIONS(1125),
-    [anon_sym_DASH] = ACTIONS(1123),
-    [anon_sym_PLUS] = ACTIONS(1123),
-    [anon_sym_STAR] = ACTIONS(1125),
-    [anon_sym_AMP] = ACTIONS(1125),
-    [anon_sym_SEMI] = ACTIONS(1125),
-    [anon_sym___extension__] = ACTIONS(1123),
-    [anon_sym_typedef] = ACTIONS(1123),
-    [anon_sym_extern] = ACTIONS(1123),
-    [anon_sym___attribute__] = ACTIONS(1123),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1125),
-    [anon_sym___declspec] = ACTIONS(1123),
-    [anon_sym___cdecl] = ACTIONS(1123),
-    [anon_sym___clrcall] = ACTIONS(1123),
-    [anon_sym___stdcall] = ACTIONS(1123),
-    [anon_sym___fastcall] = ACTIONS(1123),
-    [anon_sym___thiscall] = ACTIONS(1123),
-    [anon_sym___vectorcall] = ACTIONS(1123),
-    [anon_sym_LBRACE] = ACTIONS(1125),
-    [anon_sym_signed] = ACTIONS(1123),
-    [anon_sym_unsigned] = ACTIONS(1123),
-    [anon_sym_long] = ACTIONS(1123),
-    [anon_sym_short] = ACTIONS(1123),
-    [anon_sym_static] = ACTIONS(1123),
-    [anon_sym_auto] = ACTIONS(1123),
-    [anon_sym_register] = ACTIONS(1123),
-    [anon_sym_inline] = ACTIONS(1123),
-    [anon_sym___inline] = ACTIONS(1123),
-    [anon_sym___inline__] = ACTIONS(1123),
-    [anon_sym___forceinline] = ACTIONS(1123),
-    [anon_sym_thread_local] = ACTIONS(1123),
-    [anon_sym___thread] = ACTIONS(1123),
-    [anon_sym_const] = ACTIONS(1123),
-    [anon_sym_constexpr] = ACTIONS(1123),
-    [anon_sym_volatile] = ACTIONS(1123),
-    [anon_sym_restrict] = ACTIONS(1123),
-    [anon_sym___restrict__] = ACTIONS(1123),
-    [anon_sym__Atomic] = ACTIONS(1123),
-    [anon_sym__Noreturn] = ACTIONS(1123),
-    [anon_sym_noreturn] = ACTIONS(1123),
-    [anon_sym__Nonnull] = ACTIONS(1123),
-    [anon_sym_alignas] = ACTIONS(1123),
-    [anon_sym__Alignas] = ACTIONS(1123),
-    [sym_primitive_type] = ACTIONS(1123),
-    [anon_sym_enum] = ACTIONS(1123),
-    [anon_sym_struct] = ACTIONS(1123),
-    [anon_sym_union] = ACTIONS(1123),
-    [anon_sym_if] = ACTIONS(1123),
-    [anon_sym_else] = ACTIONS(1127),
-    [anon_sym_switch] = ACTIONS(1123),
-    [anon_sym_case] = ACTIONS(1123),
-    [anon_sym_default] = ACTIONS(1123),
-    [anon_sym_while] = ACTIONS(1123),
-    [anon_sym_do] = ACTIONS(1123),
-    [anon_sym_for] = ACTIONS(1123),
-    [anon_sym_return] = ACTIONS(1123),
-    [anon_sym_break] = ACTIONS(1123),
-    [anon_sym_continue] = ACTIONS(1123),
-    [anon_sym_goto] = ACTIONS(1123),
-    [anon_sym___try] = ACTIONS(1123),
-    [anon_sym___leave] = ACTIONS(1123),
-    [anon_sym_DASH_DASH] = ACTIONS(1125),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1125),
-    [anon_sym_sizeof] = ACTIONS(1123),
-    [anon_sym___alignof__] = ACTIONS(1123),
-    [anon_sym___alignof] = ACTIONS(1123),
-    [anon_sym__alignof] = ACTIONS(1123),
-    [anon_sym_alignof] = ACTIONS(1123),
-    [anon_sym__Alignof] = ACTIONS(1123),
-    [anon_sym_offsetof] = ACTIONS(1123),
-    [anon_sym__Generic] = ACTIONS(1123),
-    [anon_sym_asm] = ACTIONS(1123),
-    [anon_sym___asm__] = ACTIONS(1123),
-    [anon_sym___asm] = ACTIONS(1123),
-    [sym_number_literal] = ACTIONS(1125),
-    [anon_sym_L_SQUOTE] = ACTIONS(1125),
-    [anon_sym_u_SQUOTE] = ACTIONS(1125),
-    [anon_sym_U_SQUOTE] = ACTIONS(1125),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1125),
-    [anon_sym_SQUOTE] = ACTIONS(1125),
-    [anon_sym_L_DQUOTE] = ACTIONS(1125),
-    [anon_sym_u_DQUOTE] = ACTIONS(1125),
-    [anon_sym_U_DQUOTE] = ACTIONS(1125),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1125),
-    [anon_sym_DQUOTE] = ACTIONS(1125),
-    [sym_true] = ACTIONS(1123),
-    [sym_false] = ACTIONS(1123),
-    [anon_sym_NULL] = ACTIONS(1123),
-    [anon_sym_nullptr] = ACTIONS(1123),
+    [sym_else_clause] = STATE(90),
+    [sym_identifier] = ACTIONS(1128),
+    [aux_sym_preproc_include_token1] = ACTIONS(1128),
+    [aux_sym_preproc_def_token1] = ACTIONS(1128),
+    [aux_sym_preproc_if_token1] = ACTIONS(1128),
+    [aux_sym_preproc_if_token2] = ACTIONS(1128),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1128),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1128),
+    [aux_sym_preproc_else_token1] = ACTIONS(1128),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1128),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1128),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1128),
+    [sym_preproc_directive] = ACTIONS(1128),
+    [anon_sym_LPAREN2] = ACTIONS(1130),
+    [anon_sym_BANG] = ACTIONS(1130),
+    [anon_sym_TILDE] = ACTIONS(1130),
+    [anon_sym_DASH] = ACTIONS(1128),
+    [anon_sym_PLUS] = ACTIONS(1128),
+    [anon_sym_STAR] = ACTIONS(1130),
+    [anon_sym_AMP] = ACTIONS(1130),
+    [anon_sym_SEMI] = ACTIONS(1130),
+    [anon_sym___extension__] = ACTIONS(1128),
+    [anon_sym_typedef] = ACTIONS(1128),
+    [anon_sym_extern] = ACTIONS(1128),
+    [anon_sym___attribute__] = ACTIONS(1128),
+    [anon_sym___attribute] = ACTIONS(1128),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1130),
+    [anon_sym___declspec] = ACTIONS(1128),
+    [anon_sym___cdecl] = ACTIONS(1128),
+    [anon_sym___clrcall] = ACTIONS(1128),
+    [anon_sym___stdcall] = ACTIONS(1128),
+    [anon_sym___fastcall] = ACTIONS(1128),
+    [anon_sym___thiscall] = ACTIONS(1128),
+    [anon_sym___vectorcall] = ACTIONS(1128),
+    [anon_sym_LBRACE] = ACTIONS(1130),
+    [anon_sym_signed] = ACTIONS(1128),
+    [anon_sym_unsigned] = ACTIONS(1128),
+    [anon_sym_long] = ACTIONS(1128),
+    [anon_sym_short] = ACTIONS(1128),
+    [anon_sym_static] = ACTIONS(1128),
+    [anon_sym_auto] = ACTIONS(1128),
+    [anon_sym_register] = ACTIONS(1128),
+    [anon_sym_inline] = ACTIONS(1128),
+    [anon_sym___inline] = ACTIONS(1128),
+    [anon_sym___inline__] = ACTIONS(1128),
+    [anon_sym___forceinline] = ACTIONS(1128),
+    [anon_sym_thread_local] = ACTIONS(1128),
+    [anon_sym___thread] = ACTIONS(1128),
+    [anon_sym_const] = ACTIONS(1128),
+    [anon_sym_constexpr] = ACTIONS(1128),
+    [anon_sym_volatile] = ACTIONS(1128),
+    [anon_sym_restrict] = ACTIONS(1128),
+    [anon_sym___restrict__] = ACTIONS(1128),
+    [anon_sym__Atomic] = ACTIONS(1128),
+    [anon_sym__Noreturn] = ACTIONS(1128),
+    [anon_sym_noreturn] = ACTIONS(1128),
+    [anon_sym__Nonnull] = ACTIONS(1128),
+    [anon_sym_alignas] = ACTIONS(1128),
+    [anon_sym__Alignas] = ACTIONS(1128),
+    [sym_primitive_type] = ACTIONS(1128),
+    [anon_sym_enum] = ACTIONS(1128),
+    [anon_sym_struct] = ACTIONS(1128),
+    [anon_sym_union] = ACTIONS(1128),
+    [anon_sym_if] = ACTIONS(1128),
+    [anon_sym_else] = ACTIONS(1132),
+    [anon_sym_switch] = ACTIONS(1128),
+    [anon_sym_case] = ACTIONS(1128),
+    [anon_sym_default] = ACTIONS(1128),
+    [anon_sym_while] = ACTIONS(1128),
+    [anon_sym_do] = ACTIONS(1128),
+    [anon_sym_for] = ACTIONS(1128),
+    [anon_sym_return] = ACTIONS(1128),
+    [anon_sym_break] = ACTIONS(1128),
+    [anon_sym_continue] = ACTIONS(1128),
+    [anon_sym_goto] = ACTIONS(1128),
+    [anon_sym___try] = ACTIONS(1128),
+    [anon_sym___leave] = ACTIONS(1128),
+    [anon_sym_DASH_DASH] = ACTIONS(1130),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1130),
+    [anon_sym_sizeof] = ACTIONS(1128),
+    [anon_sym___alignof__] = ACTIONS(1128),
+    [anon_sym___alignof] = ACTIONS(1128),
+    [anon_sym__alignof] = ACTIONS(1128),
+    [anon_sym_alignof] = ACTIONS(1128),
+    [anon_sym__Alignof] = ACTIONS(1128),
+    [anon_sym_offsetof] = ACTIONS(1128),
+    [anon_sym__Generic] = ACTIONS(1128),
+    [anon_sym_asm] = ACTIONS(1128),
+    [anon_sym___asm__] = ACTIONS(1128),
+    [anon_sym___asm] = ACTIONS(1128),
+    [sym_number_literal] = ACTIONS(1130),
+    [anon_sym_L_SQUOTE] = ACTIONS(1130),
+    [anon_sym_u_SQUOTE] = ACTIONS(1130),
+    [anon_sym_U_SQUOTE] = ACTIONS(1130),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1130),
+    [anon_sym_SQUOTE] = ACTIONS(1130),
+    [anon_sym_L_DQUOTE] = ACTIONS(1130),
+    [anon_sym_u_DQUOTE] = ACTIONS(1130),
+    [anon_sym_U_DQUOTE] = ACTIONS(1130),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1130),
+    [anon_sym_DQUOTE] = ACTIONS(1130),
+    [sym_true] = ACTIONS(1128),
+    [sym_false] = ACTIONS(1128),
+    [anon_sym_NULL] = ACTIONS(1128),
+    [anon_sym_nullptr] = ACTIONS(1128),
     [sym_comment] = ACTIONS(3),
   },
   [81] = {
-    [sym_identifier] = ACTIONS(1129),
-    [aux_sym_preproc_include_token1] = ACTIONS(1129),
-    [aux_sym_preproc_def_token1] = ACTIONS(1129),
-    [aux_sym_preproc_if_token1] = ACTIONS(1129),
-    [aux_sym_preproc_if_token2] = ACTIONS(1129),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1129),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1129),
-    [aux_sym_preproc_else_token1] = ACTIONS(1129),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1129),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1129),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1129),
-    [sym_preproc_directive] = ACTIONS(1129),
-    [anon_sym_LPAREN2] = ACTIONS(1131),
-    [anon_sym_BANG] = ACTIONS(1131),
-    [anon_sym_TILDE] = ACTIONS(1131),
-    [anon_sym_DASH] = ACTIONS(1129),
-    [anon_sym_PLUS] = ACTIONS(1129),
-    [anon_sym_STAR] = ACTIONS(1131),
-    [anon_sym_AMP] = ACTIONS(1131),
-    [anon_sym_SEMI] = ACTIONS(1131),
-    [anon_sym___extension__] = ACTIONS(1129),
-    [anon_sym_typedef] = ACTIONS(1129),
-    [anon_sym_extern] = ACTIONS(1129),
-    [anon_sym___attribute__] = ACTIONS(1129),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1131),
-    [anon_sym___declspec] = ACTIONS(1129),
-    [anon_sym___cdecl] = ACTIONS(1129),
-    [anon_sym___clrcall] = ACTIONS(1129),
-    [anon_sym___stdcall] = ACTIONS(1129),
-    [anon_sym___fastcall] = ACTIONS(1129),
-    [anon_sym___thiscall] = ACTIONS(1129),
-    [anon_sym___vectorcall] = ACTIONS(1129),
-    [anon_sym_LBRACE] = ACTIONS(1131),
-    [anon_sym_signed] = ACTIONS(1129),
-    [anon_sym_unsigned] = ACTIONS(1129),
-    [anon_sym_long] = ACTIONS(1129),
-    [anon_sym_short] = ACTIONS(1129),
-    [anon_sym_static] = ACTIONS(1129),
-    [anon_sym_auto] = ACTIONS(1129),
-    [anon_sym_register] = ACTIONS(1129),
-    [anon_sym_inline] = ACTIONS(1129),
-    [anon_sym___inline] = ACTIONS(1129),
-    [anon_sym___inline__] = ACTIONS(1129),
-    [anon_sym___forceinline] = ACTIONS(1129),
-    [anon_sym_thread_local] = ACTIONS(1129),
-    [anon_sym___thread] = ACTIONS(1129),
-    [anon_sym_const] = ACTIONS(1129),
-    [anon_sym_constexpr] = ACTIONS(1129),
-    [anon_sym_volatile] = ACTIONS(1129),
-    [anon_sym_restrict] = ACTIONS(1129),
-    [anon_sym___restrict__] = ACTIONS(1129),
-    [anon_sym__Atomic] = ACTIONS(1129),
-    [anon_sym__Noreturn] = ACTIONS(1129),
-    [anon_sym_noreturn] = ACTIONS(1129),
-    [anon_sym__Nonnull] = ACTIONS(1129),
-    [anon_sym_alignas] = ACTIONS(1129),
-    [anon_sym__Alignas] = ACTIONS(1129),
-    [sym_primitive_type] = ACTIONS(1129),
-    [anon_sym_enum] = ACTIONS(1129),
-    [anon_sym_struct] = ACTIONS(1129),
-    [anon_sym_union] = ACTIONS(1129),
-    [anon_sym_if] = ACTIONS(1129),
-    [anon_sym_else] = ACTIONS(1129),
-    [anon_sym_switch] = ACTIONS(1129),
-    [anon_sym_case] = ACTIONS(1129),
-    [anon_sym_default] = ACTIONS(1129),
-    [anon_sym_while] = ACTIONS(1129),
-    [anon_sym_do] = ACTIONS(1129),
-    [anon_sym_for] = ACTIONS(1129),
-    [anon_sym_return] = ACTIONS(1129),
-    [anon_sym_break] = ACTIONS(1129),
-    [anon_sym_continue] = ACTIONS(1129),
-    [anon_sym_goto] = ACTIONS(1129),
-    [anon_sym___try] = ACTIONS(1129),
-    [anon_sym___leave] = ACTIONS(1129),
-    [anon_sym_DASH_DASH] = ACTIONS(1131),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1131),
-    [anon_sym_sizeof] = ACTIONS(1129),
-    [anon_sym___alignof__] = ACTIONS(1129),
-    [anon_sym___alignof] = ACTIONS(1129),
-    [anon_sym__alignof] = ACTIONS(1129),
-    [anon_sym_alignof] = ACTIONS(1129),
-    [anon_sym__Alignof] = ACTIONS(1129),
-    [anon_sym_offsetof] = ACTIONS(1129),
-    [anon_sym__Generic] = ACTIONS(1129),
-    [anon_sym_asm] = ACTIONS(1129),
-    [anon_sym___asm__] = ACTIONS(1129),
-    [anon_sym___asm] = ACTIONS(1129),
-    [sym_number_literal] = ACTIONS(1131),
-    [anon_sym_L_SQUOTE] = ACTIONS(1131),
-    [anon_sym_u_SQUOTE] = ACTIONS(1131),
-    [anon_sym_U_SQUOTE] = ACTIONS(1131),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1131),
-    [anon_sym_SQUOTE] = ACTIONS(1131),
-    [anon_sym_L_DQUOTE] = ACTIONS(1131),
-    [anon_sym_u_DQUOTE] = ACTIONS(1131),
-    [anon_sym_U_DQUOTE] = ACTIONS(1131),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1131),
-    [anon_sym_DQUOTE] = ACTIONS(1131),
-    [sym_true] = ACTIONS(1129),
-    [sym_false] = ACTIONS(1129),
-    [anon_sym_NULL] = ACTIONS(1129),
-    [anon_sym_nullptr] = ACTIONS(1129),
+    [sym_identifier] = ACTIONS(1134),
+    [aux_sym_preproc_include_token1] = ACTIONS(1134),
+    [aux_sym_preproc_def_token1] = ACTIONS(1134),
+    [aux_sym_preproc_if_token1] = ACTIONS(1134),
+    [aux_sym_preproc_if_token2] = ACTIONS(1134),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1134),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1134),
+    [aux_sym_preproc_else_token1] = ACTIONS(1134),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1134),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1134),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1134),
+    [sym_preproc_directive] = ACTIONS(1134),
+    [anon_sym_LPAREN2] = ACTIONS(1136),
+    [anon_sym_BANG] = ACTIONS(1136),
+    [anon_sym_TILDE] = ACTIONS(1136),
+    [anon_sym_DASH] = ACTIONS(1134),
+    [anon_sym_PLUS] = ACTIONS(1134),
+    [anon_sym_STAR] = ACTIONS(1136),
+    [anon_sym_AMP] = ACTIONS(1136),
+    [anon_sym_SEMI] = ACTIONS(1136),
+    [anon_sym___extension__] = ACTIONS(1134),
+    [anon_sym_typedef] = ACTIONS(1134),
+    [anon_sym_extern] = ACTIONS(1134),
+    [anon_sym___attribute__] = ACTIONS(1134),
+    [anon_sym___attribute] = ACTIONS(1134),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1136),
+    [anon_sym___declspec] = ACTIONS(1134),
+    [anon_sym___cdecl] = ACTIONS(1134),
+    [anon_sym___clrcall] = ACTIONS(1134),
+    [anon_sym___stdcall] = ACTIONS(1134),
+    [anon_sym___fastcall] = ACTIONS(1134),
+    [anon_sym___thiscall] = ACTIONS(1134),
+    [anon_sym___vectorcall] = ACTIONS(1134),
+    [anon_sym_LBRACE] = ACTIONS(1136),
+    [anon_sym_signed] = ACTIONS(1134),
+    [anon_sym_unsigned] = ACTIONS(1134),
+    [anon_sym_long] = ACTIONS(1134),
+    [anon_sym_short] = ACTIONS(1134),
+    [anon_sym_static] = ACTIONS(1134),
+    [anon_sym_auto] = ACTIONS(1134),
+    [anon_sym_register] = ACTIONS(1134),
+    [anon_sym_inline] = ACTIONS(1134),
+    [anon_sym___inline] = ACTIONS(1134),
+    [anon_sym___inline__] = ACTIONS(1134),
+    [anon_sym___forceinline] = ACTIONS(1134),
+    [anon_sym_thread_local] = ACTIONS(1134),
+    [anon_sym___thread] = ACTIONS(1134),
+    [anon_sym_const] = ACTIONS(1134),
+    [anon_sym_constexpr] = ACTIONS(1134),
+    [anon_sym_volatile] = ACTIONS(1134),
+    [anon_sym_restrict] = ACTIONS(1134),
+    [anon_sym___restrict__] = ACTIONS(1134),
+    [anon_sym__Atomic] = ACTIONS(1134),
+    [anon_sym__Noreturn] = ACTIONS(1134),
+    [anon_sym_noreturn] = ACTIONS(1134),
+    [anon_sym__Nonnull] = ACTIONS(1134),
+    [anon_sym_alignas] = ACTIONS(1134),
+    [anon_sym__Alignas] = ACTIONS(1134),
+    [sym_primitive_type] = ACTIONS(1134),
+    [anon_sym_enum] = ACTIONS(1134),
+    [anon_sym_struct] = ACTIONS(1134),
+    [anon_sym_union] = ACTIONS(1134),
+    [anon_sym_if] = ACTIONS(1134),
+    [anon_sym_else] = ACTIONS(1134),
+    [anon_sym_switch] = ACTIONS(1134),
+    [anon_sym_case] = ACTIONS(1134),
+    [anon_sym_default] = ACTIONS(1134),
+    [anon_sym_while] = ACTIONS(1134),
+    [anon_sym_do] = ACTIONS(1134),
+    [anon_sym_for] = ACTIONS(1134),
+    [anon_sym_return] = ACTIONS(1134),
+    [anon_sym_break] = ACTIONS(1134),
+    [anon_sym_continue] = ACTIONS(1134),
+    [anon_sym_goto] = ACTIONS(1134),
+    [anon_sym___try] = ACTIONS(1134),
+    [anon_sym___leave] = ACTIONS(1134),
+    [anon_sym_DASH_DASH] = ACTIONS(1136),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1136),
+    [anon_sym_sizeof] = ACTIONS(1134),
+    [anon_sym___alignof__] = ACTIONS(1134),
+    [anon_sym___alignof] = ACTIONS(1134),
+    [anon_sym__alignof] = ACTIONS(1134),
+    [anon_sym_alignof] = ACTIONS(1134),
+    [anon_sym__Alignof] = ACTIONS(1134),
+    [anon_sym_offsetof] = ACTIONS(1134),
+    [anon_sym__Generic] = ACTIONS(1134),
+    [anon_sym_asm] = ACTIONS(1134),
+    [anon_sym___asm__] = ACTIONS(1134),
+    [anon_sym___asm] = ACTIONS(1134),
+    [sym_number_literal] = ACTIONS(1136),
+    [anon_sym_L_SQUOTE] = ACTIONS(1136),
+    [anon_sym_u_SQUOTE] = ACTIONS(1136),
+    [anon_sym_U_SQUOTE] = ACTIONS(1136),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1136),
+    [anon_sym_SQUOTE] = ACTIONS(1136),
+    [anon_sym_L_DQUOTE] = ACTIONS(1136),
+    [anon_sym_u_DQUOTE] = ACTIONS(1136),
+    [anon_sym_U_DQUOTE] = ACTIONS(1136),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1136),
+    [anon_sym_DQUOTE] = ACTIONS(1136),
+    [sym_true] = ACTIONS(1134),
+    [sym_false] = ACTIONS(1134),
+    [anon_sym_NULL] = ACTIONS(1134),
+    [anon_sym_nullptr] = ACTIONS(1134),
     [sym_comment] = ACTIONS(3),
   },
   [82] = {
-    [sym_identifier] = ACTIONS(1133),
-    [aux_sym_preproc_include_token1] = ACTIONS(1133),
-    [aux_sym_preproc_def_token1] = ACTIONS(1133),
-    [aux_sym_preproc_if_token1] = ACTIONS(1133),
-    [aux_sym_preproc_if_token2] = ACTIONS(1133),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1133),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1133),
-    [aux_sym_preproc_else_token1] = ACTIONS(1133),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1133),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1133),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1133),
-    [sym_preproc_directive] = ACTIONS(1133),
-    [anon_sym_LPAREN2] = ACTIONS(1135),
-    [anon_sym_BANG] = ACTIONS(1135),
-    [anon_sym_TILDE] = ACTIONS(1135),
-    [anon_sym_DASH] = ACTIONS(1133),
-    [anon_sym_PLUS] = ACTIONS(1133),
-    [anon_sym_STAR] = ACTIONS(1135),
-    [anon_sym_AMP] = ACTIONS(1135),
-    [anon_sym_SEMI] = ACTIONS(1135),
-    [anon_sym___extension__] = ACTIONS(1133),
-    [anon_sym_typedef] = ACTIONS(1133),
-    [anon_sym_extern] = ACTIONS(1133),
-    [anon_sym___attribute__] = ACTIONS(1133),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1135),
-    [anon_sym___declspec] = ACTIONS(1133),
-    [anon_sym___cdecl] = ACTIONS(1133),
-    [anon_sym___clrcall] = ACTIONS(1133),
-    [anon_sym___stdcall] = ACTIONS(1133),
-    [anon_sym___fastcall] = ACTIONS(1133),
-    [anon_sym___thiscall] = ACTIONS(1133),
-    [anon_sym___vectorcall] = ACTIONS(1133),
-    [anon_sym_LBRACE] = ACTIONS(1135),
-    [anon_sym_signed] = ACTIONS(1133),
-    [anon_sym_unsigned] = ACTIONS(1133),
-    [anon_sym_long] = ACTIONS(1133),
-    [anon_sym_short] = ACTIONS(1133),
-    [anon_sym_static] = ACTIONS(1133),
-    [anon_sym_auto] = ACTIONS(1133),
-    [anon_sym_register] = ACTIONS(1133),
-    [anon_sym_inline] = ACTIONS(1133),
-    [anon_sym___inline] = ACTIONS(1133),
-    [anon_sym___inline__] = ACTIONS(1133),
-    [anon_sym___forceinline] = ACTIONS(1133),
-    [anon_sym_thread_local] = ACTIONS(1133),
-    [anon_sym___thread] = ACTIONS(1133),
-    [anon_sym_const] = ACTIONS(1133),
-    [anon_sym_constexpr] = ACTIONS(1133),
-    [anon_sym_volatile] = ACTIONS(1133),
-    [anon_sym_restrict] = ACTIONS(1133),
-    [anon_sym___restrict__] = ACTIONS(1133),
-    [anon_sym__Atomic] = ACTIONS(1133),
-    [anon_sym__Noreturn] = ACTIONS(1133),
-    [anon_sym_noreturn] = ACTIONS(1133),
-    [anon_sym__Nonnull] = ACTIONS(1133),
-    [anon_sym_alignas] = ACTIONS(1133),
-    [anon_sym__Alignas] = ACTIONS(1133),
-    [sym_primitive_type] = ACTIONS(1133),
-    [anon_sym_enum] = ACTIONS(1133),
-    [anon_sym_struct] = ACTIONS(1133),
-    [anon_sym_union] = ACTIONS(1133),
-    [anon_sym_if] = ACTIONS(1133),
-    [anon_sym_else] = ACTIONS(1133),
-    [anon_sym_switch] = ACTIONS(1133),
-    [anon_sym_case] = ACTIONS(1133),
-    [anon_sym_default] = ACTIONS(1133),
-    [anon_sym_while] = ACTIONS(1133),
-    [anon_sym_do] = ACTIONS(1133),
-    [anon_sym_for] = ACTIONS(1133),
-    [anon_sym_return] = ACTIONS(1133),
-    [anon_sym_break] = ACTIONS(1133),
-    [anon_sym_continue] = ACTIONS(1133),
-    [anon_sym_goto] = ACTIONS(1133),
-    [anon_sym___try] = ACTIONS(1133),
-    [anon_sym___leave] = ACTIONS(1133),
-    [anon_sym_DASH_DASH] = ACTIONS(1135),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1135),
-    [anon_sym_sizeof] = ACTIONS(1133),
-    [anon_sym___alignof__] = ACTIONS(1133),
-    [anon_sym___alignof] = ACTIONS(1133),
-    [anon_sym__alignof] = ACTIONS(1133),
-    [anon_sym_alignof] = ACTIONS(1133),
-    [anon_sym__Alignof] = ACTIONS(1133),
-    [anon_sym_offsetof] = ACTIONS(1133),
-    [anon_sym__Generic] = ACTIONS(1133),
-    [anon_sym_asm] = ACTIONS(1133),
-    [anon_sym___asm__] = ACTIONS(1133),
-    [anon_sym___asm] = ACTIONS(1133),
-    [sym_number_literal] = ACTIONS(1135),
-    [anon_sym_L_SQUOTE] = ACTIONS(1135),
-    [anon_sym_u_SQUOTE] = ACTIONS(1135),
-    [anon_sym_U_SQUOTE] = ACTIONS(1135),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1135),
-    [anon_sym_SQUOTE] = ACTIONS(1135),
-    [anon_sym_L_DQUOTE] = ACTIONS(1135),
-    [anon_sym_u_DQUOTE] = ACTIONS(1135),
-    [anon_sym_U_DQUOTE] = ACTIONS(1135),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1135),
-    [anon_sym_DQUOTE] = ACTIONS(1135),
-    [sym_true] = ACTIONS(1133),
-    [sym_false] = ACTIONS(1133),
-    [anon_sym_NULL] = ACTIONS(1133),
-    [anon_sym_nullptr] = ACTIONS(1133),
+    [sym_identifier] = ACTIONS(1138),
+    [aux_sym_preproc_include_token1] = ACTIONS(1138),
+    [aux_sym_preproc_def_token1] = ACTIONS(1138),
+    [aux_sym_preproc_if_token1] = ACTIONS(1138),
+    [aux_sym_preproc_if_token2] = ACTIONS(1138),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1138),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1138),
+    [aux_sym_preproc_else_token1] = ACTIONS(1138),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1138),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1138),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1138),
+    [sym_preproc_directive] = ACTIONS(1138),
+    [anon_sym_LPAREN2] = ACTIONS(1140),
+    [anon_sym_BANG] = ACTIONS(1140),
+    [anon_sym_TILDE] = ACTIONS(1140),
+    [anon_sym_DASH] = ACTIONS(1138),
+    [anon_sym_PLUS] = ACTIONS(1138),
+    [anon_sym_STAR] = ACTIONS(1140),
+    [anon_sym_AMP] = ACTIONS(1140),
+    [anon_sym_SEMI] = ACTIONS(1140),
+    [anon_sym___extension__] = ACTIONS(1138),
+    [anon_sym_typedef] = ACTIONS(1138),
+    [anon_sym_extern] = ACTIONS(1138),
+    [anon_sym___attribute__] = ACTIONS(1138),
+    [anon_sym___attribute] = ACTIONS(1138),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1140),
+    [anon_sym___declspec] = ACTIONS(1138),
+    [anon_sym___cdecl] = ACTIONS(1138),
+    [anon_sym___clrcall] = ACTIONS(1138),
+    [anon_sym___stdcall] = ACTIONS(1138),
+    [anon_sym___fastcall] = ACTIONS(1138),
+    [anon_sym___thiscall] = ACTIONS(1138),
+    [anon_sym___vectorcall] = ACTIONS(1138),
+    [anon_sym_LBRACE] = ACTIONS(1140),
+    [anon_sym_signed] = ACTIONS(1138),
+    [anon_sym_unsigned] = ACTIONS(1138),
+    [anon_sym_long] = ACTIONS(1138),
+    [anon_sym_short] = ACTIONS(1138),
+    [anon_sym_static] = ACTIONS(1138),
+    [anon_sym_auto] = ACTIONS(1138),
+    [anon_sym_register] = ACTIONS(1138),
+    [anon_sym_inline] = ACTIONS(1138),
+    [anon_sym___inline] = ACTIONS(1138),
+    [anon_sym___inline__] = ACTIONS(1138),
+    [anon_sym___forceinline] = ACTIONS(1138),
+    [anon_sym_thread_local] = ACTIONS(1138),
+    [anon_sym___thread] = ACTIONS(1138),
+    [anon_sym_const] = ACTIONS(1138),
+    [anon_sym_constexpr] = ACTIONS(1138),
+    [anon_sym_volatile] = ACTIONS(1138),
+    [anon_sym_restrict] = ACTIONS(1138),
+    [anon_sym___restrict__] = ACTIONS(1138),
+    [anon_sym__Atomic] = ACTIONS(1138),
+    [anon_sym__Noreturn] = ACTIONS(1138),
+    [anon_sym_noreturn] = ACTIONS(1138),
+    [anon_sym__Nonnull] = ACTIONS(1138),
+    [anon_sym_alignas] = ACTIONS(1138),
+    [anon_sym__Alignas] = ACTIONS(1138),
+    [sym_primitive_type] = ACTIONS(1138),
+    [anon_sym_enum] = ACTIONS(1138),
+    [anon_sym_struct] = ACTIONS(1138),
+    [anon_sym_union] = ACTIONS(1138),
+    [anon_sym_if] = ACTIONS(1138),
+    [anon_sym_else] = ACTIONS(1138),
+    [anon_sym_switch] = ACTIONS(1138),
+    [anon_sym_case] = ACTIONS(1138),
+    [anon_sym_default] = ACTIONS(1138),
+    [anon_sym_while] = ACTIONS(1138),
+    [anon_sym_do] = ACTIONS(1138),
+    [anon_sym_for] = ACTIONS(1138),
+    [anon_sym_return] = ACTIONS(1138),
+    [anon_sym_break] = ACTIONS(1138),
+    [anon_sym_continue] = ACTIONS(1138),
+    [anon_sym_goto] = ACTIONS(1138),
+    [anon_sym___try] = ACTIONS(1138),
+    [anon_sym___leave] = ACTIONS(1138),
+    [anon_sym_DASH_DASH] = ACTIONS(1140),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1140),
+    [anon_sym_sizeof] = ACTIONS(1138),
+    [anon_sym___alignof__] = ACTIONS(1138),
+    [anon_sym___alignof] = ACTIONS(1138),
+    [anon_sym__alignof] = ACTIONS(1138),
+    [anon_sym_alignof] = ACTIONS(1138),
+    [anon_sym__Alignof] = ACTIONS(1138),
+    [anon_sym_offsetof] = ACTIONS(1138),
+    [anon_sym__Generic] = ACTIONS(1138),
+    [anon_sym_asm] = ACTIONS(1138),
+    [anon_sym___asm__] = ACTIONS(1138),
+    [anon_sym___asm] = ACTIONS(1138),
+    [sym_number_literal] = ACTIONS(1140),
+    [anon_sym_L_SQUOTE] = ACTIONS(1140),
+    [anon_sym_u_SQUOTE] = ACTIONS(1140),
+    [anon_sym_U_SQUOTE] = ACTIONS(1140),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1140),
+    [anon_sym_SQUOTE] = ACTIONS(1140),
+    [anon_sym_L_DQUOTE] = ACTIONS(1140),
+    [anon_sym_u_DQUOTE] = ACTIONS(1140),
+    [anon_sym_U_DQUOTE] = ACTIONS(1140),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1140),
+    [anon_sym_DQUOTE] = ACTIONS(1140),
+    [sym_true] = ACTIONS(1138),
+    [sym_false] = ACTIONS(1138),
+    [anon_sym_NULL] = ACTIONS(1138),
+    [anon_sym_nullptr] = ACTIONS(1138),
     [sym_comment] = ACTIONS(3),
   },
   [83] = {
-    [sym_identifier] = ACTIONS(1137),
-    [aux_sym_preproc_include_token1] = ACTIONS(1137),
-    [aux_sym_preproc_def_token1] = ACTIONS(1137),
-    [aux_sym_preproc_if_token1] = ACTIONS(1137),
-    [aux_sym_preproc_if_token2] = ACTIONS(1137),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1137),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1137),
-    [aux_sym_preproc_else_token1] = ACTIONS(1137),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1137),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1137),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1137),
-    [sym_preproc_directive] = ACTIONS(1137),
-    [anon_sym_LPAREN2] = ACTIONS(1139),
-    [anon_sym_BANG] = ACTIONS(1139),
-    [anon_sym_TILDE] = ACTIONS(1139),
-    [anon_sym_DASH] = ACTIONS(1137),
-    [anon_sym_PLUS] = ACTIONS(1137),
-    [anon_sym_STAR] = ACTIONS(1139),
-    [anon_sym_AMP] = ACTIONS(1139),
-    [anon_sym_SEMI] = ACTIONS(1139),
-    [anon_sym___extension__] = ACTIONS(1137),
-    [anon_sym_typedef] = ACTIONS(1137),
-    [anon_sym_extern] = ACTIONS(1137),
-    [anon_sym___attribute__] = ACTIONS(1137),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1139),
-    [anon_sym___declspec] = ACTIONS(1137),
-    [anon_sym___cdecl] = ACTIONS(1137),
-    [anon_sym___clrcall] = ACTIONS(1137),
-    [anon_sym___stdcall] = ACTIONS(1137),
-    [anon_sym___fastcall] = ACTIONS(1137),
-    [anon_sym___thiscall] = ACTIONS(1137),
-    [anon_sym___vectorcall] = ACTIONS(1137),
-    [anon_sym_LBRACE] = ACTIONS(1139),
-    [anon_sym_signed] = ACTIONS(1137),
-    [anon_sym_unsigned] = ACTIONS(1137),
-    [anon_sym_long] = ACTIONS(1137),
-    [anon_sym_short] = ACTIONS(1137),
-    [anon_sym_static] = ACTIONS(1137),
-    [anon_sym_auto] = ACTIONS(1137),
-    [anon_sym_register] = ACTIONS(1137),
-    [anon_sym_inline] = ACTIONS(1137),
-    [anon_sym___inline] = ACTIONS(1137),
-    [anon_sym___inline__] = ACTIONS(1137),
-    [anon_sym___forceinline] = ACTIONS(1137),
-    [anon_sym_thread_local] = ACTIONS(1137),
-    [anon_sym___thread] = ACTIONS(1137),
-    [anon_sym_const] = ACTIONS(1137),
-    [anon_sym_constexpr] = ACTIONS(1137),
-    [anon_sym_volatile] = ACTIONS(1137),
-    [anon_sym_restrict] = ACTIONS(1137),
-    [anon_sym___restrict__] = ACTIONS(1137),
-    [anon_sym__Atomic] = ACTIONS(1137),
-    [anon_sym__Noreturn] = ACTIONS(1137),
-    [anon_sym_noreturn] = ACTIONS(1137),
-    [anon_sym__Nonnull] = ACTIONS(1137),
-    [anon_sym_alignas] = ACTIONS(1137),
-    [anon_sym__Alignas] = ACTIONS(1137),
-    [sym_primitive_type] = ACTIONS(1137),
-    [anon_sym_enum] = ACTIONS(1137),
-    [anon_sym_struct] = ACTIONS(1137),
-    [anon_sym_union] = ACTIONS(1137),
-    [anon_sym_if] = ACTIONS(1137),
-    [anon_sym_else] = ACTIONS(1137),
-    [anon_sym_switch] = ACTIONS(1137),
-    [anon_sym_case] = ACTIONS(1137),
-    [anon_sym_default] = ACTIONS(1137),
-    [anon_sym_while] = ACTIONS(1137),
-    [anon_sym_do] = ACTIONS(1137),
-    [anon_sym_for] = ACTIONS(1137),
-    [anon_sym_return] = ACTIONS(1137),
-    [anon_sym_break] = ACTIONS(1137),
-    [anon_sym_continue] = ACTIONS(1137),
-    [anon_sym_goto] = ACTIONS(1137),
-    [anon_sym___try] = ACTIONS(1137),
-    [anon_sym___leave] = ACTIONS(1137),
-    [anon_sym_DASH_DASH] = ACTIONS(1139),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1139),
-    [anon_sym_sizeof] = ACTIONS(1137),
-    [anon_sym___alignof__] = ACTIONS(1137),
-    [anon_sym___alignof] = ACTIONS(1137),
-    [anon_sym__alignof] = ACTIONS(1137),
-    [anon_sym_alignof] = ACTIONS(1137),
-    [anon_sym__Alignof] = ACTIONS(1137),
-    [anon_sym_offsetof] = ACTIONS(1137),
-    [anon_sym__Generic] = ACTIONS(1137),
-    [anon_sym_asm] = ACTIONS(1137),
-    [anon_sym___asm__] = ACTIONS(1137),
-    [anon_sym___asm] = ACTIONS(1137),
-    [sym_number_literal] = ACTIONS(1139),
-    [anon_sym_L_SQUOTE] = ACTIONS(1139),
-    [anon_sym_u_SQUOTE] = ACTIONS(1139),
-    [anon_sym_U_SQUOTE] = ACTIONS(1139),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1139),
-    [anon_sym_SQUOTE] = ACTIONS(1139),
-    [anon_sym_L_DQUOTE] = ACTIONS(1139),
-    [anon_sym_u_DQUOTE] = ACTIONS(1139),
-    [anon_sym_U_DQUOTE] = ACTIONS(1139),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1139),
-    [anon_sym_DQUOTE] = ACTIONS(1139),
-    [sym_true] = ACTIONS(1137),
-    [sym_false] = ACTIONS(1137),
-    [anon_sym_NULL] = ACTIONS(1137),
-    [anon_sym_nullptr] = ACTIONS(1137),
+    [sym_identifier] = ACTIONS(1142),
+    [aux_sym_preproc_include_token1] = ACTIONS(1142),
+    [aux_sym_preproc_def_token1] = ACTIONS(1142),
+    [aux_sym_preproc_if_token1] = ACTIONS(1142),
+    [aux_sym_preproc_if_token2] = ACTIONS(1142),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1142),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1142),
+    [aux_sym_preproc_else_token1] = ACTIONS(1142),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1142),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1142),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1142),
+    [sym_preproc_directive] = ACTIONS(1142),
+    [anon_sym_LPAREN2] = ACTIONS(1144),
+    [anon_sym_BANG] = ACTIONS(1144),
+    [anon_sym_TILDE] = ACTIONS(1144),
+    [anon_sym_DASH] = ACTIONS(1142),
+    [anon_sym_PLUS] = ACTIONS(1142),
+    [anon_sym_STAR] = ACTIONS(1144),
+    [anon_sym_AMP] = ACTIONS(1144),
+    [anon_sym_SEMI] = ACTIONS(1144),
+    [anon_sym___extension__] = ACTIONS(1142),
+    [anon_sym_typedef] = ACTIONS(1142),
+    [anon_sym_extern] = ACTIONS(1142),
+    [anon_sym___attribute__] = ACTIONS(1142),
+    [anon_sym___attribute] = ACTIONS(1142),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1144),
+    [anon_sym___declspec] = ACTIONS(1142),
+    [anon_sym___cdecl] = ACTIONS(1142),
+    [anon_sym___clrcall] = ACTIONS(1142),
+    [anon_sym___stdcall] = ACTIONS(1142),
+    [anon_sym___fastcall] = ACTIONS(1142),
+    [anon_sym___thiscall] = ACTIONS(1142),
+    [anon_sym___vectorcall] = ACTIONS(1142),
+    [anon_sym_LBRACE] = ACTIONS(1144),
+    [anon_sym_signed] = ACTIONS(1142),
+    [anon_sym_unsigned] = ACTIONS(1142),
+    [anon_sym_long] = ACTIONS(1142),
+    [anon_sym_short] = ACTIONS(1142),
+    [anon_sym_static] = ACTIONS(1142),
+    [anon_sym_auto] = ACTIONS(1142),
+    [anon_sym_register] = ACTIONS(1142),
+    [anon_sym_inline] = ACTIONS(1142),
+    [anon_sym___inline] = ACTIONS(1142),
+    [anon_sym___inline__] = ACTIONS(1142),
+    [anon_sym___forceinline] = ACTIONS(1142),
+    [anon_sym_thread_local] = ACTIONS(1142),
+    [anon_sym___thread] = ACTIONS(1142),
+    [anon_sym_const] = ACTIONS(1142),
+    [anon_sym_constexpr] = ACTIONS(1142),
+    [anon_sym_volatile] = ACTIONS(1142),
+    [anon_sym_restrict] = ACTIONS(1142),
+    [anon_sym___restrict__] = ACTIONS(1142),
+    [anon_sym__Atomic] = ACTIONS(1142),
+    [anon_sym__Noreturn] = ACTIONS(1142),
+    [anon_sym_noreturn] = ACTIONS(1142),
+    [anon_sym__Nonnull] = ACTIONS(1142),
+    [anon_sym_alignas] = ACTIONS(1142),
+    [anon_sym__Alignas] = ACTIONS(1142),
+    [sym_primitive_type] = ACTIONS(1142),
+    [anon_sym_enum] = ACTIONS(1142),
+    [anon_sym_struct] = ACTIONS(1142),
+    [anon_sym_union] = ACTIONS(1142),
+    [anon_sym_if] = ACTIONS(1142),
+    [anon_sym_else] = ACTIONS(1142),
+    [anon_sym_switch] = ACTIONS(1142),
+    [anon_sym_case] = ACTIONS(1142),
+    [anon_sym_default] = ACTIONS(1142),
+    [anon_sym_while] = ACTIONS(1142),
+    [anon_sym_do] = ACTIONS(1142),
+    [anon_sym_for] = ACTIONS(1142),
+    [anon_sym_return] = ACTIONS(1142),
+    [anon_sym_break] = ACTIONS(1142),
+    [anon_sym_continue] = ACTIONS(1142),
+    [anon_sym_goto] = ACTIONS(1142),
+    [anon_sym___try] = ACTIONS(1142),
+    [anon_sym___leave] = ACTIONS(1142),
+    [anon_sym_DASH_DASH] = ACTIONS(1144),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1144),
+    [anon_sym_sizeof] = ACTIONS(1142),
+    [anon_sym___alignof__] = ACTIONS(1142),
+    [anon_sym___alignof] = ACTIONS(1142),
+    [anon_sym__alignof] = ACTIONS(1142),
+    [anon_sym_alignof] = ACTIONS(1142),
+    [anon_sym__Alignof] = ACTIONS(1142),
+    [anon_sym_offsetof] = ACTIONS(1142),
+    [anon_sym__Generic] = ACTIONS(1142),
+    [anon_sym_asm] = ACTIONS(1142),
+    [anon_sym___asm__] = ACTIONS(1142),
+    [anon_sym___asm] = ACTIONS(1142),
+    [sym_number_literal] = ACTIONS(1144),
+    [anon_sym_L_SQUOTE] = ACTIONS(1144),
+    [anon_sym_u_SQUOTE] = ACTIONS(1144),
+    [anon_sym_U_SQUOTE] = ACTIONS(1144),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1144),
+    [anon_sym_SQUOTE] = ACTIONS(1144),
+    [anon_sym_L_DQUOTE] = ACTIONS(1144),
+    [anon_sym_u_DQUOTE] = ACTIONS(1144),
+    [anon_sym_U_DQUOTE] = ACTIONS(1144),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1144),
+    [anon_sym_DQUOTE] = ACTIONS(1144),
+    [sym_true] = ACTIONS(1142),
+    [sym_false] = ACTIONS(1142),
+    [anon_sym_NULL] = ACTIONS(1142),
+    [anon_sym_nullptr] = ACTIONS(1142),
     [sym_comment] = ACTIONS(3),
   },
   [84] = {
-    [sym_identifier] = ACTIONS(1141),
-    [aux_sym_preproc_include_token1] = ACTIONS(1141),
-    [aux_sym_preproc_def_token1] = ACTIONS(1141),
-    [aux_sym_preproc_if_token1] = ACTIONS(1141),
-    [aux_sym_preproc_if_token2] = ACTIONS(1141),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1141),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1141),
-    [aux_sym_preproc_else_token1] = ACTIONS(1141),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1141),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1141),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1141),
-    [sym_preproc_directive] = ACTIONS(1141),
-    [anon_sym_LPAREN2] = ACTIONS(1143),
-    [anon_sym_BANG] = ACTIONS(1143),
-    [anon_sym_TILDE] = ACTIONS(1143),
-    [anon_sym_DASH] = ACTIONS(1141),
-    [anon_sym_PLUS] = ACTIONS(1141),
-    [anon_sym_STAR] = ACTIONS(1143),
-    [anon_sym_AMP] = ACTIONS(1143),
-    [anon_sym_SEMI] = ACTIONS(1143),
-    [anon_sym___extension__] = ACTIONS(1141),
-    [anon_sym_typedef] = ACTIONS(1141),
-    [anon_sym_extern] = ACTIONS(1141),
-    [anon_sym___attribute__] = ACTIONS(1141),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1143),
-    [anon_sym___declspec] = ACTIONS(1141),
-    [anon_sym___cdecl] = ACTIONS(1141),
-    [anon_sym___clrcall] = ACTIONS(1141),
-    [anon_sym___stdcall] = ACTIONS(1141),
-    [anon_sym___fastcall] = ACTIONS(1141),
-    [anon_sym___thiscall] = ACTIONS(1141),
-    [anon_sym___vectorcall] = ACTIONS(1141),
-    [anon_sym_LBRACE] = ACTIONS(1143),
-    [anon_sym_signed] = ACTIONS(1141),
-    [anon_sym_unsigned] = ACTIONS(1141),
-    [anon_sym_long] = ACTIONS(1141),
-    [anon_sym_short] = ACTIONS(1141),
-    [anon_sym_static] = ACTIONS(1141),
-    [anon_sym_auto] = ACTIONS(1141),
-    [anon_sym_register] = ACTIONS(1141),
-    [anon_sym_inline] = ACTIONS(1141),
-    [anon_sym___inline] = ACTIONS(1141),
-    [anon_sym___inline__] = ACTIONS(1141),
-    [anon_sym___forceinline] = ACTIONS(1141),
-    [anon_sym_thread_local] = ACTIONS(1141),
-    [anon_sym___thread] = ACTIONS(1141),
-    [anon_sym_const] = ACTIONS(1141),
-    [anon_sym_constexpr] = ACTIONS(1141),
-    [anon_sym_volatile] = ACTIONS(1141),
-    [anon_sym_restrict] = ACTIONS(1141),
-    [anon_sym___restrict__] = ACTIONS(1141),
-    [anon_sym__Atomic] = ACTIONS(1141),
-    [anon_sym__Noreturn] = ACTIONS(1141),
-    [anon_sym_noreturn] = ACTIONS(1141),
-    [anon_sym__Nonnull] = ACTIONS(1141),
-    [anon_sym_alignas] = ACTIONS(1141),
-    [anon_sym__Alignas] = ACTIONS(1141),
-    [sym_primitive_type] = ACTIONS(1141),
-    [anon_sym_enum] = ACTIONS(1141),
-    [anon_sym_struct] = ACTIONS(1141),
-    [anon_sym_union] = ACTIONS(1141),
-    [anon_sym_if] = ACTIONS(1141),
-    [anon_sym_else] = ACTIONS(1141),
-    [anon_sym_switch] = ACTIONS(1141),
-    [anon_sym_case] = ACTIONS(1141),
-    [anon_sym_default] = ACTIONS(1141),
-    [anon_sym_while] = ACTIONS(1141),
-    [anon_sym_do] = ACTIONS(1141),
-    [anon_sym_for] = ACTIONS(1141),
-    [anon_sym_return] = ACTIONS(1141),
-    [anon_sym_break] = ACTIONS(1141),
-    [anon_sym_continue] = ACTIONS(1141),
-    [anon_sym_goto] = ACTIONS(1141),
-    [anon_sym___try] = ACTIONS(1141),
-    [anon_sym___leave] = ACTIONS(1141),
-    [anon_sym_DASH_DASH] = ACTIONS(1143),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1143),
-    [anon_sym_sizeof] = ACTIONS(1141),
-    [anon_sym___alignof__] = ACTIONS(1141),
-    [anon_sym___alignof] = ACTIONS(1141),
-    [anon_sym__alignof] = ACTIONS(1141),
-    [anon_sym_alignof] = ACTIONS(1141),
-    [anon_sym__Alignof] = ACTIONS(1141),
-    [anon_sym_offsetof] = ACTIONS(1141),
-    [anon_sym__Generic] = ACTIONS(1141),
-    [anon_sym_asm] = ACTIONS(1141),
-    [anon_sym___asm__] = ACTIONS(1141),
-    [anon_sym___asm] = ACTIONS(1141),
-    [sym_number_literal] = ACTIONS(1143),
-    [anon_sym_L_SQUOTE] = ACTIONS(1143),
-    [anon_sym_u_SQUOTE] = ACTIONS(1143),
-    [anon_sym_U_SQUOTE] = ACTIONS(1143),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1143),
-    [anon_sym_SQUOTE] = ACTIONS(1143),
-    [anon_sym_L_DQUOTE] = ACTIONS(1143),
-    [anon_sym_u_DQUOTE] = ACTIONS(1143),
-    [anon_sym_U_DQUOTE] = ACTIONS(1143),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1143),
-    [anon_sym_DQUOTE] = ACTIONS(1143),
-    [sym_true] = ACTIONS(1141),
-    [sym_false] = ACTIONS(1141),
-    [anon_sym_NULL] = ACTIONS(1141),
-    [anon_sym_nullptr] = ACTIONS(1141),
+    [sym_identifier] = ACTIONS(1146),
+    [aux_sym_preproc_include_token1] = ACTIONS(1146),
+    [aux_sym_preproc_def_token1] = ACTIONS(1146),
+    [aux_sym_preproc_if_token1] = ACTIONS(1146),
+    [aux_sym_preproc_if_token2] = ACTIONS(1146),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1146),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1146),
+    [aux_sym_preproc_else_token1] = ACTIONS(1146),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1146),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1146),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1146),
+    [sym_preproc_directive] = ACTIONS(1146),
+    [anon_sym_LPAREN2] = ACTIONS(1148),
+    [anon_sym_BANG] = ACTIONS(1148),
+    [anon_sym_TILDE] = ACTIONS(1148),
+    [anon_sym_DASH] = ACTIONS(1146),
+    [anon_sym_PLUS] = ACTIONS(1146),
+    [anon_sym_STAR] = ACTIONS(1148),
+    [anon_sym_AMP] = ACTIONS(1148),
+    [anon_sym_SEMI] = ACTIONS(1148),
+    [anon_sym___extension__] = ACTIONS(1146),
+    [anon_sym_typedef] = ACTIONS(1146),
+    [anon_sym_extern] = ACTIONS(1146),
+    [anon_sym___attribute__] = ACTIONS(1146),
+    [anon_sym___attribute] = ACTIONS(1146),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1148),
+    [anon_sym___declspec] = ACTIONS(1146),
+    [anon_sym___cdecl] = ACTIONS(1146),
+    [anon_sym___clrcall] = ACTIONS(1146),
+    [anon_sym___stdcall] = ACTIONS(1146),
+    [anon_sym___fastcall] = ACTIONS(1146),
+    [anon_sym___thiscall] = ACTIONS(1146),
+    [anon_sym___vectorcall] = ACTIONS(1146),
+    [anon_sym_LBRACE] = ACTIONS(1148),
+    [anon_sym_signed] = ACTIONS(1146),
+    [anon_sym_unsigned] = ACTIONS(1146),
+    [anon_sym_long] = ACTIONS(1146),
+    [anon_sym_short] = ACTIONS(1146),
+    [anon_sym_static] = ACTIONS(1146),
+    [anon_sym_auto] = ACTIONS(1146),
+    [anon_sym_register] = ACTIONS(1146),
+    [anon_sym_inline] = ACTIONS(1146),
+    [anon_sym___inline] = ACTIONS(1146),
+    [anon_sym___inline__] = ACTIONS(1146),
+    [anon_sym___forceinline] = ACTIONS(1146),
+    [anon_sym_thread_local] = ACTIONS(1146),
+    [anon_sym___thread] = ACTIONS(1146),
+    [anon_sym_const] = ACTIONS(1146),
+    [anon_sym_constexpr] = ACTIONS(1146),
+    [anon_sym_volatile] = ACTIONS(1146),
+    [anon_sym_restrict] = ACTIONS(1146),
+    [anon_sym___restrict__] = ACTIONS(1146),
+    [anon_sym__Atomic] = ACTIONS(1146),
+    [anon_sym__Noreturn] = ACTIONS(1146),
+    [anon_sym_noreturn] = ACTIONS(1146),
+    [anon_sym__Nonnull] = ACTIONS(1146),
+    [anon_sym_alignas] = ACTIONS(1146),
+    [anon_sym__Alignas] = ACTIONS(1146),
+    [sym_primitive_type] = ACTIONS(1146),
+    [anon_sym_enum] = ACTIONS(1146),
+    [anon_sym_struct] = ACTIONS(1146),
+    [anon_sym_union] = ACTIONS(1146),
+    [anon_sym_if] = ACTIONS(1146),
+    [anon_sym_else] = ACTIONS(1146),
+    [anon_sym_switch] = ACTIONS(1146),
+    [anon_sym_case] = ACTIONS(1146),
+    [anon_sym_default] = ACTIONS(1146),
+    [anon_sym_while] = ACTIONS(1146),
+    [anon_sym_do] = ACTIONS(1146),
+    [anon_sym_for] = ACTIONS(1146),
+    [anon_sym_return] = ACTIONS(1146),
+    [anon_sym_break] = ACTIONS(1146),
+    [anon_sym_continue] = ACTIONS(1146),
+    [anon_sym_goto] = ACTIONS(1146),
+    [anon_sym___try] = ACTIONS(1146),
+    [anon_sym___leave] = ACTIONS(1146),
+    [anon_sym_DASH_DASH] = ACTIONS(1148),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1148),
+    [anon_sym_sizeof] = ACTIONS(1146),
+    [anon_sym___alignof__] = ACTIONS(1146),
+    [anon_sym___alignof] = ACTIONS(1146),
+    [anon_sym__alignof] = ACTIONS(1146),
+    [anon_sym_alignof] = ACTIONS(1146),
+    [anon_sym__Alignof] = ACTIONS(1146),
+    [anon_sym_offsetof] = ACTIONS(1146),
+    [anon_sym__Generic] = ACTIONS(1146),
+    [anon_sym_asm] = ACTIONS(1146),
+    [anon_sym___asm__] = ACTIONS(1146),
+    [anon_sym___asm] = ACTIONS(1146),
+    [sym_number_literal] = ACTIONS(1148),
+    [anon_sym_L_SQUOTE] = ACTIONS(1148),
+    [anon_sym_u_SQUOTE] = ACTIONS(1148),
+    [anon_sym_U_SQUOTE] = ACTIONS(1148),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1148),
+    [anon_sym_SQUOTE] = ACTIONS(1148),
+    [anon_sym_L_DQUOTE] = ACTIONS(1148),
+    [anon_sym_u_DQUOTE] = ACTIONS(1148),
+    [anon_sym_U_DQUOTE] = ACTIONS(1148),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1148),
+    [anon_sym_DQUOTE] = ACTIONS(1148),
+    [sym_true] = ACTIONS(1146),
+    [sym_false] = ACTIONS(1146),
+    [anon_sym_NULL] = ACTIONS(1146),
+    [anon_sym_nullptr] = ACTIONS(1146),
     [sym_comment] = ACTIONS(3),
   },
   [85] = {
-    [ts_builtin_sym_end] = ACTIONS(1139),
-    [sym_identifier] = ACTIONS(1137),
-    [aux_sym_preproc_include_token1] = ACTIONS(1137),
-    [aux_sym_preproc_def_token1] = ACTIONS(1137),
-    [anon_sym_COMMA] = ACTIONS(1139),
-    [anon_sym_RPAREN] = ACTIONS(1139),
-    [aux_sym_preproc_if_token1] = ACTIONS(1137),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1137),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1137),
-    [sym_preproc_directive] = ACTIONS(1137),
-    [anon_sym_LPAREN2] = ACTIONS(1139),
-    [anon_sym_BANG] = ACTIONS(1139),
-    [anon_sym_TILDE] = ACTIONS(1139),
-    [anon_sym_DASH] = ACTIONS(1137),
-    [anon_sym_PLUS] = ACTIONS(1137),
-    [anon_sym_STAR] = ACTIONS(1139),
-    [anon_sym_AMP] = ACTIONS(1139),
-    [anon_sym_SEMI] = ACTIONS(1139),
-    [anon_sym___extension__] = ACTIONS(1137),
-    [anon_sym_typedef] = ACTIONS(1137),
-    [anon_sym_extern] = ACTIONS(1137),
-    [anon_sym___attribute__] = ACTIONS(1137),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1139),
-    [anon_sym___declspec] = ACTIONS(1137),
-    [anon_sym___cdecl] = ACTIONS(1137),
-    [anon_sym___clrcall] = ACTIONS(1137),
-    [anon_sym___stdcall] = ACTIONS(1137),
-    [anon_sym___fastcall] = ACTIONS(1137),
-    [anon_sym___thiscall] = ACTIONS(1137),
-    [anon_sym___vectorcall] = ACTIONS(1137),
-    [anon_sym_LBRACE] = ACTIONS(1139),
-    [anon_sym_signed] = ACTIONS(1137),
-    [anon_sym_unsigned] = ACTIONS(1137),
-    [anon_sym_long] = ACTIONS(1137),
-    [anon_sym_short] = ACTIONS(1137),
-    [anon_sym_static] = ACTIONS(1137),
-    [anon_sym_auto] = ACTIONS(1137),
-    [anon_sym_register] = ACTIONS(1137),
-    [anon_sym_inline] = ACTIONS(1137),
-    [anon_sym___inline] = ACTIONS(1137),
-    [anon_sym___inline__] = ACTIONS(1137),
-    [anon_sym___forceinline] = ACTIONS(1137),
-    [anon_sym_thread_local] = ACTIONS(1137),
-    [anon_sym___thread] = ACTIONS(1137),
-    [anon_sym_const] = ACTIONS(1137),
-    [anon_sym_constexpr] = ACTIONS(1137),
-    [anon_sym_volatile] = ACTIONS(1137),
-    [anon_sym_restrict] = ACTIONS(1137),
-    [anon_sym___restrict__] = ACTIONS(1137),
-    [anon_sym__Atomic] = ACTIONS(1137),
-    [anon_sym__Noreturn] = ACTIONS(1137),
-    [anon_sym_noreturn] = ACTIONS(1137),
-    [anon_sym__Nonnull] = ACTIONS(1137),
-    [anon_sym_alignas] = ACTIONS(1137),
-    [anon_sym__Alignas] = ACTIONS(1137),
-    [sym_primitive_type] = ACTIONS(1137),
-    [anon_sym_enum] = ACTIONS(1137),
-    [anon_sym_struct] = ACTIONS(1137),
-    [anon_sym_union] = ACTIONS(1137),
-    [anon_sym_if] = ACTIONS(1137),
-    [anon_sym_else] = ACTIONS(1137),
-    [anon_sym_switch] = ACTIONS(1137),
-    [anon_sym_case] = ACTIONS(1137),
-    [anon_sym_default] = ACTIONS(1137),
-    [anon_sym_while] = ACTIONS(1137),
-    [anon_sym_do] = ACTIONS(1137),
-    [anon_sym_for] = ACTIONS(1137),
-    [anon_sym_return] = ACTIONS(1137),
-    [anon_sym_break] = ACTIONS(1137),
-    [anon_sym_continue] = ACTIONS(1137),
-    [anon_sym_goto] = ACTIONS(1137),
-    [anon_sym___try] = ACTIONS(1137),
-    [anon_sym___except] = ACTIONS(1137),
-    [anon_sym___finally] = ACTIONS(1137),
-    [anon_sym___leave] = ACTIONS(1137),
-    [anon_sym_DASH_DASH] = ACTIONS(1139),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1139),
-    [anon_sym_sizeof] = ACTIONS(1137),
-    [anon_sym___alignof__] = ACTIONS(1137),
-    [anon_sym___alignof] = ACTIONS(1137),
-    [anon_sym__alignof] = ACTIONS(1137),
-    [anon_sym_alignof] = ACTIONS(1137),
-    [anon_sym__Alignof] = ACTIONS(1137),
-    [anon_sym_offsetof] = ACTIONS(1137),
-    [anon_sym__Generic] = ACTIONS(1137),
-    [anon_sym_asm] = ACTIONS(1137),
-    [anon_sym___asm__] = ACTIONS(1137),
-    [anon_sym___asm] = ACTIONS(1137),
-    [sym_number_literal] = ACTIONS(1139),
-    [anon_sym_L_SQUOTE] = ACTIONS(1139),
-    [anon_sym_u_SQUOTE] = ACTIONS(1139),
-    [anon_sym_U_SQUOTE] = ACTIONS(1139),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1139),
-    [anon_sym_SQUOTE] = ACTIONS(1139),
-    [anon_sym_L_DQUOTE] = ACTIONS(1139),
-    [anon_sym_u_DQUOTE] = ACTIONS(1139),
-    [anon_sym_U_DQUOTE] = ACTIONS(1139),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1139),
-    [anon_sym_DQUOTE] = ACTIONS(1139),
-    [sym_true] = ACTIONS(1137),
-    [sym_false] = ACTIONS(1137),
-    [anon_sym_NULL] = ACTIONS(1137),
-    [anon_sym_nullptr] = ACTIONS(1137),
+    [sym_identifier] = ACTIONS(1150),
+    [aux_sym_preproc_include_token1] = ACTIONS(1150),
+    [aux_sym_preproc_def_token1] = ACTIONS(1150),
+    [aux_sym_preproc_if_token1] = ACTIONS(1150),
+    [aux_sym_preproc_if_token2] = ACTIONS(1150),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1150),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1150),
+    [aux_sym_preproc_else_token1] = ACTIONS(1150),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1150),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1150),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1150),
+    [sym_preproc_directive] = ACTIONS(1150),
+    [anon_sym_LPAREN2] = ACTIONS(1152),
+    [anon_sym_BANG] = ACTIONS(1152),
+    [anon_sym_TILDE] = ACTIONS(1152),
+    [anon_sym_DASH] = ACTIONS(1150),
+    [anon_sym_PLUS] = ACTIONS(1150),
+    [anon_sym_STAR] = ACTIONS(1152),
+    [anon_sym_AMP] = ACTIONS(1152),
+    [anon_sym_SEMI] = ACTIONS(1152),
+    [anon_sym___extension__] = ACTIONS(1150),
+    [anon_sym_typedef] = ACTIONS(1150),
+    [anon_sym_extern] = ACTIONS(1150),
+    [anon_sym___attribute__] = ACTIONS(1150),
+    [anon_sym___attribute] = ACTIONS(1150),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1152),
+    [anon_sym___declspec] = ACTIONS(1150),
+    [anon_sym___cdecl] = ACTIONS(1150),
+    [anon_sym___clrcall] = ACTIONS(1150),
+    [anon_sym___stdcall] = ACTIONS(1150),
+    [anon_sym___fastcall] = ACTIONS(1150),
+    [anon_sym___thiscall] = ACTIONS(1150),
+    [anon_sym___vectorcall] = ACTIONS(1150),
+    [anon_sym_LBRACE] = ACTIONS(1152),
+    [anon_sym_signed] = ACTIONS(1150),
+    [anon_sym_unsigned] = ACTIONS(1150),
+    [anon_sym_long] = ACTIONS(1150),
+    [anon_sym_short] = ACTIONS(1150),
+    [anon_sym_static] = ACTIONS(1150),
+    [anon_sym_auto] = ACTIONS(1150),
+    [anon_sym_register] = ACTIONS(1150),
+    [anon_sym_inline] = ACTIONS(1150),
+    [anon_sym___inline] = ACTIONS(1150),
+    [anon_sym___inline__] = ACTIONS(1150),
+    [anon_sym___forceinline] = ACTIONS(1150),
+    [anon_sym_thread_local] = ACTIONS(1150),
+    [anon_sym___thread] = ACTIONS(1150),
+    [anon_sym_const] = ACTIONS(1150),
+    [anon_sym_constexpr] = ACTIONS(1150),
+    [anon_sym_volatile] = ACTIONS(1150),
+    [anon_sym_restrict] = ACTIONS(1150),
+    [anon_sym___restrict__] = ACTIONS(1150),
+    [anon_sym__Atomic] = ACTIONS(1150),
+    [anon_sym__Noreturn] = ACTIONS(1150),
+    [anon_sym_noreturn] = ACTIONS(1150),
+    [anon_sym__Nonnull] = ACTIONS(1150),
+    [anon_sym_alignas] = ACTIONS(1150),
+    [anon_sym__Alignas] = ACTIONS(1150),
+    [sym_primitive_type] = ACTIONS(1150),
+    [anon_sym_enum] = ACTIONS(1150),
+    [anon_sym_struct] = ACTIONS(1150),
+    [anon_sym_union] = ACTIONS(1150),
+    [anon_sym_if] = ACTIONS(1150),
+    [anon_sym_else] = ACTIONS(1150),
+    [anon_sym_switch] = ACTIONS(1150),
+    [anon_sym_case] = ACTIONS(1150),
+    [anon_sym_default] = ACTIONS(1150),
+    [anon_sym_while] = ACTIONS(1150),
+    [anon_sym_do] = ACTIONS(1150),
+    [anon_sym_for] = ACTIONS(1150),
+    [anon_sym_return] = ACTIONS(1150),
+    [anon_sym_break] = ACTIONS(1150),
+    [anon_sym_continue] = ACTIONS(1150),
+    [anon_sym_goto] = ACTIONS(1150),
+    [anon_sym___try] = ACTIONS(1150),
+    [anon_sym___leave] = ACTIONS(1150),
+    [anon_sym_DASH_DASH] = ACTIONS(1152),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1152),
+    [anon_sym_sizeof] = ACTIONS(1150),
+    [anon_sym___alignof__] = ACTIONS(1150),
+    [anon_sym___alignof] = ACTIONS(1150),
+    [anon_sym__alignof] = ACTIONS(1150),
+    [anon_sym_alignof] = ACTIONS(1150),
+    [anon_sym__Alignof] = ACTIONS(1150),
+    [anon_sym_offsetof] = ACTIONS(1150),
+    [anon_sym__Generic] = ACTIONS(1150),
+    [anon_sym_asm] = ACTIONS(1150),
+    [anon_sym___asm__] = ACTIONS(1150),
+    [anon_sym___asm] = ACTIONS(1150),
+    [sym_number_literal] = ACTIONS(1152),
+    [anon_sym_L_SQUOTE] = ACTIONS(1152),
+    [anon_sym_u_SQUOTE] = ACTIONS(1152),
+    [anon_sym_U_SQUOTE] = ACTIONS(1152),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1152),
+    [anon_sym_SQUOTE] = ACTIONS(1152),
+    [anon_sym_L_DQUOTE] = ACTIONS(1152),
+    [anon_sym_u_DQUOTE] = ACTIONS(1152),
+    [anon_sym_U_DQUOTE] = ACTIONS(1152),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1152),
+    [anon_sym_DQUOTE] = ACTIONS(1152),
+    [sym_true] = ACTIONS(1150),
+    [sym_false] = ACTIONS(1150),
+    [anon_sym_NULL] = ACTIONS(1150),
+    [anon_sym_nullptr] = ACTIONS(1150),
     [sym_comment] = ACTIONS(3),
   },
   [86] = {
-    [sym_identifier] = ACTIONS(1145),
-    [aux_sym_preproc_include_token1] = ACTIONS(1145),
-    [aux_sym_preproc_def_token1] = ACTIONS(1145),
-    [aux_sym_preproc_if_token1] = ACTIONS(1145),
-    [aux_sym_preproc_if_token2] = ACTIONS(1145),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1145),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1145),
-    [aux_sym_preproc_else_token1] = ACTIONS(1145),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1145),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1145),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1145),
-    [sym_preproc_directive] = ACTIONS(1145),
-    [anon_sym_LPAREN2] = ACTIONS(1147),
-    [anon_sym_BANG] = ACTIONS(1147),
-    [anon_sym_TILDE] = ACTIONS(1147),
-    [anon_sym_DASH] = ACTIONS(1145),
-    [anon_sym_PLUS] = ACTIONS(1145),
-    [anon_sym_STAR] = ACTIONS(1147),
-    [anon_sym_AMP] = ACTIONS(1147),
-    [anon_sym_SEMI] = ACTIONS(1147),
-    [anon_sym___extension__] = ACTIONS(1145),
-    [anon_sym_typedef] = ACTIONS(1145),
-    [anon_sym_extern] = ACTIONS(1145),
-    [anon_sym___attribute__] = ACTIONS(1145),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1147),
-    [anon_sym___declspec] = ACTIONS(1145),
-    [anon_sym___cdecl] = ACTIONS(1145),
-    [anon_sym___clrcall] = ACTIONS(1145),
-    [anon_sym___stdcall] = ACTIONS(1145),
-    [anon_sym___fastcall] = ACTIONS(1145),
-    [anon_sym___thiscall] = ACTIONS(1145),
-    [anon_sym___vectorcall] = ACTIONS(1145),
-    [anon_sym_LBRACE] = ACTIONS(1147),
-    [anon_sym_signed] = ACTIONS(1145),
-    [anon_sym_unsigned] = ACTIONS(1145),
-    [anon_sym_long] = ACTIONS(1145),
-    [anon_sym_short] = ACTIONS(1145),
-    [anon_sym_static] = ACTIONS(1145),
-    [anon_sym_auto] = ACTIONS(1145),
-    [anon_sym_register] = ACTIONS(1145),
-    [anon_sym_inline] = ACTIONS(1145),
-    [anon_sym___inline] = ACTIONS(1145),
-    [anon_sym___inline__] = ACTIONS(1145),
-    [anon_sym___forceinline] = ACTIONS(1145),
-    [anon_sym_thread_local] = ACTIONS(1145),
-    [anon_sym___thread] = ACTIONS(1145),
-    [anon_sym_const] = ACTIONS(1145),
-    [anon_sym_constexpr] = ACTIONS(1145),
-    [anon_sym_volatile] = ACTIONS(1145),
-    [anon_sym_restrict] = ACTIONS(1145),
-    [anon_sym___restrict__] = ACTIONS(1145),
-    [anon_sym__Atomic] = ACTIONS(1145),
-    [anon_sym__Noreturn] = ACTIONS(1145),
-    [anon_sym_noreturn] = ACTIONS(1145),
-    [anon_sym__Nonnull] = ACTIONS(1145),
-    [anon_sym_alignas] = ACTIONS(1145),
-    [anon_sym__Alignas] = ACTIONS(1145),
-    [sym_primitive_type] = ACTIONS(1145),
-    [anon_sym_enum] = ACTIONS(1145),
-    [anon_sym_struct] = ACTIONS(1145),
-    [anon_sym_union] = ACTIONS(1145),
-    [anon_sym_if] = ACTIONS(1145),
-    [anon_sym_else] = ACTIONS(1145),
-    [anon_sym_switch] = ACTIONS(1145),
-    [anon_sym_case] = ACTIONS(1145),
-    [anon_sym_default] = ACTIONS(1145),
-    [anon_sym_while] = ACTIONS(1145),
-    [anon_sym_do] = ACTIONS(1145),
-    [anon_sym_for] = ACTIONS(1145),
-    [anon_sym_return] = ACTIONS(1145),
-    [anon_sym_break] = ACTIONS(1145),
-    [anon_sym_continue] = ACTIONS(1145),
-    [anon_sym_goto] = ACTIONS(1145),
-    [anon_sym___try] = ACTIONS(1145),
-    [anon_sym___leave] = ACTIONS(1145),
-    [anon_sym_DASH_DASH] = ACTIONS(1147),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
-    [anon_sym_sizeof] = ACTIONS(1145),
-    [anon_sym___alignof__] = ACTIONS(1145),
-    [anon_sym___alignof] = ACTIONS(1145),
-    [anon_sym__alignof] = ACTIONS(1145),
-    [anon_sym_alignof] = ACTIONS(1145),
-    [anon_sym__Alignof] = ACTIONS(1145),
-    [anon_sym_offsetof] = ACTIONS(1145),
-    [anon_sym__Generic] = ACTIONS(1145),
-    [anon_sym_asm] = ACTIONS(1145),
-    [anon_sym___asm__] = ACTIONS(1145),
-    [anon_sym___asm] = ACTIONS(1145),
-    [sym_number_literal] = ACTIONS(1147),
-    [anon_sym_L_SQUOTE] = ACTIONS(1147),
-    [anon_sym_u_SQUOTE] = ACTIONS(1147),
-    [anon_sym_U_SQUOTE] = ACTIONS(1147),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1147),
-    [anon_sym_SQUOTE] = ACTIONS(1147),
-    [anon_sym_L_DQUOTE] = ACTIONS(1147),
-    [anon_sym_u_DQUOTE] = ACTIONS(1147),
-    [anon_sym_U_DQUOTE] = ACTIONS(1147),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1147),
-    [anon_sym_DQUOTE] = ACTIONS(1147),
-    [sym_true] = ACTIONS(1145),
-    [sym_false] = ACTIONS(1145),
-    [anon_sym_NULL] = ACTIONS(1145),
-    [anon_sym_nullptr] = ACTIONS(1145),
+    [sym_identifier] = ACTIONS(1154),
+    [aux_sym_preproc_include_token1] = ACTIONS(1154),
+    [aux_sym_preproc_def_token1] = ACTIONS(1154),
+    [aux_sym_preproc_if_token1] = ACTIONS(1154),
+    [aux_sym_preproc_if_token2] = ACTIONS(1154),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1154),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1154),
+    [aux_sym_preproc_else_token1] = ACTIONS(1154),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1154),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1154),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1154),
+    [sym_preproc_directive] = ACTIONS(1154),
+    [anon_sym_LPAREN2] = ACTIONS(1156),
+    [anon_sym_BANG] = ACTIONS(1156),
+    [anon_sym_TILDE] = ACTIONS(1156),
+    [anon_sym_DASH] = ACTIONS(1154),
+    [anon_sym_PLUS] = ACTIONS(1154),
+    [anon_sym_STAR] = ACTIONS(1156),
+    [anon_sym_AMP] = ACTIONS(1156),
+    [anon_sym_SEMI] = ACTIONS(1156),
+    [anon_sym___extension__] = ACTIONS(1154),
+    [anon_sym_typedef] = ACTIONS(1154),
+    [anon_sym_extern] = ACTIONS(1154),
+    [anon_sym___attribute__] = ACTIONS(1154),
+    [anon_sym___attribute] = ACTIONS(1154),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1156),
+    [anon_sym___declspec] = ACTIONS(1154),
+    [anon_sym___cdecl] = ACTIONS(1154),
+    [anon_sym___clrcall] = ACTIONS(1154),
+    [anon_sym___stdcall] = ACTIONS(1154),
+    [anon_sym___fastcall] = ACTIONS(1154),
+    [anon_sym___thiscall] = ACTIONS(1154),
+    [anon_sym___vectorcall] = ACTIONS(1154),
+    [anon_sym_LBRACE] = ACTIONS(1156),
+    [anon_sym_signed] = ACTIONS(1154),
+    [anon_sym_unsigned] = ACTIONS(1154),
+    [anon_sym_long] = ACTIONS(1154),
+    [anon_sym_short] = ACTIONS(1154),
+    [anon_sym_static] = ACTIONS(1154),
+    [anon_sym_auto] = ACTIONS(1154),
+    [anon_sym_register] = ACTIONS(1154),
+    [anon_sym_inline] = ACTIONS(1154),
+    [anon_sym___inline] = ACTIONS(1154),
+    [anon_sym___inline__] = ACTIONS(1154),
+    [anon_sym___forceinline] = ACTIONS(1154),
+    [anon_sym_thread_local] = ACTIONS(1154),
+    [anon_sym___thread] = ACTIONS(1154),
+    [anon_sym_const] = ACTIONS(1154),
+    [anon_sym_constexpr] = ACTIONS(1154),
+    [anon_sym_volatile] = ACTIONS(1154),
+    [anon_sym_restrict] = ACTIONS(1154),
+    [anon_sym___restrict__] = ACTIONS(1154),
+    [anon_sym__Atomic] = ACTIONS(1154),
+    [anon_sym__Noreturn] = ACTIONS(1154),
+    [anon_sym_noreturn] = ACTIONS(1154),
+    [anon_sym__Nonnull] = ACTIONS(1154),
+    [anon_sym_alignas] = ACTIONS(1154),
+    [anon_sym__Alignas] = ACTIONS(1154),
+    [sym_primitive_type] = ACTIONS(1154),
+    [anon_sym_enum] = ACTIONS(1154),
+    [anon_sym_struct] = ACTIONS(1154),
+    [anon_sym_union] = ACTIONS(1154),
+    [anon_sym_if] = ACTIONS(1154),
+    [anon_sym_else] = ACTIONS(1154),
+    [anon_sym_switch] = ACTIONS(1154),
+    [anon_sym_case] = ACTIONS(1154),
+    [anon_sym_default] = ACTIONS(1154),
+    [anon_sym_while] = ACTIONS(1154),
+    [anon_sym_do] = ACTIONS(1154),
+    [anon_sym_for] = ACTIONS(1154),
+    [anon_sym_return] = ACTIONS(1154),
+    [anon_sym_break] = ACTIONS(1154),
+    [anon_sym_continue] = ACTIONS(1154),
+    [anon_sym_goto] = ACTIONS(1154),
+    [anon_sym___try] = ACTIONS(1154),
+    [anon_sym___leave] = ACTIONS(1154),
+    [anon_sym_DASH_DASH] = ACTIONS(1156),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1156),
+    [anon_sym_sizeof] = ACTIONS(1154),
+    [anon_sym___alignof__] = ACTIONS(1154),
+    [anon_sym___alignof] = ACTIONS(1154),
+    [anon_sym__alignof] = ACTIONS(1154),
+    [anon_sym_alignof] = ACTIONS(1154),
+    [anon_sym__Alignof] = ACTIONS(1154),
+    [anon_sym_offsetof] = ACTIONS(1154),
+    [anon_sym__Generic] = ACTIONS(1154),
+    [anon_sym_asm] = ACTIONS(1154),
+    [anon_sym___asm__] = ACTIONS(1154),
+    [anon_sym___asm] = ACTIONS(1154),
+    [sym_number_literal] = ACTIONS(1156),
+    [anon_sym_L_SQUOTE] = ACTIONS(1156),
+    [anon_sym_u_SQUOTE] = ACTIONS(1156),
+    [anon_sym_U_SQUOTE] = ACTIONS(1156),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1156),
+    [anon_sym_SQUOTE] = ACTIONS(1156),
+    [anon_sym_L_DQUOTE] = ACTIONS(1156),
+    [anon_sym_u_DQUOTE] = ACTIONS(1156),
+    [anon_sym_U_DQUOTE] = ACTIONS(1156),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1156),
+    [anon_sym_DQUOTE] = ACTIONS(1156),
+    [sym_true] = ACTIONS(1154),
+    [sym_false] = ACTIONS(1154),
+    [anon_sym_NULL] = ACTIONS(1154),
+    [anon_sym_nullptr] = ACTIONS(1154),
     [sym_comment] = ACTIONS(3),
   },
   [87] = {
-    [sym_identifier] = ACTIONS(1149),
-    [aux_sym_preproc_include_token1] = ACTIONS(1149),
-    [aux_sym_preproc_def_token1] = ACTIONS(1149),
-    [aux_sym_preproc_if_token1] = ACTIONS(1149),
-    [aux_sym_preproc_if_token2] = ACTIONS(1149),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1149),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1149),
-    [aux_sym_preproc_else_token1] = ACTIONS(1149),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1149),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1149),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1149),
-    [sym_preproc_directive] = ACTIONS(1149),
-    [anon_sym_LPAREN2] = ACTIONS(1151),
-    [anon_sym_BANG] = ACTIONS(1151),
-    [anon_sym_TILDE] = ACTIONS(1151),
-    [anon_sym_DASH] = ACTIONS(1149),
-    [anon_sym_PLUS] = ACTIONS(1149),
-    [anon_sym_STAR] = ACTIONS(1151),
-    [anon_sym_AMP] = ACTIONS(1151),
-    [anon_sym_SEMI] = ACTIONS(1151),
-    [anon_sym___extension__] = ACTIONS(1149),
-    [anon_sym_typedef] = ACTIONS(1149),
-    [anon_sym_extern] = ACTIONS(1149),
-    [anon_sym___attribute__] = ACTIONS(1149),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1151),
-    [anon_sym___declspec] = ACTIONS(1149),
-    [anon_sym___cdecl] = ACTIONS(1149),
-    [anon_sym___clrcall] = ACTIONS(1149),
-    [anon_sym___stdcall] = ACTIONS(1149),
-    [anon_sym___fastcall] = ACTIONS(1149),
-    [anon_sym___thiscall] = ACTIONS(1149),
-    [anon_sym___vectorcall] = ACTIONS(1149),
-    [anon_sym_LBRACE] = ACTIONS(1151),
-    [anon_sym_signed] = ACTIONS(1149),
-    [anon_sym_unsigned] = ACTIONS(1149),
-    [anon_sym_long] = ACTIONS(1149),
-    [anon_sym_short] = ACTIONS(1149),
-    [anon_sym_static] = ACTIONS(1149),
-    [anon_sym_auto] = ACTIONS(1149),
-    [anon_sym_register] = ACTIONS(1149),
-    [anon_sym_inline] = ACTIONS(1149),
-    [anon_sym___inline] = ACTIONS(1149),
-    [anon_sym___inline__] = ACTIONS(1149),
-    [anon_sym___forceinline] = ACTIONS(1149),
-    [anon_sym_thread_local] = ACTIONS(1149),
-    [anon_sym___thread] = ACTIONS(1149),
-    [anon_sym_const] = ACTIONS(1149),
-    [anon_sym_constexpr] = ACTIONS(1149),
-    [anon_sym_volatile] = ACTIONS(1149),
-    [anon_sym_restrict] = ACTIONS(1149),
-    [anon_sym___restrict__] = ACTIONS(1149),
-    [anon_sym__Atomic] = ACTIONS(1149),
-    [anon_sym__Noreturn] = ACTIONS(1149),
-    [anon_sym_noreturn] = ACTIONS(1149),
-    [anon_sym__Nonnull] = ACTIONS(1149),
-    [anon_sym_alignas] = ACTIONS(1149),
-    [anon_sym__Alignas] = ACTIONS(1149),
-    [sym_primitive_type] = ACTIONS(1149),
-    [anon_sym_enum] = ACTIONS(1149),
-    [anon_sym_struct] = ACTIONS(1149),
-    [anon_sym_union] = ACTIONS(1149),
-    [anon_sym_if] = ACTIONS(1149),
-    [anon_sym_else] = ACTIONS(1149),
-    [anon_sym_switch] = ACTIONS(1149),
-    [anon_sym_case] = ACTIONS(1149),
-    [anon_sym_default] = ACTIONS(1149),
-    [anon_sym_while] = ACTIONS(1149),
-    [anon_sym_do] = ACTIONS(1149),
-    [anon_sym_for] = ACTIONS(1149),
-    [anon_sym_return] = ACTIONS(1149),
-    [anon_sym_break] = ACTIONS(1149),
-    [anon_sym_continue] = ACTIONS(1149),
-    [anon_sym_goto] = ACTIONS(1149),
-    [anon_sym___try] = ACTIONS(1149),
-    [anon_sym___leave] = ACTIONS(1149),
-    [anon_sym_DASH_DASH] = ACTIONS(1151),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1151),
-    [anon_sym_sizeof] = ACTIONS(1149),
-    [anon_sym___alignof__] = ACTIONS(1149),
-    [anon_sym___alignof] = ACTIONS(1149),
-    [anon_sym__alignof] = ACTIONS(1149),
-    [anon_sym_alignof] = ACTIONS(1149),
-    [anon_sym__Alignof] = ACTIONS(1149),
-    [anon_sym_offsetof] = ACTIONS(1149),
-    [anon_sym__Generic] = ACTIONS(1149),
-    [anon_sym_asm] = ACTIONS(1149),
-    [anon_sym___asm__] = ACTIONS(1149),
-    [anon_sym___asm] = ACTIONS(1149),
-    [sym_number_literal] = ACTIONS(1151),
-    [anon_sym_L_SQUOTE] = ACTIONS(1151),
-    [anon_sym_u_SQUOTE] = ACTIONS(1151),
-    [anon_sym_U_SQUOTE] = ACTIONS(1151),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1151),
-    [anon_sym_SQUOTE] = ACTIONS(1151),
-    [anon_sym_L_DQUOTE] = ACTIONS(1151),
-    [anon_sym_u_DQUOTE] = ACTIONS(1151),
-    [anon_sym_U_DQUOTE] = ACTIONS(1151),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1151),
-    [anon_sym_DQUOTE] = ACTIONS(1151),
-    [sym_true] = ACTIONS(1149),
-    [sym_false] = ACTIONS(1149),
-    [anon_sym_NULL] = ACTIONS(1149),
-    [anon_sym_nullptr] = ACTIONS(1149),
+    [sym_identifier] = ACTIONS(1154),
+    [aux_sym_preproc_include_token1] = ACTIONS(1154),
+    [aux_sym_preproc_def_token1] = ACTIONS(1154),
+    [aux_sym_preproc_if_token1] = ACTIONS(1154),
+    [aux_sym_preproc_if_token2] = ACTIONS(1154),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1154),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1154),
+    [aux_sym_preproc_else_token1] = ACTIONS(1154),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1154),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1154),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1154),
+    [sym_preproc_directive] = ACTIONS(1154),
+    [anon_sym_LPAREN2] = ACTIONS(1156),
+    [anon_sym_BANG] = ACTIONS(1156),
+    [anon_sym_TILDE] = ACTIONS(1156),
+    [anon_sym_DASH] = ACTIONS(1154),
+    [anon_sym_PLUS] = ACTIONS(1154),
+    [anon_sym_STAR] = ACTIONS(1156),
+    [anon_sym_AMP] = ACTIONS(1156),
+    [anon_sym_SEMI] = ACTIONS(1156),
+    [anon_sym___extension__] = ACTIONS(1154),
+    [anon_sym_typedef] = ACTIONS(1154),
+    [anon_sym_extern] = ACTIONS(1154),
+    [anon_sym___attribute__] = ACTIONS(1154),
+    [anon_sym___attribute] = ACTIONS(1154),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1156),
+    [anon_sym___declspec] = ACTIONS(1154),
+    [anon_sym___cdecl] = ACTIONS(1154),
+    [anon_sym___clrcall] = ACTIONS(1154),
+    [anon_sym___stdcall] = ACTIONS(1154),
+    [anon_sym___fastcall] = ACTIONS(1154),
+    [anon_sym___thiscall] = ACTIONS(1154),
+    [anon_sym___vectorcall] = ACTIONS(1154),
+    [anon_sym_LBRACE] = ACTIONS(1156),
+    [anon_sym_signed] = ACTIONS(1154),
+    [anon_sym_unsigned] = ACTIONS(1154),
+    [anon_sym_long] = ACTIONS(1154),
+    [anon_sym_short] = ACTIONS(1154),
+    [anon_sym_static] = ACTIONS(1154),
+    [anon_sym_auto] = ACTIONS(1154),
+    [anon_sym_register] = ACTIONS(1154),
+    [anon_sym_inline] = ACTIONS(1154),
+    [anon_sym___inline] = ACTIONS(1154),
+    [anon_sym___inline__] = ACTIONS(1154),
+    [anon_sym___forceinline] = ACTIONS(1154),
+    [anon_sym_thread_local] = ACTIONS(1154),
+    [anon_sym___thread] = ACTIONS(1154),
+    [anon_sym_const] = ACTIONS(1154),
+    [anon_sym_constexpr] = ACTIONS(1154),
+    [anon_sym_volatile] = ACTIONS(1154),
+    [anon_sym_restrict] = ACTIONS(1154),
+    [anon_sym___restrict__] = ACTIONS(1154),
+    [anon_sym__Atomic] = ACTIONS(1154),
+    [anon_sym__Noreturn] = ACTIONS(1154),
+    [anon_sym_noreturn] = ACTIONS(1154),
+    [anon_sym__Nonnull] = ACTIONS(1154),
+    [anon_sym_alignas] = ACTIONS(1154),
+    [anon_sym__Alignas] = ACTIONS(1154),
+    [sym_primitive_type] = ACTIONS(1154),
+    [anon_sym_enum] = ACTIONS(1154),
+    [anon_sym_struct] = ACTIONS(1154),
+    [anon_sym_union] = ACTIONS(1154),
+    [anon_sym_if] = ACTIONS(1154),
+    [anon_sym_else] = ACTIONS(1154),
+    [anon_sym_switch] = ACTIONS(1154),
+    [anon_sym_case] = ACTIONS(1154),
+    [anon_sym_default] = ACTIONS(1154),
+    [anon_sym_while] = ACTIONS(1154),
+    [anon_sym_do] = ACTIONS(1154),
+    [anon_sym_for] = ACTIONS(1154),
+    [anon_sym_return] = ACTIONS(1154),
+    [anon_sym_break] = ACTIONS(1154),
+    [anon_sym_continue] = ACTIONS(1154),
+    [anon_sym_goto] = ACTIONS(1154),
+    [anon_sym___try] = ACTIONS(1154),
+    [anon_sym___leave] = ACTIONS(1154),
+    [anon_sym_DASH_DASH] = ACTIONS(1156),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1156),
+    [anon_sym_sizeof] = ACTIONS(1154),
+    [anon_sym___alignof__] = ACTIONS(1154),
+    [anon_sym___alignof] = ACTIONS(1154),
+    [anon_sym__alignof] = ACTIONS(1154),
+    [anon_sym_alignof] = ACTIONS(1154),
+    [anon_sym__Alignof] = ACTIONS(1154),
+    [anon_sym_offsetof] = ACTIONS(1154),
+    [anon_sym__Generic] = ACTIONS(1154),
+    [anon_sym_asm] = ACTIONS(1154),
+    [anon_sym___asm__] = ACTIONS(1154),
+    [anon_sym___asm] = ACTIONS(1154),
+    [sym_number_literal] = ACTIONS(1156),
+    [anon_sym_L_SQUOTE] = ACTIONS(1156),
+    [anon_sym_u_SQUOTE] = ACTIONS(1156),
+    [anon_sym_U_SQUOTE] = ACTIONS(1156),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1156),
+    [anon_sym_SQUOTE] = ACTIONS(1156),
+    [anon_sym_L_DQUOTE] = ACTIONS(1156),
+    [anon_sym_u_DQUOTE] = ACTIONS(1156),
+    [anon_sym_U_DQUOTE] = ACTIONS(1156),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1156),
+    [anon_sym_DQUOTE] = ACTIONS(1156),
+    [sym_true] = ACTIONS(1154),
+    [sym_false] = ACTIONS(1154),
+    [anon_sym_NULL] = ACTIONS(1154),
+    [anon_sym_nullptr] = ACTIONS(1154),
     [sym_comment] = ACTIONS(3),
   },
   [88] = {
-    [sym_identifier] = ACTIONS(1153),
-    [aux_sym_preproc_include_token1] = ACTIONS(1153),
-    [aux_sym_preproc_def_token1] = ACTIONS(1153),
-    [aux_sym_preproc_if_token1] = ACTIONS(1153),
-    [aux_sym_preproc_if_token2] = ACTIONS(1153),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1153),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1153),
-    [aux_sym_preproc_else_token1] = ACTIONS(1153),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1153),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1153),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1153),
-    [sym_preproc_directive] = ACTIONS(1153),
-    [anon_sym_LPAREN2] = ACTIONS(1155),
-    [anon_sym_BANG] = ACTIONS(1155),
-    [anon_sym_TILDE] = ACTIONS(1155),
-    [anon_sym_DASH] = ACTIONS(1153),
-    [anon_sym_PLUS] = ACTIONS(1153),
-    [anon_sym_STAR] = ACTIONS(1155),
-    [anon_sym_AMP] = ACTIONS(1155),
-    [anon_sym_SEMI] = ACTIONS(1155),
-    [anon_sym___extension__] = ACTIONS(1153),
-    [anon_sym_typedef] = ACTIONS(1153),
-    [anon_sym_extern] = ACTIONS(1153),
-    [anon_sym___attribute__] = ACTIONS(1153),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1155),
-    [anon_sym___declspec] = ACTIONS(1153),
-    [anon_sym___cdecl] = ACTIONS(1153),
-    [anon_sym___clrcall] = ACTIONS(1153),
-    [anon_sym___stdcall] = ACTIONS(1153),
-    [anon_sym___fastcall] = ACTIONS(1153),
-    [anon_sym___thiscall] = ACTIONS(1153),
-    [anon_sym___vectorcall] = ACTIONS(1153),
-    [anon_sym_LBRACE] = ACTIONS(1155),
-    [anon_sym_signed] = ACTIONS(1153),
-    [anon_sym_unsigned] = ACTIONS(1153),
-    [anon_sym_long] = ACTIONS(1153),
-    [anon_sym_short] = ACTIONS(1153),
-    [anon_sym_static] = ACTIONS(1153),
-    [anon_sym_auto] = ACTIONS(1153),
-    [anon_sym_register] = ACTIONS(1153),
-    [anon_sym_inline] = ACTIONS(1153),
-    [anon_sym___inline] = ACTIONS(1153),
-    [anon_sym___inline__] = ACTIONS(1153),
-    [anon_sym___forceinline] = ACTIONS(1153),
-    [anon_sym_thread_local] = ACTIONS(1153),
-    [anon_sym___thread] = ACTIONS(1153),
-    [anon_sym_const] = ACTIONS(1153),
-    [anon_sym_constexpr] = ACTIONS(1153),
-    [anon_sym_volatile] = ACTIONS(1153),
-    [anon_sym_restrict] = ACTIONS(1153),
-    [anon_sym___restrict__] = ACTIONS(1153),
-    [anon_sym__Atomic] = ACTIONS(1153),
-    [anon_sym__Noreturn] = ACTIONS(1153),
-    [anon_sym_noreturn] = ACTIONS(1153),
-    [anon_sym__Nonnull] = ACTIONS(1153),
-    [anon_sym_alignas] = ACTIONS(1153),
-    [anon_sym__Alignas] = ACTIONS(1153),
-    [sym_primitive_type] = ACTIONS(1153),
-    [anon_sym_enum] = ACTIONS(1153),
-    [anon_sym_struct] = ACTIONS(1153),
-    [anon_sym_union] = ACTIONS(1153),
-    [anon_sym_if] = ACTIONS(1153),
-    [anon_sym_else] = ACTIONS(1153),
-    [anon_sym_switch] = ACTIONS(1153),
-    [anon_sym_case] = ACTIONS(1153),
-    [anon_sym_default] = ACTIONS(1153),
-    [anon_sym_while] = ACTIONS(1153),
-    [anon_sym_do] = ACTIONS(1153),
-    [anon_sym_for] = ACTIONS(1153),
-    [anon_sym_return] = ACTIONS(1153),
-    [anon_sym_break] = ACTIONS(1153),
-    [anon_sym_continue] = ACTIONS(1153),
-    [anon_sym_goto] = ACTIONS(1153),
-    [anon_sym___try] = ACTIONS(1153),
-    [anon_sym___leave] = ACTIONS(1153),
-    [anon_sym_DASH_DASH] = ACTIONS(1155),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1155),
-    [anon_sym_sizeof] = ACTIONS(1153),
-    [anon_sym___alignof__] = ACTIONS(1153),
-    [anon_sym___alignof] = ACTIONS(1153),
-    [anon_sym__alignof] = ACTIONS(1153),
-    [anon_sym_alignof] = ACTIONS(1153),
-    [anon_sym__Alignof] = ACTIONS(1153),
-    [anon_sym_offsetof] = ACTIONS(1153),
-    [anon_sym__Generic] = ACTIONS(1153),
-    [anon_sym_asm] = ACTIONS(1153),
-    [anon_sym___asm__] = ACTIONS(1153),
-    [anon_sym___asm] = ACTIONS(1153),
-    [sym_number_literal] = ACTIONS(1155),
-    [anon_sym_L_SQUOTE] = ACTIONS(1155),
-    [anon_sym_u_SQUOTE] = ACTIONS(1155),
-    [anon_sym_U_SQUOTE] = ACTIONS(1155),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1155),
-    [anon_sym_SQUOTE] = ACTIONS(1155),
-    [anon_sym_L_DQUOTE] = ACTIONS(1155),
-    [anon_sym_u_DQUOTE] = ACTIONS(1155),
-    [anon_sym_U_DQUOTE] = ACTIONS(1155),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1155),
-    [anon_sym_DQUOTE] = ACTIONS(1155),
-    [sym_true] = ACTIONS(1153),
-    [sym_false] = ACTIONS(1153),
-    [anon_sym_NULL] = ACTIONS(1153),
-    [anon_sym_nullptr] = ACTIONS(1153),
+    [sym_identifier] = ACTIONS(1158),
+    [aux_sym_preproc_include_token1] = ACTIONS(1158),
+    [aux_sym_preproc_def_token1] = ACTIONS(1158),
+    [aux_sym_preproc_if_token1] = ACTIONS(1158),
+    [aux_sym_preproc_if_token2] = ACTIONS(1158),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1158),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1158),
+    [aux_sym_preproc_else_token1] = ACTIONS(1158),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1158),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1158),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1158),
+    [sym_preproc_directive] = ACTIONS(1158),
+    [anon_sym_LPAREN2] = ACTIONS(1160),
+    [anon_sym_BANG] = ACTIONS(1160),
+    [anon_sym_TILDE] = ACTIONS(1160),
+    [anon_sym_DASH] = ACTIONS(1158),
+    [anon_sym_PLUS] = ACTIONS(1158),
+    [anon_sym_STAR] = ACTIONS(1160),
+    [anon_sym_AMP] = ACTIONS(1160),
+    [anon_sym_SEMI] = ACTIONS(1160),
+    [anon_sym___extension__] = ACTIONS(1158),
+    [anon_sym_typedef] = ACTIONS(1158),
+    [anon_sym_extern] = ACTIONS(1158),
+    [anon_sym___attribute__] = ACTIONS(1158),
+    [anon_sym___attribute] = ACTIONS(1158),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1160),
+    [anon_sym___declspec] = ACTIONS(1158),
+    [anon_sym___cdecl] = ACTIONS(1158),
+    [anon_sym___clrcall] = ACTIONS(1158),
+    [anon_sym___stdcall] = ACTIONS(1158),
+    [anon_sym___fastcall] = ACTIONS(1158),
+    [anon_sym___thiscall] = ACTIONS(1158),
+    [anon_sym___vectorcall] = ACTIONS(1158),
+    [anon_sym_LBRACE] = ACTIONS(1160),
+    [anon_sym_signed] = ACTIONS(1158),
+    [anon_sym_unsigned] = ACTIONS(1158),
+    [anon_sym_long] = ACTIONS(1158),
+    [anon_sym_short] = ACTIONS(1158),
+    [anon_sym_static] = ACTIONS(1158),
+    [anon_sym_auto] = ACTIONS(1158),
+    [anon_sym_register] = ACTIONS(1158),
+    [anon_sym_inline] = ACTIONS(1158),
+    [anon_sym___inline] = ACTIONS(1158),
+    [anon_sym___inline__] = ACTIONS(1158),
+    [anon_sym___forceinline] = ACTIONS(1158),
+    [anon_sym_thread_local] = ACTIONS(1158),
+    [anon_sym___thread] = ACTIONS(1158),
+    [anon_sym_const] = ACTIONS(1158),
+    [anon_sym_constexpr] = ACTIONS(1158),
+    [anon_sym_volatile] = ACTIONS(1158),
+    [anon_sym_restrict] = ACTIONS(1158),
+    [anon_sym___restrict__] = ACTIONS(1158),
+    [anon_sym__Atomic] = ACTIONS(1158),
+    [anon_sym__Noreturn] = ACTIONS(1158),
+    [anon_sym_noreturn] = ACTIONS(1158),
+    [anon_sym__Nonnull] = ACTIONS(1158),
+    [anon_sym_alignas] = ACTIONS(1158),
+    [anon_sym__Alignas] = ACTIONS(1158),
+    [sym_primitive_type] = ACTIONS(1158),
+    [anon_sym_enum] = ACTIONS(1158),
+    [anon_sym_struct] = ACTIONS(1158),
+    [anon_sym_union] = ACTIONS(1158),
+    [anon_sym_if] = ACTIONS(1158),
+    [anon_sym_else] = ACTIONS(1158),
+    [anon_sym_switch] = ACTIONS(1158),
+    [anon_sym_case] = ACTIONS(1158),
+    [anon_sym_default] = ACTIONS(1158),
+    [anon_sym_while] = ACTIONS(1158),
+    [anon_sym_do] = ACTIONS(1158),
+    [anon_sym_for] = ACTIONS(1158),
+    [anon_sym_return] = ACTIONS(1158),
+    [anon_sym_break] = ACTIONS(1158),
+    [anon_sym_continue] = ACTIONS(1158),
+    [anon_sym_goto] = ACTIONS(1158),
+    [anon_sym___try] = ACTIONS(1158),
+    [anon_sym___leave] = ACTIONS(1158),
+    [anon_sym_DASH_DASH] = ACTIONS(1160),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1160),
+    [anon_sym_sizeof] = ACTIONS(1158),
+    [anon_sym___alignof__] = ACTIONS(1158),
+    [anon_sym___alignof] = ACTIONS(1158),
+    [anon_sym__alignof] = ACTIONS(1158),
+    [anon_sym_alignof] = ACTIONS(1158),
+    [anon_sym__Alignof] = ACTIONS(1158),
+    [anon_sym_offsetof] = ACTIONS(1158),
+    [anon_sym__Generic] = ACTIONS(1158),
+    [anon_sym_asm] = ACTIONS(1158),
+    [anon_sym___asm__] = ACTIONS(1158),
+    [anon_sym___asm] = ACTIONS(1158),
+    [sym_number_literal] = ACTIONS(1160),
+    [anon_sym_L_SQUOTE] = ACTIONS(1160),
+    [anon_sym_u_SQUOTE] = ACTIONS(1160),
+    [anon_sym_U_SQUOTE] = ACTIONS(1160),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1160),
+    [anon_sym_SQUOTE] = ACTIONS(1160),
+    [anon_sym_L_DQUOTE] = ACTIONS(1160),
+    [anon_sym_u_DQUOTE] = ACTIONS(1160),
+    [anon_sym_U_DQUOTE] = ACTIONS(1160),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1160),
+    [anon_sym_DQUOTE] = ACTIONS(1160),
+    [sym_true] = ACTIONS(1158),
+    [sym_false] = ACTIONS(1158),
+    [anon_sym_NULL] = ACTIONS(1158),
+    [anon_sym_nullptr] = ACTIONS(1158),
     [sym_comment] = ACTIONS(3),
   },
   [89] = {
-    [sym_identifier] = ACTIONS(1157),
-    [aux_sym_preproc_include_token1] = ACTIONS(1157),
-    [aux_sym_preproc_def_token1] = ACTIONS(1157),
-    [aux_sym_preproc_if_token1] = ACTIONS(1157),
-    [aux_sym_preproc_if_token2] = ACTIONS(1157),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1157),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1157),
-    [aux_sym_preproc_else_token1] = ACTIONS(1157),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1157),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1157),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1157),
-    [sym_preproc_directive] = ACTIONS(1157),
-    [anon_sym_LPAREN2] = ACTIONS(1159),
-    [anon_sym_BANG] = ACTIONS(1159),
-    [anon_sym_TILDE] = ACTIONS(1159),
-    [anon_sym_DASH] = ACTIONS(1157),
-    [anon_sym_PLUS] = ACTIONS(1157),
-    [anon_sym_STAR] = ACTIONS(1159),
-    [anon_sym_AMP] = ACTIONS(1159),
-    [anon_sym_SEMI] = ACTIONS(1159),
-    [anon_sym___extension__] = ACTIONS(1157),
-    [anon_sym_typedef] = ACTIONS(1157),
-    [anon_sym_extern] = ACTIONS(1157),
-    [anon_sym___attribute__] = ACTIONS(1157),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1159),
-    [anon_sym___declspec] = ACTIONS(1157),
-    [anon_sym___cdecl] = ACTIONS(1157),
-    [anon_sym___clrcall] = ACTIONS(1157),
-    [anon_sym___stdcall] = ACTIONS(1157),
-    [anon_sym___fastcall] = ACTIONS(1157),
-    [anon_sym___thiscall] = ACTIONS(1157),
-    [anon_sym___vectorcall] = ACTIONS(1157),
-    [anon_sym_LBRACE] = ACTIONS(1159),
-    [anon_sym_signed] = ACTIONS(1157),
-    [anon_sym_unsigned] = ACTIONS(1157),
-    [anon_sym_long] = ACTIONS(1157),
-    [anon_sym_short] = ACTIONS(1157),
-    [anon_sym_static] = ACTIONS(1157),
-    [anon_sym_auto] = ACTIONS(1157),
-    [anon_sym_register] = ACTIONS(1157),
-    [anon_sym_inline] = ACTIONS(1157),
-    [anon_sym___inline] = ACTIONS(1157),
-    [anon_sym___inline__] = ACTIONS(1157),
-    [anon_sym___forceinline] = ACTIONS(1157),
-    [anon_sym_thread_local] = ACTIONS(1157),
-    [anon_sym___thread] = ACTIONS(1157),
-    [anon_sym_const] = ACTIONS(1157),
-    [anon_sym_constexpr] = ACTIONS(1157),
-    [anon_sym_volatile] = ACTIONS(1157),
-    [anon_sym_restrict] = ACTIONS(1157),
-    [anon_sym___restrict__] = ACTIONS(1157),
-    [anon_sym__Atomic] = ACTIONS(1157),
-    [anon_sym__Noreturn] = ACTIONS(1157),
-    [anon_sym_noreturn] = ACTIONS(1157),
-    [anon_sym__Nonnull] = ACTIONS(1157),
-    [anon_sym_alignas] = ACTIONS(1157),
-    [anon_sym__Alignas] = ACTIONS(1157),
-    [sym_primitive_type] = ACTIONS(1157),
-    [anon_sym_enum] = ACTIONS(1157),
-    [anon_sym_struct] = ACTIONS(1157),
-    [anon_sym_union] = ACTIONS(1157),
-    [anon_sym_if] = ACTIONS(1157),
-    [anon_sym_else] = ACTIONS(1157),
-    [anon_sym_switch] = ACTIONS(1157),
-    [anon_sym_case] = ACTIONS(1157),
-    [anon_sym_default] = ACTIONS(1157),
-    [anon_sym_while] = ACTIONS(1157),
-    [anon_sym_do] = ACTIONS(1157),
-    [anon_sym_for] = ACTIONS(1157),
-    [anon_sym_return] = ACTIONS(1157),
-    [anon_sym_break] = ACTIONS(1157),
-    [anon_sym_continue] = ACTIONS(1157),
-    [anon_sym_goto] = ACTIONS(1157),
-    [anon_sym___try] = ACTIONS(1157),
-    [anon_sym___leave] = ACTIONS(1157),
-    [anon_sym_DASH_DASH] = ACTIONS(1159),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1159),
-    [anon_sym_sizeof] = ACTIONS(1157),
-    [anon_sym___alignof__] = ACTIONS(1157),
-    [anon_sym___alignof] = ACTIONS(1157),
-    [anon_sym__alignof] = ACTIONS(1157),
-    [anon_sym_alignof] = ACTIONS(1157),
-    [anon_sym__Alignof] = ACTIONS(1157),
-    [anon_sym_offsetof] = ACTIONS(1157),
-    [anon_sym__Generic] = ACTIONS(1157),
-    [anon_sym_asm] = ACTIONS(1157),
-    [anon_sym___asm__] = ACTIONS(1157),
-    [anon_sym___asm] = ACTIONS(1157),
-    [sym_number_literal] = ACTIONS(1159),
-    [anon_sym_L_SQUOTE] = ACTIONS(1159),
-    [anon_sym_u_SQUOTE] = ACTIONS(1159),
-    [anon_sym_U_SQUOTE] = ACTIONS(1159),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1159),
-    [anon_sym_SQUOTE] = ACTIONS(1159),
-    [anon_sym_L_DQUOTE] = ACTIONS(1159),
-    [anon_sym_u_DQUOTE] = ACTIONS(1159),
-    [anon_sym_U_DQUOTE] = ACTIONS(1159),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1159),
-    [anon_sym_DQUOTE] = ACTIONS(1159),
-    [sym_true] = ACTIONS(1157),
-    [sym_false] = ACTIONS(1157),
-    [anon_sym_NULL] = ACTIONS(1157),
-    [anon_sym_nullptr] = ACTIONS(1157),
+    [sym_identifier] = ACTIONS(1162),
+    [aux_sym_preproc_include_token1] = ACTIONS(1162),
+    [aux_sym_preproc_def_token1] = ACTIONS(1162),
+    [aux_sym_preproc_if_token1] = ACTIONS(1162),
+    [aux_sym_preproc_if_token2] = ACTIONS(1162),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1162),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1162),
+    [aux_sym_preproc_else_token1] = ACTIONS(1162),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1162),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1162),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1162),
+    [sym_preproc_directive] = ACTIONS(1162),
+    [anon_sym_LPAREN2] = ACTIONS(1164),
+    [anon_sym_BANG] = ACTIONS(1164),
+    [anon_sym_TILDE] = ACTIONS(1164),
+    [anon_sym_DASH] = ACTIONS(1162),
+    [anon_sym_PLUS] = ACTIONS(1162),
+    [anon_sym_STAR] = ACTIONS(1164),
+    [anon_sym_AMP] = ACTIONS(1164),
+    [anon_sym_SEMI] = ACTIONS(1164),
+    [anon_sym___extension__] = ACTIONS(1162),
+    [anon_sym_typedef] = ACTIONS(1162),
+    [anon_sym_extern] = ACTIONS(1162),
+    [anon_sym___attribute__] = ACTIONS(1162),
+    [anon_sym___attribute] = ACTIONS(1162),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1164),
+    [anon_sym___declspec] = ACTIONS(1162),
+    [anon_sym___cdecl] = ACTIONS(1162),
+    [anon_sym___clrcall] = ACTIONS(1162),
+    [anon_sym___stdcall] = ACTIONS(1162),
+    [anon_sym___fastcall] = ACTIONS(1162),
+    [anon_sym___thiscall] = ACTIONS(1162),
+    [anon_sym___vectorcall] = ACTIONS(1162),
+    [anon_sym_LBRACE] = ACTIONS(1164),
+    [anon_sym_signed] = ACTIONS(1162),
+    [anon_sym_unsigned] = ACTIONS(1162),
+    [anon_sym_long] = ACTIONS(1162),
+    [anon_sym_short] = ACTIONS(1162),
+    [anon_sym_static] = ACTIONS(1162),
+    [anon_sym_auto] = ACTIONS(1162),
+    [anon_sym_register] = ACTIONS(1162),
+    [anon_sym_inline] = ACTIONS(1162),
+    [anon_sym___inline] = ACTIONS(1162),
+    [anon_sym___inline__] = ACTIONS(1162),
+    [anon_sym___forceinline] = ACTIONS(1162),
+    [anon_sym_thread_local] = ACTIONS(1162),
+    [anon_sym___thread] = ACTIONS(1162),
+    [anon_sym_const] = ACTIONS(1162),
+    [anon_sym_constexpr] = ACTIONS(1162),
+    [anon_sym_volatile] = ACTIONS(1162),
+    [anon_sym_restrict] = ACTIONS(1162),
+    [anon_sym___restrict__] = ACTIONS(1162),
+    [anon_sym__Atomic] = ACTIONS(1162),
+    [anon_sym__Noreturn] = ACTIONS(1162),
+    [anon_sym_noreturn] = ACTIONS(1162),
+    [anon_sym__Nonnull] = ACTIONS(1162),
+    [anon_sym_alignas] = ACTIONS(1162),
+    [anon_sym__Alignas] = ACTIONS(1162),
+    [sym_primitive_type] = ACTIONS(1162),
+    [anon_sym_enum] = ACTIONS(1162),
+    [anon_sym_struct] = ACTIONS(1162),
+    [anon_sym_union] = ACTIONS(1162),
+    [anon_sym_if] = ACTIONS(1162),
+    [anon_sym_else] = ACTIONS(1162),
+    [anon_sym_switch] = ACTIONS(1162),
+    [anon_sym_case] = ACTIONS(1162),
+    [anon_sym_default] = ACTIONS(1162),
+    [anon_sym_while] = ACTIONS(1162),
+    [anon_sym_do] = ACTIONS(1162),
+    [anon_sym_for] = ACTIONS(1162),
+    [anon_sym_return] = ACTIONS(1162),
+    [anon_sym_break] = ACTIONS(1162),
+    [anon_sym_continue] = ACTIONS(1162),
+    [anon_sym_goto] = ACTIONS(1162),
+    [anon_sym___try] = ACTIONS(1162),
+    [anon_sym___leave] = ACTIONS(1162),
+    [anon_sym_DASH_DASH] = ACTIONS(1164),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1164),
+    [anon_sym_sizeof] = ACTIONS(1162),
+    [anon_sym___alignof__] = ACTIONS(1162),
+    [anon_sym___alignof] = ACTIONS(1162),
+    [anon_sym__alignof] = ACTIONS(1162),
+    [anon_sym_alignof] = ACTIONS(1162),
+    [anon_sym__Alignof] = ACTIONS(1162),
+    [anon_sym_offsetof] = ACTIONS(1162),
+    [anon_sym__Generic] = ACTIONS(1162),
+    [anon_sym_asm] = ACTIONS(1162),
+    [anon_sym___asm__] = ACTIONS(1162),
+    [anon_sym___asm] = ACTIONS(1162),
+    [sym_number_literal] = ACTIONS(1164),
+    [anon_sym_L_SQUOTE] = ACTIONS(1164),
+    [anon_sym_u_SQUOTE] = ACTIONS(1164),
+    [anon_sym_U_SQUOTE] = ACTIONS(1164),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1164),
+    [anon_sym_SQUOTE] = ACTIONS(1164),
+    [anon_sym_L_DQUOTE] = ACTIONS(1164),
+    [anon_sym_u_DQUOTE] = ACTIONS(1164),
+    [anon_sym_U_DQUOTE] = ACTIONS(1164),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1164),
+    [anon_sym_DQUOTE] = ACTIONS(1164),
+    [sym_true] = ACTIONS(1162),
+    [sym_false] = ACTIONS(1162),
+    [anon_sym_NULL] = ACTIONS(1162),
+    [anon_sym_nullptr] = ACTIONS(1162),
     [sym_comment] = ACTIONS(3),
   },
   [90] = {
-    [sym_identifier] = ACTIONS(1161),
-    [aux_sym_preproc_include_token1] = ACTIONS(1161),
-    [aux_sym_preproc_def_token1] = ACTIONS(1161),
-    [aux_sym_preproc_if_token1] = ACTIONS(1161),
-    [aux_sym_preproc_if_token2] = ACTIONS(1161),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1161),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1161),
-    [aux_sym_preproc_else_token1] = ACTIONS(1161),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1161),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1161),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1161),
-    [sym_preproc_directive] = ACTIONS(1161),
-    [anon_sym_LPAREN2] = ACTIONS(1163),
-    [anon_sym_BANG] = ACTIONS(1163),
-    [anon_sym_TILDE] = ACTIONS(1163),
-    [anon_sym_DASH] = ACTIONS(1161),
-    [anon_sym_PLUS] = ACTIONS(1161),
-    [anon_sym_STAR] = ACTIONS(1163),
-    [anon_sym_AMP] = ACTIONS(1163),
-    [anon_sym_SEMI] = ACTIONS(1163),
-    [anon_sym___extension__] = ACTIONS(1161),
-    [anon_sym_typedef] = ACTIONS(1161),
-    [anon_sym_extern] = ACTIONS(1161),
-    [anon_sym___attribute__] = ACTIONS(1161),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1163),
-    [anon_sym___declspec] = ACTIONS(1161),
-    [anon_sym___cdecl] = ACTIONS(1161),
-    [anon_sym___clrcall] = ACTIONS(1161),
-    [anon_sym___stdcall] = ACTIONS(1161),
-    [anon_sym___fastcall] = ACTIONS(1161),
-    [anon_sym___thiscall] = ACTIONS(1161),
-    [anon_sym___vectorcall] = ACTIONS(1161),
-    [anon_sym_LBRACE] = ACTIONS(1163),
-    [anon_sym_signed] = ACTIONS(1161),
-    [anon_sym_unsigned] = ACTIONS(1161),
-    [anon_sym_long] = ACTIONS(1161),
-    [anon_sym_short] = ACTIONS(1161),
-    [anon_sym_static] = ACTIONS(1161),
-    [anon_sym_auto] = ACTIONS(1161),
-    [anon_sym_register] = ACTIONS(1161),
-    [anon_sym_inline] = ACTIONS(1161),
-    [anon_sym___inline] = ACTIONS(1161),
-    [anon_sym___inline__] = ACTIONS(1161),
-    [anon_sym___forceinline] = ACTIONS(1161),
-    [anon_sym_thread_local] = ACTIONS(1161),
-    [anon_sym___thread] = ACTIONS(1161),
-    [anon_sym_const] = ACTIONS(1161),
-    [anon_sym_constexpr] = ACTIONS(1161),
-    [anon_sym_volatile] = ACTIONS(1161),
-    [anon_sym_restrict] = ACTIONS(1161),
-    [anon_sym___restrict__] = ACTIONS(1161),
-    [anon_sym__Atomic] = ACTIONS(1161),
-    [anon_sym__Noreturn] = ACTIONS(1161),
-    [anon_sym_noreturn] = ACTIONS(1161),
-    [anon_sym__Nonnull] = ACTIONS(1161),
-    [anon_sym_alignas] = ACTIONS(1161),
-    [anon_sym__Alignas] = ACTIONS(1161),
-    [sym_primitive_type] = ACTIONS(1161),
-    [anon_sym_enum] = ACTIONS(1161),
-    [anon_sym_struct] = ACTIONS(1161),
-    [anon_sym_union] = ACTIONS(1161),
-    [anon_sym_if] = ACTIONS(1161),
-    [anon_sym_else] = ACTIONS(1161),
-    [anon_sym_switch] = ACTIONS(1161),
-    [anon_sym_case] = ACTIONS(1161),
-    [anon_sym_default] = ACTIONS(1161),
-    [anon_sym_while] = ACTIONS(1161),
-    [anon_sym_do] = ACTIONS(1161),
-    [anon_sym_for] = ACTIONS(1161),
-    [anon_sym_return] = ACTIONS(1161),
-    [anon_sym_break] = ACTIONS(1161),
-    [anon_sym_continue] = ACTIONS(1161),
-    [anon_sym_goto] = ACTIONS(1161),
-    [anon_sym___try] = ACTIONS(1161),
-    [anon_sym___leave] = ACTIONS(1161),
-    [anon_sym_DASH_DASH] = ACTIONS(1163),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1163),
-    [anon_sym_sizeof] = ACTIONS(1161),
-    [anon_sym___alignof__] = ACTIONS(1161),
-    [anon_sym___alignof] = ACTIONS(1161),
-    [anon_sym__alignof] = ACTIONS(1161),
-    [anon_sym_alignof] = ACTIONS(1161),
-    [anon_sym__Alignof] = ACTIONS(1161),
-    [anon_sym_offsetof] = ACTIONS(1161),
-    [anon_sym__Generic] = ACTIONS(1161),
-    [anon_sym_asm] = ACTIONS(1161),
-    [anon_sym___asm__] = ACTIONS(1161),
-    [anon_sym___asm] = ACTIONS(1161),
-    [sym_number_literal] = ACTIONS(1163),
-    [anon_sym_L_SQUOTE] = ACTIONS(1163),
-    [anon_sym_u_SQUOTE] = ACTIONS(1163),
-    [anon_sym_U_SQUOTE] = ACTIONS(1163),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1163),
-    [anon_sym_SQUOTE] = ACTIONS(1163),
-    [anon_sym_L_DQUOTE] = ACTIONS(1163),
-    [anon_sym_u_DQUOTE] = ACTIONS(1163),
-    [anon_sym_U_DQUOTE] = ACTIONS(1163),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1163),
-    [anon_sym_DQUOTE] = ACTIONS(1163),
-    [sym_true] = ACTIONS(1161),
-    [sym_false] = ACTIONS(1161),
-    [anon_sym_NULL] = ACTIONS(1161),
-    [anon_sym_nullptr] = ACTIONS(1161),
+    [sym_identifier] = ACTIONS(1166),
+    [aux_sym_preproc_include_token1] = ACTIONS(1166),
+    [aux_sym_preproc_def_token1] = ACTIONS(1166),
+    [aux_sym_preproc_if_token1] = ACTIONS(1166),
+    [aux_sym_preproc_if_token2] = ACTIONS(1166),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1166),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1166),
+    [aux_sym_preproc_else_token1] = ACTIONS(1166),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1166),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1166),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1166),
+    [sym_preproc_directive] = ACTIONS(1166),
+    [anon_sym_LPAREN2] = ACTIONS(1168),
+    [anon_sym_BANG] = ACTIONS(1168),
+    [anon_sym_TILDE] = ACTIONS(1168),
+    [anon_sym_DASH] = ACTIONS(1166),
+    [anon_sym_PLUS] = ACTIONS(1166),
+    [anon_sym_STAR] = ACTIONS(1168),
+    [anon_sym_AMP] = ACTIONS(1168),
+    [anon_sym_SEMI] = ACTIONS(1168),
+    [anon_sym___extension__] = ACTIONS(1166),
+    [anon_sym_typedef] = ACTIONS(1166),
+    [anon_sym_extern] = ACTIONS(1166),
+    [anon_sym___attribute__] = ACTIONS(1166),
+    [anon_sym___attribute] = ACTIONS(1166),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1168),
+    [anon_sym___declspec] = ACTIONS(1166),
+    [anon_sym___cdecl] = ACTIONS(1166),
+    [anon_sym___clrcall] = ACTIONS(1166),
+    [anon_sym___stdcall] = ACTIONS(1166),
+    [anon_sym___fastcall] = ACTIONS(1166),
+    [anon_sym___thiscall] = ACTIONS(1166),
+    [anon_sym___vectorcall] = ACTIONS(1166),
+    [anon_sym_LBRACE] = ACTIONS(1168),
+    [anon_sym_signed] = ACTIONS(1166),
+    [anon_sym_unsigned] = ACTIONS(1166),
+    [anon_sym_long] = ACTIONS(1166),
+    [anon_sym_short] = ACTIONS(1166),
+    [anon_sym_static] = ACTIONS(1166),
+    [anon_sym_auto] = ACTIONS(1166),
+    [anon_sym_register] = ACTIONS(1166),
+    [anon_sym_inline] = ACTIONS(1166),
+    [anon_sym___inline] = ACTIONS(1166),
+    [anon_sym___inline__] = ACTIONS(1166),
+    [anon_sym___forceinline] = ACTIONS(1166),
+    [anon_sym_thread_local] = ACTIONS(1166),
+    [anon_sym___thread] = ACTIONS(1166),
+    [anon_sym_const] = ACTIONS(1166),
+    [anon_sym_constexpr] = ACTIONS(1166),
+    [anon_sym_volatile] = ACTIONS(1166),
+    [anon_sym_restrict] = ACTIONS(1166),
+    [anon_sym___restrict__] = ACTIONS(1166),
+    [anon_sym__Atomic] = ACTIONS(1166),
+    [anon_sym__Noreturn] = ACTIONS(1166),
+    [anon_sym_noreturn] = ACTIONS(1166),
+    [anon_sym__Nonnull] = ACTIONS(1166),
+    [anon_sym_alignas] = ACTIONS(1166),
+    [anon_sym__Alignas] = ACTIONS(1166),
+    [sym_primitive_type] = ACTIONS(1166),
+    [anon_sym_enum] = ACTIONS(1166),
+    [anon_sym_struct] = ACTIONS(1166),
+    [anon_sym_union] = ACTIONS(1166),
+    [anon_sym_if] = ACTIONS(1166),
+    [anon_sym_else] = ACTIONS(1166),
+    [anon_sym_switch] = ACTIONS(1166),
+    [anon_sym_case] = ACTIONS(1166),
+    [anon_sym_default] = ACTIONS(1166),
+    [anon_sym_while] = ACTIONS(1166),
+    [anon_sym_do] = ACTIONS(1166),
+    [anon_sym_for] = ACTIONS(1166),
+    [anon_sym_return] = ACTIONS(1166),
+    [anon_sym_break] = ACTIONS(1166),
+    [anon_sym_continue] = ACTIONS(1166),
+    [anon_sym_goto] = ACTIONS(1166),
+    [anon_sym___try] = ACTIONS(1166),
+    [anon_sym___leave] = ACTIONS(1166),
+    [anon_sym_DASH_DASH] = ACTIONS(1168),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1168),
+    [anon_sym_sizeof] = ACTIONS(1166),
+    [anon_sym___alignof__] = ACTIONS(1166),
+    [anon_sym___alignof] = ACTIONS(1166),
+    [anon_sym__alignof] = ACTIONS(1166),
+    [anon_sym_alignof] = ACTIONS(1166),
+    [anon_sym__Alignof] = ACTIONS(1166),
+    [anon_sym_offsetof] = ACTIONS(1166),
+    [anon_sym__Generic] = ACTIONS(1166),
+    [anon_sym_asm] = ACTIONS(1166),
+    [anon_sym___asm__] = ACTIONS(1166),
+    [anon_sym___asm] = ACTIONS(1166),
+    [sym_number_literal] = ACTIONS(1168),
+    [anon_sym_L_SQUOTE] = ACTIONS(1168),
+    [anon_sym_u_SQUOTE] = ACTIONS(1168),
+    [anon_sym_U_SQUOTE] = ACTIONS(1168),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1168),
+    [anon_sym_SQUOTE] = ACTIONS(1168),
+    [anon_sym_L_DQUOTE] = ACTIONS(1168),
+    [anon_sym_u_DQUOTE] = ACTIONS(1168),
+    [anon_sym_U_DQUOTE] = ACTIONS(1168),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1168),
+    [anon_sym_DQUOTE] = ACTIONS(1168),
+    [sym_true] = ACTIONS(1166),
+    [sym_false] = ACTIONS(1166),
+    [anon_sym_NULL] = ACTIONS(1166),
+    [anon_sym_nullptr] = ACTIONS(1166),
     [sym_comment] = ACTIONS(3),
   },
   [91] = {
-    [sym_identifier] = ACTIONS(1165),
-    [aux_sym_preproc_include_token1] = ACTIONS(1165),
-    [aux_sym_preproc_def_token1] = ACTIONS(1165),
-    [aux_sym_preproc_if_token1] = ACTIONS(1165),
-    [aux_sym_preproc_if_token2] = ACTIONS(1165),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1165),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1165),
-    [aux_sym_preproc_else_token1] = ACTIONS(1165),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1165),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1165),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1165),
-    [sym_preproc_directive] = ACTIONS(1165),
-    [anon_sym_LPAREN2] = ACTIONS(1167),
-    [anon_sym_BANG] = ACTIONS(1167),
-    [anon_sym_TILDE] = ACTIONS(1167),
-    [anon_sym_DASH] = ACTIONS(1165),
-    [anon_sym_PLUS] = ACTIONS(1165),
-    [anon_sym_STAR] = ACTIONS(1167),
-    [anon_sym_AMP] = ACTIONS(1167),
-    [anon_sym_SEMI] = ACTIONS(1167),
-    [anon_sym___extension__] = ACTIONS(1165),
-    [anon_sym_typedef] = ACTIONS(1165),
-    [anon_sym_extern] = ACTIONS(1165),
-    [anon_sym___attribute__] = ACTIONS(1165),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1167),
-    [anon_sym___declspec] = ACTIONS(1165),
-    [anon_sym___cdecl] = ACTIONS(1165),
-    [anon_sym___clrcall] = ACTIONS(1165),
-    [anon_sym___stdcall] = ACTIONS(1165),
-    [anon_sym___fastcall] = ACTIONS(1165),
-    [anon_sym___thiscall] = ACTIONS(1165),
-    [anon_sym___vectorcall] = ACTIONS(1165),
-    [anon_sym_LBRACE] = ACTIONS(1167),
-    [anon_sym_signed] = ACTIONS(1165),
-    [anon_sym_unsigned] = ACTIONS(1165),
-    [anon_sym_long] = ACTIONS(1165),
-    [anon_sym_short] = ACTIONS(1165),
-    [anon_sym_static] = ACTIONS(1165),
-    [anon_sym_auto] = ACTIONS(1165),
-    [anon_sym_register] = ACTIONS(1165),
-    [anon_sym_inline] = ACTIONS(1165),
-    [anon_sym___inline] = ACTIONS(1165),
-    [anon_sym___inline__] = ACTIONS(1165),
-    [anon_sym___forceinline] = ACTIONS(1165),
-    [anon_sym_thread_local] = ACTIONS(1165),
-    [anon_sym___thread] = ACTIONS(1165),
-    [anon_sym_const] = ACTIONS(1165),
-    [anon_sym_constexpr] = ACTIONS(1165),
-    [anon_sym_volatile] = ACTIONS(1165),
-    [anon_sym_restrict] = ACTIONS(1165),
-    [anon_sym___restrict__] = ACTIONS(1165),
-    [anon_sym__Atomic] = ACTIONS(1165),
-    [anon_sym__Noreturn] = ACTIONS(1165),
-    [anon_sym_noreturn] = ACTIONS(1165),
-    [anon_sym__Nonnull] = ACTIONS(1165),
-    [anon_sym_alignas] = ACTIONS(1165),
-    [anon_sym__Alignas] = ACTIONS(1165),
-    [sym_primitive_type] = ACTIONS(1165),
-    [anon_sym_enum] = ACTIONS(1165),
-    [anon_sym_struct] = ACTIONS(1165),
-    [anon_sym_union] = ACTIONS(1165),
-    [anon_sym_if] = ACTIONS(1165),
-    [anon_sym_else] = ACTIONS(1165),
-    [anon_sym_switch] = ACTIONS(1165),
-    [anon_sym_case] = ACTIONS(1165),
-    [anon_sym_default] = ACTIONS(1165),
-    [anon_sym_while] = ACTIONS(1165),
-    [anon_sym_do] = ACTIONS(1165),
-    [anon_sym_for] = ACTIONS(1165),
-    [anon_sym_return] = ACTIONS(1165),
-    [anon_sym_break] = ACTIONS(1165),
-    [anon_sym_continue] = ACTIONS(1165),
-    [anon_sym_goto] = ACTIONS(1165),
-    [anon_sym___try] = ACTIONS(1165),
-    [anon_sym___leave] = ACTIONS(1165),
-    [anon_sym_DASH_DASH] = ACTIONS(1167),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1167),
-    [anon_sym_sizeof] = ACTIONS(1165),
-    [anon_sym___alignof__] = ACTIONS(1165),
-    [anon_sym___alignof] = ACTIONS(1165),
-    [anon_sym__alignof] = ACTIONS(1165),
-    [anon_sym_alignof] = ACTIONS(1165),
-    [anon_sym__Alignof] = ACTIONS(1165),
-    [anon_sym_offsetof] = ACTIONS(1165),
-    [anon_sym__Generic] = ACTIONS(1165),
-    [anon_sym_asm] = ACTIONS(1165),
-    [anon_sym___asm__] = ACTIONS(1165),
-    [anon_sym___asm] = ACTIONS(1165),
-    [sym_number_literal] = ACTIONS(1167),
-    [anon_sym_L_SQUOTE] = ACTIONS(1167),
-    [anon_sym_u_SQUOTE] = ACTIONS(1167),
-    [anon_sym_U_SQUOTE] = ACTIONS(1167),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1167),
-    [anon_sym_SQUOTE] = ACTIONS(1167),
-    [anon_sym_L_DQUOTE] = ACTIONS(1167),
-    [anon_sym_u_DQUOTE] = ACTIONS(1167),
-    [anon_sym_U_DQUOTE] = ACTIONS(1167),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1167),
-    [anon_sym_DQUOTE] = ACTIONS(1167),
-    [sym_true] = ACTIONS(1165),
-    [sym_false] = ACTIONS(1165),
-    [anon_sym_NULL] = ACTIONS(1165),
-    [anon_sym_nullptr] = ACTIONS(1165),
+    [sym_identifier] = ACTIONS(1170),
+    [aux_sym_preproc_include_token1] = ACTIONS(1170),
+    [aux_sym_preproc_def_token1] = ACTIONS(1170),
+    [aux_sym_preproc_if_token1] = ACTIONS(1170),
+    [aux_sym_preproc_if_token2] = ACTIONS(1170),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1170),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1170),
+    [aux_sym_preproc_else_token1] = ACTIONS(1170),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1170),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1170),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1170),
+    [sym_preproc_directive] = ACTIONS(1170),
+    [anon_sym_LPAREN2] = ACTIONS(1172),
+    [anon_sym_BANG] = ACTIONS(1172),
+    [anon_sym_TILDE] = ACTIONS(1172),
+    [anon_sym_DASH] = ACTIONS(1170),
+    [anon_sym_PLUS] = ACTIONS(1170),
+    [anon_sym_STAR] = ACTIONS(1172),
+    [anon_sym_AMP] = ACTIONS(1172),
+    [anon_sym_SEMI] = ACTIONS(1172),
+    [anon_sym___extension__] = ACTIONS(1170),
+    [anon_sym_typedef] = ACTIONS(1170),
+    [anon_sym_extern] = ACTIONS(1170),
+    [anon_sym___attribute__] = ACTIONS(1170),
+    [anon_sym___attribute] = ACTIONS(1170),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1172),
+    [anon_sym___declspec] = ACTIONS(1170),
+    [anon_sym___cdecl] = ACTIONS(1170),
+    [anon_sym___clrcall] = ACTIONS(1170),
+    [anon_sym___stdcall] = ACTIONS(1170),
+    [anon_sym___fastcall] = ACTIONS(1170),
+    [anon_sym___thiscall] = ACTIONS(1170),
+    [anon_sym___vectorcall] = ACTIONS(1170),
+    [anon_sym_LBRACE] = ACTIONS(1172),
+    [anon_sym_signed] = ACTIONS(1170),
+    [anon_sym_unsigned] = ACTIONS(1170),
+    [anon_sym_long] = ACTIONS(1170),
+    [anon_sym_short] = ACTIONS(1170),
+    [anon_sym_static] = ACTIONS(1170),
+    [anon_sym_auto] = ACTIONS(1170),
+    [anon_sym_register] = ACTIONS(1170),
+    [anon_sym_inline] = ACTIONS(1170),
+    [anon_sym___inline] = ACTIONS(1170),
+    [anon_sym___inline__] = ACTIONS(1170),
+    [anon_sym___forceinline] = ACTIONS(1170),
+    [anon_sym_thread_local] = ACTIONS(1170),
+    [anon_sym___thread] = ACTIONS(1170),
+    [anon_sym_const] = ACTIONS(1170),
+    [anon_sym_constexpr] = ACTIONS(1170),
+    [anon_sym_volatile] = ACTIONS(1170),
+    [anon_sym_restrict] = ACTIONS(1170),
+    [anon_sym___restrict__] = ACTIONS(1170),
+    [anon_sym__Atomic] = ACTIONS(1170),
+    [anon_sym__Noreturn] = ACTIONS(1170),
+    [anon_sym_noreturn] = ACTIONS(1170),
+    [anon_sym__Nonnull] = ACTIONS(1170),
+    [anon_sym_alignas] = ACTIONS(1170),
+    [anon_sym__Alignas] = ACTIONS(1170),
+    [sym_primitive_type] = ACTIONS(1170),
+    [anon_sym_enum] = ACTIONS(1170),
+    [anon_sym_struct] = ACTIONS(1170),
+    [anon_sym_union] = ACTIONS(1170),
+    [anon_sym_if] = ACTIONS(1170),
+    [anon_sym_else] = ACTIONS(1170),
+    [anon_sym_switch] = ACTIONS(1170),
+    [anon_sym_case] = ACTIONS(1170),
+    [anon_sym_default] = ACTIONS(1170),
+    [anon_sym_while] = ACTIONS(1170),
+    [anon_sym_do] = ACTIONS(1170),
+    [anon_sym_for] = ACTIONS(1170),
+    [anon_sym_return] = ACTIONS(1170),
+    [anon_sym_break] = ACTIONS(1170),
+    [anon_sym_continue] = ACTIONS(1170),
+    [anon_sym_goto] = ACTIONS(1170),
+    [anon_sym___try] = ACTIONS(1170),
+    [anon_sym___leave] = ACTIONS(1170),
+    [anon_sym_DASH_DASH] = ACTIONS(1172),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1172),
+    [anon_sym_sizeof] = ACTIONS(1170),
+    [anon_sym___alignof__] = ACTIONS(1170),
+    [anon_sym___alignof] = ACTIONS(1170),
+    [anon_sym__alignof] = ACTIONS(1170),
+    [anon_sym_alignof] = ACTIONS(1170),
+    [anon_sym__Alignof] = ACTIONS(1170),
+    [anon_sym_offsetof] = ACTIONS(1170),
+    [anon_sym__Generic] = ACTIONS(1170),
+    [anon_sym_asm] = ACTIONS(1170),
+    [anon_sym___asm__] = ACTIONS(1170),
+    [anon_sym___asm] = ACTIONS(1170),
+    [sym_number_literal] = ACTIONS(1172),
+    [anon_sym_L_SQUOTE] = ACTIONS(1172),
+    [anon_sym_u_SQUOTE] = ACTIONS(1172),
+    [anon_sym_U_SQUOTE] = ACTIONS(1172),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1172),
+    [anon_sym_SQUOTE] = ACTIONS(1172),
+    [anon_sym_L_DQUOTE] = ACTIONS(1172),
+    [anon_sym_u_DQUOTE] = ACTIONS(1172),
+    [anon_sym_U_DQUOTE] = ACTIONS(1172),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1172),
+    [anon_sym_DQUOTE] = ACTIONS(1172),
+    [sym_true] = ACTIONS(1170),
+    [sym_false] = ACTIONS(1170),
+    [anon_sym_NULL] = ACTIONS(1170),
+    [anon_sym_nullptr] = ACTIONS(1170),
     [sym_comment] = ACTIONS(3),
   },
   [92] = {
-    [sym_identifier] = ACTIONS(1169),
-    [aux_sym_preproc_include_token1] = ACTIONS(1169),
-    [aux_sym_preproc_def_token1] = ACTIONS(1169),
-    [aux_sym_preproc_if_token1] = ACTIONS(1169),
-    [aux_sym_preproc_if_token2] = ACTIONS(1169),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1169),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1169),
-    [aux_sym_preproc_else_token1] = ACTIONS(1169),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1169),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1169),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1169),
-    [sym_preproc_directive] = ACTIONS(1169),
-    [anon_sym_LPAREN2] = ACTIONS(1171),
-    [anon_sym_BANG] = ACTIONS(1171),
-    [anon_sym_TILDE] = ACTIONS(1171),
-    [anon_sym_DASH] = ACTIONS(1169),
-    [anon_sym_PLUS] = ACTIONS(1169),
-    [anon_sym_STAR] = ACTIONS(1171),
-    [anon_sym_AMP] = ACTIONS(1171),
-    [anon_sym_SEMI] = ACTIONS(1171),
-    [anon_sym___extension__] = ACTIONS(1169),
-    [anon_sym_typedef] = ACTIONS(1169),
-    [anon_sym_extern] = ACTIONS(1169),
-    [anon_sym___attribute__] = ACTIONS(1169),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1171),
-    [anon_sym___declspec] = ACTIONS(1169),
-    [anon_sym___cdecl] = ACTIONS(1169),
-    [anon_sym___clrcall] = ACTIONS(1169),
-    [anon_sym___stdcall] = ACTIONS(1169),
-    [anon_sym___fastcall] = ACTIONS(1169),
-    [anon_sym___thiscall] = ACTIONS(1169),
-    [anon_sym___vectorcall] = ACTIONS(1169),
-    [anon_sym_LBRACE] = ACTIONS(1171),
-    [anon_sym_signed] = ACTIONS(1169),
-    [anon_sym_unsigned] = ACTIONS(1169),
-    [anon_sym_long] = ACTIONS(1169),
-    [anon_sym_short] = ACTIONS(1169),
-    [anon_sym_static] = ACTIONS(1169),
-    [anon_sym_auto] = ACTIONS(1169),
-    [anon_sym_register] = ACTIONS(1169),
-    [anon_sym_inline] = ACTIONS(1169),
-    [anon_sym___inline] = ACTIONS(1169),
-    [anon_sym___inline__] = ACTIONS(1169),
-    [anon_sym___forceinline] = ACTIONS(1169),
-    [anon_sym_thread_local] = ACTIONS(1169),
-    [anon_sym___thread] = ACTIONS(1169),
-    [anon_sym_const] = ACTIONS(1169),
-    [anon_sym_constexpr] = ACTIONS(1169),
-    [anon_sym_volatile] = ACTIONS(1169),
-    [anon_sym_restrict] = ACTIONS(1169),
-    [anon_sym___restrict__] = ACTIONS(1169),
-    [anon_sym__Atomic] = ACTIONS(1169),
-    [anon_sym__Noreturn] = ACTIONS(1169),
-    [anon_sym_noreturn] = ACTIONS(1169),
-    [anon_sym__Nonnull] = ACTIONS(1169),
-    [anon_sym_alignas] = ACTIONS(1169),
-    [anon_sym__Alignas] = ACTIONS(1169),
-    [sym_primitive_type] = ACTIONS(1169),
-    [anon_sym_enum] = ACTIONS(1169),
-    [anon_sym_struct] = ACTIONS(1169),
-    [anon_sym_union] = ACTIONS(1169),
-    [anon_sym_if] = ACTIONS(1169),
-    [anon_sym_else] = ACTIONS(1169),
-    [anon_sym_switch] = ACTIONS(1169),
-    [anon_sym_case] = ACTIONS(1169),
-    [anon_sym_default] = ACTIONS(1169),
-    [anon_sym_while] = ACTIONS(1169),
-    [anon_sym_do] = ACTIONS(1169),
-    [anon_sym_for] = ACTIONS(1169),
-    [anon_sym_return] = ACTIONS(1169),
-    [anon_sym_break] = ACTIONS(1169),
-    [anon_sym_continue] = ACTIONS(1169),
-    [anon_sym_goto] = ACTIONS(1169),
-    [anon_sym___try] = ACTIONS(1169),
-    [anon_sym___leave] = ACTIONS(1169),
-    [anon_sym_DASH_DASH] = ACTIONS(1171),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1171),
-    [anon_sym_sizeof] = ACTIONS(1169),
-    [anon_sym___alignof__] = ACTIONS(1169),
-    [anon_sym___alignof] = ACTIONS(1169),
-    [anon_sym__alignof] = ACTIONS(1169),
-    [anon_sym_alignof] = ACTIONS(1169),
-    [anon_sym__Alignof] = ACTIONS(1169),
-    [anon_sym_offsetof] = ACTIONS(1169),
-    [anon_sym__Generic] = ACTIONS(1169),
-    [anon_sym_asm] = ACTIONS(1169),
-    [anon_sym___asm__] = ACTIONS(1169),
-    [anon_sym___asm] = ACTIONS(1169),
-    [sym_number_literal] = ACTIONS(1171),
-    [anon_sym_L_SQUOTE] = ACTIONS(1171),
-    [anon_sym_u_SQUOTE] = ACTIONS(1171),
-    [anon_sym_U_SQUOTE] = ACTIONS(1171),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1171),
-    [anon_sym_SQUOTE] = ACTIONS(1171),
-    [anon_sym_L_DQUOTE] = ACTIONS(1171),
-    [anon_sym_u_DQUOTE] = ACTIONS(1171),
-    [anon_sym_U_DQUOTE] = ACTIONS(1171),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1171),
-    [anon_sym_DQUOTE] = ACTIONS(1171),
-    [sym_true] = ACTIONS(1169),
-    [sym_false] = ACTIONS(1169),
-    [anon_sym_NULL] = ACTIONS(1169),
-    [anon_sym_nullptr] = ACTIONS(1169),
+    [sym_identifier] = ACTIONS(1170),
+    [aux_sym_preproc_include_token1] = ACTIONS(1170),
+    [aux_sym_preproc_def_token1] = ACTIONS(1170),
+    [aux_sym_preproc_if_token1] = ACTIONS(1170),
+    [aux_sym_preproc_if_token2] = ACTIONS(1170),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1170),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1170),
+    [aux_sym_preproc_else_token1] = ACTIONS(1170),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1170),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1170),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1170),
+    [sym_preproc_directive] = ACTIONS(1170),
+    [anon_sym_LPAREN2] = ACTIONS(1172),
+    [anon_sym_BANG] = ACTIONS(1172),
+    [anon_sym_TILDE] = ACTIONS(1172),
+    [anon_sym_DASH] = ACTIONS(1170),
+    [anon_sym_PLUS] = ACTIONS(1170),
+    [anon_sym_STAR] = ACTIONS(1172),
+    [anon_sym_AMP] = ACTIONS(1172),
+    [anon_sym_SEMI] = ACTIONS(1172),
+    [anon_sym___extension__] = ACTIONS(1170),
+    [anon_sym_typedef] = ACTIONS(1170),
+    [anon_sym_extern] = ACTIONS(1170),
+    [anon_sym___attribute__] = ACTIONS(1170),
+    [anon_sym___attribute] = ACTIONS(1170),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1172),
+    [anon_sym___declspec] = ACTIONS(1170),
+    [anon_sym___cdecl] = ACTIONS(1170),
+    [anon_sym___clrcall] = ACTIONS(1170),
+    [anon_sym___stdcall] = ACTIONS(1170),
+    [anon_sym___fastcall] = ACTIONS(1170),
+    [anon_sym___thiscall] = ACTIONS(1170),
+    [anon_sym___vectorcall] = ACTIONS(1170),
+    [anon_sym_LBRACE] = ACTIONS(1172),
+    [anon_sym_signed] = ACTIONS(1170),
+    [anon_sym_unsigned] = ACTIONS(1170),
+    [anon_sym_long] = ACTIONS(1170),
+    [anon_sym_short] = ACTIONS(1170),
+    [anon_sym_static] = ACTIONS(1170),
+    [anon_sym_auto] = ACTIONS(1170),
+    [anon_sym_register] = ACTIONS(1170),
+    [anon_sym_inline] = ACTIONS(1170),
+    [anon_sym___inline] = ACTIONS(1170),
+    [anon_sym___inline__] = ACTIONS(1170),
+    [anon_sym___forceinline] = ACTIONS(1170),
+    [anon_sym_thread_local] = ACTIONS(1170),
+    [anon_sym___thread] = ACTIONS(1170),
+    [anon_sym_const] = ACTIONS(1170),
+    [anon_sym_constexpr] = ACTIONS(1170),
+    [anon_sym_volatile] = ACTIONS(1170),
+    [anon_sym_restrict] = ACTIONS(1170),
+    [anon_sym___restrict__] = ACTIONS(1170),
+    [anon_sym__Atomic] = ACTIONS(1170),
+    [anon_sym__Noreturn] = ACTIONS(1170),
+    [anon_sym_noreturn] = ACTIONS(1170),
+    [anon_sym__Nonnull] = ACTIONS(1170),
+    [anon_sym_alignas] = ACTIONS(1170),
+    [anon_sym__Alignas] = ACTIONS(1170),
+    [sym_primitive_type] = ACTIONS(1170),
+    [anon_sym_enum] = ACTIONS(1170),
+    [anon_sym_struct] = ACTIONS(1170),
+    [anon_sym_union] = ACTIONS(1170),
+    [anon_sym_if] = ACTIONS(1170),
+    [anon_sym_else] = ACTIONS(1170),
+    [anon_sym_switch] = ACTIONS(1170),
+    [anon_sym_case] = ACTIONS(1170),
+    [anon_sym_default] = ACTIONS(1170),
+    [anon_sym_while] = ACTIONS(1170),
+    [anon_sym_do] = ACTIONS(1170),
+    [anon_sym_for] = ACTIONS(1170),
+    [anon_sym_return] = ACTIONS(1170),
+    [anon_sym_break] = ACTIONS(1170),
+    [anon_sym_continue] = ACTIONS(1170),
+    [anon_sym_goto] = ACTIONS(1170),
+    [anon_sym___try] = ACTIONS(1170),
+    [anon_sym___leave] = ACTIONS(1170),
+    [anon_sym_DASH_DASH] = ACTIONS(1172),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1172),
+    [anon_sym_sizeof] = ACTIONS(1170),
+    [anon_sym___alignof__] = ACTIONS(1170),
+    [anon_sym___alignof] = ACTIONS(1170),
+    [anon_sym__alignof] = ACTIONS(1170),
+    [anon_sym_alignof] = ACTIONS(1170),
+    [anon_sym__Alignof] = ACTIONS(1170),
+    [anon_sym_offsetof] = ACTIONS(1170),
+    [anon_sym__Generic] = ACTIONS(1170),
+    [anon_sym_asm] = ACTIONS(1170),
+    [anon_sym___asm__] = ACTIONS(1170),
+    [anon_sym___asm] = ACTIONS(1170),
+    [sym_number_literal] = ACTIONS(1172),
+    [anon_sym_L_SQUOTE] = ACTIONS(1172),
+    [anon_sym_u_SQUOTE] = ACTIONS(1172),
+    [anon_sym_U_SQUOTE] = ACTIONS(1172),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1172),
+    [anon_sym_SQUOTE] = ACTIONS(1172),
+    [anon_sym_L_DQUOTE] = ACTIONS(1172),
+    [anon_sym_u_DQUOTE] = ACTIONS(1172),
+    [anon_sym_U_DQUOTE] = ACTIONS(1172),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1172),
+    [anon_sym_DQUOTE] = ACTIONS(1172),
+    [sym_true] = ACTIONS(1170),
+    [sym_false] = ACTIONS(1170),
+    [anon_sym_NULL] = ACTIONS(1170),
+    [anon_sym_nullptr] = ACTIONS(1170),
     [sym_comment] = ACTIONS(3),
   },
   [93] = {
-    [sym_identifier] = ACTIONS(1173),
-    [aux_sym_preproc_include_token1] = ACTIONS(1173),
-    [aux_sym_preproc_def_token1] = ACTIONS(1173),
-    [aux_sym_preproc_if_token1] = ACTIONS(1173),
-    [aux_sym_preproc_if_token2] = ACTIONS(1173),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1173),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1173),
-    [aux_sym_preproc_else_token1] = ACTIONS(1173),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1173),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1173),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1173),
-    [sym_preproc_directive] = ACTIONS(1173),
-    [anon_sym_LPAREN2] = ACTIONS(1175),
-    [anon_sym_BANG] = ACTIONS(1175),
-    [anon_sym_TILDE] = ACTIONS(1175),
-    [anon_sym_DASH] = ACTIONS(1173),
-    [anon_sym_PLUS] = ACTIONS(1173),
-    [anon_sym_STAR] = ACTIONS(1175),
-    [anon_sym_AMP] = ACTIONS(1175),
-    [anon_sym_SEMI] = ACTIONS(1175),
-    [anon_sym___extension__] = ACTIONS(1173),
-    [anon_sym_typedef] = ACTIONS(1173),
-    [anon_sym_extern] = ACTIONS(1173),
-    [anon_sym___attribute__] = ACTIONS(1173),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1175),
-    [anon_sym___declspec] = ACTIONS(1173),
-    [anon_sym___cdecl] = ACTIONS(1173),
-    [anon_sym___clrcall] = ACTIONS(1173),
-    [anon_sym___stdcall] = ACTIONS(1173),
-    [anon_sym___fastcall] = ACTIONS(1173),
-    [anon_sym___thiscall] = ACTIONS(1173),
-    [anon_sym___vectorcall] = ACTIONS(1173),
-    [anon_sym_LBRACE] = ACTIONS(1175),
-    [anon_sym_signed] = ACTIONS(1173),
-    [anon_sym_unsigned] = ACTIONS(1173),
-    [anon_sym_long] = ACTIONS(1173),
-    [anon_sym_short] = ACTIONS(1173),
-    [anon_sym_static] = ACTIONS(1173),
-    [anon_sym_auto] = ACTIONS(1173),
-    [anon_sym_register] = ACTIONS(1173),
-    [anon_sym_inline] = ACTIONS(1173),
-    [anon_sym___inline] = ACTIONS(1173),
-    [anon_sym___inline__] = ACTIONS(1173),
-    [anon_sym___forceinline] = ACTIONS(1173),
-    [anon_sym_thread_local] = ACTIONS(1173),
-    [anon_sym___thread] = ACTIONS(1173),
-    [anon_sym_const] = ACTIONS(1173),
-    [anon_sym_constexpr] = ACTIONS(1173),
-    [anon_sym_volatile] = ACTIONS(1173),
-    [anon_sym_restrict] = ACTIONS(1173),
-    [anon_sym___restrict__] = ACTIONS(1173),
-    [anon_sym__Atomic] = ACTIONS(1173),
-    [anon_sym__Noreturn] = ACTIONS(1173),
-    [anon_sym_noreturn] = ACTIONS(1173),
-    [anon_sym__Nonnull] = ACTIONS(1173),
-    [anon_sym_alignas] = ACTIONS(1173),
-    [anon_sym__Alignas] = ACTIONS(1173),
-    [sym_primitive_type] = ACTIONS(1173),
-    [anon_sym_enum] = ACTIONS(1173),
-    [anon_sym_struct] = ACTIONS(1173),
-    [anon_sym_union] = ACTIONS(1173),
-    [anon_sym_if] = ACTIONS(1173),
-    [anon_sym_else] = ACTIONS(1173),
-    [anon_sym_switch] = ACTIONS(1173),
-    [anon_sym_case] = ACTIONS(1173),
-    [anon_sym_default] = ACTIONS(1173),
-    [anon_sym_while] = ACTIONS(1173),
-    [anon_sym_do] = ACTIONS(1173),
-    [anon_sym_for] = ACTIONS(1173),
-    [anon_sym_return] = ACTIONS(1173),
-    [anon_sym_break] = ACTIONS(1173),
-    [anon_sym_continue] = ACTIONS(1173),
-    [anon_sym_goto] = ACTIONS(1173),
-    [anon_sym___try] = ACTIONS(1173),
-    [anon_sym___leave] = ACTIONS(1173),
-    [anon_sym_DASH_DASH] = ACTIONS(1175),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1175),
-    [anon_sym_sizeof] = ACTIONS(1173),
-    [anon_sym___alignof__] = ACTIONS(1173),
-    [anon_sym___alignof] = ACTIONS(1173),
-    [anon_sym__alignof] = ACTIONS(1173),
-    [anon_sym_alignof] = ACTIONS(1173),
-    [anon_sym__Alignof] = ACTIONS(1173),
-    [anon_sym_offsetof] = ACTIONS(1173),
-    [anon_sym__Generic] = ACTIONS(1173),
-    [anon_sym_asm] = ACTIONS(1173),
-    [anon_sym___asm__] = ACTIONS(1173),
-    [anon_sym___asm] = ACTIONS(1173),
-    [sym_number_literal] = ACTIONS(1175),
-    [anon_sym_L_SQUOTE] = ACTIONS(1175),
-    [anon_sym_u_SQUOTE] = ACTIONS(1175),
-    [anon_sym_U_SQUOTE] = ACTIONS(1175),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1175),
-    [anon_sym_SQUOTE] = ACTIONS(1175),
-    [anon_sym_L_DQUOTE] = ACTIONS(1175),
-    [anon_sym_u_DQUOTE] = ACTIONS(1175),
-    [anon_sym_U_DQUOTE] = ACTIONS(1175),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1175),
-    [anon_sym_DQUOTE] = ACTIONS(1175),
-    [sym_true] = ACTIONS(1173),
-    [sym_false] = ACTIONS(1173),
-    [anon_sym_NULL] = ACTIONS(1173),
-    [anon_sym_nullptr] = ACTIONS(1173),
+    [sym_identifier] = ACTIONS(1174),
+    [aux_sym_preproc_include_token1] = ACTIONS(1174),
+    [aux_sym_preproc_def_token1] = ACTIONS(1174),
+    [aux_sym_preproc_if_token1] = ACTIONS(1174),
+    [aux_sym_preproc_if_token2] = ACTIONS(1174),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1174),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1174),
+    [aux_sym_preproc_else_token1] = ACTIONS(1174),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1174),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1174),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1174),
+    [sym_preproc_directive] = ACTIONS(1174),
+    [anon_sym_LPAREN2] = ACTIONS(1176),
+    [anon_sym_BANG] = ACTIONS(1176),
+    [anon_sym_TILDE] = ACTIONS(1176),
+    [anon_sym_DASH] = ACTIONS(1174),
+    [anon_sym_PLUS] = ACTIONS(1174),
+    [anon_sym_STAR] = ACTIONS(1176),
+    [anon_sym_AMP] = ACTIONS(1176),
+    [anon_sym_SEMI] = ACTIONS(1176),
+    [anon_sym___extension__] = ACTIONS(1174),
+    [anon_sym_typedef] = ACTIONS(1174),
+    [anon_sym_extern] = ACTIONS(1174),
+    [anon_sym___attribute__] = ACTIONS(1174),
+    [anon_sym___attribute] = ACTIONS(1174),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1176),
+    [anon_sym___declspec] = ACTIONS(1174),
+    [anon_sym___cdecl] = ACTIONS(1174),
+    [anon_sym___clrcall] = ACTIONS(1174),
+    [anon_sym___stdcall] = ACTIONS(1174),
+    [anon_sym___fastcall] = ACTIONS(1174),
+    [anon_sym___thiscall] = ACTIONS(1174),
+    [anon_sym___vectorcall] = ACTIONS(1174),
+    [anon_sym_LBRACE] = ACTIONS(1176),
+    [anon_sym_signed] = ACTIONS(1174),
+    [anon_sym_unsigned] = ACTIONS(1174),
+    [anon_sym_long] = ACTIONS(1174),
+    [anon_sym_short] = ACTIONS(1174),
+    [anon_sym_static] = ACTIONS(1174),
+    [anon_sym_auto] = ACTIONS(1174),
+    [anon_sym_register] = ACTIONS(1174),
+    [anon_sym_inline] = ACTIONS(1174),
+    [anon_sym___inline] = ACTIONS(1174),
+    [anon_sym___inline__] = ACTIONS(1174),
+    [anon_sym___forceinline] = ACTIONS(1174),
+    [anon_sym_thread_local] = ACTIONS(1174),
+    [anon_sym___thread] = ACTIONS(1174),
+    [anon_sym_const] = ACTIONS(1174),
+    [anon_sym_constexpr] = ACTIONS(1174),
+    [anon_sym_volatile] = ACTIONS(1174),
+    [anon_sym_restrict] = ACTIONS(1174),
+    [anon_sym___restrict__] = ACTIONS(1174),
+    [anon_sym__Atomic] = ACTIONS(1174),
+    [anon_sym__Noreturn] = ACTIONS(1174),
+    [anon_sym_noreturn] = ACTIONS(1174),
+    [anon_sym__Nonnull] = ACTIONS(1174),
+    [anon_sym_alignas] = ACTIONS(1174),
+    [anon_sym__Alignas] = ACTIONS(1174),
+    [sym_primitive_type] = ACTIONS(1174),
+    [anon_sym_enum] = ACTIONS(1174),
+    [anon_sym_struct] = ACTIONS(1174),
+    [anon_sym_union] = ACTIONS(1174),
+    [anon_sym_if] = ACTIONS(1174),
+    [anon_sym_else] = ACTIONS(1174),
+    [anon_sym_switch] = ACTIONS(1174),
+    [anon_sym_case] = ACTIONS(1174),
+    [anon_sym_default] = ACTIONS(1174),
+    [anon_sym_while] = ACTIONS(1174),
+    [anon_sym_do] = ACTIONS(1174),
+    [anon_sym_for] = ACTIONS(1174),
+    [anon_sym_return] = ACTIONS(1174),
+    [anon_sym_break] = ACTIONS(1174),
+    [anon_sym_continue] = ACTIONS(1174),
+    [anon_sym_goto] = ACTIONS(1174),
+    [anon_sym___try] = ACTIONS(1174),
+    [anon_sym___leave] = ACTIONS(1174),
+    [anon_sym_DASH_DASH] = ACTIONS(1176),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1176),
+    [anon_sym_sizeof] = ACTIONS(1174),
+    [anon_sym___alignof__] = ACTIONS(1174),
+    [anon_sym___alignof] = ACTIONS(1174),
+    [anon_sym__alignof] = ACTIONS(1174),
+    [anon_sym_alignof] = ACTIONS(1174),
+    [anon_sym__Alignof] = ACTIONS(1174),
+    [anon_sym_offsetof] = ACTIONS(1174),
+    [anon_sym__Generic] = ACTIONS(1174),
+    [anon_sym_asm] = ACTIONS(1174),
+    [anon_sym___asm__] = ACTIONS(1174),
+    [anon_sym___asm] = ACTIONS(1174),
+    [sym_number_literal] = ACTIONS(1176),
+    [anon_sym_L_SQUOTE] = ACTIONS(1176),
+    [anon_sym_u_SQUOTE] = ACTIONS(1176),
+    [anon_sym_U_SQUOTE] = ACTIONS(1176),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1176),
+    [anon_sym_SQUOTE] = ACTIONS(1176),
+    [anon_sym_L_DQUOTE] = ACTIONS(1176),
+    [anon_sym_u_DQUOTE] = ACTIONS(1176),
+    [anon_sym_U_DQUOTE] = ACTIONS(1176),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1176),
+    [anon_sym_DQUOTE] = ACTIONS(1176),
+    [sym_true] = ACTIONS(1174),
+    [sym_false] = ACTIONS(1174),
+    [anon_sym_NULL] = ACTIONS(1174),
+    [anon_sym_nullptr] = ACTIONS(1174),
     [sym_comment] = ACTIONS(3),
   },
   [94] = {
-    [sym_identifier] = ACTIONS(1177),
-    [aux_sym_preproc_include_token1] = ACTIONS(1177),
-    [aux_sym_preproc_def_token1] = ACTIONS(1177),
-    [aux_sym_preproc_if_token1] = ACTIONS(1177),
-    [aux_sym_preproc_if_token2] = ACTIONS(1177),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1177),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1177),
-    [aux_sym_preproc_else_token1] = ACTIONS(1177),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1177),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1177),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1177),
-    [sym_preproc_directive] = ACTIONS(1177),
-    [anon_sym_LPAREN2] = ACTIONS(1179),
-    [anon_sym_BANG] = ACTIONS(1179),
-    [anon_sym_TILDE] = ACTIONS(1179),
-    [anon_sym_DASH] = ACTIONS(1177),
-    [anon_sym_PLUS] = ACTIONS(1177),
-    [anon_sym_STAR] = ACTIONS(1179),
-    [anon_sym_AMP] = ACTIONS(1179),
-    [anon_sym_SEMI] = ACTIONS(1179),
-    [anon_sym___extension__] = ACTIONS(1177),
-    [anon_sym_typedef] = ACTIONS(1177),
-    [anon_sym_extern] = ACTIONS(1177),
-    [anon_sym___attribute__] = ACTIONS(1177),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1179),
-    [anon_sym___declspec] = ACTIONS(1177),
-    [anon_sym___cdecl] = ACTIONS(1177),
-    [anon_sym___clrcall] = ACTIONS(1177),
-    [anon_sym___stdcall] = ACTIONS(1177),
-    [anon_sym___fastcall] = ACTIONS(1177),
-    [anon_sym___thiscall] = ACTIONS(1177),
-    [anon_sym___vectorcall] = ACTIONS(1177),
-    [anon_sym_LBRACE] = ACTIONS(1179),
-    [anon_sym_signed] = ACTIONS(1177),
-    [anon_sym_unsigned] = ACTIONS(1177),
-    [anon_sym_long] = ACTIONS(1177),
-    [anon_sym_short] = ACTIONS(1177),
-    [anon_sym_static] = ACTIONS(1177),
-    [anon_sym_auto] = ACTIONS(1177),
-    [anon_sym_register] = ACTIONS(1177),
-    [anon_sym_inline] = ACTIONS(1177),
-    [anon_sym___inline] = ACTIONS(1177),
-    [anon_sym___inline__] = ACTIONS(1177),
-    [anon_sym___forceinline] = ACTIONS(1177),
-    [anon_sym_thread_local] = ACTIONS(1177),
-    [anon_sym___thread] = ACTIONS(1177),
-    [anon_sym_const] = ACTIONS(1177),
-    [anon_sym_constexpr] = ACTIONS(1177),
-    [anon_sym_volatile] = ACTIONS(1177),
-    [anon_sym_restrict] = ACTIONS(1177),
-    [anon_sym___restrict__] = ACTIONS(1177),
-    [anon_sym__Atomic] = ACTIONS(1177),
-    [anon_sym__Noreturn] = ACTIONS(1177),
-    [anon_sym_noreturn] = ACTIONS(1177),
-    [anon_sym__Nonnull] = ACTIONS(1177),
-    [anon_sym_alignas] = ACTIONS(1177),
-    [anon_sym__Alignas] = ACTIONS(1177),
-    [sym_primitive_type] = ACTIONS(1177),
-    [anon_sym_enum] = ACTIONS(1177),
-    [anon_sym_struct] = ACTIONS(1177),
-    [anon_sym_union] = ACTIONS(1177),
-    [anon_sym_if] = ACTIONS(1177),
-    [anon_sym_else] = ACTIONS(1177),
-    [anon_sym_switch] = ACTIONS(1177),
-    [anon_sym_case] = ACTIONS(1177),
-    [anon_sym_default] = ACTIONS(1177),
-    [anon_sym_while] = ACTIONS(1177),
-    [anon_sym_do] = ACTIONS(1177),
-    [anon_sym_for] = ACTIONS(1177),
-    [anon_sym_return] = ACTIONS(1177),
-    [anon_sym_break] = ACTIONS(1177),
-    [anon_sym_continue] = ACTIONS(1177),
-    [anon_sym_goto] = ACTIONS(1177),
-    [anon_sym___try] = ACTIONS(1177),
-    [anon_sym___leave] = ACTIONS(1177),
-    [anon_sym_DASH_DASH] = ACTIONS(1179),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1179),
-    [anon_sym_sizeof] = ACTIONS(1177),
-    [anon_sym___alignof__] = ACTIONS(1177),
-    [anon_sym___alignof] = ACTIONS(1177),
-    [anon_sym__alignof] = ACTIONS(1177),
-    [anon_sym_alignof] = ACTIONS(1177),
-    [anon_sym__Alignof] = ACTIONS(1177),
-    [anon_sym_offsetof] = ACTIONS(1177),
-    [anon_sym__Generic] = ACTIONS(1177),
-    [anon_sym_asm] = ACTIONS(1177),
-    [anon_sym___asm__] = ACTIONS(1177),
-    [anon_sym___asm] = ACTIONS(1177),
-    [sym_number_literal] = ACTIONS(1179),
-    [anon_sym_L_SQUOTE] = ACTIONS(1179),
-    [anon_sym_u_SQUOTE] = ACTIONS(1179),
-    [anon_sym_U_SQUOTE] = ACTIONS(1179),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1179),
-    [anon_sym_SQUOTE] = ACTIONS(1179),
-    [anon_sym_L_DQUOTE] = ACTIONS(1179),
-    [anon_sym_u_DQUOTE] = ACTIONS(1179),
-    [anon_sym_U_DQUOTE] = ACTIONS(1179),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1179),
-    [anon_sym_DQUOTE] = ACTIONS(1179),
-    [sym_true] = ACTIONS(1177),
-    [sym_false] = ACTIONS(1177),
-    [anon_sym_NULL] = ACTIONS(1177),
-    [anon_sym_nullptr] = ACTIONS(1177),
+    [sym_identifier] = ACTIONS(1174),
+    [aux_sym_preproc_include_token1] = ACTIONS(1174),
+    [aux_sym_preproc_def_token1] = ACTIONS(1174),
+    [aux_sym_preproc_if_token1] = ACTIONS(1174),
+    [aux_sym_preproc_if_token2] = ACTIONS(1174),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1174),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1174),
+    [aux_sym_preproc_else_token1] = ACTIONS(1174),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1174),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1174),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1174),
+    [sym_preproc_directive] = ACTIONS(1174),
+    [anon_sym_LPAREN2] = ACTIONS(1176),
+    [anon_sym_BANG] = ACTIONS(1176),
+    [anon_sym_TILDE] = ACTIONS(1176),
+    [anon_sym_DASH] = ACTIONS(1174),
+    [anon_sym_PLUS] = ACTIONS(1174),
+    [anon_sym_STAR] = ACTIONS(1176),
+    [anon_sym_AMP] = ACTIONS(1176),
+    [anon_sym_SEMI] = ACTIONS(1176),
+    [anon_sym___extension__] = ACTIONS(1174),
+    [anon_sym_typedef] = ACTIONS(1174),
+    [anon_sym_extern] = ACTIONS(1174),
+    [anon_sym___attribute__] = ACTIONS(1174),
+    [anon_sym___attribute] = ACTIONS(1174),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1176),
+    [anon_sym___declspec] = ACTIONS(1174),
+    [anon_sym___cdecl] = ACTIONS(1174),
+    [anon_sym___clrcall] = ACTIONS(1174),
+    [anon_sym___stdcall] = ACTIONS(1174),
+    [anon_sym___fastcall] = ACTIONS(1174),
+    [anon_sym___thiscall] = ACTIONS(1174),
+    [anon_sym___vectorcall] = ACTIONS(1174),
+    [anon_sym_LBRACE] = ACTIONS(1176),
+    [anon_sym_signed] = ACTIONS(1174),
+    [anon_sym_unsigned] = ACTIONS(1174),
+    [anon_sym_long] = ACTIONS(1174),
+    [anon_sym_short] = ACTIONS(1174),
+    [anon_sym_static] = ACTIONS(1174),
+    [anon_sym_auto] = ACTIONS(1174),
+    [anon_sym_register] = ACTIONS(1174),
+    [anon_sym_inline] = ACTIONS(1174),
+    [anon_sym___inline] = ACTIONS(1174),
+    [anon_sym___inline__] = ACTIONS(1174),
+    [anon_sym___forceinline] = ACTIONS(1174),
+    [anon_sym_thread_local] = ACTIONS(1174),
+    [anon_sym___thread] = ACTIONS(1174),
+    [anon_sym_const] = ACTIONS(1174),
+    [anon_sym_constexpr] = ACTIONS(1174),
+    [anon_sym_volatile] = ACTIONS(1174),
+    [anon_sym_restrict] = ACTIONS(1174),
+    [anon_sym___restrict__] = ACTIONS(1174),
+    [anon_sym__Atomic] = ACTIONS(1174),
+    [anon_sym__Noreturn] = ACTIONS(1174),
+    [anon_sym_noreturn] = ACTIONS(1174),
+    [anon_sym__Nonnull] = ACTIONS(1174),
+    [anon_sym_alignas] = ACTIONS(1174),
+    [anon_sym__Alignas] = ACTIONS(1174),
+    [sym_primitive_type] = ACTIONS(1174),
+    [anon_sym_enum] = ACTIONS(1174),
+    [anon_sym_struct] = ACTIONS(1174),
+    [anon_sym_union] = ACTIONS(1174),
+    [anon_sym_if] = ACTIONS(1174),
+    [anon_sym_else] = ACTIONS(1174),
+    [anon_sym_switch] = ACTIONS(1174),
+    [anon_sym_case] = ACTIONS(1174),
+    [anon_sym_default] = ACTIONS(1174),
+    [anon_sym_while] = ACTIONS(1174),
+    [anon_sym_do] = ACTIONS(1174),
+    [anon_sym_for] = ACTIONS(1174),
+    [anon_sym_return] = ACTIONS(1174),
+    [anon_sym_break] = ACTIONS(1174),
+    [anon_sym_continue] = ACTIONS(1174),
+    [anon_sym_goto] = ACTIONS(1174),
+    [anon_sym___try] = ACTIONS(1174),
+    [anon_sym___leave] = ACTIONS(1174),
+    [anon_sym_DASH_DASH] = ACTIONS(1176),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1176),
+    [anon_sym_sizeof] = ACTIONS(1174),
+    [anon_sym___alignof__] = ACTIONS(1174),
+    [anon_sym___alignof] = ACTIONS(1174),
+    [anon_sym__alignof] = ACTIONS(1174),
+    [anon_sym_alignof] = ACTIONS(1174),
+    [anon_sym__Alignof] = ACTIONS(1174),
+    [anon_sym_offsetof] = ACTIONS(1174),
+    [anon_sym__Generic] = ACTIONS(1174),
+    [anon_sym_asm] = ACTIONS(1174),
+    [anon_sym___asm__] = ACTIONS(1174),
+    [anon_sym___asm] = ACTIONS(1174),
+    [sym_number_literal] = ACTIONS(1176),
+    [anon_sym_L_SQUOTE] = ACTIONS(1176),
+    [anon_sym_u_SQUOTE] = ACTIONS(1176),
+    [anon_sym_U_SQUOTE] = ACTIONS(1176),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1176),
+    [anon_sym_SQUOTE] = ACTIONS(1176),
+    [anon_sym_L_DQUOTE] = ACTIONS(1176),
+    [anon_sym_u_DQUOTE] = ACTIONS(1176),
+    [anon_sym_U_DQUOTE] = ACTIONS(1176),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1176),
+    [anon_sym_DQUOTE] = ACTIONS(1176),
+    [sym_true] = ACTIONS(1174),
+    [sym_false] = ACTIONS(1174),
+    [anon_sym_NULL] = ACTIONS(1174),
+    [anon_sym_nullptr] = ACTIONS(1174),
     [sym_comment] = ACTIONS(3),
   },
   [95] = {
-    [sym_identifier] = ACTIONS(1181),
-    [aux_sym_preproc_include_token1] = ACTIONS(1181),
-    [aux_sym_preproc_def_token1] = ACTIONS(1181),
-    [aux_sym_preproc_if_token1] = ACTIONS(1181),
-    [aux_sym_preproc_if_token2] = ACTIONS(1181),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1181),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1181),
-    [aux_sym_preproc_else_token1] = ACTIONS(1181),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1181),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1181),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1181),
-    [sym_preproc_directive] = ACTIONS(1181),
-    [anon_sym_LPAREN2] = ACTIONS(1183),
-    [anon_sym_BANG] = ACTIONS(1183),
-    [anon_sym_TILDE] = ACTIONS(1183),
-    [anon_sym_DASH] = ACTIONS(1181),
-    [anon_sym_PLUS] = ACTIONS(1181),
-    [anon_sym_STAR] = ACTIONS(1183),
-    [anon_sym_AMP] = ACTIONS(1183),
-    [anon_sym_SEMI] = ACTIONS(1183),
-    [anon_sym___extension__] = ACTIONS(1181),
-    [anon_sym_typedef] = ACTIONS(1181),
-    [anon_sym_extern] = ACTIONS(1181),
-    [anon_sym___attribute__] = ACTIONS(1181),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1183),
-    [anon_sym___declspec] = ACTIONS(1181),
-    [anon_sym___cdecl] = ACTIONS(1181),
-    [anon_sym___clrcall] = ACTIONS(1181),
-    [anon_sym___stdcall] = ACTIONS(1181),
-    [anon_sym___fastcall] = ACTIONS(1181),
-    [anon_sym___thiscall] = ACTIONS(1181),
-    [anon_sym___vectorcall] = ACTIONS(1181),
-    [anon_sym_LBRACE] = ACTIONS(1183),
-    [anon_sym_signed] = ACTIONS(1181),
-    [anon_sym_unsigned] = ACTIONS(1181),
-    [anon_sym_long] = ACTIONS(1181),
-    [anon_sym_short] = ACTIONS(1181),
-    [anon_sym_static] = ACTIONS(1181),
-    [anon_sym_auto] = ACTIONS(1181),
-    [anon_sym_register] = ACTIONS(1181),
-    [anon_sym_inline] = ACTIONS(1181),
-    [anon_sym___inline] = ACTIONS(1181),
-    [anon_sym___inline__] = ACTIONS(1181),
-    [anon_sym___forceinline] = ACTIONS(1181),
-    [anon_sym_thread_local] = ACTIONS(1181),
-    [anon_sym___thread] = ACTIONS(1181),
-    [anon_sym_const] = ACTIONS(1181),
-    [anon_sym_constexpr] = ACTIONS(1181),
-    [anon_sym_volatile] = ACTIONS(1181),
-    [anon_sym_restrict] = ACTIONS(1181),
-    [anon_sym___restrict__] = ACTIONS(1181),
-    [anon_sym__Atomic] = ACTIONS(1181),
-    [anon_sym__Noreturn] = ACTIONS(1181),
-    [anon_sym_noreturn] = ACTIONS(1181),
-    [anon_sym__Nonnull] = ACTIONS(1181),
-    [anon_sym_alignas] = ACTIONS(1181),
-    [anon_sym__Alignas] = ACTIONS(1181),
-    [sym_primitive_type] = ACTIONS(1181),
-    [anon_sym_enum] = ACTIONS(1181),
-    [anon_sym_struct] = ACTIONS(1181),
-    [anon_sym_union] = ACTIONS(1181),
-    [anon_sym_if] = ACTIONS(1181),
-    [anon_sym_else] = ACTIONS(1181),
-    [anon_sym_switch] = ACTIONS(1181),
-    [anon_sym_case] = ACTIONS(1181),
-    [anon_sym_default] = ACTIONS(1181),
-    [anon_sym_while] = ACTIONS(1181),
-    [anon_sym_do] = ACTIONS(1181),
-    [anon_sym_for] = ACTIONS(1181),
-    [anon_sym_return] = ACTIONS(1181),
-    [anon_sym_break] = ACTIONS(1181),
-    [anon_sym_continue] = ACTIONS(1181),
-    [anon_sym_goto] = ACTIONS(1181),
-    [anon_sym___try] = ACTIONS(1181),
-    [anon_sym___leave] = ACTIONS(1181),
-    [anon_sym_DASH_DASH] = ACTIONS(1183),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1183),
-    [anon_sym_sizeof] = ACTIONS(1181),
-    [anon_sym___alignof__] = ACTIONS(1181),
-    [anon_sym___alignof] = ACTIONS(1181),
-    [anon_sym__alignof] = ACTIONS(1181),
-    [anon_sym_alignof] = ACTIONS(1181),
-    [anon_sym__Alignof] = ACTIONS(1181),
-    [anon_sym_offsetof] = ACTIONS(1181),
-    [anon_sym__Generic] = ACTIONS(1181),
-    [anon_sym_asm] = ACTIONS(1181),
-    [anon_sym___asm__] = ACTIONS(1181),
-    [anon_sym___asm] = ACTIONS(1181),
-    [sym_number_literal] = ACTIONS(1183),
-    [anon_sym_L_SQUOTE] = ACTIONS(1183),
-    [anon_sym_u_SQUOTE] = ACTIONS(1183),
-    [anon_sym_U_SQUOTE] = ACTIONS(1183),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1183),
-    [anon_sym_SQUOTE] = ACTIONS(1183),
-    [anon_sym_L_DQUOTE] = ACTIONS(1183),
-    [anon_sym_u_DQUOTE] = ACTIONS(1183),
-    [anon_sym_U_DQUOTE] = ACTIONS(1183),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1183),
-    [anon_sym_DQUOTE] = ACTIONS(1183),
-    [sym_true] = ACTIONS(1181),
-    [sym_false] = ACTIONS(1181),
-    [anon_sym_NULL] = ACTIONS(1181),
-    [anon_sym_nullptr] = ACTIONS(1181),
+    [sym_identifier] = ACTIONS(1178),
+    [aux_sym_preproc_include_token1] = ACTIONS(1178),
+    [aux_sym_preproc_def_token1] = ACTIONS(1178),
+    [aux_sym_preproc_if_token1] = ACTIONS(1178),
+    [aux_sym_preproc_if_token2] = ACTIONS(1178),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1178),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1178),
+    [aux_sym_preproc_else_token1] = ACTIONS(1178),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1178),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1178),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1178),
+    [sym_preproc_directive] = ACTIONS(1178),
+    [anon_sym_LPAREN2] = ACTIONS(1180),
+    [anon_sym_BANG] = ACTIONS(1180),
+    [anon_sym_TILDE] = ACTIONS(1180),
+    [anon_sym_DASH] = ACTIONS(1178),
+    [anon_sym_PLUS] = ACTIONS(1178),
+    [anon_sym_STAR] = ACTIONS(1180),
+    [anon_sym_AMP] = ACTIONS(1180),
+    [anon_sym_SEMI] = ACTIONS(1180),
+    [anon_sym___extension__] = ACTIONS(1178),
+    [anon_sym_typedef] = ACTIONS(1178),
+    [anon_sym_extern] = ACTIONS(1178),
+    [anon_sym___attribute__] = ACTIONS(1178),
+    [anon_sym___attribute] = ACTIONS(1178),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1180),
+    [anon_sym___declspec] = ACTIONS(1178),
+    [anon_sym___cdecl] = ACTIONS(1178),
+    [anon_sym___clrcall] = ACTIONS(1178),
+    [anon_sym___stdcall] = ACTIONS(1178),
+    [anon_sym___fastcall] = ACTIONS(1178),
+    [anon_sym___thiscall] = ACTIONS(1178),
+    [anon_sym___vectorcall] = ACTIONS(1178),
+    [anon_sym_LBRACE] = ACTIONS(1180),
+    [anon_sym_signed] = ACTIONS(1178),
+    [anon_sym_unsigned] = ACTIONS(1178),
+    [anon_sym_long] = ACTIONS(1178),
+    [anon_sym_short] = ACTIONS(1178),
+    [anon_sym_static] = ACTIONS(1178),
+    [anon_sym_auto] = ACTIONS(1178),
+    [anon_sym_register] = ACTIONS(1178),
+    [anon_sym_inline] = ACTIONS(1178),
+    [anon_sym___inline] = ACTIONS(1178),
+    [anon_sym___inline__] = ACTIONS(1178),
+    [anon_sym___forceinline] = ACTIONS(1178),
+    [anon_sym_thread_local] = ACTIONS(1178),
+    [anon_sym___thread] = ACTIONS(1178),
+    [anon_sym_const] = ACTIONS(1178),
+    [anon_sym_constexpr] = ACTIONS(1178),
+    [anon_sym_volatile] = ACTIONS(1178),
+    [anon_sym_restrict] = ACTIONS(1178),
+    [anon_sym___restrict__] = ACTIONS(1178),
+    [anon_sym__Atomic] = ACTIONS(1178),
+    [anon_sym__Noreturn] = ACTIONS(1178),
+    [anon_sym_noreturn] = ACTIONS(1178),
+    [anon_sym__Nonnull] = ACTIONS(1178),
+    [anon_sym_alignas] = ACTIONS(1178),
+    [anon_sym__Alignas] = ACTIONS(1178),
+    [sym_primitive_type] = ACTIONS(1178),
+    [anon_sym_enum] = ACTIONS(1178),
+    [anon_sym_struct] = ACTIONS(1178),
+    [anon_sym_union] = ACTIONS(1178),
+    [anon_sym_if] = ACTIONS(1178),
+    [anon_sym_else] = ACTIONS(1178),
+    [anon_sym_switch] = ACTIONS(1178),
+    [anon_sym_case] = ACTIONS(1178),
+    [anon_sym_default] = ACTIONS(1178),
+    [anon_sym_while] = ACTIONS(1178),
+    [anon_sym_do] = ACTIONS(1178),
+    [anon_sym_for] = ACTIONS(1178),
+    [anon_sym_return] = ACTIONS(1178),
+    [anon_sym_break] = ACTIONS(1178),
+    [anon_sym_continue] = ACTIONS(1178),
+    [anon_sym_goto] = ACTIONS(1178),
+    [anon_sym___try] = ACTIONS(1178),
+    [anon_sym___leave] = ACTIONS(1178),
+    [anon_sym_DASH_DASH] = ACTIONS(1180),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1180),
+    [anon_sym_sizeof] = ACTIONS(1178),
+    [anon_sym___alignof__] = ACTIONS(1178),
+    [anon_sym___alignof] = ACTIONS(1178),
+    [anon_sym__alignof] = ACTIONS(1178),
+    [anon_sym_alignof] = ACTIONS(1178),
+    [anon_sym__Alignof] = ACTIONS(1178),
+    [anon_sym_offsetof] = ACTIONS(1178),
+    [anon_sym__Generic] = ACTIONS(1178),
+    [anon_sym_asm] = ACTIONS(1178),
+    [anon_sym___asm__] = ACTIONS(1178),
+    [anon_sym___asm] = ACTIONS(1178),
+    [sym_number_literal] = ACTIONS(1180),
+    [anon_sym_L_SQUOTE] = ACTIONS(1180),
+    [anon_sym_u_SQUOTE] = ACTIONS(1180),
+    [anon_sym_U_SQUOTE] = ACTIONS(1180),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1180),
+    [anon_sym_SQUOTE] = ACTIONS(1180),
+    [anon_sym_L_DQUOTE] = ACTIONS(1180),
+    [anon_sym_u_DQUOTE] = ACTIONS(1180),
+    [anon_sym_U_DQUOTE] = ACTIONS(1180),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1180),
+    [anon_sym_DQUOTE] = ACTIONS(1180),
+    [sym_true] = ACTIONS(1178),
+    [sym_false] = ACTIONS(1178),
+    [anon_sym_NULL] = ACTIONS(1178),
+    [anon_sym_nullptr] = ACTIONS(1178),
     [sym_comment] = ACTIONS(3),
   },
   [96] = {
-    [sym_identifier] = ACTIONS(1185),
-    [aux_sym_preproc_include_token1] = ACTIONS(1185),
-    [aux_sym_preproc_def_token1] = ACTIONS(1185),
-    [aux_sym_preproc_if_token1] = ACTIONS(1185),
-    [aux_sym_preproc_if_token2] = ACTIONS(1185),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1185),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1185),
-    [aux_sym_preproc_else_token1] = ACTIONS(1185),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1185),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1185),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1185),
-    [sym_preproc_directive] = ACTIONS(1185),
-    [anon_sym_LPAREN2] = ACTIONS(1187),
-    [anon_sym_BANG] = ACTIONS(1187),
-    [anon_sym_TILDE] = ACTIONS(1187),
-    [anon_sym_DASH] = ACTIONS(1185),
-    [anon_sym_PLUS] = ACTIONS(1185),
-    [anon_sym_STAR] = ACTIONS(1187),
-    [anon_sym_AMP] = ACTIONS(1187),
-    [anon_sym_SEMI] = ACTIONS(1187),
-    [anon_sym___extension__] = ACTIONS(1185),
-    [anon_sym_typedef] = ACTIONS(1185),
-    [anon_sym_extern] = ACTIONS(1185),
-    [anon_sym___attribute__] = ACTIONS(1185),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1187),
-    [anon_sym___declspec] = ACTIONS(1185),
-    [anon_sym___cdecl] = ACTIONS(1185),
-    [anon_sym___clrcall] = ACTIONS(1185),
-    [anon_sym___stdcall] = ACTIONS(1185),
-    [anon_sym___fastcall] = ACTIONS(1185),
-    [anon_sym___thiscall] = ACTIONS(1185),
-    [anon_sym___vectorcall] = ACTIONS(1185),
-    [anon_sym_LBRACE] = ACTIONS(1187),
-    [anon_sym_signed] = ACTIONS(1185),
-    [anon_sym_unsigned] = ACTIONS(1185),
-    [anon_sym_long] = ACTIONS(1185),
-    [anon_sym_short] = ACTIONS(1185),
-    [anon_sym_static] = ACTIONS(1185),
-    [anon_sym_auto] = ACTIONS(1185),
-    [anon_sym_register] = ACTIONS(1185),
-    [anon_sym_inline] = ACTIONS(1185),
-    [anon_sym___inline] = ACTIONS(1185),
-    [anon_sym___inline__] = ACTIONS(1185),
-    [anon_sym___forceinline] = ACTIONS(1185),
-    [anon_sym_thread_local] = ACTIONS(1185),
-    [anon_sym___thread] = ACTIONS(1185),
-    [anon_sym_const] = ACTIONS(1185),
-    [anon_sym_constexpr] = ACTIONS(1185),
-    [anon_sym_volatile] = ACTIONS(1185),
-    [anon_sym_restrict] = ACTIONS(1185),
-    [anon_sym___restrict__] = ACTIONS(1185),
-    [anon_sym__Atomic] = ACTIONS(1185),
-    [anon_sym__Noreturn] = ACTIONS(1185),
-    [anon_sym_noreturn] = ACTIONS(1185),
-    [anon_sym__Nonnull] = ACTIONS(1185),
-    [anon_sym_alignas] = ACTIONS(1185),
-    [anon_sym__Alignas] = ACTIONS(1185),
-    [sym_primitive_type] = ACTIONS(1185),
-    [anon_sym_enum] = ACTIONS(1185),
-    [anon_sym_struct] = ACTIONS(1185),
-    [anon_sym_union] = ACTIONS(1185),
-    [anon_sym_if] = ACTIONS(1185),
-    [anon_sym_else] = ACTIONS(1185),
-    [anon_sym_switch] = ACTIONS(1185),
-    [anon_sym_case] = ACTIONS(1185),
-    [anon_sym_default] = ACTIONS(1185),
-    [anon_sym_while] = ACTIONS(1185),
-    [anon_sym_do] = ACTIONS(1185),
-    [anon_sym_for] = ACTIONS(1185),
-    [anon_sym_return] = ACTIONS(1185),
-    [anon_sym_break] = ACTIONS(1185),
-    [anon_sym_continue] = ACTIONS(1185),
-    [anon_sym_goto] = ACTIONS(1185),
-    [anon_sym___try] = ACTIONS(1185),
-    [anon_sym___leave] = ACTIONS(1185),
-    [anon_sym_DASH_DASH] = ACTIONS(1187),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1187),
-    [anon_sym_sizeof] = ACTIONS(1185),
-    [anon_sym___alignof__] = ACTIONS(1185),
-    [anon_sym___alignof] = ACTIONS(1185),
-    [anon_sym__alignof] = ACTIONS(1185),
-    [anon_sym_alignof] = ACTIONS(1185),
-    [anon_sym__Alignof] = ACTIONS(1185),
-    [anon_sym_offsetof] = ACTIONS(1185),
-    [anon_sym__Generic] = ACTIONS(1185),
-    [anon_sym_asm] = ACTIONS(1185),
-    [anon_sym___asm__] = ACTIONS(1185),
-    [anon_sym___asm] = ACTIONS(1185),
-    [sym_number_literal] = ACTIONS(1187),
-    [anon_sym_L_SQUOTE] = ACTIONS(1187),
-    [anon_sym_u_SQUOTE] = ACTIONS(1187),
-    [anon_sym_U_SQUOTE] = ACTIONS(1187),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1187),
-    [anon_sym_SQUOTE] = ACTIONS(1187),
-    [anon_sym_L_DQUOTE] = ACTIONS(1187),
-    [anon_sym_u_DQUOTE] = ACTIONS(1187),
-    [anon_sym_U_DQUOTE] = ACTIONS(1187),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1187),
-    [anon_sym_DQUOTE] = ACTIONS(1187),
-    [sym_true] = ACTIONS(1185),
-    [sym_false] = ACTIONS(1185),
-    [anon_sym_NULL] = ACTIONS(1185),
-    [anon_sym_nullptr] = ACTIONS(1185),
+    [sym_identifier] = ACTIONS(1182),
+    [aux_sym_preproc_include_token1] = ACTIONS(1182),
+    [aux_sym_preproc_def_token1] = ACTIONS(1182),
+    [aux_sym_preproc_if_token1] = ACTIONS(1182),
+    [aux_sym_preproc_if_token2] = ACTIONS(1182),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1182),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1182),
+    [aux_sym_preproc_else_token1] = ACTIONS(1182),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1182),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1182),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1182),
+    [sym_preproc_directive] = ACTIONS(1182),
+    [anon_sym_LPAREN2] = ACTIONS(1184),
+    [anon_sym_BANG] = ACTIONS(1184),
+    [anon_sym_TILDE] = ACTIONS(1184),
+    [anon_sym_DASH] = ACTIONS(1182),
+    [anon_sym_PLUS] = ACTIONS(1182),
+    [anon_sym_STAR] = ACTIONS(1184),
+    [anon_sym_AMP] = ACTIONS(1184),
+    [anon_sym_SEMI] = ACTIONS(1184),
+    [anon_sym___extension__] = ACTIONS(1182),
+    [anon_sym_typedef] = ACTIONS(1182),
+    [anon_sym_extern] = ACTIONS(1182),
+    [anon_sym___attribute__] = ACTIONS(1182),
+    [anon_sym___attribute] = ACTIONS(1182),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1184),
+    [anon_sym___declspec] = ACTIONS(1182),
+    [anon_sym___cdecl] = ACTIONS(1182),
+    [anon_sym___clrcall] = ACTIONS(1182),
+    [anon_sym___stdcall] = ACTIONS(1182),
+    [anon_sym___fastcall] = ACTIONS(1182),
+    [anon_sym___thiscall] = ACTIONS(1182),
+    [anon_sym___vectorcall] = ACTIONS(1182),
+    [anon_sym_LBRACE] = ACTIONS(1184),
+    [anon_sym_signed] = ACTIONS(1182),
+    [anon_sym_unsigned] = ACTIONS(1182),
+    [anon_sym_long] = ACTIONS(1182),
+    [anon_sym_short] = ACTIONS(1182),
+    [anon_sym_static] = ACTIONS(1182),
+    [anon_sym_auto] = ACTIONS(1182),
+    [anon_sym_register] = ACTIONS(1182),
+    [anon_sym_inline] = ACTIONS(1182),
+    [anon_sym___inline] = ACTIONS(1182),
+    [anon_sym___inline__] = ACTIONS(1182),
+    [anon_sym___forceinline] = ACTIONS(1182),
+    [anon_sym_thread_local] = ACTIONS(1182),
+    [anon_sym___thread] = ACTIONS(1182),
+    [anon_sym_const] = ACTIONS(1182),
+    [anon_sym_constexpr] = ACTIONS(1182),
+    [anon_sym_volatile] = ACTIONS(1182),
+    [anon_sym_restrict] = ACTIONS(1182),
+    [anon_sym___restrict__] = ACTIONS(1182),
+    [anon_sym__Atomic] = ACTIONS(1182),
+    [anon_sym__Noreturn] = ACTIONS(1182),
+    [anon_sym_noreturn] = ACTIONS(1182),
+    [anon_sym__Nonnull] = ACTIONS(1182),
+    [anon_sym_alignas] = ACTIONS(1182),
+    [anon_sym__Alignas] = ACTIONS(1182),
+    [sym_primitive_type] = ACTIONS(1182),
+    [anon_sym_enum] = ACTIONS(1182),
+    [anon_sym_struct] = ACTIONS(1182),
+    [anon_sym_union] = ACTIONS(1182),
+    [anon_sym_if] = ACTIONS(1182),
+    [anon_sym_else] = ACTIONS(1182),
+    [anon_sym_switch] = ACTIONS(1182),
+    [anon_sym_case] = ACTIONS(1182),
+    [anon_sym_default] = ACTIONS(1182),
+    [anon_sym_while] = ACTIONS(1182),
+    [anon_sym_do] = ACTIONS(1182),
+    [anon_sym_for] = ACTIONS(1182),
+    [anon_sym_return] = ACTIONS(1182),
+    [anon_sym_break] = ACTIONS(1182),
+    [anon_sym_continue] = ACTIONS(1182),
+    [anon_sym_goto] = ACTIONS(1182),
+    [anon_sym___try] = ACTIONS(1182),
+    [anon_sym___leave] = ACTIONS(1182),
+    [anon_sym_DASH_DASH] = ACTIONS(1184),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1184),
+    [anon_sym_sizeof] = ACTIONS(1182),
+    [anon_sym___alignof__] = ACTIONS(1182),
+    [anon_sym___alignof] = ACTIONS(1182),
+    [anon_sym__alignof] = ACTIONS(1182),
+    [anon_sym_alignof] = ACTIONS(1182),
+    [anon_sym__Alignof] = ACTIONS(1182),
+    [anon_sym_offsetof] = ACTIONS(1182),
+    [anon_sym__Generic] = ACTIONS(1182),
+    [anon_sym_asm] = ACTIONS(1182),
+    [anon_sym___asm__] = ACTIONS(1182),
+    [anon_sym___asm] = ACTIONS(1182),
+    [sym_number_literal] = ACTIONS(1184),
+    [anon_sym_L_SQUOTE] = ACTIONS(1184),
+    [anon_sym_u_SQUOTE] = ACTIONS(1184),
+    [anon_sym_U_SQUOTE] = ACTIONS(1184),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1184),
+    [anon_sym_SQUOTE] = ACTIONS(1184),
+    [anon_sym_L_DQUOTE] = ACTIONS(1184),
+    [anon_sym_u_DQUOTE] = ACTIONS(1184),
+    [anon_sym_U_DQUOTE] = ACTIONS(1184),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1184),
+    [anon_sym_DQUOTE] = ACTIONS(1184),
+    [sym_true] = ACTIONS(1182),
+    [sym_false] = ACTIONS(1182),
+    [anon_sym_NULL] = ACTIONS(1182),
+    [anon_sym_nullptr] = ACTIONS(1182),
     [sym_comment] = ACTIONS(3),
   },
   [97] = {
-    [ts_builtin_sym_end] = ACTIONS(1171),
-    [sym_identifier] = ACTIONS(1169),
-    [aux_sym_preproc_include_token1] = ACTIONS(1169),
-    [aux_sym_preproc_def_token1] = ACTIONS(1169),
-    [anon_sym_COMMA] = ACTIONS(1171),
-    [anon_sym_RPAREN] = ACTIONS(1171),
-    [aux_sym_preproc_if_token1] = ACTIONS(1169),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1169),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1169),
-    [sym_preproc_directive] = ACTIONS(1169),
-    [anon_sym_LPAREN2] = ACTIONS(1171),
-    [anon_sym_BANG] = ACTIONS(1171),
-    [anon_sym_TILDE] = ACTIONS(1171),
-    [anon_sym_DASH] = ACTIONS(1169),
-    [anon_sym_PLUS] = ACTIONS(1169),
-    [anon_sym_STAR] = ACTIONS(1171),
-    [anon_sym_AMP] = ACTIONS(1171),
-    [anon_sym_SEMI] = ACTIONS(1171),
-    [anon_sym___extension__] = ACTIONS(1169),
-    [anon_sym_typedef] = ACTIONS(1169),
-    [anon_sym_extern] = ACTIONS(1169),
-    [anon_sym___attribute__] = ACTIONS(1169),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1171),
-    [anon_sym___declspec] = ACTIONS(1169),
-    [anon_sym___cdecl] = ACTIONS(1169),
-    [anon_sym___clrcall] = ACTIONS(1169),
-    [anon_sym___stdcall] = ACTIONS(1169),
-    [anon_sym___fastcall] = ACTIONS(1169),
-    [anon_sym___thiscall] = ACTIONS(1169),
-    [anon_sym___vectorcall] = ACTIONS(1169),
-    [anon_sym_LBRACE] = ACTIONS(1171),
-    [anon_sym_signed] = ACTIONS(1169),
-    [anon_sym_unsigned] = ACTIONS(1169),
-    [anon_sym_long] = ACTIONS(1169),
-    [anon_sym_short] = ACTIONS(1169),
-    [anon_sym_static] = ACTIONS(1169),
-    [anon_sym_auto] = ACTIONS(1169),
-    [anon_sym_register] = ACTIONS(1169),
-    [anon_sym_inline] = ACTIONS(1169),
-    [anon_sym___inline] = ACTIONS(1169),
-    [anon_sym___inline__] = ACTIONS(1169),
-    [anon_sym___forceinline] = ACTIONS(1169),
-    [anon_sym_thread_local] = ACTIONS(1169),
-    [anon_sym___thread] = ACTIONS(1169),
-    [anon_sym_const] = ACTIONS(1169),
-    [anon_sym_constexpr] = ACTIONS(1169),
-    [anon_sym_volatile] = ACTIONS(1169),
-    [anon_sym_restrict] = ACTIONS(1169),
-    [anon_sym___restrict__] = ACTIONS(1169),
-    [anon_sym__Atomic] = ACTIONS(1169),
-    [anon_sym__Noreturn] = ACTIONS(1169),
-    [anon_sym_noreturn] = ACTIONS(1169),
-    [anon_sym__Nonnull] = ACTIONS(1169),
-    [anon_sym_alignas] = ACTIONS(1169),
-    [anon_sym__Alignas] = ACTIONS(1169),
-    [sym_primitive_type] = ACTIONS(1169),
-    [anon_sym_enum] = ACTIONS(1169),
-    [anon_sym_struct] = ACTIONS(1169),
-    [anon_sym_union] = ACTIONS(1169),
-    [anon_sym_if] = ACTIONS(1169),
-    [anon_sym_else] = ACTIONS(1169),
-    [anon_sym_switch] = ACTIONS(1169),
-    [anon_sym_case] = ACTIONS(1169),
-    [anon_sym_default] = ACTIONS(1169),
-    [anon_sym_while] = ACTIONS(1169),
-    [anon_sym_do] = ACTIONS(1169),
-    [anon_sym_for] = ACTIONS(1169),
-    [anon_sym_return] = ACTIONS(1169),
-    [anon_sym_break] = ACTIONS(1169),
-    [anon_sym_continue] = ACTIONS(1169),
-    [anon_sym_goto] = ACTIONS(1169),
-    [anon_sym___try] = ACTIONS(1169),
-    [anon_sym___except] = ACTIONS(1169),
-    [anon_sym___finally] = ACTIONS(1169),
-    [anon_sym___leave] = ACTIONS(1169),
-    [anon_sym_DASH_DASH] = ACTIONS(1171),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1171),
-    [anon_sym_sizeof] = ACTIONS(1169),
-    [anon_sym___alignof__] = ACTIONS(1169),
-    [anon_sym___alignof] = ACTIONS(1169),
-    [anon_sym__alignof] = ACTIONS(1169),
-    [anon_sym_alignof] = ACTIONS(1169),
-    [anon_sym__Alignof] = ACTIONS(1169),
-    [anon_sym_offsetof] = ACTIONS(1169),
-    [anon_sym__Generic] = ACTIONS(1169),
-    [anon_sym_asm] = ACTIONS(1169),
-    [anon_sym___asm__] = ACTIONS(1169),
-    [anon_sym___asm] = ACTIONS(1169),
-    [sym_number_literal] = ACTIONS(1171),
-    [anon_sym_L_SQUOTE] = ACTIONS(1171),
-    [anon_sym_u_SQUOTE] = ACTIONS(1171),
-    [anon_sym_U_SQUOTE] = ACTIONS(1171),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1171),
-    [anon_sym_SQUOTE] = ACTIONS(1171),
-    [anon_sym_L_DQUOTE] = ACTIONS(1171),
-    [anon_sym_u_DQUOTE] = ACTIONS(1171),
-    [anon_sym_U_DQUOTE] = ACTIONS(1171),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1171),
-    [anon_sym_DQUOTE] = ACTIONS(1171),
-    [sym_true] = ACTIONS(1169),
-    [sym_false] = ACTIONS(1169),
-    [anon_sym_NULL] = ACTIONS(1169),
-    [anon_sym_nullptr] = ACTIONS(1169),
+    [sym_identifier] = ACTIONS(1186),
+    [aux_sym_preproc_include_token1] = ACTIONS(1186),
+    [aux_sym_preproc_def_token1] = ACTIONS(1186),
+    [aux_sym_preproc_if_token1] = ACTIONS(1186),
+    [aux_sym_preproc_if_token2] = ACTIONS(1186),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1186),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1186),
+    [aux_sym_preproc_else_token1] = ACTIONS(1186),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1186),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1186),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1186),
+    [sym_preproc_directive] = ACTIONS(1186),
+    [anon_sym_LPAREN2] = ACTIONS(1188),
+    [anon_sym_BANG] = ACTIONS(1188),
+    [anon_sym_TILDE] = ACTIONS(1188),
+    [anon_sym_DASH] = ACTIONS(1186),
+    [anon_sym_PLUS] = ACTIONS(1186),
+    [anon_sym_STAR] = ACTIONS(1188),
+    [anon_sym_AMP] = ACTIONS(1188),
+    [anon_sym_SEMI] = ACTIONS(1188),
+    [anon_sym___extension__] = ACTIONS(1186),
+    [anon_sym_typedef] = ACTIONS(1186),
+    [anon_sym_extern] = ACTIONS(1186),
+    [anon_sym___attribute__] = ACTIONS(1186),
+    [anon_sym___attribute] = ACTIONS(1186),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1188),
+    [anon_sym___declspec] = ACTIONS(1186),
+    [anon_sym___cdecl] = ACTIONS(1186),
+    [anon_sym___clrcall] = ACTIONS(1186),
+    [anon_sym___stdcall] = ACTIONS(1186),
+    [anon_sym___fastcall] = ACTIONS(1186),
+    [anon_sym___thiscall] = ACTIONS(1186),
+    [anon_sym___vectorcall] = ACTIONS(1186),
+    [anon_sym_LBRACE] = ACTIONS(1188),
+    [anon_sym_signed] = ACTIONS(1186),
+    [anon_sym_unsigned] = ACTIONS(1186),
+    [anon_sym_long] = ACTIONS(1186),
+    [anon_sym_short] = ACTIONS(1186),
+    [anon_sym_static] = ACTIONS(1186),
+    [anon_sym_auto] = ACTIONS(1186),
+    [anon_sym_register] = ACTIONS(1186),
+    [anon_sym_inline] = ACTIONS(1186),
+    [anon_sym___inline] = ACTIONS(1186),
+    [anon_sym___inline__] = ACTIONS(1186),
+    [anon_sym___forceinline] = ACTIONS(1186),
+    [anon_sym_thread_local] = ACTIONS(1186),
+    [anon_sym___thread] = ACTIONS(1186),
+    [anon_sym_const] = ACTIONS(1186),
+    [anon_sym_constexpr] = ACTIONS(1186),
+    [anon_sym_volatile] = ACTIONS(1186),
+    [anon_sym_restrict] = ACTIONS(1186),
+    [anon_sym___restrict__] = ACTIONS(1186),
+    [anon_sym__Atomic] = ACTIONS(1186),
+    [anon_sym__Noreturn] = ACTIONS(1186),
+    [anon_sym_noreturn] = ACTIONS(1186),
+    [anon_sym__Nonnull] = ACTIONS(1186),
+    [anon_sym_alignas] = ACTIONS(1186),
+    [anon_sym__Alignas] = ACTIONS(1186),
+    [sym_primitive_type] = ACTIONS(1186),
+    [anon_sym_enum] = ACTIONS(1186),
+    [anon_sym_struct] = ACTIONS(1186),
+    [anon_sym_union] = ACTIONS(1186),
+    [anon_sym_if] = ACTIONS(1186),
+    [anon_sym_else] = ACTIONS(1186),
+    [anon_sym_switch] = ACTIONS(1186),
+    [anon_sym_case] = ACTIONS(1186),
+    [anon_sym_default] = ACTIONS(1186),
+    [anon_sym_while] = ACTIONS(1186),
+    [anon_sym_do] = ACTIONS(1186),
+    [anon_sym_for] = ACTIONS(1186),
+    [anon_sym_return] = ACTIONS(1186),
+    [anon_sym_break] = ACTIONS(1186),
+    [anon_sym_continue] = ACTIONS(1186),
+    [anon_sym_goto] = ACTIONS(1186),
+    [anon_sym___try] = ACTIONS(1186),
+    [anon_sym___leave] = ACTIONS(1186),
+    [anon_sym_DASH_DASH] = ACTIONS(1188),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1188),
+    [anon_sym_sizeof] = ACTIONS(1186),
+    [anon_sym___alignof__] = ACTIONS(1186),
+    [anon_sym___alignof] = ACTIONS(1186),
+    [anon_sym__alignof] = ACTIONS(1186),
+    [anon_sym_alignof] = ACTIONS(1186),
+    [anon_sym__Alignof] = ACTIONS(1186),
+    [anon_sym_offsetof] = ACTIONS(1186),
+    [anon_sym__Generic] = ACTIONS(1186),
+    [anon_sym_asm] = ACTIONS(1186),
+    [anon_sym___asm__] = ACTIONS(1186),
+    [anon_sym___asm] = ACTIONS(1186),
+    [sym_number_literal] = ACTIONS(1188),
+    [anon_sym_L_SQUOTE] = ACTIONS(1188),
+    [anon_sym_u_SQUOTE] = ACTIONS(1188),
+    [anon_sym_U_SQUOTE] = ACTIONS(1188),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1188),
+    [anon_sym_SQUOTE] = ACTIONS(1188),
+    [anon_sym_L_DQUOTE] = ACTIONS(1188),
+    [anon_sym_u_DQUOTE] = ACTIONS(1188),
+    [anon_sym_U_DQUOTE] = ACTIONS(1188),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1188),
+    [anon_sym_DQUOTE] = ACTIONS(1188),
+    [sym_true] = ACTIONS(1186),
+    [sym_false] = ACTIONS(1186),
+    [anon_sym_NULL] = ACTIONS(1186),
+    [anon_sym_nullptr] = ACTIONS(1186),
     [sym_comment] = ACTIONS(3),
   },
   [98] = {
-    [sym_identifier] = ACTIONS(1189),
-    [aux_sym_preproc_include_token1] = ACTIONS(1189),
-    [aux_sym_preproc_def_token1] = ACTIONS(1189),
-    [aux_sym_preproc_if_token1] = ACTIONS(1189),
-    [aux_sym_preproc_if_token2] = ACTIONS(1189),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1189),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1189),
-    [aux_sym_preproc_else_token1] = ACTIONS(1189),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1189),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1189),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1189),
-    [sym_preproc_directive] = ACTIONS(1189),
-    [anon_sym_LPAREN2] = ACTIONS(1191),
-    [anon_sym_BANG] = ACTIONS(1191),
-    [anon_sym_TILDE] = ACTIONS(1191),
-    [anon_sym_DASH] = ACTIONS(1189),
-    [anon_sym_PLUS] = ACTIONS(1189),
-    [anon_sym_STAR] = ACTIONS(1191),
-    [anon_sym_AMP] = ACTIONS(1191),
-    [anon_sym_SEMI] = ACTIONS(1191),
-    [anon_sym___extension__] = ACTIONS(1189),
-    [anon_sym_typedef] = ACTIONS(1189),
-    [anon_sym_extern] = ACTIONS(1189),
-    [anon_sym___attribute__] = ACTIONS(1189),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1191),
-    [anon_sym___declspec] = ACTIONS(1189),
-    [anon_sym___cdecl] = ACTIONS(1189),
-    [anon_sym___clrcall] = ACTIONS(1189),
-    [anon_sym___stdcall] = ACTIONS(1189),
-    [anon_sym___fastcall] = ACTIONS(1189),
-    [anon_sym___thiscall] = ACTIONS(1189),
-    [anon_sym___vectorcall] = ACTIONS(1189),
-    [anon_sym_LBRACE] = ACTIONS(1191),
-    [anon_sym_signed] = ACTIONS(1189),
-    [anon_sym_unsigned] = ACTIONS(1189),
-    [anon_sym_long] = ACTIONS(1189),
-    [anon_sym_short] = ACTIONS(1189),
-    [anon_sym_static] = ACTIONS(1189),
-    [anon_sym_auto] = ACTIONS(1189),
-    [anon_sym_register] = ACTIONS(1189),
-    [anon_sym_inline] = ACTIONS(1189),
-    [anon_sym___inline] = ACTIONS(1189),
-    [anon_sym___inline__] = ACTIONS(1189),
-    [anon_sym___forceinline] = ACTIONS(1189),
-    [anon_sym_thread_local] = ACTIONS(1189),
-    [anon_sym___thread] = ACTIONS(1189),
-    [anon_sym_const] = ACTIONS(1189),
-    [anon_sym_constexpr] = ACTIONS(1189),
-    [anon_sym_volatile] = ACTIONS(1189),
-    [anon_sym_restrict] = ACTIONS(1189),
-    [anon_sym___restrict__] = ACTIONS(1189),
-    [anon_sym__Atomic] = ACTIONS(1189),
-    [anon_sym__Noreturn] = ACTIONS(1189),
-    [anon_sym_noreturn] = ACTIONS(1189),
-    [anon_sym__Nonnull] = ACTIONS(1189),
-    [anon_sym_alignas] = ACTIONS(1189),
-    [anon_sym__Alignas] = ACTIONS(1189),
-    [sym_primitive_type] = ACTIONS(1189),
-    [anon_sym_enum] = ACTIONS(1189),
-    [anon_sym_struct] = ACTIONS(1189),
-    [anon_sym_union] = ACTIONS(1189),
-    [anon_sym_if] = ACTIONS(1189),
-    [anon_sym_else] = ACTIONS(1189),
-    [anon_sym_switch] = ACTIONS(1189),
-    [anon_sym_case] = ACTIONS(1189),
-    [anon_sym_default] = ACTIONS(1189),
-    [anon_sym_while] = ACTIONS(1189),
-    [anon_sym_do] = ACTIONS(1189),
-    [anon_sym_for] = ACTIONS(1189),
-    [anon_sym_return] = ACTIONS(1189),
-    [anon_sym_break] = ACTIONS(1189),
-    [anon_sym_continue] = ACTIONS(1189),
-    [anon_sym_goto] = ACTIONS(1189),
-    [anon_sym___try] = ACTIONS(1189),
-    [anon_sym___leave] = ACTIONS(1189),
-    [anon_sym_DASH_DASH] = ACTIONS(1191),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1191),
-    [anon_sym_sizeof] = ACTIONS(1189),
-    [anon_sym___alignof__] = ACTIONS(1189),
-    [anon_sym___alignof] = ACTIONS(1189),
-    [anon_sym__alignof] = ACTIONS(1189),
-    [anon_sym_alignof] = ACTIONS(1189),
-    [anon_sym__Alignof] = ACTIONS(1189),
-    [anon_sym_offsetof] = ACTIONS(1189),
-    [anon_sym__Generic] = ACTIONS(1189),
-    [anon_sym_asm] = ACTIONS(1189),
-    [anon_sym___asm__] = ACTIONS(1189),
-    [anon_sym___asm] = ACTIONS(1189),
-    [sym_number_literal] = ACTIONS(1191),
-    [anon_sym_L_SQUOTE] = ACTIONS(1191),
-    [anon_sym_u_SQUOTE] = ACTIONS(1191),
-    [anon_sym_U_SQUOTE] = ACTIONS(1191),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1191),
-    [anon_sym_SQUOTE] = ACTIONS(1191),
-    [anon_sym_L_DQUOTE] = ACTIONS(1191),
-    [anon_sym_u_DQUOTE] = ACTIONS(1191),
-    [anon_sym_U_DQUOTE] = ACTIONS(1191),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1191),
-    [anon_sym_DQUOTE] = ACTIONS(1191),
-    [sym_true] = ACTIONS(1189),
-    [sym_false] = ACTIONS(1189),
-    [anon_sym_NULL] = ACTIONS(1189),
-    [anon_sym_nullptr] = ACTIONS(1189),
+    [sym_identifier] = ACTIONS(1190),
+    [aux_sym_preproc_include_token1] = ACTIONS(1190),
+    [aux_sym_preproc_def_token1] = ACTIONS(1190),
+    [aux_sym_preproc_if_token1] = ACTIONS(1190),
+    [aux_sym_preproc_if_token2] = ACTIONS(1190),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1190),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1190),
+    [aux_sym_preproc_else_token1] = ACTIONS(1190),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1190),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1190),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1190),
+    [sym_preproc_directive] = ACTIONS(1190),
+    [anon_sym_LPAREN2] = ACTIONS(1192),
+    [anon_sym_BANG] = ACTIONS(1192),
+    [anon_sym_TILDE] = ACTIONS(1192),
+    [anon_sym_DASH] = ACTIONS(1190),
+    [anon_sym_PLUS] = ACTIONS(1190),
+    [anon_sym_STAR] = ACTIONS(1192),
+    [anon_sym_AMP] = ACTIONS(1192),
+    [anon_sym_SEMI] = ACTIONS(1192),
+    [anon_sym___extension__] = ACTIONS(1190),
+    [anon_sym_typedef] = ACTIONS(1190),
+    [anon_sym_extern] = ACTIONS(1190),
+    [anon_sym___attribute__] = ACTIONS(1190),
+    [anon_sym___attribute] = ACTIONS(1190),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1192),
+    [anon_sym___declspec] = ACTIONS(1190),
+    [anon_sym___cdecl] = ACTIONS(1190),
+    [anon_sym___clrcall] = ACTIONS(1190),
+    [anon_sym___stdcall] = ACTIONS(1190),
+    [anon_sym___fastcall] = ACTIONS(1190),
+    [anon_sym___thiscall] = ACTIONS(1190),
+    [anon_sym___vectorcall] = ACTIONS(1190),
+    [anon_sym_LBRACE] = ACTIONS(1192),
+    [anon_sym_signed] = ACTIONS(1190),
+    [anon_sym_unsigned] = ACTIONS(1190),
+    [anon_sym_long] = ACTIONS(1190),
+    [anon_sym_short] = ACTIONS(1190),
+    [anon_sym_static] = ACTIONS(1190),
+    [anon_sym_auto] = ACTIONS(1190),
+    [anon_sym_register] = ACTIONS(1190),
+    [anon_sym_inline] = ACTIONS(1190),
+    [anon_sym___inline] = ACTIONS(1190),
+    [anon_sym___inline__] = ACTIONS(1190),
+    [anon_sym___forceinline] = ACTIONS(1190),
+    [anon_sym_thread_local] = ACTIONS(1190),
+    [anon_sym___thread] = ACTIONS(1190),
+    [anon_sym_const] = ACTIONS(1190),
+    [anon_sym_constexpr] = ACTIONS(1190),
+    [anon_sym_volatile] = ACTIONS(1190),
+    [anon_sym_restrict] = ACTIONS(1190),
+    [anon_sym___restrict__] = ACTIONS(1190),
+    [anon_sym__Atomic] = ACTIONS(1190),
+    [anon_sym__Noreturn] = ACTIONS(1190),
+    [anon_sym_noreturn] = ACTIONS(1190),
+    [anon_sym__Nonnull] = ACTIONS(1190),
+    [anon_sym_alignas] = ACTIONS(1190),
+    [anon_sym__Alignas] = ACTIONS(1190),
+    [sym_primitive_type] = ACTIONS(1190),
+    [anon_sym_enum] = ACTIONS(1190),
+    [anon_sym_struct] = ACTIONS(1190),
+    [anon_sym_union] = ACTIONS(1190),
+    [anon_sym_if] = ACTIONS(1190),
+    [anon_sym_else] = ACTIONS(1190),
+    [anon_sym_switch] = ACTIONS(1190),
+    [anon_sym_case] = ACTIONS(1190),
+    [anon_sym_default] = ACTIONS(1190),
+    [anon_sym_while] = ACTIONS(1190),
+    [anon_sym_do] = ACTIONS(1190),
+    [anon_sym_for] = ACTIONS(1190),
+    [anon_sym_return] = ACTIONS(1190),
+    [anon_sym_break] = ACTIONS(1190),
+    [anon_sym_continue] = ACTIONS(1190),
+    [anon_sym_goto] = ACTIONS(1190),
+    [anon_sym___try] = ACTIONS(1190),
+    [anon_sym___leave] = ACTIONS(1190),
+    [anon_sym_DASH_DASH] = ACTIONS(1192),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1192),
+    [anon_sym_sizeof] = ACTIONS(1190),
+    [anon_sym___alignof__] = ACTIONS(1190),
+    [anon_sym___alignof] = ACTIONS(1190),
+    [anon_sym__alignof] = ACTIONS(1190),
+    [anon_sym_alignof] = ACTIONS(1190),
+    [anon_sym__Alignof] = ACTIONS(1190),
+    [anon_sym_offsetof] = ACTIONS(1190),
+    [anon_sym__Generic] = ACTIONS(1190),
+    [anon_sym_asm] = ACTIONS(1190),
+    [anon_sym___asm__] = ACTIONS(1190),
+    [anon_sym___asm] = ACTIONS(1190),
+    [sym_number_literal] = ACTIONS(1192),
+    [anon_sym_L_SQUOTE] = ACTIONS(1192),
+    [anon_sym_u_SQUOTE] = ACTIONS(1192),
+    [anon_sym_U_SQUOTE] = ACTIONS(1192),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1192),
+    [anon_sym_SQUOTE] = ACTIONS(1192),
+    [anon_sym_L_DQUOTE] = ACTIONS(1192),
+    [anon_sym_u_DQUOTE] = ACTIONS(1192),
+    [anon_sym_U_DQUOTE] = ACTIONS(1192),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1192),
+    [anon_sym_DQUOTE] = ACTIONS(1192),
+    [sym_true] = ACTIONS(1190),
+    [sym_false] = ACTIONS(1190),
+    [anon_sym_NULL] = ACTIONS(1190),
+    [anon_sym_nullptr] = ACTIONS(1190),
     [sym_comment] = ACTIONS(3),
   },
   [99] = {
-    [sym_identifier] = ACTIONS(1189),
-    [aux_sym_preproc_include_token1] = ACTIONS(1189),
-    [aux_sym_preproc_def_token1] = ACTIONS(1189),
-    [aux_sym_preproc_if_token1] = ACTIONS(1189),
-    [aux_sym_preproc_if_token2] = ACTIONS(1189),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1189),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1189),
-    [aux_sym_preproc_else_token1] = ACTIONS(1189),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1189),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1189),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1189),
-    [sym_preproc_directive] = ACTIONS(1189),
-    [anon_sym_LPAREN2] = ACTIONS(1191),
-    [anon_sym_BANG] = ACTIONS(1191),
-    [anon_sym_TILDE] = ACTIONS(1191),
-    [anon_sym_DASH] = ACTIONS(1189),
-    [anon_sym_PLUS] = ACTIONS(1189),
-    [anon_sym_STAR] = ACTIONS(1191),
-    [anon_sym_AMP] = ACTIONS(1191),
-    [anon_sym_SEMI] = ACTIONS(1191),
-    [anon_sym___extension__] = ACTIONS(1189),
-    [anon_sym_typedef] = ACTIONS(1189),
-    [anon_sym_extern] = ACTIONS(1189),
-    [anon_sym___attribute__] = ACTIONS(1189),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1191),
-    [anon_sym___declspec] = ACTIONS(1189),
-    [anon_sym___cdecl] = ACTIONS(1189),
-    [anon_sym___clrcall] = ACTIONS(1189),
-    [anon_sym___stdcall] = ACTIONS(1189),
-    [anon_sym___fastcall] = ACTIONS(1189),
-    [anon_sym___thiscall] = ACTIONS(1189),
-    [anon_sym___vectorcall] = ACTIONS(1189),
-    [anon_sym_LBRACE] = ACTIONS(1191),
-    [anon_sym_signed] = ACTIONS(1189),
-    [anon_sym_unsigned] = ACTIONS(1189),
-    [anon_sym_long] = ACTIONS(1189),
-    [anon_sym_short] = ACTIONS(1189),
-    [anon_sym_static] = ACTIONS(1189),
-    [anon_sym_auto] = ACTIONS(1189),
-    [anon_sym_register] = ACTIONS(1189),
-    [anon_sym_inline] = ACTIONS(1189),
-    [anon_sym___inline] = ACTIONS(1189),
-    [anon_sym___inline__] = ACTIONS(1189),
-    [anon_sym___forceinline] = ACTIONS(1189),
-    [anon_sym_thread_local] = ACTIONS(1189),
-    [anon_sym___thread] = ACTIONS(1189),
-    [anon_sym_const] = ACTIONS(1189),
-    [anon_sym_constexpr] = ACTIONS(1189),
-    [anon_sym_volatile] = ACTIONS(1189),
-    [anon_sym_restrict] = ACTIONS(1189),
-    [anon_sym___restrict__] = ACTIONS(1189),
-    [anon_sym__Atomic] = ACTIONS(1189),
-    [anon_sym__Noreturn] = ACTIONS(1189),
-    [anon_sym_noreturn] = ACTIONS(1189),
-    [anon_sym__Nonnull] = ACTIONS(1189),
-    [anon_sym_alignas] = ACTIONS(1189),
-    [anon_sym__Alignas] = ACTIONS(1189),
-    [sym_primitive_type] = ACTIONS(1189),
-    [anon_sym_enum] = ACTIONS(1189),
-    [anon_sym_struct] = ACTIONS(1189),
-    [anon_sym_union] = ACTIONS(1189),
-    [anon_sym_if] = ACTIONS(1189),
-    [anon_sym_else] = ACTIONS(1189),
-    [anon_sym_switch] = ACTIONS(1189),
-    [anon_sym_case] = ACTIONS(1189),
-    [anon_sym_default] = ACTIONS(1189),
-    [anon_sym_while] = ACTIONS(1189),
-    [anon_sym_do] = ACTIONS(1189),
-    [anon_sym_for] = ACTIONS(1189),
-    [anon_sym_return] = ACTIONS(1189),
-    [anon_sym_break] = ACTIONS(1189),
-    [anon_sym_continue] = ACTIONS(1189),
-    [anon_sym_goto] = ACTIONS(1189),
-    [anon_sym___try] = ACTIONS(1189),
-    [anon_sym___leave] = ACTIONS(1189),
-    [anon_sym_DASH_DASH] = ACTIONS(1191),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1191),
-    [anon_sym_sizeof] = ACTIONS(1189),
-    [anon_sym___alignof__] = ACTIONS(1189),
-    [anon_sym___alignof] = ACTIONS(1189),
-    [anon_sym__alignof] = ACTIONS(1189),
-    [anon_sym_alignof] = ACTIONS(1189),
-    [anon_sym__Alignof] = ACTIONS(1189),
-    [anon_sym_offsetof] = ACTIONS(1189),
-    [anon_sym__Generic] = ACTIONS(1189),
-    [anon_sym_asm] = ACTIONS(1189),
-    [anon_sym___asm__] = ACTIONS(1189),
-    [anon_sym___asm] = ACTIONS(1189),
-    [sym_number_literal] = ACTIONS(1191),
-    [anon_sym_L_SQUOTE] = ACTIONS(1191),
-    [anon_sym_u_SQUOTE] = ACTIONS(1191),
-    [anon_sym_U_SQUOTE] = ACTIONS(1191),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1191),
-    [anon_sym_SQUOTE] = ACTIONS(1191),
-    [anon_sym_L_DQUOTE] = ACTIONS(1191),
-    [anon_sym_u_DQUOTE] = ACTIONS(1191),
-    [anon_sym_U_DQUOTE] = ACTIONS(1191),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1191),
-    [anon_sym_DQUOTE] = ACTIONS(1191),
-    [sym_true] = ACTIONS(1189),
-    [sym_false] = ACTIONS(1189),
-    [anon_sym_NULL] = ACTIONS(1189),
-    [anon_sym_nullptr] = ACTIONS(1189),
+    [sym_identifier] = ACTIONS(1194),
+    [aux_sym_preproc_include_token1] = ACTIONS(1194),
+    [aux_sym_preproc_def_token1] = ACTIONS(1194),
+    [aux_sym_preproc_if_token1] = ACTIONS(1194),
+    [aux_sym_preproc_if_token2] = ACTIONS(1194),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1194),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1194),
+    [aux_sym_preproc_else_token1] = ACTIONS(1194),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1194),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1194),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1194),
+    [sym_preproc_directive] = ACTIONS(1194),
+    [anon_sym_LPAREN2] = ACTIONS(1196),
+    [anon_sym_BANG] = ACTIONS(1196),
+    [anon_sym_TILDE] = ACTIONS(1196),
+    [anon_sym_DASH] = ACTIONS(1194),
+    [anon_sym_PLUS] = ACTIONS(1194),
+    [anon_sym_STAR] = ACTIONS(1196),
+    [anon_sym_AMP] = ACTIONS(1196),
+    [anon_sym_SEMI] = ACTIONS(1196),
+    [anon_sym___extension__] = ACTIONS(1194),
+    [anon_sym_typedef] = ACTIONS(1194),
+    [anon_sym_extern] = ACTIONS(1194),
+    [anon_sym___attribute__] = ACTIONS(1194),
+    [anon_sym___attribute] = ACTIONS(1194),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1196),
+    [anon_sym___declspec] = ACTIONS(1194),
+    [anon_sym___cdecl] = ACTIONS(1194),
+    [anon_sym___clrcall] = ACTIONS(1194),
+    [anon_sym___stdcall] = ACTIONS(1194),
+    [anon_sym___fastcall] = ACTIONS(1194),
+    [anon_sym___thiscall] = ACTIONS(1194),
+    [anon_sym___vectorcall] = ACTIONS(1194),
+    [anon_sym_LBRACE] = ACTIONS(1196),
+    [anon_sym_signed] = ACTIONS(1194),
+    [anon_sym_unsigned] = ACTIONS(1194),
+    [anon_sym_long] = ACTIONS(1194),
+    [anon_sym_short] = ACTIONS(1194),
+    [anon_sym_static] = ACTIONS(1194),
+    [anon_sym_auto] = ACTIONS(1194),
+    [anon_sym_register] = ACTIONS(1194),
+    [anon_sym_inline] = ACTIONS(1194),
+    [anon_sym___inline] = ACTIONS(1194),
+    [anon_sym___inline__] = ACTIONS(1194),
+    [anon_sym___forceinline] = ACTIONS(1194),
+    [anon_sym_thread_local] = ACTIONS(1194),
+    [anon_sym___thread] = ACTIONS(1194),
+    [anon_sym_const] = ACTIONS(1194),
+    [anon_sym_constexpr] = ACTIONS(1194),
+    [anon_sym_volatile] = ACTIONS(1194),
+    [anon_sym_restrict] = ACTIONS(1194),
+    [anon_sym___restrict__] = ACTIONS(1194),
+    [anon_sym__Atomic] = ACTIONS(1194),
+    [anon_sym__Noreturn] = ACTIONS(1194),
+    [anon_sym_noreturn] = ACTIONS(1194),
+    [anon_sym__Nonnull] = ACTIONS(1194),
+    [anon_sym_alignas] = ACTIONS(1194),
+    [anon_sym__Alignas] = ACTIONS(1194),
+    [sym_primitive_type] = ACTIONS(1194),
+    [anon_sym_enum] = ACTIONS(1194),
+    [anon_sym_struct] = ACTIONS(1194),
+    [anon_sym_union] = ACTIONS(1194),
+    [anon_sym_if] = ACTIONS(1194),
+    [anon_sym_else] = ACTIONS(1194),
+    [anon_sym_switch] = ACTIONS(1194),
+    [anon_sym_case] = ACTIONS(1194),
+    [anon_sym_default] = ACTIONS(1194),
+    [anon_sym_while] = ACTIONS(1194),
+    [anon_sym_do] = ACTIONS(1194),
+    [anon_sym_for] = ACTIONS(1194),
+    [anon_sym_return] = ACTIONS(1194),
+    [anon_sym_break] = ACTIONS(1194),
+    [anon_sym_continue] = ACTIONS(1194),
+    [anon_sym_goto] = ACTIONS(1194),
+    [anon_sym___try] = ACTIONS(1194),
+    [anon_sym___leave] = ACTIONS(1194),
+    [anon_sym_DASH_DASH] = ACTIONS(1196),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1196),
+    [anon_sym_sizeof] = ACTIONS(1194),
+    [anon_sym___alignof__] = ACTIONS(1194),
+    [anon_sym___alignof] = ACTIONS(1194),
+    [anon_sym__alignof] = ACTIONS(1194),
+    [anon_sym_alignof] = ACTIONS(1194),
+    [anon_sym__Alignof] = ACTIONS(1194),
+    [anon_sym_offsetof] = ACTIONS(1194),
+    [anon_sym__Generic] = ACTIONS(1194),
+    [anon_sym_asm] = ACTIONS(1194),
+    [anon_sym___asm__] = ACTIONS(1194),
+    [anon_sym___asm] = ACTIONS(1194),
+    [sym_number_literal] = ACTIONS(1196),
+    [anon_sym_L_SQUOTE] = ACTIONS(1196),
+    [anon_sym_u_SQUOTE] = ACTIONS(1196),
+    [anon_sym_U_SQUOTE] = ACTIONS(1196),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1196),
+    [anon_sym_SQUOTE] = ACTIONS(1196),
+    [anon_sym_L_DQUOTE] = ACTIONS(1196),
+    [anon_sym_u_DQUOTE] = ACTIONS(1196),
+    [anon_sym_U_DQUOTE] = ACTIONS(1196),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1196),
+    [anon_sym_DQUOTE] = ACTIONS(1196),
+    [sym_true] = ACTIONS(1194),
+    [sym_false] = ACTIONS(1194),
+    [anon_sym_NULL] = ACTIONS(1194),
+    [anon_sym_nullptr] = ACTIONS(1194),
     [sym_comment] = ACTIONS(3),
   },
   [100] = {
-    [sym_identifier] = ACTIONS(1193),
-    [aux_sym_preproc_include_token1] = ACTIONS(1193),
-    [aux_sym_preproc_def_token1] = ACTIONS(1193),
-    [aux_sym_preproc_if_token1] = ACTIONS(1193),
-    [aux_sym_preproc_if_token2] = ACTIONS(1193),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1193),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1193),
-    [aux_sym_preproc_else_token1] = ACTIONS(1193),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1193),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1193),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1193),
-    [sym_preproc_directive] = ACTIONS(1193),
-    [anon_sym_LPAREN2] = ACTIONS(1195),
-    [anon_sym_BANG] = ACTIONS(1195),
-    [anon_sym_TILDE] = ACTIONS(1195),
-    [anon_sym_DASH] = ACTIONS(1193),
-    [anon_sym_PLUS] = ACTIONS(1193),
-    [anon_sym_STAR] = ACTIONS(1195),
-    [anon_sym_AMP] = ACTIONS(1195),
-    [anon_sym_SEMI] = ACTIONS(1195),
-    [anon_sym___extension__] = ACTIONS(1193),
-    [anon_sym_typedef] = ACTIONS(1193),
-    [anon_sym_extern] = ACTIONS(1193),
-    [anon_sym___attribute__] = ACTIONS(1193),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1195),
-    [anon_sym___declspec] = ACTIONS(1193),
-    [anon_sym___cdecl] = ACTIONS(1193),
-    [anon_sym___clrcall] = ACTIONS(1193),
-    [anon_sym___stdcall] = ACTIONS(1193),
-    [anon_sym___fastcall] = ACTIONS(1193),
-    [anon_sym___thiscall] = ACTIONS(1193),
-    [anon_sym___vectorcall] = ACTIONS(1193),
-    [anon_sym_LBRACE] = ACTIONS(1195),
-    [anon_sym_signed] = ACTIONS(1193),
-    [anon_sym_unsigned] = ACTIONS(1193),
-    [anon_sym_long] = ACTIONS(1193),
-    [anon_sym_short] = ACTIONS(1193),
-    [anon_sym_static] = ACTIONS(1193),
-    [anon_sym_auto] = ACTIONS(1193),
-    [anon_sym_register] = ACTIONS(1193),
-    [anon_sym_inline] = ACTIONS(1193),
-    [anon_sym___inline] = ACTIONS(1193),
-    [anon_sym___inline__] = ACTIONS(1193),
-    [anon_sym___forceinline] = ACTIONS(1193),
-    [anon_sym_thread_local] = ACTIONS(1193),
-    [anon_sym___thread] = ACTIONS(1193),
-    [anon_sym_const] = ACTIONS(1193),
-    [anon_sym_constexpr] = ACTIONS(1193),
-    [anon_sym_volatile] = ACTIONS(1193),
-    [anon_sym_restrict] = ACTIONS(1193),
-    [anon_sym___restrict__] = ACTIONS(1193),
-    [anon_sym__Atomic] = ACTIONS(1193),
-    [anon_sym__Noreturn] = ACTIONS(1193),
-    [anon_sym_noreturn] = ACTIONS(1193),
-    [anon_sym__Nonnull] = ACTIONS(1193),
-    [anon_sym_alignas] = ACTIONS(1193),
-    [anon_sym__Alignas] = ACTIONS(1193),
-    [sym_primitive_type] = ACTIONS(1193),
-    [anon_sym_enum] = ACTIONS(1193),
-    [anon_sym_struct] = ACTIONS(1193),
-    [anon_sym_union] = ACTIONS(1193),
-    [anon_sym_if] = ACTIONS(1193),
-    [anon_sym_else] = ACTIONS(1193),
-    [anon_sym_switch] = ACTIONS(1193),
-    [anon_sym_case] = ACTIONS(1193),
-    [anon_sym_default] = ACTIONS(1193),
-    [anon_sym_while] = ACTIONS(1193),
-    [anon_sym_do] = ACTIONS(1193),
-    [anon_sym_for] = ACTIONS(1193),
-    [anon_sym_return] = ACTIONS(1193),
-    [anon_sym_break] = ACTIONS(1193),
-    [anon_sym_continue] = ACTIONS(1193),
-    [anon_sym_goto] = ACTIONS(1193),
-    [anon_sym___try] = ACTIONS(1193),
-    [anon_sym___leave] = ACTIONS(1193),
-    [anon_sym_DASH_DASH] = ACTIONS(1195),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1195),
-    [anon_sym_sizeof] = ACTIONS(1193),
-    [anon_sym___alignof__] = ACTIONS(1193),
-    [anon_sym___alignof] = ACTIONS(1193),
-    [anon_sym__alignof] = ACTIONS(1193),
-    [anon_sym_alignof] = ACTIONS(1193),
-    [anon_sym__Alignof] = ACTIONS(1193),
-    [anon_sym_offsetof] = ACTIONS(1193),
-    [anon_sym__Generic] = ACTIONS(1193),
-    [anon_sym_asm] = ACTIONS(1193),
-    [anon_sym___asm__] = ACTIONS(1193),
-    [anon_sym___asm] = ACTIONS(1193),
-    [sym_number_literal] = ACTIONS(1195),
-    [anon_sym_L_SQUOTE] = ACTIONS(1195),
-    [anon_sym_u_SQUOTE] = ACTIONS(1195),
-    [anon_sym_U_SQUOTE] = ACTIONS(1195),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1195),
-    [anon_sym_SQUOTE] = ACTIONS(1195),
-    [anon_sym_L_DQUOTE] = ACTIONS(1195),
-    [anon_sym_u_DQUOTE] = ACTIONS(1195),
-    [anon_sym_U_DQUOTE] = ACTIONS(1195),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1195),
-    [anon_sym_DQUOTE] = ACTIONS(1195),
-    [sym_true] = ACTIONS(1193),
-    [sym_false] = ACTIONS(1193),
-    [anon_sym_NULL] = ACTIONS(1193),
-    [anon_sym_nullptr] = ACTIONS(1193),
+    [sym_identifier] = ACTIONS(1198),
+    [aux_sym_preproc_include_token1] = ACTIONS(1198),
+    [aux_sym_preproc_def_token1] = ACTIONS(1198),
+    [aux_sym_preproc_if_token1] = ACTIONS(1198),
+    [aux_sym_preproc_if_token2] = ACTIONS(1198),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1198),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1198),
+    [aux_sym_preproc_else_token1] = ACTIONS(1198),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1198),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1198),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1198),
+    [sym_preproc_directive] = ACTIONS(1198),
+    [anon_sym_LPAREN2] = ACTIONS(1200),
+    [anon_sym_BANG] = ACTIONS(1200),
+    [anon_sym_TILDE] = ACTIONS(1200),
+    [anon_sym_DASH] = ACTIONS(1198),
+    [anon_sym_PLUS] = ACTIONS(1198),
+    [anon_sym_STAR] = ACTIONS(1200),
+    [anon_sym_AMP] = ACTIONS(1200),
+    [anon_sym_SEMI] = ACTIONS(1200),
+    [anon_sym___extension__] = ACTIONS(1198),
+    [anon_sym_typedef] = ACTIONS(1198),
+    [anon_sym_extern] = ACTIONS(1198),
+    [anon_sym___attribute__] = ACTIONS(1198),
+    [anon_sym___attribute] = ACTIONS(1198),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1200),
+    [anon_sym___declspec] = ACTIONS(1198),
+    [anon_sym___cdecl] = ACTIONS(1198),
+    [anon_sym___clrcall] = ACTIONS(1198),
+    [anon_sym___stdcall] = ACTIONS(1198),
+    [anon_sym___fastcall] = ACTIONS(1198),
+    [anon_sym___thiscall] = ACTIONS(1198),
+    [anon_sym___vectorcall] = ACTIONS(1198),
+    [anon_sym_LBRACE] = ACTIONS(1200),
+    [anon_sym_signed] = ACTIONS(1198),
+    [anon_sym_unsigned] = ACTIONS(1198),
+    [anon_sym_long] = ACTIONS(1198),
+    [anon_sym_short] = ACTIONS(1198),
+    [anon_sym_static] = ACTIONS(1198),
+    [anon_sym_auto] = ACTIONS(1198),
+    [anon_sym_register] = ACTIONS(1198),
+    [anon_sym_inline] = ACTIONS(1198),
+    [anon_sym___inline] = ACTIONS(1198),
+    [anon_sym___inline__] = ACTIONS(1198),
+    [anon_sym___forceinline] = ACTIONS(1198),
+    [anon_sym_thread_local] = ACTIONS(1198),
+    [anon_sym___thread] = ACTIONS(1198),
+    [anon_sym_const] = ACTIONS(1198),
+    [anon_sym_constexpr] = ACTIONS(1198),
+    [anon_sym_volatile] = ACTIONS(1198),
+    [anon_sym_restrict] = ACTIONS(1198),
+    [anon_sym___restrict__] = ACTIONS(1198),
+    [anon_sym__Atomic] = ACTIONS(1198),
+    [anon_sym__Noreturn] = ACTIONS(1198),
+    [anon_sym_noreturn] = ACTIONS(1198),
+    [anon_sym__Nonnull] = ACTIONS(1198),
+    [anon_sym_alignas] = ACTIONS(1198),
+    [anon_sym__Alignas] = ACTIONS(1198),
+    [sym_primitive_type] = ACTIONS(1198),
+    [anon_sym_enum] = ACTIONS(1198),
+    [anon_sym_struct] = ACTIONS(1198),
+    [anon_sym_union] = ACTIONS(1198),
+    [anon_sym_if] = ACTIONS(1198),
+    [anon_sym_else] = ACTIONS(1198),
+    [anon_sym_switch] = ACTIONS(1198),
+    [anon_sym_case] = ACTIONS(1198),
+    [anon_sym_default] = ACTIONS(1198),
+    [anon_sym_while] = ACTIONS(1198),
+    [anon_sym_do] = ACTIONS(1198),
+    [anon_sym_for] = ACTIONS(1198),
+    [anon_sym_return] = ACTIONS(1198),
+    [anon_sym_break] = ACTIONS(1198),
+    [anon_sym_continue] = ACTIONS(1198),
+    [anon_sym_goto] = ACTIONS(1198),
+    [anon_sym___try] = ACTIONS(1198),
+    [anon_sym___leave] = ACTIONS(1198),
+    [anon_sym_DASH_DASH] = ACTIONS(1200),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1200),
+    [anon_sym_sizeof] = ACTIONS(1198),
+    [anon_sym___alignof__] = ACTIONS(1198),
+    [anon_sym___alignof] = ACTIONS(1198),
+    [anon_sym__alignof] = ACTIONS(1198),
+    [anon_sym_alignof] = ACTIONS(1198),
+    [anon_sym__Alignof] = ACTIONS(1198),
+    [anon_sym_offsetof] = ACTIONS(1198),
+    [anon_sym__Generic] = ACTIONS(1198),
+    [anon_sym_asm] = ACTIONS(1198),
+    [anon_sym___asm__] = ACTIONS(1198),
+    [anon_sym___asm] = ACTIONS(1198),
+    [sym_number_literal] = ACTIONS(1200),
+    [anon_sym_L_SQUOTE] = ACTIONS(1200),
+    [anon_sym_u_SQUOTE] = ACTIONS(1200),
+    [anon_sym_U_SQUOTE] = ACTIONS(1200),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1200),
+    [anon_sym_SQUOTE] = ACTIONS(1200),
+    [anon_sym_L_DQUOTE] = ACTIONS(1200),
+    [anon_sym_u_DQUOTE] = ACTIONS(1200),
+    [anon_sym_U_DQUOTE] = ACTIONS(1200),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1200),
+    [anon_sym_DQUOTE] = ACTIONS(1200),
+    [sym_true] = ACTIONS(1198),
+    [sym_false] = ACTIONS(1198),
+    [anon_sym_NULL] = ACTIONS(1198),
+    [anon_sym_nullptr] = ACTIONS(1198),
     [sym_comment] = ACTIONS(3),
   },
   [101] = {
-    [sym_identifier] = ACTIONS(1197),
-    [aux_sym_preproc_include_token1] = ACTIONS(1197),
-    [aux_sym_preproc_def_token1] = ACTIONS(1197),
-    [aux_sym_preproc_if_token1] = ACTIONS(1197),
-    [aux_sym_preproc_if_token2] = ACTIONS(1197),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1197),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1197),
-    [aux_sym_preproc_else_token1] = ACTIONS(1197),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1197),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1197),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1197),
-    [sym_preproc_directive] = ACTIONS(1197),
-    [anon_sym_LPAREN2] = ACTIONS(1199),
-    [anon_sym_BANG] = ACTIONS(1199),
-    [anon_sym_TILDE] = ACTIONS(1199),
-    [anon_sym_DASH] = ACTIONS(1197),
-    [anon_sym_PLUS] = ACTIONS(1197),
-    [anon_sym_STAR] = ACTIONS(1199),
-    [anon_sym_AMP] = ACTIONS(1199),
-    [anon_sym_SEMI] = ACTIONS(1199),
-    [anon_sym___extension__] = ACTIONS(1197),
-    [anon_sym_typedef] = ACTIONS(1197),
-    [anon_sym_extern] = ACTIONS(1197),
-    [anon_sym___attribute__] = ACTIONS(1197),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1199),
-    [anon_sym___declspec] = ACTIONS(1197),
-    [anon_sym___cdecl] = ACTIONS(1197),
-    [anon_sym___clrcall] = ACTIONS(1197),
-    [anon_sym___stdcall] = ACTIONS(1197),
-    [anon_sym___fastcall] = ACTIONS(1197),
-    [anon_sym___thiscall] = ACTIONS(1197),
-    [anon_sym___vectorcall] = ACTIONS(1197),
-    [anon_sym_LBRACE] = ACTIONS(1199),
-    [anon_sym_signed] = ACTIONS(1197),
-    [anon_sym_unsigned] = ACTIONS(1197),
-    [anon_sym_long] = ACTIONS(1197),
-    [anon_sym_short] = ACTIONS(1197),
-    [anon_sym_static] = ACTIONS(1197),
-    [anon_sym_auto] = ACTIONS(1197),
-    [anon_sym_register] = ACTIONS(1197),
-    [anon_sym_inline] = ACTIONS(1197),
-    [anon_sym___inline] = ACTIONS(1197),
-    [anon_sym___inline__] = ACTIONS(1197),
-    [anon_sym___forceinline] = ACTIONS(1197),
-    [anon_sym_thread_local] = ACTIONS(1197),
-    [anon_sym___thread] = ACTIONS(1197),
-    [anon_sym_const] = ACTIONS(1197),
-    [anon_sym_constexpr] = ACTIONS(1197),
-    [anon_sym_volatile] = ACTIONS(1197),
-    [anon_sym_restrict] = ACTIONS(1197),
-    [anon_sym___restrict__] = ACTIONS(1197),
-    [anon_sym__Atomic] = ACTIONS(1197),
-    [anon_sym__Noreturn] = ACTIONS(1197),
-    [anon_sym_noreturn] = ACTIONS(1197),
-    [anon_sym__Nonnull] = ACTIONS(1197),
-    [anon_sym_alignas] = ACTIONS(1197),
-    [anon_sym__Alignas] = ACTIONS(1197),
-    [sym_primitive_type] = ACTIONS(1197),
-    [anon_sym_enum] = ACTIONS(1197),
-    [anon_sym_struct] = ACTIONS(1197),
-    [anon_sym_union] = ACTIONS(1197),
-    [anon_sym_if] = ACTIONS(1197),
-    [anon_sym_else] = ACTIONS(1197),
-    [anon_sym_switch] = ACTIONS(1197),
-    [anon_sym_case] = ACTIONS(1197),
-    [anon_sym_default] = ACTIONS(1197),
-    [anon_sym_while] = ACTIONS(1197),
-    [anon_sym_do] = ACTIONS(1197),
-    [anon_sym_for] = ACTIONS(1197),
-    [anon_sym_return] = ACTIONS(1197),
-    [anon_sym_break] = ACTIONS(1197),
-    [anon_sym_continue] = ACTIONS(1197),
-    [anon_sym_goto] = ACTIONS(1197),
-    [anon_sym___try] = ACTIONS(1197),
-    [anon_sym___leave] = ACTIONS(1197),
-    [anon_sym_DASH_DASH] = ACTIONS(1199),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1199),
-    [anon_sym_sizeof] = ACTIONS(1197),
-    [anon_sym___alignof__] = ACTIONS(1197),
-    [anon_sym___alignof] = ACTIONS(1197),
-    [anon_sym__alignof] = ACTIONS(1197),
-    [anon_sym_alignof] = ACTIONS(1197),
-    [anon_sym__Alignof] = ACTIONS(1197),
-    [anon_sym_offsetof] = ACTIONS(1197),
-    [anon_sym__Generic] = ACTIONS(1197),
-    [anon_sym_asm] = ACTIONS(1197),
-    [anon_sym___asm__] = ACTIONS(1197),
-    [anon_sym___asm] = ACTIONS(1197),
-    [sym_number_literal] = ACTIONS(1199),
-    [anon_sym_L_SQUOTE] = ACTIONS(1199),
-    [anon_sym_u_SQUOTE] = ACTIONS(1199),
-    [anon_sym_U_SQUOTE] = ACTIONS(1199),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1199),
-    [anon_sym_SQUOTE] = ACTIONS(1199),
-    [anon_sym_L_DQUOTE] = ACTIONS(1199),
-    [anon_sym_u_DQUOTE] = ACTIONS(1199),
-    [anon_sym_U_DQUOTE] = ACTIONS(1199),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1199),
-    [anon_sym_DQUOTE] = ACTIONS(1199),
-    [sym_true] = ACTIONS(1197),
-    [sym_false] = ACTIONS(1197),
-    [anon_sym_NULL] = ACTIONS(1197),
-    [anon_sym_nullptr] = ACTIONS(1197),
+    [sym_identifier] = ACTIONS(1202),
+    [aux_sym_preproc_include_token1] = ACTIONS(1202),
+    [aux_sym_preproc_def_token1] = ACTIONS(1202),
+    [aux_sym_preproc_if_token1] = ACTIONS(1202),
+    [aux_sym_preproc_if_token2] = ACTIONS(1202),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1202),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1202),
+    [aux_sym_preproc_else_token1] = ACTIONS(1202),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1202),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1202),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1202),
+    [sym_preproc_directive] = ACTIONS(1202),
+    [anon_sym_LPAREN2] = ACTIONS(1204),
+    [anon_sym_BANG] = ACTIONS(1204),
+    [anon_sym_TILDE] = ACTIONS(1204),
+    [anon_sym_DASH] = ACTIONS(1202),
+    [anon_sym_PLUS] = ACTIONS(1202),
+    [anon_sym_STAR] = ACTIONS(1204),
+    [anon_sym_AMP] = ACTIONS(1204),
+    [anon_sym_SEMI] = ACTIONS(1204),
+    [anon_sym___extension__] = ACTIONS(1202),
+    [anon_sym_typedef] = ACTIONS(1202),
+    [anon_sym_extern] = ACTIONS(1202),
+    [anon_sym___attribute__] = ACTIONS(1202),
+    [anon_sym___attribute] = ACTIONS(1202),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1204),
+    [anon_sym___declspec] = ACTIONS(1202),
+    [anon_sym___cdecl] = ACTIONS(1202),
+    [anon_sym___clrcall] = ACTIONS(1202),
+    [anon_sym___stdcall] = ACTIONS(1202),
+    [anon_sym___fastcall] = ACTIONS(1202),
+    [anon_sym___thiscall] = ACTIONS(1202),
+    [anon_sym___vectorcall] = ACTIONS(1202),
+    [anon_sym_LBRACE] = ACTIONS(1204),
+    [anon_sym_signed] = ACTIONS(1202),
+    [anon_sym_unsigned] = ACTIONS(1202),
+    [anon_sym_long] = ACTIONS(1202),
+    [anon_sym_short] = ACTIONS(1202),
+    [anon_sym_static] = ACTIONS(1202),
+    [anon_sym_auto] = ACTIONS(1202),
+    [anon_sym_register] = ACTIONS(1202),
+    [anon_sym_inline] = ACTIONS(1202),
+    [anon_sym___inline] = ACTIONS(1202),
+    [anon_sym___inline__] = ACTIONS(1202),
+    [anon_sym___forceinline] = ACTIONS(1202),
+    [anon_sym_thread_local] = ACTIONS(1202),
+    [anon_sym___thread] = ACTIONS(1202),
+    [anon_sym_const] = ACTIONS(1202),
+    [anon_sym_constexpr] = ACTIONS(1202),
+    [anon_sym_volatile] = ACTIONS(1202),
+    [anon_sym_restrict] = ACTIONS(1202),
+    [anon_sym___restrict__] = ACTIONS(1202),
+    [anon_sym__Atomic] = ACTIONS(1202),
+    [anon_sym__Noreturn] = ACTIONS(1202),
+    [anon_sym_noreturn] = ACTIONS(1202),
+    [anon_sym__Nonnull] = ACTIONS(1202),
+    [anon_sym_alignas] = ACTIONS(1202),
+    [anon_sym__Alignas] = ACTIONS(1202),
+    [sym_primitive_type] = ACTIONS(1202),
+    [anon_sym_enum] = ACTIONS(1202),
+    [anon_sym_struct] = ACTIONS(1202),
+    [anon_sym_union] = ACTIONS(1202),
+    [anon_sym_if] = ACTIONS(1202),
+    [anon_sym_else] = ACTIONS(1202),
+    [anon_sym_switch] = ACTIONS(1202),
+    [anon_sym_case] = ACTIONS(1202),
+    [anon_sym_default] = ACTIONS(1202),
+    [anon_sym_while] = ACTIONS(1202),
+    [anon_sym_do] = ACTIONS(1202),
+    [anon_sym_for] = ACTIONS(1202),
+    [anon_sym_return] = ACTIONS(1202),
+    [anon_sym_break] = ACTIONS(1202),
+    [anon_sym_continue] = ACTIONS(1202),
+    [anon_sym_goto] = ACTIONS(1202),
+    [anon_sym___try] = ACTIONS(1202),
+    [anon_sym___leave] = ACTIONS(1202),
+    [anon_sym_DASH_DASH] = ACTIONS(1204),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1204),
+    [anon_sym_sizeof] = ACTIONS(1202),
+    [anon_sym___alignof__] = ACTIONS(1202),
+    [anon_sym___alignof] = ACTIONS(1202),
+    [anon_sym__alignof] = ACTIONS(1202),
+    [anon_sym_alignof] = ACTIONS(1202),
+    [anon_sym__Alignof] = ACTIONS(1202),
+    [anon_sym_offsetof] = ACTIONS(1202),
+    [anon_sym__Generic] = ACTIONS(1202),
+    [anon_sym_asm] = ACTIONS(1202),
+    [anon_sym___asm__] = ACTIONS(1202),
+    [anon_sym___asm] = ACTIONS(1202),
+    [sym_number_literal] = ACTIONS(1204),
+    [anon_sym_L_SQUOTE] = ACTIONS(1204),
+    [anon_sym_u_SQUOTE] = ACTIONS(1204),
+    [anon_sym_U_SQUOTE] = ACTIONS(1204),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1204),
+    [anon_sym_SQUOTE] = ACTIONS(1204),
+    [anon_sym_L_DQUOTE] = ACTIONS(1204),
+    [anon_sym_u_DQUOTE] = ACTIONS(1204),
+    [anon_sym_U_DQUOTE] = ACTIONS(1204),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1204),
+    [anon_sym_DQUOTE] = ACTIONS(1204),
+    [sym_true] = ACTIONS(1202),
+    [sym_false] = ACTIONS(1202),
+    [anon_sym_NULL] = ACTIONS(1202),
+    [anon_sym_nullptr] = ACTIONS(1202),
     [sym_comment] = ACTIONS(3),
   },
   [102] = {
-    [sym_identifier] = ACTIONS(1201),
-    [aux_sym_preproc_include_token1] = ACTIONS(1201),
-    [aux_sym_preproc_def_token1] = ACTIONS(1201),
-    [aux_sym_preproc_if_token1] = ACTIONS(1201),
-    [aux_sym_preproc_if_token2] = ACTIONS(1201),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1201),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1201),
-    [aux_sym_preproc_else_token1] = ACTIONS(1201),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1201),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1201),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1201),
-    [sym_preproc_directive] = ACTIONS(1201),
-    [anon_sym_LPAREN2] = ACTIONS(1203),
-    [anon_sym_BANG] = ACTIONS(1203),
-    [anon_sym_TILDE] = ACTIONS(1203),
-    [anon_sym_DASH] = ACTIONS(1201),
-    [anon_sym_PLUS] = ACTIONS(1201),
-    [anon_sym_STAR] = ACTIONS(1203),
-    [anon_sym_AMP] = ACTIONS(1203),
-    [anon_sym_SEMI] = ACTIONS(1203),
-    [anon_sym___extension__] = ACTIONS(1201),
-    [anon_sym_typedef] = ACTIONS(1201),
-    [anon_sym_extern] = ACTIONS(1201),
-    [anon_sym___attribute__] = ACTIONS(1201),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1203),
-    [anon_sym___declspec] = ACTIONS(1201),
-    [anon_sym___cdecl] = ACTIONS(1201),
-    [anon_sym___clrcall] = ACTIONS(1201),
-    [anon_sym___stdcall] = ACTIONS(1201),
-    [anon_sym___fastcall] = ACTIONS(1201),
-    [anon_sym___thiscall] = ACTIONS(1201),
-    [anon_sym___vectorcall] = ACTIONS(1201),
-    [anon_sym_LBRACE] = ACTIONS(1203),
-    [anon_sym_signed] = ACTIONS(1201),
-    [anon_sym_unsigned] = ACTIONS(1201),
-    [anon_sym_long] = ACTIONS(1201),
-    [anon_sym_short] = ACTIONS(1201),
-    [anon_sym_static] = ACTIONS(1201),
-    [anon_sym_auto] = ACTIONS(1201),
-    [anon_sym_register] = ACTIONS(1201),
-    [anon_sym_inline] = ACTIONS(1201),
-    [anon_sym___inline] = ACTIONS(1201),
-    [anon_sym___inline__] = ACTIONS(1201),
-    [anon_sym___forceinline] = ACTIONS(1201),
-    [anon_sym_thread_local] = ACTIONS(1201),
-    [anon_sym___thread] = ACTIONS(1201),
-    [anon_sym_const] = ACTIONS(1201),
-    [anon_sym_constexpr] = ACTIONS(1201),
-    [anon_sym_volatile] = ACTIONS(1201),
-    [anon_sym_restrict] = ACTIONS(1201),
-    [anon_sym___restrict__] = ACTIONS(1201),
-    [anon_sym__Atomic] = ACTIONS(1201),
-    [anon_sym__Noreturn] = ACTIONS(1201),
-    [anon_sym_noreturn] = ACTIONS(1201),
-    [anon_sym__Nonnull] = ACTIONS(1201),
-    [anon_sym_alignas] = ACTIONS(1201),
-    [anon_sym__Alignas] = ACTIONS(1201),
-    [sym_primitive_type] = ACTIONS(1201),
-    [anon_sym_enum] = ACTIONS(1201),
-    [anon_sym_struct] = ACTIONS(1201),
-    [anon_sym_union] = ACTIONS(1201),
-    [anon_sym_if] = ACTIONS(1201),
-    [anon_sym_else] = ACTIONS(1201),
-    [anon_sym_switch] = ACTIONS(1201),
-    [anon_sym_case] = ACTIONS(1201),
-    [anon_sym_default] = ACTIONS(1201),
-    [anon_sym_while] = ACTIONS(1201),
-    [anon_sym_do] = ACTIONS(1201),
-    [anon_sym_for] = ACTIONS(1201),
-    [anon_sym_return] = ACTIONS(1201),
-    [anon_sym_break] = ACTIONS(1201),
-    [anon_sym_continue] = ACTIONS(1201),
-    [anon_sym_goto] = ACTIONS(1201),
-    [anon_sym___try] = ACTIONS(1201),
-    [anon_sym___leave] = ACTIONS(1201),
-    [anon_sym_DASH_DASH] = ACTIONS(1203),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1203),
-    [anon_sym_sizeof] = ACTIONS(1201),
-    [anon_sym___alignof__] = ACTIONS(1201),
-    [anon_sym___alignof] = ACTIONS(1201),
-    [anon_sym__alignof] = ACTIONS(1201),
-    [anon_sym_alignof] = ACTIONS(1201),
-    [anon_sym__Alignof] = ACTIONS(1201),
-    [anon_sym_offsetof] = ACTIONS(1201),
-    [anon_sym__Generic] = ACTIONS(1201),
-    [anon_sym_asm] = ACTIONS(1201),
-    [anon_sym___asm__] = ACTIONS(1201),
-    [anon_sym___asm] = ACTIONS(1201),
-    [sym_number_literal] = ACTIONS(1203),
-    [anon_sym_L_SQUOTE] = ACTIONS(1203),
-    [anon_sym_u_SQUOTE] = ACTIONS(1203),
-    [anon_sym_U_SQUOTE] = ACTIONS(1203),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1203),
-    [anon_sym_SQUOTE] = ACTIONS(1203),
-    [anon_sym_L_DQUOTE] = ACTIONS(1203),
-    [anon_sym_u_DQUOTE] = ACTIONS(1203),
-    [anon_sym_U_DQUOTE] = ACTIONS(1203),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1203),
-    [anon_sym_DQUOTE] = ACTIONS(1203),
-    [sym_true] = ACTIONS(1201),
-    [sym_false] = ACTIONS(1201),
-    [anon_sym_NULL] = ACTIONS(1201),
-    [anon_sym_nullptr] = ACTIONS(1201),
+    [sym_identifier] = ACTIONS(1202),
+    [aux_sym_preproc_include_token1] = ACTIONS(1202),
+    [aux_sym_preproc_def_token1] = ACTIONS(1202),
+    [aux_sym_preproc_if_token1] = ACTIONS(1202),
+    [aux_sym_preproc_if_token2] = ACTIONS(1202),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1202),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1202),
+    [aux_sym_preproc_else_token1] = ACTIONS(1202),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1202),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1202),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1202),
+    [sym_preproc_directive] = ACTIONS(1202),
+    [anon_sym_LPAREN2] = ACTIONS(1204),
+    [anon_sym_BANG] = ACTIONS(1204),
+    [anon_sym_TILDE] = ACTIONS(1204),
+    [anon_sym_DASH] = ACTIONS(1202),
+    [anon_sym_PLUS] = ACTIONS(1202),
+    [anon_sym_STAR] = ACTIONS(1204),
+    [anon_sym_AMP] = ACTIONS(1204),
+    [anon_sym_SEMI] = ACTIONS(1204),
+    [anon_sym___extension__] = ACTIONS(1202),
+    [anon_sym_typedef] = ACTIONS(1202),
+    [anon_sym_extern] = ACTIONS(1202),
+    [anon_sym___attribute__] = ACTIONS(1202),
+    [anon_sym___attribute] = ACTIONS(1202),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1204),
+    [anon_sym___declspec] = ACTIONS(1202),
+    [anon_sym___cdecl] = ACTIONS(1202),
+    [anon_sym___clrcall] = ACTIONS(1202),
+    [anon_sym___stdcall] = ACTIONS(1202),
+    [anon_sym___fastcall] = ACTIONS(1202),
+    [anon_sym___thiscall] = ACTIONS(1202),
+    [anon_sym___vectorcall] = ACTIONS(1202),
+    [anon_sym_LBRACE] = ACTIONS(1204),
+    [anon_sym_signed] = ACTIONS(1202),
+    [anon_sym_unsigned] = ACTIONS(1202),
+    [anon_sym_long] = ACTIONS(1202),
+    [anon_sym_short] = ACTIONS(1202),
+    [anon_sym_static] = ACTIONS(1202),
+    [anon_sym_auto] = ACTIONS(1202),
+    [anon_sym_register] = ACTIONS(1202),
+    [anon_sym_inline] = ACTIONS(1202),
+    [anon_sym___inline] = ACTIONS(1202),
+    [anon_sym___inline__] = ACTIONS(1202),
+    [anon_sym___forceinline] = ACTIONS(1202),
+    [anon_sym_thread_local] = ACTIONS(1202),
+    [anon_sym___thread] = ACTIONS(1202),
+    [anon_sym_const] = ACTIONS(1202),
+    [anon_sym_constexpr] = ACTIONS(1202),
+    [anon_sym_volatile] = ACTIONS(1202),
+    [anon_sym_restrict] = ACTIONS(1202),
+    [anon_sym___restrict__] = ACTIONS(1202),
+    [anon_sym__Atomic] = ACTIONS(1202),
+    [anon_sym__Noreturn] = ACTIONS(1202),
+    [anon_sym_noreturn] = ACTIONS(1202),
+    [anon_sym__Nonnull] = ACTIONS(1202),
+    [anon_sym_alignas] = ACTIONS(1202),
+    [anon_sym__Alignas] = ACTIONS(1202),
+    [sym_primitive_type] = ACTIONS(1202),
+    [anon_sym_enum] = ACTIONS(1202),
+    [anon_sym_struct] = ACTIONS(1202),
+    [anon_sym_union] = ACTIONS(1202),
+    [anon_sym_if] = ACTIONS(1202),
+    [anon_sym_else] = ACTIONS(1202),
+    [anon_sym_switch] = ACTIONS(1202),
+    [anon_sym_case] = ACTIONS(1202),
+    [anon_sym_default] = ACTIONS(1202),
+    [anon_sym_while] = ACTIONS(1202),
+    [anon_sym_do] = ACTIONS(1202),
+    [anon_sym_for] = ACTIONS(1202),
+    [anon_sym_return] = ACTIONS(1202),
+    [anon_sym_break] = ACTIONS(1202),
+    [anon_sym_continue] = ACTIONS(1202),
+    [anon_sym_goto] = ACTIONS(1202),
+    [anon_sym___try] = ACTIONS(1202),
+    [anon_sym___leave] = ACTIONS(1202),
+    [anon_sym_DASH_DASH] = ACTIONS(1204),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1204),
+    [anon_sym_sizeof] = ACTIONS(1202),
+    [anon_sym___alignof__] = ACTIONS(1202),
+    [anon_sym___alignof] = ACTIONS(1202),
+    [anon_sym__alignof] = ACTIONS(1202),
+    [anon_sym_alignof] = ACTIONS(1202),
+    [anon_sym__Alignof] = ACTIONS(1202),
+    [anon_sym_offsetof] = ACTIONS(1202),
+    [anon_sym__Generic] = ACTIONS(1202),
+    [anon_sym_asm] = ACTIONS(1202),
+    [anon_sym___asm__] = ACTIONS(1202),
+    [anon_sym___asm] = ACTIONS(1202),
+    [sym_number_literal] = ACTIONS(1204),
+    [anon_sym_L_SQUOTE] = ACTIONS(1204),
+    [anon_sym_u_SQUOTE] = ACTIONS(1204),
+    [anon_sym_U_SQUOTE] = ACTIONS(1204),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1204),
+    [anon_sym_SQUOTE] = ACTIONS(1204),
+    [anon_sym_L_DQUOTE] = ACTIONS(1204),
+    [anon_sym_u_DQUOTE] = ACTIONS(1204),
+    [anon_sym_U_DQUOTE] = ACTIONS(1204),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1204),
+    [anon_sym_DQUOTE] = ACTIONS(1204),
+    [sym_true] = ACTIONS(1202),
+    [sym_false] = ACTIONS(1202),
+    [anon_sym_NULL] = ACTIONS(1202),
+    [anon_sym_nullptr] = ACTIONS(1202),
     [sym_comment] = ACTIONS(3),
   },
   [103] = {
-    [sym_identifier] = ACTIONS(1201),
-    [aux_sym_preproc_include_token1] = ACTIONS(1201),
-    [aux_sym_preproc_def_token1] = ACTIONS(1201),
-    [aux_sym_preproc_if_token1] = ACTIONS(1201),
-    [aux_sym_preproc_if_token2] = ACTIONS(1201),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1201),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1201),
-    [aux_sym_preproc_else_token1] = ACTIONS(1201),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1201),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1201),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1201),
-    [sym_preproc_directive] = ACTIONS(1201),
-    [anon_sym_LPAREN2] = ACTIONS(1203),
-    [anon_sym_BANG] = ACTIONS(1203),
-    [anon_sym_TILDE] = ACTIONS(1203),
-    [anon_sym_DASH] = ACTIONS(1201),
-    [anon_sym_PLUS] = ACTIONS(1201),
-    [anon_sym_STAR] = ACTIONS(1203),
-    [anon_sym_AMP] = ACTIONS(1203),
-    [anon_sym_SEMI] = ACTIONS(1203),
-    [anon_sym___extension__] = ACTIONS(1201),
-    [anon_sym_typedef] = ACTIONS(1201),
-    [anon_sym_extern] = ACTIONS(1201),
-    [anon_sym___attribute__] = ACTIONS(1201),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1203),
-    [anon_sym___declspec] = ACTIONS(1201),
-    [anon_sym___cdecl] = ACTIONS(1201),
-    [anon_sym___clrcall] = ACTIONS(1201),
-    [anon_sym___stdcall] = ACTIONS(1201),
-    [anon_sym___fastcall] = ACTIONS(1201),
-    [anon_sym___thiscall] = ACTIONS(1201),
-    [anon_sym___vectorcall] = ACTIONS(1201),
-    [anon_sym_LBRACE] = ACTIONS(1203),
-    [anon_sym_signed] = ACTIONS(1201),
-    [anon_sym_unsigned] = ACTIONS(1201),
-    [anon_sym_long] = ACTIONS(1201),
-    [anon_sym_short] = ACTIONS(1201),
-    [anon_sym_static] = ACTIONS(1201),
-    [anon_sym_auto] = ACTIONS(1201),
-    [anon_sym_register] = ACTIONS(1201),
-    [anon_sym_inline] = ACTIONS(1201),
-    [anon_sym___inline] = ACTIONS(1201),
-    [anon_sym___inline__] = ACTIONS(1201),
-    [anon_sym___forceinline] = ACTIONS(1201),
-    [anon_sym_thread_local] = ACTIONS(1201),
-    [anon_sym___thread] = ACTIONS(1201),
-    [anon_sym_const] = ACTIONS(1201),
-    [anon_sym_constexpr] = ACTIONS(1201),
-    [anon_sym_volatile] = ACTIONS(1201),
-    [anon_sym_restrict] = ACTIONS(1201),
-    [anon_sym___restrict__] = ACTIONS(1201),
-    [anon_sym__Atomic] = ACTIONS(1201),
-    [anon_sym__Noreturn] = ACTIONS(1201),
-    [anon_sym_noreturn] = ACTIONS(1201),
-    [anon_sym__Nonnull] = ACTIONS(1201),
-    [anon_sym_alignas] = ACTIONS(1201),
-    [anon_sym__Alignas] = ACTIONS(1201),
-    [sym_primitive_type] = ACTIONS(1201),
-    [anon_sym_enum] = ACTIONS(1201),
-    [anon_sym_struct] = ACTIONS(1201),
-    [anon_sym_union] = ACTIONS(1201),
-    [anon_sym_if] = ACTIONS(1201),
-    [anon_sym_else] = ACTIONS(1201),
-    [anon_sym_switch] = ACTIONS(1201),
-    [anon_sym_case] = ACTIONS(1201),
-    [anon_sym_default] = ACTIONS(1201),
-    [anon_sym_while] = ACTIONS(1201),
-    [anon_sym_do] = ACTIONS(1201),
-    [anon_sym_for] = ACTIONS(1201),
-    [anon_sym_return] = ACTIONS(1201),
-    [anon_sym_break] = ACTIONS(1201),
-    [anon_sym_continue] = ACTIONS(1201),
-    [anon_sym_goto] = ACTIONS(1201),
-    [anon_sym___try] = ACTIONS(1201),
-    [anon_sym___leave] = ACTIONS(1201),
-    [anon_sym_DASH_DASH] = ACTIONS(1203),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1203),
-    [anon_sym_sizeof] = ACTIONS(1201),
-    [anon_sym___alignof__] = ACTIONS(1201),
-    [anon_sym___alignof] = ACTIONS(1201),
-    [anon_sym__alignof] = ACTIONS(1201),
-    [anon_sym_alignof] = ACTIONS(1201),
-    [anon_sym__Alignof] = ACTIONS(1201),
-    [anon_sym_offsetof] = ACTIONS(1201),
-    [anon_sym__Generic] = ACTIONS(1201),
-    [anon_sym_asm] = ACTIONS(1201),
-    [anon_sym___asm__] = ACTIONS(1201),
-    [anon_sym___asm] = ACTIONS(1201),
-    [sym_number_literal] = ACTIONS(1203),
-    [anon_sym_L_SQUOTE] = ACTIONS(1203),
-    [anon_sym_u_SQUOTE] = ACTIONS(1203),
-    [anon_sym_U_SQUOTE] = ACTIONS(1203),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1203),
-    [anon_sym_SQUOTE] = ACTIONS(1203),
-    [anon_sym_L_DQUOTE] = ACTIONS(1203),
-    [anon_sym_u_DQUOTE] = ACTIONS(1203),
-    [anon_sym_U_DQUOTE] = ACTIONS(1203),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1203),
-    [anon_sym_DQUOTE] = ACTIONS(1203),
-    [sym_true] = ACTIONS(1201),
-    [sym_false] = ACTIONS(1201),
-    [anon_sym_NULL] = ACTIONS(1201),
-    [anon_sym_nullptr] = ACTIONS(1201),
+    [sym_identifier] = ACTIONS(1206),
+    [aux_sym_preproc_include_token1] = ACTIONS(1206),
+    [aux_sym_preproc_def_token1] = ACTIONS(1206),
+    [aux_sym_preproc_if_token1] = ACTIONS(1206),
+    [aux_sym_preproc_if_token2] = ACTIONS(1206),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1206),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1206),
+    [aux_sym_preproc_else_token1] = ACTIONS(1206),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1206),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1206),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1206),
+    [sym_preproc_directive] = ACTIONS(1206),
+    [anon_sym_LPAREN2] = ACTIONS(1208),
+    [anon_sym_BANG] = ACTIONS(1208),
+    [anon_sym_TILDE] = ACTIONS(1208),
+    [anon_sym_DASH] = ACTIONS(1206),
+    [anon_sym_PLUS] = ACTIONS(1206),
+    [anon_sym_STAR] = ACTIONS(1208),
+    [anon_sym_AMP] = ACTIONS(1208),
+    [anon_sym_SEMI] = ACTIONS(1208),
+    [anon_sym___extension__] = ACTIONS(1206),
+    [anon_sym_typedef] = ACTIONS(1206),
+    [anon_sym_extern] = ACTIONS(1206),
+    [anon_sym___attribute__] = ACTIONS(1206),
+    [anon_sym___attribute] = ACTIONS(1206),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1208),
+    [anon_sym___declspec] = ACTIONS(1206),
+    [anon_sym___cdecl] = ACTIONS(1206),
+    [anon_sym___clrcall] = ACTIONS(1206),
+    [anon_sym___stdcall] = ACTIONS(1206),
+    [anon_sym___fastcall] = ACTIONS(1206),
+    [anon_sym___thiscall] = ACTIONS(1206),
+    [anon_sym___vectorcall] = ACTIONS(1206),
+    [anon_sym_LBRACE] = ACTIONS(1208),
+    [anon_sym_signed] = ACTIONS(1206),
+    [anon_sym_unsigned] = ACTIONS(1206),
+    [anon_sym_long] = ACTIONS(1206),
+    [anon_sym_short] = ACTIONS(1206),
+    [anon_sym_static] = ACTIONS(1206),
+    [anon_sym_auto] = ACTIONS(1206),
+    [anon_sym_register] = ACTIONS(1206),
+    [anon_sym_inline] = ACTIONS(1206),
+    [anon_sym___inline] = ACTIONS(1206),
+    [anon_sym___inline__] = ACTIONS(1206),
+    [anon_sym___forceinline] = ACTIONS(1206),
+    [anon_sym_thread_local] = ACTIONS(1206),
+    [anon_sym___thread] = ACTIONS(1206),
+    [anon_sym_const] = ACTIONS(1206),
+    [anon_sym_constexpr] = ACTIONS(1206),
+    [anon_sym_volatile] = ACTIONS(1206),
+    [anon_sym_restrict] = ACTIONS(1206),
+    [anon_sym___restrict__] = ACTIONS(1206),
+    [anon_sym__Atomic] = ACTIONS(1206),
+    [anon_sym__Noreturn] = ACTIONS(1206),
+    [anon_sym_noreturn] = ACTIONS(1206),
+    [anon_sym__Nonnull] = ACTIONS(1206),
+    [anon_sym_alignas] = ACTIONS(1206),
+    [anon_sym__Alignas] = ACTIONS(1206),
+    [sym_primitive_type] = ACTIONS(1206),
+    [anon_sym_enum] = ACTIONS(1206),
+    [anon_sym_struct] = ACTIONS(1206),
+    [anon_sym_union] = ACTIONS(1206),
+    [anon_sym_if] = ACTIONS(1206),
+    [anon_sym_else] = ACTIONS(1206),
+    [anon_sym_switch] = ACTIONS(1206),
+    [anon_sym_case] = ACTIONS(1206),
+    [anon_sym_default] = ACTIONS(1206),
+    [anon_sym_while] = ACTIONS(1206),
+    [anon_sym_do] = ACTIONS(1206),
+    [anon_sym_for] = ACTIONS(1206),
+    [anon_sym_return] = ACTIONS(1206),
+    [anon_sym_break] = ACTIONS(1206),
+    [anon_sym_continue] = ACTIONS(1206),
+    [anon_sym_goto] = ACTIONS(1206),
+    [anon_sym___try] = ACTIONS(1206),
+    [anon_sym___leave] = ACTIONS(1206),
+    [anon_sym_DASH_DASH] = ACTIONS(1208),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1208),
+    [anon_sym_sizeof] = ACTIONS(1206),
+    [anon_sym___alignof__] = ACTIONS(1206),
+    [anon_sym___alignof] = ACTIONS(1206),
+    [anon_sym__alignof] = ACTIONS(1206),
+    [anon_sym_alignof] = ACTIONS(1206),
+    [anon_sym__Alignof] = ACTIONS(1206),
+    [anon_sym_offsetof] = ACTIONS(1206),
+    [anon_sym__Generic] = ACTIONS(1206),
+    [anon_sym_asm] = ACTIONS(1206),
+    [anon_sym___asm__] = ACTIONS(1206),
+    [anon_sym___asm] = ACTIONS(1206),
+    [sym_number_literal] = ACTIONS(1208),
+    [anon_sym_L_SQUOTE] = ACTIONS(1208),
+    [anon_sym_u_SQUOTE] = ACTIONS(1208),
+    [anon_sym_U_SQUOTE] = ACTIONS(1208),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1208),
+    [anon_sym_SQUOTE] = ACTIONS(1208),
+    [anon_sym_L_DQUOTE] = ACTIONS(1208),
+    [anon_sym_u_DQUOTE] = ACTIONS(1208),
+    [anon_sym_U_DQUOTE] = ACTIONS(1208),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1208),
+    [anon_sym_DQUOTE] = ACTIONS(1208),
+    [sym_true] = ACTIONS(1206),
+    [sym_false] = ACTIONS(1206),
+    [anon_sym_NULL] = ACTIONS(1206),
+    [anon_sym_nullptr] = ACTIONS(1206),
     [sym_comment] = ACTIONS(3),
   },
   [104] = {
-    [sym_identifier] = ACTIONS(1205),
-    [aux_sym_preproc_include_token1] = ACTIONS(1205),
-    [aux_sym_preproc_def_token1] = ACTIONS(1205),
-    [aux_sym_preproc_if_token1] = ACTIONS(1205),
-    [aux_sym_preproc_if_token2] = ACTIONS(1205),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1205),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1205),
-    [aux_sym_preproc_else_token1] = ACTIONS(1205),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1205),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1205),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1205),
-    [sym_preproc_directive] = ACTIONS(1205),
-    [anon_sym_LPAREN2] = ACTIONS(1207),
-    [anon_sym_BANG] = ACTIONS(1207),
-    [anon_sym_TILDE] = ACTIONS(1207),
-    [anon_sym_DASH] = ACTIONS(1205),
-    [anon_sym_PLUS] = ACTIONS(1205),
-    [anon_sym_STAR] = ACTIONS(1207),
-    [anon_sym_AMP] = ACTIONS(1207),
-    [anon_sym_SEMI] = ACTIONS(1207),
-    [anon_sym___extension__] = ACTIONS(1205),
-    [anon_sym_typedef] = ACTIONS(1205),
-    [anon_sym_extern] = ACTIONS(1205),
-    [anon_sym___attribute__] = ACTIONS(1205),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1207),
-    [anon_sym___declspec] = ACTIONS(1205),
-    [anon_sym___cdecl] = ACTIONS(1205),
-    [anon_sym___clrcall] = ACTIONS(1205),
-    [anon_sym___stdcall] = ACTIONS(1205),
-    [anon_sym___fastcall] = ACTIONS(1205),
-    [anon_sym___thiscall] = ACTIONS(1205),
-    [anon_sym___vectorcall] = ACTIONS(1205),
-    [anon_sym_LBRACE] = ACTIONS(1207),
-    [anon_sym_signed] = ACTIONS(1205),
-    [anon_sym_unsigned] = ACTIONS(1205),
-    [anon_sym_long] = ACTIONS(1205),
-    [anon_sym_short] = ACTIONS(1205),
-    [anon_sym_static] = ACTIONS(1205),
-    [anon_sym_auto] = ACTIONS(1205),
-    [anon_sym_register] = ACTIONS(1205),
-    [anon_sym_inline] = ACTIONS(1205),
-    [anon_sym___inline] = ACTIONS(1205),
-    [anon_sym___inline__] = ACTIONS(1205),
-    [anon_sym___forceinline] = ACTIONS(1205),
-    [anon_sym_thread_local] = ACTIONS(1205),
-    [anon_sym___thread] = ACTIONS(1205),
-    [anon_sym_const] = ACTIONS(1205),
-    [anon_sym_constexpr] = ACTIONS(1205),
-    [anon_sym_volatile] = ACTIONS(1205),
-    [anon_sym_restrict] = ACTIONS(1205),
-    [anon_sym___restrict__] = ACTIONS(1205),
-    [anon_sym__Atomic] = ACTIONS(1205),
-    [anon_sym__Noreturn] = ACTIONS(1205),
-    [anon_sym_noreturn] = ACTIONS(1205),
-    [anon_sym__Nonnull] = ACTIONS(1205),
-    [anon_sym_alignas] = ACTIONS(1205),
-    [anon_sym__Alignas] = ACTIONS(1205),
-    [sym_primitive_type] = ACTIONS(1205),
-    [anon_sym_enum] = ACTIONS(1205),
-    [anon_sym_struct] = ACTIONS(1205),
-    [anon_sym_union] = ACTIONS(1205),
-    [anon_sym_if] = ACTIONS(1205),
-    [anon_sym_else] = ACTIONS(1205),
-    [anon_sym_switch] = ACTIONS(1205),
-    [anon_sym_case] = ACTIONS(1205),
-    [anon_sym_default] = ACTIONS(1205),
-    [anon_sym_while] = ACTIONS(1205),
-    [anon_sym_do] = ACTIONS(1205),
-    [anon_sym_for] = ACTIONS(1205),
-    [anon_sym_return] = ACTIONS(1205),
-    [anon_sym_break] = ACTIONS(1205),
-    [anon_sym_continue] = ACTIONS(1205),
-    [anon_sym_goto] = ACTIONS(1205),
-    [anon_sym___try] = ACTIONS(1205),
-    [anon_sym___leave] = ACTIONS(1205),
-    [anon_sym_DASH_DASH] = ACTIONS(1207),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1207),
-    [anon_sym_sizeof] = ACTIONS(1205),
-    [anon_sym___alignof__] = ACTIONS(1205),
-    [anon_sym___alignof] = ACTIONS(1205),
-    [anon_sym__alignof] = ACTIONS(1205),
-    [anon_sym_alignof] = ACTIONS(1205),
-    [anon_sym__Alignof] = ACTIONS(1205),
-    [anon_sym_offsetof] = ACTIONS(1205),
-    [anon_sym__Generic] = ACTIONS(1205),
-    [anon_sym_asm] = ACTIONS(1205),
-    [anon_sym___asm__] = ACTIONS(1205),
-    [anon_sym___asm] = ACTIONS(1205),
-    [sym_number_literal] = ACTIONS(1207),
-    [anon_sym_L_SQUOTE] = ACTIONS(1207),
-    [anon_sym_u_SQUOTE] = ACTIONS(1207),
-    [anon_sym_U_SQUOTE] = ACTIONS(1207),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1207),
-    [anon_sym_SQUOTE] = ACTIONS(1207),
-    [anon_sym_L_DQUOTE] = ACTIONS(1207),
-    [anon_sym_u_DQUOTE] = ACTIONS(1207),
-    [anon_sym_U_DQUOTE] = ACTIONS(1207),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1207),
-    [anon_sym_DQUOTE] = ACTIONS(1207),
-    [sym_true] = ACTIONS(1205),
-    [sym_false] = ACTIONS(1205),
-    [anon_sym_NULL] = ACTIONS(1205),
-    [anon_sym_nullptr] = ACTIONS(1205),
+    [sym_identifier] = ACTIONS(1210),
+    [aux_sym_preproc_include_token1] = ACTIONS(1210),
+    [aux_sym_preproc_def_token1] = ACTIONS(1210),
+    [aux_sym_preproc_if_token1] = ACTIONS(1210),
+    [aux_sym_preproc_if_token2] = ACTIONS(1210),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1210),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1210),
+    [aux_sym_preproc_else_token1] = ACTIONS(1210),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1210),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1210),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1210),
+    [sym_preproc_directive] = ACTIONS(1210),
+    [anon_sym_LPAREN2] = ACTIONS(1212),
+    [anon_sym_BANG] = ACTIONS(1212),
+    [anon_sym_TILDE] = ACTIONS(1212),
+    [anon_sym_DASH] = ACTIONS(1210),
+    [anon_sym_PLUS] = ACTIONS(1210),
+    [anon_sym_STAR] = ACTIONS(1212),
+    [anon_sym_AMP] = ACTIONS(1212),
+    [anon_sym_SEMI] = ACTIONS(1212),
+    [anon_sym___extension__] = ACTIONS(1210),
+    [anon_sym_typedef] = ACTIONS(1210),
+    [anon_sym_extern] = ACTIONS(1210),
+    [anon_sym___attribute__] = ACTIONS(1210),
+    [anon_sym___attribute] = ACTIONS(1210),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1212),
+    [anon_sym___declspec] = ACTIONS(1210),
+    [anon_sym___cdecl] = ACTIONS(1210),
+    [anon_sym___clrcall] = ACTIONS(1210),
+    [anon_sym___stdcall] = ACTIONS(1210),
+    [anon_sym___fastcall] = ACTIONS(1210),
+    [anon_sym___thiscall] = ACTIONS(1210),
+    [anon_sym___vectorcall] = ACTIONS(1210),
+    [anon_sym_LBRACE] = ACTIONS(1212),
+    [anon_sym_signed] = ACTIONS(1210),
+    [anon_sym_unsigned] = ACTIONS(1210),
+    [anon_sym_long] = ACTIONS(1210),
+    [anon_sym_short] = ACTIONS(1210),
+    [anon_sym_static] = ACTIONS(1210),
+    [anon_sym_auto] = ACTIONS(1210),
+    [anon_sym_register] = ACTIONS(1210),
+    [anon_sym_inline] = ACTIONS(1210),
+    [anon_sym___inline] = ACTIONS(1210),
+    [anon_sym___inline__] = ACTIONS(1210),
+    [anon_sym___forceinline] = ACTIONS(1210),
+    [anon_sym_thread_local] = ACTIONS(1210),
+    [anon_sym___thread] = ACTIONS(1210),
+    [anon_sym_const] = ACTIONS(1210),
+    [anon_sym_constexpr] = ACTIONS(1210),
+    [anon_sym_volatile] = ACTIONS(1210),
+    [anon_sym_restrict] = ACTIONS(1210),
+    [anon_sym___restrict__] = ACTIONS(1210),
+    [anon_sym__Atomic] = ACTIONS(1210),
+    [anon_sym__Noreturn] = ACTIONS(1210),
+    [anon_sym_noreturn] = ACTIONS(1210),
+    [anon_sym__Nonnull] = ACTIONS(1210),
+    [anon_sym_alignas] = ACTIONS(1210),
+    [anon_sym__Alignas] = ACTIONS(1210),
+    [sym_primitive_type] = ACTIONS(1210),
+    [anon_sym_enum] = ACTIONS(1210),
+    [anon_sym_struct] = ACTIONS(1210),
+    [anon_sym_union] = ACTIONS(1210),
+    [anon_sym_if] = ACTIONS(1210),
+    [anon_sym_else] = ACTIONS(1210),
+    [anon_sym_switch] = ACTIONS(1210),
+    [anon_sym_case] = ACTIONS(1210),
+    [anon_sym_default] = ACTIONS(1210),
+    [anon_sym_while] = ACTIONS(1210),
+    [anon_sym_do] = ACTIONS(1210),
+    [anon_sym_for] = ACTIONS(1210),
+    [anon_sym_return] = ACTIONS(1210),
+    [anon_sym_break] = ACTIONS(1210),
+    [anon_sym_continue] = ACTIONS(1210),
+    [anon_sym_goto] = ACTIONS(1210),
+    [anon_sym___try] = ACTIONS(1210),
+    [anon_sym___leave] = ACTIONS(1210),
+    [anon_sym_DASH_DASH] = ACTIONS(1212),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1212),
+    [anon_sym_sizeof] = ACTIONS(1210),
+    [anon_sym___alignof__] = ACTIONS(1210),
+    [anon_sym___alignof] = ACTIONS(1210),
+    [anon_sym__alignof] = ACTIONS(1210),
+    [anon_sym_alignof] = ACTIONS(1210),
+    [anon_sym__Alignof] = ACTIONS(1210),
+    [anon_sym_offsetof] = ACTIONS(1210),
+    [anon_sym__Generic] = ACTIONS(1210),
+    [anon_sym_asm] = ACTIONS(1210),
+    [anon_sym___asm__] = ACTIONS(1210),
+    [anon_sym___asm] = ACTIONS(1210),
+    [sym_number_literal] = ACTIONS(1212),
+    [anon_sym_L_SQUOTE] = ACTIONS(1212),
+    [anon_sym_u_SQUOTE] = ACTIONS(1212),
+    [anon_sym_U_SQUOTE] = ACTIONS(1212),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1212),
+    [anon_sym_SQUOTE] = ACTIONS(1212),
+    [anon_sym_L_DQUOTE] = ACTIONS(1212),
+    [anon_sym_u_DQUOTE] = ACTIONS(1212),
+    [anon_sym_U_DQUOTE] = ACTIONS(1212),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1212),
+    [anon_sym_DQUOTE] = ACTIONS(1212),
+    [sym_true] = ACTIONS(1210),
+    [sym_false] = ACTIONS(1210),
+    [anon_sym_NULL] = ACTIONS(1210),
+    [anon_sym_nullptr] = ACTIONS(1210),
     [sym_comment] = ACTIONS(3),
   },
   [105] = {
-    [sym_identifier] = ACTIONS(1205),
-    [aux_sym_preproc_include_token1] = ACTIONS(1205),
-    [aux_sym_preproc_def_token1] = ACTIONS(1205),
-    [aux_sym_preproc_if_token1] = ACTIONS(1205),
-    [aux_sym_preproc_if_token2] = ACTIONS(1205),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1205),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1205),
-    [aux_sym_preproc_else_token1] = ACTIONS(1205),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1205),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1205),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1205),
-    [sym_preproc_directive] = ACTIONS(1205),
-    [anon_sym_LPAREN2] = ACTIONS(1207),
-    [anon_sym_BANG] = ACTIONS(1207),
-    [anon_sym_TILDE] = ACTIONS(1207),
-    [anon_sym_DASH] = ACTIONS(1205),
-    [anon_sym_PLUS] = ACTIONS(1205),
-    [anon_sym_STAR] = ACTIONS(1207),
-    [anon_sym_AMP] = ACTIONS(1207),
-    [anon_sym_SEMI] = ACTIONS(1207),
-    [anon_sym___extension__] = ACTIONS(1205),
-    [anon_sym_typedef] = ACTIONS(1205),
-    [anon_sym_extern] = ACTIONS(1205),
-    [anon_sym___attribute__] = ACTIONS(1205),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1207),
-    [anon_sym___declspec] = ACTIONS(1205),
-    [anon_sym___cdecl] = ACTIONS(1205),
-    [anon_sym___clrcall] = ACTIONS(1205),
-    [anon_sym___stdcall] = ACTIONS(1205),
-    [anon_sym___fastcall] = ACTIONS(1205),
-    [anon_sym___thiscall] = ACTIONS(1205),
-    [anon_sym___vectorcall] = ACTIONS(1205),
-    [anon_sym_LBRACE] = ACTIONS(1207),
-    [anon_sym_signed] = ACTIONS(1205),
-    [anon_sym_unsigned] = ACTIONS(1205),
-    [anon_sym_long] = ACTIONS(1205),
-    [anon_sym_short] = ACTIONS(1205),
-    [anon_sym_static] = ACTIONS(1205),
-    [anon_sym_auto] = ACTIONS(1205),
-    [anon_sym_register] = ACTIONS(1205),
-    [anon_sym_inline] = ACTIONS(1205),
-    [anon_sym___inline] = ACTIONS(1205),
-    [anon_sym___inline__] = ACTIONS(1205),
-    [anon_sym___forceinline] = ACTIONS(1205),
-    [anon_sym_thread_local] = ACTIONS(1205),
-    [anon_sym___thread] = ACTIONS(1205),
-    [anon_sym_const] = ACTIONS(1205),
-    [anon_sym_constexpr] = ACTIONS(1205),
-    [anon_sym_volatile] = ACTIONS(1205),
-    [anon_sym_restrict] = ACTIONS(1205),
-    [anon_sym___restrict__] = ACTIONS(1205),
-    [anon_sym__Atomic] = ACTIONS(1205),
-    [anon_sym__Noreturn] = ACTIONS(1205),
-    [anon_sym_noreturn] = ACTIONS(1205),
-    [anon_sym__Nonnull] = ACTIONS(1205),
-    [anon_sym_alignas] = ACTIONS(1205),
-    [anon_sym__Alignas] = ACTIONS(1205),
-    [sym_primitive_type] = ACTIONS(1205),
-    [anon_sym_enum] = ACTIONS(1205),
-    [anon_sym_struct] = ACTIONS(1205),
-    [anon_sym_union] = ACTIONS(1205),
-    [anon_sym_if] = ACTIONS(1205),
-    [anon_sym_else] = ACTIONS(1205),
-    [anon_sym_switch] = ACTIONS(1205),
-    [anon_sym_case] = ACTIONS(1205),
-    [anon_sym_default] = ACTIONS(1205),
-    [anon_sym_while] = ACTIONS(1205),
-    [anon_sym_do] = ACTIONS(1205),
-    [anon_sym_for] = ACTIONS(1205),
-    [anon_sym_return] = ACTIONS(1205),
-    [anon_sym_break] = ACTIONS(1205),
-    [anon_sym_continue] = ACTIONS(1205),
-    [anon_sym_goto] = ACTIONS(1205),
-    [anon_sym___try] = ACTIONS(1205),
-    [anon_sym___leave] = ACTIONS(1205),
-    [anon_sym_DASH_DASH] = ACTIONS(1207),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1207),
-    [anon_sym_sizeof] = ACTIONS(1205),
-    [anon_sym___alignof__] = ACTIONS(1205),
-    [anon_sym___alignof] = ACTIONS(1205),
-    [anon_sym__alignof] = ACTIONS(1205),
-    [anon_sym_alignof] = ACTIONS(1205),
-    [anon_sym__Alignof] = ACTIONS(1205),
-    [anon_sym_offsetof] = ACTIONS(1205),
-    [anon_sym__Generic] = ACTIONS(1205),
-    [anon_sym_asm] = ACTIONS(1205),
-    [anon_sym___asm__] = ACTIONS(1205),
-    [anon_sym___asm] = ACTIONS(1205),
-    [sym_number_literal] = ACTIONS(1207),
-    [anon_sym_L_SQUOTE] = ACTIONS(1207),
-    [anon_sym_u_SQUOTE] = ACTIONS(1207),
-    [anon_sym_U_SQUOTE] = ACTIONS(1207),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1207),
-    [anon_sym_SQUOTE] = ACTIONS(1207),
-    [anon_sym_L_DQUOTE] = ACTIONS(1207),
-    [anon_sym_u_DQUOTE] = ACTIONS(1207),
-    [anon_sym_U_DQUOTE] = ACTIONS(1207),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1207),
-    [anon_sym_DQUOTE] = ACTIONS(1207),
-    [sym_true] = ACTIONS(1205),
-    [sym_false] = ACTIONS(1205),
-    [anon_sym_NULL] = ACTIONS(1205),
-    [anon_sym_nullptr] = ACTIONS(1205),
+    [sym_identifier] = ACTIONS(1214),
+    [aux_sym_preproc_include_token1] = ACTIONS(1214),
+    [aux_sym_preproc_def_token1] = ACTIONS(1214),
+    [aux_sym_preproc_if_token1] = ACTIONS(1214),
+    [aux_sym_preproc_if_token2] = ACTIONS(1214),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1214),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1214),
+    [aux_sym_preproc_else_token1] = ACTIONS(1214),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1214),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1214),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1214),
+    [sym_preproc_directive] = ACTIONS(1214),
+    [anon_sym_LPAREN2] = ACTIONS(1216),
+    [anon_sym_BANG] = ACTIONS(1216),
+    [anon_sym_TILDE] = ACTIONS(1216),
+    [anon_sym_DASH] = ACTIONS(1214),
+    [anon_sym_PLUS] = ACTIONS(1214),
+    [anon_sym_STAR] = ACTIONS(1216),
+    [anon_sym_AMP] = ACTIONS(1216),
+    [anon_sym_SEMI] = ACTIONS(1216),
+    [anon_sym___extension__] = ACTIONS(1214),
+    [anon_sym_typedef] = ACTIONS(1214),
+    [anon_sym_extern] = ACTIONS(1214),
+    [anon_sym___attribute__] = ACTIONS(1214),
+    [anon_sym___attribute] = ACTIONS(1214),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1216),
+    [anon_sym___declspec] = ACTIONS(1214),
+    [anon_sym___cdecl] = ACTIONS(1214),
+    [anon_sym___clrcall] = ACTIONS(1214),
+    [anon_sym___stdcall] = ACTIONS(1214),
+    [anon_sym___fastcall] = ACTIONS(1214),
+    [anon_sym___thiscall] = ACTIONS(1214),
+    [anon_sym___vectorcall] = ACTIONS(1214),
+    [anon_sym_LBRACE] = ACTIONS(1216),
+    [anon_sym_signed] = ACTIONS(1214),
+    [anon_sym_unsigned] = ACTIONS(1214),
+    [anon_sym_long] = ACTIONS(1214),
+    [anon_sym_short] = ACTIONS(1214),
+    [anon_sym_static] = ACTIONS(1214),
+    [anon_sym_auto] = ACTIONS(1214),
+    [anon_sym_register] = ACTIONS(1214),
+    [anon_sym_inline] = ACTIONS(1214),
+    [anon_sym___inline] = ACTIONS(1214),
+    [anon_sym___inline__] = ACTIONS(1214),
+    [anon_sym___forceinline] = ACTIONS(1214),
+    [anon_sym_thread_local] = ACTIONS(1214),
+    [anon_sym___thread] = ACTIONS(1214),
+    [anon_sym_const] = ACTIONS(1214),
+    [anon_sym_constexpr] = ACTIONS(1214),
+    [anon_sym_volatile] = ACTIONS(1214),
+    [anon_sym_restrict] = ACTIONS(1214),
+    [anon_sym___restrict__] = ACTIONS(1214),
+    [anon_sym__Atomic] = ACTIONS(1214),
+    [anon_sym__Noreturn] = ACTIONS(1214),
+    [anon_sym_noreturn] = ACTIONS(1214),
+    [anon_sym__Nonnull] = ACTIONS(1214),
+    [anon_sym_alignas] = ACTIONS(1214),
+    [anon_sym__Alignas] = ACTIONS(1214),
+    [sym_primitive_type] = ACTIONS(1214),
+    [anon_sym_enum] = ACTIONS(1214),
+    [anon_sym_struct] = ACTIONS(1214),
+    [anon_sym_union] = ACTIONS(1214),
+    [anon_sym_if] = ACTIONS(1214),
+    [anon_sym_else] = ACTIONS(1214),
+    [anon_sym_switch] = ACTIONS(1214),
+    [anon_sym_case] = ACTIONS(1214),
+    [anon_sym_default] = ACTIONS(1214),
+    [anon_sym_while] = ACTIONS(1214),
+    [anon_sym_do] = ACTIONS(1214),
+    [anon_sym_for] = ACTIONS(1214),
+    [anon_sym_return] = ACTIONS(1214),
+    [anon_sym_break] = ACTIONS(1214),
+    [anon_sym_continue] = ACTIONS(1214),
+    [anon_sym_goto] = ACTIONS(1214),
+    [anon_sym___try] = ACTIONS(1214),
+    [anon_sym___leave] = ACTIONS(1214),
+    [anon_sym_DASH_DASH] = ACTIONS(1216),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1216),
+    [anon_sym_sizeof] = ACTIONS(1214),
+    [anon_sym___alignof__] = ACTIONS(1214),
+    [anon_sym___alignof] = ACTIONS(1214),
+    [anon_sym__alignof] = ACTIONS(1214),
+    [anon_sym_alignof] = ACTIONS(1214),
+    [anon_sym__Alignof] = ACTIONS(1214),
+    [anon_sym_offsetof] = ACTIONS(1214),
+    [anon_sym__Generic] = ACTIONS(1214),
+    [anon_sym_asm] = ACTIONS(1214),
+    [anon_sym___asm__] = ACTIONS(1214),
+    [anon_sym___asm] = ACTIONS(1214),
+    [sym_number_literal] = ACTIONS(1216),
+    [anon_sym_L_SQUOTE] = ACTIONS(1216),
+    [anon_sym_u_SQUOTE] = ACTIONS(1216),
+    [anon_sym_U_SQUOTE] = ACTIONS(1216),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1216),
+    [anon_sym_SQUOTE] = ACTIONS(1216),
+    [anon_sym_L_DQUOTE] = ACTIONS(1216),
+    [anon_sym_u_DQUOTE] = ACTIONS(1216),
+    [anon_sym_U_DQUOTE] = ACTIONS(1216),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1216),
+    [anon_sym_DQUOTE] = ACTIONS(1216),
+    [sym_true] = ACTIONS(1214),
+    [sym_false] = ACTIONS(1214),
+    [anon_sym_NULL] = ACTIONS(1214),
+    [anon_sym_nullptr] = ACTIONS(1214),
     [sym_comment] = ACTIONS(3),
   },
   [106] = {
-    [sym_identifier] = ACTIONS(1209),
-    [aux_sym_preproc_include_token1] = ACTIONS(1209),
-    [aux_sym_preproc_def_token1] = ACTIONS(1209),
-    [aux_sym_preproc_if_token1] = ACTIONS(1209),
-    [aux_sym_preproc_if_token2] = ACTIONS(1209),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1209),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1209),
-    [aux_sym_preproc_else_token1] = ACTIONS(1209),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1209),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1209),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1209),
-    [sym_preproc_directive] = ACTIONS(1209),
-    [anon_sym_LPAREN2] = ACTIONS(1211),
-    [anon_sym_BANG] = ACTIONS(1211),
-    [anon_sym_TILDE] = ACTIONS(1211),
-    [anon_sym_DASH] = ACTIONS(1209),
-    [anon_sym_PLUS] = ACTIONS(1209),
-    [anon_sym_STAR] = ACTIONS(1211),
-    [anon_sym_AMP] = ACTIONS(1211),
-    [anon_sym_SEMI] = ACTIONS(1211),
-    [anon_sym___extension__] = ACTIONS(1209),
-    [anon_sym_typedef] = ACTIONS(1209),
-    [anon_sym_extern] = ACTIONS(1209),
-    [anon_sym___attribute__] = ACTIONS(1209),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1211),
-    [anon_sym___declspec] = ACTIONS(1209),
-    [anon_sym___cdecl] = ACTIONS(1209),
-    [anon_sym___clrcall] = ACTIONS(1209),
-    [anon_sym___stdcall] = ACTIONS(1209),
-    [anon_sym___fastcall] = ACTIONS(1209),
-    [anon_sym___thiscall] = ACTIONS(1209),
-    [anon_sym___vectorcall] = ACTIONS(1209),
-    [anon_sym_LBRACE] = ACTIONS(1211),
-    [anon_sym_signed] = ACTIONS(1209),
-    [anon_sym_unsigned] = ACTIONS(1209),
-    [anon_sym_long] = ACTIONS(1209),
-    [anon_sym_short] = ACTIONS(1209),
-    [anon_sym_static] = ACTIONS(1209),
-    [anon_sym_auto] = ACTIONS(1209),
-    [anon_sym_register] = ACTIONS(1209),
-    [anon_sym_inline] = ACTIONS(1209),
-    [anon_sym___inline] = ACTIONS(1209),
-    [anon_sym___inline__] = ACTIONS(1209),
-    [anon_sym___forceinline] = ACTIONS(1209),
-    [anon_sym_thread_local] = ACTIONS(1209),
-    [anon_sym___thread] = ACTIONS(1209),
-    [anon_sym_const] = ACTIONS(1209),
-    [anon_sym_constexpr] = ACTIONS(1209),
-    [anon_sym_volatile] = ACTIONS(1209),
-    [anon_sym_restrict] = ACTIONS(1209),
-    [anon_sym___restrict__] = ACTIONS(1209),
-    [anon_sym__Atomic] = ACTIONS(1209),
-    [anon_sym__Noreturn] = ACTIONS(1209),
-    [anon_sym_noreturn] = ACTIONS(1209),
-    [anon_sym__Nonnull] = ACTIONS(1209),
-    [anon_sym_alignas] = ACTIONS(1209),
-    [anon_sym__Alignas] = ACTIONS(1209),
-    [sym_primitive_type] = ACTIONS(1209),
-    [anon_sym_enum] = ACTIONS(1209),
-    [anon_sym_struct] = ACTIONS(1209),
-    [anon_sym_union] = ACTIONS(1209),
-    [anon_sym_if] = ACTIONS(1209),
-    [anon_sym_else] = ACTIONS(1209),
-    [anon_sym_switch] = ACTIONS(1209),
-    [anon_sym_case] = ACTIONS(1209),
-    [anon_sym_default] = ACTIONS(1209),
-    [anon_sym_while] = ACTIONS(1209),
-    [anon_sym_do] = ACTIONS(1209),
-    [anon_sym_for] = ACTIONS(1209),
-    [anon_sym_return] = ACTIONS(1209),
-    [anon_sym_break] = ACTIONS(1209),
-    [anon_sym_continue] = ACTIONS(1209),
-    [anon_sym_goto] = ACTIONS(1209),
-    [anon_sym___try] = ACTIONS(1209),
-    [anon_sym___leave] = ACTIONS(1209),
-    [anon_sym_DASH_DASH] = ACTIONS(1211),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1211),
-    [anon_sym_sizeof] = ACTIONS(1209),
-    [anon_sym___alignof__] = ACTIONS(1209),
-    [anon_sym___alignof] = ACTIONS(1209),
-    [anon_sym__alignof] = ACTIONS(1209),
-    [anon_sym_alignof] = ACTIONS(1209),
-    [anon_sym__Alignof] = ACTIONS(1209),
-    [anon_sym_offsetof] = ACTIONS(1209),
-    [anon_sym__Generic] = ACTIONS(1209),
-    [anon_sym_asm] = ACTIONS(1209),
-    [anon_sym___asm__] = ACTIONS(1209),
-    [anon_sym___asm] = ACTIONS(1209),
-    [sym_number_literal] = ACTIONS(1211),
-    [anon_sym_L_SQUOTE] = ACTIONS(1211),
-    [anon_sym_u_SQUOTE] = ACTIONS(1211),
-    [anon_sym_U_SQUOTE] = ACTIONS(1211),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1211),
-    [anon_sym_SQUOTE] = ACTIONS(1211),
-    [anon_sym_L_DQUOTE] = ACTIONS(1211),
-    [anon_sym_u_DQUOTE] = ACTIONS(1211),
-    [anon_sym_U_DQUOTE] = ACTIONS(1211),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1211),
-    [anon_sym_DQUOTE] = ACTIONS(1211),
-    [sym_true] = ACTIONS(1209),
-    [sym_false] = ACTIONS(1209),
-    [anon_sym_NULL] = ACTIONS(1209),
-    [anon_sym_nullptr] = ACTIONS(1209),
+    [sym_identifier] = ACTIONS(1218),
+    [aux_sym_preproc_include_token1] = ACTIONS(1218),
+    [aux_sym_preproc_def_token1] = ACTIONS(1218),
+    [aux_sym_preproc_if_token1] = ACTIONS(1218),
+    [aux_sym_preproc_if_token2] = ACTIONS(1218),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1218),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1218),
+    [aux_sym_preproc_else_token1] = ACTIONS(1218),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1218),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1218),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1218),
+    [sym_preproc_directive] = ACTIONS(1218),
+    [anon_sym_LPAREN2] = ACTIONS(1220),
+    [anon_sym_BANG] = ACTIONS(1220),
+    [anon_sym_TILDE] = ACTIONS(1220),
+    [anon_sym_DASH] = ACTIONS(1218),
+    [anon_sym_PLUS] = ACTIONS(1218),
+    [anon_sym_STAR] = ACTIONS(1220),
+    [anon_sym_AMP] = ACTIONS(1220),
+    [anon_sym_SEMI] = ACTIONS(1220),
+    [anon_sym___extension__] = ACTIONS(1218),
+    [anon_sym_typedef] = ACTIONS(1218),
+    [anon_sym_extern] = ACTIONS(1218),
+    [anon_sym___attribute__] = ACTIONS(1218),
+    [anon_sym___attribute] = ACTIONS(1218),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1220),
+    [anon_sym___declspec] = ACTIONS(1218),
+    [anon_sym___cdecl] = ACTIONS(1218),
+    [anon_sym___clrcall] = ACTIONS(1218),
+    [anon_sym___stdcall] = ACTIONS(1218),
+    [anon_sym___fastcall] = ACTIONS(1218),
+    [anon_sym___thiscall] = ACTIONS(1218),
+    [anon_sym___vectorcall] = ACTIONS(1218),
+    [anon_sym_LBRACE] = ACTIONS(1220),
+    [anon_sym_signed] = ACTIONS(1218),
+    [anon_sym_unsigned] = ACTIONS(1218),
+    [anon_sym_long] = ACTIONS(1218),
+    [anon_sym_short] = ACTIONS(1218),
+    [anon_sym_static] = ACTIONS(1218),
+    [anon_sym_auto] = ACTIONS(1218),
+    [anon_sym_register] = ACTIONS(1218),
+    [anon_sym_inline] = ACTIONS(1218),
+    [anon_sym___inline] = ACTIONS(1218),
+    [anon_sym___inline__] = ACTIONS(1218),
+    [anon_sym___forceinline] = ACTIONS(1218),
+    [anon_sym_thread_local] = ACTIONS(1218),
+    [anon_sym___thread] = ACTIONS(1218),
+    [anon_sym_const] = ACTIONS(1218),
+    [anon_sym_constexpr] = ACTIONS(1218),
+    [anon_sym_volatile] = ACTIONS(1218),
+    [anon_sym_restrict] = ACTIONS(1218),
+    [anon_sym___restrict__] = ACTIONS(1218),
+    [anon_sym__Atomic] = ACTIONS(1218),
+    [anon_sym__Noreturn] = ACTIONS(1218),
+    [anon_sym_noreturn] = ACTIONS(1218),
+    [anon_sym__Nonnull] = ACTIONS(1218),
+    [anon_sym_alignas] = ACTIONS(1218),
+    [anon_sym__Alignas] = ACTIONS(1218),
+    [sym_primitive_type] = ACTIONS(1218),
+    [anon_sym_enum] = ACTIONS(1218),
+    [anon_sym_struct] = ACTIONS(1218),
+    [anon_sym_union] = ACTIONS(1218),
+    [anon_sym_if] = ACTIONS(1218),
+    [anon_sym_else] = ACTIONS(1218),
+    [anon_sym_switch] = ACTIONS(1218),
+    [anon_sym_case] = ACTIONS(1218),
+    [anon_sym_default] = ACTIONS(1218),
+    [anon_sym_while] = ACTIONS(1218),
+    [anon_sym_do] = ACTIONS(1218),
+    [anon_sym_for] = ACTIONS(1218),
+    [anon_sym_return] = ACTIONS(1218),
+    [anon_sym_break] = ACTIONS(1218),
+    [anon_sym_continue] = ACTIONS(1218),
+    [anon_sym_goto] = ACTIONS(1218),
+    [anon_sym___try] = ACTIONS(1218),
+    [anon_sym___leave] = ACTIONS(1218),
+    [anon_sym_DASH_DASH] = ACTIONS(1220),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1220),
+    [anon_sym_sizeof] = ACTIONS(1218),
+    [anon_sym___alignof__] = ACTIONS(1218),
+    [anon_sym___alignof] = ACTIONS(1218),
+    [anon_sym__alignof] = ACTIONS(1218),
+    [anon_sym_alignof] = ACTIONS(1218),
+    [anon_sym__Alignof] = ACTIONS(1218),
+    [anon_sym_offsetof] = ACTIONS(1218),
+    [anon_sym__Generic] = ACTIONS(1218),
+    [anon_sym_asm] = ACTIONS(1218),
+    [anon_sym___asm__] = ACTIONS(1218),
+    [anon_sym___asm] = ACTIONS(1218),
+    [sym_number_literal] = ACTIONS(1220),
+    [anon_sym_L_SQUOTE] = ACTIONS(1220),
+    [anon_sym_u_SQUOTE] = ACTIONS(1220),
+    [anon_sym_U_SQUOTE] = ACTIONS(1220),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1220),
+    [anon_sym_SQUOTE] = ACTIONS(1220),
+    [anon_sym_L_DQUOTE] = ACTIONS(1220),
+    [anon_sym_u_DQUOTE] = ACTIONS(1220),
+    [anon_sym_U_DQUOTE] = ACTIONS(1220),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1220),
+    [anon_sym_DQUOTE] = ACTIONS(1220),
+    [sym_true] = ACTIONS(1218),
+    [sym_false] = ACTIONS(1218),
+    [anon_sym_NULL] = ACTIONS(1218),
+    [anon_sym_nullptr] = ACTIONS(1218),
     [sym_comment] = ACTIONS(3),
   },
   [107] = {
-    [sym_identifier] = ACTIONS(1213),
-    [aux_sym_preproc_include_token1] = ACTIONS(1213),
-    [aux_sym_preproc_def_token1] = ACTIONS(1213),
-    [aux_sym_preproc_if_token1] = ACTIONS(1213),
-    [aux_sym_preproc_if_token2] = ACTIONS(1213),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1213),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1213),
-    [aux_sym_preproc_else_token1] = ACTIONS(1213),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1213),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1213),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1213),
-    [sym_preproc_directive] = ACTIONS(1213),
-    [anon_sym_LPAREN2] = ACTIONS(1215),
-    [anon_sym_BANG] = ACTIONS(1215),
-    [anon_sym_TILDE] = ACTIONS(1215),
-    [anon_sym_DASH] = ACTIONS(1213),
-    [anon_sym_PLUS] = ACTIONS(1213),
-    [anon_sym_STAR] = ACTIONS(1215),
-    [anon_sym_AMP] = ACTIONS(1215),
-    [anon_sym_SEMI] = ACTIONS(1215),
-    [anon_sym___extension__] = ACTIONS(1213),
-    [anon_sym_typedef] = ACTIONS(1213),
-    [anon_sym_extern] = ACTIONS(1213),
-    [anon_sym___attribute__] = ACTIONS(1213),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1215),
-    [anon_sym___declspec] = ACTIONS(1213),
-    [anon_sym___cdecl] = ACTIONS(1213),
-    [anon_sym___clrcall] = ACTIONS(1213),
-    [anon_sym___stdcall] = ACTIONS(1213),
-    [anon_sym___fastcall] = ACTIONS(1213),
-    [anon_sym___thiscall] = ACTIONS(1213),
-    [anon_sym___vectorcall] = ACTIONS(1213),
-    [anon_sym_LBRACE] = ACTIONS(1215),
-    [anon_sym_signed] = ACTIONS(1213),
-    [anon_sym_unsigned] = ACTIONS(1213),
-    [anon_sym_long] = ACTIONS(1213),
-    [anon_sym_short] = ACTIONS(1213),
-    [anon_sym_static] = ACTIONS(1213),
-    [anon_sym_auto] = ACTIONS(1213),
-    [anon_sym_register] = ACTIONS(1213),
-    [anon_sym_inline] = ACTIONS(1213),
-    [anon_sym___inline] = ACTIONS(1213),
-    [anon_sym___inline__] = ACTIONS(1213),
-    [anon_sym___forceinline] = ACTIONS(1213),
-    [anon_sym_thread_local] = ACTIONS(1213),
-    [anon_sym___thread] = ACTIONS(1213),
-    [anon_sym_const] = ACTIONS(1213),
-    [anon_sym_constexpr] = ACTIONS(1213),
-    [anon_sym_volatile] = ACTIONS(1213),
-    [anon_sym_restrict] = ACTIONS(1213),
-    [anon_sym___restrict__] = ACTIONS(1213),
-    [anon_sym__Atomic] = ACTIONS(1213),
-    [anon_sym__Noreturn] = ACTIONS(1213),
-    [anon_sym_noreturn] = ACTIONS(1213),
-    [anon_sym__Nonnull] = ACTIONS(1213),
-    [anon_sym_alignas] = ACTIONS(1213),
-    [anon_sym__Alignas] = ACTIONS(1213),
-    [sym_primitive_type] = ACTIONS(1213),
-    [anon_sym_enum] = ACTIONS(1213),
-    [anon_sym_struct] = ACTIONS(1213),
-    [anon_sym_union] = ACTIONS(1213),
-    [anon_sym_if] = ACTIONS(1213),
-    [anon_sym_else] = ACTIONS(1213),
-    [anon_sym_switch] = ACTIONS(1213),
-    [anon_sym_case] = ACTIONS(1213),
-    [anon_sym_default] = ACTIONS(1213),
-    [anon_sym_while] = ACTIONS(1213),
-    [anon_sym_do] = ACTIONS(1213),
-    [anon_sym_for] = ACTIONS(1213),
-    [anon_sym_return] = ACTIONS(1213),
-    [anon_sym_break] = ACTIONS(1213),
-    [anon_sym_continue] = ACTIONS(1213),
-    [anon_sym_goto] = ACTIONS(1213),
-    [anon_sym___try] = ACTIONS(1213),
-    [anon_sym___leave] = ACTIONS(1213),
-    [anon_sym_DASH_DASH] = ACTIONS(1215),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1215),
-    [anon_sym_sizeof] = ACTIONS(1213),
-    [anon_sym___alignof__] = ACTIONS(1213),
-    [anon_sym___alignof] = ACTIONS(1213),
-    [anon_sym__alignof] = ACTIONS(1213),
-    [anon_sym_alignof] = ACTIONS(1213),
-    [anon_sym__Alignof] = ACTIONS(1213),
-    [anon_sym_offsetof] = ACTIONS(1213),
-    [anon_sym__Generic] = ACTIONS(1213),
-    [anon_sym_asm] = ACTIONS(1213),
-    [anon_sym___asm__] = ACTIONS(1213),
-    [anon_sym___asm] = ACTIONS(1213),
-    [sym_number_literal] = ACTIONS(1215),
-    [anon_sym_L_SQUOTE] = ACTIONS(1215),
-    [anon_sym_u_SQUOTE] = ACTIONS(1215),
-    [anon_sym_U_SQUOTE] = ACTIONS(1215),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1215),
-    [anon_sym_SQUOTE] = ACTIONS(1215),
-    [anon_sym_L_DQUOTE] = ACTIONS(1215),
-    [anon_sym_u_DQUOTE] = ACTIONS(1215),
-    [anon_sym_U_DQUOTE] = ACTIONS(1215),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1215),
-    [anon_sym_DQUOTE] = ACTIONS(1215),
-    [sym_true] = ACTIONS(1213),
-    [sym_false] = ACTIONS(1213),
-    [anon_sym_NULL] = ACTIONS(1213),
-    [anon_sym_nullptr] = ACTIONS(1213),
+    [sym_identifier] = ACTIONS(1222),
+    [aux_sym_preproc_include_token1] = ACTIONS(1222),
+    [aux_sym_preproc_def_token1] = ACTIONS(1222),
+    [aux_sym_preproc_if_token1] = ACTIONS(1222),
+    [aux_sym_preproc_if_token2] = ACTIONS(1222),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1222),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1222),
+    [aux_sym_preproc_else_token1] = ACTIONS(1222),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1222),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1222),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1222),
+    [sym_preproc_directive] = ACTIONS(1222),
+    [anon_sym_LPAREN2] = ACTIONS(1224),
+    [anon_sym_BANG] = ACTIONS(1224),
+    [anon_sym_TILDE] = ACTIONS(1224),
+    [anon_sym_DASH] = ACTIONS(1222),
+    [anon_sym_PLUS] = ACTIONS(1222),
+    [anon_sym_STAR] = ACTIONS(1224),
+    [anon_sym_AMP] = ACTIONS(1224),
+    [anon_sym_SEMI] = ACTIONS(1224),
+    [anon_sym___extension__] = ACTIONS(1222),
+    [anon_sym_typedef] = ACTIONS(1222),
+    [anon_sym_extern] = ACTIONS(1222),
+    [anon_sym___attribute__] = ACTIONS(1222),
+    [anon_sym___attribute] = ACTIONS(1222),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1224),
+    [anon_sym___declspec] = ACTIONS(1222),
+    [anon_sym___cdecl] = ACTIONS(1222),
+    [anon_sym___clrcall] = ACTIONS(1222),
+    [anon_sym___stdcall] = ACTIONS(1222),
+    [anon_sym___fastcall] = ACTIONS(1222),
+    [anon_sym___thiscall] = ACTIONS(1222),
+    [anon_sym___vectorcall] = ACTIONS(1222),
+    [anon_sym_LBRACE] = ACTIONS(1224),
+    [anon_sym_signed] = ACTIONS(1222),
+    [anon_sym_unsigned] = ACTIONS(1222),
+    [anon_sym_long] = ACTIONS(1222),
+    [anon_sym_short] = ACTIONS(1222),
+    [anon_sym_static] = ACTIONS(1222),
+    [anon_sym_auto] = ACTIONS(1222),
+    [anon_sym_register] = ACTIONS(1222),
+    [anon_sym_inline] = ACTIONS(1222),
+    [anon_sym___inline] = ACTIONS(1222),
+    [anon_sym___inline__] = ACTIONS(1222),
+    [anon_sym___forceinline] = ACTIONS(1222),
+    [anon_sym_thread_local] = ACTIONS(1222),
+    [anon_sym___thread] = ACTIONS(1222),
+    [anon_sym_const] = ACTIONS(1222),
+    [anon_sym_constexpr] = ACTIONS(1222),
+    [anon_sym_volatile] = ACTIONS(1222),
+    [anon_sym_restrict] = ACTIONS(1222),
+    [anon_sym___restrict__] = ACTIONS(1222),
+    [anon_sym__Atomic] = ACTIONS(1222),
+    [anon_sym__Noreturn] = ACTIONS(1222),
+    [anon_sym_noreturn] = ACTIONS(1222),
+    [anon_sym__Nonnull] = ACTIONS(1222),
+    [anon_sym_alignas] = ACTIONS(1222),
+    [anon_sym__Alignas] = ACTIONS(1222),
+    [sym_primitive_type] = ACTIONS(1222),
+    [anon_sym_enum] = ACTIONS(1222),
+    [anon_sym_struct] = ACTIONS(1222),
+    [anon_sym_union] = ACTIONS(1222),
+    [anon_sym_if] = ACTIONS(1222),
+    [anon_sym_else] = ACTIONS(1222),
+    [anon_sym_switch] = ACTIONS(1222),
+    [anon_sym_case] = ACTIONS(1222),
+    [anon_sym_default] = ACTIONS(1222),
+    [anon_sym_while] = ACTIONS(1222),
+    [anon_sym_do] = ACTIONS(1222),
+    [anon_sym_for] = ACTIONS(1222),
+    [anon_sym_return] = ACTIONS(1222),
+    [anon_sym_break] = ACTIONS(1222),
+    [anon_sym_continue] = ACTIONS(1222),
+    [anon_sym_goto] = ACTIONS(1222),
+    [anon_sym___try] = ACTIONS(1222),
+    [anon_sym___leave] = ACTIONS(1222),
+    [anon_sym_DASH_DASH] = ACTIONS(1224),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1224),
+    [anon_sym_sizeof] = ACTIONS(1222),
+    [anon_sym___alignof__] = ACTIONS(1222),
+    [anon_sym___alignof] = ACTIONS(1222),
+    [anon_sym__alignof] = ACTIONS(1222),
+    [anon_sym_alignof] = ACTIONS(1222),
+    [anon_sym__Alignof] = ACTIONS(1222),
+    [anon_sym_offsetof] = ACTIONS(1222),
+    [anon_sym__Generic] = ACTIONS(1222),
+    [anon_sym_asm] = ACTIONS(1222),
+    [anon_sym___asm__] = ACTIONS(1222),
+    [anon_sym___asm] = ACTIONS(1222),
+    [sym_number_literal] = ACTIONS(1224),
+    [anon_sym_L_SQUOTE] = ACTIONS(1224),
+    [anon_sym_u_SQUOTE] = ACTIONS(1224),
+    [anon_sym_U_SQUOTE] = ACTIONS(1224),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1224),
+    [anon_sym_SQUOTE] = ACTIONS(1224),
+    [anon_sym_L_DQUOTE] = ACTIONS(1224),
+    [anon_sym_u_DQUOTE] = ACTIONS(1224),
+    [anon_sym_U_DQUOTE] = ACTIONS(1224),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1224),
+    [anon_sym_DQUOTE] = ACTIONS(1224),
+    [sym_true] = ACTIONS(1222),
+    [sym_false] = ACTIONS(1222),
+    [anon_sym_NULL] = ACTIONS(1222),
+    [anon_sym_nullptr] = ACTIONS(1222),
     [sym_comment] = ACTIONS(3),
   },
   [108] = {
-    [sym_identifier] = ACTIONS(1217),
-    [aux_sym_preproc_include_token1] = ACTIONS(1217),
-    [aux_sym_preproc_def_token1] = ACTIONS(1217),
-    [aux_sym_preproc_if_token1] = ACTIONS(1217),
-    [aux_sym_preproc_if_token2] = ACTIONS(1217),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1217),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1217),
-    [aux_sym_preproc_else_token1] = ACTIONS(1217),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1217),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1217),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1217),
-    [sym_preproc_directive] = ACTIONS(1217),
-    [anon_sym_LPAREN2] = ACTIONS(1219),
-    [anon_sym_BANG] = ACTIONS(1219),
-    [anon_sym_TILDE] = ACTIONS(1219),
-    [anon_sym_DASH] = ACTIONS(1217),
-    [anon_sym_PLUS] = ACTIONS(1217),
-    [anon_sym_STAR] = ACTIONS(1219),
-    [anon_sym_AMP] = ACTIONS(1219),
-    [anon_sym_SEMI] = ACTIONS(1219),
-    [anon_sym___extension__] = ACTIONS(1217),
-    [anon_sym_typedef] = ACTIONS(1217),
-    [anon_sym_extern] = ACTIONS(1217),
-    [anon_sym___attribute__] = ACTIONS(1217),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1219),
-    [anon_sym___declspec] = ACTIONS(1217),
-    [anon_sym___cdecl] = ACTIONS(1217),
-    [anon_sym___clrcall] = ACTIONS(1217),
-    [anon_sym___stdcall] = ACTIONS(1217),
-    [anon_sym___fastcall] = ACTIONS(1217),
-    [anon_sym___thiscall] = ACTIONS(1217),
-    [anon_sym___vectorcall] = ACTIONS(1217),
-    [anon_sym_LBRACE] = ACTIONS(1219),
-    [anon_sym_signed] = ACTIONS(1217),
-    [anon_sym_unsigned] = ACTIONS(1217),
-    [anon_sym_long] = ACTIONS(1217),
-    [anon_sym_short] = ACTIONS(1217),
-    [anon_sym_static] = ACTIONS(1217),
-    [anon_sym_auto] = ACTIONS(1217),
-    [anon_sym_register] = ACTIONS(1217),
-    [anon_sym_inline] = ACTIONS(1217),
-    [anon_sym___inline] = ACTIONS(1217),
-    [anon_sym___inline__] = ACTIONS(1217),
-    [anon_sym___forceinline] = ACTIONS(1217),
-    [anon_sym_thread_local] = ACTIONS(1217),
-    [anon_sym___thread] = ACTIONS(1217),
-    [anon_sym_const] = ACTIONS(1217),
-    [anon_sym_constexpr] = ACTIONS(1217),
-    [anon_sym_volatile] = ACTIONS(1217),
-    [anon_sym_restrict] = ACTIONS(1217),
-    [anon_sym___restrict__] = ACTIONS(1217),
-    [anon_sym__Atomic] = ACTIONS(1217),
-    [anon_sym__Noreturn] = ACTIONS(1217),
-    [anon_sym_noreturn] = ACTIONS(1217),
-    [anon_sym__Nonnull] = ACTIONS(1217),
-    [anon_sym_alignas] = ACTIONS(1217),
-    [anon_sym__Alignas] = ACTIONS(1217),
-    [sym_primitive_type] = ACTIONS(1217),
-    [anon_sym_enum] = ACTIONS(1217),
-    [anon_sym_struct] = ACTIONS(1217),
-    [anon_sym_union] = ACTIONS(1217),
-    [anon_sym_if] = ACTIONS(1217),
-    [anon_sym_else] = ACTIONS(1217),
-    [anon_sym_switch] = ACTIONS(1217),
-    [anon_sym_case] = ACTIONS(1217),
-    [anon_sym_default] = ACTIONS(1217),
-    [anon_sym_while] = ACTIONS(1217),
-    [anon_sym_do] = ACTIONS(1217),
-    [anon_sym_for] = ACTIONS(1217),
-    [anon_sym_return] = ACTIONS(1217),
-    [anon_sym_break] = ACTIONS(1217),
-    [anon_sym_continue] = ACTIONS(1217),
-    [anon_sym_goto] = ACTIONS(1217),
-    [anon_sym___try] = ACTIONS(1217),
-    [anon_sym___leave] = ACTIONS(1217),
-    [anon_sym_DASH_DASH] = ACTIONS(1219),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1219),
-    [anon_sym_sizeof] = ACTIONS(1217),
-    [anon_sym___alignof__] = ACTIONS(1217),
-    [anon_sym___alignof] = ACTIONS(1217),
-    [anon_sym__alignof] = ACTIONS(1217),
-    [anon_sym_alignof] = ACTIONS(1217),
-    [anon_sym__Alignof] = ACTIONS(1217),
-    [anon_sym_offsetof] = ACTIONS(1217),
-    [anon_sym__Generic] = ACTIONS(1217),
-    [anon_sym_asm] = ACTIONS(1217),
-    [anon_sym___asm__] = ACTIONS(1217),
-    [anon_sym___asm] = ACTIONS(1217),
-    [sym_number_literal] = ACTIONS(1219),
-    [anon_sym_L_SQUOTE] = ACTIONS(1219),
-    [anon_sym_u_SQUOTE] = ACTIONS(1219),
-    [anon_sym_U_SQUOTE] = ACTIONS(1219),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1219),
-    [anon_sym_SQUOTE] = ACTIONS(1219),
-    [anon_sym_L_DQUOTE] = ACTIONS(1219),
-    [anon_sym_u_DQUOTE] = ACTIONS(1219),
-    [anon_sym_U_DQUOTE] = ACTIONS(1219),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1219),
-    [anon_sym_DQUOTE] = ACTIONS(1219),
-    [sym_true] = ACTIONS(1217),
-    [sym_false] = ACTIONS(1217),
-    [anon_sym_NULL] = ACTIONS(1217),
-    [anon_sym_nullptr] = ACTIONS(1217),
+    [sym_identifier] = ACTIONS(1226),
+    [aux_sym_preproc_include_token1] = ACTIONS(1226),
+    [aux_sym_preproc_def_token1] = ACTIONS(1226),
+    [aux_sym_preproc_if_token1] = ACTIONS(1226),
+    [aux_sym_preproc_if_token2] = ACTIONS(1226),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1226),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1226),
+    [aux_sym_preproc_else_token1] = ACTIONS(1226),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1226),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1226),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1226),
+    [sym_preproc_directive] = ACTIONS(1226),
+    [anon_sym_LPAREN2] = ACTIONS(1228),
+    [anon_sym_BANG] = ACTIONS(1228),
+    [anon_sym_TILDE] = ACTIONS(1228),
+    [anon_sym_DASH] = ACTIONS(1226),
+    [anon_sym_PLUS] = ACTIONS(1226),
+    [anon_sym_STAR] = ACTIONS(1228),
+    [anon_sym_AMP] = ACTIONS(1228),
+    [anon_sym_SEMI] = ACTIONS(1228),
+    [anon_sym___extension__] = ACTIONS(1226),
+    [anon_sym_typedef] = ACTIONS(1226),
+    [anon_sym_extern] = ACTIONS(1226),
+    [anon_sym___attribute__] = ACTIONS(1226),
+    [anon_sym___attribute] = ACTIONS(1226),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1228),
+    [anon_sym___declspec] = ACTIONS(1226),
+    [anon_sym___cdecl] = ACTIONS(1226),
+    [anon_sym___clrcall] = ACTIONS(1226),
+    [anon_sym___stdcall] = ACTIONS(1226),
+    [anon_sym___fastcall] = ACTIONS(1226),
+    [anon_sym___thiscall] = ACTIONS(1226),
+    [anon_sym___vectorcall] = ACTIONS(1226),
+    [anon_sym_LBRACE] = ACTIONS(1228),
+    [anon_sym_signed] = ACTIONS(1226),
+    [anon_sym_unsigned] = ACTIONS(1226),
+    [anon_sym_long] = ACTIONS(1226),
+    [anon_sym_short] = ACTIONS(1226),
+    [anon_sym_static] = ACTIONS(1226),
+    [anon_sym_auto] = ACTIONS(1226),
+    [anon_sym_register] = ACTIONS(1226),
+    [anon_sym_inline] = ACTIONS(1226),
+    [anon_sym___inline] = ACTIONS(1226),
+    [anon_sym___inline__] = ACTIONS(1226),
+    [anon_sym___forceinline] = ACTIONS(1226),
+    [anon_sym_thread_local] = ACTIONS(1226),
+    [anon_sym___thread] = ACTIONS(1226),
+    [anon_sym_const] = ACTIONS(1226),
+    [anon_sym_constexpr] = ACTIONS(1226),
+    [anon_sym_volatile] = ACTIONS(1226),
+    [anon_sym_restrict] = ACTIONS(1226),
+    [anon_sym___restrict__] = ACTIONS(1226),
+    [anon_sym__Atomic] = ACTIONS(1226),
+    [anon_sym__Noreturn] = ACTIONS(1226),
+    [anon_sym_noreturn] = ACTIONS(1226),
+    [anon_sym__Nonnull] = ACTIONS(1226),
+    [anon_sym_alignas] = ACTIONS(1226),
+    [anon_sym__Alignas] = ACTIONS(1226),
+    [sym_primitive_type] = ACTIONS(1226),
+    [anon_sym_enum] = ACTIONS(1226),
+    [anon_sym_struct] = ACTIONS(1226),
+    [anon_sym_union] = ACTIONS(1226),
+    [anon_sym_if] = ACTIONS(1226),
+    [anon_sym_else] = ACTIONS(1226),
+    [anon_sym_switch] = ACTIONS(1226),
+    [anon_sym_case] = ACTIONS(1226),
+    [anon_sym_default] = ACTIONS(1226),
+    [anon_sym_while] = ACTIONS(1226),
+    [anon_sym_do] = ACTIONS(1226),
+    [anon_sym_for] = ACTIONS(1226),
+    [anon_sym_return] = ACTIONS(1226),
+    [anon_sym_break] = ACTIONS(1226),
+    [anon_sym_continue] = ACTIONS(1226),
+    [anon_sym_goto] = ACTIONS(1226),
+    [anon_sym___try] = ACTIONS(1226),
+    [anon_sym___leave] = ACTIONS(1226),
+    [anon_sym_DASH_DASH] = ACTIONS(1228),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1228),
+    [anon_sym_sizeof] = ACTIONS(1226),
+    [anon_sym___alignof__] = ACTIONS(1226),
+    [anon_sym___alignof] = ACTIONS(1226),
+    [anon_sym__alignof] = ACTIONS(1226),
+    [anon_sym_alignof] = ACTIONS(1226),
+    [anon_sym__Alignof] = ACTIONS(1226),
+    [anon_sym_offsetof] = ACTIONS(1226),
+    [anon_sym__Generic] = ACTIONS(1226),
+    [anon_sym_asm] = ACTIONS(1226),
+    [anon_sym___asm__] = ACTIONS(1226),
+    [anon_sym___asm] = ACTIONS(1226),
+    [sym_number_literal] = ACTIONS(1228),
+    [anon_sym_L_SQUOTE] = ACTIONS(1228),
+    [anon_sym_u_SQUOTE] = ACTIONS(1228),
+    [anon_sym_U_SQUOTE] = ACTIONS(1228),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1228),
+    [anon_sym_SQUOTE] = ACTIONS(1228),
+    [anon_sym_L_DQUOTE] = ACTIONS(1228),
+    [anon_sym_u_DQUOTE] = ACTIONS(1228),
+    [anon_sym_U_DQUOTE] = ACTIONS(1228),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1228),
+    [anon_sym_DQUOTE] = ACTIONS(1228),
+    [sym_true] = ACTIONS(1226),
+    [sym_false] = ACTIONS(1226),
+    [anon_sym_NULL] = ACTIONS(1226),
+    [anon_sym_nullptr] = ACTIONS(1226),
     [sym_comment] = ACTIONS(3),
   },
   [109] = {
-    [sym_identifier] = ACTIONS(1221),
-    [aux_sym_preproc_include_token1] = ACTIONS(1221),
-    [aux_sym_preproc_def_token1] = ACTIONS(1221),
-    [aux_sym_preproc_if_token1] = ACTIONS(1221),
-    [aux_sym_preproc_if_token2] = ACTIONS(1221),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1221),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1221),
-    [aux_sym_preproc_else_token1] = ACTIONS(1221),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1221),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1221),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1221),
-    [sym_preproc_directive] = ACTIONS(1221),
-    [anon_sym_LPAREN2] = ACTIONS(1223),
-    [anon_sym_BANG] = ACTIONS(1223),
-    [anon_sym_TILDE] = ACTIONS(1223),
-    [anon_sym_DASH] = ACTIONS(1221),
-    [anon_sym_PLUS] = ACTIONS(1221),
-    [anon_sym_STAR] = ACTIONS(1223),
-    [anon_sym_AMP] = ACTIONS(1223),
-    [anon_sym_SEMI] = ACTIONS(1223),
-    [anon_sym___extension__] = ACTIONS(1221),
-    [anon_sym_typedef] = ACTIONS(1221),
-    [anon_sym_extern] = ACTIONS(1221),
-    [anon_sym___attribute__] = ACTIONS(1221),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1223),
-    [anon_sym___declspec] = ACTIONS(1221),
-    [anon_sym___cdecl] = ACTIONS(1221),
-    [anon_sym___clrcall] = ACTIONS(1221),
-    [anon_sym___stdcall] = ACTIONS(1221),
-    [anon_sym___fastcall] = ACTIONS(1221),
-    [anon_sym___thiscall] = ACTIONS(1221),
-    [anon_sym___vectorcall] = ACTIONS(1221),
-    [anon_sym_LBRACE] = ACTIONS(1223),
-    [anon_sym_signed] = ACTIONS(1221),
-    [anon_sym_unsigned] = ACTIONS(1221),
-    [anon_sym_long] = ACTIONS(1221),
-    [anon_sym_short] = ACTIONS(1221),
-    [anon_sym_static] = ACTIONS(1221),
-    [anon_sym_auto] = ACTIONS(1221),
-    [anon_sym_register] = ACTIONS(1221),
-    [anon_sym_inline] = ACTIONS(1221),
-    [anon_sym___inline] = ACTIONS(1221),
-    [anon_sym___inline__] = ACTIONS(1221),
-    [anon_sym___forceinline] = ACTIONS(1221),
-    [anon_sym_thread_local] = ACTIONS(1221),
-    [anon_sym___thread] = ACTIONS(1221),
-    [anon_sym_const] = ACTIONS(1221),
-    [anon_sym_constexpr] = ACTIONS(1221),
-    [anon_sym_volatile] = ACTIONS(1221),
-    [anon_sym_restrict] = ACTIONS(1221),
-    [anon_sym___restrict__] = ACTIONS(1221),
-    [anon_sym__Atomic] = ACTIONS(1221),
-    [anon_sym__Noreturn] = ACTIONS(1221),
-    [anon_sym_noreturn] = ACTIONS(1221),
-    [anon_sym__Nonnull] = ACTIONS(1221),
-    [anon_sym_alignas] = ACTIONS(1221),
-    [anon_sym__Alignas] = ACTIONS(1221),
-    [sym_primitive_type] = ACTIONS(1221),
-    [anon_sym_enum] = ACTIONS(1221),
-    [anon_sym_struct] = ACTIONS(1221),
-    [anon_sym_union] = ACTIONS(1221),
-    [anon_sym_if] = ACTIONS(1221),
-    [anon_sym_else] = ACTIONS(1221),
-    [anon_sym_switch] = ACTIONS(1221),
-    [anon_sym_case] = ACTIONS(1221),
-    [anon_sym_default] = ACTIONS(1221),
-    [anon_sym_while] = ACTIONS(1221),
-    [anon_sym_do] = ACTIONS(1221),
-    [anon_sym_for] = ACTIONS(1221),
-    [anon_sym_return] = ACTIONS(1221),
-    [anon_sym_break] = ACTIONS(1221),
-    [anon_sym_continue] = ACTIONS(1221),
-    [anon_sym_goto] = ACTIONS(1221),
-    [anon_sym___try] = ACTIONS(1221),
-    [anon_sym___leave] = ACTIONS(1221),
-    [anon_sym_DASH_DASH] = ACTIONS(1223),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
-    [anon_sym_sizeof] = ACTIONS(1221),
-    [anon_sym___alignof__] = ACTIONS(1221),
-    [anon_sym___alignof] = ACTIONS(1221),
-    [anon_sym__alignof] = ACTIONS(1221),
-    [anon_sym_alignof] = ACTIONS(1221),
-    [anon_sym__Alignof] = ACTIONS(1221),
-    [anon_sym_offsetof] = ACTIONS(1221),
-    [anon_sym__Generic] = ACTIONS(1221),
-    [anon_sym_asm] = ACTIONS(1221),
-    [anon_sym___asm__] = ACTIONS(1221),
-    [anon_sym___asm] = ACTIONS(1221),
-    [sym_number_literal] = ACTIONS(1223),
-    [anon_sym_L_SQUOTE] = ACTIONS(1223),
-    [anon_sym_u_SQUOTE] = ACTIONS(1223),
-    [anon_sym_U_SQUOTE] = ACTIONS(1223),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1223),
-    [anon_sym_SQUOTE] = ACTIONS(1223),
-    [anon_sym_L_DQUOTE] = ACTIONS(1223),
-    [anon_sym_u_DQUOTE] = ACTIONS(1223),
-    [anon_sym_U_DQUOTE] = ACTIONS(1223),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1223),
-    [anon_sym_DQUOTE] = ACTIONS(1223),
-    [sym_true] = ACTIONS(1221),
-    [sym_false] = ACTIONS(1221),
-    [anon_sym_NULL] = ACTIONS(1221),
-    [anon_sym_nullptr] = ACTIONS(1221),
+    [sym_identifier] = ACTIONS(1230),
+    [aux_sym_preproc_include_token1] = ACTIONS(1230),
+    [aux_sym_preproc_def_token1] = ACTIONS(1230),
+    [aux_sym_preproc_if_token1] = ACTIONS(1230),
+    [aux_sym_preproc_if_token2] = ACTIONS(1230),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1230),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1230),
+    [aux_sym_preproc_else_token1] = ACTIONS(1230),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1230),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1230),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1230),
+    [sym_preproc_directive] = ACTIONS(1230),
+    [anon_sym_LPAREN2] = ACTIONS(1232),
+    [anon_sym_BANG] = ACTIONS(1232),
+    [anon_sym_TILDE] = ACTIONS(1232),
+    [anon_sym_DASH] = ACTIONS(1230),
+    [anon_sym_PLUS] = ACTIONS(1230),
+    [anon_sym_STAR] = ACTIONS(1232),
+    [anon_sym_AMP] = ACTIONS(1232),
+    [anon_sym_SEMI] = ACTIONS(1232),
+    [anon_sym___extension__] = ACTIONS(1230),
+    [anon_sym_typedef] = ACTIONS(1230),
+    [anon_sym_extern] = ACTIONS(1230),
+    [anon_sym___attribute__] = ACTIONS(1230),
+    [anon_sym___attribute] = ACTIONS(1230),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1232),
+    [anon_sym___declspec] = ACTIONS(1230),
+    [anon_sym___cdecl] = ACTIONS(1230),
+    [anon_sym___clrcall] = ACTIONS(1230),
+    [anon_sym___stdcall] = ACTIONS(1230),
+    [anon_sym___fastcall] = ACTIONS(1230),
+    [anon_sym___thiscall] = ACTIONS(1230),
+    [anon_sym___vectorcall] = ACTIONS(1230),
+    [anon_sym_LBRACE] = ACTIONS(1232),
+    [anon_sym_signed] = ACTIONS(1230),
+    [anon_sym_unsigned] = ACTIONS(1230),
+    [anon_sym_long] = ACTIONS(1230),
+    [anon_sym_short] = ACTIONS(1230),
+    [anon_sym_static] = ACTIONS(1230),
+    [anon_sym_auto] = ACTIONS(1230),
+    [anon_sym_register] = ACTIONS(1230),
+    [anon_sym_inline] = ACTIONS(1230),
+    [anon_sym___inline] = ACTIONS(1230),
+    [anon_sym___inline__] = ACTIONS(1230),
+    [anon_sym___forceinline] = ACTIONS(1230),
+    [anon_sym_thread_local] = ACTIONS(1230),
+    [anon_sym___thread] = ACTIONS(1230),
+    [anon_sym_const] = ACTIONS(1230),
+    [anon_sym_constexpr] = ACTIONS(1230),
+    [anon_sym_volatile] = ACTIONS(1230),
+    [anon_sym_restrict] = ACTIONS(1230),
+    [anon_sym___restrict__] = ACTIONS(1230),
+    [anon_sym__Atomic] = ACTIONS(1230),
+    [anon_sym__Noreturn] = ACTIONS(1230),
+    [anon_sym_noreturn] = ACTIONS(1230),
+    [anon_sym__Nonnull] = ACTIONS(1230),
+    [anon_sym_alignas] = ACTIONS(1230),
+    [anon_sym__Alignas] = ACTIONS(1230),
+    [sym_primitive_type] = ACTIONS(1230),
+    [anon_sym_enum] = ACTIONS(1230),
+    [anon_sym_struct] = ACTIONS(1230),
+    [anon_sym_union] = ACTIONS(1230),
+    [anon_sym_if] = ACTIONS(1230),
+    [anon_sym_else] = ACTIONS(1230),
+    [anon_sym_switch] = ACTIONS(1230),
+    [anon_sym_case] = ACTIONS(1230),
+    [anon_sym_default] = ACTIONS(1230),
+    [anon_sym_while] = ACTIONS(1230),
+    [anon_sym_do] = ACTIONS(1230),
+    [anon_sym_for] = ACTIONS(1230),
+    [anon_sym_return] = ACTIONS(1230),
+    [anon_sym_break] = ACTIONS(1230),
+    [anon_sym_continue] = ACTIONS(1230),
+    [anon_sym_goto] = ACTIONS(1230),
+    [anon_sym___try] = ACTIONS(1230),
+    [anon_sym___leave] = ACTIONS(1230),
+    [anon_sym_DASH_DASH] = ACTIONS(1232),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1232),
+    [anon_sym_sizeof] = ACTIONS(1230),
+    [anon_sym___alignof__] = ACTIONS(1230),
+    [anon_sym___alignof] = ACTIONS(1230),
+    [anon_sym__alignof] = ACTIONS(1230),
+    [anon_sym_alignof] = ACTIONS(1230),
+    [anon_sym__Alignof] = ACTIONS(1230),
+    [anon_sym_offsetof] = ACTIONS(1230),
+    [anon_sym__Generic] = ACTIONS(1230),
+    [anon_sym_asm] = ACTIONS(1230),
+    [anon_sym___asm__] = ACTIONS(1230),
+    [anon_sym___asm] = ACTIONS(1230),
+    [sym_number_literal] = ACTIONS(1232),
+    [anon_sym_L_SQUOTE] = ACTIONS(1232),
+    [anon_sym_u_SQUOTE] = ACTIONS(1232),
+    [anon_sym_U_SQUOTE] = ACTIONS(1232),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1232),
+    [anon_sym_SQUOTE] = ACTIONS(1232),
+    [anon_sym_L_DQUOTE] = ACTIONS(1232),
+    [anon_sym_u_DQUOTE] = ACTIONS(1232),
+    [anon_sym_U_DQUOTE] = ACTIONS(1232),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1232),
+    [anon_sym_DQUOTE] = ACTIONS(1232),
+    [sym_true] = ACTIONS(1230),
+    [sym_false] = ACTIONS(1230),
+    [anon_sym_NULL] = ACTIONS(1230),
+    [anon_sym_nullptr] = ACTIONS(1230),
     [sym_comment] = ACTIONS(3),
   },
   [110] = {
-    [sym_identifier] = ACTIONS(1225),
-    [aux_sym_preproc_include_token1] = ACTIONS(1225),
-    [aux_sym_preproc_def_token1] = ACTIONS(1225),
-    [aux_sym_preproc_if_token1] = ACTIONS(1225),
-    [aux_sym_preproc_if_token2] = ACTIONS(1225),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1225),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1225),
-    [aux_sym_preproc_else_token1] = ACTIONS(1225),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1225),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1225),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1225),
-    [sym_preproc_directive] = ACTIONS(1225),
-    [anon_sym_LPAREN2] = ACTIONS(1227),
-    [anon_sym_BANG] = ACTIONS(1227),
-    [anon_sym_TILDE] = ACTIONS(1227),
-    [anon_sym_DASH] = ACTIONS(1225),
-    [anon_sym_PLUS] = ACTIONS(1225),
-    [anon_sym_STAR] = ACTIONS(1227),
-    [anon_sym_AMP] = ACTIONS(1227),
-    [anon_sym_SEMI] = ACTIONS(1227),
-    [anon_sym___extension__] = ACTIONS(1225),
-    [anon_sym_typedef] = ACTIONS(1225),
-    [anon_sym_extern] = ACTIONS(1225),
-    [anon_sym___attribute__] = ACTIONS(1225),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1227),
-    [anon_sym___declspec] = ACTIONS(1225),
-    [anon_sym___cdecl] = ACTIONS(1225),
-    [anon_sym___clrcall] = ACTIONS(1225),
-    [anon_sym___stdcall] = ACTIONS(1225),
-    [anon_sym___fastcall] = ACTIONS(1225),
-    [anon_sym___thiscall] = ACTIONS(1225),
-    [anon_sym___vectorcall] = ACTIONS(1225),
-    [anon_sym_LBRACE] = ACTIONS(1227),
-    [anon_sym_signed] = ACTIONS(1225),
-    [anon_sym_unsigned] = ACTIONS(1225),
-    [anon_sym_long] = ACTIONS(1225),
-    [anon_sym_short] = ACTIONS(1225),
-    [anon_sym_static] = ACTIONS(1225),
-    [anon_sym_auto] = ACTIONS(1225),
-    [anon_sym_register] = ACTIONS(1225),
-    [anon_sym_inline] = ACTIONS(1225),
-    [anon_sym___inline] = ACTIONS(1225),
-    [anon_sym___inline__] = ACTIONS(1225),
-    [anon_sym___forceinline] = ACTIONS(1225),
-    [anon_sym_thread_local] = ACTIONS(1225),
-    [anon_sym___thread] = ACTIONS(1225),
-    [anon_sym_const] = ACTIONS(1225),
-    [anon_sym_constexpr] = ACTIONS(1225),
-    [anon_sym_volatile] = ACTIONS(1225),
-    [anon_sym_restrict] = ACTIONS(1225),
-    [anon_sym___restrict__] = ACTIONS(1225),
-    [anon_sym__Atomic] = ACTIONS(1225),
-    [anon_sym__Noreturn] = ACTIONS(1225),
-    [anon_sym_noreturn] = ACTIONS(1225),
-    [anon_sym__Nonnull] = ACTIONS(1225),
-    [anon_sym_alignas] = ACTIONS(1225),
-    [anon_sym__Alignas] = ACTIONS(1225),
-    [sym_primitive_type] = ACTIONS(1225),
-    [anon_sym_enum] = ACTIONS(1225),
-    [anon_sym_struct] = ACTIONS(1225),
-    [anon_sym_union] = ACTIONS(1225),
-    [anon_sym_if] = ACTIONS(1225),
-    [anon_sym_else] = ACTIONS(1225),
-    [anon_sym_switch] = ACTIONS(1225),
-    [anon_sym_case] = ACTIONS(1225),
-    [anon_sym_default] = ACTIONS(1225),
-    [anon_sym_while] = ACTIONS(1225),
-    [anon_sym_do] = ACTIONS(1225),
-    [anon_sym_for] = ACTIONS(1225),
-    [anon_sym_return] = ACTIONS(1225),
-    [anon_sym_break] = ACTIONS(1225),
-    [anon_sym_continue] = ACTIONS(1225),
-    [anon_sym_goto] = ACTIONS(1225),
-    [anon_sym___try] = ACTIONS(1225),
-    [anon_sym___leave] = ACTIONS(1225),
-    [anon_sym_DASH_DASH] = ACTIONS(1227),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1227),
-    [anon_sym_sizeof] = ACTIONS(1225),
-    [anon_sym___alignof__] = ACTIONS(1225),
-    [anon_sym___alignof] = ACTIONS(1225),
-    [anon_sym__alignof] = ACTIONS(1225),
-    [anon_sym_alignof] = ACTIONS(1225),
-    [anon_sym__Alignof] = ACTIONS(1225),
-    [anon_sym_offsetof] = ACTIONS(1225),
-    [anon_sym__Generic] = ACTIONS(1225),
-    [anon_sym_asm] = ACTIONS(1225),
-    [anon_sym___asm__] = ACTIONS(1225),
-    [anon_sym___asm] = ACTIONS(1225),
-    [sym_number_literal] = ACTIONS(1227),
-    [anon_sym_L_SQUOTE] = ACTIONS(1227),
-    [anon_sym_u_SQUOTE] = ACTIONS(1227),
-    [anon_sym_U_SQUOTE] = ACTIONS(1227),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1227),
-    [anon_sym_SQUOTE] = ACTIONS(1227),
-    [anon_sym_L_DQUOTE] = ACTIONS(1227),
-    [anon_sym_u_DQUOTE] = ACTIONS(1227),
-    [anon_sym_U_DQUOTE] = ACTIONS(1227),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1227),
-    [anon_sym_DQUOTE] = ACTIONS(1227),
-    [sym_true] = ACTIONS(1225),
-    [sym_false] = ACTIONS(1225),
-    [anon_sym_NULL] = ACTIONS(1225),
-    [anon_sym_nullptr] = ACTIONS(1225),
+    [sym_identifier] = ACTIONS(1234),
+    [aux_sym_preproc_include_token1] = ACTIONS(1234),
+    [aux_sym_preproc_def_token1] = ACTIONS(1234),
+    [aux_sym_preproc_if_token1] = ACTIONS(1234),
+    [aux_sym_preproc_if_token2] = ACTIONS(1234),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1234),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1234),
+    [aux_sym_preproc_else_token1] = ACTIONS(1234),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1234),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1234),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1234),
+    [sym_preproc_directive] = ACTIONS(1234),
+    [anon_sym_LPAREN2] = ACTIONS(1236),
+    [anon_sym_BANG] = ACTIONS(1236),
+    [anon_sym_TILDE] = ACTIONS(1236),
+    [anon_sym_DASH] = ACTIONS(1234),
+    [anon_sym_PLUS] = ACTIONS(1234),
+    [anon_sym_STAR] = ACTIONS(1236),
+    [anon_sym_AMP] = ACTIONS(1236),
+    [anon_sym_SEMI] = ACTIONS(1236),
+    [anon_sym___extension__] = ACTIONS(1234),
+    [anon_sym_typedef] = ACTIONS(1234),
+    [anon_sym_extern] = ACTIONS(1234),
+    [anon_sym___attribute__] = ACTIONS(1234),
+    [anon_sym___attribute] = ACTIONS(1234),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1236),
+    [anon_sym___declspec] = ACTIONS(1234),
+    [anon_sym___cdecl] = ACTIONS(1234),
+    [anon_sym___clrcall] = ACTIONS(1234),
+    [anon_sym___stdcall] = ACTIONS(1234),
+    [anon_sym___fastcall] = ACTIONS(1234),
+    [anon_sym___thiscall] = ACTIONS(1234),
+    [anon_sym___vectorcall] = ACTIONS(1234),
+    [anon_sym_LBRACE] = ACTIONS(1236),
+    [anon_sym_signed] = ACTIONS(1234),
+    [anon_sym_unsigned] = ACTIONS(1234),
+    [anon_sym_long] = ACTIONS(1234),
+    [anon_sym_short] = ACTIONS(1234),
+    [anon_sym_static] = ACTIONS(1234),
+    [anon_sym_auto] = ACTIONS(1234),
+    [anon_sym_register] = ACTIONS(1234),
+    [anon_sym_inline] = ACTIONS(1234),
+    [anon_sym___inline] = ACTIONS(1234),
+    [anon_sym___inline__] = ACTIONS(1234),
+    [anon_sym___forceinline] = ACTIONS(1234),
+    [anon_sym_thread_local] = ACTIONS(1234),
+    [anon_sym___thread] = ACTIONS(1234),
+    [anon_sym_const] = ACTIONS(1234),
+    [anon_sym_constexpr] = ACTIONS(1234),
+    [anon_sym_volatile] = ACTIONS(1234),
+    [anon_sym_restrict] = ACTIONS(1234),
+    [anon_sym___restrict__] = ACTIONS(1234),
+    [anon_sym__Atomic] = ACTIONS(1234),
+    [anon_sym__Noreturn] = ACTIONS(1234),
+    [anon_sym_noreturn] = ACTIONS(1234),
+    [anon_sym__Nonnull] = ACTIONS(1234),
+    [anon_sym_alignas] = ACTIONS(1234),
+    [anon_sym__Alignas] = ACTIONS(1234),
+    [sym_primitive_type] = ACTIONS(1234),
+    [anon_sym_enum] = ACTIONS(1234),
+    [anon_sym_struct] = ACTIONS(1234),
+    [anon_sym_union] = ACTIONS(1234),
+    [anon_sym_if] = ACTIONS(1234),
+    [anon_sym_else] = ACTIONS(1234),
+    [anon_sym_switch] = ACTIONS(1234),
+    [anon_sym_case] = ACTIONS(1234),
+    [anon_sym_default] = ACTIONS(1234),
+    [anon_sym_while] = ACTIONS(1234),
+    [anon_sym_do] = ACTIONS(1234),
+    [anon_sym_for] = ACTIONS(1234),
+    [anon_sym_return] = ACTIONS(1234),
+    [anon_sym_break] = ACTIONS(1234),
+    [anon_sym_continue] = ACTIONS(1234),
+    [anon_sym_goto] = ACTIONS(1234),
+    [anon_sym___try] = ACTIONS(1234),
+    [anon_sym___leave] = ACTIONS(1234),
+    [anon_sym_DASH_DASH] = ACTIONS(1236),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1236),
+    [anon_sym_sizeof] = ACTIONS(1234),
+    [anon_sym___alignof__] = ACTIONS(1234),
+    [anon_sym___alignof] = ACTIONS(1234),
+    [anon_sym__alignof] = ACTIONS(1234),
+    [anon_sym_alignof] = ACTIONS(1234),
+    [anon_sym__Alignof] = ACTIONS(1234),
+    [anon_sym_offsetof] = ACTIONS(1234),
+    [anon_sym__Generic] = ACTIONS(1234),
+    [anon_sym_asm] = ACTIONS(1234),
+    [anon_sym___asm__] = ACTIONS(1234),
+    [anon_sym___asm] = ACTIONS(1234),
+    [sym_number_literal] = ACTIONS(1236),
+    [anon_sym_L_SQUOTE] = ACTIONS(1236),
+    [anon_sym_u_SQUOTE] = ACTIONS(1236),
+    [anon_sym_U_SQUOTE] = ACTIONS(1236),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1236),
+    [anon_sym_SQUOTE] = ACTIONS(1236),
+    [anon_sym_L_DQUOTE] = ACTIONS(1236),
+    [anon_sym_u_DQUOTE] = ACTIONS(1236),
+    [anon_sym_U_DQUOTE] = ACTIONS(1236),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1236),
+    [anon_sym_DQUOTE] = ACTIONS(1236),
+    [sym_true] = ACTIONS(1234),
+    [sym_false] = ACTIONS(1234),
+    [anon_sym_NULL] = ACTIONS(1234),
+    [anon_sym_nullptr] = ACTIONS(1234),
     [sym_comment] = ACTIONS(3),
   },
   [111] = {
-    [sym_identifier] = ACTIONS(1229),
-    [aux_sym_preproc_include_token1] = ACTIONS(1229),
-    [aux_sym_preproc_def_token1] = ACTIONS(1229),
-    [aux_sym_preproc_if_token1] = ACTIONS(1229),
-    [aux_sym_preproc_if_token2] = ACTIONS(1229),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1229),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1229),
-    [aux_sym_preproc_else_token1] = ACTIONS(1229),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1229),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1229),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1229),
-    [sym_preproc_directive] = ACTIONS(1229),
-    [anon_sym_LPAREN2] = ACTIONS(1231),
-    [anon_sym_BANG] = ACTIONS(1231),
-    [anon_sym_TILDE] = ACTIONS(1231),
-    [anon_sym_DASH] = ACTIONS(1229),
-    [anon_sym_PLUS] = ACTIONS(1229),
-    [anon_sym_STAR] = ACTIONS(1231),
-    [anon_sym_AMP] = ACTIONS(1231),
-    [anon_sym_SEMI] = ACTIONS(1231),
-    [anon_sym___extension__] = ACTIONS(1229),
-    [anon_sym_typedef] = ACTIONS(1229),
-    [anon_sym_extern] = ACTIONS(1229),
-    [anon_sym___attribute__] = ACTIONS(1229),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1231),
-    [anon_sym___declspec] = ACTIONS(1229),
-    [anon_sym___cdecl] = ACTIONS(1229),
-    [anon_sym___clrcall] = ACTIONS(1229),
-    [anon_sym___stdcall] = ACTIONS(1229),
-    [anon_sym___fastcall] = ACTIONS(1229),
-    [anon_sym___thiscall] = ACTIONS(1229),
-    [anon_sym___vectorcall] = ACTIONS(1229),
-    [anon_sym_LBRACE] = ACTIONS(1231),
-    [anon_sym_signed] = ACTIONS(1229),
-    [anon_sym_unsigned] = ACTIONS(1229),
-    [anon_sym_long] = ACTIONS(1229),
-    [anon_sym_short] = ACTIONS(1229),
-    [anon_sym_static] = ACTIONS(1229),
-    [anon_sym_auto] = ACTIONS(1229),
-    [anon_sym_register] = ACTIONS(1229),
-    [anon_sym_inline] = ACTIONS(1229),
-    [anon_sym___inline] = ACTIONS(1229),
-    [anon_sym___inline__] = ACTIONS(1229),
-    [anon_sym___forceinline] = ACTIONS(1229),
-    [anon_sym_thread_local] = ACTIONS(1229),
-    [anon_sym___thread] = ACTIONS(1229),
-    [anon_sym_const] = ACTIONS(1229),
-    [anon_sym_constexpr] = ACTIONS(1229),
-    [anon_sym_volatile] = ACTIONS(1229),
-    [anon_sym_restrict] = ACTIONS(1229),
-    [anon_sym___restrict__] = ACTIONS(1229),
-    [anon_sym__Atomic] = ACTIONS(1229),
-    [anon_sym__Noreturn] = ACTIONS(1229),
-    [anon_sym_noreturn] = ACTIONS(1229),
-    [anon_sym__Nonnull] = ACTIONS(1229),
-    [anon_sym_alignas] = ACTIONS(1229),
-    [anon_sym__Alignas] = ACTIONS(1229),
-    [sym_primitive_type] = ACTIONS(1229),
-    [anon_sym_enum] = ACTIONS(1229),
-    [anon_sym_struct] = ACTIONS(1229),
-    [anon_sym_union] = ACTIONS(1229),
-    [anon_sym_if] = ACTIONS(1229),
-    [anon_sym_else] = ACTIONS(1229),
-    [anon_sym_switch] = ACTIONS(1229),
-    [anon_sym_case] = ACTIONS(1229),
-    [anon_sym_default] = ACTIONS(1229),
-    [anon_sym_while] = ACTIONS(1229),
-    [anon_sym_do] = ACTIONS(1229),
-    [anon_sym_for] = ACTIONS(1229),
-    [anon_sym_return] = ACTIONS(1229),
-    [anon_sym_break] = ACTIONS(1229),
-    [anon_sym_continue] = ACTIONS(1229),
-    [anon_sym_goto] = ACTIONS(1229),
-    [anon_sym___try] = ACTIONS(1229),
-    [anon_sym___leave] = ACTIONS(1229),
-    [anon_sym_DASH_DASH] = ACTIONS(1231),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1231),
-    [anon_sym_sizeof] = ACTIONS(1229),
-    [anon_sym___alignof__] = ACTIONS(1229),
-    [anon_sym___alignof] = ACTIONS(1229),
-    [anon_sym__alignof] = ACTIONS(1229),
-    [anon_sym_alignof] = ACTIONS(1229),
-    [anon_sym__Alignof] = ACTIONS(1229),
-    [anon_sym_offsetof] = ACTIONS(1229),
-    [anon_sym__Generic] = ACTIONS(1229),
-    [anon_sym_asm] = ACTIONS(1229),
-    [anon_sym___asm__] = ACTIONS(1229),
-    [anon_sym___asm] = ACTIONS(1229),
-    [sym_number_literal] = ACTIONS(1231),
-    [anon_sym_L_SQUOTE] = ACTIONS(1231),
-    [anon_sym_u_SQUOTE] = ACTIONS(1231),
-    [anon_sym_U_SQUOTE] = ACTIONS(1231),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1231),
-    [anon_sym_SQUOTE] = ACTIONS(1231),
-    [anon_sym_L_DQUOTE] = ACTIONS(1231),
-    [anon_sym_u_DQUOTE] = ACTIONS(1231),
-    [anon_sym_U_DQUOTE] = ACTIONS(1231),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1231),
-    [anon_sym_DQUOTE] = ACTIONS(1231),
-    [sym_true] = ACTIONS(1229),
-    [sym_false] = ACTIONS(1229),
-    [anon_sym_NULL] = ACTIONS(1229),
-    [anon_sym_nullptr] = ACTIONS(1229),
+    [sym_identifier] = ACTIONS(1238),
+    [aux_sym_preproc_include_token1] = ACTIONS(1238),
+    [aux_sym_preproc_def_token1] = ACTIONS(1238),
+    [aux_sym_preproc_if_token1] = ACTIONS(1238),
+    [aux_sym_preproc_if_token2] = ACTIONS(1238),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1238),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1238),
+    [aux_sym_preproc_else_token1] = ACTIONS(1238),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1238),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1238),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1238),
+    [sym_preproc_directive] = ACTIONS(1238),
+    [anon_sym_LPAREN2] = ACTIONS(1240),
+    [anon_sym_BANG] = ACTIONS(1240),
+    [anon_sym_TILDE] = ACTIONS(1240),
+    [anon_sym_DASH] = ACTIONS(1238),
+    [anon_sym_PLUS] = ACTIONS(1238),
+    [anon_sym_STAR] = ACTIONS(1240),
+    [anon_sym_AMP] = ACTIONS(1240),
+    [anon_sym_SEMI] = ACTIONS(1240),
+    [anon_sym___extension__] = ACTIONS(1238),
+    [anon_sym_typedef] = ACTIONS(1238),
+    [anon_sym_extern] = ACTIONS(1238),
+    [anon_sym___attribute__] = ACTIONS(1238),
+    [anon_sym___attribute] = ACTIONS(1238),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1240),
+    [anon_sym___declspec] = ACTIONS(1238),
+    [anon_sym___cdecl] = ACTIONS(1238),
+    [anon_sym___clrcall] = ACTIONS(1238),
+    [anon_sym___stdcall] = ACTIONS(1238),
+    [anon_sym___fastcall] = ACTIONS(1238),
+    [anon_sym___thiscall] = ACTIONS(1238),
+    [anon_sym___vectorcall] = ACTIONS(1238),
+    [anon_sym_LBRACE] = ACTIONS(1240),
+    [anon_sym_signed] = ACTIONS(1238),
+    [anon_sym_unsigned] = ACTIONS(1238),
+    [anon_sym_long] = ACTIONS(1238),
+    [anon_sym_short] = ACTIONS(1238),
+    [anon_sym_static] = ACTIONS(1238),
+    [anon_sym_auto] = ACTIONS(1238),
+    [anon_sym_register] = ACTIONS(1238),
+    [anon_sym_inline] = ACTIONS(1238),
+    [anon_sym___inline] = ACTIONS(1238),
+    [anon_sym___inline__] = ACTIONS(1238),
+    [anon_sym___forceinline] = ACTIONS(1238),
+    [anon_sym_thread_local] = ACTIONS(1238),
+    [anon_sym___thread] = ACTIONS(1238),
+    [anon_sym_const] = ACTIONS(1238),
+    [anon_sym_constexpr] = ACTIONS(1238),
+    [anon_sym_volatile] = ACTIONS(1238),
+    [anon_sym_restrict] = ACTIONS(1238),
+    [anon_sym___restrict__] = ACTIONS(1238),
+    [anon_sym__Atomic] = ACTIONS(1238),
+    [anon_sym__Noreturn] = ACTIONS(1238),
+    [anon_sym_noreturn] = ACTIONS(1238),
+    [anon_sym__Nonnull] = ACTIONS(1238),
+    [anon_sym_alignas] = ACTIONS(1238),
+    [anon_sym__Alignas] = ACTIONS(1238),
+    [sym_primitive_type] = ACTIONS(1238),
+    [anon_sym_enum] = ACTIONS(1238),
+    [anon_sym_struct] = ACTIONS(1238),
+    [anon_sym_union] = ACTIONS(1238),
+    [anon_sym_if] = ACTIONS(1238),
+    [anon_sym_else] = ACTIONS(1238),
+    [anon_sym_switch] = ACTIONS(1238),
+    [anon_sym_case] = ACTIONS(1238),
+    [anon_sym_default] = ACTIONS(1238),
+    [anon_sym_while] = ACTIONS(1238),
+    [anon_sym_do] = ACTIONS(1238),
+    [anon_sym_for] = ACTIONS(1238),
+    [anon_sym_return] = ACTIONS(1238),
+    [anon_sym_break] = ACTIONS(1238),
+    [anon_sym_continue] = ACTIONS(1238),
+    [anon_sym_goto] = ACTIONS(1238),
+    [anon_sym___try] = ACTIONS(1238),
+    [anon_sym___leave] = ACTIONS(1238),
+    [anon_sym_DASH_DASH] = ACTIONS(1240),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1240),
+    [anon_sym_sizeof] = ACTIONS(1238),
+    [anon_sym___alignof__] = ACTIONS(1238),
+    [anon_sym___alignof] = ACTIONS(1238),
+    [anon_sym__alignof] = ACTIONS(1238),
+    [anon_sym_alignof] = ACTIONS(1238),
+    [anon_sym__Alignof] = ACTIONS(1238),
+    [anon_sym_offsetof] = ACTIONS(1238),
+    [anon_sym__Generic] = ACTIONS(1238),
+    [anon_sym_asm] = ACTIONS(1238),
+    [anon_sym___asm__] = ACTIONS(1238),
+    [anon_sym___asm] = ACTIONS(1238),
+    [sym_number_literal] = ACTIONS(1240),
+    [anon_sym_L_SQUOTE] = ACTIONS(1240),
+    [anon_sym_u_SQUOTE] = ACTIONS(1240),
+    [anon_sym_U_SQUOTE] = ACTIONS(1240),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1240),
+    [anon_sym_SQUOTE] = ACTIONS(1240),
+    [anon_sym_L_DQUOTE] = ACTIONS(1240),
+    [anon_sym_u_DQUOTE] = ACTIONS(1240),
+    [anon_sym_U_DQUOTE] = ACTIONS(1240),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1240),
+    [anon_sym_DQUOTE] = ACTIONS(1240),
+    [sym_true] = ACTIONS(1238),
+    [sym_false] = ACTIONS(1238),
+    [anon_sym_NULL] = ACTIONS(1238),
+    [anon_sym_nullptr] = ACTIONS(1238),
     [sym_comment] = ACTIONS(3),
   },
   [112] = {
-    [sym_identifier] = ACTIONS(1233),
-    [aux_sym_preproc_include_token1] = ACTIONS(1233),
-    [aux_sym_preproc_def_token1] = ACTIONS(1233),
-    [aux_sym_preproc_if_token1] = ACTIONS(1233),
-    [aux_sym_preproc_if_token2] = ACTIONS(1233),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1233),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1233),
-    [aux_sym_preproc_else_token1] = ACTIONS(1233),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1233),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1233),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1233),
-    [sym_preproc_directive] = ACTIONS(1233),
-    [anon_sym_LPAREN2] = ACTIONS(1235),
-    [anon_sym_BANG] = ACTIONS(1235),
-    [anon_sym_TILDE] = ACTIONS(1235),
-    [anon_sym_DASH] = ACTIONS(1233),
-    [anon_sym_PLUS] = ACTIONS(1233),
-    [anon_sym_STAR] = ACTIONS(1235),
-    [anon_sym_AMP] = ACTIONS(1235),
-    [anon_sym_SEMI] = ACTIONS(1235),
-    [anon_sym___extension__] = ACTIONS(1233),
-    [anon_sym_typedef] = ACTIONS(1233),
-    [anon_sym_extern] = ACTIONS(1233),
-    [anon_sym___attribute__] = ACTIONS(1233),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1235),
-    [anon_sym___declspec] = ACTIONS(1233),
-    [anon_sym___cdecl] = ACTIONS(1233),
-    [anon_sym___clrcall] = ACTIONS(1233),
-    [anon_sym___stdcall] = ACTIONS(1233),
-    [anon_sym___fastcall] = ACTIONS(1233),
-    [anon_sym___thiscall] = ACTIONS(1233),
-    [anon_sym___vectorcall] = ACTIONS(1233),
-    [anon_sym_LBRACE] = ACTIONS(1235),
-    [anon_sym_signed] = ACTIONS(1233),
-    [anon_sym_unsigned] = ACTIONS(1233),
-    [anon_sym_long] = ACTIONS(1233),
-    [anon_sym_short] = ACTIONS(1233),
-    [anon_sym_static] = ACTIONS(1233),
-    [anon_sym_auto] = ACTIONS(1233),
-    [anon_sym_register] = ACTIONS(1233),
-    [anon_sym_inline] = ACTIONS(1233),
-    [anon_sym___inline] = ACTIONS(1233),
-    [anon_sym___inline__] = ACTIONS(1233),
-    [anon_sym___forceinline] = ACTIONS(1233),
-    [anon_sym_thread_local] = ACTIONS(1233),
-    [anon_sym___thread] = ACTIONS(1233),
-    [anon_sym_const] = ACTIONS(1233),
-    [anon_sym_constexpr] = ACTIONS(1233),
-    [anon_sym_volatile] = ACTIONS(1233),
-    [anon_sym_restrict] = ACTIONS(1233),
-    [anon_sym___restrict__] = ACTIONS(1233),
-    [anon_sym__Atomic] = ACTIONS(1233),
-    [anon_sym__Noreturn] = ACTIONS(1233),
-    [anon_sym_noreturn] = ACTIONS(1233),
-    [anon_sym__Nonnull] = ACTIONS(1233),
-    [anon_sym_alignas] = ACTIONS(1233),
-    [anon_sym__Alignas] = ACTIONS(1233),
-    [sym_primitive_type] = ACTIONS(1233),
-    [anon_sym_enum] = ACTIONS(1233),
-    [anon_sym_struct] = ACTIONS(1233),
-    [anon_sym_union] = ACTIONS(1233),
-    [anon_sym_if] = ACTIONS(1233),
-    [anon_sym_else] = ACTIONS(1233),
-    [anon_sym_switch] = ACTIONS(1233),
-    [anon_sym_case] = ACTIONS(1233),
-    [anon_sym_default] = ACTIONS(1233),
-    [anon_sym_while] = ACTIONS(1233),
-    [anon_sym_do] = ACTIONS(1233),
-    [anon_sym_for] = ACTIONS(1233),
-    [anon_sym_return] = ACTIONS(1233),
-    [anon_sym_break] = ACTIONS(1233),
-    [anon_sym_continue] = ACTIONS(1233),
-    [anon_sym_goto] = ACTIONS(1233),
-    [anon_sym___try] = ACTIONS(1233),
-    [anon_sym___leave] = ACTIONS(1233),
-    [anon_sym_DASH_DASH] = ACTIONS(1235),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1235),
-    [anon_sym_sizeof] = ACTIONS(1233),
-    [anon_sym___alignof__] = ACTIONS(1233),
-    [anon_sym___alignof] = ACTIONS(1233),
-    [anon_sym__alignof] = ACTIONS(1233),
-    [anon_sym_alignof] = ACTIONS(1233),
-    [anon_sym__Alignof] = ACTIONS(1233),
-    [anon_sym_offsetof] = ACTIONS(1233),
-    [anon_sym__Generic] = ACTIONS(1233),
-    [anon_sym_asm] = ACTIONS(1233),
-    [anon_sym___asm__] = ACTIONS(1233),
-    [anon_sym___asm] = ACTIONS(1233),
-    [sym_number_literal] = ACTIONS(1235),
-    [anon_sym_L_SQUOTE] = ACTIONS(1235),
-    [anon_sym_u_SQUOTE] = ACTIONS(1235),
-    [anon_sym_U_SQUOTE] = ACTIONS(1235),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1235),
-    [anon_sym_SQUOTE] = ACTIONS(1235),
-    [anon_sym_L_DQUOTE] = ACTIONS(1235),
-    [anon_sym_u_DQUOTE] = ACTIONS(1235),
-    [anon_sym_U_DQUOTE] = ACTIONS(1235),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1235),
-    [anon_sym_DQUOTE] = ACTIONS(1235),
-    [sym_true] = ACTIONS(1233),
-    [sym_false] = ACTIONS(1233),
-    [anon_sym_NULL] = ACTIONS(1233),
-    [anon_sym_nullptr] = ACTIONS(1233),
+    [sym_identifier] = ACTIONS(1242),
+    [aux_sym_preproc_include_token1] = ACTIONS(1242),
+    [aux_sym_preproc_def_token1] = ACTIONS(1242),
+    [aux_sym_preproc_if_token1] = ACTIONS(1242),
+    [aux_sym_preproc_if_token2] = ACTIONS(1242),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1242),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1242),
+    [aux_sym_preproc_else_token1] = ACTIONS(1242),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1242),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1242),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1242),
+    [sym_preproc_directive] = ACTIONS(1242),
+    [anon_sym_LPAREN2] = ACTIONS(1244),
+    [anon_sym_BANG] = ACTIONS(1244),
+    [anon_sym_TILDE] = ACTIONS(1244),
+    [anon_sym_DASH] = ACTIONS(1242),
+    [anon_sym_PLUS] = ACTIONS(1242),
+    [anon_sym_STAR] = ACTIONS(1244),
+    [anon_sym_AMP] = ACTIONS(1244),
+    [anon_sym_SEMI] = ACTIONS(1244),
+    [anon_sym___extension__] = ACTIONS(1242),
+    [anon_sym_typedef] = ACTIONS(1242),
+    [anon_sym_extern] = ACTIONS(1242),
+    [anon_sym___attribute__] = ACTIONS(1242),
+    [anon_sym___attribute] = ACTIONS(1242),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1244),
+    [anon_sym___declspec] = ACTIONS(1242),
+    [anon_sym___cdecl] = ACTIONS(1242),
+    [anon_sym___clrcall] = ACTIONS(1242),
+    [anon_sym___stdcall] = ACTIONS(1242),
+    [anon_sym___fastcall] = ACTIONS(1242),
+    [anon_sym___thiscall] = ACTIONS(1242),
+    [anon_sym___vectorcall] = ACTIONS(1242),
+    [anon_sym_LBRACE] = ACTIONS(1244),
+    [anon_sym_signed] = ACTIONS(1242),
+    [anon_sym_unsigned] = ACTIONS(1242),
+    [anon_sym_long] = ACTIONS(1242),
+    [anon_sym_short] = ACTIONS(1242),
+    [anon_sym_static] = ACTIONS(1242),
+    [anon_sym_auto] = ACTIONS(1242),
+    [anon_sym_register] = ACTIONS(1242),
+    [anon_sym_inline] = ACTIONS(1242),
+    [anon_sym___inline] = ACTIONS(1242),
+    [anon_sym___inline__] = ACTIONS(1242),
+    [anon_sym___forceinline] = ACTIONS(1242),
+    [anon_sym_thread_local] = ACTIONS(1242),
+    [anon_sym___thread] = ACTIONS(1242),
+    [anon_sym_const] = ACTIONS(1242),
+    [anon_sym_constexpr] = ACTIONS(1242),
+    [anon_sym_volatile] = ACTIONS(1242),
+    [anon_sym_restrict] = ACTIONS(1242),
+    [anon_sym___restrict__] = ACTIONS(1242),
+    [anon_sym__Atomic] = ACTIONS(1242),
+    [anon_sym__Noreturn] = ACTIONS(1242),
+    [anon_sym_noreturn] = ACTIONS(1242),
+    [anon_sym__Nonnull] = ACTIONS(1242),
+    [anon_sym_alignas] = ACTIONS(1242),
+    [anon_sym__Alignas] = ACTIONS(1242),
+    [sym_primitive_type] = ACTIONS(1242),
+    [anon_sym_enum] = ACTIONS(1242),
+    [anon_sym_struct] = ACTIONS(1242),
+    [anon_sym_union] = ACTIONS(1242),
+    [anon_sym_if] = ACTIONS(1242),
+    [anon_sym_else] = ACTIONS(1242),
+    [anon_sym_switch] = ACTIONS(1242),
+    [anon_sym_case] = ACTIONS(1242),
+    [anon_sym_default] = ACTIONS(1242),
+    [anon_sym_while] = ACTIONS(1242),
+    [anon_sym_do] = ACTIONS(1242),
+    [anon_sym_for] = ACTIONS(1242),
+    [anon_sym_return] = ACTIONS(1242),
+    [anon_sym_break] = ACTIONS(1242),
+    [anon_sym_continue] = ACTIONS(1242),
+    [anon_sym_goto] = ACTIONS(1242),
+    [anon_sym___try] = ACTIONS(1242),
+    [anon_sym___leave] = ACTIONS(1242),
+    [anon_sym_DASH_DASH] = ACTIONS(1244),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1244),
+    [anon_sym_sizeof] = ACTIONS(1242),
+    [anon_sym___alignof__] = ACTIONS(1242),
+    [anon_sym___alignof] = ACTIONS(1242),
+    [anon_sym__alignof] = ACTIONS(1242),
+    [anon_sym_alignof] = ACTIONS(1242),
+    [anon_sym__Alignof] = ACTIONS(1242),
+    [anon_sym_offsetof] = ACTIONS(1242),
+    [anon_sym__Generic] = ACTIONS(1242),
+    [anon_sym_asm] = ACTIONS(1242),
+    [anon_sym___asm__] = ACTIONS(1242),
+    [anon_sym___asm] = ACTIONS(1242),
+    [sym_number_literal] = ACTIONS(1244),
+    [anon_sym_L_SQUOTE] = ACTIONS(1244),
+    [anon_sym_u_SQUOTE] = ACTIONS(1244),
+    [anon_sym_U_SQUOTE] = ACTIONS(1244),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1244),
+    [anon_sym_SQUOTE] = ACTIONS(1244),
+    [anon_sym_L_DQUOTE] = ACTIONS(1244),
+    [anon_sym_u_DQUOTE] = ACTIONS(1244),
+    [anon_sym_U_DQUOTE] = ACTIONS(1244),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1244),
+    [anon_sym_DQUOTE] = ACTIONS(1244),
+    [sym_true] = ACTIONS(1242),
+    [sym_false] = ACTIONS(1242),
+    [anon_sym_NULL] = ACTIONS(1242),
+    [anon_sym_nullptr] = ACTIONS(1242),
     [sym_comment] = ACTIONS(3),
   },
   [113] = {
-    [sym_identifier] = ACTIONS(1237),
-    [aux_sym_preproc_include_token1] = ACTIONS(1237),
-    [aux_sym_preproc_def_token1] = ACTIONS(1237),
-    [aux_sym_preproc_if_token1] = ACTIONS(1237),
-    [aux_sym_preproc_if_token2] = ACTIONS(1237),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1237),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1237),
-    [aux_sym_preproc_else_token1] = ACTIONS(1237),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1237),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1237),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1237),
-    [sym_preproc_directive] = ACTIONS(1237),
-    [anon_sym_LPAREN2] = ACTIONS(1239),
-    [anon_sym_BANG] = ACTIONS(1239),
-    [anon_sym_TILDE] = ACTIONS(1239),
-    [anon_sym_DASH] = ACTIONS(1237),
-    [anon_sym_PLUS] = ACTIONS(1237),
-    [anon_sym_STAR] = ACTIONS(1239),
-    [anon_sym_AMP] = ACTIONS(1239),
-    [anon_sym_SEMI] = ACTIONS(1239),
-    [anon_sym___extension__] = ACTIONS(1237),
-    [anon_sym_typedef] = ACTIONS(1237),
-    [anon_sym_extern] = ACTIONS(1237),
-    [anon_sym___attribute__] = ACTIONS(1237),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1239),
-    [anon_sym___declspec] = ACTIONS(1237),
-    [anon_sym___cdecl] = ACTIONS(1237),
-    [anon_sym___clrcall] = ACTIONS(1237),
-    [anon_sym___stdcall] = ACTIONS(1237),
-    [anon_sym___fastcall] = ACTIONS(1237),
-    [anon_sym___thiscall] = ACTIONS(1237),
-    [anon_sym___vectorcall] = ACTIONS(1237),
-    [anon_sym_LBRACE] = ACTIONS(1239),
-    [anon_sym_signed] = ACTIONS(1237),
-    [anon_sym_unsigned] = ACTIONS(1237),
-    [anon_sym_long] = ACTIONS(1237),
-    [anon_sym_short] = ACTIONS(1237),
-    [anon_sym_static] = ACTIONS(1237),
-    [anon_sym_auto] = ACTIONS(1237),
-    [anon_sym_register] = ACTIONS(1237),
-    [anon_sym_inline] = ACTIONS(1237),
-    [anon_sym___inline] = ACTIONS(1237),
-    [anon_sym___inline__] = ACTIONS(1237),
-    [anon_sym___forceinline] = ACTIONS(1237),
-    [anon_sym_thread_local] = ACTIONS(1237),
-    [anon_sym___thread] = ACTIONS(1237),
-    [anon_sym_const] = ACTIONS(1237),
-    [anon_sym_constexpr] = ACTIONS(1237),
-    [anon_sym_volatile] = ACTIONS(1237),
-    [anon_sym_restrict] = ACTIONS(1237),
-    [anon_sym___restrict__] = ACTIONS(1237),
-    [anon_sym__Atomic] = ACTIONS(1237),
-    [anon_sym__Noreturn] = ACTIONS(1237),
-    [anon_sym_noreturn] = ACTIONS(1237),
-    [anon_sym__Nonnull] = ACTIONS(1237),
-    [anon_sym_alignas] = ACTIONS(1237),
-    [anon_sym__Alignas] = ACTIONS(1237),
-    [sym_primitive_type] = ACTIONS(1237),
-    [anon_sym_enum] = ACTIONS(1237),
-    [anon_sym_struct] = ACTIONS(1237),
-    [anon_sym_union] = ACTIONS(1237),
-    [anon_sym_if] = ACTIONS(1237),
-    [anon_sym_else] = ACTIONS(1237),
-    [anon_sym_switch] = ACTIONS(1237),
-    [anon_sym_case] = ACTIONS(1237),
-    [anon_sym_default] = ACTIONS(1237),
-    [anon_sym_while] = ACTIONS(1237),
-    [anon_sym_do] = ACTIONS(1237),
-    [anon_sym_for] = ACTIONS(1237),
-    [anon_sym_return] = ACTIONS(1237),
-    [anon_sym_break] = ACTIONS(1237),
-    [anon_sym_continue] = ACTIONS(1237),
-    [anon_sym_goto] = ACTIONS(1237),
-    [anon_sym___try] = ACTIONS(1237),
-    [anon_sym___leave] = ACTIONS(1237),
-    [anon_sym_DASH_DASH] = ACTIONS(1239),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1239),
-    [anon_sym_sizeof] = ACTIONS(1237),
-    [anon_sym___alignof__] = ACTIONS(1237),
-    [anon_sym___alignof] = ACTIONS(1237),
-    [anon_sym__alignof] = ACTIONS(1237),
-    [anon_sym_alignof] = ACTIONS(1237),
-    [anon_sym__Alignof] = ACTIONS(1237),
-    [anon_sym_offsetof] = ACTIONS(1237),
-    [anon_sym__Generic] = ACTIONS(1237),
-    [anon_sym_asm] = ACTIONS(1237),
-    [anon_sym___asm__] = ACTIONS(1237),
-    [anon_sym___asm] = ACTIONS(1237),
-    [sym_number_literal] = ACTIONS(1239),
-    [anon_sym_L_SQUOTE] = ACTIONS(1239),
-    [anon_sym_u_SQUOTE] = ACTIONS(1239),
-    [anon_sym_U_SQUOTE] = ACTIONS(1239),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1239),
-    [anon_sym_SQUOTE] = ACTIONS(1239),
-    [anon_sym_L_DQUOTE] = ACTIONS(1239),
-    [anon_sym_u_DQUOTE] = ACTIONS(1239),
-    [anon_sym_U_DQUOTE] = ACTIONS(1239),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1239),
-    [anon_sym_DQUOTE] = ACTIONS(1239),
-    [sym_true] = ACTIONS(1237),
-    [sym_false] = ACTIONS(1237),
-    [anon_sym_NULL] = ACTIONS(1237),
-    [anon_sym_nullptr] = ACTIONS(1237),
+    [sym_identifier] = ACTIONS(1246),
+    [aux_sym_preproc_include_token1] = ACTIONS(1246),
+    [aux_sym_preproc_def_token1] = ACTIONS(1246),
+    [aux_sym_preproc_if_token1] = ACTIONS(1246),
+    [aux_sym_preproc_if_token2] = ACTIONS(1246),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1246),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1246),
+    [aux_sym_preproc_else_token1] = ACTIONS(1246),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1246),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1246),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1246),
+    [sym_preproc_directive] = ACTIONS(1246),
+    [anon_sym_LPAREN2] = ACTIONS(1248),
+    [anon_sym_BANG] = ACTIONS(1248),
+    [anon_sym_TILDE] = ACTIONS(1248),
+    [anon_sym_DASH] = ACTIONS(1246),
+    [anon_sym_PLUS] = ACTIONS(1246),
+    [anon_sym_STAR] = ACTIONS(1248),
+    [anon_sym_AMP] = ACTIONS(1248),
+    [anon_sym_SEMI] = ACTIONS(1248),
+    [anon_sym___extension__] = ACTIONS(1246),
+    [anon_sym_typedef] = ACTIONS(1246),
+    [anon_sym_extern] = ACTIONS(1246),
+    [anon_sym___attribute__] = ACTIONS(1246),
+    [anon_sym___attribute] = ACTIONS(1246),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1248),
+    [anon_sym___declspec] = ACTIONS(1246),
+    [anon_sym___cdecl] = ACTIONS(1246),
+    [anon_sym___clrcall] = ACTIONS(1246),
+    [anon_sym___stdcall] = ACTIONS(1246),
+    [anon_sym___fastcall] = ACTIONS(1246),
+    [anon_sym___thiscall] = ACTIONS(1246),
+    [anon_sym___vectorcall] = ACTIONS(1246),
+    [anon_sym_LBRACE] = ACTIONS(1248),
+    [anon_sym_signed] = ACTIONS(1246),
+    [anon_sym_unsigned] = ACTIONS(1246),
+    [anon_sym_long] = ACTIONS(1246),
+    [anon_sym_short] = ACTIONS(1246),
+    [anon_sym_static] = ACTIONS(1246),
+    [anon_sym_auto] = ACTIONS(1246),
+    [anon_sym_register] = ACTIONS(1246),
+    [anon_sym_inline] = ACTIONS(1246),
+    [anon_sym___inline] = ACTIONS(1246),
+    [anon_sym___inline__] = ACTIONS(1246),
+    [anon_sym___forceinline] = ACTIONS(1246),
+    [anon_sym_thread_local] = ACTIONS(1246),
+    [anon_sym___thread] = ACTIONS(1246),
+    [anon_sym_const] = ACTIONS(1246),
+    [anon_sym_constexpr] = ACTIONS(1246),
+    [anon_sym_volatile] = ACTIONS(1246),
+    [anon_sym_restrict] = ACTIONS(1246),
+    [anon_sym___restrict__] = ACTIONS(1246),
+    [anon_sym__Atomic] = ACTIONS(1246),
+    [anon_sym__Noreturn] = ACTIONS(1246),
+    [anon_sym_noreturn] = ACTIONS(1246),
+    [anon_sym__Nonnull] = ACTIONS(1246),
+    [anon_sym_alignas] = ACTIONS(1246),
+    [anon_sym__Alignas] = ACTIONS(1246),
+    [sym_primitive_type] = ACTIONS(1246),
+    [anon_sym_enum] = ACTIONS(1246),
+    [anon_sym_struct] = ACTIONS(1246),
+    [anon_sym_union] = ACTIONS(1246),
+    [anon_sym_if] = ACTIONS(1246),
+    [anon_sym_else] = ACTIONS(1246),
+    [anon_sym_switch] = ACTIONS(1246),
+    [anon_sym_case] = ACTIONS(1246),
+    [anon_sym_default] = ACTIONS(1246),
+    [anon_sym_while] = ACTIONS(1246),
+    [anon_sym_do] = ACTIONS(1246),
+    [anon_sym_for] = ACTIONS(1246),
+    [anon_sym_return] = ACTIONS(1246),
+    [anon_sym_break] = ACTIONS(1246),
+    [anon_sym_continue] = ACTIONS(1246),
+    [anon_sym_goto] = ACTIONS(1246),
+    [anon_sym___try] = ACTIONS(1246),
+    [anon_sym___leave] = ACTIONS(1246),
+    [anon_sym_DASH_DASH] = ACTIONS(1248),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1248),
+    [anon_sym_sizeof] = ACTIONS(1246),
+    [anon_sym___alignof__] = ACTIONS(1246),
+    [anon_sym___alignof] = ACTIONS(1246),
+    [anon_sym__alignof] = ACTIONS(1246),
+    [anon_sym_alignof] = ACTIONS(1246),
+    [anon_sym__Alignof] = ACTIONS(1246),
+    [anon_sym_offsetof] = ACTIONS(1246),
+    [anon_sym__Generic] = ACTIONS(1246),
+    [anon_sym_asm] = ACTIONS(1246),
+    [anon_sym___asm__] = ACTIONS(1246),
+    [anon_sym___asm] = ACTIONS(1246),
+    [sym_number_literal] = ACTIONS(1248),
+    [anon_sym_L_SQUOTE] = ACTIONS(1248),
+    [anon_sym_u_SQUOTE] = ACTIONS(1248),
+    [anon_sym_U_SQUOTE] = ACTIONS(1248),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1248),
+    [anon_sym_SQUOTE] = ACTIONS(1248),
+    [anon_sym_L_DQUOTE] = ACTIONS(1248),
+    [anon_sym_u_DQUOTE] = ACTIONS(1248),
+    [anon_sym_U_DQUOTE] = ACTIONS(1248),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1248),
+    [anon_sym_DQUOTE] = ACTIONS(1248),
+    [sym_true] = ACTIONS(1246),
+    [sym_false] = ACTIONS(1246),
+    [anon_sym_NULL] = ACTIONS(1246),
+    [anon_sym_nullptr] = ACTIONS(1246),
     [sym_comment] = ACTIONS(3),
   },
   [114] = {
-    [sym_identifier] = ACTIONS(1237),
-    [aux_sym_preproc_include_token1] = ACTIONS(1237),
-    [aux_sym_preproc_def_token1] = ACTIONS(1237),
-    [aux_sym_preproc_if_token1] = ACTIONS(1237),
-    [aux_sym_preproc_if_token2] = ACTIONS(1237),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1237),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1237),
-    [aux_sym_preproc_else_token1] = ACTIONS(1237),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1237),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1237),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1237),
-    [sym_preproc_directive] = ACTIONS(1237),
-    [anon_sym_LPAREN2] = ACTIONS(1239),
-    [anon_sym_BANG] = ACTIONS(1239),
-    [anon_sym_TILDE] = ACTIONS(1239),
-    [anon_sym_DASH] = ACTIONS(1237),
-    [anon_sym_PLUS] = ACTIONS(1237),
-    [anon_sym_STAR] = ACTIONS(1239),
-    [anon_sym_AMP] = ACTIONS(1239),
-    [anon_sym_SEMI] = ACTIONS(1239),
-    [anon_sym___extension__] = ACTIONS(1237),
-    [anon_sym_typedef] = ACTIONS(1237),
-    [anon_sym_extern] = ACTIONS(1237),
-    [anon_sym___attribute__] = ACTIONS(1237),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1239),
-    [anon_sym___declspec] = ACTIONS(1237),
-    [anon_sym___cdecl] = ACTIONS(1237),
-    [anon_sym___clrcall] = ACTIONS(1237),
-    [anon_sym___stdcall] = ACTIONS(1237),
-    [anon_sym___fastcall] = ACTIONS(1237),
-    [anon_sym___thiscall] = ACTIONS(1237),
-    [anon_sym___vectorcall] = ACTIONS(1237),
-    [anon_sym_LBRACE] = ACTIONS(1239),
-    [anon_sym_signed] = ACTIONS(1237),
-    [anon_sym_unsigned] = ACTIONS(1237),
-    [anon_sym_long] = ACTIONS(1237),
-    [anon_sym_short] = ACTIONS(1237),
-    [anon_sym_static] = ACTIONS(1237),
-    [anon_sym_auto] = ACTIONS(1237),
-    [anon_sym_register] = ACTIONS(1237),
-    [anon_sym_inline] = ACTIONS(1237),
-    [anon_sym___inline] = ACTIONS(1237),
-    [anon_sym___inline__] = ACTIONS(1237),
-    [anon_sym___forceinline] = ACTIONS(1237),
-    [anon_sym_thread_local] = ACTIONS(1237),
-    [anon_sym___thread] = ACTIONS(1237),
-    [anon_sym_const] = ACTIONS(1237),
-    [anon_sym_constexpr] = ACTIONS(1237),
-    [anon_sym_volatile] = ACTIONS(1237),
-    [anon_sym_restrict] = ACTIONS(1237),
-    [anon_sym___restrict__] = ACTIONS(1237),
-    [anon_sym__Atomic] = ACTIONS(1237),
-    [anon_sym__Noreturn] = ACTIONS(1237),
-    [anon_sym_noreturn] = ACTIONS(1237),
-    [anon_sym__Nonnull] = ACTIONS(1237),
-    [anon_sym_alignas] = ACTIONS(1237),
-    [anon_sym__Alignas] = ACTIONS(1237),
-    [sym_primitive_type] = ACTIONS(1237),
-    [anon_sym_enum] = ACTIONS(1237),
-    [anon_sym_struct] = ACTIONS(1237),
-    [anon_sym_union] = ACTIONS(1237),
-    [anon_sym_if] = ACTIONS(1237),
-    [anon_sym_else] = ACTIONS(1237),
-    [anon_sym_switch] = ACTIONS(1237),
-    [anon_sym_case] = ACTIONS(1237),
-    [anon_sym_default] = ACTIONS(1237),
-    [anon_sym_while] = ACTIONS(1237),
-    [anon_sym_do] = ACTIONS(1237),
-    [anon_sym_for] = ACTIONS(1237),
-    [anon_sym_return] = ACTIONS(1237),
-    [anon_sym_break] = ACTIONS(1237),
-    [anon_sym_continue] = ACTIONS(1237),
-    [anon_sym_goto] = ACTIONS(1237),
-    [anon_sym___try] = ACTIONS(1237),
-    [anon_sym___leave] = ACTIONS(1237),
-    [anon_sym_DASH_DASH] = ACTIONS(1239),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1239),
-    [anon_sym_sizeof] = ACTIONS(1237),
-    [anon_sym___alignof__] = ACTIONS(1237),
-    [anon_sym___alignof] = ACTIONS(1237),
-    [anon_sym__alignof] = ACTIONS(1237),
-    [anon_sym_alignof] = ACTIONS(1237),
-    [anon_sym__Alignof] = ACTIONS(1237),
-    [anon_sym_offsetof] = ACTIONS(1237),
-    [anon_sym__Generic] = ACTIONS(1237),
-    [anon_sym_asm] = ACTIONS(1237),
-    [anon_sym___asm__] = ACTIONS(1237),
-    [anon_sym___asm] = ACTIONS(1237),
-    [sym_number_literal] = ACTIONS(1239),
-    [anon_sym_L_SQUOTE] = ACTIONS(1239),
-    [anon_sym_u_SQUOTE] = ACTIONS(1239),
-    [anon_sym_U_SQUOTE] = ACTIONS(1239),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1239),
-    [anon_sym_SQUOTE] = ACTIONS(1239),
-    [anon_sym_L_DQUOTE] = ACTIONS(1239),
-    [anon_sym_u_DQUOTE] = ACTIONS(1239),
-    [anon_sym_U_DQUOTE] = ACTIONS(1239),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1239),
-    [anon_sym_DQUOTE] = ACTIONS(1239),
-    [sym_true] = ACTIONS(1237),
-    [sym_false] = ACTIONS(1237),
-    [anon_sym_NULL] = ACTIONS(1237),
-    [anon_sym_nullptr] = ACTIONS(1237),
+    [sym_identifier] = ACTIONS(1250),
+    [aux_sym_preproc_include_token1] = ACTIONS(1250),
+    [aux_sym_preproc_def_token1] = ACTIONS(1250),
+    [aux_sym_preproc_if_token1] = ACTIONS(1250),
+    [aux_sym_preproc_if_token2] = ACTIONS(1250),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1250),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1250),
+    [aux_sym_preproc_else_token1] = ACTIONS(1250),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1250),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1250),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1250),
+    [sym_preproc_directive] = ACTIONS(1250),
+    [anon_sym_LPAREN2] = ACTIONS(1252),
+    [anon_sym_BANG] = ACTIONS(1252),
+    [anon_sym_TILDE] = ACTIONS(1252),
+    [anon_sym_DASH] = ACTIONS(1250),
+    [anon_sym_PLUS] = ACTIONS(1250),
+    [anon_sym_STAR] = ACTIONS(1252),
+    [anon_sym_AMP] = ACTIONS(1252),
+    [anon_sym_SEMI] = ACTIONS(1252),
+    [anon_sym___extension__] = ACTIONS(1250),
+    [anon_sym_typedef] = ACTIONS(1250),
+    [anon_sym_extern] = ACTIONS(1250),
+    [anon_sym___attribute__] = ACTIONS(1250),
+    [anon_sym___attribute] = ACTIONS(1250),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1252),
+    [anon_sym___declspec] = ACTIONS(1250),
+    [anon_sym___cdecl] = ACTIONS(1250),
+    [anon_sym___clrcall] = ACTIONS(1250),
+    [anon_sym___stdcall] = ACTIONS(1250),
+    [anon_sym___fastcall] = ACTIONS(1250),
+    [anon_sym___thiscall] = ACTIONS(1250),
+    [anon_sym___vectorcall] = ACTIONS(1250),
+    [anon_sym_LBRACE] = ACTIONS(1252),
+    [anon_sym_signed] = ACTIONS(1250),
+    [anon_sym_unsigned] = ACTIONS(1250),
+    [anon_sym_long] = ACTIONS(1250),
+    [anon_sym_short] = ACTIONS(1250),
+    [anon_sym_static] = ACTIONS(1250),
+    [anon_sym_auto] = ACTIONS(1250),
+    [anon_sym_register] = ACTIONS(1250),
+    [anon_sym_inline] = ACTIONS(1250),
+    [anon_sym___inline] = ACTIONS(1250),
+    [anon_sym___inline__] = ACTIONS(1250),
+    [anon_sym___forceinline] = ACTIONS(1250),
+    [anon_sym_thread_local] = ACTIONS(1250),
+    [anon_sym___thread] = ACTIONS(1250),
+    [anon_sym_const] = ACTIONS(1250),
+    [anon_sym_constexpr] = ACTIONS(1250),
+    [anon_sym_volatile] = ACTIONS(1250),
+    [anon_sym_restrict] = ACTIONS(1250),
+    [anon_sym___restrict__] = ACTIONS(1250),
+    [anon_sym__Atomic] = ACTIONS(1250),
+    [anon_sym__Noreturn] = ACTIONS(1250),
+    [anon_sym_noreturn] = ACTIONS(1250),
+    [anon_sym__Nonnull] = ACTIONS(1250),
+    [anon_sym_alignas] = ACTIONS(1250),
+    [anon_sym__Alignas] = ACTIONS(1250),
+    [sym_primitive_type] = ACTIONS(1250),
+    [anon_sym_enum] = ACTIONS(1250),
+    [anon_sym_struct] = ACTIONS(1250),
+    [anon_sym_union] = ACTIONS(1250),
+    [anon_sym_if] = ACTIONS(1250),
+    [anon_sym_else] = ACTIONS(1250),
+    [anon_sym_switch] = ACTIONS(1250),
+    [anon_sym_case] = ACTIONS(1250),
+    [anon_sym_default] = ACTIONS(1250),
+    [anon_sym_while] = ACTIONS(1250),
+    [anon_sym_do] = ACTIONS(1250),
+    [anon_sym_for] = ACTIONS(1250),
+    [anon_sym_return] = ACTIONS(1250),
+    [anon_sym_break] = ACTIONS(1250),
+    [anon_sym_continue] = ACTIONS(1250),
+    [anon_sym_goto] = ACTIONS(1250),
+    [anon_sym___try] = ACTIONS(1250),
+    [anon_sym___leave] = ACTIONS(1250),
+    [anon_sym_DASH_DASH] = ACTIONS(1252),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1252),
+    [anon_sym_sizeof] = ACTIONS(1250),
+    [anon_sym___alignof__] = ACTIONS(1250),
+    [anon_sym___alignof] = ACTIONS(1250),
+    [anon_sym__alignof] = ACTIONS(1250),
+    [anon_sym_alignof] = ACTIONS(1250),
+    [anon_sym__Alignof] = ACTIONS(1250),
+    [anon_sym_offsetof] = ACTIONS(1250),
+    [anon_sym__Generic] = ACTIONS(1250),
+    [anon_sym_asm] = ACTIONS(1250),
+    [anon_sym___asm__] = ACTIONS(1250),
+    [anon_sym___asm] = ACTIONS(1250),
+    [sym_number_literal] = ACTIONS(1252),
+    [anon_sym_L_SQUOTE] = ACTIONS(1252),
+    [anon_sym_u_SQUOTE] = ACTIONS(1252),
+    [anon_sym_U_SQUOTE] = ACTIONS(1252),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1252),
+    [anon_sym_SQUOTE] = ACTIONS(1252),
+    [anon_sym_L_DQUOTE] = ACTIONS(1252),
+    [anon_sym_u_DQUOTE] = ACTIONS(1252),
+    [anon_sym_U_DQUOTE] = ACTIONS(1252),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1252),
+    [anon_sym_DQUOTE] = ACTIONS(1252),
+    [sym_true] = ACTIONS(1250),
+    [sym_false] = ACTIONS(1250),
+    [anon_sym_NULL] = ACTIONS(1250),
+    [anon_sym_nullptr] = ACTIONS(1250),
     [sym_comment] = ACTIONS(3),
   },
   [115] = {
-    [sym_identifier] = ACTIONS(1241),
-    [aux_sym_preproc_include_token1] = ACTIONS(1241),
-    [aux_sym_preproc_def_token1] = ACTIONS(1241),
-    [aux_sym_preproc_if_token1] = ACTIONS(1241),
-    [aux_sym_preproc_if_token2] = ACTIONS(1241),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1241),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1241),
-    [aux_sym_preproc_else_token1] = ACTIONS(1241),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1241),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1241),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1241),
-    [sym_preproc_directive] = ACTIONS(1241),
-    [anon_sym_LPAREN2] = ACTIONS(1243),
-    [anon_sym_BANG] = ACTIONS(1243),
-    [anon_sym_TILDE] = ACTIONS(1243),
-    [anon_sym_DASH] = ACTIONS(1241),
-    [anon_sym_PLUS] = ACTIONS(1241),
-    [anon_sym_STAR] = ACTIONS(1243),
-    [anon_sym_AMP] = ACTIONS(1243),
-    [anon_sym_SEMI] = ACTIONS(1243),
-    [anon_sym___extension__] = ACTIONS(1241),
-    [anon_sym_typedef] = ACTIONS(1241),
-    [anon_sym_extern] = ACTIONS(1241),
-    [anon_sym___attribute__] = ACTIONS(1241),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1243),
-    [anon_sym___declspec] = ACTIONS(1241),
-    [anon_sym___cdecl] = ACTIONS(1241),
-    [anon_sym___clrcall] = ACTIONS(1241),
-    [anon_sym___stdcall] = ACTIONS(1241),
-    [anon_sym___fastcall] = ACTIONS(1241),
-    [anon_sym___thiscall] = ACTIONS(1241),
-    [anon_sym___vectorcall] = ACTIONS(1241),
-    [anon_sym_LBRACE] = ACTIONS(1243),
-    [anon_sym_signed] = ACTIONS(1241),
-    [anon_sym_unsigned] = ACTIONS(1241),
-    [anon_sym_long] = ACTIONS(1241),
-    [anon_sym_short] = ACTIONS(1241),
-    [anon_sym_static] = ACTIONS(1241),
-    [anon_sym_auto] = ACTIONS(1241),
-    [anon_sym_register] = ACTIONS(1241),
-    [anon_sym_inline] = ACTIONS(1241),
-    [anon_sym___inline] = ACTIONS(1241),
-    [anon_sym___inline__] = ACTIONS(1241),
-    [anon_sym___forceinline] = ACTIONS(1241),
-    [anon_sym_thread_local] = ACTIONS(1241),
-    [anon_sym___thread] = ACTIONS(1241),
-    [anon_sym_const] = ACTIONS(1241),
-    [anon_sym_constexpr] = ACTIONS(1241),
-    [anon_sym_volatile] = ACTIONS(1241),
-    [anon_sym_restrict] = ACTIONS(1241),
-    [anon_sym___restrict__] = ACTIONS(1241),
-    [anon_sym__Atomic] = ACTIONS(1241),
-    [anon_sym__Noreturn] = ACTIONS(1241),
-    [anon_sym_noreturn] = ACTIONS(1241),
-    [anon_sym__Nonnull] = ACTIONS(1241),
-    [anon_sym_alignas] = ACTIONS(1241),
-    [anon_sym__Alignas] = ACTIONS(1241),
-    [sym_primitive_type] = ACTIONS(1241),
-    [anon_sym_enum] = ACTIONS(1241),
-    [anon_sym_struct] = ACTIONS(1241),
-    [anon_sym_union] = ACTIONS(1241),
-    [anon_sym_if] = ACTIONS(1241),
-    [anon_sym_else] = ACTIONS(1241),
-    [anon_sym_switch] = ACTIONS(1241),
-    [anon_sym_case] = ACTIONS(1241),
-    [anon_sym_default] = ACTIONS(1241),
-    [anon_sym_while] = ACTIONS(1241),
-    [anon_sym_do] = ACTIONS(1241),
-    [anon_sym_for] = ACTIONS(1241),
-    [anon_sym_return] = ACTIONS(1241),
-    [anon_sym_break] = ACTIONS(1241),
-    [anon_sym_continue] = ACTIONS(1241),
-    [anon_sym_goto] = ACTIONS(1241),
-    [anon_sym___try] = ACTIONS(1241),
-    [anon_sym___leave] = ACTIONS(1241),
-    [anon_sym_DASH_DASH] = ACTIONS(1243),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1243),
-    [anon_sym_sizeof] = ACTIONS(1241),
-    [anon_sym___alignof__] = ACTIONS(1241),
-    [anon_sym___alignof] = ACTIONS(1241),
-    [anon_sym__alignof] = ACTIONS(1241),
-    [anon_sym_alignof] = ACTIONS(1241),
-    [anon_sym__Alignof] = ACTIONS(1241),
-    [anon_sym_offsetof] = ACTIONS(1241),
-    [anon_sym__Generic] = ACTIONS(1241),
-    [anon_sym_asm] = ACTIONS(1241),
-    [anon_sym___asm__] = ACTIONS(1241),
-    [anon_sym___asm] = ACTIONS(1241),
-    [sym_number_literal] = ACTIONS(1243),
-    [anon_sym_L_SQUOTE] = ACTIONS(1243),
-    [anon_sym_u_SQUOTE] = ACTIONS(1243),
-    [anon_sym_U_SQUOTE] = ACTIONS(1243),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1243),
-    [anon_sym_SQUOTE] = ACTIONS(1243),
-    [anon_sym_L_DQUOTE] = ACTIONS(1243),
-    [anon_sym_u_DQUOTE] = ACTIONS(1243),
-    [anon_sym_U_DQUOTE] = ACTIONS(1243),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1243),
-    [anon_sym_DQUOTE] = ACTIONS(1243),
-    [sym_true] = ACTIONS(1241),
-    [sym_false] = ACTIONS(1241),
-    [anon_sym_NULL] = ACTIONS(1241),
-    [anon_sym_nullptr] = ACTIONS(1241),
+    [ts_builtin_sym_end] = ACTIONS(1232),
+    [sym_identifier] = ACTIONS(1230),
+    [aux_sym_preproc_include_token1] = ACTIONS(1230),
+    [aux_sym_preproc_def_token1] = ACTIONS(1230),
+    [anon_sym_COMMA] = ACTIONS(1232),
+    [anon_sym_RPAREN] = ACTIONS(1232),
+    [aux_sym_preproc_if_token1] = ACTIONS(1230),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1230),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1230),
+    [sym_preproc_directive] = ACTIONS(1230),
+    [anon_sym_LPAREN2] = ACTIONS(1232),
+    [anon_sym_BANG] = ACTIONS(1232),
+    [anon_sym_TILDE] = ACTIONS(1232),
+    [anon_sym_DASH] = ACTIONS(1230),
+    [anon_sym_PLUS] = ACTIONS(1230),
+    [anon_sym_STAR] = ACTIONS(1232),
+    [anon_sym_AMP] = ACTIONS(1232),
+    [anon_sym_SEMI] = ACTIONS(1232),
+    [anon_sym___extension__] = ACTIONS(1230),
+    [anon_sym_typedef] = ACTIONS(1230),
+    [anon_sym_extern] = ACTIONS(1230),
+    [anon_sym___attribute__] = ACTIONS(1230),
+    [anon_sym___attribute] = ACTIONS(1230),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1232),
+    [anon_sym___declspec] = ACTIONS(1230),
+    [anon_sym___cdecl] = ACTIONS(1230),
+    [anon_sym___clrcall] = ACTIONS(1230),
+    [anon_sym___stdcall] = ACTIONS(1230),
+    [anon_sym___fastcall] = ACTIONS(1230),
+    [anon_sym___thiscall] = ACTIONS(1230),
+    [anon_sym___vectorcall] = ACTIONS(1230),
+    [anon_sym_LBRACE] = ACTIONS(1232),
+    [anon_sym_signed] = ACTIONS(1230),
+    [anon_sym_unsigned] = ACTIONS(1230),
+    [anon_sym_long] = ACTIONS(1230),
+    [anon_sym_short] = ACTIONS(1230),
+    [anon_sym_static] = ACTIONS(1230),
+    [anon_sym_auto] = ACTIONS(1230),
+    [anon_sym_register] = ACTIONS(1230),
+    [anon_sym_inline] = ACTIONS(1230),
+    [anon_sym___inline] = ACTIONS(1230),
+    [anon_sym___inline__] = ACTIONS(1230),
+    [anon_sym___forceinline] = ACTIONS(1230),
+    [anon_sym_thread_local] = ACTIONS(1230),
+    [anon_sym___thread] = ACTIONS(1230),
+    [anon_sym_const] = ACTIONS(1230),
+    [anon_sym_constexpr] = ACTIONS(1230),
+    [anon_sym_volatile] = ACTIONS(1230),
+    [anon_sym_restrict] = ACTIONS(1230),
+    [anon_sym___restrict__] = ACTIONS(1230),
+    [anon_sym__Atomic] = ACTIONS(1230),
+    [anon_sym__Noreturn] = ACTIONS(1230),
+    [anon_sym_noreturn] = ACTIONS(1230),
+    [anon_sym__Nonnull] = ACTIONS(1230),
+    [anon_sym_alignas] = ACTIONS(1230),
+    [anon_sym__Alignas] = ACTIONS(1230),
+    [sym_primitive_type] = ACTIONS(1230),
+    [anon_sym_enum] = ACTIONS(1230),
+    [anon_sym_struct] = ACTIONS(1230),
+    [anon_sym_union] = ACTIONS(1230),
+    [anon_sym_if] = ACTIONS(1230),
+    [anon_sym_else] = ACTIONS(1230),
+    [anon_sym_switch] = ACTIONS(1230),
+    [anon_sym_case] = ACTIONS(1230),
+    [anon_sym_default] = ACTIONS(1230),
+    [anon_sym_while] = ACTIONS(1230),
+    [anon_sym_do] = ACTIONS(1230),
+    [anon_sym_for] = ACTIONS(1230),
+    [anon_sym_return] = ACTIONS(1230),
+    [anon_sym_break] = ACTIONS(1230),
+    [anon_sym_continue] = ACTIONS(1230),
+    [anon_sym_goto] = ACTIONS(1230),
+    [anon_sym___try] = ACTIONS(1230),
+    [anon_sym___except] = ACTIONS(1230),
+    [anon_sym___finally] = ACTIONS(1230),
+    [anon_sym___leave] = ACTIONS(1230),
+    [anon_sym_DASH_DASH] = ACTIONS(1232),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1232),
+    [anon_sym_sizeof] = ACTIONS(1230),
+    [anon_sym___alignof__] = ACTIONS(1230),
+    [anon_sym___alignof] = ACTIONS(1230),
+    [anon_sym__alignof] = ACTIONS(1230),
+    [anon_sym_alignof] = ACTIONS(1230),
+    [anon_sym__Alignof] = ACTIONS(1230),
+    [anon_sym_offsetof] = ACTIONS(1230),
+    [anon_sym__Generic] = ACTIONS(1230),
+    [anon_sym_asm] = ACTIONS(1230),
+    [anon_sym___asm__] = ACTIONS(1230),
+    [anon_sym___asm] = ACTIONS(1230),
+    [sym_number_literal] = ACTIONS(1232),
+    [anon_sym_L_SQUOTE] = ACTIONS(1232),
+    [anon_sym_u_SQUOTE] = ACTIONS(1232),
+    [anon_sym_U_SQUOTE] = ACTIONS(1232),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1232),
+    [anon_sym_SQUOTE] = ACTIONS(1232),
+    [anon_sym_L_DQUOTE] = ACTIONS(1232),
+    [anon_sym_u_DQUOTE] = ACTIONS(1232),
+    [anon_sym_U_DQUOTE] = ACTIONS(1232),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1232),
+    [anon_sym_DQUOTE] = ACTIONS(1232),
+    [sym_true] = ACTIONS(1230),
+    [sym_false] = ACTIONS(1230),
+    [anon_sym_NULL] = ACTIONS(1230),
+    [anon_sym_nullptr] = ACTIONS(1230),
     [sym_comment] = ACTIONS(3),
   },
   [116] = {
-    [sym_identifier] = ACTIONS(1245),
-    [aux_sym_preproc_include_token1] = ACTIONS(1245),
-    [aux_sym_preproc_def_token1] = ACTIONS(1245),
-    [aux_sym_preproc_if_token1] = ACTIONS(1245),
-    [aux_sym_preproc_if_token2] = ACTIONS(1245),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1245),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1245),
-    [aux_sym_preproc_else_token1] = ACTIONS(1245),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1245),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1245),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1245),
-    [sym_preproc_directive] = ACTIONS(1245),
-    [anon_sym_LPAREN2] = ACTIONS(1247),
-    [anon_sym_BANG] = ACTIONS(1247),
-    [anon_sym_TILDE] = ACTIONS(1247),
-    [anon_sym_DASH] = ACTIONS(1245),
-    [anon_sym_PLUS] = ACTIONS(1245),
-    [anon_sym_STAR] = ACTIONS(1247),
-    [anon_sym_AMP] = ACTIONS(1247),
-    [anon_sym_SEMI] = ACTIONS(1247),
-    [anon_sym___extension__] = ACTIONS(1245),
-    [anon_sym_typedef] = ACTIONS(1245),
-    [anon_sym_extern] = ACTIONS(1245),
-    [anon_sym___attribute__] = ACTIONS(1245),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1247),
-    [anon_sym___declspec] = ACTIONS(1245),
-    [anon_sym___cdecl] = ACTIONS(1245),
-    [anon_sym___clrcall] = ACTIONS(1245),
-    [anon_sym___stdcall] = ACTIONS(1245),
-    [anon_sym___fastcall] = ACTIONS(1245),
-    [anon_sym___thiscall] = ACTIONS(1245),
-    [anon_sym___vectorcall] = ACTIONS(1245),
-    [anon_sym_LBRACE] = ACTIONS(1247),
-    [anon_sym_signed] = ACTIONS(1245),
-    [anon_sym_unsigned] = ACTIONS(1245),
-    [anon_sym_long] = ACTIONS(1245),
-    [anon_sym_short] = ACTIONS(1245),
-    [anon_sym_static] = ACTIONS(1245),
-    [anon_sym_auto] = ACTIONS(1245),
-    [anon_sym_register] = ACTIONS(1245),
-    [anon_sym_inline] = ACTIONS(1245),
-    [anon_sym___inline] = ACTIONS(1245),
-    [anon_sym___inline__] = ACTIONS(1245),
-    [anon_sym___forceinline] = ACTIONS(1245),
-    [anon_sym_thread_local] = ACTIONS(1245),
-    [anon_sym___thread] = ACTIONS(1245),
-    [anon_sym_const] = ACTIONS(1245),
-    [anon_sym_constexpr] = ACTIONS(1245),
-    [anon_sym_volatile] = ACTIONS(1245),
-    [anon_sym_restrict] = ACTIONS(1245),
-    [anon_sym___restrict__] = ACTIONS(1245),
-    [anon_sym__Atomic] = ACTIONS(1245),
-    [anon_sym__Noreturn] = ACTIONS(1245),
-    [anon_sym_noreturn] = ACTIONS(1245),
-    [anon_sym__Nonnull] = ACTIONS(1245),
-    [anon_sym_alignas] = ACTIONS(1245),
-    [anon_sym__Alignas] = ACTIONS(1245),
-    [sym_primitive_type] = ACTIONS(1245),
-    [anon_sym_enum] = ACTIONS(1245),
-    [anon_sym_struct] = ACTIONS(1245),
-    [anon_sym_union] = ACTIONS(1245),
-    [anon_sym_if] = ACTIONS(1245),
-    [anon_sym_else] = ACTIONS(1245),
-    [anon_sym_switch] = ACTIONS(1245),
-    [anon_sym_case] = ACTIONS(1245),
-    [anon_sym_default] = ACTIONS(1245),
-    [anon_sym_while] = ACTIONS(1245),
-    [anon_sym_do] = ACTIONS(1245),
-    [anon_sym_for] = ACTIONS(1245),
-    [anon_sym_return] = ACTIONS(1245),
-    [anon_sym_break] = ACTIONS(1245),
-    [anon_sym_continue] = ACTIONS(1245),
-    [anon_sym_goto] = ACTIONS(1245),
-    [anon_sym___try] = ACTIONS(1245),
-    [anon_sym___leave] = ACTIONS(1245),
-    [anon_sym_DASH_DASH] = ACTIONS(1247),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1247),
-    [anon_sym_sizeof] = ACTIONS(1245),
-    [anon_sym___alignof__] = ACTIONS(1245),
-    [anon_sym___alignof] = ACTIONS(1245),
-    [anon_sym__alignof] = ACTIONS(1245),
-    [anon_sym_alignof] = ACTIONS(1245),
-    [anon_sym__Alignof] = ACTIONS(1245),
-    [anon_sym_offsetof] = ACTIONS(1245),
-    [anon_sym__Generic] = ACTIONS(1245),
-    [anon_sym_asm] = ACTIONS(1245),
-    [anon_sym___asm__] = ACTIONS(1245),
-    [anon_sym___asm] = ACTIONS(1245),
-    [sym_number_literal] = ACTIONS(1247),
-    [anon_sym_L_SQUOTE] = ACTIONS(1247),
-    [anon_sym_u_SQUOTE] = ACTIONS(1247),
-    [anon_sym_U_SQUOTE] = ACTIONS(1247),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1247),
-    [anon_sym_SQUOTE] = ACTIONS(1247),
-    [anon_sym_L_DQUOTE] = ACTIONS(1247),
-    [anon_sym_u_DQUOTE] = ACTIONS(1247),
-    [anon_sym_U_DQUOTE] = ACTIONS(1247),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1247),
-    [anon_sym_DQUOTE] = ACTIONS(1247),
-    [sym_true] = ACTIONS(1245),
-    [sym_false] = ACTIONS(1245),
-    [anon_sym_NULL] = ACTIONS(1245),
-    [anon_sym_nullptr] = ACTIONS(1245),
+    [sym_identifier] = ACTIONS(1254),
+    [aux_sym_preproc_include_token1] = ACTIONS(1254),
+    [aux_sym_preproc_def_token1] = ACTIONS(1254),
+    [aux_sym_preproc_if_token1] = ACTIONS(1254),
+    [aux_sym_preproc_if_token2] = ACTIONS(1254),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1254),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1254),
+    [aux_sym_preproc_else_token1] = ACTIONS(1254),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1254),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1254),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1254),
+    [sym_preproc_directive] = ACTIONS(1254),
+    [anon_sym_LPAREN2] = ACTIONS(1256),
+    [anon_sym_BANG] = ACTIONS(1256),
+    [anon_sym_TILDE] = ACTIONS(1256),
+    [anon_sym_DASH] = ACTIONS(1254),
+    [anon_sym_PLUS] = ACTIONS(1254),
+    [anon_sym_STAR] = ACTIONS(1256),
+    [anon_sym_AMP] = ACTIONS(1256),
+    [anon_sym_SEMI] = ACTIONS(1256),
+    [anon_sym___extension__] = ACTIONS(1254),
+    [anon_sym_typedef] = ACTIONS(1254),
+    [anon_sym_extern] = ACTIONS(1254),
+    [anon_sym___attribute__] = ACTIONS(1254),
+    [anon_sym___attribute] = ACTIONS(1254),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1256),
+    [anon_sym___declspec] = ACTIONS(1254),
+    [anon_sym___cdecl] = ACTIONS(1254),
+    [anon_sym___clrcall] = ACTIONS(1254),
+    [anon_sym___stdcall] = ACTIONS(1254),
+    [anon_sym___fastcall] = ACTIONS(1254),
+    [anon_sym___thiscall] = ACTIONS(1254),
+    [anon_sym___vectorcall] = ACTIONS(1254),
+    [anon_sym_LBRACE] = ACTIONS(1256),
+    [anon_sym_signed] = ACTIONS(1254),
+    [anon_sym_unsigned] = ACTIONS(1254),
+    [anon_sym_long] = ACTIONS(1254),
+    [anon_sym_short] = ACTIONS(1254),
+    [anon_sym_static] = ACTIONS(1254),
+    [anon_sym_auto] = ACTIONS(1254),
+    [anon_sym_register] = ACTIONS(1254),
+    [anon_sym_inline] = ACTIONS(1254),
+    [anon_sym___inline] = ACTIONS(1254),
+    [anon_sym___inline__] = ACTIONS(1254),
+    [anon_sym___forceinline] = ACTIONS(1254),
+    [anon_sym_thread_local] = ACTIONS(1254),
+    [anon_sym___thread] = ACTIONS(1254),
+    [anon_sym_const] = ACTIONS(1254),
+    [anon_sym_constexpr] = ACTIONS(1254),
+    [anon_sym_volatile] = ACTIONS(1254),
+    [anon_sym_restrict] = ACTIONS(1254),
+    [anon_sym___restrict__] = ACTIONS(1254),
+    [anon_sym__Atomic] = ACTIONS(1254),
+    [anon_sym__Noreturn] = ACTIONS(1254),
+    [anon_sym_noreturn] = ACTIONS(1254),
+    [anon_sym__Nonnull] = ACTIONS(1254),
+    [anon_sym_alignas] = ACTIONS(1254),
+    [anon_sym__Alignas] = ACTIONS(1254),
+    [sym_primitive_type] = ACTIONS(1254),
+    [anon_sym_enum] = ACTIONS(1254),
+    [anon_sym_struct] = ACTIONS(1254),
+    [anon_sym_union] = ACTIONS(1254),
+    [anon_sym_if] = ACTIONS(1254),
+    [anon_sym_else] = ACTIONS(1254),
+    [anon_sym_switch] = ACTIONS(1254),
+    [anon_sym_case] = ACTIONS(1254),
+    [anon_sym_default] = ACTIONS(1254),
+    [anon_sym_while] = ACTIONS(1254),
+    [anon_sym_do] = ACTIONS(1254),
+    [anon_sym_for] = ACTIONS(1254),
+    [anon_sym_return] = ACTIONS(1254),
+    [anon_sym_break] = ACTIONS(1254),
+    [anon_sym_continue] = ACTIONS(1254),
+    [anon_sym_goto] = ACTIONS(1254),
+    [anon_sym___try] = ACTIONS(1254),
+    [anon_sym___leave] = ACTIONS(1254),
+    [anon_sym_DASH_DASH] = ACTIONS(1256),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1256),
+    [anon_sym_sizeof] = ACTIONS(1254),
+    [anon_sym___alignof__] = ACTIONS(1254),
+    [anon_sym___alignof] = ACTIONS(1254),
+    [anon_sym__alignof] = ACTIONS(1254),
+    [anon_sym_alignof] = ACTIONS(1254),
+    [anon_sym__Alignof] = ACTIONS(1254),
+    [anon_sym_offsetof] = ACTIONS(1254),
+    [anon_sym__Generic] = ACTIONS(1254),
+    [anon_sym_asm] = ACTIONS(1254),
+    [anon_sym___asm__] = ACTIONS(1254),
+    [anon_sym___asm] = ACTIONS(1254),
+    [sym_number_literal] = ACTIONS(1256),
+    [anon_sym_L_SQUOTE] = ACTIONS(1256),
+    [anon_sym_u_SQUOTE] = ACTIONS(1256),
+    [anon_sym_U_SQUOTE] = ACTIONS(1256),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1256),
+    [anon_sym_SQUOTE] = ACTIONS(1256),
+    [anon_sym_L_DQUOTE] = ACTIONS(1256),
+    [anon_sym_u_DQUOTE] = ACTIONS(1256),
+    [anon_sym_U_DQUOTE] = ACTIONS(1256),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1256),
+    [anon_sym_DQUOTE] = ACTIONS(1256),
+    [sym_true] = ACTIONS(1254),
+    [sym_false] = ACTIONS(1254),
+    [anon_sym_NULL] = ACTIONS(1254),
+    [anon_sym_nullptr] = ACTIONS(1254),
     [sym_comment] = ACTIONS(3),
   },
   [117] = {
-    [sym_identifier] = ACTIONS(1249),
-    [aux_sym_preproc_include_token1] = ACTIONS(1249),
-    [aux_sym_preproc_def_token1] = ACTIONS(1249),
-    [aux_sym_preproc_if_token1] = ACTIONS(1249),
-    [aux_sym_preproc_if_token2] = ACTIONS(1249),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1249),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1249),
-    [aux_sym_preproc_else_token1] = ACTIONS(1249),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1249),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1249),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1249),
-    [sym_preproc_directive] = ACTIONS(1249),
-    [anon_sym_LPAREN2] = ACTIONS(1251),
-    [anon_sym_BANG] = ACTIONS(1251),
-    [anon_sym_TILDE] = ACTIONS(1251),
-    [anon_sym_DASH] = ACTIONS(1249),
-    [anon_sym_PLUS] = ACTIONS(1249),
-    [anon_sym_STAR] = ACTIONS(1251),
-    [anon_sym_AMP] = ACTIONS(1251),
-    [anon_sym_SEMI] = ACTIONS(1251),
-    [anon_sym___extension__] = ACTIONS(1249),
-    [anon_sym_typedef] = ACTIONS(1249),
-    [anon_sym_extern] = ACTIONS(1249),
-    [anon_sym___attribute__] = ACTIONS(1249),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1251),
-    [anon_sym___declspec] = ACTIONS(1249),
-    [anon_sym___cdecl] = ACTIONS(1249),
-    [anon_sym___clrcall] = ACTIONS(1249),
-    [anon_sym___stdcall] = ACTIONS(1249),
-    [anon_sym___fastcall] = ACTIONS(1249),
-    [anon_sym___thiscall] = ACTIONS(1249),
-    [anon_sym___vectorcall] = ACTIONS(1249),
-    [anon_sym_LBRACE] = ACTIONS(1251),
-    [anon_sym_signed] = ACTIONS(1249),
-    [anon_sym_unsigned] = ACTIONS(1249),
-    [anon_sym_long] = ACTIONS(1249),
-    [anon_sym_short] = ACTIONS(1249),
-    [anon_sym_static] = ACTIONS(1249),
-    [anon_sym_auto] = ACTIONS(1249),
-    [anon_sym_register] = ACTIONS(1249),
-    [anon_sym_inline] = ACTIONS(1249),
-    [anon_sym___inline] = ACTIONS(1249),
-    [anon_sym___inline__] = ACTIONS(1249),
-    [anon_sym___forceinline] = ACTIONS(1249),
-    [anon_sym_thread_local] = ACTIONS(1249),
-    [anon_sym___thread] = ACTIONS(1249),
-    [anon_sym_const] = ACTIONS(1249),
-    [anon_sym_constexpr] = ACTIONS(1249),
-    [anon_sym_volatile] = ACTIONS(1249),
-    [anon_sym_restrict] = ACTIONS(1249),
-    [anon_sym___restrict__] = ACTIONS(1249),
-    [anon_sym__Atomic] = ACTIONS(1249),
-    [anon_sym__Noreturn] = ACTIONS(1249),
-    [anon_sym_noreturn] = ACTIONS(1249),
-    [anon_sym__Nonnull] = ACTIONS(1249),
-    [anon_sym_alignas] = ACTIONS(1249),
-    [anon_sym__Alignas] = ACTIONS(1249),
-    [sym_primitive_type] = ACTIONS(1249),
-    [anon_sym_enum] = ACTIONS(1249),
-    [anon_sym_struct] = ACTIONS(1249),
-    [anon_sym_union] = ACTIONS(1249),
-    [anon_sym_if] = ACTIONS(1249),
-    [anon_sym_else] = ACTIONS(1249),
-    [anon_sym_switch] = ACTIONS(1249),
-    [anon_sym_case] = ACTIONS(1249),
-    [anon_sym_default] = ACTIONS(1249),
-    [anon_sym_while] = ACTIONS(1249),
-    [anon_sym_do] = ACTIONS(1249),
-    [anon_sym_for] = ACTIONS(1249),
-    [anon_sym_return] = ACTIONS(1249),
-    [anon_sym_break] = ACTIONS(1249),
-    [anon_sym_continue] = ACTIONS(1249),
-    [anon_sym_goto] = ACTIONS(1249),
-    [anon_sym___try] = ACTIONS(1249),
-    [anon_sym___leave] = ACTIONS(1249),
-    [anon_sym_DASH_DASH] = ACTIONS(1251),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1251),
-    [anon_sym_sizeof] = ACTIONS(1249),
-    [anon_sym___alignof__] = ACTIONS(1249),
-    [anon_sym___alignof] = ACTIONS(1249),
-    [anon_sym__alignof] = ACTIONS(1249),
-    [anon_sym_alignof] = ACTIONS(1249),
-    [anon_sym__Alignof] = ACTIONS(1249),
-    [anon_sym_offsetof] = ACTIONS(1249),
-    [anon_sym__Generic] = ACTIONS(1249),
-    [anon_sym_asm] = ACTIONS(1249),
-    [anon_sym___asm__] = ACTIONS(1249),
-    [anon_sym___asm] = ACTIONS(1249),
-    [sym_number_literal] = ACTIONS(1251),
-    [anon_sym_L_SQUOTE] = ACTIONS(1251),
-    [anon_sym_u_SQUOTE] = ACTIONS(1251),
-    [anon_sym_U_SQUOTE] = ACTIONS(1251),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1251),
-    [anon_sym_SQUOTE] = ACTIONS(1251),
-    [anon_sym_L_DQUOTE] = ACTIONS(1251),
-    [anon_sym_u_DQUOTE] = ACTIONS(1251),
-    [anon_sym_U_DQUOTE] = ACTIONS(1251),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1251),
-    [anon_sym_DQUOTE] = ACTIONS(1251),
-    [sym_true] = ACTIONS(1249),
-    [sym_false] = ACTIONS(1249),
-    [anon_sym_NULL] = ACTIONS(1249),
-    [anon_sym_nullptr] = ACTIONS(1249),
+    [ts_builtin_sym_end] = ACTIONS(1220),
+    [sym_identifier] = ACTIONS(1218),
+    [aux_sym_preproc_include_token1] = ACTIONS(1218),
+    [aux_sym_preproc_def_token1] = ACTIONS(1218),
+    [anon_sym_COMMA] = ACTIONS(1220),
+    [anon_sym_RPAREN] = ACTIONS(1220),
+    [aux_sym_preproc_if_token1] = ACTIONS(1218),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1218),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1218),
+    [sym_preproc_directive] = ACTIONS(1218),
+    [anon_sym_LPAREN2] = ACTIONS(1220),
+    [anon_sym_BANG] = ACTIONS(1220),
+    [anon_sym_TILDE] = ACTIONS(1220),
+    [anon_sym_DASH] = ACTIONS(1218),
+    [anon_sym_PLUS] = ACTIONS(1218),
+    [anon_sym_STAR] = ACTIONS(1220),
+    [anon_sym_AMP] = ACTIONS(1220),
+    [anon_sym_SEMI] = ACTIONS(1220),
+    [anon_sym___extension__] = ACTIONS(1218),
+    [anon_sym_typedef] = ACTIONS(1218),
+    [anon_sym_extern] = ACTIONS(1218),
+    [anon_sym___attribute__] = ACTIONS(1218),
+    [anon_sym___attribute] = ACTIONS(1218),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1220),
+    [anon_sym___declspec] = ACTIONS(1218),
+    [anon_sym___cdecl] = ACTIONS(1218),
+    [anon_sym___clrcall] = ACTIONS(1218),
+    [anon_sym___stdcall] = ACTIONS(1218),
+    [anon_sym___fastcall] = ACTIONS(1218),
+    [anon_sym___thiscall] = ACTIONS(1218),
+    [anon_sym___vectorcall] = ACTIONS(1218),
+    [anon_sym_LBRACE] = ACTIONS(1220),
+    [anon_sym_signed] = ACTIONS(1218),
+    [anon_sym_unsigned] = ACTIONS(1218),
+    [anon_sym_long] = ACTIONS(1218),
+    [anon_sym_short] = ACTIONS(1218),
+    [anon_sym_static] = ACTIONS(1218),
+    [anon_sym_auto] = ACTIONS(1218),
+    [anon_sym_register] = ACTIONS(1218),
+    [anon_sym_inline] = ACTIONS(1218),
+    [anon_sym___inline] = ACTIONS(1218),
+    [anon_sym___inline__] = ACTIONS(1218),
+    [anon_sym___forceinline] = ACTIONS(1218),
+    [anon_sym_thread_local] = ACTIONS(1218),
+    [anon_sym___thread] = ACTIONS(1218),
+    [anon_sym_const] = ACTIONS(1218),
+    [anon_sym_constexpr] = ACTIONS(1218),
+    [anon_sym_volatile] = ACTIONS(1218),
+    [anon_sym_restrict] = ACTIONS(1218),
+    [anon_sym___restrict__] = ACTIONS(1218),
+    [anon_sym__Atomic] = ACTIONS(1218),
+    [anon_sym__Noreturn] = ACTIONS(1218),
+    [anon_sym_noreturn] = ACTIONS(1218),
+    [anon_sym__Nonnull] = ACTIONS(1218),
+    [anon_sym_alignas] = ACTIONS(1218),
+    [anon_sym__Alignas] = ACTIONS(1218),
+    [sym_primitive_type] = ACTIONS(1218),
+    [anon_sym_enum] = ACTIONS(1218),
+    [anon_sym_struct] = ACTIONS(1218),
+    [anon_sym_union] = ACTIONS(1218),
+    [anon_sym_if] = ACTIONS(1218),
+    [anon_sym_else] = ACTIONS(1218),
+    [anon_sym_switch] = ACTIONS(1218),
+    [anon_sym_case] = ACTIONS(1218),
+    [anon_sym_default] = ACTIONS(1218),
+    [anon_sym_while] = ACTIONS(1218),
+    [anon_sym_do] = ACTIONS(1218),
+    [anon_sym_for] = ACTIONS(1218),
+    [anon_sym_return] = ACTIONS(1218),
+    [anon_sym_break] = ACTIONS(1218),
+    [anon_sym_continue] = ACTIONS(1218),
+    [anon_sym_goto] = ACTIONS(1218),
+    [anon_sym___try] = ACTIONS(1218),
+    [anon_sym___except] = ACTIONS(1218),
+    [anon_sym___finally] = ACTIONS(1218),
+    [anon_sym___leave] = ACTIONS(1218),
+    [anon_sym_DASH_DASH] = ACTIONS(1220),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1220),
+    [anon_sym_sizeof] = ACTIONS(1218),
+    [anon_sym___alignof__] = ACTIONS(1218),
+    [anon_sym___alignof] = ACTIONS(1218),
+    [anon_sym__alignof] = ACTIONS(1218),
+    [anon_sym_alignof] = ACTIONS(1218),
+    [anon_sym__Alignof] = ACTIONS(1218),
+    [anon_sym_offsetof] = ACTIONS(1218),
+    [anon_sym__Generic] = ACTIONS(1218),
+    [anon_sym_asm] = ACTIONS(1218),
+    [anon_sym___asm__] = ACTIONS(1218),
+    [anon_sym___asm] = ACTIONS(1218),
+    [sym_number_literal] = ACTIONS(1220),
+    [anon_sym_L_SQUOTE] = ACTIONS(1220),
+    [anon_sym_u_SQUOTE] = ACTIONS(1220),
+    [anon_sym_U_SQUOTE] = ACTIONS(1220),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1220),
+    [anon_sym_SQUOTE] = ACTIONS(1220),
+    [anon_sym_L_DQUOTE] = ACTIONS(1220),
+    [anon_sym_u_DQUOTE] = ACTIONS(1220),
+    [anon_sym_U_DQUOTE] = ACTIONS(1220),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1220),
+    [anon_sym_DQUOTE] = ACTIONS(1220),
+    [sym_true] = ACTIONS(1218),
+    [sym_false] = ACTIONS(1218),
+    [anon_sym_NULL] = ACTIONS(1218),
+    [anon_sym_nullptr] = ACTIONS(1218),
     [sym_comment] = ACTIONS(3),
   },
   [118] = {
-    [sym_identifier] = ACTIONS(1253),
-    [aux_sym_preproc_include_token1] = ACTIONS(1253),
-    [aux_sym_preproc_def_token1] = ACTIONS(1253),
-    [aux_sym_preproc_if_token1] = ACTIONS(1253),
-    [aux_sym_preproc_if_token2] = ACTIONS(1253),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1253),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1253),
-    [aux_sym_preproc_else_token1] = ACTIONS(1253),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1253),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1253),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1253),
-    [sym_preproc_directive] = ACTIONS(1253),
-    [anon_sym_LPAREN2] = ACTIONS(1255),
-    [anon_sym_BANG] = ACTIONS(1255),
-    [anon_sym_TILDE] = ACTIONS(1255),
-    [anon_sym_DASH] = ACTIONS(1253),
-    [anon_sym_PLUS] = ACTIONS(1253),
-    [anon_sym_STAR] = ACTIONS(1255),
-    [anon_sym_AMP] = ACTIONS(1255),
-    [anon_sym_SEMI] = ACTIONS(1255),
-    [anon_sym___extension__] = ACTIONS(1253),
-    [anon_sym_typedef] = ACTIONS(1253),
-    [anon_sym_extern] = ACTIONS(1253),
-    [anon_sym___attribute__] = ACTIONS(1253),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1255),
-    [anon_sym___declspec] = ACTIONS(1253),
-    [anon_sym___cdecl] = ACTIONS(1253),
-    [anon_sym___clrcall] = ACTIONS(1253),
-    [anon_sym___stdcall] = ACTIONS(1253),
-    [anon_sym___fastcall] = ACTIONS(1253),
-    [anon_sym___thiscall] = ACTIONS(1253),
-    [anon_sym___vectorcall] = ACTIONS(1253),
-    [anon_sym_LBRACE] = ACTIONS(1255),
-    [anon_sym_signed] = ACTIONS(1253),
-    [anon_sym_unsigned] = ACTIONS(1253),
-    [anon_sym_long] = ACTIONS(1253),
-    [anon_sym_short] = ACTIONS(1253),
-    [anon_sym_static] = ACTIONS(1253),
-    [anon_sym_auto] = ACTIONS(1253),
-    [anon_sym_register] = ACTIONS(1253),
-    [anon_sym_inline] = ACTIONS(1253),
-    [anon_sym___inline] = ACTIONS(1253),
-    [anon_sym___inline__] = ACTIONS(1253),
-    [anon_sym___forceinline] = ACTIONS(1253),
-    [anon_sym_thread_local] = ACTIONS(1253),
-    [anon_sym___thread] = ACTIONS(1253),
-    [anon_sym_const] = ACTIONS(1253),
-    [anon_sym_constexpr] = ACTIONS(1253),
-    [anon_sym_volatile] = ACTIONS(1253),
-    [anon_sym_restrict] = ACTIONS(1253),
-    [anon_sym___restrict__] = ACTIONS(1253),
-    [anon_sym__Atomic] = ACTIONS(1253),
-    [anon_sym__Noreturn] = ACTIONS(1253),
-    [anon_sym_noreturn] = ACTIONS(1253),
-    [anon_sym__Nonnull] = ACTIONS(1253),
-    [anon_sym_alignas] = ACTIONS(1253),
-    [anon_sym__Alignas] = ACTIONS(1253),
-    [sym_primitive_type] = ACTIONS(1253),
-    [anon_sym_enum] = ACTIONS(1253),
-    [anon_sym_struct] = ACTIONS(1253),
-    [anon_sym_union] = ACTIONS(1253),
-    [anon_sym_if] = ACTIONS(1253),
-    [anon_sym_else] = ACTIONS(1253),
-    [anon_sym_switch] = ACTIONS(1253),
-    [anon_sym_case] = ACTIONS(1253),
-    [anon_sym_default] = ACTIONS(1253),
-    [anon_sym_while] = ACTIONS(1253),
-    [anon_sym_do] = ACTIONS(1253),
-    [anon_sym_for] = ACTIONS(1253),
-    [anon_sym_return] = ACTIONS(1253),
-    [anon_sym_break] = ACTIONS(1253),
-    [anon_sym_continue] = ACTIONS(1253),
-    [anon_sym_goto] = ACTIONS(1253),
-    [anon_sym___try] = ACTIONS(1253),
-    [anon_sym___leave] = ACTIONS(1253),
-    [anon_sym_DASH_DASH] = ACTIONS(1255),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1255),
-    [anon_sym_sizeof] = ACTIONS(1253),
-    [anon_sym___alignof__] = ACTIONS(1253),
-    [anon_sym___alignof] = ACTIONS(1253),
-    [anon_sym__alignof] = ACTIONS(1253),
-    [anon_sym_alignof] = ACTIONS(1253),
-    [anon_sym__Alignof] = ACTIONS(1253),
-    [anon_sym_offsetof] = ACTIONS(1253),
-    [anon_sym__Generic] = ACTIONS(1253),
-    [anon_sym_asm] = ACTIONS(1253),
-    [anon_sym___asm__] = ACTIONS(1253),
-    [anon_sym___asm] = ACTIONS(1253),
-    [sym_number_literal] = ACTIONS(1255),
-    [anon_sym_L_SQUOTE] = ACTIONS(1255),
-    [anon_sym_u_SQUOTE] = ACTIONS(1255),
-    [anon_sym_U_SQUOTE] = ACTIONS(1255),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1255),
-    [anon_sym_SQUOTE] = ACTIONS(1255),
-    [anon_sym_L_DQUOTE] = ACTIONS(1255),
-    [anon_sym_u_DQUOTE] = ACTIONS(1255),
-    [anon_sym_U_DQUOTE] = ACTIONS(1255),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1255),
-    [anon_sym_DQUOTE] = ACTIONS(1255),
-    [sym_true] = ACTIONS(1253),
-    [sym_false] = ACTIONS(1253),
-    [anon_sym_NULL] = ACTIONS(1253),
-    [anon_sym_nullptr] = ACTIONS(1253),
+    [sym_identifier] = ACTIONS(1258),
+    [aux_sym_preproc_include_token1] = ACTIONS(1258),
+    [aux_sym_preproc_def_token1] = ACTIONS(1258),
+    [aux_sym_preproc_if_token1] = ACTIONS(1258),
+    [aux_sym_preproc_if_token2] = ACTIONS(1258),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1258),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1258),
+    [aux_sym_preproc_else_token1] = ACTIONS(1258),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1258),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1258),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1258),
+    [sym_preproc_directive] = ACTIONS(1258),
+    [anon_sym_LPAREN2] = ACTIONS(1260),
+    [anon_sym_BANG] = ACTIONS(1260),
+    [anon_sym_TILDE] = ACTIONS(1260),
+    [anon_sym_DASH] = ACTIONS(1258),
+    [anon_sym_PLUS] = ACTIONS(1258),
+    [anon_sym_STAR] = ACTIONS(1260),
+    [anon_sym_AMP] = ACTIONS(1260),
+    [anon_sym_SEMI] = ACTIONS(1260),
+    [anon_sym___extension__] = ACTIONS(1258),
+    [anon_sym_typedef] = ACTIONS(1258),
+    [anon_sym_extern] = ACTIONS(1258),
+    [anon_sym___attribute__] = ACTIONS(1258),
+    [anon_sym___attribute] = ACTIONS(1258),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1260),
+    [anon_sym___declspec] = ACTIONS(1258),
+    [anon_sym___cdecl] = ACTIONS(1258),
+    [anon_sym___clrcall] = ACTIONS(1258),
+    [anon_sym___stdcall] = ACTIONS(1258),
+    [anon_sym___fastcall] = ACTIONS(1258),
+    [anon_sym___thiscall] = ACTIONS(1258),
+    [anon_sym___vectorcall] = ACTIONS(1258),
+    [anon_sym_LBRACE] = ACTIONS(1260),
+    [anon_sym_signed] = ACTIONS(1258),
+    [anon_sym_unsigned] = ACTIONS(1258),
+    [anon_sym_long] = ACTIONS(1258),
+    [anon_sym_short] = ACTIONS(1258),
+    [anon_sym_static] = ACTIONS(1258),
+    [anon_sym_auto] = ACTIONS(1258),
+    [anon_sym_register] = ACTIONS(1258),
+    [anon_sym_inline] = ACTIONS(1258),
+    [anon_sym___inline] = ACTIONS(1258),
+    [anon_sym___inline__] = ACTIONS(1258),
+    [anon_sym___forceinline] = ACTIONS(1258),
+    [anon_sym_thread_local] = ACTIONS(1258),
+    [anon_sym___thread] = ACTIONS(1258),
+    [anon_sym_const] = ACTIONS(1258),
+    [anon_sym_constexpr] = ACTIONS(1258),
+    [anon_sym_volatile] = ACTIONS(1258),
+    [anon_sym_restrict] = ACTIONS(1258),
+    [anon_sym___restrict__] = ACTIONS(1258),
+    [anon_sym__Atomic] = ACTIONS(1258),
+    [anon_sym__Noreturn] = ACTIONS(1258),
+    [anon_sym_noreturn] = ACTIONS(1258),
+    [anon_sym__Nonnull] = ACTIONS(1258),
+    [anon_sym_alignas] = ACTIONS(1258),
+    [anon_sym__Alignas] = ACTIONS(1258),
+    [sym_primitive_type] = ACTIONS(1258),
+    [anon_sym_enum] = ACTIONS(1258),
+    [anon_sym_struct] = ACTIONS(1258),
+    [anon_sym_union] = ACTIONS(1258),
+    [anon_sym_if] = ACTIONS(1258),
+    [anon_sym_else] = ACTIONS(1258),
+    [anon_sym_switch] = ACTIONS(1258),
+    [anon_sym_case] = ACTIONS(1258),
+    [anon_sym_default] = ACTIONS(1258),
+    [anon_sym_while] = ACTIONS(1258),
+    [anon_sym_do] = ACTIONS(1258),
+    [anon_sym_for] = ACTIONS(1258),
+    [anon_sym_return] = ACTIONS(1258),
+    [anon_sym_break] = ACTIONS(1258),
+    [anon_sym_continue] = ACTIONS(1258),
+    [anon_sym_goto] = ACTIONS(1258),
+    [anon_sym___try] = ACTIONS(1258),
+    [anon_sym___leave] = ACTIONS(1258),
+    [anon_sym_DASH_DASH] = ACTIONS(1260),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1260),
+    [anon_sym_sizeof] = ACTIONS(1258),
+    [anon_sym___alignof__] = ACTIONS(1258),
+    [anon_sym___alignof] = ACTIONS(1258),
+    [anon_sym__alignof] = ACTIONS(1258),
+    [anon_sym_alignof] = ACTIONS(1258),
+    [anon_sym__Alignof] = ACTIONS(1258),
+    [anon_sym_offsetof] = ACTIONS(1258),
+    [anon_sym__Generic] = ACTIONS(1258),
+    [anon_sym_asm] = ACTIONS(1258),
+    [anon_sym___asm__] = ACTIONS(1258),
+    [anon_sym___asm] = ACTIONS(1258),
+    [sym_number_literal] = ACTIONS(1260),
+    [anon_sym_L_SQUOTE] = ACTIONS(1260),
+    [anon_sym_u_SQUOTE] = ACTIONS(1260),
+    [anon_sym_U_SQUOTE] = ACTIONS(1260),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1260),
+    [anon_sym_SQUOTE] = ACTIONS(1260),
+    [anon_sym_L_DQUOTE] = ACTIONS(1260),
+    [anon_sym_u_DQUOTE] = ACTIONS(1260),
+    [anon_sym_U_DQUOTE] = ACTIONS(1260),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1260),
+    [anon_sym_DQUOTE] = ACTIONS(1260),
+    [sym_true] = ACTIONS(1258),
+    [sym_false] = ACTIONS(1258),
+    [anon_sym_NULL] = ACTIONS(1258),
+    [anon_sym_nullptr] = ACTIONS(1258),
     [sym_comment] = ACTIONS(3),
   },
   [119] = {
-    [sym_identifier] = ACTIONS(1257),
-    [aux_sym_preproc_include_token1] = ACTIONS(1257),
-    [aux_sym_preproc_def_token1] = ACTIONS(1257),
-    [aux_sym_preproc_if_token1] = ACTIONS(1257),
-    [aux_sym_preproc_if_token2] = ACTIONS(1257),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1257),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1257),
-    [aux_sym_preproc_else_token1] = ACTIONS(1257),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1257),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1257),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1257),
-    [sym_preproc_directive] = ACTIONS(1257),
-    [anon_sym_LPAREN2] = ACTIONS(1259),
-    [anon_sym_BANG] = ACTIONS(1259),
-    [anon_sym_TILDE] = ACTIONS(1259),
-    [anon_sym_DASH] = ACTIONS(1257),
-    [anon_sym_PLUS] = ACTIONS(1257),
-    [anon_sym_STAR] = ACTIONS(1259),
-    [anon_sym_AMP] = ACTIONS(1259),
-    [anon_sym_SEMI] = ACTIONS(1259),
-    [anon_sym___extension__] = ACTIONS(1257),
-    [anon_sym_typedef] = ACTIONS(1257),
-    [anon_sym_extern] = ACTIONS(1257),
-    [anon_sym___attribute__] = ACTIONS(1257),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1259),
-    [anon_sym___declspec] = ACTIONS(1257),
-    [anon_sym___cdecl] = ACTIONS(1257),
-    [anon_sym___clrcall] = ACTIONS(1257),
-    [anon_sym___stdcall] = ACTIONS(1257),
-    [anon_sym___fastcall] = ACTIONS(1257),
-    [anon_sym___thiscall] = ACTIONS(1257),
-    [anon_sym___vectorcall] = ACTIONS(1257),
-    [anon_sym_LBRACE] = ACTIONS(1259),
-    [anon_sym_signed] = ACTIONS(1257),
-    [anon_sym_unsigned] = ACTIONS(1257),
-    [anon_sym_long] = ACTIONS(1257),
-    [anon_sym_short] = ACTIONS(1257),
-    [anon_sym_static] = ACTIONS(1257),
-    [anon_sym_auto] = ACTIONS(1257),
-    [anon_sym_register] = ACTIONS(1257),
-    [anon_sym_inline] = ACTIONS(1257),
-    [anon_sym___inline] = ACTIONS(1257),
-    [anon_sym___inline__] = ACTIONS(1257),
-    [anon_sym___forceinline] = ACTIONS(1257),
-    [anon_sym_thread_local] = ACTIONS(1257),
-    [anon_sym___thread] = ACTIONS(1257),
-    [anon_sym_const] = ACTIONS(1257),
-    [anon_sym_constexpr] = ACTIONS(1257),
-    [anon_sym_volatile] = ACTIONS(1257),
-    [anon_sym_restrict] = ACTIONS(1257),
-    [anon_sym___restrict__] = ACTIONS(1257),
-    [anon_sym__Atomic] = ACTIONS(1257),
-    [anon_sym__Noreturn] = ACTIONS(1257),
-    [anon_sym_noreturn] = ACTIONS(1257),
-    [anon_sym__Nonnull] = ACTIONS(1257),
-    [anon_sym_alignas] = ACTIONS(1257),
-    [anon_sym__Alignas] = ACTIONS(1257),
-    [sym_primitive_type] = ACTIONS(1257),
-    [anon_sym_enum] = ACTIONS(1257),
-    [anon_sym_struct] = ACTIONS(1257),
-    [anon_sym_union] = ACTIONS(1257),
-    [anon_sym_if] = ACTIONS(1257),
-    [anon_sym_switch] = ACTIONS(1257),
-    [anon_sym_case] = ACTIONS(1257),
-    [anon_sym_default] = ACTIONS(1257),
-    [anon_sym_while] = ACTIONS(1257),
-    [anon_sym_do] = ACTIONS(1257),
-    [anon_sym_for] = ACTIONS(1257),
-    [anon_sym_return] = ACTIONS(1257),
-    [anon_sym_break] = ACTIONS(1257),
-    [anon_sym_continue] = ACTIONS(1257),
-    [anon_sym_goto] = ACTIONS(1257),
-    [anon_sym___try] = ACTIONS(1257),
-    [anon_sym___leave] = ACTIONS(1257),
-    [anon_sym_DASH_DASH] = ACTIONS(1259),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1259),
-    [anon_sym_sizeof] = ACTIONS(1257),
-    [anon_sym___alignof__] = ACTIONS(1257),
-    [anon_sym___alignof] = ACTIONS(1257),
-    [anon_sym__alignof] = ACTIONS(1257),
-    [anon_sym_alignof] = ACTIONS(1257),
-    [anon_sym__Alignof] = ACTIONS(1257),
-    [anon_sym_offsetof] = ACTIONS(1257),
-    [anon_sym__Generic] = ACTIONS(1257),
-    [anon_sym_asm] = ACTIONS(1257),
-    [anon_sym___asm__] = ACTIONS(1257),
-    [anon_sym___asm] = ACTIONS(1257),
-    [sym_number_literal] = ACTIONS(1259),
-    [anon_sym_L_SQUOTE] = ACTIONS(1259),
-    [anon_sym_u_SQUOTE] = ACTIONS(1259),
-    [anon_sym_U_SQUOTE] = ACTIONS(1259),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1259),
-    [anon_sym_SQUOTE] = ACTIONS(1259),
-    [anon_sym_L_DQUOTE] = ACTIONS(1259),
-    [anon_sym_u_DQUOTE] = ACTIONS(1259),
-    [anon_sym_U_DQUOTE] = ACTIONS(1259),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1259),
-    [anon_sym_DQUOTE] = ACTIONS(1259),
-    [sym_true] = ACTIONS(1257),
-    [sym_false] = ACTIONS(1257),
-    [anon_sym_NULL] = ACTIONS(1257),
-    [anon_sym_nullptr] = ACTIONS(1257),
+    [sym_identifier] = ACTIONS(1262),
+    [aux_sym_preproc_include_token1] = ACTIONS(1262),
+    [aux_sym_preproc_def_token1] = ACTIONS(1262),
+    [aux_sym_preproc_if_token1] = ACTIONS(1262),
+    [aux_sym_preproc_if_token2] = ACTIONS(1262),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1262),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1262),
+    [aux_sym_preproc_else_token1] = ACTIONS(1262),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1262),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1262),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1262),
+    [sym_preproc_directive] = ACTIONS(1262),
+    [anon_sym_LPAREN2] = ACTIONS(1265),
+    [anon_sym_BANG] = ACTIONS(1265),
+    [anon_sym_TILDE] = ACTIONS(1265),
+    [anon_sym_DASH] = ACTIONS(1262),
+    [anon_sym_PLUS] = ACTIONS(1262),
+    [anon_sym_STAR] = ACTIONS(1265),
+    [anon_sym_AMP] = ACTIONS(1265),
+    [anon_sym_SEMI] = ACTIONS(1265),
+    [anon_sym___extension__] = ACTIONS(1262),
+    [anon_sym_typedef] = ACTIONS(1262),
+    [anon_sym_extern] = ACTIONS(1262),
+    [anon_sym___attribute__] = ACTIONS(1262),
+    [anon_sym___attribute] = ACTIONS(1262),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1265),
+    [anon_sym___declspec] = ACTIONS(1262),
+    [anon_sym___cdecl] = ACTIONS(1262),
+    [anon_sym___clrcall] = ACTIONS(1262),
+    [anon_sym___stdcall] = ACTIONS(1262),
+    [anon_sym___fastcall] = ACTIONS(1262),
+    [anon_sym___thiscall] = ACTIONS(1262),
+    [anon_sym___vectorcall] = ACTIONS(1262),
+    [anon_sym_LBRACE] = ACTIONS(1265),
+    [anon_sym_signed] = ACTIONS(1262),
+    [anon_sym_unsigned] = ACTIONS(1262),
+    [anon_sym_long] = ACTIONS(1262),
+    [anon_sym_short] = ACTIONS(1262),
+    [anon_sym_static] = ACTIONS(1262),
+    [anon_sym_auto] = ACTIONS(1262),
+    [anon_sym_register] = ACTIONS(1262),
+    [anon_sym_inline] = ACTIONS(1262),
+    [anon_sym___inline] = ACTIONS(1262),
+    [anon_sym___inline__] = ACTIONS(1262),
+    [anon_sym___forceinline] = ACTIONS(1262),
+    [anon_sym_thread_local] = ACTIONS(1262),
+    [anon_sym___thread] = ACTIONS(1262),
+    [anon_sym_const] = ACTIONS(1262),
+    [anon_sym_constexpr] = ACTIONS(1262),
+    [anon_sym_volatile] = ACTIONS(1262),
+    [anon_sym_restrict] = ACTIONS(1262),
+    [anon_sym___restrict__] = ACTIONS(1262),
+    [anon_sym__Atomic] = ACTIONS(1262),
+    [anon_sym__Noreturn] = ACTIONS(1262),
+    [anon_sym_noreturn] = ACTIONS(1262),
+    [anon_sym__Nonnull] = ACTIONS(1262),
+    [anon_sym_alignas] = ACTIONS(1262),
+    [anon_sym__Alignas] = ACTIONS(1262),
+    [sym_primitive_type] = ACTIONS(1262),
+    [anon_sym_enum] = ACTIONS(1262),
+    [anon_sym_struct] = ACTIONS(1262),
+    [anon_sym_union] = ACTIONS(1262),
+    [anon_sym_if] = ACTIONS(1262),
+    [anon_sym_switch] = ACTIONS(1262),
+    [anon_sym_case] = ACTIONS(1262),
+    [anon_sym_default] = ACTIONS(1262),
+    [anon_sym_while] = ACTIONS(1262),
+    [anon_sym_do] = ACTIONS(1262),
+    [anon_sym_for] = ACTIONS(1262),
+    [anon_sym_return] = ACTIONS(1262),
+    [anon_sym_break] = ACTIONS(1262),
+    [anon_sym_continue] = ACTIONS(1262),
+    [anon_sym_goto] = ACTIONS(1262),
+    [anon_sym___try] = ACTIONS(1262),
+    [anon_sym___leave] = ACTIONS(1262),
+    [anon_sym_DASH_DASH] = ACTIONS(1265),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1265),
+    [anon_sym_sizeof] = ACTIONS(1262),
+    [anon_sym___alignof__] = ACTIONS(1262),
+    [anon_sym___alignof] = ACTIONS(1262),
+    [anon_sym__alignof] = ACTIONS(1262),
+    [anon_sym_alignof] = ACTIONS(1262),
+    [anon_sym__Alignof] = ACTIONS(1262),
+    [anon_sym_offsetof] = ACTIONS(1262),
+    [anon_sym__Generic] = ACTIONS(1262),
+    [anon_sym_asm] = ACTIONS(1262),
+    [anon_sym___asm__] = ACTIONS(1262),
+    [anon_sym___asm] = ACTIONS(1262),
+    [sym_number_literal] = ACTIONS(1265),
+    [anon_sym_L_SQUOTE] = ACTIONS(1265),
+    [anon_sym_u_SQUOTE] = ACTIONS(1265),
+    [anon_sym_U_SQUOTE] = ACTIONS(1265),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1265),
+    [anon_sym_SQUOTE] = ACTIONS(1265),
+    [anon_sym_L_DQUOTE] = ACTIONS(1265),
+    [anon_sym_u_DQUOTE] = ACTIONS(1265),
+    [anon_sym_U_DQUOTE] = ACTIONS(1265),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1265),
+    [anon_sym_DQUOTE] = ACTIONS(1265),
+    [sym_true] = ACTIONS(1262),
+    [sym_false] = ACTIONS(1262),
+    [anon_sym_NULL] = ACTIONS(1262),
+    [anon_sym_nullptr] = ACTIONS(1262),
     [sym_comment] = ACTIONS(3),
   },
   [120] = {
-    [sym_identifier] = ACTIONS(1261),
-    [aux_sym_preproc_include_token1] = ACTIONS(1261),
-    [aux_sym_preproc_def_token1] = ACTIONS(1261),
-    [aux_sym_preproc_if_token1] = ACTIONS(1261),
-    [aux_sym_preproc_if_token2] = ACTIONS(1261),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1261),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1261),
-    [aux_sym_preproc_else_token1] = ACTIONS(1261),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1261),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1261),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1261),
-    [sym_preproc_directive] = ACTIONS(1261),
-    [anon_sym_LPAREN2] = ACTIONS(1263),
-    [anon_sym_BANG] = ACTIONS(1263),
-    [anon_sym_TILDE] = ACTIONS(1263),
-    [anon_sym_DASH] = ACTIONS(1261),
-    [anon_sym_PLUS] = ACTIONS(1261),
-    [anon_sym_STAR] = ACTIONS(1263),
-    [anon_sym_AMP] = ACTIONS(1263),
-    [anon_sym_SEMI] = ACTIONS(1263),
-    [anon_sym___extension__] = ACTIONS(1261),
-    [anon_sym_typedef] = ACTIONS(1261),
-    [anon_sym_extern] = ACTIONS(1261),
-    [anon_sym___attribute__] = ACTIONS(1261),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1263),
-    [anon_sym___declspec] = ACTIONS(1261),
-    [anon_sym___cdecl] = ACTIONS(1261),
-    [anon_sym___clrcall] = ACTIONS(1261),
-    [anon_sym___stdcall] = ACTIONS(1261),
-    [anon_sym___fastcall] = ACTIONS(1261),
-    [anon_sym___thiscall] = ACTIONS(1261),
-    [anon_sym___vectorcall] = ACTIONS(1261),
-    [anon_sym_LBRACE] = ACTIONS(1263),
-    [anon_sym_signed] = ACTIONS(1261),
-    [anon_sym_unsigned] = ACTIONS(1261),
-    [anon_sym_long] = ACTIONS(1261),
-    [anon_sym_short] = ACTIONS(1261),
-    [anon_sym_static] = ACTIONS(1261),
-    [anon_sym_auto] = ACTIONS(1261),
-    [anon_sym_register] = ACTIONS(1261),
-    [anon_sym_inline] = ACTIONS(1261),
-    [anon_sym___inline] = ACTIONS(1261),
-    [anon_sym___inline__] = ACTIONS(1261),
-    [anon_sym___forceinline] = ACTIONS(1261),
-    [anon_sym_thread_local] = ACTIONS(1261),
-    [anon_sym___thread] = ACTIONS(1261),
-    [anon_sym_const] = ACTIONS(1261),
-    [anon_sym_constexpr] = ACTIONS(1261),
-    [anon_sym_volatile] = ACTIONS(1261),
-    [anon_sym_restrict] = ACTIONS(1261),
-    [anon_sym___restrict__] = ACTIONS(1261),
-    [anon_sym__Atomic] = ACTIONS(1261),
-    [anon_sym__Noreturn] = ACTIONS(1261),
-    [anon_sym_noreturn] = ACTIONS(1261),
-    [anon_sym__Nonnull] = ACTIONS(1261),
-    [anon_sym_alignas] = ACTIONS(1261),
-    [anon_sym__Alignas] = ACTIONS(1261),
-    [sym_primitive_type] = ACTIONS(1261),
-    [anon_sym_enum] = ACTIONS(1261),
-    [anon_sym_struct] = ACTIONS(1261),
-    [anon_sym_union] = ACTIONS(1261),
-    [anon_sym_if] = ACTIONS(1261),
-    [anon_sym_switch] = ACTIONS(1261),
-    [anon_sym_case] = ACTIONS(1261),
-    [anon_sym_default] = ACTIONS(1261),
-    [anon_sym_while] = ACTIONS(1261),
-    [anon_sym_do] = ACTIONS(1261),
-    [anon_sym_for] = ACTIONS(1261),
-    [anon_sym_return] = ACTIONS(1261),
-    [anon_sym_break] = ACTIONS(1261),
-    [anon_sym_continue] = ACTIONS(1261),
-    [anon_sym_goto] = ACTIONS(1261),
-    [anon_sym___try] = ACTIONS(1261),
-    [anon_sym___leave] = ACTIONS(1261),
-    [anon_sym_DASH_DASH] = ACTIONS(1263),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1263),
-    [anon_sym_sizeof] = ACTIONS(1261),
-    [anon_sym___alignof__] = ACTIONS(1261),
-    [anon_sym___alignof] = ACTIONS(1261),
-    [anon_sym__alignof] = ACTIONS(1261),
-    [anon_sym_alignof] = ACTIONS(1261),
-    [anon_sym__Alignof] = ACTIONS(1261),
-    [anon_sym_offsetof] = ACTIONS(1261),
-    [anon_sym__Generic] = ACTIONS(1261),
-    [anon_sym_asm] = ACTIONS(1261),
-    [anon_sym___asm__] = ACTIONS(1261),
-    [anon_sym___asm] = ACTIONS(1261),
-    [sym_number_literal] = ACTIONS(1263),
-    [anon_sym_L_SQUOTE] = ACTIONS(1263),
-    [anon_sym_u_SQUOTE] = ACTIONS(1263),
-    [anon_sym_U_SQUOTE] = ACTIONS(1263),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1263),
-    [anon_sym_SQUOTE] = ACTIONS(1263),
-    [anon_sym_L_DQUOTE] = ACTIONS(1263),
-    [anon_sym_u_DQUOTE] = ACTIONS(1263),
-    [anon_sym_U_DQUOTE] = ACTIONS(1263),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1263),
-    [anon_sym_DQUOTE] = ACTIONS(1263),
-    [sym_true] = ACTIONS(1261),
-    [sym_false] = ACTIONS(1261),
-    [anon_sym_NULL] = ACTIONS(1261),
-    [anon_sym_nullptr] = ACTIONS(1261),
+    [sym_identifier] = ACTIONS(1268),
+    [aux_sym_preproc_include_token1] = ACTIONS(1268),
+    [aux_sym_preproc_def_token1] = ACTIONS(1268),
+    [aux_sym_preproc_if_token1] = ACTIONS(1268),
+    [aux_sym_preproc_if_token2] = ACTIONS(1268),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1268),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1268),
+    [aux_sym_preproc_else_token1] = ACTIONS(1268),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1268),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1268),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1268),
+    [sym_preproc_directive] = ACTIONS(1268),
+    [anon_sym_LPAREN2] = ACTIONS(1270),
+    [anon_sym_BANG] = ACTIONS(1270),
+    [anon_sym_TILDE] = ACTIONS(1270),
+    [anon_sym_DASH] = ACTIONS(1268),
+    [anon_sym_PLUS] = ACTIONS(1268),
+    [anon_sym_STAR] = ACTIONS(1270),
+    [anon_sym_AMP] = ACTIONS(1270),
+    [anon_sym_SEMI] = ACTIONS(1270),
+    [anon_sym___extension__] = ACTIONS(1268),
+    [anon_sym_typedef] = ACTIONS(1268),
+    [anon_sym_extern] = ACTIONS(1268),
+    [anon_sym___attribute__] = ACTIONS(1268),
+    [anon_sym___attribute] = ACTIONS(1268),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1270),
+    [anon_sym___declspec] = ACTIONS(1268),
+    [anon_sym___cdecl] = ACTIONS(1268),
+    [anon_sym___clrcall] = ACTIONS(1268),
+    [anon_sym___stdcall] = ACTIONS(1268),
+    [anon_sym___fastcall] = ACTIONS(1268),
+    [anon_sym___thiscall] = ACTIONS(1268),
+    [anon_sym___vectorcall] = ACTIONS(1268),
+    [anon_sym_LBRACE] = ACTIONS(1270),
+    [anon_sym_signed] = ACTIONS(1268),
+    [anon_sym_unsigned] = ACTIONS(1268),
+    [anon_sym_long] = ACTIONS(1268),
+    [anon_sym_short] = ACTIONS(1268),
+    [anon_sym_static] = ACTIONS(1268),
+    [anon_sym_auto] = ACTIONS(1268),
+    [anon_sym_register] = ACTIONS(1268),
+    [anon_sym_inline] = ACTIONS(1268),
+    [anon_sym___inline] = ACTIONS(1268),
+    [anon_sym___inline__] = ACTIONS(1268),
+    [anon_sym___forceinline] = ACTIONS(1268),
+    [anon_sym_thread_local] = ACTIONS(1268),
+    [anon_sym___thread] = ACTIONS(1268),
+    [anon_sym_const] = ACTIONS(1268),
+    [anon_sym_constexpr] = ACTIONS(1268),
+    [anon_sym_volatile] = ACTIONS(1268),
+    [anon_sym_restrict] = ACTIONS(1268),
+    [anon_sym___restrict__] = ACTIONS(1268),
+    [anon_sym__Atomic] = ACTIONS(1268),
+    [anon_sym__Noreturn] = ACTIONS(1268),
+    [anon_sym_noreturn] = ACTIONS(1268),
+    [anon_sym__Nonnull] = ACTIONS(1268),
+    [anon_sym_alignas] = ACTIONS(1268),
+    [anon_sym__Alignas] = ACTIONS(1268),
+    [sym_primitive_type] = ACTIONS(1268),
+    [anon_sym_enum] = ACTIONS(1268),
+    [anon_sym_struct] = ACTIONS(1268),
+    [anon_sym_union] = ACTIONS(1268),
+    [anon_sym_if] = ACTIONS(1268),
+    [anon_sym_switch] = ACTIONS(1268),
+    [anon_sym_case] = ACTIONS(1268),
+    [anon_sym_default] = ACTIONS(1268),
+    [anon_sym_while] = ACTIONS(1268),
+    [anon_sym_do] = ACTIONS(1268),
+    [anon_sym_for] = ACTIONS(1268),
+    [anon_sym_return] = ACTIONS(1268),
+    [anon_sym_break] = ACTIONS(1268),
+    [anon_sym_continue] = ACTIONS(1268),
+    [anon_sym_goto] = ACTIONS(1268),
+    [anon_sym___try] = ACTIONS(1268),
+    [anon_sym___leave] = ACTIONS(1268),
+    [anon_sym_DASH_DASH] = ACTIONS(1270),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1270),
+    [anon_sym_sizeof] = ACTIONS(1268),
+    [anon_sym___alignof__] = ACTIONS(1268),
+    [anon_sym___alignof] = ACTIONS(1268),
+    [anon_sym__alignof] = ACTIONS(1268),
+    [anon_sym_alignof] = ACTIONS(1268),
+    [anon_sym__Alignof] = ACTIONS(1268),
+    [anon_sym_offsetof] = ACTIONS(1268),
+    [anon_sym__Generic] = ACTIONS(1268),
+    [anon_sym_asm] = ACTIONS(1268),
+    [anon_sym___asm__] = ACTIONS(1268),
+    [anon_sym___asm] = ACTIONS(1268),
+    [sym_number_literal] = ACTIONS(1270),
+    [anon_sym_L_SQUOTE] = ACTIONS(1270),
+    [anon_sym_u_SQUOTE] = ACTIONS(1270),
+    [anon_sym_U_SQUOTE] = ACTIONS(1270),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1270),
+    [anon_sym_SQUOTE] = ACTIONS(1270),
+    [anon_sym_L_DQUOTE] = ACTIONS(1270),
+    [anon_sym_u_DQUOTE] = ACTIONS(1270),
+    [anon_sym_U_DQUOTE] = ACTIONS(1270),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1270),
+    [anon_sym_DQUOTE] = ACTIONS(1270),
+    [sym_true] = ACTIONS(1268),
+    [sym_false] = ACTIONS(1268),
+    [anon_sym_NULL] = ACTIONS(1268),
+    [anon_sym_nullptr] = ACTIONS(1268),
     [sym_comment] = ACTIONS(3),
   },
   [121] = {
-    [sym_identifier] = ACTIONS(1265),
-    [aux_sym_preproc_include_token1] = ACTIONS(1265),
-    [aux_sym_preproc_def_token1] = ACTIONS(1265),
-    [aux_sym_preproc_if_token1] = ACTIONS(1265),
-    [aux_sym_preproc_if_token2] = ACTIONS(1265),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1265),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1265),
-    [aux_sym_preproc_else_token1] = ACTIONS(1265),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1265),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1265),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1265),
-    [sym_preproc_directive] = ACTIONS(1265),
-    [anon_sym_LPAREN2] = ACTIONS(1267),
-    [anon_sym_BANG] = ACTIONS(1267),
-    [anon_sym_TILDE] = ACTIONS(1267),
-    [anon_sym_DASH] = ACTIONS(1265),
-    [anon_sym_PLUS] = ACTIONS(1265),
-    [anon_sym_STAR] = ACTIONS(1267),
-    [anon_sym_AMP] = ACTIONS(1267),
-    [anon_sym_SEMI] = ACTIONS(1267),
-    [anon_sym___extension__] = ACTIONS(1265),
-    [anon_sym_typedef] = ACTIONS(1265),
-    [anon_sym_extern] = ACTIONS(1265),
-    [anon_sym___attribute__] = ACTIONS(1265),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1267),
-    [anon_sym___declspec] = ACTIONS(1265),
-    [anon_sym___cdecl] = ACTIONS(1265),
-    [anon_sym___clrcall] = ACTIONS(1265),
-    [anon_sym___stdcall] = ACTIONS(1265),
-    [anon_sym___fastcall] = ACTIONS(1265),
-    [anon_sym___thiscall] = ACTIONS(1265),
-    [anon_sym___vectorcall] = ACTIONS(1265),
-    [anon_sym_LBRACE] = ACTIONS(1267),
-    [anon_sym_signed] = ACTIONS(1265),
-    [anon_sym_unsigned] = ACTIONS(1265),
-    [anon_sym_long] = ACTIONS(1265),
-    [anon_sym_short] = ACTIONS(1265),
-    [anon_sym_static] = ACTIONS(1265),
-    [anon_sym_auto] = ACTIONS(1265),
-    [anon_sym_register] = ACTIONS(1265),
-    [anon_sym_inline] = ACTIONS(1265),
-    [anon_sym___inline] = ACTIONS(1265),
-    [anon_sym___inline__] = ACTIONS(1265),
-    [anon_sym___forceinline] = ACTIONS(1265),
-    [anon_sym_thread_local] = ACTIONS(1265),
-    [anon_sym___thread] = ACTIONS(1265),
-    [anon_sym_const] = ACTIONS(1265),
-    [anon_sym_constexpr] = ACTIONS(1265),
-    [anon_sym_volatile] = ACTIONS(1265),
-    [anon_sym_restrict] = ACTIONS(1265),
-    [anon_sym___restrict__] = ACTIONS(1265),
-    [anon_sym__Atomic] = ACTIONS(1265),
-    [anon_sym__Noreturn] = ACTIONS(1265),
-    [anon_sym_noreturn] = ACTIONS(1265),
-    [anon_sym__Nonnull] = ACTIONS(1265),
-    [anon_sym_alignas] = ACTIONS(1265),
-    [anon_sym__Alignas] = ACTIONS(1265),
-    [sym_primitive_type] = ACTIONS(1265),
-    [anon_sym_enum] = ACTIONS(1265),
-    [anon_sym_struct] = ACTIONS(1265),
-    [anon_sym_union] = ACTIONS(1265),
-    [anon_sym_if] = ACTIONS(1265),
-    [anon_sym_switch] = ACTIONS(1265),
-    [anon_sym_case] = ACTIONS(1265),
-    [anon_sym_default] = ACTIONS(1265),
-    [anon_sym_while] = ACTIONS(1265),
-    [anon_sym_do] = ACTIONS(1265),
-    [anon_sym_for] = ACTIONS(1265),
-    [anon_sym_return] = ACTIONS(1265),
-    [anon_sym_break] = ACTIONS(1265),
-    [anon_sym_continue] = ACTIONS(1265),
-    [anon_sym_goto] = ACTIONS(1265),
-    [anon_sym___try] = ACTIONS(1265),
-    [anon_sym___leave] = ACTIONS(1265),
-    [anon_sym_DASH_DASH] = ACTIONS(1267),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1267),
-    [anon_sym_sizeof] = ACTIONS(1265),
-    [anon_sym___alignof__] = ACTIONS(1265),
-    [anon_sym___alignof] = ACTIONS(1265),
-    [anon_sym__alignof] = ACTIONS(1265),
-    [anon_sym_alignof] = ACTIONS(1265),
-    [anon_sym__Alignof] = ACTIONS(1265),
-    [anon_sym_offsetof] = ACTIONS(1265),
-    [anon_sym__Generic] = ACTIONS(1265),
-    [anon_sym_asm] = ACTIONS(1265),
-    [anon_sym___asm__] = ACTIONS(1265),
-    [anon_sym___asm] = ACTIONS(1265),
-    [sym_number_literal] = ACTIONS(1267),
-    [anon_sym_L_SQUOTE] = ACTIONS(1267),
-    [anon_sym_u_SQUOTE] = ACTIONS(1267),
-    [anon_sym_U_SQUOTE] = ACTIONS(1267),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1267),
-    [anon_sym_SQUOTE] = ACTIONS(1267),
-    [anon_sym_L_DQUOTE] = ACTIONS(1267),
-    [anon_sym_u_DQUOTE] = ACTIONS(1267),
-    [anon_sym_U_DQUOTE] = ACTIONS(1267),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1267),
-    [anon_sym_DQUOTE] = ACTIONS(1267),
-    [sym_true] = ACTIONS(1265),
-    [sym_false] = ACTIONS(1265),
-    [anon_sym_NULL] = ACTIONS(1265),
-    [anon_sym_nullptr] = ACTIONS(1265),
+    [sym_identifier] = ACTIONS(1272),
+    [aux_sym_preproc_include_token1] = ACTIONS(1272),
+    [aux_sym_preproc_def_token1] = ACTIONS(1272),
+    [aux_sym_preproc_if_token1] = ACTIONS(1272),
+    [aux_sym_preproc_if_token2] = ACTIONS(1272),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1272),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1272),
+    [aux_sym_preproc_else_token1] = ACTIONS(1272),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1272),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1272),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1272),
+    [sym_preproc_directive] = ACTIONS(1272),
+    [anon_sym_LPAREN2] = ACTIONS(1274),
+    [anon_sym_BANG] = ACTIONS(1274),
+    [anon_sym_TILDE] = ACTIONS(1274),
+    [anon_sym_DASH] = ACTIONS(1272),
+    [anon_sym_PLUS] = ACTIONS(1272),
+    [anon_sym_STAR] = ACTIONS(1274),
+    [anon_sym_AMP] = ACTIONS(1274),
+    [anon_sym_SEMI] = ACTIONS(1274),
+    [anon_sym___extension__] = ACTIONS(1272),
+    [anon_sym_typedef] = ACTIONS(1272),
+    [anon_sym_extern] = ACTIONS(1272),
+    [anon_sym___attribute__] = ACTIONS(1272),
+    [anon_sym___attribute] = ACTIONS(1272),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1274),
+    [anon_sym___declspec] = ACTIONS(1272),
+    [anon_sym___cdecl] = ACTIONS(1272),
+    [anon_sym___clrcall] = ACTIONS(1272),
+    [anon_sym___stdcall] = ACTIONS(1272),
+    [anon_sym___fastcall] = ACTIONS(1272),
+    [anon_sym___thiscall] = ACTIONS(1272),
+    [anon_sym___vectorcall] = ACTIONS(1272),
+    [anon_sym_LBRACE] = ACTIONS(1274),
+    [anon_sym_signed] = ACTIONS(1272),
+    [anon_sym_unsigned] = ACTIONS(1272),
+    [anon_sym_long] = ACTIONS(1272),
+    [anon_sym_short] = ACTIONS(1272),
+    [anon_sym_static] = ACTIONS(1272),
+    [anon_sym_auto] = ACTIONS(1272),
+    [anon_sym_register] = ACTIONS(1272),
+    [anon_sym_inline] = ACTIONS(1272),
+    [anon_sym___inline] = ACTIONS(1272),
+    [anon_sym___inline__] = ACTIONS(1272),
+    [anon_sym___forceinline] = ACTIONS(1272),
+    [anon_sym_thread_local] = ACTIONS(1272),
+    [anon_sym___thread] = ACTIONS(1272),
+    [anon_sym_const] = ACTIONS(1272),
+    [anon_sym_constexpr] = ACTIONS(1272),
+    [anon_sym_volatile] = ACTIONS(1272),
+    [anon_sym_restrict] = ACTIONS(1272),
+    [anon_sym___restrict__] = ACTIONS(1272),
+    [anon_sym__Atomic] = ACTIONS(1272),
+    [anon_sym__Noreturn] = ACTIONS(1272),
+    [anon_sym_noreturn] = ACTIONS(1272),
+    [anon_sym__Nonnull] = ACTIONS(1272),
+    [anon_sym_alignas] = ACTIONS(1272),
+    [anon_sym__Alignas] = ACTIONS(1272),
+    [sym_primitive_type] = ACTIONS(1272),
+    [anon_sym_enum] = ACTIONS(1272),
+    [anon_sym_struct] = ACTIONS(1272),
+    [anon_sym_union] = ACTIONS(1272),
+    [anon_sym_if] = ACTIONS(1272),
+    [anon_sym_switch] = ACTIONS(1272),
+    [anon_sym_case] = ACTIONS(1272),
+    [anon_sym_default] = ACTIONS(1272),
+    [anon_sym_while] = ACTIONS(1272),
+    [anon_sym_do] = ACTIONS(1272),
+    [anon_sym_for] = ACTIONS(1272),
+    [anon_sym_return] = ACTIONS(1272),
+    [anon_sym_break] = ACTIONS(1272),
+    [anon_sym_continue] = ACTIONS(1272),
+    [anon_sym_goto] = ACTIONS(1272),
+    [anon_sym___try] = ACTIONS(1272),
+    [anon_sym___leave] = ACTIONS(1272),
+    [anon_sym_DASH_DASH] = ACTIONS(1274),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1274),
+    [anon_sym_sizeof] = ACTIONS(1272),
+    [anon_sym___alignof__] = ACTIONS(1272),
+    [anon_sym___alignof] = ACTIONS(1272),
+    [anon_sym__alignof] = ACTIONS(1272),
+    [anon_sym_alignof] = ACTIONS(1272),
+    [anon_sym__Alignof] = ACTIONS(1272),
+    [anon_sym_offsetof] = ACTIONS(1272),
+    [anon_sym__Generic] = ACTIONS(1272),
+    [anon_sym_asm] = ACTIONS(1272),
+    [anon_sym___asm__] = ACTIONS(1272),
+    [anon_sym___asm] = ACTIONS(1272),
+    [sym_number_literal] = ACTIONS(1274),
+    [anon_sym_L_SQUOTE] = ACTIONS(1274),
+    [anon_sym_u_SQUOTE] = ACTIONS(1274),
+    [anon_sym_U_SQUOTE] = ACTIONS(1274),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1274),
+    [anon_sym_SQUOTE] = ACTIONS(1274),
+    [anon_sym_L_DQUOTE] = ACTIONS(1274),
+    [anon_sym_u_DQUOTE] = ACTIONS(1274),
+    [anon_sym_U_DQUOTE] = ACTIONS(1274),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1274),
+    [anon_sym_DQUOTE] = ACTIONS(1274),
+    [sym_true] = ACTIONS(1272),
+    [sym_false] = ACTIONS(1272),
+    [anon_sym_NULL] = ACTIONS(1272),
+    [anon_sym_nullptr] = ACTIONS(1272),
     [sym_comment] = ACTIONS(3),
   },
   [122] = {
-    [sym_identifier] = ACTIONS(1269),
-    [aux_sym_preproc_include_token1] = ACTIONS(1269),
-    [aux_sym_preproc_def_token1] = ACTIONS(1269),
-    [aux_sym_preproc_if_token1] = ACTIONS(1269),
-    [aux_sym_preproc_if_token2] = ACTIONS(1269),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1269),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1269),
-    [aux_sym_preproc_else_token1] = ACTIONS(1269),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1269),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1269),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1269),
-    [sym_preproc_directive] = ACTIONS(1269),
-    [anon_sym_LPAREN2] = ACTIONS(1271),
-    [anon_sym_BANG] = ACTIONS(1271),
-    [anon_sym_TILDE] = ACTIONS(1271),
-    [anon_sym_DASH] = ACTIONS(1269),
-    [anon_sym_PLUS] = ACTIONS(1269),
-    [anon_sym_STAR] = ACTIONS(1271),
-    [anon_sym_AMP] = ACTIONS(1271),
-    [anon_sym_SEMI] = ACTIONS(1271),
-    [anon_sym___extension__] = ACTIONS(1269),
-    [anon_sym_typedef] = ACTIONS(1269),
-    [anon_sym_extern] = ACTIONS(1269),
-    [anon_sym___attribute__] = ACTIONS(1269),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1271),
-    [anon_sym___declspec] = ACTIONS(1269),
-    [anon_sym___cdecl] = ACTIONS(1269),
-    [anon_sym___clrcall] = ACTIONS(1269),
-    [anon_sym___stdcall] = ACTIONS(1269),
-    [anon_sym___fastcall] = ACTIONS(1269),
-    [anon_sym___thiscall] = ACTIONS(1269),
-    [anon_sym___vectorcall] = ACTIONS(1269),
-    [anon_sym_LBRACE] = ACTIONS(1271),
-    [anon_sym_signed] = ACTIONS(1269),
-    [anon_sym_unsigned] = ACTIONS(1269),
-    [anon_sym_long] = ACTIONS(1269),
-    [anon_sym_short] = ACTIONS(1269),
-    [anon_sym_static] = ACTIONS(1269),
-    [anon_sym_auto] = ACTIONS(1269),
-    [anon_sym_register] = ACTIONS(1269),
-    [anon_sym_inline] = ACTIONS(1269),
-    [anon_sym___inline] = ACTIONS(1269),
-    [anon_sym___inline__] = ACTIONS(1269),
-    [anon_sym___forceinline] = ACTIONS(1269),
-    [anon_sym_thread_local] = ACTIONS(1269),
-    [anon_sym___thread] = ACTIONS(1269),
-    [anon_sym_const] = ACTIONS(1269),
-    [anon_sym_constexpr] = ACTIONS(1269),
-    [anon_sym_volatile] = ACTIONS(1269),
-    [anon_sym_restrict] = ACTIONS(1269),
-    [anon_sym___restrict__] = ACTIONS(1269),
-    [anon_sym__Atomic] = ACTIONS(1269),
-    [anon_sym__Noreturn] = ACTIONS(1269),
-    [anon_sym_noreturn] = ACTIONS(1269),
-    [anon_sym__Nonnull] = ACTIONS(1269),
-    [anon_sym_alignas] = ACTIONS(1269),
-    [anon_sym__Alignas] = ACTIONS(1269),
-    [sym_primitive_type] = ACTIONS(1269),
-    [anon_sym_enum] = ACTIONS(1269),
-    [anon_sym_struct] = ACTIONS(1269),
-    [anon_sym_union] = ACTIONS(1269),
-    [anon_sym_if] = ACTIONS(1269),
-    [anon_sym_switch] = ACTIONS(1269),
-    [anon_sym_case] = ACTIONS(1269),
-    [anon_sym_default] = ACTIONS(1269),
-    [anon_sym_while] = ACTIONS(1269),
-    [anon_sym_do] = ACTIONS(1269),
-    [anon_sym_for] = ACTIONS(1269),
-    [anon_sym_return] = ACTIONS(1269),
-    [anon_sym_break] = ACTIONS(1269),
-    [anon_sym_continue] = ACTIONS(1269),
-    [anon_sym_goto] = ACTIONS(1269),
-    [anon_sym___try] = ACTIONS(1269),
-    [anon_sym___leave] = ACTIONS(1269),
-    [anon_sym_DASH_DASH] = ACTIONS(1271),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1271),
-    [anon_sym_sizeof] = ACTIONS(1269),
-    [anon_sym___alignof__] = ACTIONS(1269),
-    [anon_sym___alignof] = ACTIONS(1269),
-    [anon_sym__alignof] = ACTIONS(1269),
-    [anon_sym_alignof] = ACTIONS(1269),
-    [anon_sym__Alignof] = ACTIONS(1269),
-    [anon_sym_offsetof] = ACTIONS(1269),
-    [anon_sym__Generic] = ACTIONS(1269),
-    [anon_sym_asm] = ACTIONS(1269),
-    [anon_sym___asm__] = ACTIONS(1269),
-    [anon_sym___asm] = ACTIONS(1269),
-    [sym_number_literal] = ACTIONS(1271),
-    [anon_sym_L_SQUOTE] = ACTIONS(1271),
-    [anon_sym_u_SQUOTE] = ACTIONS(1271),
-    [anon_sym_U_SQUOTE] = ACTIONS(1271),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1271),
-    [anon_sym_SQUOTE] = ACTIONS(1271),
-    [anon_sym_L_DQUOTE] = ACTIONS(1271),
-    [anon_sym_u_DQUOTE] = ACTIONS(1271),
-    [anon_sym_U_DQUOTE] = ACTIONS(1271),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1271),
-    [anon_sym_DQUOTE] = ACTIONS(1271),
-    [sym_true] = ACTIONS(1269),
-    [sym_false] = ACTIONS(1269),
-    [anon_sym_NULL] = ACTIONS(1269),
-    [anon_sym_nullptr] = ACTIONS(1269),
+    [sym_identifier] = ACTIONS(1276),
+    [aux_sym_preproc_include_token1] = ACTIONS(1276),
+    [aux_sym_preproc_def_token1] = ACTIONS(1276),
+    [aux_sym_preproc_if_token1] = ACTIONS(1276),
+    [aux_sym_preproc_if_token2] = ACTIONS(1276),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1276),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1276),
+    [aux_sym_preproc_else_token1] = ACTIONS(1276),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1276),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1276),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1276),
+    [sym_preproc_directive] = ACTIONS(1276),
+    [anon_sym_LPAREN2] = ACTIONS(1278),
+    [anon_sym_BANG] = ACTIONS(1278),
+    [anon_sym_TILDE] = ACTIONS(1278),
+    [anon_sym_DASH] = ACTIONS(1276),
+    [anon_sym_PLUS] = ACTIONS(1276),
+    [anon_sym_STAR] = ACTIONS(1278),
+    [anon_sym_AMP] = ACTIONS(1278),
+    [anon_sym_SEMI] = ACTIONS(1278),
+    [anon_sym___extension__] = ACTIONS(1276),
+    [anon_sym_typedef] = ACTIONS(1276),
+    [anon_sym_extern] = ACTIONS(1276),
+    [anon_sym___attribute__] = ACTIONS(1276),
+    [anon_sym___attribute] = ACTIONS(1276),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1278),
+    [anon_sym___declspec] = ACTIONS(1276),
+    [anon_sym___cdecl] = ACTIONS(1276),
+    [anon_sym___clrcall] = ACTIONS(1276),
+    [anon_sym___stdcall] = ACTIONS(1276),
+    [anon_sym___fastcall] = ACTIONS(1276),
+    [anon_sym___thiscall] = ACTIONS(1276),
+    [anon_sym___vectorcall] = ACTIONS(1276),
+    [anon_sym_LBRACE] = ACTIONS(1278),
+    [anon_sym_signed] = ACTIONS(1276),
+    [anon_sym_unsigned] = ACTIONS(1276),
+    [anon_sym_long] = ACTIONS(1276),
+    [anon_sym_short] = ACTIONS(1276),
+    [anon_sym_static] = ACTIONS(1276),
+    [anon_sym_auto] = ACTIONS(1276),
+    [anon_sym_register] = ACTIONS(1276),
+    [anon_sym_inline] = ACTIONS(1276),
+    [anon_sym___inline] = ACTIONS(1276),
+    [anon_sym___inline__] = ACTIONS(1276),
+    [anon_sym___forceinline] = ACTIONS(1276),
+    [anon_sym_thread_local] = ACTIONS(1276),
+    [anon_sym___thread] = ACTIONS(1276),
+    [anon_sym_const] = ACTIONS(1276),
+    [anon_sym_constexpr] = ACTIONS(1276),
+    [anon_sym_volatile] = ACTIONS(1276),
+    [anon_sym_restrict] = ACTIONS(1276),
+    [anon_sym___restrict__] = ACTIONS(1276),
+    [anon_sym__Atomic] = ACTIONS(1276),
+    [anon_sym__Noreturn] = ACTIONS(1276),
+    [anon_sym_noreturn] = ACTIONS(1276),
+    [anon_sym__Nonnull] = ACTIONS(1276),
+    [anon_sym_alignas] = ACTIONS(1276),
+    [anon_sym__Alignas] = ACTIONS(1276),
+    [sym_primitive_type] = ACTIONS(1276),
+    [anon_sym_enum] = ACTIONS(1276),
+    [anon_sym_struct] = ACTIONS(1276),
+    [anon_sym_union] = ACTIONS(1276),
+    [anon_sym_if] = ACTIONS(1276),
+    [anon_sym_switch] = ACTIONS(1276),
+    [anon_sym_case] = ACTIONS(1276),
+    [anon_sym_default] = ACTIONS(1276),
+    [anon_sym_while] = ACTIONS(1276),
+    [anon_sym_do] = ACTIONS(1276),
+    [anon_sym_for] = ACTIONS(1276),
+    [anon_sym_return] = ACTIONS(1276),
+    [anon_sym_break] = ACTIONS(1276),
+    [anon_sym_continue] = ACTIONS(1276),
+    [anon_sym_goto] = ACTIONS(1276),
+    [anon_sym___try] = ACTIONS(1276),
+    [anon_sym___leave] = ACTIONS(1276),
+    [anon_sym_DASH_DASH] = ACTIONS(1278),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1278),
+    [anon_sym_sizeof] = ACTIONS(1276),
+    [anon_sym___alignof__] = ACTIONS(1276),
+    [anon_sym___alignof] = ACTIONS(1276),
+    [anon_sym__alignof] = ACTIONS(1276),
+    [anon_sym_alignof] = ACTIONS(1276),
+    [anon_sym__Alignof] = ACTIONS(1276),
+    [anon_sym_offsetof] = ACTIONS(1276),
+    [anon_sym__Generic] = ACTIONS(1276),
+    [anon_sym_asm] = ACTIONS(1276),
+    [anon_sym___asm__] = ACTIONS(1276),
+    [anon_sym___asm] = ACTIONS(1276),
+    [sym_number_literal] = ACTIONS(1278),
+    [anon_sym_L_SQUOTE] = ACTIONS(1278),
+    [anon_sym_u_SQUOTE] = ACTIONS(1278),
+    [anon_sym_U_SQUOTE] = ACTIONS(1278),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1278),
+    [anon_sym_SQUOTE] = ACTIONS(1278),
+    [anon_sym_L_DQUOTE] = ACTIONS(1278),
+    [anon_sym_u_DQUOTE] = ACTIONS(1278),
+    [anon_sym_U_DQUOTE] = ACTIONS(1278),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1278),
+    [anon_sym_DQUOTE] = ACTIONS(1278),
+    [sym_true] = ACTIONS(1276),
+    [sym_false] = ACTIONS(1276),
+    [anon_sym_NULL] = ACTIONS(1276),
+    [anon_sym_nullptr] = ACTIONS(1276),
     [sym_comment] = ACTIONS(3),
   },
   [123] = {
-    [sym_identifier] = ACTIONS(1273),
-    [aux_sym_preproc_include_token1] = ACTIONS(1273),
-    [aux_sym_preproc_def_token1] = ACTIONS(1273),
-    [aux_sym_preproc_if_token1] = ACTIONS(1273),
-    [aux_sym_preproc_if_token2] = ACTIONS(1273),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1273),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1273),
-    [aux_sym_preproc_else_token1] = ACTIONS(1273),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1273),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1273),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1273),
-    [sym_preproc_directive] = ACTIONS(1273),
-    [anon_sym_LPAREN2] = ACTIONS(1275),
-    [anon_sym_BANG] = ACTIONS(1275),
-    [anon_sym_TILDE] = ACTIONS(1275),
-    [anon_sym_DASH] = ACTIONS(1273),
-    [anon_sym_PLUS] = ACTIONS(1273),
-    [anon_sym_STAR] = ACTIONS(1275),
-    [anon_sym_AMP] = ACTIONS(1275),
-    [anon_sym_SEMI] = ACTIONS(1275),
-    [anon_sym___extension__] = ACTIONS(1273),
-    [anon_sym_typedef] = ACTIONS(1273),
-    [anon_sym_extern] = ACTIONS(1273),
-    [anon_sym___attribute__] = ACTIONS(1273),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1275),
-    [anon_sym___declspec] = ACTIONS(1273),
-    [anon_sym___cdecl] = ACTIONS(1273),
-    [anon_sym___clrcall] = ACTIONS(1273),
-    [anon_sym___stdcall] = ACTIONS(1273),
-    [anon_sym___fastcall] = ACTIONS(1273),
-    [anon_sym___thiscall] = ACTIONS(1273),
-    [anon_sym___vectorcall] = ACTIONS(1273),
-    [anon_sym_LBRACE] = ACTIONS(1275),
-    [anon_sym_signed] = ACTIONS(1273),
-    [anon_sym_unsigned] = ACTIONS(1273),
-    [anon_sym_long] = ACTIONS(1273),
-    [anon_sym_short] = ACTIONS(1273),
-    [anon_sym_static] = ACTIONS(1273),
-    [anon_sym_auto] = ACTIONS(1273),
-    [anon_sym_register] = ACTIONS(1273),
-    [anon_sym_inline] = ACTIONS(1273),
-    [anon_sym___inline] = ACTIONS(1273),
-    [anon_sym___inline__] = ACTIONS(1273),
-    [anon_sym___forceinline] = ACTIONS(1273),
-    [anon_sym_thread_local] = ACTIONS(1273),
-    [anon_sym___thread] = ACTIONS(1273),
-    [anon_sym_const] = ACTIONS(1273),
-    [anon_sym_constexpr] = ACTIONS(1273),
-    [anon_sym_volatile] = ACTIONS(1273),
-    [anon_sym_restrict] = ACTIONS(1273),
-    [anon_sym___restrict__] = ACTIONS(1273),
-    [anon_sym__Atomic] = ACTIONS(1273),
-    [anon_sym__Noreturn] = ACTIONS(1273),
-    [anon_sym_noreturn] = ACTIONS(1273),
-    [anon_sym__Nonnull] = ACTIONS(1273),
-    [anon_sym_alignas] = ACTIONS(1273),
-    [anon_sym__Alignas] = ACTIONS(1273),
-    [sym_primitive_type] = ACTIONS(1273),
-    [anon_sym_enum] = ACTIONS(1273),
-    [anon_sym_struct] = ACTIONS(1273),
-    [anon_sym_union] = ACTIONS(1273),
-    [anon_sym_if] = ACTIONS(1273),
-    [anon_sym_switch] = ACTIONS(1273),
-    [anon_sym_case] = ACTIONS(1273),
-    [anon_sym_default] = ACTIONS(1273),
-    [anon_sym_while] = ACTIONS(1273),
-    [anon_sym_do] = ACTIONS(1273),
-    [anon_sym_for] = ACTIONS(1273),
-    [anon_sym_return] = ACTIONS(1273),
-    [anon_sym_break] = ACTIONS(1273),
-    [anon_sym_continue] = ACTIONS(1273),
-    [anon_sym_goto] = ACTIONS(1273),
-    [anon_sym___try] = ACTIONS(1273),
-    [anon_sym___leave] = ACTIONS(1273),
-    [anon_sym_DASH_DASH] = ACTIONS(1275),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1275),
-    [anon_sym_sizeof] = ACTIONS(1273),
-    [anon_sym___alignof__] = ACTIONS(1273),
-    [anon_sym___alignof] = ACTIONS(1273),
-    [anon_sym__alignof] = ACTIONS(1273),
-    [anon_sym_alignof] = ACTIONS(1273),
-    [anon_sym__Alignof] = ACTIONS(1273),
-    [anon_sym_offsetof] = ACTIONS(1273),
-    [anon_sym__Generic] = ACTIONS(1273),
-    [anon_sym_asm] = ACTIONS(1273),
-    [anon_sym___asm__] = ACTIONS(1273),
-    [anon_sym___asm] = ACTIONS(1273),
-    [sym_number_literal] = ACTIONS(1275),
-    [anon_sym_L_SQUOTE] = ACTIONS(1275),
-    [anon_sym_u_SQUOTE] = ACTIONS(1275),
-    [anon_sym_U_SQUOTE] = ACTIONS(1275),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1275),
-    [anon_sym_SQUOTE] = ACTIONS(1275),
-    [anon_sym_L_DQUOTE] = ACTIONS(1275),
-    [anon_sym_u_DQUOTE] = ACTIONS(1275),
-    [anon_sym_U_DQUOTE] = ACTIONS(1275),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1275),
-    [anon_sym_DQUOTE] = ACTIONS(1275),
-    [sym_true] = ACTIONS(1273),
-    [sym_false] = ACTIONS(1273),
-    [anon_sym_NULL] = ACTIONS(1273),
-    [anon_sym_nullptr] = ACTIONS(1273),
+    [sym_identifier] = ACTIONS(1280),
+    [aux_sym_preproc_include_token1] = ACTIONS(1280),
+    [aux_sym_preproc_def_token1] = ACTIONS(1280),
+    [aux_sym_preproc_if_token1] = ACTIONS(1280),
+    [aux_sym_preproc_if_token2] = ACTIONS(1280),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1280),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1280),
+    [aux_sym_preproc_else_token1] = ACTIONS(1280),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1280),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1280),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1280),
+    [sym_preproc_directive] = ACTIONS(1280),
+    [anon_sym_LPAREN2] = ACTIONS(1282),
+    [anon_sym_BANG] = ACTIONS(1282),
+    [anon_sym_TILDE] = ACTIONS(1282),
+    [anon_sym_DASH] = ACTIONS(1280),
+    [anon_sym_PLUS] = ACTIONS(1280),
+    [anon_sym_STAR] = ACTIONS(1282),
+    [anon_sym_AMP] = ACTIONS(1282),
+    [anon_sym_SEMI] = ACTIONS(1282),
+    [anon_sym___extension__] = ACTIONS(1280),
+    [anon_sym_typedef] = ACTIONS(1280),
+    [anon_sym_extern] = ACTIONS(1280),
+    [anon_sym___attribute__] = ACTIONS(1280),
+    [anon_sym___attribute] = ACTIONS(1280),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1282),
+    [anon_sym___declspec] = ACTIONS(1280),
+    [anon_sym___cdecl] = ACTIONS(1280),
+    [anon_sym___clrcall] = ACTIONS(1280),
+    [anon_sym___stdcall] = ACTIONS(1280),
+    [anon_sym___fastcall] = ACTIONS(1280),
+    [anon_sym___thiscall] = ACTIONS(1280),
+    [anon_sym___vectorcall] = ACTIONS(1280),
+    [anon_sym_LBRACE] = ACTIONS(1282),
+    [anon_sym_signed] = ACTIONS(1280),
+    [anon_sym_unsigned] = ACTIONS(1280),
+    [anon_sym_long] = ACTIONS(1280),
+    [anon_sym_short] = ACTIONS(1280),
+    [anon_sym_static] = ACTIONS(1280),
+    [anon_sym_auto] = ACTIONS(1280),
+    [anon_sym_register] = ACTIONS(1280),
+    [anon_sym_inline] = ACTIONS(1280),
+    [anon_sym___inline] = ACTIONS(1280),
+    [anon_sym___inline__] = ACTIONS(1280),
+    [anon_sym___forceinline] = ACTIONS(1280),
+    [anon_sym_thread_local] = ACTIONS(1280),
+    [anon_sym___thread] = ACTIONS(1280),
+    [anon_sym_const] = ACTIONS(1280),
+    [anon_sym_constexpr] = ACTIONS(1280),
+    [anon_sym_volatile] = ACTIONS(1280),
+    [anon_sym_restrict] = ACTIONS(1280),
+    [anon_sym___restrict__] = ACTIONS(1280),
+    [anon_sym__Atomic] = ACTIONS(1280),
+    [anon_sym__Noreturn] = ACTIONS(1280),
+    [anon_sym_noreturn] = ACTIONS(1280),
+    [anon_sym__Nonnull] = ACTIONS(1280),
+    [anon_sym_alignas] = ACTIONS(1280),
+    [anon_sym__Alignas] = ACTIONS(1280),
+    [sym_primitive_type] = ACTIONS(1280),
+    [anon_sym_enum] = ACTIONS(1280),
+    [anon_sym_struct] = ACTIONS(1280),
+    [anon_sym_union] = ACTIONS(1280),
+    [anon_sym_if] = ACTIONS(1280),
+    [anon_sym_switch] = ACTIONS(1280),
+    [anon_sym_case] = ACTIONS(1280),
+    [anon_sym_default] = ACTIONS(1280),
+    [anon_sym_while] = ACTIONS(1280),
+    [anon_sym_do] = ACTIONS(1280),
+    [anon_sym_for] = ACTIONS(1280),
+    [anon_sym_return] = ACTIONS(1280),
+    [anon_sym_break] = ACTIONS(1280),
+    [anon_sym_continue] = ACTIONS(1280),
+    [anon_sym_goto] = ACTIONS(1280),
+    [anon_sym___try] = ACTIONS(1280),
+    [anon_sym___leave] = ACTIONS(1280),
+    [anon_sym_DASH_DASH] = ACTIONS(1282),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1282),
+    [anon_sym_sizeof] = ACTIONS(1280),
+    [anon_sym___alignof__] = ACTIONS(1280),
+    [anon_sym___alignof] = ACTIONS(1280),
+    [anon_sym__alignof] = ACTIONS(1280),
+    [anon_sym_alignof] = ACTIONS(1280),
+    [anon_sym__Alignof] = ACTIONS(1280),
+    [anon_sym_offsetof] = ACTIONS(1280),
+    [anon_sym__Generic] = ACTIONS(1280),
+    [anon_sym_asm] = ACTIONS(1280),
+    [anon_sym___asm__] = ACTIONS(1280),
+    [anon_sym___asm] = ACTIONS(1280),
+    [sym_number_literal] = ACTIONS(1282),
+    [anon_sym_L_SQUOTE] = ACTIONS(1282),
+    [anon_sym_u_SQUOTE] = ACTIONS(1282),
+    [anon_sym_U_SQUOTE] = ACTIONS(1282),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1282),
+    [anon_sym_SQUOTE] = ACTIONS(1282),
+    [anon_sym_L_DQUOTE] = ACTIONS(1282),
+    [anon_sym_u_DQUOTE] = ACTIONS(1282),
+    [anon_sym_U_DQUOTE] = ACTIONS(1282),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1282),
+    [anon_sym_DQUOTE] = ACTIONS(1282),
+    [sym_true] = ACTIONS(1280),
+    [sym_false] = ACTIONS(1280),
+    [anon_sym_NULL] = ACTIONS(1280),
+    [anon_sym_nullptr] = ACTIONS(1280),
     [sym_comment] = ACTIONS(3),
   },
   [124] = {
-    [sym_identifier] = ACTIONS(1277),
-    [aux_sym_preproc_include_token1] = ACTIONS(1277),
-    [aux_sym_preproc_def_token1] = ACTIONS(1277),
-    [aux_sym_preproc_if_token1] = ACTIONS(1277),
-    [aux_sym_preproc_if_token2] = ACTIONS(1277),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1277),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1277),
-    [aux_sym_preproc_else_token1] = ACTIONS(1277),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1277),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1277),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1277),
-    [sym_preproc_directive] = ACTIONS(1277),
-    [anon_sym_LPAREN2] = ACTIONS(1279),
-    [anon_sym_BANG] = ACTIONS(1279),
-    [anon_sym_TILDE] = ACTIONS(1279),
-    [anon_sym_DASH] = ACTIONS(1277),
-    [anon_sym_PLUS] = ACTIONS(1277),
-    [anon_sym_STAR] = ACTIONS(1279),
-    [anon_sym_AMP] = ACTIONS(1279),
-    [anon_sym_SEMI] = ACTIONS(1279),
-    [anon_sym___extension__] = ACTIONS(1277),
-    [anon_sym_typedef] = ACTIONS(1277),
-    [anon_sym_extern] = ACTIONS(1277),
-    [anon_sym___attribute__] = ACTIONS(1277),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1279),
-    [anon_sym___declspec] = ACTIONS(1277),
-    [anon_sym___cdecl] = ACTIONS(1277),
-    [anon_sym___clrcall] = ACTIONS(1277),
-    [anon_sym___stdcall] = ACTIONS(1277),
-    [anon_sym___fastcall] = ACTIONS(1277),
-    [anon_sym___thiscall] = ACTIONS(1277),
-    [anon_sym___vectorcall] = ACTIONS(1277),
-    [anon_sym_LBRACE] = ACTIONS(1279),
-    [anon_sym_signed] = ACTIONS(1277),
-    [anon_sym_unsigned] = ACTIONS(1277),
-    [anon_sym_long] = ACTIONS(1277),
-    [anon_sym_short] = ACTIONS(1277),
-    [anon_sym_static] = ACTIONS(1277),
-    [anon_sym_auto] = ACTIONS(1277),
-    [anon_sym_register] = ACTIONS(1277),
-    [anon_sym_inline] = ACTIONS(1277),
-    [anon_sym___inline] = ACTIONS(1277),
-    [anon_sym___inline__] = ACTIONS(1277),
-    [anon_sym___forceinline] = ACTIONS(1277),
-    [anon_sym_thread_local] = ACTIONS(1277),
-    [anon_sym___thread] = ACTIONS(1277),
-    [anon_sym_const] = ACTIONS(1277),
-    [anon_sym_constexpr] = ACTIONS(1277),
-    [anon_sym_volatile] = ACTIONS(1277),
-    [anon_sym_restrict] = ACTIONS(1277),
-    [anon_sym___restrict__] = ACTIONS(1277),
-    [anon_sym__Atomic] = ACTIONS(1277),
-    [anon_sym__Noreturn] = ACTIONS(1277),
-    [anon_sym_noreturn] = ACTIONS(1277),
-    [anon_sym__Nonnull] = ACTIONS(1277),
-    [anon_sym_alignas] = ACTIONS(1277),
-    [anon_sym__Alignas] = ACTIONS(1277),
-    [sym_primitive_type] = ACTIONS(1277),
-    [anon_sym_enum] = ACTIONS(1277),
-    [anon_sym_struct] = ACTIONS(1277),
-    [anon_sym_union] = ACTIONS(1277),
-    [anon_sym_if] = ACTIONS(1277),
-    [anon_sym_switch] = ACTIONS(1277),
-    [anon_sym_case] = ACTIONS(1277),
-    [anon_sym_default] = ACTIONS(1277),
-    [anon_sym_while] = ACTIONS(1277),
-    [anon_sym_do] = ACTIONS(1277),
-    [anon_sym_for] = ACTIONS(1277),
-    [anon_sym_return] = ACTIONS(1277),
-    [anon_sym_break] = ACTIONS(1277),
-    [anon_sym_continue] = ACTIONS(1277),
-    [anon_sym_goto] = ACTIONS(1277),
-    [anon_sym___try] = ACTIONS(1277),
-    [anon_sym___leave] = ACTIONS(1277),
-    [anon_sym_DASH_DASH] = ACTIONS(1279),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1279),
-    [anon_sym_sizeof] = ACTIONS(1277),
-    [anon_sym___alignof__] = ACTIONS(1277),
-    [anon_sym___alignof] = ACTIONS(1277),
-    [anon_sym__alignof] = ACTIONS(1277),
-    [anon_sym_alignof] = ACTIONS(1277),
-    [anon_sym__Alignof] = ACTIONS(1277),
-    [anon_sym_offsetof] = ACTIONS(1277),
-    [anon_sym__Generic] = ACTIONS(1277),
-    [anon_sym_asm] = ACTIONS(1277),
-    [anon_sym___asm__] = ACTIONS(1277),
-    [anon_sym___asm] = ACTIONS(1277),
-    [sym_number_literal] = ACTIONS(1279),
-    [anon_sym_L_SQUOTE] = ACTIONS(1279),
-    [anon_sym_u_SQUOTE] = ACTIONS(1279),
-    [anon_sym_U_SQUOTE] = ACTIONS(1279),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1279),
-    [anon_sym_SQUOTE] = ACTIONS(1279),
-    [anon_sym_L_DQUOTE] = ACTIONS(1279),
-    [anon_sym_u_DQUOTE] = ACTIONS(1279),
-    [anon_sym_U_DQUOTE] = ACTIONS(1279),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1279),
-    [anon_sym_DQUOTE] = ACTIONS(1279),
-    [sym_true] = ACTIONS(1277),
-    [sym_false] = ACTIONS(1277),
-    [anon_sym_NULL] = ACTIONS(1277),
-    [anon_sym_nullptr] = ACTIONS(1277),
+    [sym_identifier] = ACTIONS(1284),
+    [aux_sym_preproc_include_token1] = ACTIONS(1284),
+    [aux_sym_preproc_def_token1] = ACTIONS(1284),
+    [aux_sym_preproc_if_token1] = ACTIONS(1284),
+    [aux_sym_preproc_if_token2] = ACTIONS(1284),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1284),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1284),
+    [aux_sym_preproc_else_token1] = ACTIONS(1284),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1284),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1284),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1284),
+    [sym_preproc_directive] = ACTIONS(1284),
+    [anon_sym_LPAREN2] = ACTIONS(1286),
+    [anon_sym_BANG] = ACTIONS(1286),
+    [anon_sym_TILDE] = ACTIONS(1286),
+    [anon_sym_DASH] = ACTIONS(1284),
+    [anon_sym_PLUS] = ACTIONS(1284),
+    [anon_sym_STAR] = ACTIONS(1286),
+    [anon_sym_AMP] = ACTIONS(1286),
+    [anon_sym_SEMI] = ACTIONS(1286),
+    [anon_sym___extension__] = ACTIONS(1284),
+    [anon_sym_typedef] = ACTIONS(1284),
+    [anon_sym_extern] = ACTIONS(1284),
+    [anon_sym___attribute__] = ACTIONS(1284),
+    [anon_sym___attribute] = ACTIONS(1284),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1286),
+    [anon_sym___declspec] = ACTIONS(1284),
+    [anon_sym___cdecl] = ACTIONS(1284),
+    [anon_sym___clrcall] = ACTIONS(1284),
+    [anon_sym___stdcall] = ACTIONS(1284),
+    [anon_sym___fastcall] = ACTIONS(1284),
+    [anon_sym___thiscall] = ACTIONS(1284),
+    [anon_sym___vectorcall] = ACTIONS(1284),
+    [anon_sym_LBRACE] = ACTIONS(1286),
+    [anon_sym_signed] = ACTIONS(1284),
+    [anon_sym_unsigned] = ACTIONS(1284),
+    [anon_sym_long] = ACTIONS(1284),
+    [anon_sym_short] = ACTIONS(1284),
+    [anon_sym_static] = ACTIONS(1284),
+    [anon_sym_auto] = ACTIONS(1284),
+    [anon_sym_register] = ACTIONS(1284),
+    [anon_sym_inline] = ACTIONS(1284),
+    [anon_sym___inline] = ACTIONS(1284),
+    [anon_sym___inline__] = ACTIONS(1284),
+    [anon_sym___forceinline] = ACTIONS(1284),
+    [anon_sym_thread_local] = ACTIONS(1284),
+    [anon_sym___thread] = ACTIONS(1284),
+    [anon_sym_const] = ACTIONS(1284),
+    [anon_sym_constexpr] = ACTIONS(1284),
+    [anon_sym_volatile] = ACTIONS(1284),
+    [anon_sym_restrict] = ACTIONS(1284),
+    [anon_sym___restrict__] = ACTIONS(1284),
+    [anon_sym__Atomic] = ACTIONS(1284),
+    [anon_sym__Noreturn] = ACTIONS(1284),
+    [anon_sym_noreturn] = ACTIONS(1284),
+    [anon_sym__Nonnull] = ACTIONS(1284),
+    [anon_sym_alignas] = ACTIONS(1284),
+    [anon_sym__Alignas] = ACTIONS(1284),
+    [sym_primitive_type] = ACTIONS(1284),
+    [anon_sym_enum] = ACTIONS(1284),
+    [anon_sym_struct] = ACTIONS(1284),
+    [anon_sym_union] = ACTIONS(1284),
+    [anon_sym_if] = ACTIONS(1284),
+    [anon_sym_switch] = ACTIONS(1284),
+    [anon_sym_case] = ACTIONS(1284),
+    [anon_sym_default] = ACTIONS(1284),
+    [anon_sym_while] = ACTIONS(1284),
+    [anon_sym_do] = ACTIONS(1284),
+    [anon_sym_for] = ACTIONS(1284),
+    [anon_sym_return] = ACTIONS(1284),
+    [anon_sym_break] = ACTIONS(1284),
+    [anon_sym_continue] = ACTIONS(1284),
+    [anon_sym_goto] = ACTIONS(1284),
+    [anon_sym___try] = ACTIONS(1284),
+    [anon_sym___leave] = ACTIONS(1284),
+    [anon_sym_DASH_DASH] = ACTIONS(1286),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1286),
+    [anon_sym_sizeof] = ACTIONS(1284),
+    [anon_sym___alignof__] = ACTIONS(1284),
+    [anon_sym___alignof] = ACTIONS(1284),
+    [anon_sym__alignof] = ACTIONS(1284),
+    [anon_sym_alignof] = ACTIONS(1284),
+    [anon_sym__Alignof] = ACTIONS(1284),
+    [anon_sym_offsetof] = ACTIONS(1284),
+    [anon_sym__Generic] = ACTIONS(1284),
+    [anon_sym_asm] = ACTIONS(1284),
+    [anon_sym___asm__] = ACTIONS(1284),
+    [anon_sym___asm] = ACTIONS(1284),
+    [sym_number_literal] = ACTIONS(1286),
+    [anon_sym_L_SQUOTE] = ACTIONS(1286),
+    [anon_sym_u_SQUOTE] = ACTIONS(1286),
+    [anon_sym_U_SQUOTE] = ACTIONS(1286),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1286),
+    [anon_sym_SQUOTE] = ACTIONS(1286),
+    [anon_sym_L_DQUOTE] = ACTIONS(1286),
+    [anon_sym_u_DQUOTE] = ACTIONS(1286),
+    [anon_sym_U_DQUOTE] = ACTIONS(1286),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1286),
+    [anon_sym_DQUOTE] = ACTIONS(1286),
+    [sym_true] = ACTIONS(1284),
+    [sym_false] = ACTIONS(1284),
+    [anon_sym_NULL] = ACTIONS(1284),
+    [anon_sym_nullptr] = ACTIONS(1284),
     [sym_comment] = ACTIONS(3),
   },
   [125] = {
-    [sym_identifier] = ACTIONS(1281),
-    [aux_sym_preproc_include_token1] = ACTIONS(1281),
-    [aux_sym_preproc_def_token1] = ACTIONS(1281),
-    [aux_sym_preproc_if_token1] = ACTIONS(1281),
-    [aux_sym_preproc_if_token2] = ACTIONS(1281),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1281),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1281),
-    [aux_sym_preproc_else_token1] = ACTIONS(1281),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1281),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1281),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1281),
-    [sym_preproc_directive] = ACTIONS(1281),
-    [anon_sym_LPAREN2] = ACTIONS(1283),
-    [anon_sym_BANG] = ACTIONS(1283),
-    [anon_sym_TILDE] = ACTIONS(1283),
-    [anon_sym_DASH] = ACTIONS(1281),
-    [anon_sym_PLUS] = ACTIONS(1281),
-    [anon_sym_STAR] = ACTIONS(1283),
-    [anon_sym_AMP] = ACTIONS(1283),
-    [anon_sym_SEMI] = ACTIONS(1283),
-    [anon_sym___extension__] = ACTIONS(1281),
-    [anon_sym_typedef] = ACTIONS(1281),
-    [anon_sym_extern] = ACTIONS(1281),
-    [anon_sym___attribute__] = ACTIONS(1281),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1283),
-    [anon_sym___declspec] = ACTIONS(1281),
-    [anon_sym___cdecl] = ACTIONS(1281),
-    [anon_sym___clrcall] = ACTIONS(1281),
-    [anon_sym___stdcall] = ACTIONS(1281),
-    [anon_sym___fastcall] = ACTIONS(1281),
-    [anon_sym___thiscall] = ACTIONS(1281),
-    [anon_sym___vectorcall] = ACTIONS(1281),
-    [anon_sym_LBRACE] = ACTIONS(1283),
-    [anon_sym_signed] = ACTIONS(1281),
-    [anon_sym_unsigned] = ACTIONS(1281),
-    [anon_sym_long] = ACTIONS(1281),
-    [anon_sym_short] = ACTIONS(1281),
-    [anon_sym_static] = ACTIONS(1281),
-    [anon_sym_auto] = ACTIONS(1281),
-    [anon_sym_register] = ACTIONS(1281),
-    [anon_sym_inline] = ACTIONS(1281),
-    [anon_sym___inline] = ACTIONS(1281),
-    [anon_sym___inline__] = ACTIONS(1281),
-    [anon_sym___forceinline] = ACTIONS(1281),
-    [anon_sym_thread_local] = ACTIONS(1281),
-    [anon_sym___thread] = ACTIONS(1281),
-    [anon_sym_const] = ACTIONS(1281),
-    [anon_sym_constexpr] = ACTIONS(1281),
-    [anon_sym_volatile] = ACTIONS(1281),
-    [anon_sym_restrict] = ACTIONS(1281),
-    [anon_sym___restrict__] = ACTIONS(1281),
-    [anon_sym__Atomic] = ACTIONS(1281),
-    [anon_sym__Noreturn] = ACTIONS(1281),
-    [anon_sym_noreturn] = ACTIONS(1281),
-    [anon_sym__Nonnull] = ACTIONS(1281),
-    [anon_sym_alignas] = ACTIONS(1281),
-    [anon_sym__Alignas] = ACTIONS(1281),
-    [sym_primitive_type] = ACTIONS(1281),
-    [anon_sym_enum] = ACTIONS(1281),
-    [anon_sym_struct] = ACTIONS(1281),
-    [anon_sym_union] = ACTIONS(1281),
-    [anon_sym_if] = ACTIONS(1281),
-    [anon_sym_switch] = ACTIONS(1281),
-    [anon_sym_case] = ACTIONS(1281),
-    [anon_sym_default] = ACTIONS(1281),
-    [anon_sym_while] = ACTIONS(1281),
-    [anon_sym_do] = ACTIONS(1281),
-    [anon_sym_for] = ACTIONS(1281),
-    [anon_sym_return] = ACTIONS(1281),
-    [anon_sym_break] = ACTIONS(1281),
-    [anon_sym_continue] = ACTIONS(1281),
-    [anon_sym_goto] = ACTIONS(1281),
-    [anon_sym___try] = ACTIONS(1281),
-    [anon_sym___leave] = ACTIONS(1281),
-    [anon_sym_DASH_DASH] = ACTIONS(1283),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1283),
-    [anon_sym_sizeof] = ACTIONS(1281),
-    [anon_sym___alignof__] = ACTIONS(1281),
-    [anon_sym___alignof] = ACTIONS(1281),
-    [anon_sym__alignof] = ACTIONS(1281),
-    [anon_sym_alignof] = ACTIONS(1281),
-    [anon_sym__Alignof] = ACTIONS(1281),
-    [anon_sym_offsetof] = ACTIONS(1281),
-    [anon_sym__Generic] = ACTIONS(1281),
-    [anon_sym_asm] = ACTIONS(1281),
-    [anon_sym___asm__] = ACTIONS(1281),
-    [anon_sym___asm] = ACTIONS(1281),
-    [sym_number_literal] = ACTIONS(1283),
-    [anon_sym_L_SQUOTE] = ACTIONS(1283),
-    [anon_sym_u_SQUOTE] = ACTIONS(1283),
-    [anon_sym_U_SQUOTE] = ACTIONS(1283),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1283),
-    [anon_sym_SQUOTE] = ACTIONS(1283),
-    [anon_sym_L_DQUOTE] = ACTIONS(1283),
-    [anon_sym_u_DQUOTE] = ACTIONS(1283),
-    [anon_sym_U_DQUOTE] = ACTIONS(1283),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1283),
-    [anon_sym_DQUOTE] = ACTIONS(1283),
-    [sym_true] = ACTIONS(1281),
-    [sym_false] = ACTIONS(1281),
-    [anon_sym_NULL] = ACTIONS(1281),
-    [anon_sym_nullptr] = ACTIONS(1281),
+    [sym_identifier] = ACTIONS(1288),
+    [aux_sym_preproc_include_token1] = ACTIONS(1288),
+    [aux_sym_preproc_def_token1] = ACTIONS(1288),
+    [aux_sym_preproc_if_token1] = ACTIONS(1288),
+    [aux_sym_preproc_if_token2] = ACTIONS(1288),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1288),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1288),
+    [aux_sym_preproc_else_token1] = ACTIONS(1288),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1288),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1288),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1288),
+    [sym_preproc_directive] = ACTIONS(1288),
+    [anon_sym_LPAREN2] = ACTIONS(1290),
+    [anon_sym_BANG] = ACTIONS(1290),
+    [anon_sym_TILDE] = ACTIONS(1290),
+    [anon_sym_DASH] = ACTIONS(1288),
+    [anon_sym_PLUS] = ACTIONS(1288),
+    [anon_sym_STAR] = ACTIONS(1290),
+    [anon_sym_AMP] = ACTIONS(1290),
+    [anon_sym_SEMI] = ACTIONS(1290),
+    [anon_sym___extension__] = ACTIONS(1288),
+    [anon_sym_typedef] = ACTIONS(1288),
+    [anon_sym_extern] = ACTIONS(1288),
+    [anon_sym___attribute__] = ACTIONS(1288),
+    [anon_sym___attribute] = ACTIONS(1288),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1290),
+    [anon_sym___declspec] = ACTIONS(1288),
+    [anon_sym___cdecl] = ACTIONS(1288),
+    [anon_sym___clrcall] = ACTIONS(1288),
+    [anon_sym___stdcall] = ACTIONS(1288),
+    [anon_sym___fastcall] = ACTIONS(1288),
+    [anon_sym___thiscall] = ACTIONS(1288),
+    [anon_sym___vectorcall] = ACTIONS(1288),
+    [anon_sym_LBRACE] = ACTIONS(1290),
+    [anon_sym_signed] = ACTIONS(1288),
+    [anon_sym_unsigned] = ACTIONS(1288),
+    [anon_sym_long] = ACTIONS(1288),
+    [anon_sym_short] = ACTIONS(1288),
+    [anon_sym_static] = ACTIONS(1288),
+    [anon_sym_auto] = ACTIONS(1288),
+    [anon_sym_register] = ACTIONS(1288),
+    [anon_sym_inline] = ACTIONS(1288),
+    [anon_sym___inline] = ACTIONS(1288),
+    [anon_sym___inline__] = ACTIONS(1288),
+    [anon_sym___forceinline] = ACTIONS(1288),
+    [anon_sym_thread_local] = ACTIONS(1288),
+    [anon_sym___thread] = ACTIONS(1288),
+    [anon_sym_const] = ACTIONS(1288),
+    [anon_sym_constexpr] = ACTIONS(1288),
+    [anon_sym_volatile] = ACTIONS(1288),
+    [anon_sym_restrict] = ACTIONS(1288),
+    [anon_sym___restrict__] = ACTIONS(1288),
+    [anon_sym__Atomic] = ACTIONS(1288),
+    [anon_sym__Noreturn] = ACTIONS(1288),
+    [anon_sym_noreturn] = ACTIONS(1288),
+    [anon_sym__Nonnull] = ACTIONS(1288),
+    [anon_sym_alignas] = ACTIONS(1288),
+    [anon_sym__Alignas] = ACTIONS(1288),
+    [sym_primitive_type] = ACTIONS(1288),
+    [anon_sym_enum] = ACTIONS(1288),
+    [anon_sym_struct] = ACTIONS(1288),
+    [anon_sym_union] = ACTIONS(1288),
+    [anon_sym_if] = ACTIONS(1288),
+    [anon_sym_switch] = ACTIONS(1288),
+    [anon_sym_case] = ACTIONS(1288),
+    [anon_sym_default] = ACTIONS(1288),
+    [anon_sym_while] = ACTIONS(1288),
+    [anon_sym_do] = ACTIONS(1288),
+    [anon_sym_for] = ACTIONS(1288),
+    [anon_sym_return] = ACTIONS(1288),
+    [anon_sym_break] = ACTIONS(1288),
+    [anon_sym_continue] = ACTIONS(1288),
+    [anon_sym_goto] = ACTIONS(1288),
+    [anon_sym___try] = ACTIONS(1288),
+    [anon_sym___leave] = ACTIONS(1288),
+    [anon_sym_DASH_DASH] = ACTIONS(1290),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1290),
+    [anon_sym_sizeof] = ACTIONS(1288),
+    [anon_sym___alignof__] = ACTIONS(1288),
+    [anon_sym___alignof] = ACTIONS(1288),
+    [anon_sym__alignof] = ACTIONS(1288),
+    [anon_sym_alignof] = ACTIONS(1288),
+    [anon_sym__Alignof] = ACTIONS(1288),
+    [anon_sym_offsetof] = ACTIONS(1288),
+    [anon_sym__Generic] = ACTIONS(1288),
+    [anon_sym_asm] = ACTIONS(1288),
+    [anon_sym___asm__] = ACTIONS(1288),
+    [anon_sym___asm] = ACTIONS(1288),
+    [sym_number_literal] = ACTIONS(1290),
+    [anon_sym_L_SQUOTE] = ACTIONS(1290),
+    [anon_sym_u_SQUOTE] = ACTIONS(1290),
+    [anon_sym_U_SQUOTE] = ACTIONS(1290),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1290),
+    [anon_sym_SQUOTE] = ACTIONS(1290),
+    [anon_sym_L_DQUOTE] = ACTIONS(1290),
+    [anon_sym_u_DQUOTE] = ACTIONS(1290),
+    [anon_sym_U_DQUOTE] = ACTIONS(1290),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1290),
+    [anon_sym_DQUOTE] = ACTIONS(1290),
+    [sym_true] = ACTIONS(1288),
+    [sym_false] = ACTIONS(1288),
+    [anon_sym_NULL] = ACTIONS(1288),
+    [anon_sym_nullptr] = ACTIONS(1288),
     [sym_comment] = ACTIONS(3),
   },
   [126] = {
-    [sym_identifier] = ACTIONS(1285),
-    [aux_sym_preproc_include_token1] = ACTIONS(1285),
-    [aux_sym_preproc_def_token1] = ACTIONS(1285),
-    [aux_sym_preproc_if_token1] = ACTIONS(1285),
-    [aux_sym_preproc_if_token2] = ACTIONS(1285),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1285),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1285),
-    [aux_sym_preproc_else_token1] = ACTIONS(1285),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1285),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1285),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1285),
-    [sym_preproc_directive] = ACTIONS(1285),
-    [anon_sym_LPAREN2] = ACTIONS(1287),
-    [anon_sym_BANG] = ACTIONS(1287),
-    [anon_sym_TILDE] = ACTIONS(1287),
-    [anon_sym_DASH] = ACTIONS(1285),
-    [anon_sym_PLUS] = ACTIONS(1285),
-    [anon_sym_STAR] = ACTIONS(1287),
-    [anon_sym_AMP] = ACTIONS(1287),
-    [anon_sym_SEMI] = ACTIONS(1287),
-    [anon_sym___extension__] = ACTIONS(1285),
-    [anon_sym_typedef] = ACTIONS(1285),
-    [anon_sym_extern] = ACTIONS(1285),
-    [anon_sym___attribute__] = ACTIONS(1285),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1287),
-    [anon_sym___declspec] = ACTIONS(1285),
-    [anon_sym___cdecl] = ACTIONS(1285),
-    [anon_sym___clrcall] = ACTIONS(1285),
-    [anon_sym___stdcall] = ACTIONS(1285),
-    [anon_sym___fastcall] = ACTIONS(1285),
-    [anon_sym___thiscall] = ACTIONS(1285),
-    [anon_sym___vectorcall] = ACTIONS(1285),
-    [anon_sym_LBRACE] = ACTIONS(1287),
-    [anon_sym_signed] = ACTIONS(1285),
-    [anon_sym_unsigned] = ACTIONS(1285),
-    [anon_sym_long] = ACTIONS(1285),
-    [anon_sym_short] = ACTIONS(1285),
-    [anon_sym_static] = ACTIONS(1285),
-    [anon_sym_auto] = ACTIONS(1285),
-    [anon_sym_register] = ACTIONS(1285),
-    [anon_sym_inline] = ACTIONS(1285),
-    [anon_sym___inline] = ACTIONS(1285),
-    [anon_sym___inline__] = ACTIONS(1285),
-    [anon_sym___forceinline] = ACTIONS(1285),
-    [anon_sym_thread_local] = ACTIONS(1285),
-    [anon_sym___thread] = ACTIONS(1285),
-    [anon_sym_const] = ACTIONS(1285),
-    [anon_sym_constexpr] = ACTIONS(1285),
-    [anon_sym_volatile] = ACTIONS(1285),
-    [anon_sym_restrict] = ACTIONS(1285),
-    [anon_sym___restrict__] = ACTIONS(1285),
-    [anon_sym__Atomic] = ACTIONS(1285),
-    [anon_sym__Noreturn] = ACTIONS(1285),
-    [anon_sym_noreturn] = ACTIONS(1285),
-    [anon_sym__Nonnull] = ACTIONS(1285),
-    [anon_sym_alignas] = ACTIONS(1285),
-    [anon_sym__Alignas] = ACTIONS(1285),
-    [sym_primitive_type] = ACTIONS(1285),
-    [anon_sym_enum] = ACTIONS(1285),
-    [anon_sym_struct] = ACTIONS(1285),
-    [anon_sym_union] = ACTIONS(1285),
-    [anon_sym_if] = ACTIONS(1285),
-    [anon_sym_switch] = ACTIONS(1285),
-    [anon_sym_case] = ACTIONS(1285),
-    [anon_sym_default] = ACTIONS(1285),
-    [anon_sym_while] = ACTIONS(1285),
-    [anon_sym_do] = ACTIONS(1285),
-    [anon_sym_for] = ACTIONS(1285),
-    [anon_sym_return] = ACTIONS(1285),
-    [anon_sym_break] = ACTIONS(1285),
-    [anon_sym_continue] = ACTIONS(1285),
-    [anon_sym_goto] = ACTIONS(1285),
-    [anon_sym___try] = ACTIONS(1285),
-    [anon_sym___leave] = ACTIONS(1285),
-    [anon_sym_DASH_DASH] = ACTIONS(1287),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1287),
-    [anon_sym_sizeof] = ACTIONS(1285),
-    [anon_sym___alignof__] = ACTIONS(1285),
-    [anon_sym___alignof] = ACTIONS(1285),
-    [anon_sym__alignof] = ACTIONS(1285),
-    [anon_sym_alignof] = ACTIONS(1285),
-    [anon_sym__Alignof] = ACTIONS(1285),
-    [anon_sym_offsetof] = ACTIONS(1285),
-    [anon_sym__Generic] = ACTIONS(1285),
-    [anon_sym_asm] = ACTIONS(1285),
-    [anon_sym___asm__] = ACTIONS(1285),
-    [anon_sym___asm] = ACTIONS(1285),
-    [sym_number_literal] = ACTIONS(1287),
-    [anon_sym_L_SQUOTE] = ACTIONS(1287),
-    [anon_sym_u_SQUOTE] = ACTIONS(1287),
-    [anon_sym_U_SQUOTE] = ACTIONS(1287),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1287),
-    [anon_sym_SQUOTE] = ACTIONS(1287),
-    [anon_sym_L_DQUOTE] = ACTIONS(1287),
-    [anon_sym_u_DQUOTE] = ACTIONS(1287),
-    [anon_sym_U_DQUOTE] = ACTIONS(1287),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1287),
-    [anon_sym_DQUOTE] = ACTIONS(1287),
-    [sym_true] = ACTIONS(1285),
-    [sym_false] = ACTIONS(1285),
-    [anon_sym_NULL] = ACTIONS(1285),
-    [anon_sym_nullptr] = ACTIONS(1285),
+    [sym_identifier] = ACTIONS(1292),
+    [aux_sym_preproc_include_token1] = ACTIONS(1292),
+    [aux_sym_preproc_def_token1] = ACTIONS(1292),
+    [aux_sym_preproc_if_token1] = ACTIONS(1292),
+    [aux_sym_preproc_if_token2] = ACTIONS(1292),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1292),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1292),
+    [aux_sym_preproc_else_token1] = ACTIONS(1292),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1292),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1292),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1292),
+    [sym_preproc_directive] = ACTIONS(1292),
+    [anon_sym_LPAREN2] = ACTIONS(1294),
+    [anon_sym_BANG] = ACTIONS(1294),
+    [anon_sym_TILDE] = ACTIONS(1294),
+    [anon_sym_DASH] = ACTIONS(1292),
+    [anon_sym_PLUS] = ACTIONS(1292),
+    [anon_sym_STAR] = ACTIONS(1294),
+    [anon_sym_AMP] = ACTIONS(1294),
+    [anon_sym_SEMI] = ACTIONS(1294),
+    [anon_sym___extension__] = ACTIONS(1292),
+    [anon_sym_typedef] = ACTIONS(1292),
+    [anon_sym_extern] = ACTIONS(1292),
+    [anon_sym___attribute__] = ACTIONS(1292),
+    [anon_sym___attribute] = ACTIONS(1292),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1294),
+    [anon_sym___declspec] = ACTIONS(1292),
+    [anon_sym___cdecl] = ACTIONS(1292),
+    [anon_sym___clrcall] = ACTIONS(1292),
+    [anon_sym___stdcall] = ACTIONS(1292),
+    [anon_sym___fastcall] = ACTIONS(1292),
+    [anon_sym___thiscall] = ACTIONS(1292),
+    [anon_sym___vectorcall] = ACTIONS(1292),
+    [anon_sym_LBRACE] = ACTIONS(1294),
+    [anon_sym_signed] = ACTIONS(1292),
+    [anon_sym_unsigned] = ACTIONS(1292),
+    [anon_sym_long] = ACTIONS(1292),
+    [anon_sym_short] = ACTIONS(1292),
+    [anon_sym_static] = ACTIONS(1292),
+    [anon_sym_auto] = ACTIONS(1292),
+    [anon_sym_register] = ACTIONS(1292),
+    [anon_sym_inline] = ACTIONS(1292),
+    [anon_sym___inline] = ACTIONS(1292),
+    [anon_sym___inline__] = ACTIONS(1292),
+    [anon_sym___forceinline] = ACTIONS(1292),
+    [anon_sym_thread_local] = ACTIONS(1292),
+    [anon_sym___thread] = ACTIONS(1292),
+    [anon_sym_const] = ACTIONS(1292),
+    [anon_sym_constexpr] = ACTIONS(1292),
+    [anon_sym_volatile] = ACTIONS(1292),
+    [anon_sym_restrict] = ACTIONS(1292),
+    [anon_sym___restrict__] = ACTIONS(1292),
+    [anon_sym__Atomic] = ACTIONS(1292),
+    [anon_sym__Noreturn] = ACTIONS(1292),
+    [anon_sym_noreturn] = ACTIONS(1292),
+    [anon_sym__Nonnull] = ACTIONS(1292),
+    [anon_sym_alignas] = ACTIONS(1292),
+    [anon_sym__Alignas] = ACTIONS(1292),
+    [sym_primitive_type] = ACTIONS(1292),
+    [anon_sym_enum] = ACTIONS(1292),
+    [anon_sym_struct] = ACTIONS(1292),
+    [anon_sym_union] = ACTIONS(1292),
+    [anon_sym_if] = ACTIONS(1292),
+    [anon_sym_switch] = ACTIONS(1292),
+    [anon_sym_case] = ACTIONS(1292),
+    [anon_sym_default] = ACTIONS(1292),
+    [anon_sym_while] = ACTIONS(1292),
+    [anon_sym_do] = ACTIONS(1292),
+    [anon_sym_for] = ACTIONS(1292),
+    [anon_sym_return] = ACTIONS(1292),
+    [anon_sym_break] = ACTIONS(1292),
+    [anon_sym_continue] = ACTIONS(1292),
+    [anon_sym_goto] = ACTIONS(1292),
+    [anon_sym___try] = ACTIONS(1292),
+    [anon_sym___leave] = ACTIONS(1292),
+    [anon_sym_DASH_DASH] = ACTIONS(1294),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1294),
+    [anon_sym_sizeof] = ACTIONS(1292),
+    [anon_sym___alignof__] = ACTIONS(1292),
+    [anon_sym___alignof] = ACTIONS(1292),
+    [anon_sym__alignof] = ACTIONS(1292),
+    [anon_sym_alignof] = ACTIONS(1292),
+    [anon_sym__Alignof] = ACTIONS(1292),
+    [anon_sym_offsetof] = ACTIONS(1292),
+    [anon_sym__Generic] = ACTIONS(1292),
+    [anon_sym_asm] = ACTIONS(1292),
+    [anon_sym___asm__] = ACTIONS(1292),
+    [anon_sym___asm] = ACTIONS(1292),
+    [sym_number_literal] = ACTIONS(1294),
+    [anon_sym_L_SQUOTE] = ACTIONS(1294),
+    [anon_sym_u_SQUOTE] = ACTIONS(1294),
+    [anon_sym_U_SQUOTE] = ACTIONS(1294),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1294),
+    [anon_sym_SQUOTE] = ACTIONS(1294),
+    [anon_sym_L_DQUOTE] = ACTIONS(1294),
+    [anon_sym_u_DQUOTE] = ACTIONS(1294),
+    [anon_sym_U_DQUOTE] = ACTIONS(1294),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1294),
+    [anon_sym_DQUOTE] = ACTIONS(1294),
+    [sym_true] = ACTIONS(1292),
+    [sym_false] = ACTIONS(1292),
+    [anon_sym_NULL] = ACTIONS(1292),
+    [anon_sym_nullptr] = ACTIONS(1292),
     [sym_comment] = ACTIONS(3),
   },
   [127] = {
-    [sym_identifier] = ACTIONS(1289),
-    [aux_sym_preproc_include_token1] = ACTIONS(1289),
-    [aux_sym_preproc_def_token1] = ACTIONS(1289),
-    [aux_sym_preproc_if_token1] = ACTIONS(1289),
-    [aux_sym_preproc_if_token2] = ACTIONS(1289),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1289),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1289),
-    [aux_sym_preproc_else_token1] = ACTIONS(1289),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1289),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1289),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1289),
-    [sym_preproc_directive] = ACTIONS(1289),
-    [anon_sym_LPAREN2] = ACTIONS(1291),
-    [anon_sym_BANG] = ACTIONS(1291),
-    [anon_sym_TILDE] = ACTIONS(1291),
-    [anon_sym_DASH] = ACTIONS(1289),
-    [anon_sym_PLUS] = ACTIONS(1289),
-    [anon_sym_STAR] = ACTIONS(1291),
-    [anon_sym_AMP] = ACTIONS(1291),
-    [anon_sym_SEMI] = ACTIONS(1291),
-    [anon_sym___extension__] = ACTIONS(1289),
-    [anon_sym_typedef] = ACTIONS(1289),
-    [anon_sym_extern] = ACTIONS(1289),
-    [anon_sym___attribute__] = ACTIONS(1289),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1291),
-    [anon_sym___declspec] = ACTIONS(1289),
-    [anon_sym___cdecl] = ACTIONS(1289),
-    [anon_sym___clrcall] = ACTIONS(1289),
-    [anon_sym___stdcall] = ACTIONS(1289),
-    [anon_sym___fastcall] = ACTIONS(1289),
-    [anon_sym___thiscall] = ACTIONS(1289),
-    [anon_sym___vectorcall] = ACTIONS(1289),
-    [anon_sym_LBRACE] = ACTIONS(1291),
-    [anon_sym_signed] = ACTIONS(1289),
-    [anon_sym_unsigned] = ACTIONS(1289),
-    [anon_sym_long] = ACTIONS(1289),
-    [anon_sym_short] = ACTIONS(1289),
-    [anon_sym_static] = ACTIONS(1289),
-    [anon_sym_auto] = ACTIONS(1289),
-    [anon_sym_register] = ACTIONS(1289),
-    [anon_sym_inline] = ACTIONS(1289),
-    [anon_sym___inline] = ACTIONS(1289),
-    [anon_sym___inline__] = ACTIONS(1289),
-    [anon_sym___forceinline] = ACTIONS(1289),
-    [anon_sym_thread_local] = ACTIONS(1289),
-    [anon_sym___thread] = ACTIONS(1289),
-    [anon_sym_const] = ACTIONS(1289),
-    [anon_sym_constexpr] = ACTIONS(1289),
-    [anon_sym_volatile] = ACTIONS(1289),
-    [anon_sym_restrict] = ACTIONS(1289),
-    [anon_sym___restrict__] = ACTIONS(1289),
-    [anon_sym__Atomic] = ACTIONS(1289),
-    [anon_sym__Noreturn] = ACTIONS(1289),
-    [anon_sym_noreturn] = ACTIONS(1289),
-    [anon_sym__Nonnull] = ACTIONS(1289),
-    [anon_sym_alignas] = ACTIONS(1289),
-    [anon_sym__Alignas] = ACTIONS(1289),
-    [sym_primitive_type] = ACTIONS(1289),
-    [anon_sym_enum] = ACTIONS(1289),
-    [anon_sym_struct] = ACTIONS(1289),
-    [anon_sym_union] = ACTIONS(1289),
-    [anon_sym_if] = ACTIONS(1289),
-    [anon_sym_switch] = ACTIONS(1289),
-    [anon_sym_case] = ACTIONS(1289),
-    [anon_sym_default] = ACTIONS(1289),
-    [anon_sym_while] = ACTIONS(1289),
-    [anon_sym_do] = ACTIONS(1289),
-    [anon_sym_for] = ACTIONS(1289),
-    [anon_sym_return] = ACTIONS(1289),
-    [anon_sym_break] = ACTIONS(1289),
-    [anon_sym_continue] = ACTIONS(1289),
-    [anon_sym_goto] = ACTIONS(1289),
-    [anon_sym___try] = ACTIONS(1289),
-    [anon_sym___leave] = ACTIONS(1289),
-    [anon_sym_DASH_DASH] = ACTIONS(1291),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1291),
-    [anon_sym_sizeof] = ACTIONS(1289),
-    [anon_sym___alignof__] = ACTIONS(1289),
-    [anon_sym___alignof] = ACTIONS(1289),
-    [anon_sym__alignof] = ACTIONS(1289),
-    [anon_sym_alignof] = ACTIONS(1289),
-    [anon_sym__Alignof] = ACTIONS(1289),
-    [anon_sym_offsetof] = ACTIONS(1289),
-    [anon_sym__Generic] = ACTIONS(1289),
-    [anon_sym_asm] = ACTIONS(1289),
-    [anon_sym___asm__] = ACTIONS(1289),
-    [anon_sym___asm] = ACTIONS(1289),
-    [sym_number_literal] = ACTIONS(1291),
-    [anon_sym_L_SQUOTE] = ACTIONS(1291),
-    [anon_sym_u_SQUOTE] = ACTIONS(1291),
-    [anon_sym_U_SQUOTE] = ACTIONS(1291),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1291),
-    [anon_sym_SQUOTE] = ACTIONS(1291),
-    [anon_sym_L_DQUOTE] = ACTIONS(1291),
-    [anon_sym_u_DQUOTE] = ACTIONS(1291),
-    [anon_sym_U_DQUOTE] = ACTIONS(1291),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1291),
-    [anon_sym_DQUOTE] = ACTIONS(1291),
-    [sym_true] = ACTIONS(1289),
-    [sym_false] = ACTIONS(1289),
-    [anon_sym_NULL] = ACTIONS(1289),
-    [anon_sym_nullptr] = ACTIONS(1289),
+    [sym_identifier] = ACTIONS(1296),
+    [aux_sym_preproc_include_token1] = ACTIONS(1296),
+    [aux_sym_preproc_def_token1] = ACTIONS(1296),
+    [aux_sym_preproc_if_token1] = ACTIONS(1296),
+    [aux_sym_preproc_if_token2] = ACTIONS(1296),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1296),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1296),
+    [aux_sym_preproc_else_token1] = ACTIONS(1296),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1296),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1296),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1296),
+    [sym_preproc_directive] = ACTIONS(1296),
+    [anon_sym_LPAREN2] = ACTIONS(1298),
+    [anon_sym_BANG] = ACTIONS(1298),
+    [anon_sym_TILDE] = ACTIONS(1298),
+    [anon_sym_DASH] = ACTIONS(1296),
+    [anon_sym_PLUS] = ACTIONS(1296),
+    [anon_sym_STAR] = ACTIONS(1298),
+    [anon_sym_AMP] = ACTIONS(1298),
+    [anon_sym_SEMI] = ACTIONS(1298),
+    [anon_sym___extension__] = ACTIONS(1296),
+    [anon_sym_typedef] = ACTIONS(1296),
+    [anon_sym_extern] = ACTIONS(1296),
+    [anon_sym___attribute__] = ACTIONS(1296),
+    [anon_sym___attribute] = ACTIONS(1296),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1298),
+    [anon_sym___declspec] = ACTIONS(1296),
+    [anon_sym___cdecl] = ACTIONS(1296),
+    [anon_sym___clrcall] = ACTIONS(1296),
+    [anon_sym___stdcall] = ACTIONS(1296),
+    [anon_sym___fastcall] = ACTIONS(1296),
+    [anon_sym___thiscall] = ACTIONS(1296),
+    [anon_sym___vectorcall] = ACTIONS(1296),
+    [anon_sym_LBRACE] = ACTIONS(1298),
+    [anon_sym_signed] = ACTIONS(1296),
+    [anon_sym_unsigned] = ACTIONS(1296),
+    [anon_sym_long] = ACTIONS(1296),
+    [anon_sym_short] = ACTIONS(1296),
+    [anon_sym_static] = ACTIONS(1296),
+    [anon_sym_auto] = ACTIONS(1296),
+    [anon_sym_register] = ACTIONS(1296),
+    [anon_sym_inline] = ACTIONS(1296),
+    [anon_sym___inline] = ACTIONS(1296),
+    [anon_sym___inline__] = ACTIONS(1296),
+    [anon_sym___forceinline] = ACTIONS(1296),
+    [anon_sym_thread_local] = ACTIONS(1296),
+    [anon_sym___thread] = ACTIONS(1296),
+    [anon_sym_const] = ACTIONS(1296),
+    [anon_sym_constexpr] = ACTIONS(1296),
+    [anon_sym_volatile] = ACTIONS(1296),
+    [anon_sym_restrict] = ACTIONS(1296),
+    [anon_sym___restrict__] = ACTIONS(1296),
+    [anon_sym__Atomic] = ACTIONS(1296),
+    [anon_sym__Noreturn] = ACTIONS(1296),
+    [anon_sym_noreturn] = ACTIONS(1296),
+    [anon_sym__Nonnull] = ACTIONS(1296),
+    [anon_sym_alignas] = ACTIONS(1296),
+    [anon_sym__Alignas] = ACTIONS(1296),
+    [sym_primitive_type] = ACTIONS(1296),
+    [anon_sym_enum] = ACTIONS(1296),
+    [anon_sym_struct] = ACTIONS(1296),
+    [anon_sym_union] = ACTIONS(1296),
+    [anon_sym_if] = ACTIONS(1296),
+    [anon_sym_switch] = ACTIONS(1296),
+    [anon_sym_case] = ACTIONS(1296),
+    [anon_sym_default] = ACTIONS(1296),
+    [anon_sym_while] = ACTIONS(1296),
+    [anon_sym_do] = ACTIONS(1296),
+    [anon_sym_for] = ACTIONS(1296),
+    [anon_sym_return] = ACTIONS(1296),
+    [anon_sym_break] = ACTIONS(1296),
+    [anon_sym_continue] = ACTIONS(1296),
+    [anon_sym_goto] = ACTIONS(1296),
+    [anon_sym___try] = ACTIONS(1296),
+    [anon_sym___leave] = ACTIONS(1296),
+    [anon_sym_DASH_DASH] = ACTIONS(1298),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1298),
+    [anon_sym_sizeof] = ACTIONS(1296),
+    [anon_sym___alignof__] = ACTIONS(1296),
+    [anon_sym___alignof] = ACTIONS(1296),
+    [anon_sym__alignof] = ACTIONS(1296),
+    [anon_sym_alignof] = ACTIONS(1296),
+    [anon_sym__Alignof] = ACTIONS(1296),
+    [anon_sym_offsetof] = ACTIONS(1296),
+    [anon_sym__Generic] = ACTIONS(1296),
+    [anon_sym_asm] = ACTIONS(1296),
+    [anon_sym___asm__] = ACTIONS(1296),
+    [anon_sym___asm] = ACTIONS(1296),
+    [sym_number_literal] = ACTIONS(1298),
+    [anon_sym_L_SQUOTE] = ACTIONS(1298),
+    [anon_sym_u_SQUOTE] = ACTIONS(1298),
+    [anon_sym_U_SQUOTE] = ACTIONS(1298),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1298),
+    [anon_sym_SQUOTE] = ACTIONS(1298),
+    [anon_sym_L_DQUOTE] = ACTIONS(1298),
+    [anon_sym_u_DQUOTE] = ACTIONS(1298),
+    [anon_sym_U_DQUOTE] = ACTIONS(1298),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1298),
+    [anon_sym_DQUOTE] = ACTIONS(1298),
+    [sym_true] = ACTIONS(1296),
+    [sym_false] = ACTIONS(1296),
+    [anon_sym_NULL] = ACTIONS(1296),
+    [anon_sym_nullptr] = ACTIONS(1296),
     [sym_comment] = ACTIONS(3),
   },
   [128] = {
-    [sym_identifier] = ACTIONS(1293),
-    [aux_sym_preproc_include_token1] = ACTIONS(1293),
-    [aux_sym_preproc_def_token1] = ACTIONS(1293),
-    [aux_sym_preproc_if_token1] = ACTIONS(1293),
-    [aux_sym_preproc_if_token2] = ACTIONS(1293),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1293),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1293),
-    [aux_sym_preproc_else_token1] = ACTIONS(1293),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1293),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1293),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1293),
-    [sym_preproc_directive] = ACTIONS(1293),
-    [anon_sym_LPAREN2] = ACTIONS(1295),
-    [anon_sym_BANG] = ACTIONS(1295),
-    [anon_sym_TILDE] = ACTIONS(1295),
-    [anon_sym_DASH] = ACTIONS(1293),
-    [anon_sym_PLUS] = ACTIONS(1293),
-    [anon_sym_STAR] = ACTIONS(1295),
-    [anon_sym_AMP] = ACTIONS(1295),
-    [anon_sym_SEMI] = ACTIONS(1295),
-    [anon_sym___extension__] = ACTIONS(1293),
-    [anon_sym_typedef] = ACTIONS(1293),
-    [anon_sym_extern] = ACTIONS(1293),
-    [anon_sym___attribute__] = ACTIONS(1293),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1295),
-    [anon_sym___declspec] = ACTIONS(1293),
-    [anon_sym___cdecl] = ACTIONS(1293),
-    [anon_sym___clrcall] = ACTIONS(1293),
-    [anon_sym___stdcall] = ACTIONS(1293),
-    [anon_sym___fastcall] = ACTIONS(1293),
-    [anon_sym___thiscall] = ACTIONS(1293),
-    [anon_sym___vectorcall] = ACTIONS(1293),
-    [anon_sym_LBRACE] = ACTIONS(1295),
-    [anon_sym_signed] = ACTIONS(1293),
-    [anon_sym_unsigned] = ACTIONS(1293),
-    [anon_sym_long] = ACTIONS(1293),
-    [anon_sym_short] = ACTIONS(1293),
-    [anon_sym_static] = ACTIONS(1293),
-    [anon_sym_auto] = ACTIONS(1293),
-    [anon_sym_register] = ACTIONS(1293),
-    [anon_sym_inline] = ACTIONS(1293),
-    [anon_sym___inline] = ACTIONS(1293),
-    [anon_sym___inline__] = ACTIONS(1293),
-    [anon_sym___forceinline] = ACTIONS(1293),
-    [anon_sym_thread_local] = ACTIONS(1293),
-    [anon_sym___thread] = ACTIONS(1293),
-    [anon_sym_const] = ACTIONS(1293),
-    [anon_sym_constexpr] = ACTIONS(1293),
-    [anon_sym_volatile] = ACTIONS(1293),
-    [anon_sym_restrict] = ACTIONS(1293),
-    [anon_sym___restrict__] = ACTIONS(1293),
-    [anon_sym__Atomic] = ACTIONS(1293),
-    [anon_sym__Noreturn] = ACTIONS(1293),
-    [anon_sym_noreturn] = ACTIONS(1293),
-    [anon_sym__Nonnull] = ACTIONS(1293),
-    [anon_sym_alignas] = ACTIONS(1293),
-    [anon_sym__Alignas] = ACTIONS(1293),
-    [sym_primitive_type] = ACTIONS(1293),
-    [anon_sym_enum] = ACTIONS(1293),
-    [anon_sym_struct] = ACTIONS(1293),
-    [anon_sym_union] = ACTIONS(1293),
-    [anon_sym_if] = ACTIONS(1293),
-    [anon_sym_switch] = ACTIONS(1293),
-    [anon_sym_case] = ACTIONS(1293),
-    [anon_sym_default] = ACTIONS(1293),
-    [anon_sym_while] = ACTIONS(1293),
-    [anon_sym_do] = ACTIONS(1293),
-    [anon_sym_for] = ACTIONS(1293),
-    [anon_sym_return] = ACTIONS(1293),
-    [anon_sym_break] = ACTIONS(1293),
-    [anon_sym_continue] = ACTIONS(1293),
-    [anon_sym_goto] = ACTIONS(1293),
-    [anon_sym___try] = ACTIONS(1293),
-    [anon_sym___leave] = ACTIONS(1293),
-    [anon_sym_DASH_DASH] = ACTIONS(1295),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1295),
-    [anon_sym_sizeof] = ACTIONS(1293),
-    [anon_sym___alignof__] = ACTIONS(1293),
-    [anon_sym___alignof] = ACTIONS(1293),
-    [anon_sym__alignof] = ACTIONS(1293),
-    [anon_sym_alignof] = ACTIONS(1293),
-    [anon_sym__Alignof] = ACTIONS(1293),
-    [anon_sym_offsetof] = ACTIONS(1293),
-    [anon_sym__Generic] = ACTIONS(1293),
-    [anon_sym_asm] = ACTIONS(1293),
-    [anon_sym___asm__] = ACTIONS(1293),
-    [anon_sym___asm] = ACTIONS(1293),
-    [sym_number_literal] = ACTIONS(1295),
-    [anon_sym_L_SQUOTE] = ACTIONS(1295),
-    [anon_sym_u_SQUOTE] = ACTIONS(1295),
-    [anon_sym_U_SQUOTE] = ACTIONS(1295),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1295),
-    [anon_sym_SQUOTE] = ACTIONS(1295),
-    [anon_sym_L_DQUOTE] = ACTIONS(1295),
-    [anon_sym_u_DQUOTE] = ACTIONS(1295),
-    [anon_sym_U_DQUOTE] = ACTIONS(1295),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1295),
-    [anon_sym_DQUOTE] = ACTIONS(1295),
-    [sym_true] = ACTIONS(1293),
-    [sym_false] = ACTIONS(1293),
-    [anon_sym_NULL] = ACTIONS(1293),
-    [anon_sym_nullptr] = ACTIONS(1293),
+    [sym_identifier] = ACTIONS(1300),
+    [aux_sym_preproc_include_token1] = ACTIONS(1300),
+    [aux_sym_preproc_def_token1] = ACTIONS(1300),
+    [aux_sym_preproc_if_token1] = ACTIONS(1300),
+    [aux_sym_preproc_if_token2] = ACTIONS(1300),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1300),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1300),
+    [aux_sym_preproc_else_token1] = ACTIONS(1300),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1300),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1300),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1300),
+    [sym_preproc_directive] = ACTIONS(1300),
+    [anon_sym_LPAREN2] = ACTIONS(1302),
+    [anon_sym_BANG] = ACTIONS(1302),
+    [anon_sym_TILDE] = ACTIONS(1302),
+    [anon_sym_DASH] = ACTIONS(1300),
+    [anon_sym_PLUS] = ACTIONS(1300),
+    [anon_sym_STAR] = ACTIONS(1302),
+    [anon_sym_AMP] = ACTIONS(1302),
+    [anon_sym_SEMI] = ACTIONS(1302),
+    [anon_sym___extension__] = ACTIONS(1300),
+    [anon_sym_typedef] = ACTIONS(1300),
+    [anon_sym_extern] = ACTIONS(1300),
+    [anon_sym___attribute__] = ACTIONS(1300),
+    [anon_sym___attribute] = ACTIONS(1300),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1302),
+    [anon_sym___declspec] = ACTIONS(1300),
+    [anon_sym___cdecl] = ACTIONS(1300),
+    [anon_sym___clrcall] = ACTIONS(1300),
+    [anon_sym___stdcall] = ACTIONS(1300),
+    [anon_sym___fastcall] = ACTIONS(1300),
+    [anon_sym___thiscall] = ACTIONS(1300),
+    [anon_sym___vectorcall] = ACTIONS(1300),
+    [anon_sym_LBRACE] = ACTIONS(1302),
+    [anon_sym_signed] = ACTIONS(1300),
+    [anon_sym_unsigned] = ACTIONS(1300),
+    [anon_sym_long] = ACTIONS(1300),
+    [anon_sym_short] = ACTIONS(1300),
+    [anon_sym_static] = ACTIONS(1300),
+    [anon_sym_auto] = ACTIONS(1300),
+    [anon_sym_register] = ACTIONS(1300),
+    [anon_sym_inline] = ACTIONS(1300),
+    [anon_sym___inline] = ACTIONS(1300),
+    [anon_sym___inline__] = ACTIONS(1300),
+    [anon_sym___forceinline] = ACTIONS(1300),
+    [anon_sym_thread_local] = ACTIONS(1300),
+    [anon_sym___thread] = ACTIONS(1300),
+    [anon_sym_const] = ACTIONS(1300),
+    [anon_sym_constexpr] = ACTIONS(1300),
+    [anon_sym_volatile] = ACTIONS(1300),
+    [anon_sym_restrict] = ACTIONS(1300),
+    [anon_sym___restrict__] = ACTIONS(1300),
+    [anon_sym__Atomic] = ACTIONS(1300),
+    [anon_sym__Noreturn] = ACTIONS(1300),
+    [anon_sym_noreturn] = ACTIONS(1300),
+    [anon_sym__Nonnull] = ACTIONS(1300),
+    [anon_sym_alignas] = ACTIONS(1300),
+    [anon_sym__Alignas] = ACTIONS(1300),
+    [sym_primitive_type] = ACTIONS(1300),
+    [anon_sym_enum] = ACTIONS(1300),
+    [anon_sym_struct] = ACTIONS(1300),
+    [anon_sym_union] = ACTIONS(1300),
+    [anon_sym_if] = ACTIONS(1300),
+    [anon_sym_switch] = ACTIONS(1300),
+    [anon_sym_case] = ACTIONS(1300),
+    [anon_sym_default] = ACTIONS(1300),
+    [anon_sym_while] = ACTIONS(1300),
+    [anon_sym_do] = ACTIONS(1300),
+    [anon_sym_for] = ACTIONS(1300),
+    [anon_sym_return] = ACTIONS(1300),
+    [anon_sym_break] = ACTIONS(1300),
+    [anon_sym_continue] = ACTIONS(1300),
+    [anon_sym_goto] = ACTIONS(1300),
+    [anon_sym___try] = ACTIONS(1300),
+    [anon_sym___leave] = ACTIONS(1300),
+    [anon_sym_DASH_DASH] = ACTIONS(1302),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1302),
+    [anon_sym_sizeof] = ACTIONS(1300),
+    [anon_sym___alignof__] = ACTIONS(1300),
+    [anon_sym___alignof] = ACTIONS(1300),
+    [anon_sym__alignof] = ACTIONS(1300),
+    [anon_sym_alignof] = ACTIONS(1300),
+    [anon_sym__Alignof] = ACTIONS(1300),
+    [anon_sym_offsetof] = ACTIONS(1300),
+    [anon_sym__Generic] = ACTIONS(1300),
+    [anon_sym_asm] = ACTIONS(1300),
+    [anon_sym___asm__] = ACTIONS(1300),
+    [anon_sym___asm] = ACTIONS(1300),
+    [sym_number_literal] = ACTIONS(1302),
+    [anon_sym_L_SQUOTE] = ACTIONS(1302),
+    [anon_sym_u_SQUOTE] = ACTIONS(1302),
+    [anon_sym_U_SQUOTE] = ACTIONS(1302),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1302),
+    [anon_sym_SQUOTE] = ACTIONS(1302),
+    [anon_sym_L_DQUOTE] = ACTIONS(1302),
+    [anon_sym_u_DQUOTE] = ACTIONS(1302),
+    [anon_sym_U_DQUOTE] = ACTIONS(1302),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1302),
+    [anon_sym_DQUOTE] = ACTIONS(1302),
+    [sym_true] = ACTIONS(1300),
+    [sym_false] = ACTIONS(1300),
+    [anon_sym_NULL] = ACTIONS(1300),
+    [anon_sym_nullptr] = ACTIONS(1300),
     [sym_comment] = ACTIONS(3),
   },
   [129] = {
-    [sym_identifier] = ACTIONS(1297),
-    [aux_sym_preproc_include_token1] = ACTIONS(1297),
-    [aux_sym_preproc_def_token1] = ACTIONS(1297),
-    [aux_sym_preproc_if_token1] = ACTIONS(1297),
-    [aux_sym_preproc_if_token2] = ACTIONS(1297),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1297),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1297),
-    [aux_sym_preproc_else_token1] = ACTIONS(1297),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1297),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1297),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1297),
-    [sym_preproc_directive] = ACTIONS(1297),
-    [anon_sym_LPAREN2] = ACTIONS(1299),
-    [anon_sym_BANG] = ACTIONS(1299),
-    [anon_sym_TILDE] = ACTIONS(1299),
-    [anon_sym_DASH] = ACTIONS(1297),
-    [anon_sym_PLUS] = ACTIONS(1297),
-    [anon_sym_STAR] = ACTIONS(1299),
-    [anon_sym_AMP] = ACTIONS(1299),
-    [anon_sym_SEMI] = ACTIONS(1299),
-    [anon_sym___extension__] = ACTIONS(1297),
-    [anon_sym_typedef] = ACTIONS(1297),
-    [anon_sym_extern] = ACTIONS(1297),
-    [anon_sym___attribute__] = ACTIONS(1297),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1299),
-    [anon_sym___declspec] = ACTIONS(1297),
-    [anon_sym___cdecl] = ACTIONS(1297),
-    [anon_sym___clrcall] = ACTIONS(1297),
-    [anon_sym___stdcall] = ACTIONS(1297),
-    [anon_sym___fastcall] = ACTIONS(1297),
-    [anon_sym___thiscall] = ACTIONS(1297),
-    [anon_sym___vectorcall] = ACTIONS(1297),
-    [anon_sym_LBRACE] = ACTIONS(1299),
-    [anon_sym_signed] = ACTIONS(1297),
-    [anon_sym_unsigned] = ACTIONS(1297),
-    [anon_sym_long] = ACTIONS(1297),
-    [anon_sym_short] = ACTIONS(1297),
-    [anon_sym_static] = ACTIONS(1297),
-    [anon_sym_auto] = ACTIONS(1297),
-    [anon_sym_register] = ACTIONS(1297),
-    [anon_sym_inline] = ACTIONS(1297),
-    [anon_sym___inline] = ACTIONS(1297),
-    [anon_sym___inline__] = ACTIONS(1297),
-    [anon_sym___forceinline] = ACTIONS(1297),
-    [anon_sym_thread_local] = ACTIONS(1297),
-    [anon_sym___thread] = ACTIONS(1297),
-    [anon_sym_const] = ACTIONS(1297),
-    [anon_sym_constexpr] = ACTIONS(1297),
-    [anon_sym_volatile] = ACTIONS(1297),
-    [anon_sym_restrict] = ACTIONS(1297),
-    [anon_sym___restrict__] = ACTIONS(1297),
-    [anon_sym__Atomic] = ACTIONS(1297),
-    [anon_sym__Noreturn] = ACTIONS(1297),
-    [anon_sym_noreturn] = ACTIONS(1297),
-    [anon_sym__Nonnull] = ACTIONS(1297),
-    [anon_sym_alignas] = ACTIONS(1297),
-    [anon_sym__Alignas] = ACTIONS(1297),
-    [sym_primitive_type] = ACTIONS(1297),
-    [anon_sym_enum] = ACTIONS(1297),
-    [anon_sym_struct] = ACTIONS(1297),
-    [anon_sym_union] = ACTIONS(1297),
-    [anon_sym_if] = ACTIONS(1297),
-    [anon_sym_switch] = ACTIONS(1297),
-    [anon_sym_case] = ACTIONS(1297),
-    [anon_sym_default] = ACTIONS(1297),
-    [anon_sym_while] = ACTIONS(1297),
-    [anon_sym_do] = ACTIONS(1297),
-    [anon_sym_for] = ACTIONS(1297),
-    [anon_sym_return] = ACTIONS(1297),
-    [anon_sym_break] = ACTIONS(1297),
-    [anon_sym_continue] = ACTIONS(1297),
-    [anon_sym_goto] = ACTIONS(1297),
-    [anon_sym___try] = ACTIONS(1297),
-    [anon_sym___leave] = ACTIONS(1297),
-    [anon_sym_DASH_DASH] = ACTIONS(1299),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1299),
-    [anon_sym_sizeof] = ACTIONS(1297),
-    [anon_sym___alignof__] = ACTIONS(1297),
-    [anon_sym___alignof] = ACTIONS(1297),
-    [anon_sym__alignof] = ACTIONS(1297),
-    [anon_sym_alignof] = ACTIONS(1297),
-    [anon_sym__Alignof] = ACTIONS(1297),
-    [anon_sym_offsetof] = ACTIONS(1297),
-    [anon_sym__Generic] = ACTIONS(1297),
-    [anon_sym_asm] = ACTIONS(1297),
-    [anon_sym___asm__] = ACTIONS(1297),
-    [anon_sym___asm] = ACTIONS(1297),
-    [sym_number_literal] = ACTIONS(1299),
-    [anon_sym_L_SQUOTE] = ACTIONS(1299),
-    [anon_sym_u_SQUOTE] = ACTIONS(1299),
-    [anon_sym_U_SQUOTE] = ACTIONS(1299),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1299),
-    [anon_sym_SQUOTE] = ACTIONS(1299),
-    [anon_sym_L_DQUOTE] = ACTIONS(1299),
-    [anon_sym_u_DQUOTE] = ACTIONS(1299),
-    [anon_sym_U_DQUOTE] = ACTIONS(1299),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1299),
-    [anon_sym_DQUOTE] = ACTIONS(1299),
-    [sym_true] = ACTIONS(1297),
-    [sym_false] = ACTIONS(1297),
-    [anon_sym_NULL] = ACTIONS(1297),
-    [anon_sym_nullptr] = ACTIONS(1297),
+    [sym_identifier] = ACTIONS(1304),
+    [aux_sym_preproc_include_token1] = ACTIONS(1304),
+    [aux_sym_preproc_def_token1] = ACTIONS(1304),
+    [aux_sym_preproc_if_token1] = ACTIONS(1304),
+    [aux_sym_preproc_if_token2] = ACTIONS(1304),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1304),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1304),
+    [aux_sym_preproc_else_token1] = ACTIONS(1304),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1304),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1304),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1304),
+    [sym_preproc_directive] = ACTIONS(1304),
+    [anon_sym_LPAREN2] = ACTIONS(1306),
+    [anon_sym_BANG] = ACTIONS(1306),
+    [anon_sym_TILDE] = ACTIONS(1306),
+    [anon_sym_DASH] = ACTIONS(1304),
+    [anon_sym_PLUS] = ACTIONS(1304),
+    [anon_sym_STAR] = ACTIONS(1306),
+    [anon_sym_AMP] = ACTIONS(1306),
+    [anon_sym_SEMI] = ACTIONS(1306),
+    [anon_sym___extension__] = ACTIONS(1304),
+    [anon_sym_typedef] = ACTIONS(1304),
+    [anon_sym_extern] = ACTIONS(1304),
+    [anon_sym___attribute__] = ACTIONS(1304),
+    [anon_sym___attribute] = ACTIONS(1304),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1306),
+    [anon_sym___declspec] = ACTIONS(1304),
+    [anon_sym___cdecl] = ACTIONS(1304),
+    [anon_sym___clrcall] = ACTIONS(1304),
+    [anon_sym___stdcall] = ACTIONS(1304),
+    [anon_sym___fastcall] = ACTIONS(1304),
+    [anon_sym___thiscall] = ACTIONS(1304),
+    [anon_sym___vectorcall] = ACTIONS(1304),
+    [anon_sym_LBRACE] = ACTIONS(1306),
+    [anon_sym_signed] = ACTIONS(1304),
+    [anon_sym_unsigned] = ACTIONS(1304),
+    [anon_sym_long] = ACTIONS(1304),
+    [anon_sym_short] = ACTIONS(1304),
+    [anon_sym_static] = ACTIONS(1304),
+    [anon_sym_auto] = ACTIONS(1304),
+    [anon_sym_register] = ACTIONS(1304),
+    [anon_sym_inline] = ACTIONS(1304),
+    [anon_sym___inline] = ACTIONS(1304),
+    [anon_sym___inline__] = ACTIONS(1304),
+    [anon_sym___forceinline] = ACTIONS(1304),
+    [anon_sym_thread_local] = ACTIONS(1304),
+    [anon_sym___thread] = ACTIONS(1304),
+    [anon_sym_const] = ACTIONS(1304),
+    [anon_sym_constexpr] = ACTIONS(1304),
+    [anon_sym_volatile] = ACTIONS(1304),
+    [anon_sym_restrict] = ACTIONS(1304),
+    [anon_sym___restrict__] = ACTIONS(1304),
+    [anon_sym__Atomic] = ACTIONS(1304),
+    [anon_sym__Noreturn] = ACTIONS(1304),
+    [anon_sym_noreturn] = ACTIONS(1304),
+    [anon_sym__Nonnull] = ACTIONS(1304),
+    [anon_sym_alignas] = ACTIONS(1304),
+    [anon_sym__Alignas] = ACTIONS(1304),
+    [sym_primitive_type] = ACTIONS(1304),
+    [anon_sym_enum] = ACTIONS(1304),
+    [anon_sym_struct] = ACTIONS(1304),
+    [anon_sym_union] = ACTIONS(1304),
+    [anon_sym_if] = ACTIONS(1304),
+    [anon_sym_switch] = ACTIONS(1304),
+    [anon_sym_case] = ACTIONS(1304),
+    [anon_sym_default] = ACTIONS(1304),
+    [anon_sym_while] = ACTIONS(1304),
+    [anon_sym_do] = ACTIONS(1304),
+    [anon_sym_for] = ACTIONS(1304),
+    [anon_sym_return] = ACTIONS(1304),
+    [anon_sym_break] = ACTIONS(1304),
+    [anon_sym_continue] = ACTIONS(1304),
+    [anon_sym_goto] = ACTIONS(1304),
+    [anon_sym___try] = ACTIONS(1304),
+    [anon_sym___leave] = ACTIONS(1304),
+    [anon_sym_DASH_DASH] = ACTIONS(1306),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1306),
+    [anon_sym_sizeof] = ACTIONS(1304),
+    [anon_sym___alignof__] = ACTIONS(1304),
+    [anon_sym___alignof] = ACTIONS(1304),
+    [anon_sym__alignof] = ACTIONS(1304),
+    [anon_sym_alignof] = ACTIONS(1304),
+    [anon_sym__Alignof] = ACTIONS(1304),
+    [anon_sym_offsetof] = ACTIONS(1304),
+    [anon_sym__Generic] = ACTIONS(1304),
+    [anon_sym_asm] = ACTIONS(1304),
+    [anon_sym___asm__] = ACTIONS(1304),
+    [anon_sym___asm] = ACTIONS(1304),
+    [sym_number_literal] = ACTIONS(1306),
+    [anon_sym_L_SQUOTE] = ACTIONS(1306),
+    [anon_sym_u_SQUOTE] = ACTIONS(1306),
+    [anon_sym_U_SQUOTE] = ACTIONS(1306),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1306),
+    [anon_sym_SQUOTE] = ACTIONS(1306),
+    [anon_sym_L_DQUOTE] = ACTIONS(1306),
+    [anon_sym_u_DQUOTE] = ACTIONS(1306),
+    [anon_sym_U_DQUOTE] = ACTIONS(1306),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1306),
+    [anon_sym_DQUOTE] = ACTIONS(1306),
+    [sym_true] = ACTIONS(1304),
+    [sym_false] = ACTIONS(1304),
+    [anon_sym_NULL] = ACTIONS(1304),
+    [anon_sym_nullptr] = ACTIONS(1304),
     [sym_comment] = ACTIONS(3),
   },
   [130] = {
-    [sym_identifier] = ACTIONS(1301),
-    [aux_sym_preproc_include_token1] = ACTIONS(1301),
-    [aux_sym_preproc_def_token1] = ACTIONS(1301),
-    [aux_sym_preproc_if_token1] = ACTIONS(1301),
-    [aux_sym_preproc_if_token2] = ACTIONS(1301),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1301),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1301),
-    [aux_sym_preproc_else_token1] = ACTIONS(1301),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1301),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1301),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1301),
-    [sym_preproc_directive] = ACTIONS(1301),
-    [anon_sym_LPAREN2] = ACTIONS(1303),
-    [anon_sym_BANG] = ACTIONS(1303),
-    [anon_sym_TILDE] = ACTIONS(1303),
-    [anon_sym_DASH] = ACTIONS(1301),
-    [anon_sym_PLUS] = ACTIONS(1301),
-    [anon_sym_STAR] = ACTIONS(1303),
-    [anon_sym_AMP] = ACTIONS(1303),
-    [anon_sym_SEMI] = ACTIONS(1303),
-    [anon_sym___extension__] = ACTIONS(1301),
-    [anon_sym_typedef] = ACTIONS(1301),
-    [anon_sym_extern] = ACTIONS(1301),
-    [anon_sym___attribute__] = ACTIONS(1301),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1303),
-    [anon_sym___declspec] = ACTIONS(1301),
-    [anon_sym___cdecl] = ACTIONS(1301),
-    [anon_sym___clrcall] = ACTIONS(1301),
-    [anon_sym___stdcall] = ACTIONS(1301),
-    [anon_sym___fastcall] = ACTIONS(1301),
-    [anon_sym___thiscall] = ACTIONS(1301),
-    [anon_sym___vectorcall] = ACTIONS(1301),
-    [anon_sym_LBRACE] = ACTIONS(1303),
-    [anon_sym_signed] = ACTIONS(1301),
-    [anon_sym_unsigned] = ACTIONS(1301),
-    [anon_sym_long] = ACTIONS(1301),
-    [anon_sym_short] = ACTIONS(1301),
-    [anon_sym_static] = ACTIONS(1301),
-    [anon_sym_auto] = ACTIONS(1301),
-    [anon_sym_register] = ACTIONS(1301),
-    [anon_sym_inline] = ACTIONS(1301),
-    [anon_sym___inline] = ACTIONS(1301),
-    [anon_sym___inline__] = ACTIONS(1301),
-    [anon_sym___forceinline] = ACTIONS(1301),
-    [anon_sym_thread_local] = ACTIONS(1301),
-    [anon_sym___thread] = ACTIONS(1301),
-    [anon_sym_const] = ACTIONS(1301),
-    [anon_sym_constexpr] = ACTIONS(1301),
-    [anon_sym_volatile] = ACTIONS(1301),
-    [anon_sym_restrict] = ACTIONS(1301),
-    [anon_sym___restrict__] = ACTIONS(1301),
-    [anon_sym__Atomic] = ACTIONS(1301),
-    [anon_sym__Noreturn] = ACTIONS(1301),
-    [anon_sym_noreturn] = ACTIONS(1301),
-    [anon_sym__Nonnull] = ACTIONS(1301),
-    [anon_sym_alignas] = ACTIONS(1301),
-    [anon_sym__Alignas] = ACTIONS(1301),
-    [sym_primitive_type] = ACTIONS(1301),
-    [anon_sym_enum] = ACTIONS(1301),
-    [anon_sym_struct] = ACTIONS(1301),
-    [anon_sym_union] = ACTIONS(1301),
-    [anon_sym_if] = ACTIONS(1301),
-    [anon_sym_switch] = ACTIONS(1301),
-    [anon_sym_case] = ACTIONS(1301),
-    [anon_sym_default] = ACTIONS(1301),
-    [anon_sym_while] = ACTIONS(1301),
-    [anon_sym_do] = ACTIONS(1301),
-    [anon_sym_for] = ACTIONS(1301),
-    [anon_sym_return] = ACTIONS(1301),
-    [anon_sym_break] = ACTIONS(1301),
-    [anon_sym_continue] = ACTIONS(1301),
-    [anon_sym_goto] = ACTIONS(1301),
-    [anon_sym___try] = ACTIONS(1301),
-    [anon_sym___leave] = ACTIONS(1301),
-    [anon_sym_DASH_DASH] = ACTIONS(1303),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1303),
-    [anon_sym_sizeof] = ACTIONS(1301),
-    [anon_sym___alignof__] = ACTIONS(1301),
-    [anon_sym___alignof] = ACTIONS(1301),
-    [anon_sym__alignof] = ACTIONS(1301),
-    [anon_sym_alignof] = ACTIONS(1301),
-    [anon_sym__Alignof] = ACTIONS(1301),
-    [anon_sym_offsetof] = ACTIONS(1301),
-    [anon_sym__Generic] = ACTIONS(1301),
-    [anon_sym_asm] = ACTIONS(1301),
-    [anon_sym___asm__] = ACTIONS(1301),
-    [anon_sym___asm] = ACTIONS(1301),
-    [sym_number_literal] = ACTIONS(1303),
-    [anon_sym_L_SQUOTE] = ACTIONS(1303),
-    [anon_sym_u_SQUOTE] = ACTIONS(1303),
-    [anon_sym_U_SQUOTE] = ACTIONS(1303),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1303),
-    [anon_sym_SQUOTE] = ACTIONS(1303),
-    [anon_sym_L_DQUOTE] = ACTIONS(1303),
-    [anon_sym_u_DQUOTE] = ACTIONS(1303),
-    [anon_sym_U_DQUOTE] = ACTIONS(1303),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1303),
-    [anon_sym_DQUOTE] = ACTIONS(1303),
-    [sym_true] = ACTIONS(1301),
-    [sym_false] = ACTIONS(1301),
-    [anon_sym_NULL] = ACTIONS(1301),
-    [anon_sym_nullptr] = ACTIONS(1301),
+    [sym_identifier] = ACTIONS(1308),
+    [aux_sym_preproc_include_token1] = ACTIONS(1308),
+    [aux_sym_preproc_def_token1] = ACTIONS(1308),
+    [aux_sym_preproc_if_token1] = ACTIONS(1308),
+    [aux_sym_preproc_if_token2] = ACTIONS(1308),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1308),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1308),
+    [aux_sym_preproc_else_token1] = ACTIONS(1308),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1308),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1308),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1308),
+    [sym_preproc_directive] = ACTIONS(1308),
+    [anon_sym_LPAREN2] = ACTIONS(1310),
+    [anon_sym_BANG] = ACTIONS(1310),
+    [anon_sym_TILDE] = ACTIONS(1310),
+    [anon_sym_DASH] = ACTIONS(1308),
+    [anon_sym_PLUS] = ACTIONS(1308),
+    [anon_sym_STAR] = ACTIONS(1310),
+    [anon_sym_AMP] = ACTIONS(1310),
+    [anon_sym_SEMI] = ACTIONS(1310),
+    [anon_sym___extension__] = ACTIONS(1308),
+    [anon_sym_typedef] = ACTIONS(1308),
+    [anon_sym_extern] = ACTIONS(1308),
+    [anon_sym___attribute__] = ACTIONS(1308),
+    [anon_sym___attribute] = ACTIONS(1308),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1310),
+    [anon_sym___declspec] = ACTIONS(1308),
+    [anon_sym___cdecl] = ACTIONS(1308),
+    [anon_sym___clrcall] = ACTIONS(1308),
+    [anon_sym___stdcall] = ACTIONS(1308),
+    [anon_sym___fastcall] = ACTIONS(1308),
+    [anon_sym___thiscall] = ACTIONS(1308),
+    [anon_sym___vectorcall] = ACTIONS(1308),
+    [anon_sym_LBRACE] = ACTIONS(1310),
+    [anon_sym_signed] = ACTIONS(1308),
+    [anon_sym_unsigned] = ACTIONS(1308),
+    [anon_sym_long] = ACTIONS(1308),
+    [anon_sym_short] = ACTIONS(1308),
+    [anon_sym_static] = ACTIONS(1308),
+    [anon_sym_auto] = ACTIONS(1308),
+    [anon_sym_register] = ACTIONS(1308),
+    [anon_sym_inline] = ACTIONS(1308),
+    [anon_sym___inline] = ACTIONS(1308),
+    [anon_sym___inline__] = ACTIONS(1308),
+    [anon_sym___forceinline] = ACTIONS(1308),
+    [anon_sym_thread_local] = ACTIONS(1308),
+    [anon_sym___thread] = ACTIONS(1308),
+    [anon_sym_const] = ACTIONS(1308),
+    [anon_sym_constexpr] = ACTIONS(1308),
+    [anon_sym_volatile] = ACTIONS(1308),
+    [anon_sym_restrict] = ACTIONS(1308),
+    [anon_sym___restrict__] = ACTIONS(1308),
+    [anon_sym__Atomic] = ACTIONS(1308),
+    [anon_sym__Noreturn] = ACTIONS(1308),
+    [anon_sym_noreturn] = ACTIONS(1308),
+    [anon_sym__Nonnull] = ACTIONS(1308),
+    [anon_sym_alignas] = ACTIONS(1308),
+    [anon_sym__Alignas] = ACTIONS(1308),
+    [sym_primitive_type] = ACTIONS(1308),
+    [anon_sym_enum] = ACTIONS(1308),
+    [anon_sym_struct] = ACTIONS(1308),
+    [anon_sym_union] = ACTIONS(1308),
+    [anon_sym_if] = ACTIONS(1308),
+    [anon_sym_switch] = ACTIONS(1308),
+    [anon_sym_case] = ACTIONS(1308),
+    [anon_sym_default] = ACTIONS(1308),
+    [anon_sym_while] = ACTIONS(1308),
+    [anon_sym_do] = ACTIONS(1308),
+    [anon_sym_for] = ACTIONS(1308),
+    [anon_sym_return] = ACTIONS(1308),
+    [anon_sym_break] = ACTIONS(1308),
+    [anon_sym_continue] = ACTIONS(1308),
+    [anon_sym_goto] = ACTIONS(1308),
+    [anon_sym___try] = ACTIONS(1308),
+    [anon_sym___leave] = ACTIONS(1308),
+    [anon_sym_DASH_DASH] = ACTIONS(1310),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1310),
+    [anon_sym_sizeof] = ACTIONS(1308),
+    [anon_sym___alignof__] = ACTIONS(1308),
+    [anon_sym___alignof] = ACTIONS(1308),
+    [anon_sym__alignof] = ACTIONS(1308),
+    [anon_sym_alignof] = ACTIONS(1308),
+    [anon_sym__Alignof] = ACTIONS(1308),
+    [anon_sym_offsetof] = ACTIONS(1308),
+    [anon_sym__Generic] = ACTIONS(1308),
+    [anon_sym_asm] = ACTIONS(1308),
+    [anon_sym___asm__] = ACTIONS(1308),
+    [anon_sym___asm] = ACTIONS(1308),
+    [sym_number_literal] = ACTIONS(1310),
+    [anon_sym_L_SQUOTE] = ACTIONS(1310),
+    [anon_sym_u_SQUOTE] = ACTIONS(1310),
+    [anon_sym_U_SQUOTE] = ACTIONS(1310),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1310),
+    [anon_sym_SQUOTE] = ACTIONS(1310),
+    [anon_sym_L_DQUOTE] = ACTIONS(1310),
+    [anon_sym_u_DQUOTE] = ACTIONS(1310),
+    [anon_sym_U_DQUOTE] = ACTIONS(1310),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1310),
+    [anon_sym_DQUOTE] = ACTIONS(1310),
+    [sym_true] = ACTIONS(1308),
+    [sym_false] = ACTIONS(1308),
+    [anon_sym_NULL] = ACTIONS(1308),
+    [anon_sym_nullptr] = ACTIONS(1308),
     [sym_comment] = ACTIONS(3),
   },
   [131] = {
-    [sym_identifier] = ACTIONS(1305),
-    [aux_sym_preproc_include_token1] = ACTIONS(1305),
-    [aux_sym_preproc_def_token1] = ACTIONS(1305),
-    [aux_sym_preproc_if_token1] = ACTIONS(1305),
-    [aux_sym_preproc_if_token2] = ACTIONS(1305),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1305),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1305),
-    [aux_sym_preproc_else_token1] = ACTIONS(1305),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1305),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1305),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1305),
-    [sym_preproc_directive] = ACTIONS(1305),
-    [anon_sym_LPAREN2] = ACTIONS(1307),
-    [anon_sym_BANG] = ACTIONS(1307),
-    [anon_sym_TILDE] = ACTIONS(1307),
-    [anon_sym_DASH] = ACTIONS(1305),
-    [anon_sym_PLUS] = ACTIONS(1305),
-    [anon_sym_STAR] = ACTIONS(1307),
-    [anon_sym_AMP] = ACTIONS(1307),
-    [anon_sym_SEMI] = ACTIONS(1307),
-    [anon_sym___extension__] = ACTIONS(1305),
-    [anon_sym_typedef] = ACTIONS(1305),
-    [anon_sym_extern] = ACTIONS(1305),
-    [anon_sym___attribute__] = ACTIONS(1305),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1307),
-    [anon_sym___declspec] = ACTIONS(1305),
-    [anon_sym___cdecl] = ACTIONS(1305),
-    [anon_sym___clrcall] = ACTIONS(1305),
-    [anon_sym___stdcall] = ACTIONS(1305),
-    [anon_sym___fastcall] = ACTIONS(1305),
-    [anon_sym___thiscall] = ACTIONS(1305),
-    [anon_sym___vectorcall] = ACTIONS(1305),
-    [anon_sym_LBRACE] = ACTIONS(1307),
-    [anon_sym_signed] = ACTIONS(1305),
-    [anon_sym_unsigned] = ACTIONS(1305),
-    [anon_sym_long] = ACTIONS(1305),
-    [anon_sym_short] = ACTIONS(1305),
-    [anon_sym_static] = ACTIONS(1305),
-    [anon_sym_auto] = ACTIONS(1305),
-    [anon_sym_register] = ACTIONS(1305),
-    [anon_sym_inline] = ACTIONS(1305),
-    [anon_sym___inline] = ACTIONS(1305),
-    [anon_sym___inline__] = ACTIONS(1305),
-    [anon_sym___forceinline] = ACTIONS(1305),
-    [anon_sym_thread_local] = ACTIONS(1305),
-    [anon_sym___thread] = ACTIONS(1305),
-    [anon_sym_const] = ACTIONS(1305),
-    [anon_sym_constexpr] = ACTIONS(1305),
-    [anon_sym_volatile] = ACTIONS(1305),
-    [anon_sym_restrict] = ACTIONS(1305),
-    [anon_sym___restrict__] = ACTIONS(1305),
-    [anon_sym__Atomic] = ACTIONS(1305),
-    [anon_sym__Noreturn] = ACTIONS(1305),
-    [anon_sym_noreturn] = ACTIONS(1305),
-    [anon_sym__Nonnull] = ACTIONS(1305),
-    [anon_sym_alignas] = ACTIONS(1305),
-    [anon_sym__Alignas] = ACTIONS(1305),
-    [sym_primitive_type] = ACTIONS(1305),
-    [anon_sym_enum] = ACTIONS(1305),
-    [anon_sym_struct] = ACTIONS(1305),
-    [anon_sym_union] = ACTIONS(1305),
-    [anon_sym_if] = ACTIONS(1305),
-    [anon_sym_switch] = ACTIONS(1305),
-    [anon_sym_case] = ACTIONS(1305),
-    [anon_sym_default] = ACTIONS(1305),
-    [anon_sym_while] = ACTIONS(1305),
-    [anon_sym_do] = ACTIONS(1305),
-    [anon_sym_for] = ACTIONS(1305),
-    [anon_sym_return] = ACTIONS(1305),
-    [anon_sym_break] = ACTIONS(1305),
-    [anon_sym_continue] = ACTIONS(1305),
-    [anon_sym_goto] = ACTIONS(1305),
-    [anon_sym___try] = ACTIONS(1305),
-    [anon_sym___leave] = ACTIONS(1305),
-    [anon_sym_DASH_DASH] = ACTIONS(1307),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1307),
-    [anon_sym_sizeof] = ACTIONS(1305),
-    [anon_sym___alignof__] = ACTIONS(1305),
-    [anon_sym___alignof] = ACTIONS(1305),
-    [anon_sym__alignof] = ACTIONS(1305),
-    [anon_sym_alignof] = ACTIONS(1305),
-    [anon_sym__Alignof] = ACTIONS(1305),
-    [anon_sym_offsetof] = ACTIONS(1305),
-    [anon_sym__Generic] = ACTIONS(1305),
-    [anon_sym_asm] = ACTIONS(1305),
-    [anon_sym___asm__] = ACTIONS(1305),
-    [anon_sym___asm] = ACTIONS(1305),
-    [sym_number_literal] = ACTIONS(1307),
-    [anon_sym_L_SQUOTE] = ACTIONS(1307),
-    [anon_sym_u_SQUOTE] = ACTIONS(1307),
-    [anon_sym_U_SQUOTE] = ACTIONS(1307),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1307),
-    [anon_sym_SQUOTE] = ACTIONS(1307),
-    [anon_sym_L_DQUOTE] = ACTIONS(1307),
-    [anon_sym_u_DQUOTE] = ACTIONS(1307),
-    [anon_sym_U_DQUOTE] = ACTIONS(1307),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1307),
-    [anon_sym_DQUOTE] = ACTIONS(1307),
-    [sym_true] = ACTIONS(1305),
-    [sym_false] = ACTIONS(1305),
-    [anon_sym_NULL] = ACTIONS(1305),
-    [anon_sym_nullptr] = ACTIONS(1305),
+    [sym_identifier] = ACTIONS(1312),
+    [aux_sym_preproc_include_token1] = ACTIONS(1312),
+    [aux_sym_preproc_def_token1] = ACTIONS(1312),
+    [aux_sym_preproc_if_token1] = ACTIONS(1312),
+    [aux_sym_preproc_if_token2] = ACTIONS(1312),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1312),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1312),
+    [aux_sym_preproc_else_token1] = ACTIONS(1312),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1312),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1312),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1312),
+    [sym_preproc_directive] = ACTIONS(1312),
+    [anon_sym_LPAREN2] = ACTIONS(1314),
+    [anon_sym_BANG] = ACTIONS(1314),
+    [anon_sym_TILDE] = ACTIONS(1314),
+    [anon_sym_DASH] = ACTIONS(1312),
+    [anon_sym_PLUS] = ACTIONS(1312),
+    [anon_sym_STAR] = ACTIONS(1314),
+    [anon_sym_AMP] = ACTIONS(1314),
+    [anon_sym_SEMI] = ACTIONS(1314),
+    [anon_sym___extension__] = ACTIONS(1312),
+    [anon_sym_typedef] = ACTIONS(1312),
+    [anon_sym_extern] = ACTIONS(1312),
+    [anon_sym___attribute__] = ACTIONS(1312),
+    [anon_sym___attribute] = ACTIONS(1312),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1314),
+    [anon_sym___declspec] = ACTIONS(1312),
+    [anon_sym___cdecl] = ACTIONS(1312),
+    [anon_sym___clrcall] = ACTIONS(1312),
+    [anon_sym___stdcall] = ACTIONS(1312),
+    [anon_sym___fastcall] = ACTIONS(1312),
+    [anon_sym___thiscall] = ACTIONS(1312),
+    [anon_sym___vectorcall] = ACTIONS(1312),
+    [anon_sym_LBRACE] = ACTIONS(1314),
+    [anon_sym_signed] = ACTIONS(1312),
+    [anon_sym_unsigned] = ACTIONS(1312),
+    [anon_sym_long] = ACTIONS(1312),
+    [anon_sym_short] = ACTIONS(1312),
+    [anon_sym_static] = ACTIONS(1312),
+    [anon_sym_auto] = ACTIONS(1312),
+    [anon_sym_register] = ACTIONS(1312),
+    [anon_sym_inline] = ACTIONS(1312),
+    [anon_sym___inline] = ACTIONS(1312),
+    [anon_sym___inline__] = ACTIONS(1312),
+    [anon_sym___forceinline] = ACTIONS(1312),
+    [anon_sym_thread_local] = ACTIONS(1312),
+    [anon_sym___thread] = ACTIONS(1312),
+    [anon_sym_const] = ACTIONS(1312),
+    [anon_sym_constexpr] = ACTIONS(1312),
+    [anon_sym_volatile] = ACTIONS(1312),
+    [anon_sym_restrict] = ACTIONS(1312),
+    [anon_sym___restrict__] = ACTIONS(1312),
+    [anon_sym__Atomic] = ACTIONS(1312),
+    [anon_sym__Noreturn] = ACTIONS(1312),
+    [anon_sym_noreturn] = ACTIONS(1312),
+    [anon_sym__Nonnull] = ACTIONS(1312),
+    [anon_sym_alignas] = ACTIONS(1312),
+    [anon_sym__Alignas] = ACTIONS(1312),
+    [sym_primitive_type] = ACTIONS(1312),
+    [anon_sym_enum] = ACTIONS(1312),
+    [anon_sym_struct] = ACTIONS(1312),
+    [anon_sym_union] = ACTIONS(1312),
+    [anon_sym_if] = ACTIONS(1312),
+    [anon_sym_switch] = ACTIONS(1312),
+    [anon_sym_case] = ACTIONS(1312),
+    [anon_sym_default] = ACTIONS(1312),
+    [anon_sym_while] = ACTIONS(1312),
+    [anon_sym_do] = ACTIONS(1312),
+    [anon_sym_for] = ACTIONS(1312),
+    [anon_sym_return] = ACTIONS(1312),
+    [anon_sym_break] = ACTIONS(1312),
+    [anon_sym_continue] = ACTIONS(1312),
+    [anon_sym_goto] = ACTIONS(1312),
+    [anon_sym___try] = ACTIONS(1312),
+    [anon_sym___leave] = ACTIONS(1312),
+    [anon_sym_DASH_DASH] = ACTIONS(1314),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1314),
+    [anon_sym_sizeof] = ACTIONS(1312),
+    [anon_sym___alignof__] = ACTIONS(1312),
+    [anon_sym___alignof] = ACTIONS(1312),
+    [anon_sym__alignof] = ACTIONS(1312),
+    [anon_sym_alignof] = ACTIONS(1312),
+    [anon_sym__Alignof] = ACTIONS(1312),
+    [anon_sym_offsetof] = ACTIONS(1312),
+    [anon_sym__Generic] = ACTIONS(1312),
+    [anon_sym_asm] = ACTIONS(1312),
+    [anon_sym___asm__] = ACTIONS(1312),
+    [anon_sym___asm] = ACTIONS(1312),
+    [sym_number_literal] = ACTIONS(1314),
+    [anon_sym_L_SQUOTE] = ACTIONS(1314),
+    [anon_sym_u_SQUOTE] = ACTIONS(1314),
+    [anon_sym_U_SQUOTE] = ACTIONS(1314),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1314),
+    [anon_sym_SQUOTE] = ACTIONS(1314),
+    [anon_sym_L_DQUOTE] = ACTIONS(1314),
+    [anon_sym_u_DQUOTE] = ACTIONS(1314),
+    [anon_sym_U_DQUOTE] = ACTIONS(1314),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1314),
+    [anon_sym_DQUOTE] = ACTIONS(1314),
+    [sym_true] = ACTIONS(1312),
+    [sym_false] = ACTIONS(1312),
+    [anon_sym_NULL] = ACTIONS(1312),
+    [anon_sym_nullptr] = ACTIONS(1312),
     [sym_comment] = ACTIONS(3),
   },
   [132] = {
-    [sym_identifier] = ACTIONS(1309),
-    [aux_sym_preproc_include_token1] = ACTIONS(1309),
-    [aux_sym_preproc_def_token1] = ACTIONS(1309),
-    [aux_sym_preproc_if_token1] = ACTIONS(1309),
-    [aux_sym_preproc_if_token2] = ACTIONS(1309),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1309),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1309),
-    [aux_sym_preproc_else_token1] = ACTIONS(1309),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1309),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1309),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1309),
-    [sym_preproc_directive] = ACTIONS(1309),
-    [anon_sym_LPAREN2] = ACTIONS(1311),
-    [anon_sym_BANG] = ACTIONS(1311),
-    [anon_sym_TILDE] = ACTIONS(1311),
-    [anon_sym_DASH] = ACTIONS(1309),
-    [anon_sym_PLUS] = ACTIONS(1309),
-    [anon_sym_STAR] = ACTIONS(1311),
-    [anon_sym_AMP] = ACTIONS(1311),
-    [anon_sym_SEMI] = ACTIONS(1311),
-    [anon_sym___extension__] = ACTIONS(1309),
-    [anon_sym_typedef] = ACTIONS(1309),
-    [anon_sym_extern] = ACTIONS(1309),
-    [anon_sym___attribute__] = ACTIONS(1309),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1311),
-    [anon_sym___declspec] = ACTIONS(1309),
-    [anon_sym___cdecl] = ACTIONS(1309),
-    [anon_sym___clrcall] = ACTIONS(1309),
-    [anon_sym___stdcall] = ACTIONS(1309),
-    [anon_sym___fastcall] = ACTIONS(1309),
-    [anon_sym___thiscall] = ACTIONS(1309),
-    [anon_sym___vectorcall] = ACTIONS(1309),
-    [anon_sym_LBRACE] = ACTIONS(1311),
-    [anon_sym_signed] = ACTIONS(1309),
-    [anon_sym_unsigned] = ACTIONS(1309),
-    [anon_sym_long] = ACTIONS(1309),
-    [anon_sym_short] = ACTIONS(1309),
-    [anon_sym_static] = ACTIONS(1309),
-    [anon_sym_auto] = ACTIONS(1309),
-    [anon_sym_register] = ACTIONS(1309),
-    [anon_sym_inline] = ACTIONS(1309),
-    [anon_sym___inline] = ACTIONS(1309),
-    [anon_sym___inline__] = ACTIONS(1309),
-    [anon_sym___forceinline] = ACTIONS(1309),
-    [anon_sym_thread_local] = ACTIONS(1309),
-    [anon_sym___thread] = ACTIONS(1309),
-    [anon_sym_const] = ACTIONS(1309),
-    [anon_sym_constexpr] = ACTIONS(1309),
-    [anon_sym_volatile] = ACTIONS(1309),
-    [anon_sym_restrict] = ACTIONS(1309),
-    [anon_sym___restrict__] = ACTIONS(1309),
-    [anon_sym__Atomic] = ACTIONS(1309),
-    [anon_sym__Noreturn] = ACTIONS(1309),
-    [anon_sym_noreturn] = ACTIONS(1309),
-    [anon_sym__Nonnull] = ACTIONS(1309),
-    [anon_sym_alignas] = ACTIONS(1309),
-    [anon_sym__Alignas] = ACTIONS(1309),
-    [sym_primitive_type] = ACTIONS(1309),
-    [anon_sym_enum] = ACTIONS(1309),
-    [anon_sym_struct] = ACTIONS(1309),
-    [anon_sym_union] = ACTIONS(1309),
-    [anon_sym_if] = ACTIONS(1309),
-    [anon_sym_switch] = ACTIONS(1309),
-    [anon_sym_case] = ACTIONS(1309),
-    [anon_sym_default] = ACTIONS(1309),
-    [anon_sym_while] = ACTIONS(1309),
-    [anon_sym_do] = ACTIONS(1309),
-    [anon_sym_for] = ACTIONS(1309),
-    [anon_sym_return] = ACTIONS(1309),
-    [anon_sym_break] = ACTIONS(1309),
-    [anon_sym_continue] = ACTIONS(1309),
-    [anon_sym_goto] = ACTIONS(1309),
-    [anon_sym___try] = ACTIONS(1309),
-    [anon_sym___leave] = ACTIONS(1309),
-    [anon_sym_DASH_DASH] = ACTIONS(1311),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1311),
-    [anon_sym_sizeof] = ACTIONS(1309),
-    [anon_sym___alignof__] = ACTIONS(1309),
-    [anon_sym___alignof] = ACTIONS(1309),
-    [anon_sym__alignof] = ACTIONS(1309),
-    [anon_sym_alignof] = ACTIONS(1309),
-    [anon_sym__Alignof] = ACTIONS(1309),
-    [anon_sym_offsetof] = ACTIONS(1309),
-    [anon_sym__Generic] = ACTIONS(1309),
-    [anon_sym_asm] = ACTIONS(1309),
-    [anon_sym___asm__] = ACTIONS(1309),
-    [anon_sym___asm] = ACTIONS(1309),
-    [sym_number_literal] = ACTIONS(1311),
-    [anon_sym_L_SQUOTE] = ACTIONS(1311),
-    [anon_sym_u_SQUOTE] = ACTIONS(1311),
-    [anon_sym_U_SQUOTE] = ACTIONS(1311),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1311),
-    [anon_sym_SQUOTE] = ACTIONS(1311),
-    [anon_sym_L_DQUOTE] = ACTIONS(1311),
-    [anon_sym_u_DQUOTE] = ACTIONS(1311),
-    [anon_sym_U_DQUOTE] = ACTIONS(1311),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1311),
-    [anon_sym_DQUOTE] = ACTIONS(1311),
-    [sym_true] = ACTIONS(1309),
-    [sym_false] = ACTIONS(1309),
-    [anon_sym_NULL] = ACTIONS(1309),
-    [anon_sym_nullptr] = ACTIONS(1309),
+    [sym_identifier] = ACTIONS(1316),
+    [aux_sym_preproc_include_token1] = ACTIONS(1316),
+    [aux_sym_preproc_def_token1] = ACTIONS(1316),
+    [aux_sym_preproc_if_token1] = ACTIONS(1316),
+    [aux_sym_preproc_if_token2] = ACTIONS(1316),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1316),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1316),
+    [aux_sym_preproc_else_token1] = ACTIONS(1316),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1316),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1316),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1316),
+    [sym_preproc_directive] = ACTIONS(1316),
+    [anon_sym_LPAREN2] = ACTIONS(1318),
+    [anon_sym_BANG] = ACTIONS(1318),
+    [anon_sym_TILDE] = ACTIONS(1318),
+    [anon_sym_DASH] = ACTIONS(1316),
+    [anon_sym_PLUS] = ACTIONS(1316),
+    [anon_sym_STAR] = ACTIONS(1318),
+    [anon_sym_AMP] = ACTIONS(1318),
+    [anon_sym_SEMI] = ACTIONS(1318),
+    [anon_sym___extension__] = ACTIONS(1316),
+    [anon_sym_typedef] = ACTIONS(1316),
+    [anon_sym_extern] = ACTIONS(1316),
+    [anon_sym___attribute__] = ACTIONS(1316),
+    [anon_sym___attribute] = ACTIONS(1316),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1318),
+    [anon_sym___declspec] = ACTIONS(1316),
+    [anon_sym___cdecl] = ACTIONS(1316),
+    [anon_sym___clrcall] = ACTIONS(1316),
+    [anon_sym___stdcall] = ACTIONS(1316),
+    [anon_sym___fastcall] = ACTIONS(1316),
+    [anon_sym___thiscall] = ACTIONS(1316),
+    [anon_sym___vectorcall] = ACTIONS(1316),
+    [anon_sym_LBRACE] = ACTIONS(1318),
+    [anon_sym_signed] = ACTIONS(1316),
+    [anon_sym_unsigned] = ACTIONS(1316),
+    [anon_sym_long] = ACTIONS(1316),
+    [anon_sym_short] = ACTIONS(1316),
+    [anon_sym_static] = ACTIONS(1316),
+    [anon_sym_auto] = ACTIONS(1316),
+    [anon_sym_register] = ACTIONS(1316),
+    [anon_sym_inline] = ACTIONS(1316),
+    [anon_sym___inline] = ACTIONS(1316),
+    [anon_sym___inline__] = ACTIONS(1316),
+    [anon_sym___forceinline] = ACTIONS(1316),
+    [anon_sym_thread_local] = ACTIONS(1316),
+    [anon_sym___thread] = ACTIONS(1316),
+    [anon_sym_const] = ACTIONS(1316),
+    [anon_sym_constexpr] = ACTIONS(1316),
+    [anon_sym_volatile] = ACTIONS(1316),
+    [anon_sym_restrict] = ACTIONS(1316),
+    [anon_sym___restrict__] = ACTIONS(1316),
+    [anon_sym__Atomic] = ACTIONS(1316),
+    [anon_sym__Noreturn] = ACTIONS(1316),
+    [anon_sym_noreturn] = ACTIONS(1316),
+    [anon_sym__Nonnull] = ACTIONS(1316),
+    [anon_sym_alignas] = ACTIONS(1316),
+    [anon_sym__Alignas] = ACTIONS(1316),
+    [sym_primitive_type] = ACTIONS(1316),
+    [anon_sym_enum] = ACTIONS(1316),
+    [anon_sym_struct] = ACTIONS(1316),
+    [anon_sym_union] = ACTIONS(1316),
+    [anon_sym_if] = ACTIONS(1316),
+    [anon_sym_switch] = ACTIONS(1316),
+    [anon_sym_case] = ACTIONS(1316),
+    [anon_sym_default] = ACTIONS(1316),
+    [anon_sym_while] = ACTIONS(1316),
+    [anon_sym_do] = ACTIONS(1316),
+    [anon_sym_for] = ACTIONS(1316),
+    [anon_sym_return] = ACTIONS(1316),
+    [anon_sym_break] = ACTIONS(1316),
+    [anon_sym_continue] = ACTIONS(1316),
+    [anon_sym_goto] = ACTIONS(1316),
+    [anon_sym___try] = ACTIONS(1316),
+    [anon_sym___leave] = ACTIONS(1316),
+    [anon_sym_DASH_DASH] = ACTIONS(1318),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1318),
+    [anon_sym_sizeof] = ACTIONS(1316),
+    [anon_sym___alignof__] = ACTIONS(1316),
+    [anon_sym___alignof] = ACTIONS(1316),
+    [anon_sym__alignof] = ACTIONS(1316),
+    [anon_sym_alignof] = ACTIONS(1316),
+    [anon_sym__Alignof] = ACTIONS(1316),
+    [anon_sym_offsetof] = ACTIONS(1316),
+    [anon_sym__Generic] = ACTIONS(1316),
+    [anon_sym_asm] = ACTIONS(1316),
+    [anon_sym___asm__] = ACTIONS(1316),
+    [anon_sym___asm] = ACTIONS(1316),
+    [sym_number_literal] = ACTIONS(1318),
+    [anon_sym_L_SQUOTE] = ACTIONS(1318),
+    [anon_sym_u_SQUOTE] = ACTIONS(1318),
+    [anon_sym_U_SQUOTE] = ACTIONS(1318),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1318),
+    [anon_sym_SQUOTE] = ACTIONS(1318),
+    [anon_sym_L_DQUOTE] = ACTIONS(1318),
+    [anon_sym_u_DQUOTE] = ACTIONS(1318),
+    [anon_sym_U_DQUOTE] = ACTIONS(1318),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1318),
+    [anon_sym_DQUOTE] = ACTIONS(1318),
+    [sym_true] = ACTIONS(1316),
+    [sym_false] = ACTIONS(1316),
+    [anon_sym_NULL] = ACTIONS(1316),
+    [anon_sym_nullptr] = ACTIONS(1316),
     [sym_comment] = ACTIONS(3),
   },
   [133] = {
-    [sym_identifier] = ACTIONS(1313),
-    [aux_sym_preproc_include_token1] = ACTIONS(1313),
-    [aux_sym_preproc_def_token1] = ACTIONS(1313),
-    [aux_sym_preproc_if_token1] = ACTIONS(1313),
-    [aux_sym_preproc_if_token2] = ACTIONS(1313),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1313),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1313),
-    [aux_sym_preproc_else_token1] = ACTIONS(1313),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1313),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1313),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1313),
-    [sym_preproc_directive] = ACTIONS(1313),
-    [anon_sym_LPAREN2] = ACTIONS(1315),
-    [anon_sym_BANG] = ACTIONS(1315),
-    [anon_sym_TILDE] = ACTIONS(1315),
-    [anon_sym_DASH] = ACTIONS(1313),
-    [anon_sym_PLUS] = ACTIONS(1313),
-    [anon_sym_STAR] = ACTIONS(1315),
-    [anon_sym_AMP] = ACTIONS(1315),
-    [anon_sym_SEMI] = ACTIONS(1315),
-    [anon_sym___extension__] = ACTIONS(1313),
-    [anon_sym_typedef] = ACTIONS(1313),
-    [anon_sym_extern] = ACTIONS(1313),
-    [anon_sym___attribute__] = ACTIONS(1313),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1315),
-    [anon_sym___declspec] = ACTIONS(1313),
-    [anon_sym___cdecl] = ACTIONS(1313),
-    [anon_sym___clrcall] = ACTIONS(1313),
-    [anon_sym___stdcall] = ACTIONS(1313),
-    [anon_sym___fastcall] = ACTIONS(1313),
-    [anon_sym___thiscall] = ACTIONS(1313),
-    [anon_sym___vectorcall] = ACTIONS(1313),
-    [anon_sym_LBRACE] = ACTIONS(1315),
-    [anon_sym_signed] = ACTIONS(1313),
-    [anon_sym_unsigned] = ACTIONS(1313),
-    [anon_sym_long] = ACTIONS(1313),
-    [anon_sym_short] = ACTIONS(1313),
-    [anon_sym_static] = ACTIONS(1313),
-    [anon_sym_auto] = ACTIONS(1313),
-    [anon_sym_register] = ACTIONS(1313),
-    [anon_sym_inline] = ACTIONS(1313),
-    [anon_sym___inline] = ACTIONS(1313),
-    [anon_sym___inline__] = ACTIONS(1313),
-    [anon_sym___forceinline] = ACTIONS(1313),
-    [anon_sym_thread_local] = ACTIONS(1313),
-    [anon_sym___thread] = ACTIONS(1313),
-    [anon_sym_const] = ACTIONS(1313),
-    [anon_sym_constexpr] = ACTIONS(1313),
-    [anon_sym_volatile] = ACTIONS(1313),
-    [anon_sym_restrict] = ACTIONS(1313),
-    [anon_sym___restrict__] = ACTIONS(1313),
-    [anon_sym__Atomic] = ACTIONS(1313),
-    [anon_sym__Noreturn] = ACTIONS(1313),
-    [anon_sym_noreturn] = ACTIONS(1313),
-    [anon_sym__Nonnull] = ACTIONS(1313),
-    [anon_sym_alignas] = ACTIONS(1313),
-    [anon_sym__Alignas] = ACTIONS(1313),
-    [sym_primitive_type] = ACTIONS(1313),
-    [anon_sym_enum] = ACTIONS(1313),
-    [anon_sym_struct] = ACTIONS(1313),
-    [anon_sym_union] = ACTIONS(1313),
-    [anon_sym_if] = ACTIONS(1313),
-    [anon_sym_switch] = ACTIONS(1313),
-    [anon_sym_case] = ACTIONS(1313),
-    [anon_sym_default] = ACTIONS(1313),
-    [anon_sym_while] = ACTIONS(1313),
-    [anon_sym_do] = ACTIONS(1313),
-    [anon_sym_for] = ACTIONS(1313),
-    [anon_sym_return] = ACTIONS(1313),
-    [anon_sym_break] = ACTIONS(1313),
-    [anon_sym_continue] = ACTIONS(1313),
-    [anon_sym_goto] = ACTIONS(1313),
-    [anon_sym___try] = ACTIONS(1313),
-    [anon_sym___leave] = ACTIONS(1313),
-    [anon_sym_DASH_DASH] = ACTIONS(1315),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1315),
-    [anon_sym_sizeof] = ACTIONS(1313),
-    [anon_sym___alignof__] = ACTIONS(1313),
-    [anon_sym___alignof] = ACTIONS(1313),
-    [anon_sym__alignof] = ACTIONS(1313),
-    [anon_sym_alignof] = ACTIONS(1313),
-    [anon_sym__Alignof] = ACTIONS(1313),
-    [anon_sym_offsetof] = ACTIONS(1313),
-    [anon_sym__Generic] = ACTIONS(1313),
-    [anon_sym_asm] = ACTIONS(1313),
-    [anon_sym___asm__] = ACTIONS(1313),
-    [anon_sym___asm] = ACTIONS(1313),
-    [sym_number_literal] = ACTIONS(1315),
-    [anon_sym_L_SQUOTE] = ACTIONS(1315),
-    [anon_sym_u_SQUOTE] = ACTIONS(1315),
-    [anon_sym_U_SQUOTE] = ACTIONS(1315),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1315),
-    [anon_sym_SQUOTE] = ACTIONS(1315),
-    [anon_sym_L_DQUOTE] = ACTIONS(1315),
-    [anon_sym_u_DQUOTE] = ACTIONS(1315),
-    [anon_sym_U_DQUOTE] = ACTIONS(1315),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1315),
-    [anon_sym_DQUOTE] = ACTIONS(1315),
-    [sym_true] = ACTIONS(1313),
-    [sym_false] = ACTIONS(1313),
-    [anon_sym_NULL] = ACTIONS(1313),
-    [anon_sym_nullptr] = ACTIONS(1313),
+    [sym_identifier] = ACTIONS(1320),
+    [aux_sym_preproc_include_token1] = ACTIONS(1320),
+    [aux_sym_preproc_def_token1] = ACTIONS(1320),
+    [aux_sym_preproc_if_token1] = ACTIONS(1320),
+    [aux_sym_preproc_if_token2] = ACTIONS(1320),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1320),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1320),
+    [aux_sym_preproc_else_token1] = ACTIONS(1320),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1320),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1320),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1320),
+    [sym_preproc_directive] = ACTIONS(1320),
+    [anon_sym_LPAREN2] = ACTIONS(1322),
+    [anon_sym_BANG] = ACTIONS(1322),
+    [anon_sym_TILDE] = ACTIONS(1322),
+    [anon_sym_DASH] = ACTIONS(1320),
+    [anon_sym_PLUS] = ACTIONS(1320),
+    [anon_sym_STAR] = ACTIONS(1322),
+    [anon_sym_AMP] = ACTIONS(1322),
+    [anon_sym_SEMI] = ACTIONS(1322),
+    [anon_sym___extension__] = ACTIONS(1320),
+    [anon_sym_typedef] = ACTIONS(1320),
+    [anon_sym_extern] = ACTIONS(1320),
+    [anon_sym___attribute__] = ACTIONS(1320),
+    [anon_sym___attribute] = ACTIONS(1320),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1322),
+    [anon_sym___declspec] = ACTIONS(1320),
+    [anon_sym___cdecl] = ACTIONS(1320),
+    [anon_sym___clrcall] = ACTIONS(1320),
+    [anon_sym___stdcall] = ACTIONS(1320),
+    [anon_sym___fastcall] = ACTIONS(1320),
+    [anon_sym___thiscall] = ACTIONS(1320),
+    [anon_sym___vectorcall] = ACTIONS(1320),
+    [anon_sym_LBRACE] = ACTIONS(1322),
+    [anon_sym_signed] = ACTIONS(1320),
+    [anon_sym_unsigned] = ACTIONS(1320),
+    [anon_sym_long] = ACTIONS(1320),
+    [anon_sym_short] = ACTIONS(1320),
+    [anon_sym_static] = ACTIONS(1320),
+    [anon_sym_auto] = ACTIONS(1320),
+    [anon_sym_register] = ACTIONS(1320),
+    [anon_sym_inline] = ACTIONS(1320),
+    [anon_sym___inline] = ACTIONS(1320),
+    [anon_sym___inline__] = ACTIONS(1320),
+    [anon_sym___forceinline] = ACTIONS(1320),
+    [anon_sym_thread_local] = ACTIONS(1320),
+    [anon_sym___thread] = ACTIONS(1320),
+    [anon_sym_const] = ACTIONS(1320),
+    [anon_sym_constexpr] = ACTIONS(1320),
+    [anon_sym_volatile] = ACTIONS(1320),
+    [anon_sym_restrict] = ACTIONS(1320),
+    [anon_sym___restrict__] = ACTIONS(1320),
+    [anon_sym__Atomic] = ACTIONS(1320),
+    [anon_sym__Noreturn] = ACTIONS(1320),
+    [anon_sym_noreturn] = ACTIONS(1320),
+    [anon_sym__Nonnull] = ACTIONS(1320),
+    [anon_sym_alignas] = ACTIONS(1320),
+    [anon_sym__Alignas] = ACTIONS(1320),
+    [sym_primitive_type] = ACTIONS(1320),
+    [anon_sym_enum] = ACTIONS(1320),
+    [anon_sym_struct] = ACTIONS(1320),
+    [anon_sym_union] = ACTIONS(1320),
+    [anon_sym_if] = ACTIONS(1320),
+    [anon_sym_switch] = ACTIONS(1320),
+    [anon_sym_case] = ACTIONS(1320),
+    [anon_sym_default] = ACTIONS(1320),
+    [anon_sym_while] = ACTIONS(1320),
+    [anon_sym_do] = ACTIONS(1320),
+    [anon_sym_for] = ACTIONS(1320),
+    [anon_sym_return] = ACTIONS(1320),
+    [anon_sym_break] = ACTIONS(1320),
+    [anon_sym_continue] = ACTIONS(1320),
+    [anon_sym_goto] = ACTIONS(1320),
+    [anon_sym___try] = ACTIONS(1320),
+    [anon_sym___leave] = ACTIONS(1320),
+    [anon_sym_DASH_DASH] = ACTIONS(1322),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1322),
+    [anon_sym_sizeof] = ACTIONS(1320),
+    [anon_sym___alignof__] = ACTIONS(1320),
+    [anon_sym___alignof] = ACTIONS(1320),
+    [anon_sym__alignof] = ACTIONS(1320),
+    [anon_sym_alignof] = ACTIONS(1320),
+    [anon_sym__Alignof] = ACTIONS(1320),
+    [anon_sym_offsetof] = ACTIONS(1320),
+    [anon_sym__Generic] = ACTIONS(1320),
+    [anon_sym_asm] = ACTIONS(1320),
+    [anon_sym___asm__] = ACTIONS(1320),
+    [anon_sym___asm] = ACTIONS(1320),
+    [sym_number_literal] = ACTIONS(1322),
+    [anon_sym_L_SQUOTE] = ACTIONS(1322),
+    [anon_sym_u_SQUOTE] = ACTIONS(1322),
+    [anon_sym_U_SQUOTE] = ACTIONS(1322),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1322),
+    [anon_sym_SQUOTE] = ACTIONS(1322),
+    [anon_sym_L_DQUOTE] = ACTIONS(1322),
+    [anon_sym_u_DQUOTE] = ACTIONS(1322),
+    [anon_sym_U_DQUOTE] = ACTIONS(1322),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1322),
+    [anon_sym_DQUOTE] = ACTIONS(1322),
+    [sym_true] = ACTIONS(1320),
+    [sym_false] = ACTIONS(1320),
+    [anon_sym_NULL] = ACTIONS(1320),
+    [anon_sym_nullptr] = ACTIONS(1320),
     [sym_comment] = ACTIONS(3),
   },
   [134] = {
-    [sym_identifier] = ACTIONS(1317),
-    [aux_sym_preproc_include_token1] = ACTIONS(1317),
-    [aux_sym_preproc_def_token1] = ACTIONS(1317),
-    [aux_sym_preproc_if_token1] = ACTIONS(1317),
-    [aux_sym_preproc_if_token2] = ACTIONS(1317),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1317),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1317),
-    [aux_sym_preproc_else_token1] = ACTIONS(1317),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1317),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1317),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1317),
-    [sym_preproc_directive] = ACTIONS(1317),
-    [anon_sym_LPAREN2] = ACTIONS(1319),
-    [anon_sym_BANG] = ACTIONS(1319),
-    [anon_sym_TILDE] = ACTIONS(1319),
-    [anon_sym_DASH] = ACTIONS(1317),
-    [anon_sym_PLUS] = ACTIONS(1317),
-    [anon_sym_STAR] = ACTIONS(1319),
-    [anon_sym_AMP] = ACTIONS(1319),
-    [anon_sym_SEMI] = ACTIONS(1319),
-    [anon_sym___extension__] = ACTIONS(1317),
-    [anon_sym_typedef] = ACTIONS(1317),
-    [anon_sym_extern] = ACTIONS(1317),
-    [anon_sym___attribute__] = ACTIONS(1317),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1319),
-    [anon_sym___declspec] = ACTIONS(1317),
-    [anon_sym___cdecl] = ACTIONS(1317),
-    [anon_sym___clrcall] = ACTIONS(1317),
-    [anon_sym___stdcall] = ACTIONS(1317),
-    [anon_sym___fastcall] = ACTIONS(1317),
-    [anon_sym___thiscall] = ACTIONS(1317),
-    [anon_sym___vectorcall] = ACTIONS(1317),
-    [anon_sym_LBRACE] = ACTIONS(1319),
-    [anon_sym_signed] = ACTIONS(1317),
-    [anon_sym_unsigned] = ACTIONS(1317),
-    [anon_sym_long] = ACTIONS(1317),
-    [anon_sym_short] = ACTIONS(1317),
-    [anon_sym_static] = ACTIONS(1317),
-    [anon_sym_auto] = ACTIONS(1317),
-    [anon_sym_register] = ACTIONS(1317),
-    [anon_sym_inline] = ACTIONS(1317),
-    [anon_sym___inline] = ACTIONS(1317),
-    [anon_sym___inline__] = ACTIONS(1317),
-    [anon_sym___forceinline] = ACTIONS(1317),
-    [anon_sym_thread_local] = ACTIONS(1317),
-    [anon_sym___thread] = ACTIONS(1317),
-    [anon_sym_const] = ACTIONS(1317),
-    [anon_sym_constexpr] = ACTIONS(1317),
-    [anon_sym_volatile] = ACTIONS(1317),
-    [anon_sym_restrict] = ACTIONS(1317),
-    [anon_sym___restrict__] = ACTIONS(1317),
-    [anon_sym__Atomic] = ACTIONS(1317),
-    [anon_sym__Noreturn] = ACTIONS(1317),
-    [anon_sym_noreturn] = ACTIONS(1317),
-    [anon_sym__Nonnull] = ACTIONS(1317),
-    [anon_sym_alignas] = ACTIONS(1317),
-    [anon_sym__Alignas] = ACTIONS(1317),
-    [sym_primitive_type] = ACTIONS(1317),
-    [anon_sym_enum] = ACTIONS(1317),
-    [anon_sym_struct] = ACTIONS(1317),
-    [anon_sym_union] = ACTIONS(1317),
-    [anon_sym_if] = ACTIONS(1317),
-    [anon_sym_switch] = ACTIONS(1317),
-    [anon_sym_case] = ACTIONS(1317),
-    [anon_sym_default] = ACTIONS(1317),
-    [anon_sym_while] = ACTIONS(1317),
-    [anon_sym_do] = ACTIONS(1317),
-    [anon_sym_for] = ACTIONS(1317),
-    [anon_sym_return] = ACTIONS(1317),
-    [anon_sym_break] = ACTIONS(1317),
-    [anon_sym_continue] = ACTIONS(1317),
-    [anon_sym_goto] = ACTIONS(1317),
-    [anon_sym___try] = ACTIONS(1317),
-    [anon_sym___leave] = ACTIONS(1317),
-    [anon_sym_DASH_DASH] = ACTIONS(1319),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1319),
-    [anon_sym_sizeof] = ACTIONS(1317),
-    [anon_sym___alignof__] = ACTIONS(1317),
-    [anon_sym___alignof] = ACTIONS(1317),
-    [anon_sym__alignof] = ACTIONS(1317),
-    [anon_sym_alignof] = ACTIONS(1317),
-    [anon_sym__Alignof] = ACTIONS(1317),
-    [anon_sym_offsetof] = ACTIONS(1317),
-    [anon_sym__Generic] = ACTIONS(1317),
-    [anon_sym_asm] = ACTIONS(1317),
-    [anon_sym___asm__] = ACTIONS(1317),
-    [anon_sym___asm] = ACTIONS(1317),
-    [sym_number_literal] = ACTIONS(1319),
-    [anon_sym_L_SQUOTE] = ACTIONS(1319),
-    [anon_sym_u_SQUOTE] = ACTIONS(1319),
-    [anon_sym_U_SQUOTE] = ACTIONS(1319),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1319),
-    [anon_sym_SQUOTE] = ACTIONS(1319),
-    [anon_sym_L_DQUOTE] = ACTIONS(1319),
-    [anon_sym_u_DQUOTE] = ACTIONS(1319),
-    [anon_sym_U_DQUOTE] = ACTIONS(1319),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1319),
-    [anon_sym_DQUOTE] = ACTIONS(1319),
-    [sym_true] = ACTIONS(1317),
-    [sym_false] = ACTIONS(1317),
-    [anon_sym_NULL] = ACTIONS(1317),
-    [anon_sym_nullptr] = ACTIONS(1317),
+    [sym_identifier] = ACTIONS(1324),
+    [aux_sym_preproc_include_token1] = ACTIONS(1324),
+    [aux_sym_preproc_def_token1] = ACTIONS(1324),
+    [aux_sym_preproc_if_token1] = ACTIONS(1324),
+    [aux_sym_preproc_if_token2] = ACTIONS(1324),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1324),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1324),
+    [aux_sym_preproc_else_token1] = ACTIONS(1324),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1324),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1324),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1324),
+    [sym_preproc_directive] = ACTIONS(1324),
+    [anon_sym_LPAREN2] = ACTIONS(1326),
+    [anon_sym_BANG] = ACTIONS(1326),
+    [anon_sym_TILDE] = ACTIONS(1326),
+    [anon_sym_DASH] = ACTIONS(1324),
+    [anon_sym_PLUS] = ACTIONS(1324),
+    [anon_sym_STAR] = ACTIONS(1326),
+    [anon_sym_AMP] = ACTIONS(1326),
+    [anon_sym_SEMI] = ACTIONS(1326),
+    [anon_sym___extension__] = ACTIONS(1324),
+    [anon_sym_typedef] = ACTIONS(1324),
+    [anon_sym_extern] = ACTIONS(1324),
+    [anon_sym___attribute__] = ACTIONS(1324),
+    [anon_sym___attribute] = ACTIONS(1324),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1326),
+    [anon_sym___declspec] = ACTIONS(1324),
+    [anon_sym___cdecl] = ACTIONS(1324),
+    [anon_sym___clrcall] = ACTIONS(1324),
+    [anon_sym___stdcall] = ACTIONS(1324),
+    [anon_sym___fastcall] = ACTIONS(1324),
+    [anon_sym___thiscall] = ACTIONS(1324),
+    [anon_sym___vectorcall] = ACTIONS(1324),
+    [anon_sym_LBRACE] = ACTIONS(1326),
+    [anon_sym_signed] = ACTIONS(1324),
+    [anon_sym_unsigned] = ACTIONS(1324),
+    [anon_sym_long] = ACTIONS(1324),
+    [anon_sym_short] = ACTIONS(1324),
+    [anon_sym_static] = ACTIONS(1324),
+    [anon_sym_auto] = ACTIONS(1324),
+    [anon_sym_register] = ACTIONS(1324),
+    [anon_sym_inline] = ACTIONS(1324),
+    [anon_sym___inline] = ACTIONS(1324),
+    [anon_sym___inline__] = ACTIONS(1324),
+    [anon_sym___forceinline] = ACTIONS(1324),
+    [anon_sym_thread_local] = ACTIONS(1324),
+    [anon_sym___thread] = ACTIONS(1324),
+    [anon_sym_const] = ACTIONS(1324),
+    [anon_sym_constexpr] = ACTIONS(1324),
+    [anon_sym_volatile] = ACTIONS(1324),
+    [anon_sym_restrict] = ACTIONS(1324),
+    [anon_sym___restrict__] = ACTIONS(1324),
+    [anon_sym__Atomic] = ACTIONS(1324),
+    [anon_sym__Noreturn] = ACTIONS(1324),
+    [anon_sym_noreturn] = ACTIONS(1324),
+    [anon_sym__Nonnull] = ACTIONS(1324),
+    [anon_sym_alignas] = ACTIONS(1324),
+    [anon_sym__Alignas] = ACTIONS(1324),
+    [sym_primitive_type] = ACTIONS(1324),
+    [anon_sym_enum] = ACTIONS(1324),
+    [anon_sym_struct] = ACTIONS(1324),
+    [anon_sym_union] = ACTIONS(1324),
+    [anon_sym_if] = ACTIONS(1324),
+    [anon_sym_switch] = ACTIONS(1324),
+    [anon_sym_case] = ACTIONS(1324),
+    [anon_sym_default] = ACTIONS(1324),
+    [anon_sym_while] = ACTIONS(1324),
+    [anon_sym_do] = ACTIONS(1324),
+    [anon_sym_for] = ACTIONS(1324),
+    [anon_sym_return] = ACTIONS(1324),
+    [anon_sym_break] = ACTIONS(1324),
+    [anon_sym_continue] = ACTIONS(1324),
+    [anon_sym_goto] = ACTIONS(1324),
+    [anon_sym___try] = ACTIONS(1324),
+    [anon_sym___leave] = ACTIONS(1324),
+    [anon_sym_DASH_DASH] = ACTIONS(1326),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1326),
+    [anon_sym_sizeof] = ACTIONS(1324),
+    [anon_sym___alignof__] = ACTIONS(1324),
+    [anon_sym___alignof] = ACTIONS(1324),
+    [anon_sym__alignof] = ACTIONS(1324),
+    [anon_sym_alignof] = ACTIONS(1324),
+    [anon_sym__Alignof] = ACTIONS(1324),
+    [anon_sym_offsetof] = ACTIONS(1324),
+    [anon_sym__Generic] = ACTIONS(1324),
+    [anon_sym_asm] = ACTIONS(1324),
+    [anon_sym___asm__] = ACTIONS(1324),
+    [anon_sym___asm] = ACTIONS(1324),
+    [sym_number_literal] = ACTIONS(1326),
+    [anon_sym_L_SQUOTE] = ACTIONS(1326),
+    [anon_sym_u_SQUOTE] = ACTIONS(1326),
+    [anon_sym_U_SQUOTE] = ACTIONS(1326),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1326),
+    [anon_sym_SQUOTE] = ACTIONS(1326),
+    [anon_sym_L_DQUOTE] = ACTIONS(1326),
+    [anon_sym_u_DQUOTE] = ACTIONS(1326),
+    [anon_sym_U_DQUOTE] = ACTIONS(1326),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1326),
+    [anon_sym_DQUOTE] = ACTIONS(1326),
+    [sym_true] = ACTIONS(1324),
+    [sym_false] = ACTIONS(1324),
+    [anon_sym_NULL] = ACTIONS(1324),
+    [anon_sym_nullptr] = ACTIONS(1324),
     [sym_comment] = ACTIONS(3),
   },
   [135] = {
-    [sym_identifier] = ACTIONS(1321),
-    [aux_sym_preproc_include_token1] = ACTIONS(1321),
-    [aux_sym_preproc_def_token1] = ACTIONS(1321),
-    [aux_sym_preproc_if_token1] = ACTIONS(1321),
-    [aux_sym_preproc_if_token2] = ACTIONS(1321),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1321),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1321),
-    [aux_sym_preproc_else_token1] = ACTIONS(1321),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1321),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1321),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1321),
-    [sym_preproc_directive] = ACTIONS(1321),
-    [anon_sym_LPAREN2] = ACTIONS(1323),
-    [anon_sym_BANG] = ACTIONS(1323),
-    [anon_sym_TILDE] = ACTIONS(1323),
-    [anon_sym_DASH] = ACTIONS(1321),
-    [anon_sym_PLUS] = ACTIONS(1321),
-    [anon_sym_STAR] = ACTIONS(1323),
-    [anon_sym_AMP] = ACTIONS(1323),
-    [anon_sym_SEMI] = ACTIONS(1323),
-    [anon_sym___extension__] = ACTIONS(1321),
-    [anon_sym_typedef] = ACTIONS(1321),
-    [anon_sym_extern] = ACTIONS(1321),
-    [anon_sym___attribute__] = ACTIONS(1321),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1323),
-    [anon_sym___declspec] = ACTIONS(1321),
-    [anon_sym___cdecl] = ACTIONS(1321),
-    [anon_sym___clrcall] = ACTIONS(1321),
-    [anon_sym___stdcall] = ACTIONS(1321),
-    [anon_sym___fastcall] = ACTIONS(1321),
-    [anon_sym___thiscall] = ACTIONS(1321),
-    [anon_sym___vectorcall] = ACTIONS(1321),
-    [anon_sym_LBRACE] = ACTIONS(1323),
-    [anon_sym_signed] = ACTIONS(1321),
-    [anon_sym_unsigned] = ACTIONS(1321),
-    [anon_sym_long] = ACTIONS(1321),
-    [anon_sym_short] = ACTIONS(1321),
-    [anon_sym_static] = ACTIONS(1321),
-    [anon_sym_auto] = ACTIONS(1321),
-    [anon_sym_register] = ACTIONS(1321),
-    [anon_sym_inline] = ACTIONS(1321),
-    [anon_sym___inline] = ACTIONS(1321),
-    [anon_sym___inline__] = ACTIONS(1321),
-    [anon_sym___forceinline] = ACTIONS(1321),
-    [anon_sym_thread_local] = ACTIONS(1321),
-    [anon_sym___thread] = ACTIONS(1321),
-    [anon_sym_const] = ACTIONS(1321),
-    [anon_sym_constexpr] = ACTIONS(1321),
-    [anon_sym_volatile] = ACTIONS(1321),
-    [anon_sym_restrict] = ACTIONS(1321),
-    [anon_sym___restrict__] = ACTIONS(1321),
-    [anon_sym__Atomic] = ACTIONS(1321),
-    [anon_sym__Noreturn] = ACTIONS(1321),
-    [anon_sym_noreturn] = ACTIONS(1321),
-    [anon_sym__Nonnull] = ACTIONS(1321),
-    [anon_sym_alignas] = ACTIONS(1321),
-    [anon_sym__Alignas] = ACTIONS(1321),
-    [sym_primitive_type] = ACTIONS(1321),
-    [anon_sym_enum] = ACTIONS(1321),
-    [anon_sym_struct] = ACTIONS(1321),
-    [anon_sym_union] = ACTIONS(1321),
-    [anon_sym_if] = ACTIONS(1321),
-    [anon_sym_switch] = ACTIONS(1321),
-    [anon_sym_case] = ACTIONS(1321),
-    [anon_sym_default] = ACTIONS(1321),
-    [anon_sym_while] = ACTIONS(1321),
-    [anon_sym_do] = ACTIONS(1321),
-    [anon_sym_for] = ACTIONS(1321),
-    [anon_sym_return] = ACTIONS(1321),
-    [anon_sym_break] = ACTIONS(1321),
-    [anon_sym_continue] = ACTIONS(1321),
-    [anon_sym_goto] = ACTIONS(1321),
-    [anon_sym___try] = ACTIONS(1321),
-    [anon_sym___leave] = ACTIONS(1321),
-    [anon_sym_DASH_DASH] = ACTIONS(1323),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
-    [anon_sym_sizeof] = ACTIONS(1321),
-    [anon_sym___alignof__] = ACTIONS(1321),
-    [anon_sym___alignof] = ACTIONS(1321),
-    [anon_sym__alignof] = ACTIONS(1321),
-    [anon_sym_alignof] = ACTIONS(1321),
-    [anon_sym__Alignof] = ACTIONS(1321),
-    [anon_sym_offsetof] = ACTIONS(1321),
-    [anon_sym__Generic] = ACTIONS(1321),
-    [anon_sym_asm] = ACTIONS(1321),
-    [anon_sym___asm__] = ACTIONS(1321),
-    [anon_sym___asm] = ACTIONS(1321),
-    [sym_number_literal] = ACTIONS(1323),
-    [anon_sym_L_SQUOTE] = ACTIONS(1323),
-    [anon_sym_u_SQUOTE] = ACTIONS(1323),
-    [anon_sym_U_SQUOTE] = ACTIONS(1323),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1323),
-    [anon_sym_SQUOTE] = ACTIONS(1323),
-    [anon_sym_L_DQUOTE] = ACTIONS(1323),
-    [anon_sym_u_DQUOTE] = ACTIONS(1323),
-    [anon_sym_U_DQUOTE] = ACTIONS(1323),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1323),
-    [anon_sym_DQUOTE] = ACTIONS(1323),
-    [sym_true] = ACTIONS(1321),
-    [sym_false] = ACTIONS(1321),
-    [anon_sym_NULL] = ACTIONS(1321),
-    [anon_sym_nullptr] = ACTIONS(1321),
+    [sym_identifier] = ACTIONS(1328),
+    [aux_sym_preproc_include_token1] = ACTIONS(1328),
+    [aux_sym_preproc_def_token1] = ACTIONS(1328),
+    [aux_sym_preproc_if_token1] = ACTIONS(1328),
+    [aux_sym_preproc_if_token2] = ACTIONS(1328),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1328),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1328),
+    [aux_sym_preproc_else_token1] = ACTIONS(1328),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1328),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1328),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1328),
+    [sym_preproc_directive] = ACTIONS(1328),
+    [anon_sym_LPAREN2] = ACTIONS(1330),
+    [anon_sym_BANG] = ACTIONS(1330),
+    [anon_sym_TILDE] = ACTIONS(1330),
+    [anon_sym_DASH] = ACTIONS(1328),
+    [anon_sym_PLUS] = ACTIONS(1328),
+    [anon_sym_STAR] = ACTIONS(1330),
+    [anon_sym_AMP] = ACTIONS(1330),
+    [anon_sym_SEMI] = ACTIONS(1330),
+    [anon_sym___extension__] = ACTIONS(1328),
+    [anon_sym_typedef] = ACTIONS(1328),
+    [anon_sym_extern] = ACTIONS(1328),
+    [anon_sym___attribute__] = ACTIONS(1328),
+    [anon_sym___attribute] = ACTIONS(1328),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1330),
+    [anon_sym___declspec] = ACTIONS(1328),
+    [anon_sym___cdecl] = ACTIONS(1328),
+    [anon_sym___clrcall] = ACTIONS(1328),
+    [anon_sym___stdcall] = ACTIONS(1328),
+    [anon_sym___fastcall] = ACTIONS(1328),
+    [anon_sym___thiscall] = ACTIONS(1328),
+    [anon_sym___vectorcall] = ACTIONS(1328),
+    [anon_sym_LBRACE] = ACTIONS(1330),
+    [anon_sym_signed] = ACTIONS(1328),
+    [anon_sym_unsigned] = ACTIONS(1328),
+    [anon_sym_long] = ACTIONS(1328),
+    [anon_sym_short] = ACTIONS(1328),
+    [anon_sym_static] = ACTIONS(1328),
+    [anon_sym_auto] = ACTIONS(1328),
+    [anon_sym_register] = ACTIONS(1328),
+    [anon_sym_inline] = ACTIONS(1328),
+    [anon_sym___inline] = ACTIONS(1328),
+    [anon_sym___inline__] = ACTIONS(1328),
+    [anon_sym___forceinline] = ACTIONS(1328),
+    [anon_sym_thread_local] = ACTIONS(1328),
+    [anon_sym___thread] = ACTIONS(1328),
+    [anon_sym_const] = ACTIONS(1328),
+    [anon_sym_constexpr] = ACTIONS(1328),
+    [anon_sym_volatile] = ACTIONS(1328),
+    [anon_sym_restrict] = ACTIONS(1328),
+    [anon_sym___restrict__] = ACTIONS(1328),
+    [anon_sym__Atomic] = ACTIONS(1328),
+    [anon_sym__Noreturn] = ACTIONS(1328),
+    [anon_sym_noreturn] = ACTIONS(1328),
+    [anon_sym__Nonnull] = ACTIONS(1328),
+    [anon_sym_alignas] = ACTIONS(1328),
+    [anon_sym__Alignas] = ACTIONS(1328),
+    [sym_primitive_type] = ACTIONS(1328),
+    [anon_sym_enum] = ACTIONS(1328),
+    [anon_sym_struct] = ACTIONS(1328),
+    [anon_sym_union] = ACTIONS(1328),
+    [anon_sym_if] = ACTIONS(1328),
+    [anon_sym_switch] = ACTIONS(1328),
+    [anon_sym_case] = ACTIONS(1328),
+    [anon_sym_default] = ACTIONS(1328),
+    [anon_sym_while] = ACTIONS(1328),
+    [anon_sym_do] = ACTIONS(1328),
+    [anon_sym_for] = ACTIONS(1328),
+    [anon_sym_return] = ACTIONS(1328),
+    [anon_sym_break] = ACTIONS(1328),
+    [anon_sym_continue] = ACTIONS(1328),
+    [anon_sym_goto] = ACTIONS(1328),
+    [anon_sym___try] = ACTIONS(1328),
+    [anon_sym___leave] = ACTIONS(1328),
+    [anon_sym_DASH_DASH] = ACTIONS(1330),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1330),
+    [anon_sym_sizeof] = ACTIONS(1328),
+    [anon_sym___alignof__] = ACTIONS(1328),
+    [anon_sym___alignof] = ACTIONS(1328),
+    [anon_sym__alignof] = ACTIONS(1328),
+    [anon_sym_alignof] = ACTIONS(1328),
+    [anon_sym__Alignof] = ACTIONS(1328),
+    [anon_sym_offsetof] = ACTIONS(1328),
+    [anon_sym__Generic] = ACTIONS(1328),
+    [anon_sym_asm] = ACTIONS(1328),
+    [anon_sym___asm__] = ACTIONS(1328),
+    [anon_sym___asm] = ACTIONS(1328),
+    [sym_number_literal] = ACTIONS(1330),
+    [anon_sym_L_SQUOTE] = ACTIONS(1330),
+    [anon_sym_u_SQUOTE] = ACTIONS(1330),
+    [anon_sym_U_SQUOTE] = ACTIONS(1330),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1330),
+    [anon_sym_SQUOTE] = ACTIONS(1330),
+    [anon_sym_L_DQUOTE] = ACTIONS(1330),
+    [anon_sym_u_DQUOTE] = ACTIONS(1330),
+    [anon_sym_U_DQUOTE] = ACTIONS(1330),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1330),
+    [anon_sym_DQUOTE] = ACTIONS(1330),
+    [sym_true] = ACTIONS(1328),
+    [sym_false] = ACTIONS(1328),
+    [anon_sym_NULL] = ACTIONS(1328),
+    [anon_sym_nullptr] = ACTIONS(1328),
     [sym_comment] = ACTIONS(3),
   },
   [136] = {
-    [sym_identifier] = ACTIONS(1325),
-    [aux_sym_preproc_include_token1] = ACTIONS(1325),
-    [aux_sym_preproc_def_token1] = ACTIONS(1325),
-    [aux_sym_preproc_if_token1] = ACTIONS(1325),
-    [aux_sym_preproc_if_token2] = ACTIONS(1325),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1325),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1325),
-    [aux_sym_preproc_else_token1] = ACTIONS(1325),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1325),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1325),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1325),
-    [sym_preproc_directive] = ACTIONS(1325),
-    [anon_sym_LPAREN2] = ACTIONS(1327),
-    [anon_sym_BANG] = ACTIONS(1327),
-    [anon_sym_TILDE] = ACTIONS(1327),
-    [anon_sym_DASH] = ACTIONS(1325),
-    [anon_sym_PLUS] = ACTIONS(1325),
-    [anon_sym_STAR] = ACTIONS(1327),
-    [anon_sym_AMP] = ACTIONS(1327),
-    [anon_sym_SEMI] = ACTIONS(1327),
-    [anon_sym___extension__] = ACTIONS(1325),
-    [anon_sym_typedef] = ACTIONS(1325),
-    [anon_sym_extern] = ACTIONS(1325),
-    [anon_sym___attribute__] = ACTIONS(1325),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1327),
-    [anon_sym___declspec] = ACTIONS(1325),
-    [anon_sym___cdecl] = ACTIONS(1325),
-    [anon_sym___clrcall] = ACTIONS(1325),
-    [anon_sym___stdcall] = ACTIONS(1325),
-    [anon_sym___fastcall] = ACTIONS(1325),
-    [anon_sym___thiscall] = ACTIONS(1325),
-    [anon_sym___vectorcall] = ACTIONS(1325),
-    [anon_sym_LBRACE] = ACTIONS(1327),
-    [anon_sym_signed] = ACTIONS(1325),
-    [anon_sym_unsigned] = ACTIONS(1325),
-    [anon_sym_long] = ACTIONS(1325),
-    [anon_sym_short] = ACTIONS(1325),
-    [anon_sym_static] = ACTIONS(1325),
-    [anon_sym_auto] = ACTIONS(1325),
-    [anon_sym_register] = ACTIONS(1325),
-    [anon_sym_inline] = ACTIONS(1325),
-    [anon_sym___inline] = ACTIONS(1325),
-    [anon_sym___inline__] = ACTIONS(1325),
-    [anon_sym___forceinline] = ACTIONS(1325),
-    [anon_sym_thread_local] = ACTIONS(1325),
-    [anon_sym___thread] = ACTIONS(1325),
-    [anon_sym_const] = ACTIONS(1325),
-    [anon_sym_constexpr] = ACTIONS(1325),
-    [anon_sym_volatile] = ACTIONS(1325),
-    [anon_sym_restrict] = ACTIONS(1325),
-    [anon_sym___restrict__] = ACTIONS(1325),
-    [anon_sym__Atomic] = ACTIONS(1325),
-    [anon_sym__Noreturn] = ACTIONS(1325),
-    [anon_sym_noreturn] = ACTIONS(1325),
-    [anon_sym__Nonnull] = ACTIONS(1325),
-    [anon_sym_alignas] = ACTIONS(1325),
-    [anon_sym__Alignas] = ACTIONS(1325),
-    [sym_primitive_type] = ACTIONS(1325),
-    [anon_sym_enum] = ACTIONS(1325),
-    [anon_sym_struct] = ACTIONS(1325),
-    [anon_sym_union] = ACTIONS(1325),
-    [anon_sym_if] = ACTIONS(1325),
-    [anon_sym_switch] = ACTIONS(1325),
-    [anon_sym_case] = ACTIONS(1325),
-    [anon_sym_default] = ACTIONS(1325),
-    [anon_sym_while] = ACTIONS(1325),
-    [anon_sym_do] = ACTIONS(1325),
-    [anon_sym_for] = ACTIONS(1325),
-    [anon_sym_return] = ACTIONS(1325),
-    [anon_sym_break] = ACTIONS(1325),
-    [anon_sym_continue] = ACTIONS(1325),
-    [anon_sym_goto] = ACTIONS(1325),
-    [anon_sym___try] = ACTIONS(1325),
-    [anon_sym___leave] = ACTIONS(1325),
-    [anon_sym_DASH_DASH] = ACTIONS(1327),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1327),
-    [anon_sym_sizeof] = ACTIONS(1325),
-    [anon_sym___alignof__] = ACTIONS(1325),
-    [anon_sym___alignof] = ACTIONS(1325),
-    [anon_sym__alignof] = ACTIONS(1325),
-    [anon_sym_alignof] = ACTIONS(1325),
-    [anon_sym__Alignof] = ACTIONS(1325),
-    [anon_sym_offsetof] = ACTIONS(1325),
-    [anon_sym__Generic] = ACTIONS(1325),
-    [anon_sym_asm] = ACTIONS(1325),
-    [anon_sym___asm__] = ACTIONS(1325),
-    [anon_sym___asm] = ACTIONS(1325),
-    [sym_number_literal] = ACTIONS(1327),
-    [anon_sym_L_SQUOTE] = ACTIONS(1327),
-    [anon_sym_u_SQUOTE] = ACTIONS(1327),
-    [anon_sym_U_SQUOTE] = ACTIONS(1327),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1327),
-    [anon_sym_SQUOTE] = ACTIONS(1327),
-    [anon_sym_L_DQUOTE] = ACTIONS(1327),
-    [anon_sym_u_DQUOTE] = ACTIONS(1327),
-    [anon_sym_U_DQUOTE] = ACTIONS(1327),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1327),
-    [anon_sym_DQUOTE] = ACTIONS(1327),
-    [sym_true] = ACTIONS(1325),
-    [sym_false] = ACTIONS(1325),
-    [anon_sym_NULL] = ACTIONS(1325),
-    [anon_sym_nullptr] = ACTIONS(1325),
+    [sym_identifier] = ACTIONS(1332),
+    [aux_sym_preproc_include_token1] = ACTIONS(1332),
+    [aux_sym_preproc_def_token1] = ACTIONS(1332),
+    [aux_sym_preproc_if_token1] = ACTIONS(1332),
+    [aux_sym_preproc_if_token2] = ACTIONS(1332),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1332),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1332),
+    [aux_sym_preproc_else_token1] = ACTIONS(1332),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1332),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1332),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1332),
+    [sym_preproc_directive] = ACTIONS(1332),
+    [anon_sym_LPAREN2] = ACTIONS(1334),
+    [anon_sym_BANG] = ACTIONS(1334),
+    [anon_sym_TILDE] = ACTIONS(1334),
+    [anon_sym_DASH] = ACTIONS(1332),
+    [anon_sym_PLUS] = ACTIONS(1332),
+    [anon_sym_STAR] = ACTIONS(1334),
+    [anon_sym_AMP] = ACTIONS(1334),
+    [anon_sym_SEMI] = ACTIONS(1334),
+    [anon_sym___extension__] = ACTIONS(1332),
+    [anon_sym_typedef] = ACTIONS(1332),
+    [anon_sym_extern] = ACTIONS(1332),
+    [anon_sym___attribute__] = ACTIONS(1332),
+    [anon_sym___attribute] = ACTIONS(1332),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1334),
+    [anon_sym___declspec] = ACTIONS(1332),
+    [anon_sym___cdecl] = ACTIONS(1332),
+    [anon_sym___clrcall] = ACTIONS(1332),
+    [anon_sym___stdcall] = ACTIONS(1332),
+    [anon_sym___fastcall] = ACTIONS(1332),
+    [anon_sym___thiscall] = ACTIONS(1332),
+    [anon_sym___vectorcall] = ACTIONS(1332),
+    [anon_sym_LBRACE] = ACTIONS(1334),
+    [anon_sym_signed] = ACTIONS(1332),
+    [anon_sym_unsigned] = ACTIONS(1332),
+    [anon_sym_long] = ACTIONS(1332),
+    [anon_sym_short] = ACTIONS(1332),
+    [anon_sym_static] = ACTIONS(1332),
+    [anon_sym_auto] = ACTIONS(1332),
+    [anon_sym_register] = ACTIONS(1332),
+    [anon_sym_inline] = ACTIONS(1332),
+    [anon_sym___inline] = ACTIONS(1332),
+    [anon_sym___inline__] = ACTIONS(1332),
+    [anon_sym___forceinline] = ACTIONS(1332),
+    [anon_sym_thread_local] = ACTIONS(1332),
+    [anon_sym___thread] = ACTIONS(1332),
+    [anon_sym_const] = ACTIONS(1332),
+    [anon_sym_constexpr] = ACTIONS(1332),
+    [anon_sym_volatile] = ACTIONS(1332),
+    [anon_sym_restrict] = ACTIONS(1332),
+    [anon_sym___restrict__] = ACTIONS(1332),
+    [anon_sym__Atomic] = ACTIONS(1332),
+    [anon_sym__Noreturn] = ACTIONS(1332),
+    [anon_sym_noreturn] = ACTIONS(1332),
+    [anon_sym__Nonnull] = ACTIONS(1332),
+    [anon_sym_alignas] = ACTIONS(1332),
+    [anon_sym__Alignas] = ACTIONS(1332),
+    [sym_primitive_type] = ACTIONS(1332),
+    [anon_sym_enum] = ACTIONS(1332),
+    [anon_sym_struct] = ACTIONS(1332),
+    [anon_sym_union] = ACTIONS(1332),
+    [anon_sym_if] = ACTIONS(1332),
+    [anon_sym_switch] = ACTIONS(1332),
+    [anon_sym_case] = ACTIONS(1332),
+    [anon_sym_default] = ACTIONS(1332),
+    [anon_sym_while] = ACTIONS(1332),
+    [anon_sym_do] = ACTIONS(1332),
+    [anon_sym_for] = ACTIONS(1332),
+    [anon_sym_return] = ACTIONS(1332),
+    [anon_sym_break] = ACTIONS(1332),
+    [anon_sym_continue] = ACTIONS(1332),
+    [anon_sym_goto] = ACTIONS(1332),
+    [anon_sym___try] = ACTIONS(1332),
+    [anon_sym___leave] = ACTIONS(1332),
+    [anon_sym_DASH_DASH] = ACTIONS(1334),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1334),
+    [anon_sym_sizeof] = ACTIONS(1332),
+    [anon_sym___alignof__] = ACTIONS(1332),
+    [anon_sym___alignof] = ACTIONS(1332),
+    [anon_sym__alignof] = ACTIONS(1332),
+    [anon_sym_alignof] = ACTIONS(1332),
+    [anon_sym__Alignof] = ACTIONS(1332),
+    [anon_sym_offsetof] = ACTIONS(1332),
+    [anon_sym__Generic] = ACTIONS(1332),
+    [anon_sym_asm] = ACTIONS(1332),
+    [anon_sym___asm__] = ACTIONS(1332),
+    [anon_sym___asm] = ACTIONS(1332),
+    [sym_number_literal] = ACTIONS(1334),
+    [anon_sym_L_SQUOTE] = ACTIONS(1334),
+    [anon_sym_u_SQUOTE] = ACTIONS(1334),
+    [anon_sym_U_SQUOTE] = ACTIONS(1334),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1334),
+    [anon_sym_SQUOTE] = ACTIONS(1334),
+    [anon_sym_L_DQUOTE] = ACTIONS(1334),
+    [anon_sym_u_DQUOTE] = ACTIONS(1334),
+    [anon_sym_U_DQUOTE] = ACTIONS(1334),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1334),
+    [anon_sym_DQUOTE] = ACTIONS(1334),
+    [sym_true] = ACTIONS(1332),
+    [sym_false] = ACTIONS(1332),
+    [anon_sym_NULL] = ACTIONS(1332),
+    [anon_sym_nullptr] = ACTIONS(1332),
     [sym_comment] = ACTIONS(3),
   },
   [137] = {
-    [sym_identifier] = ACTIONS(1329),
-    [aux_sym_preproc_include_token1] = ACTIONS(1329),
-    [aux_sym_preproc_def_token1] = ACTIONS(1329),
-    [aux_sym_preproc_if_token1] = ACTIONS(1329),
-    [aux_sym_preproc_if_token2] = ACTIONS(1329),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1329),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1329),
-    [aux_sym_preproc_else_token1] = ACTIONS(1329),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1329),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1329),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1329),
-    [sym_preproc_directive] = ACTIONS(1329),
-    [anon_sym_LPAREN2] = ACTIONS(1331),
-    [anon_sym_BANG] = ACTIONS(1331),
-    [anon_sym_TILDE] = ACTIONS(1331),
-    [anon_sym_DASH] = ACTIONS(1329),
-    [anon_sym_PLUS] = ACTIONS(1329),
-    [anon_sym_STAR] = ACTIONS(1331),
-    [anon_sym_AMP] = ACTIONS(1331),
-    [anon_sym_SEMI] = ACTIONS(1331),
-    [anon_sym___extension__] = ACTIONS(1329),
-    [anon_sym_typedef] = ACTIONS(1329),
-    [anon_sym_extern] = ACTIONS(1329),
-    [anon_sym___attribute__] = ACTIONS(1329),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1331),
-    [anon_sym___declspec] = ACTIONS(1329),
-    [anon_sym___cdecl] = ACTIONS(1329),
-    [anon_sym___clrcall] = ACTIONS(1329),
-    [anon_sym___stdcall] = ACTIONS(1329),
-    [anon_sym___fastcall] = ACTIONS(1329),
-    [anon_sym___thiscall] = ACTIONS(1329),
-    [anon_sym___vectorcall] = ACTIONS(1329),
-    [anon_sym_LBRACE] = ACTIONS(1331),
-    [anon_sym_signed] = ACTIONS(1329),
-    [anon_sym_unsigned] = ACTIONS(1329),
-    [anon_sym_long] = ACTIONS(1329),
-    [anon_sym_short] = ACTIONS(1329),
-    [anon_sym_static] = ACTIONS(1329),
-    [anon_sym_auto] = ACTIONS(1329),
-    [anon_sym_register] = ACTIONS(1329),
-    [anon_sym_inline] = ACTIONS(1329),
-    [anon_sym___inline] = ACTIONS(1329),
-    [anon_sym___inline__] = ACTIONS(1329),
-    [anon_sym___forceinline] = ACTIONS(1329),
-    [anon_sym_thread_local] = ACTIONS(1329),
-    [anon_sym___thread] = ACTIONS(1329),
-    [anon_sym_const] = ACTIONS(1329),
-    [anon_sym_constexpr] = ACTIONS(1329),
-    [anon_sym_volatile] = ACTIONS(1329),
-    [anon_sym_restrict] = ACTIONS(1329),
-    [anon_sym___restrict__] = ACTIONS(1329),
-    [anon_sym__Atomic] = ACTIONS(1329),
-    [anon_sym__Noreturn] = ACTIONS(1329),
-    [anon_sym_noreturn] = ACTIONS(1329),
-    [anon_sym__Nonnull] = ACTIONS(1329),
-    [anon_sym_alignas] = ACTIONS(1329),
-    [anon_sym__Alignas] = ACTIONS(1329),
-    [sym_primitive_type] = ACTIONS(1329),
-    [anon_sym_enum] = ACTIONS(1329),
-    [anon_sym_struct] = ACTIONS(1329),
-    [anon_sym_union] = ACTIONS(1329),
-    [anon_sym_if] = ACTIONS(1329),
-    [anon_sym_switch] = ACTIONS(1329),
-    [anon_sym_case] = ACTIONS(1329),
-    [anon_sym_default] = ACTIONS(1329),
-    [anon_sym_while] = ACTIONS(1329),
-    [anon_sym_do] = ACTIONS(1329),
-    [anon_sym_for] = ACTIONS(1329),
-    [anon_sym_return] = ACTIONS(1329),
-    [anon_sym_break] = ACTIONS(1329),
-    [anon_sym_continue] = ACTIONS(1329),
-    [anon_sym_goto] = ACTIONS(1329),
-    [anon_sym___try] = ACTIONS(1329),
-    [anon_sym___leave] = ACTIONS(1329),
-    [anon_sym_DASH_DASH] = ACTIONS(1331),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1331),
-    [anon_sym_sizeof] = ACTIONS(1329),
-    [anon_sym___alignof__] = ACTIONS(1329),
-    [anon_sym___alignof] = ACTIONS(1329),
-    [anon_sym__alignof] = ACTIONS(1329),
-    [anon_sym_alignof] = ACTIONS(1329),
-    [anon_sym__Alignof] = ACTIONS(1329),
-    [anon_sym_offsetof] = ACTIONS(1329),
-    [anon_sym__Generic] = ACTIONS(1329),
-    [anon_sym_asm] = ACTIONS(1329),
-    [anon_sym___asm__] = ACTIONS(1329),
-    [anon_sym___asm] = ACTIONS(1329),
-    [sym_number_literal] = ACTIONS(1331),
-    [anon_sym_L_SQUOTE] = ACTIONS(1331),
-    [anon_sym_u_SQUOTE] = ACTIONS(1331),
-    [anon_sym_U_SQUOTE] = ACTIONS(1331),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1331),
-    [anon_sym_SQUOTE] = ACTIONS(1331),
-    [anon_sym_L_DQUOTE] = ACTIONS(1331),
-    [anon_sym_u_DQUOTE] = ACTIONS(1331),
-    [anon_sym_U_DQUOTE] = ACTIONS(1331),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1331),
-    [anon_sym_DQUOTE] = ACTIONS(1331),
-    [sym_true] = ACTIONS(1329),
-    [sym_false] = ACTIONS(1329),
-    [anon_sym_NULL] = ACTIONS(1329),
-    [anon_sym_nullptr] = ACTIONS(1329),
+    [sym_identifier] = ACTIONS(1336),
+    [aux_sym_preproc_include_token1] = ACTIONS(1336),
+    [aux_sym_preproc_def_token1] = ACTIONS(1336),
+    [aux_sym_preproc_if_token1] = ACTIONS(1336),
+    [aux_sym_preproc_if_token2] = ACTIONS(1336),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1336),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1336),
+    [aux_sym_preproc_else_token1] = ACTIONS(1336),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1336),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1336),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1336),
+    [sym_preproc_directive] = ACTIONS(1336),
+    [anon_sym_LPAREN2] = ACTIONS(1338),
+    [anon_sym_BANG] = ACTIONS(1338),
+    [anon_sym_TILDE] = ACTIONS(1338),
+    [anon_sym_DASH] = ACTIONS(1336),
+    [anon_sym_PLUS] = ACTIONS(1336),
+    [anon_sym_STAR] = ACTIONS(1338),
+    [anon_sym_AMP] = ACTIONS(1338),
+    [anon_sym_SEMI] = ACTIONS(1338),
+    [anon_sym___extension__] = ACTIONS(1336),
+    [anon_sym_typedef] = ACTIONS(1336),
+    [anon_sym_extern] = ACTIONS(1336),
+    [anon_sym___attribute__] = ACTIONS(1336),
+    [anon_sym___attribute] = ACTIONS(1336),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1338),
+    [anon_sym___declspec] = ACTIONS(1336),
+    [anon_sym___cdecl] = ACTIONS(1336),
+    [anon_sym___clrcall] = ACTIONS(1336),
+    [anon_sym___stdcall] = ACTIONS(1336),
+    [anon_sym___fastcall] = ACTIONS(1336),
+    [anon_sym___thiscall] = ACTIONS(1336),
+    [anon_sym___vectorcall] = ACTIONS(1336),
+    [anon_sym_LBRACE] = ACTIONS(1338),
+    [anon_sym_signed] = ACTIONS(1336),
+    [anon_sym_unsigned] = ACTIONS(1336),
+    [anon_sym_long] = ACTIONS(1336),
+    [anon_sym_short] = ACTIONS(1336),
+    [anon_sym_static] = ACTIONS(1336),
+    [anon_sym_auto] = ACTIONS(1336),
+    [anon_sym_register] = ACTIONS(1336),
+    [anon_sym_inline] = ACTIONS(1336),
+    [anon_sym___inline] = ACTIONS(1336),
+    [anon_sym___inline__] = ACTIONS(1336),
+    [anon_sym___forceinline] = ACTIONS(1336),
+    [anon_sym_thread_local] = ACTIONS(1336),
+    [anon_sym___thread] = ACTIONS(1336),
+    [anon_sym_const] = ACTIONS(1336),
+    [anon_sym_constexpr] = ACTIONS(1336),
+    [anon_sym_volatile] = ACTIONS(1336),
+    [anon_sym_restrict] = ACTIONS(1336),
+    [anon_sym___restrict__] = ACTIONS(1336),
+    [anon_sym__Atomic] = ACTIONS(1336),
+    [anon_sym__Noreturn] = ACTIONS(1336),
+    [anon_sym_noreturn] = ACTIONS(1336),
+    [anon_sym__Nonnull] = ACTIONS(1336),
+    [anon_sym_alignas] = ACTIONS(1336),
+    [anon_sym__Alignas] = ACTIONS(1336),
+    [sym_primitive_type] = ACTIONS(1336),
+    [anon_sym_enum] = ACTIONS(1336),
+    [anon_sym_struct] = ACTIONS(1336),
+    [anon_sym_union] = ACTIONS(1336),
+    [anon_sym_if] = ACTIONS(1336),
+    [anon_sym_switch] = ACTIONS(1336),
+    [anon_sym_case] = ACTIONS(1336),
+    [anon_sym_default] = ACTIONS(1336),
+    [anon_sym_while] = ACTIONS(1336),
+    [anon_sym_do] = ACTIONS(1336),
+    [anon_sym_for] = ACTIONS(1336),
+    [anon_sym_return] = ACTIONS(1336),
+    [anon_sym_break] = ACTIONS(1336),
+    [anon_sym_continue] = ACTIONS(1336),
+    [anon_sym_goto] = ACTIONS(1336),
+    [anon_sym___try] = ACTIONS(1336),
+    [anon_sym___leave] = ACTIONS(1336),
+    [anon_sym_DASH_DASH] = ACTIONS(1338),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1338),
+    [anon_sym_sizeof] = ACTIONS(1336),
+    [anon_sym___alignof__] = ACTIONS(1336),
+    [anon_sym___alignof] = ACTIONS(1336),
+    [anon_sym__alignof] = ACTIONS(1336),
+    [anon_sym_alignof] = ACTIONS(1336),
+    [anon_sym__Alignof] = ACTIONS(1336),
+    [anon_sym_offsetof] = ACTIONS(1336),
+    [anon_sym__Generic] = ACTIONS(1336),
+    [anon_sym_asm] = ACTIONS(1336),
+    [anon_sym___asm__] = ACTIONS(1336),
+    [anon_sym___asm] = ACTIONS(1336),
+    [sym_number_literal] = ACTIONS(1338),
+    [anon_sym_L_SQUOTE] = ACTIONS(1338),
+    [anon_sym_u_SQUOTE] = ACTIONS(1338),
+    [anon_sym_U_SQUOTE] = ACTIONS(1338),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1338),
+    [anon_sym_SQUOTE] = ACTIONS(1338),
+    [anon_sym_L_DQUOTE] = ACTIONS(1338),
+    [anon_sym_u_DQUOTE] = ACTIONS(1338),
+    [anon_sym_U_DQUOTE] = ACTIONS(1338),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1338),
+    [anon_sym_DQUOTE] = ACTIONS(1338),
+    [sym_true] = ACTIONS(1336),
+    [sym_false] = ACTIONS(1336),
+    [anon_sym_NULL] = ACTIONS(1336),
+    [anon_sym_nullptr] = ACTIONS(1336),
     [sym_comment] = ACTIONS(3),
   },
   [138] = {
-    [sym_identifier] = ACTIONS(1333),
-    [aux_sym_preproc_include_token1] = ACTIONS(1333),
-    [aux_sym_preproc_def_token1] = ACTIONS(1333),
-    [aux_sym_preproc_if_token1] = ACTIONS(1333),
-    [aux_sym_preproc_if_token2] = ACTIONS(1333),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1333),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1333),
-    [aux_sym_preproc_else_token1] = ACTIONS(1333),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1333),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1333),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1333),
-    [sym_preproc_directive] = ACTIONS(1333),
-    [anon_sym_LPAREN2] = ACTIONS(1335),
-    [anon_sym_BANG] = ACTIONS(1335),
-    [anon_sym_TILDE] = ACTIONS(1335),
-    [anon_sym_DASH] = ACTIONS(1333),
-    [anon_sym_PLUS] = ACTIONS(1333),
-    [anon_sym_STAR] = ACTIONS(1335),
-    [anon_sym_AMP] = ACTIONS(1335),
-    [anon_sym_SEMI] = ACTIONS(1335),
-    [anon_sym___extension__] = ACTIONS(1333),
-    [anon_sym_typedef] = ACTIONS(1333),
-    [anon_sym_extern] = ACTIONS(1333),
-    [anon_sym___attribute__] = ACTIONS(1333),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1335),
-    [anon_sym___declspec] = ACTIONS(1333),
-    [anon_sym___cdecl] = ACTIONS(1333),
-    [anon_sym___clrcall] = ACTIONS(1333),
-    [anon_sym___stdcall] = ACTIONS(1333),
-    [anon_sym___fastcall] = ACTIONS(1333),
-    [anon_sym___thiscall] = ACTIONS(1333),
-    [anon_sym___vectorcall] = ACTIONS(1333),
-    [anon_sym_LBRACE] = ACTIONS(1335),
-    [anon_sym_signed] = ACTIONS(1333),
-    [anon_sym_unsigned] = ACTIONS(1333),
-    [anon_sym_long] = ACTIONS(1333),
-    [anon_sym_short] = ACTIONS(1333),
-    [anon_sym_static] = ACTIONS(1333),
-    [anon_sym_auto] = ACTIONS(1333),
-    [anon_sym_register] = ACTIONS(1333),
-    [anon_sym_inline] = ACTIONS(1333),
-    [anon_sym___inline] = ACTIONS(1333),
-    [anon_sym___inline__] = ACTIONS(1333),
-    [anon_sym___forceinline] = ACTIONS(1333),
-    [anon_sym_thread_local] = ACTIONS(1333),
-    [anon_sym___thread] = ACTIONS(1333),
-    [anon_sym_const] = ACTIONS(1333),
-    [anon_sym_constexpr] = ACTIONS(1333),
-    [anon_sym_volatile] = ACTIONS(1333),
-    [anon_sym_restrict] = ACTIONS(1333),
-    [anon_sym___restrict__] = ACTIONS(1333),
-    [anon_sym__Atomic] = ACTIONS(1333),
-    [anon_sym__Noreturn] = ACTIONS(1333),
-    [anon_sym_noreturn] = ACTIONS(1333),
-    [anon_sym__Nonnull] = ACTIONS(1333),
-    [anon_sym_alignas] = ACTIONS(1333),
-    [anon_sym__Alignas] = ACTIONS(1333),
-    [sym_primitive_type] = ACTIONS(1333),
-    [anon_sym_enum] = ACTIONS(1333),
-    [anon_sym_struct] = ACTIONS(1333),
-    [anon_sym_union] = ACTIONS(1333),
-    [anon_sym_if] = ACTIONS(1333),
-    [anon_sym_switch] = ACTIONS(1333),
-    [anon_sym_case] = ACTIONS(1333),
-    [anon_sym_default] = ACTIONS(1333),
-    [anon_sym_while] = ACTIONS(1333),
-    [anon_sym_do] = ACTIONS(1333),
-    [anon_sym_for] = ACTIONS(1333),
-    [anon_sym_return] = ACTIONS(1333),
-    [anon_sym_break] = ACTIONS(1333),
-    [anon_sym_continue] = ACTIONS(1333),
-    [anon_sym_goto] = ACTIONS(1333),
-    [anon_sym___try] = ACTIONS(1333),
-    [anon_sym___leave] = ACTIONS(1333),
-    [anon_sym_DASH_DASH] = ACTIONS(1335),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1335),
-    [anon_sym_sizeof] = ACTIONS(1333),
-    [anon_sym___alignof__] = ACTIONS(1333),
-    [anon_sym___alignof] = ACTIONS(1333),
-    [anon_sym__alignof] = ACTIONS(1333),
-    [anon_sym_alignof] = ACTIONS(1333),
-    [anon_sym__Alignof] = ACTIONS(1333),
-    [anon_sym_offsetof] = ACTIONS(1333),
-    [anon_sym__Generic] = ACTIONS(1333),
-    [anon_sym_asm] = ACTIONS(1333),
-    [anon_sym___asm__] = ACTIONS(1333),
-    [anon_sym___asm] = ACTIONS(1333),
-    [sym_number_literal] = ACTIONS(1335),
-    [anon_sym_L_SQUOTE] = ACTIONS(1335),
-    [anon_sym_u_SQUOTE] = ACTIONS(1335),
-    [anon_sym_U_SQUOTE] = ACTIONS(1335),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1335),
-    [anon_sym_SQUOTE] = ACTIONS(1335),
-    [anon_sym_L_DQUOTE] = ACTIONS(1335),
-    [anon_sym_u_DQUOTE] = ACTIONS(1335),
-    [anon_sym_U_DQUOTE] = ACTIONS(1335),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1335),
-    [anon_sym_DQUOTE] = ACTIONS(1335),
-    [sym_true] = ACTIONS(1333),
-    [sym_false] = ACTIONS(1333),
-    [anon_sym_NULL] = ACTIONS(1333),
-    [anon_sym_nullptr] = ACTIONS(1333),
+    [sym_identifier] = ACTIONS(1340),
+    [aux_sym_preproc_include_token1] = ACTIONS(1340),
+    [aux_sym_preproc_def_token1] = ACTIONS(1340),
+    [aux_sym_preproc_if_token1] = ACTIONS(1340),
+    [aux_sym_preproc_if_token2] = ACTIONS(1340),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1340),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1340),
+    [aux_sym_preproc_else_token1] = ACTIONS(1340),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1340),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1340),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1340),
+    [sym_preproc_directive] = ACTIONS(1340),
+    [anon_sym_LPAREN2] = ACTIONS(1342),
+    [anon_sym_BANG] = ACTIONS(1342),
+    [anon_sym_TILDE] = ACTIONS(1342),
+    [anon_sym_DASH] = ACTIONS(1340),
+    [anon_sym_PLUS] = ACTIONS(1340),
+    [anon_sym_STAR] = ACTIONS(1342),
+    [anon_sym_AMP] = ACTIONS(1342),
+    [anon_sym_SEMI] = ACTIONS(1342),
+    [anon_sym___extension__] = ACTIONS(1340),
+    [anon_sym_typedef] = ACTIONS(1340),
+    [anon_sym_extern] = ACTIONS(1340),
+    [anon_sym___attribute__] = ACTIONS(1340),
+    [anon_sym___attribute] = ACTIONS(1340),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1342),
+    [anon_sym___declspec] = ACTIONS(1340),
+    [anon_sym___cdecl] = ACTIONS(1340),
+    [anon_sym___clrcall] = ACTIONS(1340),
+    [anon_sym___stdcall] = ACTIONS(1340),
+    [anon_sym___fastcall] = ACTIONS(1340),
+    [anon_sym___thiscall] = ACTIONS(1340),
+    [anon_sym___vectorcall] = ACTIONS(1340),
+    [anon_sym_LBRACE] = ACTIONS(1342),
+    [anon_sym_signed] = ACTIONS(1340),
+    [anon_sym_unsigned] = ACTIONS(1340),
+    [anon_sym_long] = ACTIONS(1340),
+    [anon_sym_short] = ACTIONS(1340),
+    [anon_sym_static] = ACTIONS(1340),
+    [anon_sym_auto] = ACTIONS(1340),
+    [anon_sym_register] = ACTIONS(1340),
+    [anon_sym_inline] = ACTIONS(1340),
+    [anon_sym___inline] = ACTIONS(1340),
+    [anon_sym___inline__] = ACTIONS(1340),
+    [anon_sym___forceinline] = ACTIONS(1340),
+    [anon_sym_thread_local] = ACTIONS(1340),
+    [anon_sym___thread] = ACTIONS(1340),
+    [anon_sym_const] = ACTIONS(1340),
+    [anon_sym_constexpr] = ACTIONS(1340),
+    [anon_sym_volatile] = ACTIONS(1340),
+    [anon_sym_restrict] = ACTIONS(1340),
+    [anon_sym___restrict__] = ACTIONS(1340),
+    [anon_sym__Atomic] = ACTIONS(1340),
+    [anon_sym__Noreturn] = ACTIONS(1340),
+    [anon_sym_noreturn] = ACTIONS(1340),
+    [anon_sym__Nonnull] = ACTIONS(1340),
+    [anon_sym_alignas] = ACTIONS(1340),
+    [anon_sym__Alignas] = ACTIONS(1340),
+    [sym_primitive_type] = ACTIONS(1340),
+    [anon_sym_enum] = ACTIONS(1340),
+    [anon_sym_struct] = ACTIONS(1340),
+    [anon_sym_union] = ACTIONS(1340),
+    [anon_sym_if] = ACTIONS(1340),
+    [anon_sym_switch] = ACTIONS(1340),
+    [anon_sym_case] = ACTIONS(1340),
+    [anon_sym_default] = ACTIONS(1340),
+    [anon_sym_while] = ACTIONS(1340),
+    [anon_sym_do] = ACTIONS(1340),
+    [anon_sym_for] = ACTIONS(1340),
+    [anon_sym_return] = ACTIONS(1340),
+    [anon_sym_break] = ACTIONS(1340),
+    [anon_sym_continue] = ACTIONS(1340),
+    [anon_sym_goto] = ACTIONS(1340),
+    [anon_sym___try] = ACTIONS(1340),
+    [anon_sym___leave] = ACTIONS(1340),
+    [anon_sym_DASH_DASH] = ACTIONS(1342),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1342),
+    [anon_sym_sizeof] = ACTIONS(1340),
+    [anon_sym___alignof__] = ACTIONS(1340),
+    [anon_sym___alignof] = ACTIONS(1340),
+    [anon_sym__alignof] = ACTIONS(1340),
+    [anon_sym_alignof] = ACTIONS(1340),
+    [anon_sym__Alignof] = ACTIONS(1340),
+    [anon_sym_offsetof] = ACTIONS(1340),
+    [anon_sym__Generic] = ACTIONS(1340),
+    [anon_sym_asm] = ACTIONS(1340),
+    [anon_sym___asm__] = ACTIONS(1340),
+    [anon_sym___asm] = ACTIONS(1340),
+    [sym_number_literal] = ACTIONS(1342),
+    [anon_sym_L_SQUOTE] = ACTIONS(1342),
+    [anon_sym_u_SQUOTE] = ACTIONS(1342),
+    [anon_sym_U_SQUOTE] = ACTIONS(1342),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1342),
+    [anon_sym_SQUOTE] = ACTIONS(1342),
+    [anon_sym_L_DQUOTE] = ACTIONS(1342),
+    [anon_sym_u_DQUOTE] = ACTIONS(1342),
+    [anon_sym_U_DQUOTE] = ACTIONS(1342),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1342),
+    [anon_sym_DQUOTE] = ACTIONS(1342),
+    [sym_true] = ACTIONS(1340),
+    [sym_false] = ACTIONS(1340),
+    [anon_sym_NULL] = ACTIONS(1340),
+    [anon_sym_nullptr] = ACTIONS(1340),
     [sym_comment] = ACTIONS(3),
   },
   [139] = {
-    [sym_identifier] = ACTIONS(1337),
-    [aux_sym_preproc_include_token1] = ACTIONS(1337),
-    [aux_sym_preproc_def_token1] = ACTIONS(1337),
-    [aux_sym_preproc_if_token1] = ACTIONS(1337),
-    [aux_sym_preproc_if_token2] = ACTIONS(1337),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1337),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1337),
-    [aux_sym_preproc_else_token1] = ACTIONS(1337),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1337),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1337),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1337),
-    [sym_preproc_directive] = ACTIONS(1337),
-    [anon_sym_LPAREN2] = ACTIONS(1339),
-    [anon_sym_BANG] = ACTIONS(1339),
-    [anon_sym_TILDE] = ACTIONS(1339),
-    [anon_sym_DASH] = ACTIONS(1337),
-    [anon_sym_PLUS] = ACTIONS(1337),
-    [anon_sym_STAR] = ACTIONS(1339),
-    [anon_sym_AMP] = ACTIONS(1339),
-    [anon_sym_SEMI] = ACTIONS(1339),
-    [anon_sym___extension__] = ACTIONS(1337),
-    [anon_sym_typedef] = ACTIONS(1337),
-    [anon_sym_extern] = ACTIONS(1337),
-    [anon_sym___attribute__] = ACTIONS(1337),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1339),
-    [anon_sym___declspec] = ACTIONS(1337),
-    [anon_sym___cdecl] = ACTIONS(1337),
-    [anon_sym___clrcall] = ACTIONS(1337),
-    [anon_sym___stdcall] = ACTIONS(1337),
-    [anon_sym___fastcall] = ACTIONS(1337),
-    [anon_sym___thiscall] = ACTIONS(1337),
-    [anon_sym___vectorcall] = ACTIONS(1337),
-    [anon_sym_LBRACE] = ACTIONS(1339),
-    [anon_sym_signed] = ACTIONS(1337),
-    [anon_sym_unsigned] = ACTIONS(1337),
-    [anon_sym_long] = ACTIONS(1337),
-    [anon_sym_short] = ACTIONS(1337),
-    [anon_sym_static] = ACTIONS(1337),
-    [anon_sym_auto] = ACTIONS(1337),
-    [anon_sym_register] = ACTIONS(1337),
-    [anon_sym_inline] = ACTIONS(1337),
-    [anon_sym___inline] = ACTIONS(1337),
-    [anon_sym___inline__] = ACTIONS(1337),
-    [anon_sym___forceinline] = ACTIONS(1337),
-    [anon_sym_thread_local] = ACTIONS(1337),
-    [anon_sym___thread] = ACTIONS(1337),
-    [anon_sym_const] = ACTIONS(1337),
-    [anon_sym_constexpr] = ACTIONS(1337),
-    [anon_sym_volatile] = ACTIONS(1337),
-    [anon_sym_restrict] = ACTIONS(1337),
-    [anon_sym___restrict__] = ACTIONS(1337),
-    [anon_sym__Atomic] = ACTIONS(1337),
-    [anon_sym__Noreturn] = ACTIONS(1337),
-    [anon_sym_noreturn] = ACTIONS(1337),
-    [anon_sym__Nonnull] = ACTIONS(1337),
-    [anon_sym_alignas] = ACTIONS(1337),
-    [anon_sym__Alignas] = ACTIONS(1337),
-    [sym_primitive_type] = ACTIONS(1337),
-    [anon_sym_enum] = ACTIONS(1337),
-    [anon_sym_struct] = ACTIONS(1337),
-    [anon_sym_union] = ACTIONS(1337),
-    [anon_sym_if] = ACTIONS(1337),
-    [anon_sym_switch] = ACTIONS(1337),
-    [anon_sym_case] = ACTIONS(1337),
-    [anon_sym_default] = ACTIONS(1337),
-    [anon_sym_while] = ACTIONS(1337),
-    [anon_sym_do] = ACTIONS(1337),
-    [anon_sym_for] = ACTIONS(1337),
-    [anon_sym_return] = ACTIONS(1337),
-    [anon_sym_break] = ACTIONS(1337),
-    [anon_sym_continue] = ACTIONS(1337),
-    [anon_sym_goto] = ACTIONS(1337),
-    [anon_sym___try] = ACTIONS(1337),
-    [anon_sym___leave] = ACTIONS(1337),
-    [anon_sym_DASH_DASH] = ACTIONS(1339),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1339),
-    [anon_sym_sizeof] = ACTIONS(1337),
-    [anon_sym___alignof__] = ACTIONS(1337),
-    [anon_sym___alignof] = ACTIONS(1337),
-    [anon_sym__alignof] = ACTIONS(1337),
-    [anon_sym_alignof] = ACTIONS(1337),
-    [anon_sym__Alignof] = ACTIONS(1337),
-    [anon_sym_offsetof] = ACTIONS(1337),
-    [anon_sym__Generic] = ACTIONS(1337),
-    [anon_sym_asm] = ACTIONS(1337),
-    [anon_sym___asm__] = ACTIONS(1337),
-    [anon_sym___asm] = ACTIONS(1337),
-    [sym_number_literal] = ACTIONS(1339),
-    [anon_sym_L_SQUOTE] = ACTIONS(1339),
-    [anon_sym_u_SQUOTE] = ACTIONS(1339),
-    [anon_sym_U_SQUOTE] = ACTIONS(1339),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1339),
-    [anon_sym_SQUOTE] = ACTIONS(1339),
-    [anon_sym_L_DQUOTE] = ACTIONS(1339),
-    [anon_sym_u_DQUOTE] = ACTIONS(1339),
-    [anon_sym_U_DQUOTE] = ACTIONS(1339),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1339),
-    [anon_sym_DQUOTE] = ACTIONS(1339),
-    [sym_true] = ACTIONS(1337),
-    [sym_false] = ACTIONS(1337),
-    [anon_sym_NULL] = ACTIONS(1337),
-    [anon_sym_nullptr] = ACTIONS(1337),
+    [sym_identifier] = ACTIONS(1344),
+    [aux_sym_preproc_include_token1] = ACTIONS(1344),
+    [aux_sym_preproc_def_token1] = ACTIONS(1344),
+    [aux_sym_preproc_if_token1] = ACTIONS(1344),
+    [aux_sym_preproc_if_token2] = ACTIONS(1344),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1344),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1344),
+    [aux_sym_preproc_else_token1] = ACTIONS(1344),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1344),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1344),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1344),
+    [sym_preproc_directive] = ACTIONS(1344),
+    [anon_sym_LPAREN2] = ACTIONS(1346),
+    [anon_sym_BANG] = ACTIONS(1346),
+    [anon_sym_TILDE] = ACTIONS(1346),
+    [anon_sym_DASH] = ACTIONS(1344),
+    [anon_sym_PLUS] = ACTIONS(1344),
+    [anon_sym_STAR] = ACTIONS(1346),
+    [anon_sym_AMP] = ACTIONS(1346),
+    [anon_sym_SEMI] = ACTIONS(1346),
+    [anon_sym___extension__] = ACTIONS(1344),
+    [anon_sym_typedef] = ACTIONS(1344),
+    [anon_sym_extern] = ACTIONS(1344),
+    [anon_sym___attribute__] = ACTIONS(1344),
+    [anon_sym___attribute] = ACTIONS(1344),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1346),
+    [anon_sym___declspec] = ACTIONS(1344),
+    [anon_sym___cdecl] = ACTIONS(1344),
+    [anon_sym___clrcall] = ACTIONS(1344),
+    [anon_sym___stdcall] = ACTIONS(1344),
+    [anon_sym___fastcall] = ACTIONS(1344),
+    [anon_sym___thiscall] = ACTIONS(1344),
+    [anon_sym___vectorcall] = ACTIONS(1344),
+    [anon_sym_LBRACE] = ACTIONS(1346),
+    [anon_sym_signed] = ACTIONS(1344),
+    [anon_sym_unsigned] = ACTIONS(1344),
+    [anon_sym_long] = ACTIONS(1344),
+    [anon_sym_short] = ACTIONS(1344),
+    [anon_sym_static] = ACTIONS(1344),
+    [anon_sym_auto] = ACTIONS(1344),
+    [anon_sym_register] = ACTIONS(1344),
+    [anon_sym_inline] = ACTIONS(1344),
+    [anon_sym___inline] = ACTIONS(1344),
+    [anon_sym___inline__] = ACTIONS(1344),
+    [anon_sym___forceinline] = ACTIONS(1344),
+    [anon_sym_thread_local] = ACTIONS(1344),
+    [anon_sym___thread] = ACTIONS(1344),
+    [anon_sym_const] = ACTIONS(1344),
+    [anon_sym_constexpr] = ACTIONS(1344),
+    [anon_sym_volatile] = ACTIONS(1344),
+    [anon_sym_restrict] = ACTIONS(1344),
+    [anon_sym___restrict__] = ACTIONS(1344),
+    [anon_sym__Atomic] = ACTIONS(1344),
+    [anon_sym__Noreturn] = ACTIONS(1344),
+    [anon_sym_noreturn] = ACTIONS(1344),
+    [anon_sym__Nonnull] = ACTIONS(1344),
+    [anon_sym_alignas] = ACTIONS(1344),
+    [anon_sym__Alignas] = ACTIONS(1344),
+    [sym_primitive_type] = ACTIONS(1344),
+    [anon_sym_enum] = ACTIONS(1344),
+    [anon_sym_struct] = ACTIONS(1344),
+    [anon_sym_union] = ACTIONS(1344),
+    [anon_sym_if] = ACTIONS(1344),
+    [anon_sym_switch] = ACTIONS(1344),
+    [anon_sym_case] = ACTIONS(1344),
+    [anon_sym_default] = ACTIONS(1344),
+    [anon_sym_while] = ACTIONS(1344),
+    [anon_sym_do] = ACTIONS(1344),
+    [anon_sym_for] = ACTIONS(1344),
+    [anon_sym_return] = ACTIONS(1344),
+    [anon_sym_break] = ACTIONS(1344),
+    [anon_sym_continue] = ACTIONS(1344),
+    [anon_sym_goto] = ACTIONS(1344),
+    [anon_sym___try] = ACTIONS(1344),
+    [anon_sym___leave] = ACTIONS(1344),
+    [anon_sym_DASH_DASH] = ACTIONS(1346),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1346),
+    [anon_sym_sizeof] = ACTIONS(1344),
+    [anon_sym___alignof__] = ACTIONS(1344),
+    [anon_sym___alignof] = ACTIONS(1344),
+    [anon_sym__alignof] = ACTIONS(1344),
+    [anon_sym_alignof] = ACTIONS(1344),
+    [anon_sym__Alignof] = ACTIONS(1344),
+    [anon_sym_offsetof] = ACTIONS(1344),
+    [anon_sym__Generic] = ACTIONS(1344),
+    [anon_sym_asm] = ACTIONS(1344),
+    [anon_sym___asm__] = ACTIONS(1344),
+    [anon_sym___asm] = ACTIONS(1344),
+    [sym_number_literal] = ACTIONS(1346),
+    [anon_sym_L_SQUOTE] = ACTIONS(1346),
+    [anon_sym_u_SQUOTE] = ACTIONS(1346),
+    [anon_sym_U_SQUOTE] = ACTIONS(1346),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1346),
+    [anon_sym_SQUOTE] = ACTIONS(1346),
+    [anon_sym_L_DQUOTE] = ACTIONS(1346),
+    [anon_sym_u_DQUOTE] = ACTIONS(1346),
+    [anon_sym_U_DQUOTE] = ACTIONS(1346),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1346),
+    [anon_sym_DQUOTE] = ACTIONS(1346),
+    [sym_true] = ACTIONS(1344),
+    [sym_false] = ACTIONS(1344),
+    [anon_sym_NULL] = ACTIONS(1344),
+    [anon_sym_nullptr] = ACTIONS(1344),
     [sym_comment] = ACTIONS(3),
   },
   [140] = {
-    [sym_identifier] = ACTIONS(1341),
-    [aux_sym_preproc_include_token1] = ACTIONS(1341),
-    [aux_sym_preproc_def_token1] = ACTIONS(1341),
-    [aux_sym_preproc_if_token1] = ACTIONS(1341),
-    [aux_sym_preproc_if_token2] = ACTIONS(1341),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1341),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1341),
-    [aux_sym_preproc_else_token1] = ACTIONS(1341),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1341),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1341),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1341),
-    [sym_preproc_directive] = ACTIONS(1341),
-    [anon_sym_LPAREN2] = ACTIONS(1343),
-    [anon_sym_BANG] = ACTIONS(1343),
-    [anon_sym_TILDE] = ACTIONS(1343),
-    [anon_sym_DASH] = ACTIONS(1341),
-    [anon_sym_PLUS] = ACTIONS(1341),
-    [anon_sym_STAR] = ACTIONS(1343),
-    [anon_sym_AMP] = ACTIONS(1343),
-    [anon_sym_SEMI] = ACTIONS(1343),
-    [anon_sym___extension__] = ACTIONS(1341),
-    [anon_sym_typedef] = ACTIONS(1341),
-    [anon_sym_extern] = ACTIONS(1341),
-    [anon_sym___attribute__] = ACTIONS(1341),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1343),
-    [anon_sym___declspec] = ACTIONS(1341),
-    [anon_sym___cdecl] = ACTIONS(1341),
-    [anon_sym___clrcall] = ACTIONS(1341),
-    [anon_sym___stdcall] = ACTIONS(1341),
-    [anon_sym___fastcall] = ACTIONS(1341),
-    [anon_sym___thiscall] = ACTIONS(1341),
-    [anon_sym___vectorcall] = ACTIONS(1341),
-    [anon_sym_LBRACE] = ACTIONS(1343),
-    [anon_sym_signed] = ACTIONS(1341),
-    [anon_sym_unsigned] = ACTIONS(1341),
-    [anon_sym_long] = ACTIONS(1341),
-    [anon_sym_short] = ACTIONS(1341),
-    [anon_sym_static] = ACTIONS(1341),
-    [anon_sym_auto] = ACTIONS(1341),
-    [anon_sym_register] = ACTIONS(1341),
-    [anon_sym_inline] = ACTIONS(1341),
-    [anon_sym___inline] = ACTIONS(1341),
-    [anon_sym___inline__] = ACTIONS(1341),
-    [anon_sym___forceinline] = ACTIONS(1341),
-    [anon_sym_thread_local] = ACTIONS(1341),
-    [anon_sym___thread] = ACTIONS(1341),
-    [anon_sym_const] = ACTIONS(1341),
-    [anon_sym_constexpr] = ACTIONS(1341),
-    [anon_sym_volatile] = ACTIONS(1341),
-    [anon_sym_restrict] = ACTIONS(1341),
-    [anon_sym___restrict__] = ACTIONS(1341),
-    [anon_sym__Atomic] = ACTIONS(1341),
-    [anon_sym__Noreturn] = ACTIONS(1341),
-    [anon_sym_noreturn] = ACTIONS(1341),
-    [anon_sym__Nonnull] = ACTIONS(1341),
-    [anon_sym_alignas] = ACTIONS(1341),
-    [anon_sym__Alignas] = ACTIONS(1341),
-    [sym_primitive_type] = ACTIONS(1341),
-    [anon_sym_enum] = ACTIONS(1341),
-    [anon_sym_struct] = ACTIONS(1341),
-    [anon_sym_union] = ACTIONS(1341),
-    [anon_sym_if] = ACTIONS(1341),
-    [anon_sym_switch] = ACTIONS(1341),
-    [anon_sym_case] = ACTIONS(1341),
-    [anon_sym_default] = ACTIONS(1341),
-    [anon_sym_while] = ACTIONS(1341),
-    [anon_sym_do] = ACTIONS(1341),
-    [anon_sym_for] = ACTIONS(1341),
-    [anon_sym_return] = ACTIONS(1341),
-    [anon_sym_break] = ACTIONS(1341),
-    [anon_sym_continue] = ACTIONS(1341),
-    [anon_sym_goto] = ACTIONS(1341),
-    [anon_sym___try] = ACTIONS(1341),
-    [anon_sym___leave] = ACTIONS(1341),
-    [anon_sym_DASH_DASH] = ACTIONS(1343),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1343),
-    [anon_sym_sizeof] = ACTIONS(1341),
-    [anon_sym___alignof__] = ACTIONS(1341),
-    [anon_sym___alignof] = ACTIONS(1341),
-    [anon_sym__alignof] = ACTIONS(1341),
-    [anon_sym_alignof] = ACTIONS(1341),
-    [anon_sym__Alignof] = ACTIONS(1341),
-    [anon_sym_offsetof] = ACTIONS(1341),
-    [anon_sym__Generic] = ACTIONS(1341),
-    [anon_sym_asm] = ACTIONS(1341),
-    [anon_sym___asm__] = ACTIONS(1341),
-    [anon_sym___asm] = ACTIONS(1341),
-    [sym_number_literal] = ACTIONS(1343),
-    [anon_sym_L_SQUOTE] = ACTIONS(1343),
-    [anon_sym_u_SQUOTE] = ACTIONS(1343),
-    [anon_sym_U_SQUOTE] = ACTIONS(1343),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1343),
-    [anon_sym_SQUOTE] = ACTIONS(1343),
-    [anon_sym_L_DQUOTE] = ACTIONS(1343),
-    [anon_sym_u_DQUOTE] = ACTIONS(1343),
-    [anon_sym_U_DQUOTE] = ACTIONS(1343),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1343),
-    [anon_sym_DQUOTE] = ACTIONS(1343),
-    [sym_true] = ACTIONS(1341),
-    [sym_false] = ACTIONS(1341),
-    [anon_sym_NULL] = ACTIONS(1341),
-    [anon_sym_nullptr] = ACTIONS(1341),
+    [sym_identifier] = ACTIONS(1348),
+    [aux_sym_preproc_include_token1] = ACTIONS(1348),
+    [aux_sym_preproc_def_token1] = ACTIONS(1348),
+    [aux_sym_preproc_if_token1] = ACTIONS(1348),
+    [aux_sym_preproc_if_token2] = ACTIONS(1348),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1348),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1348),
+    [aux_sym_preproc_else_token1] = ACTIONS(1348),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1348),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1348),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1348),
+    [sym_preproc_directive] = ACTIONS(1348),
+    [anon_sym_LPAREN2] = ACTIONS(1350),
+    [anon_sym_BANG] = ACTIONS(1350),
+    [anon_sym_TILDE] = ACTIONS(1350),
+    [anon_sym_DASH] = ACTIONS(1348),
+    [anon_sym_PLUS] = ACTIONS(1348),
+    [anon_sym_STAR] = ACTIONS(1350),
+    [anon_sym_AMP] = ACTIONS(1350),
+    [anon_sym_SEMI] = ACTIONS(1350),
+    [anon_sym___extension__] = ACTIONS(1348),
+    [anon_sym_typedef] = ACTIONS(1348),
+    [anon_sym_extern] = ACTIONS(1348),
+    [anon_sym___attribute__] = ACTIONS(1348),
+    [anon_sym___attribute] = ACTIONS(1348),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1350),
+    [anon_sym___declspec] = ACTIONS(1348),
+    [anon_sym___cdecl] = ACTIONS(1348),
+    [anon_sym___clrcall] = ACTIONS(1348),
+    [anon_sym___stdcall] = ACTIONS(1348),
+    [anon_sym___fastcall] = ACTIONS(1348),
+    [anon_sym___thiscall] = ACTIONS(1348),
+    [anon_sym___vectorcall] = ACTIONS(1348),
+    [anon_sym_LBRACE] = ACTIONS(1350),
+    [anon_sym_signed] = ACTIONS(1348),
+    [anon_sym_unsigned] = ACTIONS(1348),
+    [anon_sym_long] = ACTIONS(1348),
+    [anon_sym_short] = ACTIONS(1348),
+    [anon_sym_static] = ACTIONS(1348),
+    [anon_sym_auto] = ACTIONS(1348),
+    [anon_sym_register] = ACTIONS(1348),
+    [anon_sym_inline] = ACTIONS(1348),
+    [anon_sym___inline] = ACTIONS(1348),
+    [anon_sym___inline__] = ACTIONS(1348),
+    [anon_sym___forceinline] = ACTIONS(1348),
+    [anon_sym_thread_local] = ACTIONS(1348),
+    [anon_sym___thread] = ACTIONS(1348),
+    [anon_sym_const] = ACTIONS(1348),
+    [anon_sym_constexpr] = ACTIONS(1348),
+    [anon_sym_volatile] = ACTIONS(1348),
+    [anon_sym_restrict] = ACTIONS(1348),
+    [anon_sym___restrict__] = ACTIONS(1348),
+    [anon_sym__Atomic] = ACTIONS(1348),
+    [anon_sym__Noreturn] = ACTIONS(1348),
+    [anon_sym_noreturn] = ACTIONS(1348),
+    [anon_sym__Nonnull] = ACTIONS(1348),
+    [anon_sym_alignas] = ACTIONS(1348),
+    [anon_sym__Alignas] = ACTIONS(1348),
+    [sym_primitive_type] = ACTIONS(1348),
+    [anon_sym_enum] = ACTIONS(1348),
+    [anon_sym_struct] = ACTIONS(1348),
+    [anon_sym_union] = ACTIONS(1348),
+    [anon_sym_if] = ACTIONS(1348),
+    [anon_sym_switch] = ACTIONS(1348),
+    [anon_sym_case] = ACTIONS(1348),
+    [anon_sym_default] = ACTIONS(1348),
+    [anon_sym_while] = ACTIONS(1348),
+    [anon_sym_do] = ACTIONS(1348),
+    [anon_sym_for] = ACTIONS(1348),
+    [anon_sym_return] = ACTIONS(1348),
+    [anon_sym_break] = ACTIONS(1348),
+    [anon_sym_continue] = ACTIONS(1348),
+    [anon_sym_goto] = ACTIONS(1348),
+    [anon_sym___try] = ACTIONS(1348),
+    [anon_sym___leave] = ACTIONS(1348),
+    [anon_sym_DASH_DASH] = ACTIONS(1350),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1350),
+    [anon_sym_sizeof] = ACTIONS(1348),
+    [anon_sym___alignof__] = ACTIONS(1348),
+    [anon_sym___alignof] = ACTIONS(1348),
+    [anon_sym__alignof] = ACTIONS(1348),
+    [anon_sym_alignof] = ACTIONS(1348),
+    [anon_sym__Alignof] = ACTIONS(1348),
+    [anon_sym_offsetof] = ACTIONS(1348),
+    [anon_sym__Generic] = ACTIONS(1348),
+    [anon_sym_asm] = ACTIONS(1348),
+    [anon_sym___asm__] = ACTIONS(1348),
+    [anon_sym___asm] = ACTIONS(1348),
+    [sym_number_literal] = ACTIONS(1350),
+    [anon_sym_L_SQUOTE] = ACTIONS(1350),
+    [anon_sym_u_SQUOTE] = ACTIONS(1350),
+    [anon_sym_U_SQUOTE] = ACTIONS(1350),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1350),
+    [anon_sym_SQUOTE] = ACTIONS(1350),
+    [anon_sym_L_DQUOTE] = ACTIONS(1350),
+    [anon_sym_u_DQUOTE] = ACTIONS(1350),
+    [anon_sym_U_DQUOTE] = ACTIONS(1350),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1350),
+    [anon_sym_DQUOTE] = ACTIONS(1350),
+    [sym_true] = ACTIONS(1348),
+    [sym_false] = ACTIONS(1348),
+    [anon_sym_NULL] = ACTIONS(1348),
+    [anon_sym_nullptr] = ACTIONS(1348),
     [sym_comment] = ACTIONS(3),
   },
   [141] = {
-    [sym_identifier] = ACTIONS(1345),
-    [aux_sym_preproc_include_token1] = ACTIONS(1345),
-    [aux_sym_preproc_def_token1] = ACTIONS(1345),
-    [aux_sym_preproc_if_token1] = ACTIONS(1345),
-    [aux_sym_preproc_if_token2] = ACTIONS(1345),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1345),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1345),
-    [aux_sym_preproc_else_token1] = ACTIONS(1345),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1345),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1345),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1345),
-    [sym_preproc_directive] = ACTIONS(1345),
-    [anon_sym_LPAREN2] = ACTIONS(1347),
-    [anon_sym_BANG] = ACTIONS(1347),
-    [anon_sym_TILDE] = ACTIONS(1347),
-    [anon_sym_DASH] = ACTIONS(1345),
-    [anon_sym_PLUS] = ACTIONS(1345),
-    [anon_sym_STAR] = ACTIONS(1347),
-    [anon_sym_AMP] = ACTIONS(1347),
-    [anon_sym_SEMI] = ACTIONS(1347),
-    [anon_sym___extension__] = ACTIONS(1345),
-    [anon_sym_typedef] = ACTIONS(1345),
-    [anon_sym_extern] = ACTIONS(1345),
-    [anon_sym___attribute__] = ACTIONS(1345),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1347),
-    [anon_sym___declspec] = ACTIONS(1345),
-    [anon_sym___cdecl] = ACTIONS(1345),
-    [anon_sym___clrcall] = ACTIONS(1345),
-    [anon_sym___stdcall] = ACTIONS(1345),
-    [anon_sym___fastcall] = ACTIONS(1345),
-    [anon_sym___thiscall] = ACTIONS(1345),
-    [anon_sym___vectorcall] = ACTIONS(1345),
-    [anon_sym_LBRACE] = ACTIONS(1347),
-    [anon_sym_signed] = ACTIONS(1345),
-    [anon_sym_unsigned] = ACTIONS(1345),
-    [anon_sym_long] = ACTIONS(1345),
-    [anon_sym_short] = ACTIONS(1345),
-    [anon_sym_static] = ACTIONS(1345),
-    [anon_sym_auto] = ACTIONS(1345),
-    [anon_sym_register] = ACTIONS(1345),
-    [anon_sym_inline] = ACTIONS(1345),
-    [anon_sym___inline] = ACTIONS(1345),
-    [anon_sym___inline__] = ACTIONS(1345),
-    [anon_sym___forceinline] = ACTIONS(1345),
-    [anon_sym_thread_local] = ACTIONS(1345),
-    [anon_sym___thread] = ACTIONS(1345),
-    [anon_sym_const] = ACTIONS(1345),
-    [anon_sym_constexpr] = ACTIONS(1345),
-    [anon_sym_volatile] = ACTIONS(1345),
-    [anon_sym_restrict] = ACTIONS(1345),
-    [anon_sym___restrict__] = ACTIONS(1345),
-    [anon_sym__Atomic] = ACTIONS(1345),
-    [anon_sym__Noreturn] = ACTIONS(1345),
-    [anon_sym_noreturn] = ACTIONS(1345),
-    [anon_sym__Nonnull] = ACTIONS(1345),
-    [anon_sym_alignas] = ACTIONS(1345),
-    [anon_sym__Alignas] = ACTIONS(1345),
-    [sym_primitive_type] = ACTIONS(1345),
-    [anon_sym_enum] = ACTIONS(1345),
-    [anon_sym_struct] = ACTIONS(1345),
-    [anon_sym_union] = ACTIONS(1345),
-    [anon_sym_if] = ACTIONS(1345),
-    [anon_sym_switch] = ACTIONS(1345),
-    [anon_sym_case] = ACTIONS(1345),
-    [anon_sym_default] = ACTIONS(1345),
-    [anon_sym_while] = ACTIONS(1345),
-    [anon_sym_do] = ACTIONS(1345),
-    [anon_sym_for] = ACTIONS(1345),
-    [anon_sym_return] = ACTIONS(1345),
-    [anon_sym_break] = ACTIONS(1345),
-    [anon_sym_continue] = ACTIONS(1345),
-    [anon_sym_goto] = ACTIONS(1345),
-    [anon_sym___try] = ACTIONS(1345),
-    [anon_sym___leave] = ACTIONS(1345),
-    [anon_sym_DASH_DASH] = ACTIONS(1347),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1347),
-    [anon_sym_sizeof] = ACTIONS(1345),
-    [anon_sym___alignof__] = ACTIONS(1345),
-    [anon_sym___alignof] = ACTIONS(1345),
-    [anon_sym__alignof] = ACTIONS(1345),
-    [anon_sym_alignof] = ACTIONS(1345),
-    [anon_sym__Alignof] = ACTIONS(1345),
-    [anon_sym_offsetof] = ACTIONS(1345),
-    [anon_sym__Generic] = ACTIONS(1345),
-    [anon_sym_asm] = ACTIONS(1345),
-    [anon_sym___asm__] = ACTIONS(1345),
-    [anon_sym___asm] = ACTIONS(1345),
-    [sym_number_literal] = ACTIONS(1347),
-    [anon_sym_L_SQUOTE] = ACTIONS(1347),
-    [anon_sym_u_SQUOTE] = ACTIONS(1347),
-    [anon_sym_U_SQUOTE] = ACTIONS(1347),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1347),
-    [anon_sym_SQUOTE] = ACTIONS(1347),
-    [anon_sym_L_DQUOTE] = ACTIONS(1347),
-    [anon_sym_u_DQUOTE] = ACTIONS(1347),
-    [anon_sym_U_DQUOTE] = ACTIONS(1347),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1347),
-    [anon_sym_DQUOTE] = ACTIONS(1347),
-    [sym_true] = ACTIONS(1345),
-    [sym_false] = ACTIONS(1345),
-    [anon_sym_NULL] = ACTIONS(1345),
-    [anon_sym_nullptr] = ACTIONS(1345),
+    [sym_identifier] = ACTIONS(1352),
+    [aux_sym_preproc_include_token1] = ACTIONS(1352),
+    [aux_sym_preproc_def_token1] = ACTIONS(1352),
+    [aux_sym_preproc_if_token1] = ACTIONS(1352),
+    [aux_sym_preproc_if_token2] = ACTIONS(1352),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1352),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1352),
+    [aux_sym_preproc_else_token1] = ACTIONS(1352),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1352),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1352),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1352),
+    [sym_preproc_directive] = ACTIONS(1352),
+    [anon_sym_LPAREN2] = ACTIONS(1354),
+    [anon_sym_BANG] = ACTIONS(1354),
+    [anon_sym_TILDE] = ACTIONS(1354),
+    [anon_sym_DASH] = ACTIONS(1352),
+    [anon_sym_PLUS] = ACTIONS(1352),
+    [anon_sym_STAR] = ACTIONS(1354),
+    [anon_sym_AMP] = ACTIONS(1354),
+    [anon_sym_SEMI] = ACTIONS(1354),
+    [anon_sym___extension__] = ACTIONS(1352),
+    [anon_sym_typedef] = ACTIONS(1352),
+    [anon_sym_extern] = ACTIONS(1352),
+    [anon_sym___attribute__] = ACTIONS(1352),
+    [anon_sym___attribute] = ACTIONS(1352),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1354),
+    [anon_sym___declspec] = ACTIONS(1352),
+    [anon_sym___cdecl] = ACTIONS(1352),
+    [anon_sym___clrcall] = ACTIONS(1352),
+    [anon_sym___stdcall] = ACTIONS(1352),
+    [anon_sym___fastcall] = ACTIONS(1352),
+    [anon_sym___thiscall] = ACTIONS(1352),
+    [anon_sym___vectorcall] = ACTIONS(1352),
+    [anon_sym_LBRACE] = ACTIONS(1354),
+    [anon_sym_signed] = ACTIONS(1352),
+    [anon_sym_unsigned] = ACTIONS(1352),
+    [anon_sym_long] = ACTIONS(1352),
+    [anon_sym_short] = ACTIONS(1352),
+    [anon_sym_static] = ACTIONS(1352),
+    [anon_sym_auto] = ACTIONS(1352),
+    [anon_sym_register] = ACTIONS(1352),
+    [anon_sym_inline] = ACTIONS(1352),
+    [anon_sym___inline] = ACTIONS(1352),
+    [anon_sym___inline__] = ACTIONS(1352),
+    [anon_sym___forceinline] = ACTIONS(1352),
+    [anon_sym_thread_local] = ACTIONS(1352),
+    [anon_sym___thread] = ACTIONS(1352),
+    [anon_sym_const] = ACTIONS(1352),
+    [anon_sym_constexpr] = ACTIONS(1352),
+    [anon_sym_volatile] = ACTIONS(1352),
+    [anon_sym_restrict] = ACTIONS(1352),
+    [anon_sym___restrict__] = ACTIONS(1352),
+    [anon_sym__Atomic] = ACTIONS(1352),
+    [anon_sym__Noreturn] = ACTIONS(1352),
+    [anon_sym_noreturn] = ACTIONS(1352),
+    [anon_sym__Nonnull] = ACTIONS(1352),
+    [anon_sym_alignas] = ACTIONS(1352),
+    [anon_sym__Alignas] = ACTIONS(1352),
+    [sym_primitive_type] = ACTIONS(1352),
+    [anon_sym_enum] = ACTIONS(1352),
+    [anon_sym_struct] = ACTIONS(1352),
+    [anon_sym_union] = ACTIONS(1352),
+    [anon_sym_if] = ACTIONS(1352),
+    [anon_sym_switch] = ACTIONS(1352),
+    [anon_sym_case] = ACTIONS(1352),
+    [anon_sym_default] = ACTIONS(1352),
+    [anon_sym_while] = ACTIONS(1352),
+    [anon_sym_do] = ACTIONS(1352),
+    [anon_sym_for] = ACTIONS(1352),
+    [anon_sym_return] = ACTIONS(1352),
+    [anon_sym_break] = ACTIONS(1352),
+    [anon_sym_continue] = ACTIONS(1352),
+    [anon_sym_goto] = ACTIONS(1352),
+    [anon_sym___try] = ACTIONS(1352),
+    [anon_sym___leave] = ACTIONS(1352),
+    [anon_sym_DASH_DASH] = ACTIONS(1354),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1354),
+    [anon_sym_sizeof] = ACTIONS(1352),
+    [anon_sym___alignof__] = ACTIONS(1352),
+    [anon_sym___alignof] = ACTIONS(1352),
+    [anon_sym__alignof] = ACTIONS(1352),
+    [anon_sym_alignof] = ACTIONS(1352),
+    [anon_sym__Alignof] = ACTIONS(1352),
+    [anon_sym_offsetof] = ACTIONS(1352),
+    [anon_sym__Generic] = ACTIONS(1352),
+    [anon_sym_asm] = ACTIONS(1352),
+    [anon_sym___asm__] = ACTIONS(1352),
+    [anon_sym___asm] = ACTIONS(1352),
+    [sym_number_literal] = ACTIONS(1354),
+    [anon_sym_L_SQUOTE] = ACTIONS(1354),
+    [anon_sym_u_SQUOTE] = ACTIONS(1354),
+    [anon_sym_U_SQUOTE] = ACTIONS(1354),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1354),
+    [anon_sym_SQUOTE] = ACTIONS(1354),
+    [anon_sym_L_DQUOTE] = ACTIONS(1354),
+    [anon_sym_u_DQUOTE] = ACTIONS(1354),
+    [anon_sym_U_DQUOTE] = ACTIONS(1354),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1354),
+    [anon_sym_DQUOTE] = ACTIONS(1354),
+    [sym_true] = ACTIONS(1352),
+    [sym_false] = ACTIONS(1352),
+    [anon_sym_NULL] = ACTIONS(1352),
+    [anon_sym_nullptr] = ACTIONS(1352),
     [sym_comment] = ACTIONS(3),
   },
   [142] = {
-    [sym_identifier] = ACTIONS(1349),
-    [aux_sym_preproc_include_token1] = ACTIONS(1349),
-    [aux_sym_preproc_def_token1] = ACTIONS(1349),
-    [aux_sym_preproc_if_token1] = ACTIONS(1349),
-    [aux_sym_preproc_if_token2] = ACTIONS(1349),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1349),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1349),
-    [aux_sym_preproc_else_token1] = ACTIONS(1349),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1349),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1349),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1349),
-    [sym_preproc_directive] = ACTIONS(1349),
-    [anon_sym_LPAREN2] = ACTIONS(1351),
-    [anon_sym_BANG] = ACTIONS(1351),
-    [anon_sym_TILDE] = ACTIONS(1351),
-    [anon_sym_DASH] = ACTIONS(1349),
-    [anon_sym_PLUS] = ACTIONS(1349),
-    [anon_sym_STAR] = ACTIONS(1351),
-    [anon_sym_AMP] = ACTIONS(1351),
-    [anon_sym_SEMI] = ACTIONS(1351),
-    [anon_sym___extension__] = ACTIONS(1349),
-    [anon_sym_typedef] = ACTIONS(1349),
-    [anon_sym_extern] = ACTIONS(1349),
-    [anon_sym___attribute__] = ACTIONS(1349),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1351),
-    [anon_sym___declspec] = ACTIONS(1349),
-    [anon_sym___cdecl] = ACTIONS(1349),
-    [anon_sym___clrcall] = ACTIONS(1349),
-    [anon_sym___stdcall] = ACTIONS(1349),
-    [anon_sym___fastcall] = ACTIONS(1349),
-    [anon_sym___thiscall] = ACTIONS(1349),
-    [anon_sym___vectorcall] = ACTIONS(1349),
-    [anon_sym_LBRACE] = ACTIONS(1351),
-    [anon_sym_signed] = ACTIONS(1349),
-    [anon_sym_unsigned] = ACTIONS(1349),
-    [anon_sym_long] = ACTIONS(1349),
-    [anon_sym_short] = ACTIONS(1349),
-    [anon_sym_static] = ACTIONS(1349),
-    [anon_sym_auto] = ACTIONS(1349),
-    [anon_sym_register] = ACTIONS(1349),
-    [anon_sym_inline] = ACTIONS(1349),
-    [anon_sym___inline] = ACTIONS(1349),
-    [anon_sym___inline__] = ACTIONS(1349),
-    [anon_sym___forceinline] = ACTIONS(1349),
-    [anon_sym_thread_local] = ACTIONS(1349),
-    [anon_sym___thread] = ACTIONS(1349),
-    [anon_sym_const] = ACTIONS(1349),
-    [anon_sym_constexpr] = ACTIONS(1349),
-    [anon_sym_volatile] = ACTIONS(1349),
-    [anon_sym_restrict] = ACTIONS(1349),
-    [anon_sym___restrict__] = ACTIONS(1349),
-    [anon_sym__Atomic] = ACTIONS(1349),
-    [anon_sym__Noreturn] = ACTIONS(1349),
-    [anon_sym_noreturn] = ACTIONS(1349),
-    [anon_sym__Nonnull] = ACTIONS(1349),
-    [anon_sym_alignas] = ACTIONS(1349),
-    [anon_sym__Alignas] = ACTIONS(1349),
-    [sym_primitive_type] = ACTIONS(1349),
-    [anon_sym_enum] = ACTIONS(1349),
-    [anon_sym_struct] = ACTIONS(1349),
-    [anon_sym_union] = ACTIONS(1349),
-    [anon_sym_if] = ACTIONS(1349),
-    [anon_sym_switch] = ACTIONS(1349),
-    [anon_sym_case] = ACTIONS(1349),
-    [anon_sym_default] = ACTIONS(1349),
-    [anon_sym_while] = ACTIONS(1349),
-    [anon_sym_do] = ACTIONS(1349),
-    [anon_sym_for] = ACTIONS(1349),
-    [anon_sym_return] = ACTIONS(1349),
-    [anon_sym_break] = ACTIONS(1349),
-    [anon_sym_continue] = ACTIONS(1349),
-    [anon_sym_goto] = ACTIONS(1349),
-    [anon_sym___try] = ACTIONS(1349),
-    [anon_sym___leave] = ACTIONS(1349),
-    [anon_sym_DASH_DASH] = ACTIONS(1351),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1351),
-    [anon_sym_sizeof] = ACTIONS(1349),
-    [anon_sym___alignof__] = ACTIONS(1349),
-    [anon_sym___alignof] = ACTIONS(1349),
-    [anon_sym__alignof] = ACTIONS(1349),
-    [anon_sym_alignof] = ACTIONS(1349),
-    [anon_sym__Alignof] = ACTIONS(1349),
-    [anon_sym_offsetof] = ACTIONS(1349),
-    [anon_sym__Generic] = ACTIONS(1349),
-    [anon_sym_asm] = ACTIONS(1349),
-    [anon_sym___asm__] = ACTIONS(1349),
-    [anon_sym___asm] = ACTIONS(1349),
-    [sym_number_literal] = ACTIONS(1351),
-    [anon_sym_L_SQUOTE] = ACTIONS(1351),
-    [anon_sym_u_SQUOTE] = ACTIONS(1351),
-    [anon_sym_U_SQUOTE] = ACTIONS(1351),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1351),
-    [anon_sym_SQUOTE] = ACTIONS(1351),
-    [anon_sym_L_DQUOTE] = ACTIONS(1351),
-    [anon_sym_u_DQUOTE] = ACTIONS(1351),
-    [anon_sym_U_DQUOTE] = ACTIONS(1351),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1351),
-    [anon_sym_DQUOTE] = ACTIONS(1351),
-    [sym_true] = ACTIONS(1349),
-    [sym_false] = ACTIONS(1349),
-    [anon_sym_NULL] = ACTIONS(1349),
-    [anon_sym_nullptr] = ACTIONS(1349),
+    [sym_identifier] = ACTIONS(1356),
+    [aux_sym_preproc_include_token1] = ACTIONS(1356),
+    [aux_sym_preproc_def_token1] = ACTIONS(1356),
+    [aux_sym_preproc_if_token1] = ACTIONS(1356),
+    [aux_sym_preproc_if_token2] = ACTIONS(1356),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1356),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1356),
+    [aux_sym_preproc_else_token1] = ACTIONS(1356),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1356),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1356),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1356),
+    [sym_preproc_directive] = ACTIONS(1356),
+    [anon_sym_LPAREN2] = ACTIONS(1358),
+    [anon_sym_BANG] = ACTIONS(1358),
+    [anon_sym_TILDE] = ACTIONS(1358),
+    [anon_sym_DASH] = ACTIONS(1356),
+    [anon_sym_PLUS] = ACTIONS(1356),
+    [anon_sym_STAR] = ACTIONS(1358),
+    [anon_sym_AMP] = ACTIONS(1358),
+    [anon_sym_SEMI] = ACTIONS(1358),
+    [anon_sym___extension__] = ACTIONS(1356),
+    [anon_sym_typedef] = ACTIONS(1356),
+    [anon_sym_extern] = ACTIONS(1356),
+    [anon_sym___attribute__] = ACTIONS(1356),
+    [anon_sym___attribute] = ACTIONS(1356),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1358),
+    [anon_sym___declspec] = ACTIONS(1356),
+    [anon_sym___cdecl] = ACTIONS(1356),
+    [anon_sym___clrcall] = ACTIONS(1356),
+    [anon_sym___stdcall] = ACTIONS(1356),
+    [anon_sym___fastcall] = ACTIONS(1356),
+    [anon_sym___thiscall] = ACTIONS(1356),
+    [anon_sym___vectorcall] = ACTIONS(1356),
+    [anon_sym_LBRACE] = ACTIONS(1358),
+    [anon_sym_signed] = ACTIONS(1356),
+    [anon_sym_unsigned] = ACTIONS(1356),
+    [anon_sym_long] = ACTIONS(1356),
+    [anon_sym_short] = ACTIONS(1356),
+    [anon_sym_static] = ACTIONS(1356),
+    [anon_sym_auto] = ACTIONS(1356),
+    [anon_sym_register] = ACTIONS(1356),
+    [anon_sym_inline] = ACTIONS(1356),
+    [anon_sym___inline] = ACTIONS(1356),
+    [anon_sym___inline__] = ACTIONS(1356),
+    [anon_sym___forceinline] = ACTIONS(1356),
+    [anon_sym_thread_local] = ACTIONS(1356),
+    [anon_sym___thread] = ACTIONS(1356),
+    [anon_sym_const] = ACTIONS(1356),
+    [anon_sym_constexpr] = ACTIONS(1356),
+    [anon_sym_volatile] = ACTIONS(1356),
+    [anon_sym_restrict] = ACTIONS(1356),
+    [anon_sym___restrict__] = ACTIONS(1356),
+    [anon_sym__Atomic] = ACTIONS(1356),
+    [anon_sym__Noreturn] = ACTIONS(1356),
+    [anon_sym_noreturn] = ACTIONS(1356),
+    [anon_sym__Nonnull] = ACTIONS(1356),
+    [anon_sym_alignas] = ACTIONS(1356),
+    [anon_sym__Alignas] = ACTIONS(1356),
+    [sym_primitive_type] = ACTIONS(1356),
+    [anon_sym_enum] = ACTIONS(1356),
+    [anon_sym_struct] = ACTIONS(1356),
+    [anon_sym_union] = ACTIONS(1356),
+    [anon_sym_if] = ACTIONS(1356),
+    [anon_sym_switch] = ACTIONS(1356),
+    [anon_sym_case] = ACTIONS(1356),
+    [anon_sym_default] = ACTIONS(1356),
+    [anon_sym_while] = ACTIONS(1356),
+    [anon_sym_do] = ACTIONS(1356),
+    [anon_sym_for] = ACTIONS(1356),
+    [anon_sym_return] = ACTIONS(1356),
+    [anon_sym_break] = ACTIONS(1356),
+    [anon_sym_continue] = ACTIONS(1356),
+    [anon_sym_goto] = ACTIONS(1356),
+    [anon_sym___try] = ACTIONS(1356),
+    [anon_sym___leave] = ACTIONS(1356),
+    [anon_sym_DASH_DASH] = ACTIONS(1358),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1358),
+    [anon_sym_sizeof] = ACTIONS(1356),
+    [anon_sym___alignof__] = ACTIONS(1356),
+    [anon_sym___alignof] = ACTIONS(1356),
+    [anon_sym__alignof] = ACTIONS(1356),
+    [anon_sym_alignof] = ACTIONS(1356),
+    [anon_sym__Alignof] = ACTIONS(1356),
+    [anon_sym_offsetof] = ACTIONS(1356),
+    [anon_sym__Generic] = ACTIONS(1356),
+    [anon_sym_asm] = ACTIONS(1356),
+    [anon_sym___asm__] = ACTIONS(1356),
+    [anon_sym___asm] = ACTIONS(1356),
+    [sym_number_literal] = ACTIONS(1358),
+    [anon_sym_L_SQUOTE] = ACTIONS(1358),
+    [anon_sym_u_SQUOTE] = ACTIONS(1358),
+    [anon_sym_U_SQUOTE] = ACTIONS(1358),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1358),
+    [anon_sym_SQUOTE] = ACTIONS(1358),
+    [anon_sym_L_DQUOTE] = ACTIONS(1358),
+    [anon_sym_u_DQUOTE] = ACTIONS(1358),
+    [anon_sym_U_DQUOTE] = ACTIONS(1358),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1358),
+    [anon_sym_DQUOTE] = ACTIONS(1358),
+    [sym_true] = ACTIONS(1356),
+    [sym_false] = ACTIONS(1356),
+    [anon_sym_NULL] = ACTIONS(1356),
+    [anon_sym_nullptr] = ACTIONS(1356),
     [sym_comment] = ACTIONS(3),
   },
   [143] = {
-    [sym_identifier] = ACTIONS(1353),
-    [aux_sym_preproc_include_token1] = ACTIONS(1353),
-    [aux_sym_preproc_def_token1] = ACTIONS(1353),
-    [aux_sym_preproc_if_token1] = ACTIONS(1353),
-    [aux_sym_preproc_if_token2] = ACTIONS(1353),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1353),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1353),
-    [aux_sym_preproc_else_token1] = ACTIONS(1353),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1353),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1353),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1353),
-    [sym_preproc_directive] = ACTIONS(1353),
-    [anon_sym_LPAREN2] = ACTIONS(1355),
-    [anon_sym_BANG] = ACTIONS(1355),
-    [anon_sym_TILDE] = ACTIONS(1355),
-    [anon_sym_DASH] = ACTIONS(1353),
-    [anon_sym_PLUS] = ACTIONS(1353),
-    [anon_sym_STAR] = ACTIONS(1355),
-    [anon_sym_AMP] = ACTIONS(1355),
-    [anon_sym_SEMI] = ACTIONS(1355),
-    [anon_sym___extension__] = ACTIONS(1353),
-    [anon_sym_typedef] = ACTIONS(1353),
-    [anon_sym_extern] = ACTIONS(1353),
-    [anon_sym___attribute__] = ACTIONS(1353),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1355),
-    [anon_sym___declspec] = ACTIONS(1353),
-    [anon_sym___cdecl] = ACTIONS(1353),
-    [anon_sym___clrcall] = ACTIONS(1353),
-    [anon_sym___stdcall] = ACTIONS(1353),
-    [anon_sym___fastcall] = ACTIONS(1353),
-    [anon_sym___thiscall] = ACTIONS(1353),
-    [anon_sym___vectorcall] = ACTIONS(1353),
-    [anon_sym_LBRACE] = ACTIONS(1355),
-    [anon_sym_signed] = ACTIONS(1353),
-    [anon_sym_unsigned] = ACTIONS(1353),
-    [anon_sym_long] = ACTIONS(1353),
-    [anon_sym_short] = ACTIONS(1353),
-    [anon_sym_static] = ACTIONS(1353),
-    [anon_sym_auto] = ACTIONS(1353),
-    [anon_sym_register] = ACTIONS(1353),
-    [anon_sym_inline] = ACTIONS(1353),
-    [anon_sym___inline] = ACTIONS(1353),
-    [anon_sym___inline__] = ACTIONS(1353),
-    [anon_sym___forceinline] = ACTIONS(1353),
-    [anon_sym_thread_local] = ACTIONS(1353),
-    [anon_sym___thread] = ACTIONS(1353),
-    [anon_sym_const] = ACTIONS(1353),
-    [anon_sym_constexpr] = ACTIONS(1353),
-    [anon_sym_volatile] = ACTIONS(1353),
-    [anon_sym_restrict] = ACTIONS(1353),
-    [anon_sym___restrict__] = ACTIONS(1353),
-    [anon_sym__Atomic] = ACTIONS(1353),
-    [anon_sym__Noreturn] = ACTIONS(1353),
-    [anon_sym_noreturn] = ACTIONS(1353),
-    [anon_sym__Nonnull] = ACTIONS(1353),
-    [anon_sym_alignas] = ACTIONS(1353),
-    [anon_sym__Alignas] = ACTIONS(1353),
-    [sym_primitive_type] = ACTIONS(1353),
-    [anon_sym_enum] = ACTIONS(1353),
-    [anon_sym_struct] = ACTIONS(1353),
-    [anon_sym_union] = ACTIONS(1353),
-    [anon_sym_if] = ACTIONS(1353),
-    [anon_sym_switch] = ACTIONS(1353),
-    [anon_sym_case] = ACTIONS(1353),
-    [anon_sym_default] = ACTIONS(1353),
-    [anon_sym_while] = ACTIONS(1353),
-    [anon_sym_do] = ACTIONS(1353),
-    [anon_sym_for] = ACTIONS(1353),
-    [anon_sym_return] = ACTIONS(1353),
-    [anon_sym_break] = ACTIONS(1353),
-    [anon_sym_continue] = ACTIONS(1353),
-    [anon_sym_goto] = ACTIONS(1353),
-    [anon_sym___try] = ACTIONS(1353),
-    [anon_sym___leave] = ACTIONS(1353),
-    [anon_sym_DASH_DASH] = ACTIONS(1355),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1355),
-    [anon_sym_sizeof] = ACTIONS(1353),
-    [anon_sym___alignof__] = ACTIONS(1353),
-    [anon_sym___alignof] = ACTIONS(1353),
-    [anon_sym__alignof] = ACTIONS(1353),
-    [anon_sym_alignof] = ACTIONS(1353),
-    [anon_sym__Alignof] = ACTIONS(1353),
-    [anon_sym_offsetof] = ACTIONS(1353),
-    [anon_sym__Generic] = ACTIONS(1353),
-    [anon_sym_asm] = ACTIONS(1353),
-    [anon_sym___asm__] = ACTIONS(1353),
-    [anon_sym___asm] = ACTIONS(1353),
-    [sym_number_literal] = ACTIONS(1355),
-    [anon_sym_L_SQUOTE] = ACTIONS(1355),
-    [anon_sym_u_SQUOTE] = ACTIONS(1355),
-    [anon_sym_U_SQUOTE] = ACTIONS(1355),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1355),
-    [anon_sym_SQUOTE] = ACTIONS(1355),
-    [anon_sym_L_DQUOTE] = ACTIONS(1355),
-    [anon_sym_u_DQUOTE] = ACTIONS(1355),
-    [anon_sym_U_DQUOTE] = ACTIONS(1355),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1355),
-    [anon_sym_DQUOTE] = ACTIONS(1355),
-    [sym_true] = ACTIONS(1353),
-    [sym_false] = ACTIONS(1353),
-    [anon_sym_NULL] = ACTIONS(1353),
-    [anon_sym_nullptr] = ACTIONS(1353),
+    [sym_identifier] = ACTIONS(1360),
+    [aux_sym_preproc_include_token1] = ACTIONS(1360),
+    [aux_sym_preproc_def_token1] = ACTIONS(1360),
+    [aux_sym_preproc_if_token1] = ACTIONS(1360),
+    [aux_sym_preproc_if_token2] = ACTIONS(1360),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1360),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1360),
+    [aux_sym_preproc_else_token1] = ACTIONS(1360),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1360),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1360),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1360),
+    [sym_preproc_directive] = ACTIONS(1360),
+    [anon_sym_LPAREN2] = ACTIONS(1362),
+    [anon_sym_BANG] = ACTIONS(1362),
+    [anon_sym_TILDE] = ACTIONS(1362),
+    [anon_sym_DASH] = ACTIONS(1360),
+    [anon_sym_PLUS] = ACTIONS(1360),
+    [anon_sym_STAR] = ACTIONS(1362),
+    [anon_sym_AMP] = ACTIONS(1362),
+    [anon_sym_SEMI] = ACTIONS(1362),
+    [anon_sym___extension__] = ACTIONS(1360),
+    [anon_sym_typedef] = ACTIONS(1360),
+    [anon_sym_extern] = ACTIONS(1360),
+    [anon_sym___attribute__] = ACTIONS(1360),
+    [anon_sym___attribute] = ACTIONS(1360),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1362),
+    [anon_sym___declspec] = ACTIONS(1360),
+    [anon_sym___cdecl] = ACTIONS(1360),
+    [anon_sym___clrcall] = ACTIONS(1360),
+    [anon_sym___stdcall] = ACTIONS(1360),
+    [anon_sym___fastcall] = ACTIONS(1360),
+    [anon_sym___thiscall] = ACTIONS(1360),
+    [anon_sym___vectorcall] = ACTIONS(1360),
+    [anon_sym_LBRACE] = ACTIONS(1362),
+    [anon_sym_signed] = ACTIONS(1360),
+    [anon_sym_unsigned] = ACTIONS(1360),
+    [anon_sym_long] = ACTIONS(1360),
+    [anon_sym_short] = ACTIONS(1360),
+    [anon_sym_static] = ACTIONS(1360),
+    [anon_sym_auto] = ACTIONS(1360),
+    [anon_sym_register] = ACTIONS(1360),
+    [anon_sym_inline] = ACTIONS(1360),
+    [anon_sym___inline] = ACTIONS(1360),
+    [anon_sym___inline__] = ACTIONS(1360),
+    [anon_sym___forceinline] = ACTIONS(1360),
+    [anon_sym_thread_local] = ACTIONS(1360),
+    [anon_sym___thread] = ACTIONS(1360),
+    [anon_sym_const] = ACTIONS(1360),
+    [anon_sym_constexpr] = ACTIONS(1360),
+    [anon_sym_volatile] = ACTIONS(1360),
+    [anon_sym_restrict] = ACTIONS(1360),
+    [anon_sym___restrict__] = ACTIONS(1360),
+    [anon_sym__Atomic] = ACTIONS(1360),
+    [anon_sym__Noreturn] = ACTIONS(1360),
+    [anon_sym_noreturn] = ACTIONS(1360),
+    [anon_sym__Nonnull] = ACTIONS(1360),
+    [anon_sym_alignas] = ACTIONS(1360),
+    [anon_sym__Alignas] = ACTIONS(1360),
+    [sym_primitive_type] = ACTIONS(1360),
+    [anon_sym_enum] = ACTIONS(1360),
+    [anon_sym_struct] = ACTIONS(1360),
+    [anon_sym_union] = ACTIONS(1360),
+    [anon_sym_if] = ACTIONS(1360),
+    [anon_sym_switch] = ACTIONS(1360),
+    [anon_sym_case] = ACTIONS(1360),
+    [anon_sym_default] = ACTIONS(1360),
+    [anon_sym_while] = ACTIONS(1360),
+    [anon_sym_do] = ACTIONS(1360),
+    [anon_sym_for] = ACTIONS(1360),
+    [anon_sym_return] = ACTIONS(1360),
+    [anon_sym_break] = ACTIONS(1360),
+    [anon_sym_continue] = ACTIONS(1360),
+    [anon_sym_goto] = ACTIONS(1360),
+    [anon_sym___try] = ACTIONS(1360),
+    [anon_sym___leave] = ACTIONS(1360),
+    [anon_sym_DASH_DASH] = ACTIONS(1362),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1362),
+    [anon_sym_sizeof] = ACTIONS(1360),
+    [anon_sym___alignof__] = ACTIONS(1360),
+    [anon_sym___alignof] = ACTIONS(1360),
+    [anon_sym__alignof] = ACTIONS(1360),
+    [anon_sym_alignof] = ACTIONS(1360),
+    [anon_sym__Alignof] = ACTIONS(1360),
+    [anon_sym_offsetof] = ACTIONS(1360),
+    [anon_sym__Generic] = ACTIONS(1360),
+    [anon_sym_asm] = ACTIONS(1360),
+    [anon_sym___asm__] = ACTIONS(1360),
+    [anon_sym___asm] = ACTIONS(1360),
+    [sym_number_literal] = ACTIONS(1362),
+    [anon_sym_L_SQUOTE] = ACTIONS(1362),
+    [anon_sym_u_SQUOTE] = ACTIONS(1362),
+    [anon_sym_U_SQUOTE] = ACTIONS(1362),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1362),
+    [anon_sym_SQUOTE] = ACTIONS(1362),
+    [anon_sym_L_DQUOTE] = ACTIONS(1362),
+    [anon_sym_u_DQUOTE] = ACTIONS(1362),
+    [anon_sym_U_DQUOTE] = ACTIONS(1362),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1362),
+    [anon_sym_DQUOTE] = ACTIONS(1362),
+    [sym_true] = ACTIONS(1360),
+    [sym_false] = ACTIONS(1360),
+    [anon_sym_NULL] = ACTIONS(1360),
+    [anon_sym_nullptr] = ACTIONS(1360),
     [sym_comment] = ACTIONS(3),
   },
   [144] = {
-    [sym_identifier] = ACTIONS(1357),
-    [aux_sym_preproc_include_token1] = ACTIONS(1357),
-    [aux_sym_preproc_def_token1] = ACTIONS(1357),
-    [aux_sym_preproc_if_token1] = ACTIONS(1357),
-    [aux_sym_preproc_if_token2] = ACTIONS(1357),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1357),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1357),
-    [aux_sym_preproc_else_token1] = ACTIONS(1357),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1357),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1357),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1357),
-    [sym_preproc_directive] = ACTIONS(1357),
-    [anon_sym_LPAREN2] = ACTIONS(1359),
-    [anon_sym_BANG] = ACTIONS(1359),
-    [anon_sym_TILDE] = ACTIONS(1359),
-    [anon_sym_DASH] = ACTIONS(1357),
-    [anon_sym_PLUS] = ACTIONS(1357),
-    [anon_sym_STAR] = ACTIONS(1359),
-    [anon_sym_AMP] = ACTIONS(1359),
-    [anon_sym_SEMI] = ACTIONS(1359),
-    [anon_sym___extension__] = ACTIONS(1357),
-    [anon_sym_typedef] = ACTIONS(1357),
-    [anon_sym_extern] = ACTIONS(1357),
-    [anon_sym___attribute__] = ACTIONS(1357),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1359),
-    [anon_sym___declspec] = ACTIONS(1357),
-    [anon_sym___cdecl] = ACTIONS(1357),
-    [anon_sym___clrcall] = ACTIONS(1357),
-    [anon_sym___stdcall] = ACTIONS(1357),
-    [anon_sym___fastcall] = ACTIONS(1357),
-    [anon_sym___thiscall] = ACTIONS(1357),
-    [anon_sym___vectorcall] = ACTIONS(1357),
-    [anon_sym_LBRACE] = ACTIONS(1359),
-    [anon_sym_signed] = ACTIONS(1357),
-    [anon_sym_unsigned] = ACTIONS(1357),
-    [anon_sym_long] = ACTIONS(1357),
-    [anon_sym_short] = ACTIONS(1357),
-    [anon_sym_static] = ACTIONS(1357),
-    [anon_sym_auto] = ACTIONS(1357),
-    [anon_sym_register] = ACTIONS(1357),
-    [anon_sym_inline] = ACTIONS(1357),
-    [anon_sym___inline] = ACTIONS(1357),
-    [anon_sym___inline__] = ACTIONS(1357),
-    [anon_sym___forceinline] = ACTIONS(1357),
-    [anon_sym_thread_local] = ACTIONS(1357),
-    [anon_sym___thread] = ACTIONS(1357),
-    [anon_sym_const] = ACTIONS(1357),
-    [anon_sym_constexpr] = ACTIONS(1357),
-    [anon_sym_volatile] = ACTIONS(1357),
-    [anon_sym_restrict] = ACTIONS(1357),
-    [anon_sym___restrict__] = ACTIONS(1357),
-    [anon_sym__Atomic] = ACTIONS(1357),
-    [anon_sym__Noreturn] = ACTIONS(1357),
-    [anon_sym_noreturn] = ACTIONS(1357),
-    [anon_sym__Nonnull] = ACTIONS(1357),
-    [anon_sym_alignas] = ACTIONS(1357),
-    [anon_sym__Alignas] = ACTIONS(1357),
-    [sym_primitive_type] = ACTIONS(1357),
-    [anon_sym_enum] = ACTIONS(1357),
-    [anon_sym_struct] = ACTIONS(1357),
-    [anon_sym_union] = ACTIONS(1357),
-    [anon_sym_if] = ACTIONS(1357),
-    [anon_sym_switch] = ACTIONS(1357),
-    [anon_sym_case] = ACTIONS(1357),
-    [anon_sym_default] = ACTIONS(1357),
-    [anon_sym_while] = ACTIONS(1357),
-    [anon_sym_do] = ACTIONS(1357),
-    [anon_sym_for] = ACTIONS(1357),
-    [anon_sym_return] = ACTIONS(1357),
-    [anon_sym_break] = ACTIONS(1357),
-    [anon_sym_continue] = ACTIONS(1357),
-    [anon_sym_goto] = ACTIONS(1357),
-    [anon_sym___try] = ACTIONS(1357),
-    [anon_sym___leave] = ACTIONS(1357),
-    [anon_sym_DASH_DASH] = ACTIONS(1359),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1359),
-    [anon_sym_sizeof] = ACTIONS(1357),
-    [anon_sym___alignof__] = ACTIONS(1357),
-    [anon_sym___alignof] = ACTIONS(1357),
-    [anon_sym__alignof] = ACTIONS(1357),
-    [anon_sym_alignof] = ACTIONS(1357),
-    [anon_sym__Alignof] = ACTIONS(1357),
-    [anon_sym_offsetof] = ACTIONS(1357),
-    [anon_sym__Generic] = ACTIONS(1357),
-    [anon_sym_asm] = ACTIONS(1357),
-    [anon_sym___asm__] = ACTIONS(1357),
-    [anon_sym___asm] = ACTIONS(1357),
-    [sym_number_literal] = ACTIONS(1359),
-    [anon_sym_L_SQUOTE] = ACTIONS(1359),
-    [anon_sym_u_SQUOTE] = ACTIONS(1359),
-    [anon_sym_U_SQUOTE] = ACTIONS(1359),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1359),
-    [anon_sym_SQUOTE] = ACTIONS(1359),
-    [anon_sym_L_DQUOTE] = ACTIONS(1359),
-    [anon_sym_u_DQUOTE] = ACTIONS(1359),
-    [anon_sym_U_DQUOTE] = ACTIONS(1359),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1359),
-    [anon_sym_DQUOTE] = ACTIONS(1359),
-    [sym_true] = ACTIONS(1357),
-    [sym_false] = ACTIONS(1357),
-    [anon_sym_NULL] = ACTIONS(1357),
-    [anon_sym_nullptr] = ACTIONS(1357),
+    [sym_identifier] = ACTIONS(1364),
+    [aux_sym_preproc_include_token1] = ACTIONS(1364),
+    [aux_sym_preproc_def_token1] = ACTIONS(1364),
+    [aux_sym_preproc_if_token1] = ACTIONS(1364),
+    [aux_sym_preproc_if_token2] = ACTIONS(1364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1364),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1364),
+    [aux_sym_preproc_else_token1] = ACTIONS(1364),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1364),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1364),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1364),
+    [sym_preproc_directive] = ACTIONS(1364),
+    [anon_sym_LPAREN2] = ACTIONS(1366),
+    [anon_sym_BANG] = ACTIONS(1366),
+    [anon_sym_TILDE] = ACTIONS(1366),
+    [anon_sym_DASH] = ACTIONS(1364),
+    [anon_sym_PLUS] = ACTIONS(1364),
+    [anon_sym_STAR] = ACTIONS(1366),
+    [anon_sym_AMP] = ACTIONS(1366),
+    [anon_sym_SEMI] = ACTIONS(1366),
+    [anon_sym___extension__] = ACTIONS(1364),
+    [anon_sym_typedef] = ACTIONS(1364),
+    [anon_sym_extern] = ACTIONS(1364),
+    [anon_sym___attribute__] = ACTIONS(1364),
+    [anon_sym___attribute] = ACTIONS(1364),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1366),
+    [anon_sym___declspec] = ACTIONS(1364),
+    [anon_sym___cdecl] = ACTIONS(1364),
+    [anon_sym___clrcall] = ACTIONS(1364),
+    [anon_sym___stdcall] = ACTIONS(1364),
+    [anon_sym___fastcall] = ACTIONS(1364),
+    [anon_sym___thiscall] = ACTIONS(1364),
+    [anon_sym___vectorcall] = ACTIONS(1364),
+    [anon_sym_LBRACE] = ACTIONS(1366),
+    [anon_sym_signed] = ACTIONS(1364),
+    [anon_sym_unsigned] = ACTIONS(1364),
+    [anon_sym_long] = ACTIONS(1364),
+    [anon_sym_short] = ACTIONS(1364),
+    [anon_sym_static] = ACTIONS(1364),
+    [anon_sym_auto] = ACTIONS(1364),
+    [anon_sym_register] = ACTIONS(1364),
+    [anon_sym_inline] = ACTIONS(1364),
+    [anon_sym___inline] = ACTIONS(1364),
+    [anon_sym___inline__] = ACTIONS(1364),
+    [anon_sym___forceinline] = ACTIONS(1364),
+    [anon_sym_thread_local] = ACTIONS(1364),
+    [anon_sym___thread] = ACTIONS(1364),
+    [anon_sym_const] = ACTIONS(1364),
+    [anon_sym_constexpr] = ACTIONS(1364),
+    [anon_sym_volatile] = ACTIONS(1364),
+    [anon_sym_restrict] = ACTIONS(1364),
+    [anon_sym___restrict__] = ACTIONS(1364),
+    [anon_sym__Atomic] = ACTIONS(1364),
+    [anon_sym__Noreturn] = ACTIONS(1364),
+    [anon_sym_noreturn] = ACTIONS(1364),
+    [anon_sym__Nonnull] = ACTIONS(1364),
+    [anon_sym_alignas] = ACTIONS(1364),
+    [anon_sym__Alignas] = ACTIONS(1364),
+    [sym_primitive_type] = ACTIONS(1364),
+    [anon_sym_enum] = ACTIONS(1364),
+    [anon_sym_struct] = ACTIONS(1364),
+    [anon_sym_union] = ACTIONS(1364),
+    [anon_sym_if] = ACTIONS(1364),
+    [anon_sym_switch] = ACTIONS(1364),
+    [anon_sym_case] = ACTIONS(1364),
+    [anon_sym_default] = ACTIONS(1364),
+    [anon_sym_while] = ACTIONS(1364),
+    [anon_sym_do] = ACTIONS(1364),
+    [anon_sym_for] = ACTIONS(1364),
+    [anon_sym_return] = ACTIONS(1364),
+    [anon_sym_break] = ACTIONS(1364),
+    [anon_sym_continue] = ACTIONS(1364),
+    [anon_sym_goto] = ACTIONS(1364),
+    [anon_sym___try] = ACTIONS(1364),
+    [anon_sym___leave] = ACTIONS(1364),
+    [anon_sym_DASH_DASH] = ACTIONS(1366),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1366),
+    [anon_sym_sizeof] = ACTIONS(1364),
+    [anon_sym___alignof__] = ACTIONS(1364),
+    [anon_sym___alignof] = ACTIONS(1364),
+    [anon_sym__alignof] = ACTIONS(1364),
+    [anon_sym_alignof] = ACTIONS(1364),
+    [anon_sym__Alignof] = ACTIONS(1364),
+    [anon_sym_offsetof] = ACTIONS(1364),
+    [anon_sym__Generic] = ACTIONS(1364),
+    [anon_sym_asm] = ACTIONS(1364),
+    [anon_sym___asm__] = ACTIONS(1364),
+    [anon_sym___asm] = ACTIONS(1364),
+    [sym_number_literal] = ACTIONS(1366),
+    [anon_sym_L_SQUOTE] = ACTIONS(1366),
+    [anon_sym_u_SQUOTE] = ACTIONS(1366),
+    [anon_sym_U_SQUOTE] = ACTIONS(1366),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1366),
+    [anon_sym_SQUOTE] = ACTIONS(1366),
+    [anon_sym_L_DQUOTE] = ACTIONS(1366),
+    [anon_sym_u_DQUOTE] = ACTIONS(1366),
+    [anon_sym_U_DQUOTE] = ACTIONS(1366),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1366),
+    [anon_sym_DQUOTE] = ACTIONS(1366),
+    [sym_true] = ACTIONS(1364),
+    [sym_false] = ACTIONS(1364),
+    [anon_sym_NULL] = ACTIONS(1364),
+    [anon_sym_nullptr] = ACTIONS(1364),
     [sym_comment] = ACTIONS(3),
   },
   [145] = {
-    [sym_identifier] = ACTIONS(1361),
-    [aux_sym_preproc_include_token1] = ACTIONS(1361),
-    [aux_sym_preproc_def_token1] = ACTIONS(1361),
-    [aux_sym_preproc_if_token1] = ACTIONS(1361),
-    [aux_sym_preproc_if_token2] = ACTIONS(1361),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1361),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1361),
-    [aux_sym_preproc_else_token1] = ACTIONS(1361),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1361),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1361),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1361),
-    [sym_preproc_directive] = ACTIONS(1361),
-    [anon_sym_LPAREN2] = ACTIONS(1364),
-    [anon_sym_BANG] = ACTIONS(1364),
-    [anon_sym_TILDE] = ACTIONS(1364),
-    [anon_sym_DASH] = ACTIONS(1361),
-    [anon_sym_PLUS] = ACTIONS(1361),
-    [anon_sym_STAR] = ACTIONS(1364),
-    [anon_sym_AMP] = ACTIONS(1364),
-    [anon_sym_SEMI] = ACTIONS(1364),
-    [anon_sym___extension__] = ACTIONS(1361),
-    [anon_sym_typedef] = ACTIONS(1361),
-    [anon_sym_extern] = ACTIONS(1361),
-    [anon_sym___attribute__] = ACTIONS(1361),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1364),
-    [anon_sym___declspec] = ACTIONS(1361),
-    [anon_sym___cdecl] = ACTIONS(1361),
-    [anon_sym___clrcall] = ACTIONS(1361),
-    [anon_sym___stdcall] = ACTIONS(1361),
-    [anon_sym___fastcall] = ACTIONS(1361),
-    [anon_sym___thiscall] = ACTIONS(1361),
-    [anon_sym___vectorcall] = ACTIONS(1361),
-    [anon_sym_LBRACE] = ACTIONS(1364),
-    [anon_sym_signed] = ACTIONS(1361),
-    [anon_sym_unsigned] = ACTIONS(1361),
-    [anon_sym_long] = ACTIONS(1361),
-    [anon_sym_short] = ACTIONS(1361),
-    [anon_sym_static] = ACTIONS(1361),
-    [anon_sym_auto] = ACTIONS(1361),
-    [anon_sym_register] = ACTIONS(1361),
-    [anon_sym_inline] = ACTIONS(1361),
-    [anon_sym___inline] = ACTIONS(1361),
-    [anon_sym___inline__] = ACTIONS(1361),
-    [anon_sym___forceinline] = ACTIONS(1361),
-    [anon_sym_thread_local] = ACTIONS(1361),
-    [anon_sym___thread] = ACTIONS(1361),
-    [anon_sym_const] = ACTIONS(1361),
-    [anon_sym_constexpr] = ACTIONS(1361),
-    [anon_sym_volatile] = ACTIONS(1361),
-    [anon_sym_restrict] = ACTIONS(1361),
-    [anon_sym___restrict__] = ACTIONS(1361),
-    [anon_sym__Atomic] = ACTIONS(1361),
-    [anon_sym__Noreturn] = ACTIONS(1361),
-    [anon_sym_noreturn] = ACTIONS(1361),
-    [anon_sym__Nonnull] = ACTIONS(1361),
-    [anon_sym_alignas] = ACTIONS(1361),
-    [anon_sym__Alignas] = ACTIONS(1361),
-    [sym_primitive_type] = ACTIONS(1361),
-    [anon_sym_enum] = ACTIONS(1361),
-    [anon_sym_struct] = ACTIONS(1361),
-    [anon_sym_union] = ACTIONS(1361),
-    [anon_sym_if] = ACTIONS(1361),
-    [anon_sym_switch] = ACTIONS(1361),
-    [anon_sym_case] = ACTIONS(1361),
-    [anon_sym_default] = ACTIONS(1361),
-    [anon_sym_while] = ACTIONS(1361),
-    [anon_sym_do] = ACTIONS(1361),
-    [anon_sym_for] = ACTIONS(1361),
-    [anon_sym_return] = ACTIONS(1361),
-    [anon_sym_break] = ACTIONS(1361),
-    [anon_sym_continue] = ACTIONS(1361),
-    [anon_sym_goto] = ACTIONS(1361),
-    [anon_sym___try] = ACTIONS(1361),
-    [anon_sym___leave] = ACTIONS(1361),
-    [anon_sym_DASH_DASH] = ACTIONS(1364),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1364),
-    [anon_sym_sizeof] = ACTIONS(1361),
-    [anon_sym___alignof__] = ACTIONS(1361),
-    [anon_sym___alignof] = ACTIONS(1361),
-    [anon_sym__alignof] = ACTIONS(1361),
-    [anon_sym_alignof] = ACTIONS(1361),
-    [anon_sym__Alignof] = ACTIONS(1361),
-    [anon_sym_offsetof] = ACTIONS(1361),
-    [anon_sym__Generic] = ACTIONS(1361),
-    [anon_sym_asm] = ACTIONS(1361),
-    [anon_sym___asm__] = ACTIONS(1361),
-    [anon_sym___asm] = ACTIONS(1361),
-    [sym_number_literal] = ACTIONS(1364),
-    [anon_sym_L_SQUOTE] = ACTIONS(1364),
-    [anon_sym_u_SQUOTE] = ACTIONS(1364),
-    [anon_sym_U_SQUOTE] = ACTIONS(1364),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1364),
-    [anon_sym_SQUOTE] = ACTIONS(1364),
-    [anon_sym_L_DQUOTE] = ACTIONS(1364),
-    [anon_sym_u_DQUOTE] = ACTIONS(1364),
-    [anon_sym_U_DQUOTE] = ACTIONS(1364),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1364),
-    [anon_sym_DQUOTE] = ACTIONS(1364),
-    [sym_true] = ACTIONS(1361),
-    [sym_false] = ACTIONS(1361),
-    [anon_sym_NULL] = ACTIONS(1361),
-    [anon_sym_nullptr] = ACTIONS(1361),
+    [sym_identifier] = ACTIONS(1368),
+    [aux_sym_preproc_include_token1] = ACTIONS(1368),
+    [aux_sym_preproc_def_token1] = ACTIONS(1368),
+    [aux_sym_preproc_if_token1] = ACTIONS(1368),
+    [aux_sym_preproc_if_token2] = ACTIONS(1368),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1368),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1368),
+    [aux_sym_preproc_else_token1] = ACTIONS(1368),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1368),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1368),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1368),
+    [sym_preproc_directive] = ACTIONS(1368),
+    [anon_sym_LPAREN2] = ACTIONS(1370),
+    [anon_sym_BANG] = ACTIONS(1370),
+    [anon_sym_TILDE] = ACTIONS(1370),
+    [anon_sym_DASH] = ACTIONS(1368),
+    [anon_sym_PLUS] = ACTIONS(1368),
+    [anon_sym_STAR] = ACTIONS(1370),
+    [anon_sym_AMP] = ACTIONS(1370),
+    [anon_sym_SEMI] = ACTIONS(1370),
+    [anon_sym___extension__] = ACTIONS(1368),
+    [anon_sym_typedef] = ACTIONS(1368),
+    [anon_sym_extern] = ACTIONS(1368),
+    [anon_sym___attribute__] = ACTIONS(1368),
+    [anon_sym___attribute] = ACTIONS(1368),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1370),
+    [anon_sym___declspec] = ACTIONS(1368),
+    [anon_sym___cdecl] = ACTIONS(1368),
+    [anon_sym___clrcall] = ACTIONS(1368),
+    [anon_sym___stdcall] = ACTIONS(1368),
+    [anon_sym___fastcall] = ACTIONS(1368),
+    [anon_sym___thiscall] = ACTIONS(1368),
+    [anon_sym___vectorcall] = ACTIONS(1368),
+    [anon_sym_LBRACE] = ACTIONS(1370),
+    [anon_sym_signed] = ACTIONS(1368),
+    [anon_sym_unsigned] = ACTIONS(1368),
+    [anon_sym_long] = ACTIONS(1368),
+    [anon_sym_short] = ACTIONS(1368),
+    [anon_sym_static] = ACTIONS(1368),
+    [anon_sym_auto] = ACTIONS(1368),
+    [anon_sym_register] = ACTIONS(1368),
+    [anon_sym_inline] = ACTIONS(1368),
+    [anon_sym___inline] = ACTIONS(1368),
+    [anon_sym___inline__] = ACTIONS(1368),
+    [anon_sym___forceinline] = ACTIONS(1368),
+    [anon_sym_thread_local] = ACTIONS(1368),
+    [anon_sym___thread] = ACTIONS(1368),
+    [anon_sym_const] = ACTIONS(1368),
+    [anon_sym_constexpr] = ACTIONS(1368),
+    [anon_sym_volatile] = ACTIONS(1368),
+    [anon_sym_restrict] = ACTIONS(1368),
+    [anon_sym___restrict__] = ACTIONS(1368),
+    [anon_sym__Atomic] = ACTIONS(1368),
+    [anon_sym__Noreturn] = ACTIONS(1368),
+    [anon_sym_noreturn] = ACTIONS(1368),
+    [anon_sym__Nonnull] = ACTIONS(1368),
+    [anon_sym_alignas] = ACTIONS(1368),
+    [anon_sym__Alignas] = ACTIONS(1368),
+    [sym_primitive_type] = ACTIONS(1368),
+    [anon_sym_enum] = ACTIONS(1368),
+    [anon_sym_struct] = ACTIONS(1368),
+    [anon_sym_union] = ACTIONS(1368),
+    [anon_sym_if] = ACTIONS(1368),
+    [anon_sym_switch] = ACTIONS(1368),
+    [anon_sym_case] = ACTIONS(1368),
+    [anon_sym_default] = ACTIONS(1368),
+    [anon_sym_while] = ACTIONS(1368),
+    [anon_sym_do] = ACTIONS(1368),
+    [anon_sym_for] = ACTIONS(1368),
+    [anon_sym_return] = ACTIONS(1368),
+    [anon_sym_break] = ACTIONS(1368),
+    [anon_sym_continue] = ACTIONS(1368),
+    [anon_sym_goto] = ACTIONS(1368),
+    [anon_sym___try] = ACTIONS(1368),
+    [anon_sym___leave] = ACTIONS(1368),
+    [anon_sym_DASH_DASH] = ACTIONS(1370),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1370),
+    [anon_sym_sizeof] = ACTIONS(1368),
+    [anon_sym___alignof__] = ACTIONS(1368),
+    [anon_sym___alignof] = ACTIONS(1368),
+    [anon_sym__alignof] = ACTIONS(1368),
+    [anon_sym_alignof] = ACTIONS(1368),
+    [anon_sym__Alignof] = ACTIONS(1368),
+    [anon_sym_offsetof] = ACTIONS(1368),
+    [anon_sym__Generic] = ACTIONS(1368),
+    [anon_sym_asm] = ACTIONS(1368),
+    [anon_sym___asm__] = ACTIONS(1368),
+    [anon_sym___asm] = ACTIONS(1368),
+    [sym_number_literal] = ACTIONS(1370),
+    [anon_sym_L_SQUOTE] = ACTIONS(1370),
+    [anon_sym_u_SQUOTE] = ACTIONS(1370),
+    [anon_sym_U_SQUOTE] = ACTIONS(1370),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1370),
+    [anon_sym_SQUOTE] = ACTIONS(1370),
+    [anon_sym_L_DQUOTE] = ACTIONS(1370),
+    [anon_sym_u_DQUOTE] = ACTIONS(1370),
+    [anon_sym_U_DQUOTE] = ACTIONS(1370),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1370),
+    [anon_sym_DQUOTE] = ACTIONS(1370),
+    [sym_true] = ACTIONS(1368),
+    [sym_false] = ACTIONS(1368),
+    [anon_sym_NULL] = ACTIONS(1368),
+    [anon_sym_nullptr] = ACTIONS(1368),
     [sym_comment] = ACTIONS(3),
   },
   [146] = {
-    [sym_identifier] = ACTIONS(1367),
-    [aux_sym_preproc_include_token1] = ACTIONS(1367),
-    [aux_sym_preproc_def_token1] = ACTIONS(1367),
-    [aux_sym_preproc_if_token1] = ACTIONS(1367),
-    [aux_sym_preproc_if_token2] = ACTIONS(1367),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1367),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1367),
-    [aux_sym_preproc_else_token1] = ACTIONS(1367),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1367),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1367),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1367),
-    [sym_preproc_directive] = ACTIONS(1367),
-    [anon_sym_LPAREN2] = ACTIONS(1369),
-    [anon_sym_BANG] = ACTIONS(1369),
-    [anon_sym_TILDE] = ACTIONS(1369),
-    [anon_sym_DASH] = ACTIONS(1367),
-    [anon_sym_PLUS] = ACTIONS(1367),
-    [anon_sym_STAR] = ACTIONS(1369),
-    [anon_sym_AMP] = ACTIONS(1369),
-    [anon_sym_SEMI] = ACTIONS(1369),
-    [anon_sym___extension__] = ACTIONS(1367),
-    [anon_sym_typedef] = ACTIONS(1367),
-    [anon_sym_extern] = ACTIONS(1367),
-    [anon_sym___attribute__] = ACTIONS(1367),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1369),
-    [anon_sym___declspec] = ACTIONS(1367),
-    [anon_sym___cdecl] = ACTIONS(1367),
-    [anon_sym___clrcall] = ACTIONS(1367),
-    [anon_sym___stdcall] = ACTIONS(1367),
-    [anon_sym___fastcall] = ACTIONS(1367),
-    [anon_sym___thiscall] = ACTIONS(1367),
-    [anon_sym___vectorcall] = ACTIONS(1367),
-    [anon_sym_LBRACE] = ACTIONS(1369),
-    [anon_sym_signed] = ACTIONS(1367),
-    [anon_sym_unsigned] = ACTIONS(1367),
-    [anon_sym_long] = ACTIONS(1367),
-    [anon_sym_short] = ACTIONS(1367),
-    [anon_sym_static] = ACTIONS(1367),
-    [anon_sym_auto] = ACTIONS(1367),
-    [anon_sym_register] = ACTIONS(1367),
-    [anon_sym_inline] = ACTIONS(1367),
-    [anon_sym___inline] = ACTIONS(1367),
-    [anon_sym___inline__] = ACTIONS(1367),
-    [anon_sym___forceinline] = ACTIONS(1367),
-    [anon_sym_thread_local] = ACTIONS(1367),
-    [anon_sym___thread] = ACTIONS(1367),
-    [anon_sym_const] = ACTIONS(1367),
-    [anon_sym_constexpr] = ACTIONS(1367),
-    [anon_sym_volatile] = ACTIONS(1367),
-    [anon_sym_restrict] = ACTIONS(1367),
-    [anon_sym___restrict__] = ACTIONS(1367),
-    [anon_sym__Atomic] = ACTIONS(1367),
-    [anon_sym__Noreturn] = ACTIONS(1367),
-    [anon_sym_noreturn] = ACTIONS(1367),
-    [anon_sym__Nonnull] = ACTIONS(1367),
-    [anon_sym_alignas] = ACTIONS(1367),
-    [anon_sym__Alignas] = ACTIONS(1367),
-    [sym_primitive_type] = ACTIONS(1367),
-    [anon_sym_enum] = ACTIONS(1367),
-    [anon_sym_struct] = ACTIONS(1367),
-    [anon_sym_union] = ACTIONS(1367),
-    [anon_sym_if] = ACTIONS(1367),
-    [anon_sym_switch] = ACTIONS(1367),
-    [anon_sym_case] = ACTIONS(1367),
-    [anon_sym_default] = ACTIONS(1367),
-    [anon_sym_while] = ACTIONS(1367),
-    [anon_sym_do] = ACTIONS(1367),
-    [anon_sym_for] = ACTIONS(1367),
-    [anon_sym_return] = ACTIONS(1367),
-    [anon_sym_break] = ACTIONS(1367),
-    [anon_sym_continue] = ACTIONS(1367),
-    [anon_sym_goto] = ACTIONS(1367),
-    [anon_sym___try] = ACTIONS(1367),
-    [anon_sym___leave] = ACTIONS(1367),
-    [anon_sym_DASH_DASH] = ACTIONS(1369),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1369),
-    [anon_sym_sizeof] = ACTIONS(1367),
-    [anon_sym___alignof__] = ACTIONS(1367),
-    [anon_sym___alignof] = ACTIONS(1367),
-    [anon_sym__alignof] = ACTIONS(1367),
-    [anon_sym_alignof] = ACTIONS(1367),
-    [anon_sym__Alignof] = ACTIONS(1367),
-    [anon_sym_offsetof] = ACTIONS(1367),
-    [anon_sym__Generic] = ACTIONS(1367),
-    [anon_sym_asm] = ACTIONS(1367),
-    [anon_sym___asm__] = ACTIONS(1367),
-    [anon_sym___asm] = ACTIONS(1367),
-    [sym_number_literal] = ACTIONS(1369),
-    [anon_sym_L_SQUOTE] = ACTIONS(1369),
-    [anon_sym_u_SQUOTE] = ACTIONS(1369),
-    [anon_sym_U_SQUOTE] = ACTIONS(1369),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1369),
-    [anon_sym_SQUOTE] = ACTIONS(1369),
-    [anon_sym_L_DQUOTE] = ACTIONS(1369),
-    [anon_sym_u_DQUOTE] = ACTIONS(1369),
-    [anon_sym_U_DQUOTE] = ACTIONS(1369),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1369),
-    [anon_sym_DQUOTE] = ACTIONS(1369),
-    [sym_true] = ACTIONS(1367),
-    [sym_false] = ACTIONS(1367),
-    [anon_sym_NULL] = ACTIONS(1367),
-    [anon_sym_nullptr] = ACTIONS(1367),
+    [sym_identifier] = ACTIONS(1372),
+    [aux_sym_preproc_include_token1] = ACTIONS(1372),
+    [aux_sym_preproc_def_token1] = ACTIONS(1372),
+    [aux_sym_preproc_if_token1] = ACTIONS(1372),
+    [aux_sym_preproc_if_token2] = ACTIONS(1372),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1372),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1372),
+    [aux_sym_preproc_else_token1] = ACTIONS(1372),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1372),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1372),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1372),
+    [sym_preproc_directive] = ACTIONS(1372),
+    [anon_sym_LPAREN2] = ACTIONS(1374),
+    [anon_sym_BANG] = ACTIONS(1374),
+    [anon_sym_TILDE] = ACTIONS(1374),
+    [anon_sym_DASH] = ACTIONS(1372),
+    [anon_sym_PLUS] = ACTIONS(1372),
+    [anon_sym_STAR] = ACTIONS(1374),
+    [anon_sym_AMP] = ACTIONS(1374),
+    [anon_sym_SEMI] = ACTIONS(1374),
+    [anon_sym___extension__] = ACTIONS(1372),
+    [anon_sym_typedef] = ACTIONS(1372),
+    [anon_sym_extern] = ACTIONS(1372),
+    [anon_sym___attribute__] = ACTIONS(1372),
+    [anon_sym___attribute] = ACTIONS(1372),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1374),
+    [anon_sym___declspec] = ACTIONS(1372),
+    [anon_sym___cdecl] = ACTIONS(1372),
+    [anon_sym___clrcall] = ACTIONS(1372),
+    [anon_sym___stdcall] = ACTIONS(1372),
+    [anon_sym___fastcall] = ACTIONS(1372),
+    [anon_sym___thiscall] = ACTIONS(1372),
+    [anon_sym___vectorcall] = ACTIONS(1372),
+    [anon_sym_LBRACE] = ACTIONS(1374),
+    [anon_sym_signed] = ACTIONS(1372),
+    [anon_sym_unsigned] = ACTIONS(1372),
+    [anon_sym_long] = ACTIONS(1372),
+    [anon_sym_short] = ACTIONS(1372),
+    [anon_sym_static] = ACTIONS(1372),
+    [anon_sym_auto] = ACTIONS(1372),
+    [anon_sym_register] = ACTIONS(1372),
+    [anon_sym_inline] = ACTIONS(1372),
+    [anon_sym___inline] = ACTIONS(1372),
+    [anon_sym___inline__] = ACTIONS(1372),
+    [anon_sym___forceinline] = ACTIONS(1372),
+    [anon_sym_thread_local] = ACTIONS(1372),
+    [anon_sym___thread] = ACTIONS(1372),
+    [anon_sym_const] = ACTIONS(1372),
+    [anon_sym_constexpr] = ACTIONS(1372),
+    [anon_sym_volatile] = ACTIONS(1372),
+    [anon_sym_restrict] = ACTIONS(1372),
+    [anon_sym___restrict__] = ACTIONS(1372),
+    [anon_sym__Atomic] = ACTIONS(1372),
+    [anon_sym__Noreturn] = ACTIONS(1372),
+    [anon_sym_noreturn] = ACTIONS(1372),
+    [anon_sym__Nonnull] = ACTIONS(1372),
+    [anon_sym_alignas] = ACTIONS(1372),
+    [anon_sym__Alignas] = ACTIONS(1372),
+    [sym_primitive_type] = ACTIONS(1372),
+    [anon_sym_enum] = ACTIONS(1372),
+    [anon_sym_struct] = ACTIONS(1372),
+    [anon_sym_union] = ACTIONS(1372),
+    [anon_sym_if] = ACTIONS(1372),
+    [anon_sym_switch] = ACTIONS(1372),
+    [anon_sym_case] = ACTIONS(1372),
+    [anon_sym_default] = ACTIONS(1372),
+    [anon_sym_while] = ACTIONS(1372),
+    [anon_sym_do] = ACTIONS(1372),
+    [anon_sym_for] = ACTIONS(1372),
+    [anon_sym_return] = ACTIONS(1372),
+    [anon_sym_break] = ACTIONS(1372),
+    [anon_sym_continue] = ACTIONS(1372),
+    [anon_sym_goto] = ACTIONS(1372),
+    [anon_sym___try] = ACTIONS(1372),
+    [anon_sym___leave] = ACTIONS(1372),
+    [anon_sym_DASH_DASH] = ACTIONS(1374),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1374),
+    [anon_sym_sizeof] = ACTIONS(1372),
+    [anon_sym___alignof__] = ACTIONS(1372),
+    [anon_sym___alignof] = ACTIONS(1372),
+    [anon_sym__alignof] = ACTIONS(1372),
+    [anon_sym_alignof] = ACTIONS(1372),
+    [anon_sym__Alignof] = ACTIONS(1372),
+    [anon_sym_offsetof] = ACTIONS(1372),
+    [anon_sym__Generic] = ACTIONS(1372),
+    [anon_sym_asm] = ACTIONS(1372),
+    [anon_sym___asm__] = ACTIONS(1372),
+    [anon_sym___asm] = ACTIONS(1372),
+    [sym_number_literal] = ACTIONS(1374),
+    [anon_sym_L_SQUOTE] = ACTIONS(1374),
+    [anon_sym_u_SQUOTE] = ACTIONS(1374),
+    [anon_sym_U_SQUOTE] = ACTIONS(1374),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1374),
+    [anon_sym_SQUOTE] = ACTIONS(1374),
+    [anon_sym_L_DQUOTE] = ACTIONS(1374),
+    [anon_sym_u_DQUOTE] = ACTIONS(1374),
+    [anon_sym_U_DQUOTE] = ACTIONS(1374),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1374),
+    [anon_sym_DQUOTE] = ACTIONS(1374),
+    [sym_true] = ACTIONS(1372),
+    [sym_false] = ACTIONS(1372),
+    [anon_sym_NULL] = ACTIONS(1372),
+    [anon_sym_nullptr] = ACTIONS(1372),
     [sym_comment] = ACTIONS(3),
   },
   [147] = {
-    [sym_identifier] = ACTIONS(1371),
-    [aux_sym_preproc_include_token1] = ACTIONS(1371),
-    [aux_sym_preproc_def_token1] = ACTIONS(1371),
-    [aux_sym_preproc_if_token1] = ACTIONS(1371),
-    [aux_sym_preproc_if_token2] = ACTIONS(1371),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1371),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1371),
-    [aux_sym_preproc_else_token1] = ACTIONS(1371),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1371),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1371),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1371),
-    [sym_preproc_directive] = ACTIONS(1371),
-    [anon_sym_LPAREN2] = ACTIONS(1373),
-    [anon_sym_BANG] = ACTIONS(1373),
-    [anon_sym_TILDE] = ACTIONS(1373),
-    [anon_sym_DASH] = ACTIONS(1371),
-    [anon_sym_PLUS] = ACTIONS(1371),
-    [anon_sym_STAR] = ACTIONS(1373),
-    [anon_sym_AMP] = ACTIONS(1373),
-    [anon_sym_SEMI] = ACTIONS(1373),
-    [anon_sym___extension__] = ACTIONS(1371),
-    [anon_sym_typedef] = ACTIONS(1371),
-    [anon_sym_extern] = ACTIONS(1371),
-    [anon_sym___attribute__] = ACTIONS(1371),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1373),
-    [anon_sym___declspec] = ACTIONS(1371),
-    [anon_sym___cdecl] = ACTIONS(1371),
-    [anon_sym___clrcall] = ACTIONS(1371),
-    [anon_sym___stdcall] = ACTIONS(1371),
-    [anon_sym___fastcall] = ACTIONS(1371),
-    [anon_sym___thiscall] = ACTIONS(1371),
-    [anon_sym___vectorcall] = ACTIONS(1371),
-    [anon_sym_LBRACE] = ACTIONS(1373),
-    [anon_sym_signed] = ACTIONS(1371),
-    [anon_sym_unsigned] = ACTIONS(1371),
-    [anon_sym_long] = ACTIONS(1371),
-    [anon_sym_short] = ACTIONS(1371),
-    [anon_sym_static] = ACTIONS(1371),
-    [anon_sym_auto] = ACTIONS(1371),
-    [anon_sym_register] = ACTIONS(1371),
-    [anon_sym_inline] = ACTIONS(1371),
-    [anon_sym___inline] = ACTIONS(1371),
-    [anon_sym___inline__] = ACTIONS(1371),
-    [anon_sym___forceinline] = ACTIONS(1371),
-    [anon_sym_thread_local] = ACTIONS(1371),
-    [anon_sym___thread] = ACTIONS(1371),
-    [anon_sym_const] = ACTIONS(1371),
-    [anon_sym_constexpr] = ACTIONS(1371),
-    [anon_sym_volatile] = ACTIONS(1371),
-    [anon_sym_restrict] = ACTIONS(1371),
-    [anon_sym___restrict__] = ACTIONS(1371),
-    [anon_sym__Atomic] = ACTIONS(1371),
-    [anon_sym__Noreturn] = ACTIONS(1371),
-    [anon_sym_noreturn] = ACTIONS(1371),
-    [anon_sym__Nonnull] = ACTIONS(1371),
-    [anon_sym_alignas] = ACTIONS(1371),
-    [anon_sym__Alignas] = ACTIONS(1371),
-    [sym_primitive_type] = ACTIONS(1371),
-    [anon_sym_enum] = ACTIONS(1371),
-    [anon_sym_struct] = ACTIONS(1371),
-    [anon_sym_union] = ACTIONS(1371),
-    [anon_sym_if] = ACTIONS(1371),
-    [anon_sym_switch] = ACTIONS(1371),
-    [anon_sym_case] = ACTIONS(1371),
-    [anon_sym_default] = ACTIONS(1371),
-    [anon_sym_while] = ACTIONS(1371),
-    [anon_sym_do] = ACTIONS(1371),
-    [anon_sym_for] = ACTIONS(1371),
-    [anon_sym_return] = ACTIONS(1371),
-    [anon_sym_break] = ACTIONS(1371),
-    [anon_sym_continue] = ACTIONS(1371),
-    [anon_sym_goto] = ACTIONS(1371),
-    [anon_sym___try] = ACTIONS(1371),
-    [anon_sym___leave] = ACTIONS(1371),
-    [anon_sym_DASH_DASH] = ACTIONS(1373),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1373),
-    [anon_sym_sizeof] = ACTIONS(1371),
-    [anon_sym___alignof__] = ACTIONS(1371),
-    [anon_sym___alignof] = ACTIONS(1371),
-    [anon_sym__alignof] = ACTIONS(1371),
-    [anon_sym_alignof] = ACTIONS(1371),
-    [anon_sym__Alignof] = ACTIONS(1371),
-    [anon_sym_offsetof] = ACTIONS(1371),
-    [anon_sym__Generic] = ACTIONS(1371),
-    [anon_sym_asm] = ACTIONS(1371),
-    [anon_sym___asm__] = ACTIONS(1371),
-    [anon_sym___asm] = ACTIONS(1371),
-    [sym_number_literal] = ACTIONS(1373),
-    [anon_sym_L_SQUOTE] = ACTIONS(1373),
-    [anon_sym_u_SQUOTE] = ACTIONS(1373),
-    [anon_sym_U_SQUOTE] = ACTIONS(1373),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1373),
-    [anon_sym_SQUOTE] = ACTIONS(1373),
-    [anon_sym_L_DQUOTE] = ACTIONS(1373),
-    [anon_sym_u_DQUOTE] = ACTIONS(1373),
-    [anon_sym_U_DQUOTE] = ACTIONS(1373),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1373),
-    [anon_sym_DQUOTE] = ACTIONS(1373),
-    [sym_true] = ACTIONS(1371),
-    [sym_false] = ACTIONS(1371),
-    [anon_sym_NULL] = ACTIONS(1371),
-    [anon_sym_nullptr] = ACTIONS(1371),
+    [sym_identifier] = ACTIONS(1376),
+    [aux_sym_preproc_include_token1] = ACTIONS(1376),
+    [aux_sym_preproc_def_token1] = ACTIONS(1376),
+    [aux_sym_preproc_if_token1] = ACTIONS(1376),
+    [aux_sym_preproc_if_token2] = ACTIONS(1376),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1376),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1376),
+    [aux_sym_preproc_else_token1] = ACTIONS(1376),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1376),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1376),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1376),
+    [sym_preproc_directive] = ACTIONS(1376),
+    [anon_sym_LPAREN2] = ACTIONS(1378),
+    [anon_sym_BANG] = ACTIONS(1378),
+    [anon_sym_TILDE] = ACTIONS(1378),
+    [anon_sym_DASH] = ACTIONS(1376),
+    [anon_sym_PLUS] = ACTIONS(1376),
+    [anon_sym_STAR] = ACTIONS(1378),
+    [anon_sym_AMP] = ACTIONS(1378),
+    [anon_sym_SEMI] = ACTIONS(1378),
+    [anon_sym___extension__] = ACTIONS(1376),
+    [anon_sym_typedef] = ACTIONS(1376),
+    [anon_sym_extern] = ACTIONS(1376),
+    [anon_sym___attribute__] = ACTIONS(1376),
+    [anon_sym___attribute] = ACTIONS(1376),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1378),
+    [anon_sym___declspec] = ACTIONS(1376),
+    [anon_sym___cdecl] = ACTIONS(1376),
+    [anon_sym___clrcall] = ACTIONS(1376),
+    [anon_sym___stdcall] = ACTIONS(1376),
+    [anon_sym___fastcall] = ACTIONS(1376),
+    [anon_sym___thiscall] = ACTIONS(1376),
+    [anon_sym___vectorcall] = ACTIONS(1376),
+    [anon_sym_LBRACE] = ACTIONS(1378),
+    [anon_sym_signed] = ACTIONS(1376),
+    [anon_sym_unsigned] = ACTIONS(1376),
+    [anon_sym_long] = ACTIONS(1376),
+    [anon_sym_short] = ACTIONS(1376),
+    [anon_sym_static] = ACTIONS(1376),
+    [anon_sym_auto] = ACTIONS(1376),
+    [anon_sym_register] = ACTIONS(1376),
+    [anon_sym_inline] = ACTIONS(1376),
+    [anon_sym___inline] = ACTIONS(1376),
+    [anon_sym___inline__] = ACTIONS(1376),
+    [anon_sym___forceinline] = ACTIONS(1376),
+    [anon_sym_thread_local] = ACTIONS(1376),
+    [anon_sym___thread] = ACTIONS(1376),
+    [anon_sym_const] = ACTIONS(1376),
+    [anon_sym_constexpr] = ACTIONS(1376),
+    [anon_sym_volatile] = ACTIONS(1376),
+    [anon_sym_restrict] = ACTIONS(1376),
+    [anon_sym___restrict__] = ACTIONS(1376),
+    [anon_sym__Atomic] = ACTIONS(1376),
+    [anon_sym__Noreturn] = ACTIONS(1376),
+    [anon_sym_noreturn] = ACTIONS(1376),
+    [anon_sym__Nonnull] = ACTIONS(1376),
+    [anon_sym_alignas] = ACTIONS(1376),
+    [anon_sym__Alignas] = ACTIONS(1376),
+    [sym_primitive_type] = ACTIONS(1376),
+    [anon_sym_enum] = ACTIONS(1376),
+    [anon_sym_struct] = ACTIONS(1376),
+    [anon_sym_union] = ACTIONS(1376),
+    [anon_sym_if] = ACTIONS(1376),
+    [anon_sym_switch] = ACTIONS(1376),
+    [anon_sym_case] = ACTIONS(1376),
+    [anon_sym_default] = ACTIONS(1376),
+    [anon_sym_while] = ACTIONS(1376),
+    [anon_sym_do] = ACTIONS(1376),
+    [anon_sym_for] = ACTIONS(1376),
+    [anon_sym_return] = ACTIONS(1376),
+    [anon_sym_break] = ACTIONS(1376),
+    [anon_sym_continue] = ACTIONS(1376),
+    [anon_sym_goto] = ACTIONS(1376),
+    [anon_sym___try] = ACTIONS(1376),
+    [anon_sym___leave] = ACTIONS(1376),
+    [anon_sym_DASH_DASH] = ACTIONS(1378),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1378),
+    [anon_sym_sizeof] = ACTIONS(1376),
+    [anon_sym___alignof__] = ACTIONS(1376),
+    [anon_sym___alignof] = ACTIONS(1376),
+    [anon_sym__alignof] = ACTIONS(1376),
+    [anon_sym_alignof] = ACTIONS(1376),
+    [anon_sym__Alignof] = ACTIONS(1376),
+    [anon_sym_offsetof] = ACTIONS(1376),
+    [anon_sym__Generic] = ACTIONS(1376),
+    [anon_sym_asm] = ACTIONS(1376),
+    [anon_sym___asm__] = ACTIONS(1376),
+    [anon_sym___asm] = ACTIONS(1376),
+    [sym_number_literal] = ACTIONS(1378),
+    [anon_sym_L_SQUOTE] = ACTIONS(1378),
+    [anon_sym_u_SQUOTE] = ACTIONS(1378),
+    [anon_sym_U_SQUOTE] = ACTIONS(1378),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1378),
+    [anon_sym_SQUOTE] = ACTIONS(1378),
+    [anon_sym_L_DQUOTE] = ACTIONS(1378),
+    [anon_sym_u_DQUOTE] = ACTIONS(1378),
+    [anon_sym_U_DQUOTE] = ACTIONS(1378),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1378),
+    [anon_sym_DQUOTE] = ACTIONS(1378),
+    [sym_true] = ACTIONS(1376),
+    [sym_false] = ACTIONS(1376),
+    [anon_sym_NULL] = ACTIONS(1376),
+    [anon_sym_nullptr] = ACTIONS(1376),
     [sym_comment] = ACTIONS(3),
   },
   [148] = {
-    [sym_else_clause] = STATE(194),
-    [sym_identifier] = ACTIONS(1123),
-    [aux_sym_preproc_include_token1] = ACTIONS(1123),
-    [aux_sym_preproc_def_token1] = ACTIONS(1123),
-    [aux_sym_preproc_if_token1] = ACTIONS(1123),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1123),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1123),
-    [sym_preproc_directive] = ACTIONS(1123),
-    [anon_sym_LPAREN2] = ACTIONS(1125),
-    [anon_sym_BANG] = ACTIONS(1125),
-    [anon_sym_TILDE] = ACTIONS(1125),
-    [anon_sym_DASH] = ACTIONS(1123),
-    [anon_sym_PLUS] = ACTIONS(1123),
-    [anon_sym_STAR] = ACTIONS(1125),
-    [anon_sym_AMP] = ACTIONS(1125),
-    [anon_sym_SEMI] = ACTIONS(1125),
-    [anon_sym___extension__] = ACTIONS(1123),
-    [anon_sym_typedef] = ACTIONS(1123),
-    [anon_sym_extern] = ACTIONS(1123),
-    [anon_sym___attribute__] = ACTIONS(1123),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1125),
-    [anon_sym___declspec] = ACTIONS(1123),
-    [anon_sym___cdecl] = ACTIONS(1123),
-    [anon_sym___clrcall] = ACTIONS(1123),
-    [anon_sym___stdcall] = ACTIONS(1123),
-    [anon_sym___fastcall] = ACTIONS(1123),
-    [anon_sym___thiscall] = ACTIONS(1123),
-    [anon_sym___vectorcall] = ACTIONS(1123),
-    [anon_sym_LBRACE] = ACTIONS(1125),
-    [anon_sym_RBRACE] = ACTIONS(1125),
-    [anon_sym_signed] = ACTIONS(1123),
-    [anon_sym_unsigned] = ACTIONS(1123),
-    [anon_sym_long] = ACTIONS(1123),
-    [anon_sym_short] = ACTIONS(1123),
-    [anon_sym_static] = ACTIONS(1123),
-    [anon_sym_auto] = ACTIONS(1123),
-    [anon_sym_register] = ACTIONS(1123),
-    [anon_sym_inline] = ACTIONS(1123),
-    [anon_sym___inline] = ACTIONS(1123),
-    [anon_sym___inline__] = ACTIONS(1123),
-    [anon_sym___forceinline] = ACTIONS(1123),
-    [anon_sym_thread_local] = ACTIONS(1123),
-    [anon_sym___thread] = ACTIONS(1123),
-    [anon_sym_const] = ACTIONS(1123),
-    [anon_sym_constexpr] = ACTIONS(1123),
-    [anon_sym_volatile] = ACTIONS(1123),
-    [anon_sym_restrict] = ACTIONS(1123),
-    [anon_sym___restrict__] = ACTIONS(1123),
-    [anon_sym__Atomic] = ACTIONS(1123),
-    [anon_sym__Noreturn] = ACTIONS(1123),
-    [anon_sym_noreturn] = ACTIONS(1123),
-    [anon_sym__Nonnull] = ACTIONS(1123),
-    [anon_sym_alignas] = ACTIONS(1123),
-    [anon_sym__Alignas] = ACTIONS(1123),
-    [sym_primitive_type] = ACTIONS(1123),
-    [anon_sym_enum] = ACTIONS(1123),
-    [anon_sym_struct] = ACTIONS(1123),
-    [anon_sym_union] = ACTIONS(1123),
-    [anon_sym_if] = ACTIONS(1123),
-    [anon_sym_else] = ACTIONS(1375),
-    [anon_sym_switch] = ACTIONS(1123),
-    [anon_sym_case] = ACTIONS(1123),
-    [anon_sym_default] = ACTIONS(1123),
-    [anon_sym_while] = ACTIONS(1123),
-    [anon_sym_do] = ACTIONS(1123),
-    [anon_sym_for] = ACTIONS(1123),
-    [anon_sym_return] = ACTIONS(1123),
-    [anon_sym_break] = ACTIONS(1123),
-    [anon_sym_continue] = ACTIONS(1123),
-    [anon_sym_goto] = ACTIONS(1123),
-    [anon_sym___try] = ACTIONS(1123),
-    [anon_sym___leave] = ACTIONS(1123),
-    [anon_sym_DASH_DASH] = ACTIONS(1125),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1125),
-    [anon_sym_sizeof] = ACTIONS(1123),
-    [anon_sym___alignof__] = ACTIONS(1123),
-    [anon_sym___alignof] = ACTIONS(1123),
-    [anon_sym__alignof] = ACTIONS(1123),
-    [anon_sym_alignof] = ACTIONS(1123),
-    [anon_sym__Alignof] = ACTIONS(1123),
-    [anon_sym_offsetof] = ACTIONS(1123),
-    [anon_sym__Generic] = ACTIONS(1123),
-    [anon_sym_asm] = ACTIONS(1123),
-    [anon_sym___asm__] = ACTIONS(1123),
-    [anon_sym___asm] = ACTIONS(1123),
-    [sym_number_literal] = ACTIONS(1125),
-    [anon_sym_L_SQUOTE] = ACTIONS(1125),
-    [anon_sym_u_SQUOTE] = ACTIONS(1125),
-    [anon_sym_U_SQUOTE] = ACTIONS(1125),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1125),
-    [anon_sym_SQUOTE] = ACTIONS(1125),
-    [anon_sym_L_DQUOTE] = ACTIONS(1125),
-    [anon_sym_u_DQUOTE] = ACTIONS(1125),
-    [anon_sym_U_DQUOTE] = ACTIONS(1125),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1125),
-    [anon_sym_DQUOTE] = ACTIONS(1125),
-    [sym_true] = ACTIONS(1123),
-    [sym_false] = ACTIONS(1123),
-    [anon_sym_NULL] = ACTIONS(1123),
-    [anon_sym_nullptr] = ACTIONS(1123),
+    [sym_else_clause] = STATE(199),
+    [sym_identifier] = ACTIONS(1128),
+    [aux_sym_preproc_include_token1] = ACTIONS(1128),
+    [aux_sym_preproc_def_token1] = ACTIONS(1128),
+    [aux_sym_preproc_if_token1] = ACTIONS(1128),
+    [aux_sym_preproc_if_token2] = ACTIONS(1128),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1128),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1128),
+    [sym_preproc_directive] = ACTIONS(1128),
+    [anon_sym_LPAREN2] = ACTIONS(1130),
+    [anon_sym_BANG] = ACTIONS(1130),
+    [anon_sym_TILDE] = ACTIONS(1130),
+    [anon_sym_DASH] = ACTIONS(1128),
+    [anon_sym_PLUS] = ACTIONS(1128),
+    [anon_sym_STAR] = ACTIONS(1130),
+    [anon_sym_AMP] = ACTIONS(1130),
+    [anon_sym_SEMI] = ACTIONS(1130),
+    [anon_sym___extension__] = ACTIONS(1128),
+    [anon_sym_typedef] = ACTIONS(1128),
+    [anon_sym_extern] = ACTIONS(1128),
+    [anon_sym___attribute__] = ACTIONS(1128),
+    [anon_sym___attribute] = ACTIONS(1128),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1130),
+    [anon_sym___declspec] = ACTIONS(1128),
+    [anon_sym___cdecl] = ACTIONS(1128),
+    [anon_sym___clrcall] = ACTIONS(1128),
+    [anon_sym___stdcall] = ACTIONS(1128),
+    [anon_sym___fastcall] = ACTIONS(1128),
+    [anon_sym___thiscall] = ACTIONS(1128),
+    [anon_sym___vectorcall] = ACTIONS(1128),
+    [anon_sym_LBRACE] = ACTIONS(1130),
+    [anon_sym_signed] = ACTIONS(1128),
+    [anon_sym_unsigned] = ACTIONS(1128),
+    [anon_sym_long] = ACTIONS(1128),
+    [anon_sym_short] = ACTIONS(1128),
+    [anon_sym_static] = ACTIONS(1128),
+    [anon_sym_auto] = ACTIONS(1128),
+    [anon_sym_register] = ACTIONS(1128),
+    [anon_sym_inline] = ACTIONS(1128),
+    [anon_sym___inline] = ACTIONS(1128),
+    [anon_sym___inline__] = ACTIONS(1128),
+    [anon_sym___forceinline] = ACTIONS(1128),
+    [anon_sym_thread_local] = ACTIONS(1128),
+    [anon_sym___thread] = ACTIONS(1128),
+    [anon_sym_const] = ACTIONS(1128),
+    [anon_sym_constexpr] = ACTIONS(1128),
+    [anon_sym_volatile] = ACTIONS(1128),
+    [anon_sym_restrict] = ACTIONS(1128),
+    [anon_sym___restrict__] = ACTIONS(1128),
+    [anon_sym__Atomic] = ACTIONS(1128),
+    [anon_sym__Noreturn] = ACTIONS(1128),
+    [anon_sym_noreturn] = ACTIONS(1128),
+    [anon_sym__Nonnull] = ACTIONS(1128),
+    [anon_sym_alignas] = ACTIONS(1128),
+    [anon_sym__Alignas] = ACTIONS(1128),
+    [sym_primitive_type] = ACTIONS(1128),
+    [anon_sym_enum] = ACTIONS(1128),
+    [anon_sym_struct] = ACTIONS(1128),
+    [anon_sym_union] = ACTIONS(1128),
+    [anon_sym_if] = ACTIONS(1128),
+    [anon_sym_else] = ACTIONS(1380),
+    [anon_sym_switch] = ACTIONS(1128),
+    [anon_sym_case] = ACTIONS(1128),
+    [anon_sym_default] = ACTIONS(1128),
+    [anon_sym_while] = ACTIONS(1128),
+    [anon_sym_do] = ACTIONS(1128),
+    [anon_sym_for] = ACTIONS(1128),
+    [anon_sym_return] = ACTIONS(1128),
+    [anon_sym_break] = ACTIONS(1128),
+    [anon_sym_continue] = ACTIONS(1128),
+    [anon_sym_goto] = ACTIONS(1128),
+    [anon_sym___try] = ACTIONS(1128),
+    [anon_sym___leave] = ACTIONS(1128),
+    [anon_sym_DASH_DASH] = ACTIONS(1130),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1130),
+    [anon_sym_sizeof] = ACTIONS(1128),
+    [anon_sym___alignof__] = ACTIONS(1128),
+    [anon_sym___alignof] = ACTIONS(1128),
+    [anon_sym__alignof] = ACTIONS(1128),
+    [anon_sym_alignof] = ACTIONS(1128),
+    [anon_sym__Alignof] = ACTIONS(1128),
+    [anon_sym_offsetof] = ACTIONS(1128),
+    [anon_sym__Generic] = ACTIONS(1128),
+    [anon_sym_asm] = ACTIONS(1128),
+    [anon_sym___asm__] = ACTIONS(1128),
+    [anon_sym___asm] = ACTIONS(1128),
+    [sym_number_literal] = ACTIONS(1130),
+    [anon_sym_L_SQUOTE] = ACTIONS(1130),
+    [anon_sym_u_SQUOTE] = ACTIONS(1130),
+    [anon_sym_U_SQUOTE] = ACTIONS(1130),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1130),
+    [anon_sym_SQUOTE] = ACTIONS(1130),
+    [anon_sym_L_DQUOTE] = ACTIONS(1130),
+    [anon_sym_u_DQUOTE] = ACTIONS(1130),
+    [anon_sym_U_DQUOTE] = ACTIONS(1130),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1130),
+    [anon_sym_DQUOTE] = ACTIONS(1130),
+    [sym_true] = ACTIONS(1128),
+    [sym_false] = ACTIONS(1128),
+    [anon_sym_NULL] = ACTIONS(1128),
+    [anon_sym_nullptr] = ACTIONS(1128),
     [sym_comment] = ACTIONS(3),
   },
   [149] = {
-    [sym_else_clause] = STATE(250),
-    [ts_builtin_sym_end] = ACTIONS(1125),
-    [sym_identifier] = ACTIONS(1123),
-    [aux_sym_preproc_include_token1] = ACTIONS(1123),
-    [aux_sym_preproc_def_token1] = ACTIONS(1123),
-    [aux_sym_preproc_if_token1] = ACTIONS(1123),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1123),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1123),
-    [sym_preproc_directive] = ACTIONS(1123),
-    [anon_sym_LPAREN2] = ACTIONS(1125),
-    [anon_sym_BANG] = ACTIONS(1125),
-    [anon_sym_TILDE] = ACTIONS(1125),
-    [anon_sym_DASH] = ACTIONS(1123),
-    [anon_sym_PLUS] = ACTIONS(1123),
-    [anon_sym_STAR] = ACTIONS(1125),
-    [anon_sym_AMP] = ACTIONS(1125),
-    [anon_sym_SEMI] = ACTIONS(1125),
-    [anon_sym___extension__] = ACTIONS(1123),
-    [anon_sym_typedef] = ACTIONS(1123),
-    [anon_sym_extern] = ACTIONS(1123),
-    [anon_sym___attribute__] = ACTIONS(1123),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1125),
-    [anon_sym___declspec] = ACTIONS(1123),
-    [anon_sym___cdecl] = ACTIONS(1123),
-    [anon_sym___clrcall] = ACTIONS(1123),
-    [anon_sym___stdcall] = ACTIONS(1123),
-    [anon_sym___fastcall] = ACTIONS(1123),
-    [anon_sym___thiscall] = ACTIONS(1123),
-    [anon_sym___vectorcall] = ACTIONS(1123),
-    [anon_sym_LBRACE] = ACTIONS(1125),
-    [anon_sym_signed] = ACTIONS(1123),
-    [anon_sym_unsigned] = ACTIONS(1123),
-    [anon_sym_long] = ACTIONS(1123),
-    [anon_sym_short] = ACTIONS(1123),
-    [anon_sym_static] = ACTIONS(1123),
-    [anon_sym_auto] = ACTIONS(1123),
-    [anon_sym_register] = ACTIONS(1123),
-    [anon_sym_inline] = ACTIONS(1123),
-    [anon_sym___inline] = ACTIONS(1123),
-    [anon_sym___inline__] = ACTIONS(1123),
-    [anon_sym___forceinline] = ACTIONS(1123),
-    [anon_sym_thread_local] = ACTIONS(1123),
-    [anon_sym___thread] = ACTIONS(1123),
-    [anon_sym_const] = ACTIONS(1123),
-    [anon_sym_constexpr] = ACTIONS(1123),
-    [anon_sym_volatile] = ACTIONS(1123),
-    [anon_sym_restrict] = ACTIONS(1123),
-    [anon_sym___restrict__] = ACTIONS(1123),
-    [anon_sym__Atomic] = ACTIONS(1123),
-    [anon_sym__Noreturn] = ACTIONS(1123),
-    [anon_sym_noreturn] = ACTIONS(1123),
-    [anon_sym__Nonnull] = ACTIONS(1123),
-    [anon_sym_alignas] = ACTIONS(1123),
-    [anon_sym__Alignas] = ACTIONS(1123),
-    [sym_primitive_type] = ACTIONS(1123),
-    [anon_sym_enum] = ACTIONS(1123),
-    [anon_sym_struct] = ACTIONS(1123),
-    [anon_sym_union] = ACTIONS(1123),
-    [anon_sym_if] = ACTIONS(1123),
-    [anon_sym_else] = ACTIONS(1377),
-    [anon_sym_switch] = ACTIONS(1123),
-    [anon_sym_case] = ACTIONS(1123),
-    [anon_sym_default] = ACTIONS(1123),
-    [anon_sym_while] = ACTIONS(1123),
-    [anon_sym_do] = ACTIONS(1123),
-    [anon_sym_for] = ACTIONS(1123),
-    [anon_sym_return] = ACTIONS(1123),
-    [anon_sym_break] = ACTIONS(1123),
-    [anon_sym_continue] = ACTIONS(1123),
-    [anon_sym_goto] = ACTIONS(1123),
-    [anon_sym___try] = ACTIONS(1123),
-    [anon_sym___leave] = ACTIONS(1123),
-    [anon_sym_DASH_DASH] = ACTIONS(1125),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1125),
-    [anon_sym_sizeof] = ACTIONS(1123),
-    [anon_sym___alignof__] = ACTIONS(1123),
-    [anon_sym___alignof] = ACTIONS(1123),
-    [anon_sym__alignof] = ACTIONS(1123),
-    [anon_sym_alignof] = ACTIONS(1123),
-    [anon_sym__Alignof] = ACTIONS(1123),
-    [anon_sym_offsetof] = ACTIONS(1123),
-    [anon_sym__Generic] = ACTIONS(1123),
-    [anon_sym_asm] = ACTIONS(1123),
-    [anon_sym___asm__] = ACTIONS(1123),
-    [anon_sym___asm] = ACTIONS(1123),
-    [sym_number_literal] = ACTIONS(1125),
-    [anon_sym_L_SQUOTE] = ACTIONS(1125),
-    [anon_sym_u_SQUOTE] = ACTIONS(1125),
-    [anon_sym_U_SQUOTE] = ACTIONS(1125),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1125),
-    [anon_sym_SQUOTE] = ACTIONS(1125),
-    [anon_sym_L_DQUOTE] = ACTIONS(1125),
-    [anon_sym_u_DQUOTE] = ACTIONS(1125),
-    [anon_sym_U_DQUOTE] = ACTIONS(1125),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1125),
-    [anon_sym_DQUOTE] = ACTIONS(1125),
-    [sym_true] = ACTIONS(1123),
-    [sym_false] = ACTIONS(1123),
-    [anon_sym_NULL] = ACTIONS(1123),
-    [anon_sym_nullptr] = ACTIONS(1123),
+    [sym_else_clause] = STATE(243),
+    [ts_builtin_sym_end] = ACTIONS(1130),
+    [sym_identifier] = ACTIONS(1128),
+    [aux_sym_preproc_include_token1] = ACTIONS(1128),
+    [aux_sym_preproc_def_token1] = ACTIONS(1128),
+    [aux_sym_preproc_if_token1] = ACTIONS(1128),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1128),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1128),
+    [sym_preproc_directive] = ACTIONS(1128),
+    [anon_sym_LPAREN2] = ACTIONS(1130),
+    [anon_sym_BANG] = ACTIONS(1130),
+    [anon_sym_TILDE] = ACTIONS(1130),
+    [anon_sym_DASH] = ACTIONS(1128),
+    [anon_sym_PLUS] = ACTIONS(1128),
+    [anon_sym_STAR] = ACTIONS(1130),
+    [anon_sym_AMP] = ACTIONS(1130),
+    [anon_sym_SEMI] = ACTIONS(1130),
+    [anon_sym___extension__] = ACTIONS(1128),
+    [anon_sym_typedef] = ACTIONS(1128),
+    [anon_sym_extern] = ACTIONS(1128),
+    [anon_sym___attribute__] = ACTIONS(1128),
+    [anon_sym___attribute] = ACTIONS(1128),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1130),
+    [anon_sym___declspec] = ACTIONS(1128),
+    [anon_sym___cdecl] = ACTIONS(1128),
+    [anon_sym___clrcall] = ACTIONS(1128),
+    [anon_sym___stdcall] = ACTIONS(1128),
+    [anon_sym___fastcall] = ACTIONS(1128),
+    [anon_sym___thiscall] = ACTIONS(1128),
+    [anon_sym___vectorcall] = ACTIONS(1128),
+    [anon_sym_LBRACE] = ACTIONS(1130),
+    [anon_sym_signed] = ACTIONS(1128),
+    [anon_sym_unsigned] = ACTIONS(1128),
+    [anon_sym_long] = ACTIONS(1128),
+    [anon_sym_short] = ACTIONS(1128),
+    [anon_sym_static] = ACTIONS(1128),
+    [anon_sym_auto] = ACTIONS(1128),
+    [anon_sym_register] = ACTIONS(1128),
+    [anon_sym_inline] = ACTIONS(1128),
+    [anon_sym___inline] = ACTIONS(1128),
+    [anon_sym___inline__] = ACTIONS(1128),
+    [anon_sym___forceinline] = ACTIONS(1128),
+    [anon_sym_thread_local] = ACTIONS(1128),
+    [anon_sym___thread] = ACTIONS(1128),
+    [anon_sym_const] = ACTIONS(1128),
+    [anon_sym_constexpr] = ACTIONS(1128),
+    [anon_sym_volatile] = ACTIONS(1128),
+    [anon_sym_restrict] = ACTIONS(1128),
+    [anon_sym___restrict__] = ACTIONS(1128),
+    [anon_sym__Atomic] = ACTIONS(1128),
+    [anon_sym__Noreturn] = ACTIONS(1128),
+    [anon_sym_noreturn] = ACTIONS(1128),
+    [anon_sym__Nonnull] = ACTIONS(1128),
+    [anon_sym_alignas] = ACTIONS(1128),
+    [anon_sym__Alignas] = ACTIONS(1128),
+    [sym_primitive_type] = ACTIONS(1128),
+    [anon_sym_enum] = ACTIONS(1128),
+    [anon_sym_struct] = ACTIONS(1128),
+    [anon_sym_union] = ACTIONS(1128),
+    [anon_sym_if] = ACTIONS(1128),
+    [anon_sym_else] = ACTIONS(1382),
+    [anon_sym_switch] = ACTIONS(1128),
+    [anon_sym_case] = ACTIONS(1128),
+    [anon_sym_default] = ACTIONS(1128),
+    [anon_sym_while] = ACTIONS(1128),
+    [anon_sym_do] = ACTIONS(1128),
+    [anon_sym_for] = ACTIONS(1128),
+    [anon_sym_return] = ACTIONS(1128),
+    [anon_sym_break] = ACTIONS(1128),
+    [anon_sym_continue] = ACTIONS(1128),
+    [anon_sym_goto] = ACTIONS(1128),
+    [anon_sym___try] = ACTIONS(1128),
+    [anon_sym___leave] = ACTIONS(1128),
+    [anon_sym_DASH_DASH] = ACTIONS(1130),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1130),
+    [anon_sym_sizeof] = ACTIONS(1128),
+    [anon_sym___alignof__] = ACTIONS(1128),
+    [anon_sym___alignof] = ACTIONS(1128),
+    [anon_sym__alignof] = ACTIONS(1128),
+    [anon_sym_alignof] = ACTIONS(1128),
+    [anon_sym__Alignof] = ACTIONS(1128),
+    [anon_sym_offsetof] = ACTIONS(1128),
+    [anon_sym__Generic] = ACTIONS(1128),
+    [anon_sym_asm] = ACTIONS(1128),
+    [anon_sym___asm__] = ACTIONS(1128),
+    [anon_sym___asm] = ACTIONS(1128),
+    [sym_number_literal] = ACTIONS(1130),
+    [anon_sym_L_SQUOTE] = ACTIONS(1130),
+    [anon_sym_u_SQUOTE] = ACTIONS(1130),
+    [anon_sym_U_SQUOTE] = ACTIONS(1130),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1130),
+    [anon_sym_SQUOTE] = ACTIONS(1130),
+    [anon_sym_L_DQUOTE] = ACTIONS(1130),
+    [anon_sym_u_DQUOTE] = ACTIONS(1130),
+    [anon_sym_U_DQUOTE] = ACTIONS(1130),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1130),
+    [anon_sym_DQUOTE] = ACTIONS(1130),
+    [sym_true] = ACTIONS(1128),
+    [sym_false] = ACTIONS(1128),
+    [anon_sym_NULL] = ACTIONS(1128),
+    [anon_sym_nullptr] = ACTIONS(1128),
     [sym_comment] = ACTIONS(3),
   },
   [150] = {
-    [sym_else_clause] = STATE(221),
-    [sym_identifier] = ACTIONS(1123),
-    [aux_sym_preproc_include_token1] = ACTIONS(1123),
-    [aux_sym_preproc_def_token1] = ACTIONS(1123),
-    [aux_sym_preproc_if_token1] = ACTIONS(1123),
-    [aux_sym_preproc_if_token2] = ACTIONS(1123),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1123),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1123),
-    [sym_preproc_directive] = ACTIONS(1123),
-    [anon_sym_LPAREN2] = ACTIONS(1125),
-    [anon_sym_BANG] = ACTIONS(1125),
-    [anon_sym_TILDE] = ACTIONS(1125),
-    [anon_sym_DASH] = ACTIONS(1123),
-    [anon_sym_PLUS] = ACTIONS(1123),
-    [anon_sym_STAR] = ACTIONS(1125),
-    [anon_sym_AMP] = ACTIONS(1125),
-    [anon_sym_SEMI] = ACTIONS(1125),
-    [anon_sym___extension__] = ACTIONS(1123),
-    [anon_sym_typedef] = ACTIONS(1123),
-    [anon_sym_extern] = ACTIONS(1123),
-    [anon_sym___attribute__] = ACTIONS(1123),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1125),
-    [anon_sym___declspec] = ACTIONS(1123),
-    [anon_sym___cdecl] = ACTIONS(1123),
-    [anon_sym___clrcall] = ACTIONS(1123),
-    [anon_sym___stdcall] = ACTIONS(1123),
-    [anon_sym___fastcall] = ACTIONS(1123),
-    [anon_sym___thiscall] = ACTIONS(1123),
-    [anon_sym___vectorcall] = ACTIONS(1123),
-    [anon_sym_LBRACE] = ACTIONS(1125),
-    [anon_sym_signed] = ACTIONS(1123),
-    [anon_sym_unsigned] = ACTIONS(1123),
-    [anon_sym_long] = ACTIONS(1123),
-    [anon_sym_short] = ACTIONS(1123),
-    [anon_sym_static] = ACTIONS(1123),
-    [anon_sym_auto] = ACTIONS(1123),
-    [anon_sym_register] = ACTIONS(1123),
-    [anon_sym_inline] = ACTIONS(1123),
-    [anon_sym___inline] = ACTIONS(1123),
-    [anon_sym___inline__] = ACTIONS(1123),
-    [anon_sym___forceinline] = ACTIONS(1123),
-    [anon_sym_thread_local] = ACTIONS(1123),
-    [anon_sym___thread] = ACTIONS(1123),
-    [anon_sym_const] = ACTIONS(1123),
-    [anon_sym_constexpr] = ACTIONS(1123),
-    [anon_sym_volatile] = ACTIONS(1123),
-    [anon_sym_restrict] = ACTIONS(1123),
-    [anon_sym___restrict__] = ACTIONS(1123),
-    [anon_sym__Atomic] = ACTIONS(1123),
-    [anon_sym__Noreturn] = ACTIONS(1123),
-    [anon_sym_noreturn] = ACTIONS(1123),
-    [anon_sym__Nonnull] = ACTIONS(1123),
-    [anon_sym_alignas] = ACTIONS(1123),
-    [anon_sym__Alignas] = ACTIONS(1123),
-    [sym_primitive_type] = ACTIONS(1123),
-    [anon_sym_enum] = ACTIONS(1123),
-    [anon_sym_struct] = ACTIONS(1123),
-    [anon_sym_union] = ACTIONS(1123),
-    [anon_sym_if] = ACTIONS(1123),
-    [anon_sym_else] = ACTIONS(1379),
-    [anon_sym_switch] = ACTIONS(1123),
-    [anon_sym_case] = ACTIONS(1123),
-    [anon_sym_default] = ACTIONS(1123),
-    [anon_sym_while] = ACTIONS(1123),
-    [anon_sym_do] = ACTIONS(1123),
-    [anon_sym_for] = ACTIONS(1123),
-    [anon_sym_return] = ACTIONS(1123),
-    [anon_sym_break] = ACTIONS(1123),
-    [anon_sym_continue] = ACTIONS(1123),
-    [anon_sym_goto] = ACTIONS(1123),
-    [anon_sym___try] = ACTIONS(1123),
-    [anon_sym___leave] = ACTIONS(1123),
-    [anon_sym_DASH_DASH] = ACTIONS(1125),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1125),
-    [anon_sym_sizeof] = ACTIONS(1123),
-    [anon_sym___alignof__] = ACTIONS(1123),
-    [anon_sym___alignof] = ACTIONS(1123),
-    [anon_sym__alignof] = ACTIONS(1123),
-    [anon_sym_alignof] = ACTIONS(1123),
-    [anon_sym__Alignof] = ACTIONS(1123),
-    [anon_sym_offsetof] = ACTIONS(1123),
-    [anon_sym__Generic] = ACTIONS(1123),
-    [anon_sym_asm] = ACTIONS(1123),
-    [anon_sym___asm__] = ACTIONS(1123),
-    [anon_sym___asm] = ACTIONS(1123),
-    [sym_number_literal] = ACTIONS(1125),
-    [anon_sym_L_SQUOTE] = ACTIONS(1125),
-    [anon_sym_u_SQUOTE] = ACTIONS(1125),
-    [anon_sym_U_SQUOTE] = ACTIONS(1125),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1125),
-    [anon_sym_SQUOTE] = ACTIONS(1125),
-    [anon_sym_L_DQUOTE] = ACTIONS(1125),
-    [anon_sym_u_DQUOTE] = ACTIONS(1125),
-    [anon_sym_U_DQUOTE] = ACTIONS(1125),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1125),
-    [anon_sym_DQUOTE] = ACTIONS(1125),
-    [sym_true] = ACTIONS(1123),
-    [sym_false] = ACTIONS(1123),
-    [anon_sym_NULL] = ACTIONS(1123),
-    [anon_sym_nullptr] = ACTIONS(1123),
+    [sym_else_clause] = STATE(223),
+    [sym_identifier] = ACTIONS(1128),
+    [aux_sym_preproc_include_token1] = ACTIONS(1128),
+    [aux_sym_preproc_def_token1] = ACTIONS(1128),
+    [aux_sym_preproc_if_token1] = ACTIONS(1128),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1128),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1128),
+    [sym_preproc_directive] = ACTIONS(1128),
+    [anon_sym_LPAREN2] = ACTIONS(1130),
+    [anon_sym_BANG] = ACTIONS(1130),
+    [anon_sym_TILDE] = ACTIONS(1130),
+    [anon_sym_DASH] = ACTIONS(1128),
+    [anon_sym_PLUS] = ACTIONS(1128),
+    [anon_sym_STAR] = ACTIONS(1130),
+    [anon_sym_AMP] = ACTIONS(1130),
+    [anon_sym_SEMI] = ACTIONS(1130),
+    [anon_sym___extension__] = ACTIONS(1128),
+    [anon_sym_typedef] = ACTIONS(1128),
+    [anon_sym_extern] = ACTIONS(1128),
+    [anon_sym___attribute__] = ACTIONS(1128),
+    [anon_sym___attribute] = ACTIONS(1128),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1130),
+    [anon_sym___declspec] = ACTIONS(1128),
+    [anon_sym___cdecl] = ACTIONS(1128),
+    [anon_sym___clrcall] = ACTIONS(1128),
+    [anon_sym___stdcall] = ACTIONS(1128),
+    [anon_sym___fastcall] = ACTIONS(1128),
+    [anon_sym___thiscall] = ACTIONS(1128),
+    [anon_sym___vectorcall] = ACTIONS(1128),
+    [anon_sym_LBRACE] = ACTIONS(1130),
+    [anon_sym_RBRACE] = ACTIONS(1130),
+    [anon_sym_signed] = ACTIONS(1128),
+    [anon_sym_unsigned] = ACTIONS(1128),
+    [anon_sym_long] = ACTIONS(1128),
+    [anon_sym_short] = ACTIONS(1128),
+    [anon_sym_static] = ACTIONS(1128),
+    [anon_sym_auto] = ACTIONS(1128),
+    [anon_sym_register] = ACTIONS(1128),
+    [anon_sym_inline] = ACTIONS(1128),
+    [anon_sym___inline] = ACTIONS(1128),
+    [anon_sym___inline__] = ACTIONS(1128),
+    [anon_sym___forceinline] = ACTIONS(1128),
+    [anon_sym_thread_local] = ACTIONS(1128),
+    [anon_sym___thread] = ACTIONS(1128),
+    [anon_sym_const] = ACTIONS(1128),
+    [anon_sym_constexpr] = ACTIONS(1128),
+    [anon_sym_volatile] = ACTIONS(1128),
+    [anon_sym_restrict] = ACTIONS(1128),
+    [anon_sym___restrict__] = ACTIONS(1128),
+    [anon_sym__Atomic] = ACTIONS(1128),
+    [anon_sym__Noreturn] = ACTIONS(1128),
+    [anon_sym_noreturn] = ACTIONS(1128),
+    [anon_sym__Nonnull] = ACTIONS(1128),
+    [anon_sym_alignas] = ACTIONS(1128),
+    [anon_sym__Alignas] = ACTIONS(1128),
+    [sym_primitive_type] = ACTIONS(1128),
+    [anon_sym_enum] = ACTIONS(1128),
+    [anon_sym_struct] = ACTIONS(1128),
+    [anon_sym_union] = ACTIONS(1128),
+    [anon_sym_if] = ACTIONS(1128),
+    [anon_sym_else] = ACTIONS(1384),
+    [anon_sym_switch] = ACTIONS(1128),
+    [anon_sym_case] = ACTIONS(1128),
+    [anon_sym_default] = ACTIONS(1128),
+    [anon_sym_while] = ACTIONS(1128),
+    [anon_sym_do] = ACTIONS(1128),
+    [anon_sym_for] = ACTIONS(1128),
+    [anon_sym_return] = ACTIONS(1128),
+    [anon_sym_break] = ACTIONS(1128),
+    [anon_sym_continue] = ACTIONS(1128),
+    [anon_sym_goto] = ACTIONS(1128),
+    [anon_sym___try] = ACTIONS(1128),
+    [anon_sym___leave] = ACTIONS(1128),
+    [anon_sym_DASH_DASH] = ACTIONS(1130),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1130),
+    [anon_sym_sizeof] = ACTIONS(1128),
+    [anon_sym___alignof__] = ACTIONS(1128),
+    [anon_sym___alignof] = ACTIONS(1128),
+    [anon_sym__alignof] = ACTIONS(1128),
+    [anon_sym_alignof] = ACTIONS(1128),
+    [anon_sym__Alignof] = ACTIONS(1128),
+    [anon_sym_offsetof] = ACTIONS(1128),
+    [anon_sym__Generic] = ACTIONS(1128),
+    [anon_sym_asm] = ACTIONS(1128),
+    [anon_sym___asm__] = ACTIONS(1128),
+    [anon_sym___asm] = ACTIONS(1128),
+    [sym_number_literal] = ACTIONS(1130),
+    [anon_sym_L_SQUOTE] = ACTIONS(1130),
+    [anon_sym_u_SQUOTE] = ACTIONS(1130),
+    [anon_sym_U_SQUOTE] = ACTIONS(1130),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1130),
+    [anon_sym_SQUOTE] = ACTIONS(1130),
+    [anon_sym_L_DQUOTE] = ACTIONS(1130),
+    [anon_sym_u_DQUOTE] = ACTIONS(1130),
+    [anon_sym_U_DQUOTE] = ACTIONS(1130),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1130),
+    [anon_sym_DQUOTE] = ACTIONS(1130),
+    [sym_true] = ACTIONS(1128),
+    [sym_false] = ACTIONS(1128),
+    [anon_sym_NULL] = ACTIONS(1128),
+    [anon_sym_nullptr] = ACTIONS(1128),
     [sym_comment] = ACTIONS(3),
   },
   [151] = {
-    [sym_identifier] = ACTIONS(1233),
-    [aux_sym_preproc_include_token1] = ACTIONS(1233),
-    [aux_sym_preproc_def_token1] = ACTIONS(1233),
-    [aux_sym_preproc_if_token1] = ACTIONS(1233),
-    [aux_sym_preproc_if_token2] = ACTIONS(1233),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1233),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1233),
-    [sym_preproc_directive] = ACTIONS(1233),
-    [anon_sym_LPAREN2] = ACTIONS(1235),
-    [anon_sym_BANG] = ACTIONS(1235),
-    [anon_sym_TILDE] = ACTIONS(1235),
-    [anon_sym_DASH] = ACTIONS(1233),
-    [anon_sym_PLUS] = ACTIONS(1233),
-    [anon_sym_STAR] = ACTIONS(1235),
-    [anon_sym_AMP] = ACTIONS(1235),
-    [anon_sym_SEMI] = ACTIONS(1235),
-    [anon_sym___extension__] = ACTIONS(1233),
-    [anon_sym_typedef] = ACTIONS(1233),
-    [anon_sym_extern] = ACTIONS(1233),
-    [anon_sym___attribute__] = ACTIONS(1233),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1235),
-    [anon_sym___declspec] = ACTIONS(1233),
-    [anon_sym___cdecl] = ACTIONS(1233),
-    [anon_sym___clrcall] = ACTIONS(1233),
-    [anon_sym___stdcall] = ACTIONS(1233),
-    [anon_sym___fastcall] = ACTIONS(1233),
-    [anon_sym___thiscall] = ACTIONS(1233),
-    [anon_sym___vectorcall] = ACTIONS(1233),
-    [anon_sym_LBRACE] = ACTIONS(1235),
-    [anon_sym_signed] = ACTIONS(1233),
-    [anon_sym_unsigned] = ACTIONS(1233),
-    [anon_sym_long] = ACTIONS(1233),
-    [anon_sym_short] = ACTIONS(1233),
-    [anon_sym_static] = ACTIONS(1233),
-    [anon_sym_auto] = ACTIONS(1233),
-    [anon_sym_register] = ACTIONS(1233),
-    [anon_sym_inline] = ACTIONS(1233),
-    [anon_sym___inline] = ACTIONS(1233),
-    [anon_sym___inline__] = ACTIONS(1233),
-    [anon_sym___forceinline] = ACTIONS(1233),
-    [anon_sym_thread_local] = ACTIONS(1233),
-    [anon_sym___thread] = ACTIONS(1233),
-    [anon_sym_const] = ACTIONS(1233),
-    [anon_sym_constexpr] = ACTIONS(1233),
-    [anon_sym_volatile] = ACTIONS(1233),
-    [anon_sym_restrict] = ACTIONS(1233),
-    [anon_sym___restrict__] = ACTIONS(1233),
-    [anon_sym__Atomic] = ACTIONS(1233),
-    [anon_sym__Noreturn] = ACTIONS(1233),
-    [anon_sym_noreturn] = ACTIONS(1233),
-    [anon_sym__Nonnull] = ACTIONS(1233),
-    [anon_sym_alignas] = ACTIONS(1233),
-    [anon_sym__Alignas] = ACTIONS(1233),
-    [sym_primitive_type] = ACTIONS(1233),
-    [anon_sym_enum] = ACTIONS(1233),
-    [anon_sym_struct] = ACTIONS(1233),
-    [anon_sym_union] = ACTIONS(1233),
-    [anon_sym_if] = ACTIONS(1233),
-    [anon_sym_else] = ACTIONS(1233),
-    [anon_sym_switch] = ACTIONS(1233),
-    [anon_sym_case] = ACTIONS(1233),
-    [anon_sym_default] = ACTIONS(1233),
-    [anon_sym_while] = ACTIONS(1233),
-    [anon_sym_do] = ACTIONS(1233),
-    [anon_sym_for] = ACTIONS(1233),
-    [anon_sym_return] = ACTIONS(1233),
-    [anon_sym_break] = ACTIONS(1233),
-    [anon_sym_continue] = ACTIONS(1233),
-    [anon_sym_goto] = ACTIONS(1233),
-    [anon_sym___try] = ACTIONS(1233),
-    [anon_sym___leave] = ACTIONS(1233),
-    [anon_sym_DASH_DASH] = ACTIONS(1235),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1235),
-    [anon_sym_sizeof] = ACTIONS(1233),
-    [anon_sym___alignof__] = ACTIONS(1233),
-    [anon_sym___alignof] = ACTIONS(1233),
-    [anon_sym__alignof] = ACTIONS(1233),
-    [anon_sym_alignof] = ACTIONS(1233),
-    [anon_sym__Alignof] = ACTIONS(1233),
-    [anon_sym_offsetof] = ACTIONS(1233),
-    [anon_sym__Generic] = ACTIONS(1233),
-    [anon_sym_asm] = ACTIONS(1233),
-    [anon_sym___asm__] = ACTIONS(1233),
-    [anon_sym___asm] = ACTIONS(1233),
-    [sym_number_literal] = ACTIONS(1235),
-    [anon_sym_L_SQUOTE] = ACTIONS(1235),
-    [anon_sym_u_SQUOTE] = ACTIONS(1235),
-    [anon_sym_U_SQUOTE] = ACTIONS(1235),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1235),
-    [anon_sym_SQUOTE] = ACTIONS(1235),
-    [anon_sym_L_DQUOTE] = ACTIONS(1235),
-    [anon_sym_u_DQUOTE] = ACTIONS(1235),
-    [anon_sym_U_DQUOTE] = ACTIONS(1235),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1235),
-    [anon_sym_DQUOTE] = ACTIONS(1235),
-    [sym_true] = ACTIONS(1233),
-    [sym_false] = ACTIONS(1233),
-    [anon_sym_NULL] = ACTIONS(1233),
-    [anon_sym_nullptr] = ACTIONS(1233),
+    [ts_builtin_sym_end] = ACTIONS(1172),
+    [sym_identifier] = ACTIONS(1170),
+    [aux_sym_preproc_include_token1] = ACTIONS(1170),
+    [aux_sym_preproc_def_token1] = ACTIONS(1170),
+    [aux_sym_preproc_if_token1] = ACTIONS(1170),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1170),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1170),
+    [sym_preproc_directive] = ACTIONS(1170),
+    [anon_sym_LPAREN2] = ACTIONS(1172),
+    [anon_sym_BANG] = ACTIONS(1172),
+    [anon_sym_TILDE] = ACTIONS(1172),
+    [anon_sym_DASH] = ACTIONS(1170),
+    [anon_sym_PLUS] = ACTIONS(1170),
+    [anon_sym_STAR] = ACTIONS(1172),
+    [anon_sym_AMP] = ACTIONS(1172),
+    [anon_sym_SEMI] = ACTIONS(1172),
+    [anon_sym___extension__] = ACTIONS(1170),
+    [anon_sym_typedef] = ACTIONS(1170),
+    [anon_sym_extern] = ACTIONS(1170),
+    [anon_sym___attribute__] = ACTIONS(1170),
+    [anon_sym___attribute] = ACTIONS(1170),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1172),
+    [anon_sym___declspec] = ACTIONS(1170),
+    [anon_sym___cdecl] = ACTIONS(1170),
+    [anon_sym___clrcall] = ACTIONS(1170),
+    [anon_sym___stdcall] = ACTIONS(1170),
+    [anon_sym___fastcall] = ACTIONS(1170),
+    [anon_sym___thiscall] = ACTIONS(1170),
+    [anon_sym___vectorcall] = ACTIONS(1170),
+    [anon_sym_LBRACE] = ACTIONS(1172),
+    [anon_sym_signed] = ACTIONS(1170),
+    [anon_sym_unsigned] = ACTIONS(1170),
+    [anon_sym_long] = ACTIONS(1170),
+    [anon_sym_short] = ACTIONS(1170),
+    [anon_sym_static] = ACTIONS(1170),
+    [anon_sym_auto] = ACTIONS(1170),
+    [anon_sym_register] = ACTIONS(1170),
+    [anon_sym_inline] = ACTIONS(1170),
+    [anon_sym___inline] = ACTIONS(1170),
+    [anon_sym___inline__] = ACTIONS(1170),
+    [anon_sym___forceinline] = ACTIONS(1170),
+    [anon_sym_thread_local] = ACTIONS(1170),
+    [anon_sym___thread] = ACTIONS(1170),
+    [anon_sym_const] = ACTIONS(1170),
+    [anon_sym_constexpr] = ACTIONS(1170),
+    [anon_sym_volatile] = ACTIONS(1170),
+    [anon_sym_restrict] = ACTIONS(1170),
+    [anon_sym___restrict__] = ACTIONS(1170),
+    [anon_sym__Atomic] = ACTIONS(1170),
+    [anon_sym__Noreturn] = ACTIONS(1170),
+    [anon_sym_noreturn] = ACTIONS(1170),
+    [anon_sym__Nonnull] = ACTIONS(1170),
+    [anon_sym_alignas] = ACTIONS(1170),
+    [anon_sym__Alignas] = ACTIONS(1170),
+    [sym_primitive_type] = ACTIONS(1170),
+    [anon_sym_enum] = ACTIONS(1170),
+    [anon_sym_struct] = ACTIONS(1170),
+    [anon_sym_union] = ACTIONS(1170),
+    [anon_sym_if] = ACTIONS(1170),
+    [anon_sym_else] = ACTIONS(1170),
+    [anon_sym_switch] = ACTIONS(1170),
+    [anon_sym_case] = ACTIONS(1170),
+    [anon_sym_default] = ACTIONS(1170),
+    [anon_sym_while] = ACTIONS(1170),
+    [anon_sym_do] = ACTIONS(1170),
+    [anon_sym_for] = ACTIONS(1170),
+    [anon_sym_return] = ACTIONS(1170),
+    [anon_sym_break] = ACTIONS(1170),
+    [anon_sym_continue] = ACTIONS(1170),
+    [anon_sym_goto] = ACTIONS(1170),
+    [anon_sym___try] = ACTIONS(1170),
+    [anon_sym___leave] = ACTIONS(1170),
+    [anon_sym_DASH_DASH] = ACTIONS(1172),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1172),
+    [anon_sym_sizeof] = ACTIONS(1170),
+    [anon_sym___alignof__] = ACTIONS(1170),
+    [anon_sym___alignof] = ACTIONS(1170),
+    [anon_sym__alignof] = ACTIONS(1170),
+    [anon_sym_alignof] = ACTIONS(1170),
+    [anon_sym__Alignof] = ACTIONS(1170),
+    [anon_sym_offsetof] = ACTIONS(1170),
+    [anon_sym__Generic] = ACTIONS(1170),
+    [anon_sym_asm] = ACTIONS(1170),
+    [anon_sym___asm__] = ACTIONS(1170),
+    [anon_sym___asm] = ACTIONS(1170),
+    [sym_number_literal] = ACTIONS(1172),
+    [anon_sym_L_SQUOTE] = ACTIONS(1172),
+    [anon_sym_u_SQUOTE] = ACTIONS(1172),
+    [anon_sym_U_SQUOTE] = ACTIONS(1172),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1172),
+    [anon_sym_SQUOTE] = ACTIONS(1172),
+    [anon_sym_L_DQUOTE] = ACTIONS(1172),
+    [anon_sym_u_DQUOTE] = ACTIONS(1172),
+    [anon_sym_U_DQUOTE] = ACTIONS(1172),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1172),
+    [anon_sym_DQUOTE] = ACTIONS(1172),
+    [sym_true] = ACTIONS(1170),
+    [sym_false] = ACTIONS(1170),
+    [anon_sym_NULL] = ACTIONS(1170),
+    [anon_sym_nullptr] = ACTIONS(1170),
     [sym_comment] = ACTIONS(3),
   },
   [152] = {
-    [sym_identifier] = ACTIONS(1225),
-    [aux_sym_preproc_include_token1] = ACTIONS(1225),
-    [aux_sym_preproc_def_token1] = ACTIONS(1225),
-    [aux_sym_preproc_if_token1] = ACTIONS(1225),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1225),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1225),
-    [sym_preproc_directive] = ACTIONS(1225),
-    [anon_sym_LPAREN2] = ACTIONS(1227),
-    [anon_sym_BANG] = ACTIONS(1227),
-    [anon_sym_TILDE] = ACTIONS(1227),
-    [anon_sym_DASH] = ACTIONS(1225),
-    [anon_sym_PLUS] = ACTIONS(1225),
-    [anon_sym_STAR] = ACTIONS(1227),
-    [anon_sym_AMP] = ACTIONS(1227),
-    [anon_sym_SEMI] = ACTIONS(1227),
-    [anon_sym___extension__] = ACTIONS(1225),
-    [anon_sym_typedef] = ACTIONS(1225),
-    [anon_sym_extern] = ACTIONS(1225),
-    [anon_sym___attribute__] = ACTIONS(1225),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1227),
-    [anon_sym___declspec] = ACTIONS(1225),
-    [anon_sym___cdecl] = ACTIONS(1225),
-    [anon_sym___clrcall] = ACTIONS(1225),
-    [anon_sym___stdcall] = ACTIONS(1225),
-    [anon_sym___fastcall] = ACTIONS(1225),
-    [anon_sym___thiscall] = ACTIONS(1225),
-    [anon_sym___vectorcall] = ACTIONS(1225),
-    [anon_sym_LBRACE] = ACTIONS(1227),
-    [anon_sym_RBRACE] = ACTIONS(1227),
-    [anon_sym_signed] = ACTIONS(1225),
-    [anon_sym_unsigned] = ACTIONS(1225),
-    [anon_sym_long] = ACTIONS(1225),
-    [anon_sym_short] = ACTIONS(1225),
-    [anon_sym_static] = ACTIONS(1225),
-    [anon_sym_auto] = ACTIONS(1225),
-    [anon_sym_register] = ACTIONS(1225),
-    [anon_sym_inline] = ACTIONS(1225),
-    [anon_sym___inline] = ACTIONS(1225),
-    [anon_sym___inline__] = ACTIONS(1225),
-    [anon_sym___forceinline] = ACTIONS(1225),
-    [anon_sym_thread_local] = ACTIONS(1225),
-    [anon_sym___thread] = ACTIONS(1225),
-    [anon_sym_const] = ACTIONS(1225),
-    [anon_sym_constexpr] = ACTIONS(1225),
-    [anon_sym_volatile] = ACTIONS(1225),
-    [anon_sym_restrict] = ACTIONS(1225),
-    [anon_sym___restrict__] = ACTIONS(1225),
-    [anon_sym__Atomic] = ACTIONS(1225),
-    [anon_sym__Noreturn] = ACTIONS(1225),
-    [anon_sym_noreturn] = ACTIONS(1225),
-    [anon_sym__Nonnull] = ACTIONS(1225),
-    [anon_sym_alignas] = ACTIONS(1225),
-    [anon_sym__Alignas] = ACTIONS(1225),
-    [sym_primitive_type] = ACTIONS(1225),
-    [anon_sym_enum] = ACTIONS(1225),
-    [anon_sym_struct] = ACTIONS(1225),
-    [anon_sym_union] = ACTIONS(1225),
-    [anon_sym_if] = ACTIONS(1225),
-    [anon_sym_else] = ACTIONS(1225),
-    [anon_sym_switch] = ACTIONS(1225),
-    [anon_sym_case] = ACTIONS(1225),
-    [anon_sym_default] = ACTIONS(1225),
-    [anon_sym_while] = ACTIONS(1225),
-    [anon_sym_do] = ACTIONS(1225),
-    [anon_sym_for] = ACTIONS(1225),
-    [anon_sym_return] = ACTIONS(1225),
-    [anon_sym_break] = ACTIONS(1225),
-    [anon_sym_continue] = ACTIONS(1225),
-    [anon_sym_goto] = ACTIONS(1225),
-    [anon_sym___try] = ACTIONS(1225),
-    [anon_sym___leave] = ACTIONS(1225),
-    [anon_sym_DASH_DASH] = ACTIONS(1227),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1227),
-    [anon_sym_sizeof] = ACTIONS(1225),
-    [anon_sym___alignof__] = ACTIONS(1225),
-    [anon_sym___alignof] = ACTIONS(1225),
-    [anon_sym__alignof] = ACTIONS(1225),
-    [anon_sym_alignof] = ACTIONS(1225),
-    [anon_sym__Alignof] = ACTIONS(1225),
-    [anon_sym_offsetof] = ACTIONS(1225),
-    [anon_sym__Generic] = ACTIONS(1225),
-    [anon_sym_asm] = ACTIONS(1225),
-    [anon_sym___asm__] = ACTIONS(1225),
-    [anon_sym___asm] = ACTIONS(1225),
-    [sym_number_literal] = ACTIONS(1227),
-    [anon_sym_L_SQUOTE] = ACTIONS(1227),
-    [anon_sym_u_SQUOTE] = ACTIONS(1227),
-    [anon_sym_U_SQUOTE] = ACTIONS(1227),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1227),
-    [anon_sym_SQUOTE] = ACTIONS(1227),
-    [anon_sym_L_DQUOTE] = ACTIONS(1227),
-    [anon_sym_u_DQUOTE] = ACTIONS(1227),
-    [anon_sym_U_DQUOTE] = ACTIONS(1227),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1227),
-    [anon_sym_DQUOTE] = ACTIONS(1227),
-    [sym_true] = ACTIONS(1225),
-    [sym_false] = ACTIONS(1225),
-    [anon_sym_NULL] = ACTIONS(1225),
-    [anon_sym_nullptr] = ACTIONS(1225),
+    [sym_identifier] = ACTIONS(1202),
+    [aux_sym_preproc_include_token1] = ACTIONS(1202),
+    [aux_sym_preproc_def_token1] = ACTIONS(1202),
+    [aux_sym_preproc_if_token1] = ACTIONS(1202),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1202),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1202),
+    [sym_preproc_directive] = ACTIONS(1202),
+    [anon_sym_LPAREN2] = ACTIONS(1204),
+    [anon_sym_BANG] = ACTIONS(1204),
+    [anon_sym_TILDE] = ACTIONS(1204),
+    [anon_sym_DASH] = ACTIONS(1202),
+    [anon_sym_PLUS] = ACTIONS(1202),
+    [anon_sym_STAR] = ACTIONS(1204),
+    [anon_sym_AMP] = ACTIONS(1204),
+    [anon_sym_SEMI] = ACTIONS(1204),
+    [anon_sym___extension__] = ACTIONS(1202),
+    [anon_sym_typedef] = ACTIONS(1202),
+    [anon_sym_extern] = ACTIONS(1202),
+    [anon_sym___attribute__] = ACTIONS(1202),
+    [anon_sym___attribute] = ACTIONS(1202),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1204),
+    [anon_sym___declspec] = ACTIONS(1202),
+    [anon_sym___cdecl] = ACTIONS(1202),
+    [anon_sym___clrcall] = ACTIONS(1202),
+    [anon_sym___stdcall] = ACTIONS(1202),
+    [anon_sym___fastcall] = ACTIONS(1202),
+    [anon_sym___thiscall] = ACTIONS(1202),
+    [anon_sym___vectorcall] = ACTIONS(1202),
+    [anon_sym_LBRACE] = ACTIONS(1204),
+    [anon_sym_RBRACE] = ACTIONS(1204),
+    [anon_sym_signed] = ACTIONS(1202),
+    [anon_sym_unsigned] = ACTIONS(1202),
+    [anon_sym_long] = ACTIONS(1202),
+    [anon_sym_short] = ACTIONS(1202),
+    [anon_sym_static] = ACTIONS(1202),
+    [anon_sym_auto] = ACTIONS(1202),
+    [anon_sym_register] = ACTIONS(1202),
+    [anon_sym_inline] = ACTIONS(1202),
+    [anon_sym___inline] = ACTIONS(1202),
+    [anon_sym___inline__] = ACTIONS(1202),
+    [anon_sym___forceinline] = ACTIONS(1202),
+    [anon_sym_thread_local] = ACTIONS(1202),
+    [anon_sym___thread] = ACTIONS(1202),
+    [anon_sym_const] = ACTIONS(1202),
+    [anon_sym_constexpr] = ACTIONS(1202),
+    [anon_sym_volatile] = ACTIONS(1202),
+    [anon_sym_restrict] = ACTIONS(1202),
+    [anon_sym___restrict__] = ACTIONS(1202),
+    [anon_sym__Atomic] = ACTIONS(1202),
+    [anon_sym__Noreturn] = ACTIONS(1202),
+    [anon_sym_noreturn] = ACTIONS(1202),
+    [anon_sym__Nonnull] = ACTIONS(1202),
+    [anon_sym_alignas] = ACTIONS(1202),
+    [anon_sym__Alignas] = ACTIONS(1202),
+    [sym_primitive_type] = ACTIONS(1202),
+    [anon_sym_enum] = ACTIONS(1202),
+    [anon_sym_struct] = ACTIONS(1202),
+    [anon_sym_union] = ACTIONS(1202),
+    [anon_sym_if] = ACTIONS(1202),
+    [anon_sym_else] = ACTIONS(1202),
+    [anon_sym_switch] = ACTIONS(1202),
+    [anon_sym_case] = ACTIONS(1202),
+    [anon_sym_default] = ACTIONS(1202),
+    [anon_sym_while] = ACTIONS(1202),
+    [anon_sym_do] = ACTIONS(1202),
+    [anon_sym_for] = ACTIONS(1202),
+    [anon_sym_return] = ACTIONS(1202),
+    [anon_sym_break] = ACTIONS(1202),
+    [anon_sym_continue] = ACTIONS(1202),
+    [anon_sym_goto] = ACTIONS(1202),
+    [anon_sym___try] = ACTIONS(1202),
+    [anon_sym___leave] = ACTIONS(1202),
+    [anon_sym_DASH_DASH] = ACTIONS(1204),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1204),
+    [anon_sym_sizeof] = ACTIONS(1202),
+    [anon_sym___alignof__] = ACTIONS(1202),
+    [anon_sym___alignof] = ACTIONS(1202),
+    [anon_sym__alignof] = ACTIONS(1202),
+    [anon_sym_alignof] = ACTIONS(1202),
+    [anon_sym__Alignof] = ACTIONS(1202),
+    [anon_sym_offsetof] = ACTIONS(1202),
+    [anon_sym__Generic] = ACTIONS(1202),
+    [anon_sym_asm] = ACTIONS(1202),
+    [anon_sym___asm__] = ACTIONS(1202),
+    [anon_sym___asm] = ACTIONS(1202),
+    [sym_number_literal] = ACTIONS(1204),
+    [anon_sym_L_SQUOTE] = ACTIONS(1204),
+    [anon_sym_u_SQUOTE] = ACTIONS(1204),
+    [anon_sym_U_SQUOTE] = ACTIONS(1204),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1204),
+    [anon_sym_SQUOTE] = ACTIONS(1204),
+    [anon_sym_L_DQUOTE] = ACTIONS(1204),
+    [anon_sym_u_DQUOTE] = ACTIONS(1204),
+    [anon_sym_U_DQUOTE] = ACTIONS(1204),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1204),
+    [anon_sym_DQUOTE] = ACTIONS(1204),
+    [sym_true] = ACTIONS(1202),
+    [sym_false] = ACTIONS(1202),
+    [anon_sym_NULL] = ACTIONS(1202),
+    [anon_sym_nullptr] = ACTIONS(1202),
     [sym_comment] = ACTIONS(3),
   },
   [153] = {
-    [sym_identifier] = ACTIONS(1229),
-    [aux_sym_preproc_include_token1] = ACTIONS(1229),
-    [aux_sym_preproc_def_token1] = ACTIONS(1229),
-    [aux_sym_preproc_if_token1] = ACTIONS(1229),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1229),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1229),
-    [sym_preproc_directive] = ACTIONS(1229),
-    [anon_sym_LPAREN2] = ACTIONS(1231),
-    [anon_sym_BANG] = ACTIONS(1231),
-    [anon_sym_TILDE] = ACTIONS(1231),
-    [anon_sym_DASH] = ACTIONS(1229),
-    [anon_sym_PLUS] = ACTIONS(1229),
-    [anon_sym_STAR] = ACTIONS(1231),
-    [anon_sym_AMP] = ACTIONS(1231),
-    [anon_sym_SEMI] = ACTIONS(1231),
-    [anon_sym___extension__] = ACTIONS(1229),
-    [anon_sym_typedef] = ACTIONS(1229),
-    [anon_sym_extern] = ACTIONS(1229),
-    [anon_sym___attribute__] = ACTIONS(1229),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1231),
-    [anon_sym___declspec] = ACTIONS(1229),
-    [anon_sym___cdecl] = ACTIONS(1229),
-    [anon_sym___clrcall] = ACTIONS(1229),
-    [anon_sym___stdcall] = ACTIONS(1229),
-    [anon_sym___fastcall] = ACTIONS(1229),
-    [anon_sym___thiscall] = ACTIONS(1229),
-    [anon_sym___vectorcall] = ACTIONS(1229),
-    [anon_sym_LBRACE] = ACTIONS(1231),
-    [anon_sym_RBRACE] = ACTIONS(1231),
-    [anon_sym_signed] = ACTIONS(1229),
-    [anon_sym_unsigned] = ACTIONS(1229),
-    [anon_sym_long] = ACTIONS(1229),
-    [anon_sym_short] = ACTIONS(1229),
-    [anon_sym_static] = ACTIONS(1229),
-    [anon_sym_auto] = ACTIONS(1229),
-    [anon_sym_register] = ACTIONS(1229),
-    [anon_sym_inline] = ACTIONS(1229),
-    [anon_sym___inline] = ACTIONS(1229),
-    [anon_sym___inline__] = ACTIONS(1229),
-    [anon_sym___forceinline] = ACTIONS(1229),
-    [anon_sym_thread_local] = ACTIONS(1229),
-    [anon_sym___thread] = ACTIONS(1229),
-    [anon_sym_const] = ACTIONS(1229),
-    [anon_sym_constexpr] = ACTIONS(1229),
-    [anon_sym_volatile] = ACTIONS(1229),
-    [anon_sym_restrict] = ACTIONS(1229),
-    [anon_sym___restrict__] = ACTIONS(1229),
-    [anon_sym__Atomic] = ACTIONS(1229),
-    [anon_sym__Noreturn] = ACTIONS(1229),
-    [anon_sym_noreturn] = ACTIONS(1229),
-    [anon_sym__Nonnull] = ACTIONS(1229),
-    [anon_sym_alignas] = ACTIONS(1229),
-    [anon_sym__Alignas] = ACTIONS(1229),
-    [sym_primitive_type] = ACTIONS(1229),
-    [anon_sym_enum] = ACTIONS(1229),
-    [anon_sym_struct] = ACTIONS(1229),
-    [anon_sym_union] = ACTIONS(1229),
-    [anon_sym_if] = ACTIONS(1229),
-    [anon_sym_else] = ACTIONS(1229),
-    [anon_sym_switch] = ACTIONS(1229),
-    [anon_sym_case] = ACTIONS(1229),
-    [anon_sym_default] = ACTIONS(1229),
-    [anon_sym_while] = ACTIONS(1229),
-    [anon_sym_do] = ACTIONS(1229),
-    [anon_sym_for] = ACTIONS(1229),
-    [anon_sym_return] = ACTIONS(1229),
-    [anon_sym_break] = ACTIONS(1229),
-    [anon_sym_continue] = ACTIONS(1229),
-    [anon_sym_goto] = ACTIONS(1229),
-    [anon_sym___try] = ACTIONS(1229),
-    [anon_sym___leave] = ACTIONS(1229),
-    [anon_sym_DASH_DASH] = ACTIONS(1231),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1231),
-    [anon_sym_sizeof] = ACTIONS(1229),
-    [anon_sym___alignof__] = ACTIONS(1229),
-    [anon_sym___alignof] = ACTIONS(1229),
-    [anon_sym__alignof] = ACTIONS(1229),
-    [anon_sym_alignof] = ACTIONS(1229),
-    [anon_sym__Alignof] = ACTIONS(1229),
-    [anon_sym_offsetof] = ACTIONS(1229),
-    [anon_sym__Generic] = ACTIONS(1229),
-    [anon_sym_asm] = ACTIONS(1229),
-    [anon_sym___asm__] = ACTIONS(1229),
-    [anon_sym___asm] = ACTIONS(1229),
-    [sym_number_literal] = ACTIONS(1231),
-    [anon_sym_L_SQUOTE] = ACTIONS(1231),
-    [anon_sym_u_SQUOTE] = ACTIONS(1231),
-    [anon_sym_U_SQUOTE] = ACTIONS(1231),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1231),
-    [anon_sym_SQUOTE] = ACTIONS(1231),
-    [anon_sym_L_DQUOTE] = ACTIONS(1231),
-    [anon_sym_u_DQUOTE] = ACTIONS(1231),
-    [anon_sym_U_DQUOTE] = ACTIONS(1231),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1231),
-    [anon_sym_DQUOTE] = ACTIONS(1231),
-    [sym_true] = ACTIONS(1229),
-    [sym_false] = ACTIONS(1229),
-    [anon_sym_NULL] = ACTIONS(1229),
-    [anon_sym_nullptr] = ACTIONS(1229),
+    [sym_identifier] = ACTIONS(1202),
+    [aux_sym_preproc_include_token1] = ACTIONS(1202),
+    [aux_sym_preproc_def_token1] = ACTIONS(1202),
+    [aux_sym_preproc_if_token1] = ACTIONS(1202),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1202),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1202),
+    [sym_preproc_directive] = ACTIONS(1202),
+    [anon_sym_LPAREN2] = ACTIONS(1204),
+    [anon_sym_BANG] = ACTIONS(1204),
+    [anon_sym_TILDE] = ACTIONS(1204),
+    [anon_sym_DASH] = ACTIONS(1202),
+    [anon_sym_PLUS] = ACTIONS(1202),
+    [anon_sym_STAR] = ACTIONS(1204),
+    [anon_sym_AMP] = ACTIONS(1204),
+    [anon_sym_SEMI] = ACTIONS(1204),
+    [anon_sym___extension__] = ACTIONS(1202),
+    [anon_sym_typedef] = ACTIONS(1202),
+    [anon_sym_extern] = ACTIONS(1202),
+    [anon_sym___attribute__] = ACTIONS(1202),
+    [anon_sym___attribute] = ACTIONS(1202),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1204),
+    [anon_sym___declspec] = ACTIONS(1202),
+    [anon_sym___cdecl] = ACTIONS(1202),
+    [anon_sym___clrcall] = ACTIONS(1202),
+    [anon_sym___stdcall] = ACTIONS(1202),
+    [anon_sym___fastcall] = ACTIONS(1202),
+    [anon_sym___thiscall] = ACTIONS(1202),
+    [anon_sym___vectorcall] = ACTIONS(1202),
+    [anon_sym_LBRACE] = ACTIONS(1204),
+    [anon_sym_RBRACE] = ACTIONS(1204),
+    [anon_sym_signed] = ACTIONS(1202),
+    [anon_sym_unsigned] = ACTIONS(1202),
+    [anon_sym_long] = ACTIONS(1202),
+    [anon_sym_short] = ACTIONS(1202),
+    [anon_sym_static] = ACTIONS(1202),
+    [anon_sym_auto] = ACTIONS(1202),
+    [anon_sym_register] = ACTIONS(1202),
+    [anon_sym_inline] = ACTIONS(1202),
+    [anon_sym___inline] = ACTIONS(1202),
+    [anon_sym___inline__] = ACTIONS(1202),
+    [anon_sym___forceinline] = ACTIONS(1202),
+    [anon_sym_thread_local] = ACTIONS(1202),
+    [anon_sym___thread] = ACTIONS(1202),
+    [anon_sym_const] = ACTIONS(1202),
+    [anon_sym_constexpr] = ACTIONS(1202),
+    [anon_sym_volatile] = ACTIONS(1202),
+    [anon_sym_restrict] = ACTIONS(1202),
+    [anon_sym___restrict__] = ACTIONS(1202),
+    [anon_sym__Atomic] = ACTIONS(1202),
+    [anon_sym__Noreturn] = ACTIONS(1202),
+    [anon_sym_noreturn] = ACTIONS(1202),
+    [anon_sym__Nonnull] = ACTIONS(1202),
+    [anon_sym_alignas] = ACTIONS(1202),
+    [anon_sym__Alignas] = ACTIONS(1202),
+    [sym_primitive_type] = ACTIONS(1202),
+    [anon_sym_enum] = ACTIONS(1202),
+    [anon_sym_struct] = ACTIONS(1202),
+    [anon_sym_union] = ACTIONS(1202),
+    [anon_sym_if] = ACTIONS(1202),
+    [anon_sym_else] = ACTIONS(1202),
+    [anon_sym_switch] = ACTIONS(1202),
+    [anon_sym_case] = ACTIONS(1202),
+    [anon_sym_default] = ACTIONS(1202),
+    [anon_sym_while] = ACTIONS(1202),
+    [anon_sym_do] = ACTIONS(1202),
+    [anon_sym_for] = ACTIONS(1202),
+    [anon_sym_return] = ACTIONS(1202),
+    [anon_sym_break] = ACTIONS(1202),
+    [anon_sym_continue] = ACTIONS(1202),
+    [anon_sym_goto] = ACTIONS(1202),
+    [anon_sym___try] = ACTIONS(1202),
+    [anon_sym___leave] = ACTIONS(1202),
+    [anon_sym_DASH_DASH] = ACTIONS(1204),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1204),
+    [anon_sym_sizeof] = ACTIONS(1202),
+    [anon_sym___alignof__] = ACTIONS(1202),
+    [anon_sym___alignof] = ACTIONS(1202),
+    [anon_sym__alignof] = ACTIONS(1202),
+    [anon_sym_alignof] = ACTIONS(1202),
+    [anon_sym__Alignof] = ACTIONS(1202),
+    [anon_sym_offsetof] = ACTIONS(1202),
+    [anon_sym__Generic] = ACTIONS(1202),
+    [anon_sym_asm] = ACTIONS(1202),
+    [anon_sym___asm__] = ACTIONS(1202),
+    [anon_sym___asm] = ACTIONS(1202),
+    [sym_number_literal] = ACTIONS(1204),
+    [anon_sym_L_SQUOTE] = ACTIONS(1204),
+    [anon_sym_u_SQUOTE] = ACTIONS(1204),
+    [anon_sym_U_SQUOTE] = ACTIONS(1204),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1204),
+    [anon_sym_SQUOTE] = ACTIONS(1204),
+    [anon_sym_L_DQUOTE] = ACTIONS(1204),
+    [anon_sym_u_DQUOTE] = ACTIONS(1204),
+    [anon_sym_U_DQUOTE] = ACTIONS(1204),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1204),
+    [anon_sym_DQUOTE] = ACTIONS(1204),
+    [sym_true] = ACTIONS(1202),
+    [sym_false] = ACTIONS(1202),
+    [anon_sym_NULL] = ACTIONS(1202),
+    [anon_sym_nullptr] = ACTIONS(1202),
     [sym_comment] = ACTIONS(3),
   },
   [154] = {
-    [sym_identifier] = ACTIONS(1233),
-    [aux_sym_preproc_include_token1] = ACTIONS(1233),
-    [aux_sym_preproc_def_token1] = ACTIONS(1233),
-    [aux_sym_preproc_if_token1] = ACTIONS(1233),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1233),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1233),
-    [sym_preproc_directive] = ACTIONS(1233),
-    [anon_sym_LPAREN2] = ACTIONS(1235),
-    [anon_sym_BANG] = ACTIONS(1235),
-    [anon_sym_TILDE] = ACTIONS(1235),
-    [anon_sym_DASH] = ACTIONS(1233),
-    [anon_sym_PLUS] = ACTIONS(1233),
-    [anon_sym_STAR] = ACTIONS(1235),
-    [anon_sym_AMP] = ACTIONS(1235),
-    [anon_sym_SEMI] = ACTIONS(1235),
-    [anon_sym___extension__] = ACTIONS(1233),
-    [anon_sym_typedef] = ACTIONS(1233),
-    [anon_sym_extern] = ACTIONS(1233),
-    [anon_sym___attribute__] = ACTIONS(1233),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1235),
-    [anon_sym___declspec] = ACTIONS(1233),
-    [anon_sym___cdecl] = ACTIONS(1233),
-    [anon_sym___clrcall] = ACTIONS(1233),
-    [anon_sym___stdcall] = ACTIONS(1233),
-    [anon_sym___fastcall] = ACTIONS(1233),
-    [anon_sym___thiscall] = ACTIONS(1233),
-    [anon_sym___vectorcall] = ACTIONS(1233),
-    [anon_sym_LBRACE] = ACTIONS(1235),
-    [anon_sym_RBRACE] = ACTIONS(1235),
-    [anon_sym_signed] = ACTIONS(1233),
-    [anon_sym_unsigned] = ACTIONS(1233),
-    [anon_sym_long] = ACTIONS(1233),
-    [anon_sym_short] = ACTIONS(1233),
-    [anon_sym_static] = ACTIONS(1233),
-    [anon_sym_auto] = ACTIONS(1233),
-    [anon_sym_register] = ACTIONS(1233),
-    [anon_sym_inline] = ACTIONS(1233),
-    [anon_sym___inline] = ACTIONS(1233),
-    [anon_sym___inline__] = ACTIONS(1233),
-    [anon_sym___forceinline] = ACTIONS(1233),
-    [anon_sym_thread_local] = ACTIONS(1233),
-    [anon_sym___thread] = ACTIONS(1233),
-    [anon_sym_const] = ACTIONS(1233),
-    [anon_sym_constexpr] = ACTIONS(1233),
-    [anon_sym_volatile] = ACTIONS(1233),
-    [anon_sym_restrict] = ACTIONS(1233),
-    [anon_sym___restrict__] = ACTIONS(1233),
-    [anon_sym__Atomic] = ACTIONS(1233),
-    [anon_sym__Noreturn] = ACTIONS(1233),
-    [anon_sym_noreturn] = ACTIONS(1233),
-    [anon_sym__Nonnull] = ACTIONS(1233),
-    [anon_sym_alignas] = ACTIONS(1233),
-    [anon_sym__Alignas] = ACTIONS(1233),
-    [sym_primitive_type] = ACTIONS(1233),
-    [anon_sym_enum] = ACTIONS(1233),
-    [anon_sym_struct] = ACTIONS(1233),
-    [anon_sym_union] = ACTIONS(1233),
-    [anon_sym_if] = ACTIONS(1233),
-    [anon_sym_else] = ACTIONS(1233),
-    [anon_sym_switch] = ACTIONS(1233),
-    [anon_sym_case] = ACTIONS(1233),
-    [anon_sym_default] = ACTIONS(1233),
-    [anon_sym_while] = ACTIONS(1233),
-    [anon_sym_do] = ACTIONS(1233),
-    [anon_sym_for] = ACTIONS(1233),
-    [anon_sym_return] = ACTIONS(1233),
-    [anon_sym_break] = ACTIONS(1233),
-    [anon_sym_continue] = ACTIONS(1233),
-    [anon_sym_goto] = ACTIONS(1233),
-    [anon_sym___try] = ACTIONS(1233),
-    [anon_sym___leave] = ACTIONS(1233),
-    [anon_sym_DASH_DASH] = ACTIONS(1235),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1235),
-    [anon_sym_sizeof] = ACTIONS(1233),
-    [anon_sym___alignof__] = ACTIONS(1233),
-    [anon_sym___alignof] = ACTIONS(1233),
-    [anon_sym__alignof] = ACTIONS(1233),
-    [anon_sym_alignof] = ACTIONS(1233),
-    [anon_sym__Alignof] = ACTIONS(1233),
-    [anon_sym_offsetof] = ACTIONS(1233),
-    [anon_sym__Generic] = ACTIONS(1233),
-    [anon_sym_asm] = ACTIONS(1233),
-    [anon_sym___asm__] = ACTIONS(1233),
-    [anon_sym___asm] = ACTIONS(1233),
-    [sym_number_literal] = ACTIONS(1235),
-    [anon_sym_L_SQUOTE] = ACTIONS(1235),
-    [anon_sym_u_SQUOTE] = ACTIONS(1235),
-    [anon_sym_U_SQUOTE] = ACTIONS(1235),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1235),
-    [anon_sym_SQUOTE] = ACTIONS(1235),
-    [anon_sym_L_DQUOTE] = ACTIONS(1235),
-    [anon_sym_u_DQUOTE] = ACTIONS(1235),
-    [anon_sym_U_DQUOTE] = ACTIONS(1235),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1235),
-    [anon_sym_DQUOTE] = ACTIONS(1235),
-    [sym_true] = ACTIONS(1233),
-    [sym_false] = ACTIONS(1233),
-    [anon_sym_NULL] = ACTIONS(1233),
-    [anon_sym_nullptr] = ACTIONS(1233),
+    [sym_identifier] = ACTIONS(1206),
+    [aux_sym_preproc_include_token1] = ACTIONS(1206),
+    [aux_sym_preproc_def_token1] = ACTIONS(1206),
+    [aux_sym_preproc_if_token1] = ACTIONS(1206),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1206),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1206),
+    [sym_preproc_directive] = ACTIONS(1206),
+    [anon_sym_LPAREN2] = ACTIONS(1208),
+    [anon_sym_BANG] = ACTIONS(1208),
+    [anon_sym_TILDE] = ACTIONS(1208),
+    [anon_sym_DASH] = ACTIONS(1206),
+    [anon_sym_PLUS] = ACTIONS(1206),
+    [anon_sym_STAR] = ACTIONS(1208),
+    [anon_sym_AMP] = ACTIONS(1208),
+    [anon_sym_SEMI] = ACTIONS(1208),
+    [anon_sym___extension__] = ACTIONS(1206),
+    [anon_sym_typedef] = ACTIONS(1206),
+    [anon_sym_extern] = ACTIONS(1206),
+    [anon_sym___attribute__] = ACTIONS(1206),
+    [anon_sym___attribute] = ACTIONS(1206),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1208),
+    [anon_sym___declspec] = ACTIONS(1206),
+    [anon_sym___cdecl] = ACTIONS(1206),
+    [anon_sym___clrcall] = ACTIONS(1206),
+    [anon_sym___stdcall] = ACTIONS(1206),
+    [anon_sym___fastcall] = ACTIONS(1206),
+    [anon_sym___thiscall] = ACTIONS(1206),
+    [anon_sym___vectorcall] = ACTIONS(1206),
+    [anon_sym_LBRACE] = ACTIONS(1208),
+    [anon_sym_RBRACE] = ACTIONS(1208),
+    [anon_sym_signed] = ACTIONS(1206),
+    [anon_sym_unsigned] = ACTIONS(1206),
+    [anon_sym_long] = ACTIONS(1206),
+    [anon_sym_short] = ACTIONS(1206),
+    [anon_sym_static] = ACTIONS(1206),
+    [anon_sym_auto] = ACTIONS(1206),
+    [anon_sym_register] = ACTIONS(1206),
+    [anon_sym_inline] = ACTIONS(1206),
+    [anon_sym___inline] = ACTIONS(1206),
+    [anon_sym___inline__] = ACTIONS(1206),
+    [anon_sym___forceinline] = ACTIONS(1206),
+    [anon_sym_thread_local] = ACTIONS(1206),
+    [anon_sym___thread] = ACTIONS(1206),
+    [anon_sym_const] = ACTIONS(1206),
+    [anon_sym_constexpr] = ACTIONS(1206),
+    [anon_sym_volatile] = ACTIONS(1206),
+    [anon_sym_restrict] = ACTIONS(1206),
+    [anon_sym___restrict__] = ACTIONS(1206),
+    [anon_sym__Atomic] = ACTIONS(1206),
+    [anon_sym__Noreturn] = ACTIONS(1206),
+    [anon_sym_noreturn] = ACTIONS(1206),
+    [anon_sym__Nonnull] = ACTIONS(1206),
+    [anon_sym_alignas] = ACTIONS(1206),
+    [anon_sym__Alignas] = ACTIONS(1206),
+    [sym_primitive_type] = ACTIONS(1206),
+    [anon_sym_enum] = ACTIONS(1206),
+    [anon_sym_struct] = ACTIONS(1206),
+    [anon_sym_union] = ACTIONS(1206),
+    [anon_sym_if] = ACTIONS(1206),
+    [anon_sym_else] = ACTIONS(1206),
+    [anon_sym_switch] = ACTIONS(1206),
+    [anon_sym_case] = ACTIONS(1206),
+    [anon_sym_default] = ACTIONS(1206),
+    [anon_sym_while] = ACTIONS(1206),
+    [anon_sym_do] = ACTIONS(1206),
+    [anon_sym_for] = ACTIONS(1206),
+    [anon_sym_return] = ACTIONS(1206),
+    [anon_sym_break] = ACTIONS(1206),
+    [anon_sym_continue] = ACTIONS(1206),
+    [anon_sym_goto] = ACTIONS(1206),
+    [anon_sym___try] = ACTIONS(1206),
+    [anon_sym___leave] = ACTIONS(1206),
+    [anon_sym_DASH_DASH] = ACTIONS(1208),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1208),
+    [anon_sym_sizeof] = ACTIONS(1206),
+    [anon_sym___alignof__] = ACTIONS(1206),
+    [anon_sym___alignof] = ACTIONS(1206),
+    [anon_sym__alignof] = ACTIONS(1206),
+    [anon_sym_alignof] = ACTIONS(1206),
+    [anon_sym__Alignof] = ACTIONS(1206),
+    [anon_sym_offsetof] = ACTIONS(1206),
+    [anon_sym__Generic] = ACTIONS(1206),
+    [anon_sym_asm] = ACTIONS(1206),
+    [anon_sym___asm__] = ACTIONS(1206),
+    [anon_sym___asm] = ACTIONS(1206),
+    [sym_number_literal] = ACTIONS(1208),
+    [anon_sym_L_SQUOTE] = ACTIONS(1208),
+    [anon_sym_u_SQUOTE] = ACTIONS(1208),
+    [anon_sym_U_SQUOTE] = ACTIONS(1208),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1208),
+    [anon_sym_SQUOTE] = ACTIONS(1208),
+    [anon_sym_L_DQUOTE] = ACTIONS(1208),
+    [anon_sym_u_DQUOTE] = ACTIONS(1208),
+    [anon_sym_U_DQUOTE] = ACTIONS(1208),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1208),
+    [anon_sym_DQUOTE] = ACTIONS(1208),
+    [sym_true] = ACTIONS(1206),
+    [sym_false] = ACTIONS(1206),
+    [anon_sym_NULL] = ACTIONS(1206),
+    [anon_sym_nullptr] = ACTIONS(1206),
     [sym_comment] = ACTIONS(3),
   },
   [155] = {
-    [sym_identifier] = ACTIONS(1237),
-    [aux_sym_preproc_include_token1] = ACTIONS(1237),
-    [aux_sym_preproc_def_token1] = ACTIONS(1237),
-    [aux_sym_preproc_if_token1] = ACTIONS(1237),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1237),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1237),
-    [sym_preproc_directive] = ACTIONS(1237),
-    [anon_sym_LPAREN2] = ACTIONS(1239),
-    [anon_sym_BANG] = ACTIONS(1239),
-    [anon_sym_TILDE] = ACTIONS(1239),
-    [anon_sym_DASH] = ACTIONS(1237),
-    [anon_sym_PLUS] = ACTIONS(1237),
-    [anon_sym_STAR] = ACTIONS(1239),
-    [anon_sym_AMP] = ACTIONS(1239),
-    [anon_sym_SEMI] = ACTIONS(1239),
-    [anon_sym___extension__] = ACTIONS(1237),
-    [anon_sym_typedef] = ACTIONS(1237),
-    [anon_sym_extern] = ACTIONS(1237),
-    [anon_sym___attribute__] = ACTIONS(1237),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1239),
-    [anon_sym___declspec] = ACTIONS(1237),
-    [anon_sym___cdecl] = ACTIONS(1237),
-    [anon_sym___clrcall] = ACTIONS(1237),
-    [anon_sym___stdcall] = ACTIONS(1237),
-    [anon_sym___fastcall] = ACTIONS(1237),
-    [anon_sym___thiscall] = ACTIONS(1237),
-    [anon_sym___vectorcall] = ACTIONS(1237),
-    [anon_sym_LBRACE] = ACTIONS(1239),
-    [anon_sym_RBRACE] = ACTIONS(1239),
-    [anon_sym_signed] = ACTIONS(1237),
-    [anon_sym_unsigned] = ACTIONS(1237),
-    [anon_sym_long] = ACTIONS(1237),
-    [anon_sym_short] = ACTIONS(1237),
-    [anon_sym_static] = ACTIONS(1237),
-    [anon_sym_auto] = ACTIONS(1237),
-    [anon_sym_register] = ACTIONS(1237),
-    [anon_sym_inline] = ACTIONS(1237),
-    [anon_sym___inline] = ACTIONS(1237),
-    [anon_sym___inline__] = ACTIONS(1237),
-    [anon_sym___forceinline] = ACTIONS(1237),
-    [anon_sym_thread_local] = ACTIONS(1237),
-    [anon_sym___thread] = ACTIONS(1237),
-    [anon_sym_const] = ACTIONS(1237),
-    [anon_sym_constexpr] = ACTIONS(1237),
-    [anon_sym_volatile] = ACTIONS(1237),
-    [anon_sym_restrict] = ACTIONS(1237),
-    [anon_sym___restrict__] = ACTIONS(1237),
-    [anon_sym__Atomic] = ACTIONS(1237),
-    [anon_sym__Noreturn] = ACTIONS(1237),
-    [anon_sym_noreturn] = ACTIONS(1237),
-    [anon_sym__Nonnull] = ACTIONS(1237),
-    [anon_sym_alignas] = ACTIONS(1237),
-    [anon_sym__Alignas] = ACTIONS(1237),
-    [sym_primitive_type] = ACTIONS(1237),
-    [anon_sym_enum] = ACTIONS(1237),
-    [anon_sym_struct] = ACTIONS(1237),
-    [anon_sym_union] = ACTIONS(1237),
-    [anon_sym_if] = ACTIONS(1237),
-    [anon_sym_else] = ACTIONS(1237),
-    [anon_sym_switch] = ACTIONS(1237),
-    [anon_sym_case] = ACTIONS(1237),
-    [anon_sym_default] = ACTIONS(1237),
-    [anon_sym_while] = ACTIONS(1237),
-    [anon_sym_do] = ACTIONS(1237),
-    [anon_sym_for] = ACTIONS(1237),
-    [anon_sym_return] = ACTIONS(1237),
-    [anon_sym_break] = ACTIONS(1237),
-    [anon_sym_continue] = ACTIONS(1237),
-    [anon_sym_goto] = ACTIONS(1237),
-    [anon_sym___try] = ACTIONS(1237),
-    [anon_sym___leave] = ACTIONS(1237),
-    [anon_sym_DASH_DASH] = ACTIONS(1239),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1239),
-    [anon_sym_sizeof] = ACTIONS(1237),
-    [anon_sym___alignof__] = ACTIONS(1237),
-    [anon_sym___alignof] = ACTIONS(1237),
-    [anon_sym__alignof] = ACTIONS(1237),
-    [anon_sym_alignof] = ACTIONS(1237),
-    [anon_sym__Alignof] = ACTIONS(1237),
-    [anon_sym_offsetof] = ACTIONS(1237),
-    [anon_sym__Generic] = ACTIONS(1237),
-    [anon_sym_asm] = ACTIONS(1237),
-    [anon_sym___asm__] = ACTIONS(1237),
-    [anon_sym___asm] = ACTIONS(1237),
-    [sym_number_literal] = ACTIONS(1239),
-    [anon_sym_L_SQUOTE] = ACTIONS(1239),
-    [anon_sym_u_SQUOTE] = ACTIONS(1239),
-    [anon_sym_U_SQUOTE] = ACTIONS(1239),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1239),
-    [anon_sym_SQUOTE] = ACTIONS(1239),
-    [anon_sym_L_DQUOTE] = ACTIONS(1239),
-    [anon_sym_u_DQUOTE] = ACTIONS(1239),
-    [anon_sym_U_DQUOTE] = ACTIONS(1239),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1239),
-    [anon_sym_DQUOTE] = ACTIONS(1239),
-    [sym_true] = ACTIONS(1237),
-    [sym_false] = ACTIONS(1237),
-    [anon_sym_NULL] = ACTIONS(1237),
-    [anon_sym_nullptr] = ACTIONS(1237),
+    [ts_builtin_sym_end] = ACTIONS(1212),
+    [sym_identifier] = ACTIONS(1210),
+    [aux_sym_preproc_include_token1] = ACTIONS(1210),
+    [aux_sym_preproc_def_token1] = ACTIONS(1210),
+    [aux_sym_preproc_if_token1] = ACTIONS(1210),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1210),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1210),
+    [sym_preproc_directive] = ACTIONS(1210),
+    [anon_sym_LPAREN2] = ACTIONS(1212),
+    [anon_sym_BANG] = ACTIONS(1212),
+    [anon_sym_TILDE] = ACTIONS(1212),
+    [anon_sym_DASH] = ACTIONS(1210),
+    [anon_sym_PLUS] = ACTIONS(1210),
+    [anon_sym_STAR] = ACTIONS(1212),
+    [anon_sym_AMP] = ACTIONS(1212),
+    [anon_sym_SEMI] = ACTIONS(1212),
+    [anon_sym___extension__] = ACTIONS(1210),
+    [anon_sym_typedef] = ACTIONS(1210),
+    [anon_sym_extern] = ACTIONS(1210),
+    [anon_sym___attribute__] = ACTIONS(1210),
+    [anon_sym___attribute] = ACTIONS(1210),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1212),
+    [anon_sym___declspec] = ACTIONS(1210),
+    [anon_sym___cdecl] = ACTIONS(1210),
+    [anon_sym___clrcall] = ACTIONS(1210),
+    [anon_sym___stdcall] = ACTIONS(1210),
+    [anon_sym___fastcall] = ACTIONS(1210),
+    [anon_sym___thiscall] = ACTIONS(1210),
+    [anon_sym___vectorcall] = ACTIONS(1210),
+    [anon_sym_LBRACE] = ACTIONS(1212),
+    [anon_sym_signed] = ACTIONS(1210),
+    [anon_sym_unsigned] = ACTIONS(1210),
+    [anon_sym_long] = ACTIONS(1210),
+    [anon_sym_short] = ACTIONS(1210),
+    [anon_sym_static] = ACTIONS(1210),
+    [anon_sym_auto] = ACTIONS(1210),
+    [anon_sym_register] = ACTIONS(1210),
+    [anon_sym_inline] = ACTIONS(1210),
+    [anon_sym___inline] = ACTIONS(1210),
+    [anon_sym___inline__] = ACTIONS(1210),
+    [anon_sym___forceinline] = ACTIONS(1210),
+    [anon_sym_thread_local] = ACTIONS(1210),
+    [anon_sym___thread] = ACTIONS(1210),
+    [anon_sym_const] = ACTIONS(1210),
+    [anon_sym_constexpr] = ACTIONS(1210),
+    [anon_sym_volatile] = ACTIONS(1210),
+    [anon_sym_restrict] = ACTIONS(1210),
+    [anon_sym___restrict__] = ACTIONS(1210),
+    [anon_sym__Atomic] = ACTIONS(1210),
+    [anon_sym__Noreturn] = ACTIONS(1210),
+    [anon_sym_noreturn] = ACTIONS(1210),
+    [anon_sym__Nonnull] = ACTIONS(1210),
+    [anon_sym_alignas] = ACTIONS(1210),
+    [anon_sym__Alignas] = ACTIONS(1210),
+    [sym_primitive_type] = ACTIONS(1210),
+    [anon_sym_enum] = ACTIONS(1210),
+    [anon_sym_struct] = ACTIONS(1210),
+    [anon_sym_union] = ACTIONS(1210),
+    [anon_sym_if] = ACTIONS(1210),
+    [anon_sym_else] = ACTIONS(1210),
+    [anon_sym_switch] = ACTIONS(1210),
+    [anon_sym_case] = ACTIONS(1210),
+    [anon_sym_default] = ACTIONS(1210),
+    [anon_sym_while] = ACTIONS(1210),
+    [anon_sym_do] = ACTIONS(1210),
+    [anon_sym_for] = ACTIONS(1210),
+    [anon_sym_return] = ACTIONS(1210),
+    [anon_sym_break] = ACTIONS(1210),
+    [anon_sym_continue] = ACTIONS(1210),
+    [anon_sym_goto] = ACTIONS(1210),
+    [anon_sym___try] = ACTIONS(1210),
+    [anon_sym___leave] = ACTIONS(1210),
+    [anon_sym_DASH_DASH] = ACTIONS(1212),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1212),
+    [anon_sym_sizeof] = ACTIONS(1210),
+    [anon_sym___alignof__] = ACTIONS(1210),
+    [anon_sym___alignof] = ACTIONS(1210),
+    [anon_sym__alignof] = ACTIONS(1210),
+    [anon_sym_alignof] = ACTIONS(1210),
+    [anon_sym__Alignof] = ACTIONS(1210),
+    [anon_sym_offsetof] = ACTIONS(1210),
+    [anon_sym__Generic] = ACTIONS(1210),
+    [anon_sym_asm] = ACTIONS(1210),
+    [anon_sym___asm__] = ACTIONS(1210),
+    [anon_sym___asm] = ACTIONS(1210),
+    [sym_number_literal] = ACTIONS(1212),
+    [anon_sym_L_SQUOTE] = ACTIONS(1212),
+    [anon_sym_u_SQUOTE] = ACTIONS(1212),
+    [anon_sym_U_SQUOTE] = ACTIONS(1212),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1212),
+    [anon_sym_SQUOTE] = ACTIONS(1212),
+    [anon_sym_L_DQUOTE] = ACTIONS(1212),
+    [anon_sym_u_DQUOTE] = ACTIONS(1212),
+    [anon_sym_U_DQUOTE] = ACTIONS(1212),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1212),
+    [anon_sym_DQUOTE] = ACTIONS(1212),
+    [sym_true] = ACTIONS(1210),
+    [sym_false] = ACTIONS(1210),
+    [anon_sym_NULL] = ACTIONS(1210),
+    [anon_sym_nullptr] = ACTIONS(1210),
     [sym_comment] = ACTIONS(3),
   },
   [156] = {
-    [sym_identifier] = ACTIONS(1237),
-    [aux_sym_preproc_include_token1] = ACTIONS(1237),
-    [aux_sym_preproc_def_token1] = ACTIONS(1237),
-    [aux_sym_preproc_if_token1] = ACTIONS(1237),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1237),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1237),
-    [sym_preproc_directive] = ACTIONS(1237),
-    [anon_sym_LPAREN2] = ACTIONS(1239),
-    [anon_sym_BANG] = ACTIONS(1239),
-    [anon_sym_TILDE] = ACTIONS(1239),
-    [anon_sym_DASH] = ACTIONS(1237),
-    [anon_sym_PLUS] = ACTIONS(1237),
-    [anon_sym_STAR] = ACTIONS(1239),
-    [anon_sym_AMP] = ACTIONS(1239),
-    [anon_sym_SEMI] = ACTIONS(1239),
-    [anon_sym___extension__] = ACTIONS(1237),
-    [anon_sym_typedef] = ACTIONS(1237),
-    [anon_sym_extern] = ACTIONS(1237),
-    [anon_sym___attribute__] = ACTIONS(1237),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1239),
-    [anon_sym___declspec] = ACTIONS(1237),
-    [anon_sym___cdecl] = ACTIONS(1237),
-    [anon_sym___clrcall] = ACTIONS(1237),
-    [anon_sym___stdcall] = ACTIONS(1237),
-    [anon_sym___fastcall] = ACTIONS(1237),
-    [anon_sym___thiscall] = ACTIONS(1237),
-    [anon_sym___vectorcall] = ACTIONS(1237),
-    [anon_sym_LBRACE] = ACTIONS(1239),
-    [anon_sym_RBRACE] = ACTIONS(1239),
-    [anon_sym_signed] = ACTIONS(1237),
-    [anon_sym_unsigned] = ACTIONS(1237),
-    [anon_sym_long] = ACTIONS(1237),
-    [anon_sym_short] = ACTIONS(1237),
-    [anon_sym_static] = ACTIONS(1237),
-    [anon_sym_auto] = ACTIONS(1237),
-    [anon_sym_register] = ACTIONS(1237),
-    [anon_sym_inline] = ACTIONS(1237),
-    [anon_sym___inline] = ACTIONS(1237),
-    [anon_sym___inline__] = ACTIONS(1237),
-    [anon_sym___forceinline] = ACTIONS(1237),
-    [anon_sym_thread_local] = ACTIONS(1237),
-    [anon_sym___thread] = ACTIONS(1237),
-    [anon_sym_const] = ACTIONS(1237),
-    [anon_sym_constexpr] = ACTIONS(1237),
-    [anon_sym_volatile] = ACTIONS(1237),
-    [anon_sym_restrict] = ACTIONS(1237),
-    [anon_sym___restrict__] = ACTIONS(1237),
-    [anon_sym__Atomic] = ACTIONS(1237),
-    [anon_sym__Noreturn] = ACTIONS(1237),
-    [anon_sym_noreturn] = ACTIONS(1237),
-    [anon_sym__Nonnull] = ACTIONS(1237),
-    [anon_sym_alignas] = ACTIONS(1237),
-    [anon_sym__Alignas] = ACTIONS(1237),
-    [sym_primitive_type] = ACTIONS(1237),
-    [anon_sym_enum] = ACTIONS(1237),
-    [anon_sym_struct] = ACTIONS(1237),
-    [anon_sym_union] = ACTIONS(1237),
-    [anon_sym_if] = ACTIONS(1237),
-    [anon_sym_else] = ACTIONS(1237),
-    [anon_sym_switch] = ACTIONS(1237),
-    [anon_sym_case] = ACTIONS(1237),
-    [anon_sym_default] = ACTIONS(1237),
-    [anon_sym_while] = ACTIONS(1237),
-    [anon_sym_do] = ACTIONS(1237),
-    [anon_sym_for] = ACTIONS(1237),
-    [anon_sym_return] = ACTIONS(1237),
-    [anon_sym_break] = ACTIONS(1237),
-    [anon_sym_continue] = ACTIONS(1237),
-    [anon_sym_goto] = ACTIONS(1237),
-    [anon_sym___try] = ACTIONS(1237),
-    [anon_sym___leave] = ACTIONS(1237),
-    [anon_sym_DASH_DASH] = ACTIONS(1239),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1239),
-    [anon_sym_sizeof] = ACTIONS(1237),
-    [anon_sym___alignof__] = ACTIONS(1237),
-    [anon_sym___alignof] = ACTIONS(1237),
-    [anon_sym__alignof] = ACTIONS(1237),
-    [anon_sym_alignof] = ACTIONS(1237),
-    [anon_sym__Alignof] = ACTIONS(1237),
-    [anon_sym_offsetof] = ACTIONS(1237),
-    [anon_sym__Generic] = ACTIONS(1237),
-    [anon_sym_asm] = ACTIONS(1237),
-    [anon_sym___asm__] = ACTIONS(1237),
-    [anon_sym___asm] = ACTIONS(1237),
-    [sym_number_literal] = ACTIONS(1239),
-    [anon_sym_L_SQUOTE] = ACTIONS(1239),
-    [anon_sym_u_SQUOTE] = ACTIONS(1239),
-    [anon_sym_U_SQUOTE] = ACTIONS(1239),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1239),
-    [anon_sym_SQUOTE] = ACTIONS(1239),
-    [anon_sym_L_DQUOTE] = ACTIONS(1239),
-    [anon_sym_u_DQUOTE] = ACTIONS(1239),
-    [anon_sym_U_DQUOTE] = ACTIONS(1239),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1239),
-    [anon_sym_DQUOTE] = ACTIONS(1239),
-    [sym_true] = ACTIONS(1237),
-    [sym_false] = ACTIONS(1237),
-    [anon_sym_NULL] = ACTIONS(1237),
-    [anon_sym_nullptr] = ACTIONS(1237),
+    [sym_identifier] = ACTIONS(1214),
+    [aux_sym_preproc_include_token1] = ACTIONS(1214),
+    [aux_sym_preproc_def_token1] = ACTIONS(1214),
+    [aux_sym_preproc_if_token1] = ACTIONS(1214),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1214),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1214),
+    [sym_preproc_directive] = ACTIONS(1214),
+    [anon_sym_LPAREN2] = ACTIONS(1216),
+    [anon_sym_BANG] = ACTIONS(1216),
+    [anon_sym_TILDE] = ACTIONS(1216),
+    [anon_sym_DASH] = ACTIONS(1214),
+    [anon_sym_PLUS] = ACTIONS(1214),
+    [anon_sym_STAR] = ACTIONS(1216),
+    [anon_sym_AMP] = ACTIONS(1216),
+    [anon_sym_SEMI] = ACTIONS(1216),
+    [anon_sym___extension__] = ACTIONS(1214),
+    [anon_sym_typedef] = ACTIONS(1214),
+    [anon_sym_extern] = ACTIONS(1214),
+    [anon_sym___attribute__] = ACTIONS(1214),
+    [anon_sym___attribute] = ACTIONS(1214),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1216),
+    [anon_sym___declspec] = ACTIONS(1214),
+    [anon_sym___cdecl] = ACTIONS(1214),
+    [anon_sym___clrcall] = ACTIONS(1214),
+    [anon_sym___stdcall] = ACTIONS(1214),
+    [anon_sym___fastcall] = ACTIONS(1214),
+    [anon_sym___thiscall] = ACTIONS(1214),
+    [anon_sym___vectorcall] = ACTIONS(1214),
+    [anon_sym_LBRACE] = ACTIONS(1216),
+    [anon_sym_RBRACE] = ACTIONS(1216),
+    [anon_sym_signed] = ACTIONS(1214),
+    [anon_sym_unsigned] = ACTIONS(1214),
+    [anon_sym_long] = ACTIONS(1214),
+    [anon_sym_short] = ACTIONS(1214),
+    [anon_sym_static] = ACTIONS(1214),
+    [anon_sym_auto] = ACTIONS(1214),
+    [anon_sym_register] = ACTIONS(1214),
+    [anon_sym_inline] = ACTIONS(1214),
+    [anon_sym___inline] = ACTIONS(1214),
+    [anon_sym___inline__] = ACTIONS(1214),
+    [anon_sym___forceinline] = ACTIONS(1214),
+    [anon_sym_thread_local] = ACTIONS(1214),
+    [anon_sym___thread] = ACTIONS(1214),
+    [anon_sym_const] = ACTIONS(1214),
+    [anon_sym_constexpr] = ACTIONS(1214),
+    [anon_sym_volatile] = ACTIONS(1214),
+    [anon_sym_restrict] = ACTIONS(1214),
+    [anon_sym___restrict__] = ACTIONS(1214),
+    [anon_sym__Atomic] = ACTIONS(1214),
+    [anon_sym__Noreturn] = ACTIONS(1214),
+    [anon_sym_noreturn] = ACTIONS(1214),
+    [anon_sym__Nonnull] = ACTIONS(1214),
+    [anon_sym_alignas] = ACTIONS(1214),
+    [anon_sym__Alignas] = ACTIONS(1214),
+    [sym_primitive_type] = ACTIONS(1214),
+    [anon_sym_enum] = ACTIONS(1214),
+    [anon_sym_struct] = ACTIONS(1214),
+    [anon_sym_union] = ACTIONS(1214),
+    [anon_sym_if] = ACTIONS(1214),
+    [anon_sym_else] = ACTIONS(1214),
+    [anon_sym_switch] = ACTIONS(1214),
+    [anon_sym_case] = ACTIONS(1214),
+    [anon_sym_default] = ACTIONS(1214),
+    [anon_sym_while] = ACTIONS(1214),
+    [anon_sym_do] = ACTIONS(1214),
+    [anon_sym_for] = ACTIONS(1214),
+    [anon_sym_return] = ACTIONS(1214),
+    [anon_sym_break] = ACTIONS(1214),
+    [anon_sym_continue] = ACTIONS(1214),
+    [anon_sym_goto] = ACTIONS(1214),
+    [anon_sym___try] = ACTIONS(1214),
+    [anon_sym___leave] = ACTIONS(1214),
+    [anon_sym_DASH_DASH] = ACTIONS(1216),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1216),
+    [anon_sym_sizeof] = ACTIONS(1214),
+    [anon_sym___alignof__] = ACTIONS(1214),
+    [anon_sym___alignof] = ACTIONS(1214),
+    [anon_sym__alignof] = ACTIONS(1214),
+    [anon_sym_alignof] = ACTIONS(1214),
+    [anon_sym__Alignof] = ACTIONS(1214),
+    [anon_sym_offsetof] = ACTIONS(1214),
+    [anon_sym__Generic] = ACTIONS(1214),
+    [anon_sym_asm] = ACTIONS(1214),
+    [anon_sym___asm__] = ACTIONS(1214),
+    [anon_sym___asm] = ACTIONS(1214),
+    [sym_number_literal] = ACTIONS(1216),
+    [anon_sym_L_SQUOTE] = ACTIONS(1216),
+    [anon_sym_u_SQUOTE] = ACTIONS(1216),
+    [anon_sym_U_SQUOTE] = ACTIONS(1216),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1216),
+    [anon_sym_SQUOTE] = ACTIONS(1216),
+    [anon_sym_L_DQUOTE] = ACTIONS(1216),
+    [anon_sym_u_DQUOTE] = ACTIONS(1216),
+    [anon_sym_U_DQUOTE] = ACTIONS(1216),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1216),
+    [anon_sym_DQUOTE] = ACTIONS(1216),
+    [sym_true] = ACTIONS(1214),
+    [sym_false] = ACTIONS(1214),
+    [anon_sym_NULL] = ACTIONS(1214),
+    [anon_sym_nullptr] = ACTIONS(1214),
     [sym_comment] = ACTIONS(3),
   },
   [157] = {
-    [sym_identifier] = ACTIONS(1241),
-    [aux_sym_preproc_include_token1] = ACTIONS(1241),
-    [aux_sym_preproc_def_token1] = ACTIONS(1241),
-    [aux_sym_preproc_if_token1] = ACTIONS(1241),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1241),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1241),
-    [sym_preproc_directive] = ACTIONS(1241),
-    [anon_sym_LPAREN2] = ACTIONS(1243),
-    [anon_sym_BANG] = ACTIONS(1243),
-    [anon_sym_TILDE] = ACTIONS(1243),
-    [anon_sym_DASH] = ACTIONS(1241),
-    [anon_sym_PLUS] = ACTIONS(1241),
-    [anon_sym_STAR] = ACTIONS(1243),
-    [anon_sym_AMP] = ACTIONS(1243),
-    [anon_sym_SEMI] = ACTIONS(1243),
-    [anon_sym___extension__] = ACTIONS(1241),
-    [anon_sym_typedef] = ACTIONS(1241),
-    [anon_sym_extern] = ACTIONS(1241),
-    [anon_sym___attribute__] = ACTIONS(1241),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1243),
-    [anon_sym___declspec] = ACTIONS(1241),
-    [anon_sym___cdecl] = ACTIONS(1241),
-    [anon_sym___clrcall] = ACTIONS(1241),
-    [anon_sym___stdcall] = ACTIONS(1241),
-    [anon_sym___fastcall] = ACTIONS(1241),
-    [anon_sym___thiscall] = ACTIONS(1241),
-    [anon_sym___vectorcall] = ACTIONS(1241),
-    [anon_sym_LBRACE] = ACTIONS(1243),
-    [anon_sym_RBRACE] = ACTIONS(1243),
-    [anon_sym_signed] = ACTIONS(1241),
-    [anon_sym_unsigned] = ACTIONS(1241),
-    [anon_sym_long] = ACTIONS(1241),
-    [anon_sym_short] = ACTIONS(1241),
-    [anon_sym_static] = ACTIONS(1241),
-    [anon_sym_auto] = ACTIONS(1241),
-    [anon_sym_register] = ACTIONS(1241),
-    [anon_sym_inline] = ACTIONS(1241),
-    [anon_sym___inline] = ACTIONS(1241),
-    [anon_sym___inline__] = ACTIONS(1241),
-    [anon_sym___forceinline] = ACTIONS(1241),
-    [anon_sym_thread_local] = ACTIONS(1241),
-    [anon_sym___thread] = ACTIONS(1241),
-    [anon_sym_const] = ACTIONS(1241),
-    [anon_sym_constexpr] = ACTIONS(1241),
-    [anon_sym_volatile] = ACTIONS(1241),
-    [anon_sym_restrict] = ACTIONS(1241),
-    [anon_sym___restrict__] = ACTIONS(1241),
-    [anon_sym__Atomic] = ACTIONS(1241),
-    [anon_sym__Noreturn] = ACTIONS(1241),
-    [anon_sym_noreturn] = ACTIONS(1241),
-    [anon_sym__Nonnull] = ACTIONS(1241),
-    [anon_sym_alignas] = ACTIONS(1241),
-    [anon_sym__Alignas] = ACTIONS(1241),
-    [sym_primitive_type] = ACTIONS(1241),
-    [anon_sym_enum] = ACTIONS(1241),
-    [anon_sym_struct] = ACTIONS(1241),
-    [anon_sym_union] = ACTIONS(1241),
-    [anon_sym_if] = ACTIONS(1241),
-    [anon_sym_else] = ACTIONS(1241),
-    [anon_sym_switch] = ACTIONS(1241),
-    [anon_sym_case] = ACTIONS(1241),
-    [anon_sym_default] = ACTIONS(1241),
-    [anon_sym_while] = ACTIONS(1241),
-    [anon_sym_do] = ACTIONS(1241),
-    [anon_sym_for] = ACTIONS(1241),
-    [anon_sym_return] = ACTIONS(1241),
-    [anon_sym_break] = ACTIONS(1241),
-    [anon_sym_continue] = ACTIONS(1241),
-    [anon_sym_goto] = ACTIONS(1241),
-    [anon_sym___try] = ACTIONS(1241),
-    [anon_sym___leave] = ACTIONS(1241),
-    [anon_sym_DASH_DASH] = ACTIONS(1243),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1243),
-    [anon_sym_sizeof] = ACTIONS(1241),
-    [anon_sym___alignof__] = ACTIONS(1241),
-    [anon_sym___alignof] = ACTIONS(1241),
-    [anon_sym__alignof] = ACTIONS(1241),
-    [anon_sym_alignof] = ACTIONS(1241),
-    [anon_sym__Alignof] = ACTIONS(1241),
-    [anon_sym_offsetof] = ACTIONS(1241),
-    [anon_sym__Generic] = ACTIONS(1241),
-    [anon_sym_asm] = ACTIONS(1241),
-    [anon_sym___asm__] = ACTIONS(1241),
-    [anon_sym___asm] = ACTIONS(1241),
-    [sym_number_literal] = ACTIONS(1243),
-    [anon_sym_L_SQUOTE] = ACTIONS(1243),
-    [anon_sym_u_SQUOTE] = ACTIONS(1243),
-    [anon_sym_U_SQUOTE] = ACTIONS(1243),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1243),
-    [anon_sym_SQUOTE] = ACTIONS(1243),
-    [anon_sym_L_DQUOTE] = ACTIONS(1243),
-    [anon_sym_u_DQUOTE] = ACTIONS(1243),
-    [anon_sym_U_DQUOTE] = ACTIONS(1243),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1243),
-    [anon_sym_DQUOTE] = ACTIONS(1243),
-    [sym_true] = ACTIONS(1241),
-    [sym_false] = ACTIONS(1241),
-    [anon_sym_NULL] = ACTIONS(1241),
-    [anon_sym_nullptr] = ACTIONS(1241),
+    [sym_identifier] = ACTIONS(1230),
+    [aux_sym_preproc_include_token1] = ACTIONS(1230),
+    [aux_sym_preproc_def_token1] = ACTIONS(1230),
+    [aux_sym_preproc_if_token1] = ACTIONS(1230),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1230),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1230),
+    [sym_preproc_directive] = ACTIONS(1230),
+    [anon_sym_LPAREN2] = ACTIONS(1232),
+    [anon_sym_BANG] = ACTIONS(1232),
+    [anon_sym_TILDE] = ACTIONS(1232),
+    [anon_sym_DASH] = ACTIONS(1230),
+    [anon_sym_PLUS] = ACTIONS(1230),
+    [anon_sym_STAR] = ACTIONS(1232),
+    [anon_sym_AMP] = ACTIONS(1232),
+    [anon_sym_SEMI] = ACTIONS(1232),
+    [anon_sym___extension__] = ACTIONS(1230),
+    [anon_sym_typedef] = ACTIONS(1230),
+    [anon_sym_extern] = ACTIONS(1230),
+    [anon_sym___attribute__] = ACTIONS(1230),
+    [anon_sym___attribute] = ACTIONS(1230),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1232),
+    [anon_sym___declspec] = ACTIONS(1230),
+    [anon_sym___cdecl] = ACTIONS(1230),
+    [anon_sym___clrcall] = ACTIONS(1230),
+    [anon_sym___stdcall] = ACTIONS(1230),
+    [anon_sym___fastcall] = ACTIONS(1230),
+    [anon_sym___thiscall] = ACTIONS(1230),
+    [anon_sym___vectorcall] = ACTIONS(1230),
+    [anon_sym_LBRACE] = ACTIONS(1232),
+    [anon_sym_RBRACE] = ACTIONS(1232),
+    [anon_sym_signed] = ACTIONS(1230),
+    [anon_sym_unsigned] = ACTIONS(1230),
+    [anon_sym_long] = ACTIONS(1230),
+    [anon_sym_short] = ACTIONS(1230),
+    [anon_sym_static] = ACTIONS(1230),
+    [anon_sym_auto] = ACTIONS(1230),
+    [anon_sym_register] = ACTIONS(1230),
+    [anon_sym_inline] = ACTIONS(1230),
+    [anon_sym___inline] = ACTIONS(1230),
+    [anon_sym___inline__] = ACTIONS(1230),
+    [anon_sym___forceinline] = ACTIONS(1230),
+    [anon_sym_thread_local] = ACTIONS(1230),
+    [anon_sym___thread] = ACTIONS(1230),
+    [anon_sym_const] = ACTIONS(1230),
+    [anon_sym_constexpr] = ACTIONS(1230),
+    [anon_sym_volatile] = ACTIONS(1230),
+    [anon_sym_restrict] = ACTIONS(1230),
+    [anon_sym___restrict__] = ACTIONS(1230),
+    [anon_sym__Atomic] = ACTIONS(1230),
+    [anon_sym__Noreturn] = ACTIONS(1230),
+    [anon_sym_noreturn] = ACTIONS(1230),
+    [anon_sym__Nonnull] = ACTIONS(1230),
+    [anon_sym_alignas] = ACTIONS(1230),
+    [anon_sym__Alignas] = ACTIONS(1230),
+    [sym_primitive_type] = ACTIONS(1230),
+    [anon_sym_enum] = ACTIONS(1230),
+    [anon_sym_struct] = ACTIONS(1230),
+    [anon_sym_union] = ACTIONS(1230),
+    [anon_sym_if] = ACTIONS(1230),
+    [anon_sym_else] = ACTIONS(1230),
+    [anon_sym_switch] = ACTIONS(1230),
+    [anon_sym_case] = ACTIONS(1230),
+    [anon_sym_default] = ACTIONS(1230),
+    [anon_sym_while] = ACTIONS(1230),
+    [anon_sym_do] = ACTIONS(1230),
+    [anon_sym_for] = ACTIONS(1230),
+    [anon_sym_return] = ACTIONS(1230),
+    [anon_sym_break] = ACTIONS(1230),
+    [anon_sym_continue] = ACTIONS(1230),
+    [anon_sym_goto] = ACTIONS(1230),
+    [anon_sym___try] = ACTIONS(1230),
+    [anon_sym___leave] = ACTIONS(1230),
+    [anon_sym_DASH_DASH] = ACTIONS(1232),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1232),
+    [anon_sym_sizeof] = ACTIONS(1230),
+    [anon_sym___alignof__] = ACTIONS(1230),
+    [anon_sym___alignof] = ACTIONS(1230),
+    [anon_sym__alignof] = ACTIONS(1230),
+    [anon_sym_alignof] = ACTIONS(1230),
+    [anon_sym__Alignof] = ACTIONS(1230),
+    [anon_sym_offsetof] = ACTIONS(1230),
+    [anon_sym__Generic] = ACTIONS(1230),
+    [anon_sym_asm] = ACTIONS(1230),
+    [anon_sym___asm__] = ACTIONS(1230),
+    [anon_sym___asm] = ACTIONS(1230),
+    [sym_number_literal] = ACTIONS(1232),
+    [anon_sym_L_SQUOTE] = ACTIONS(1232),
+    [anon_sym_u_SQUOTE] = ACTIONS(1232),
+    [anon_sym_U_SQUOTE] = ACTIONS(1232),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1232),
+    [anon_sym_SQUOTE] = ACTIONS(1232),
+    [anon_sym_L_DQUOTE] = ACTIONS(1232),
+    [anon_sym_u_DQUOTE] = ACTIONS(1232),
+    [anon_sym_U_DQUOTE] = ACTIONS(1232),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1232),
+    [anon_sym_DQUOTE] = ACTIONS(1232),
+    [sym_true] = ACTIONS(1230),
+    [sym_false] = ACTIONS(1230),
+    [anon_sym_NULL] = ACTIONS(1230),
+    [anon_sym_nullptr] = ACTIONS(1230),
     [sym_comment] = ACTIONS(3),
   },
   [158] = {
-    [ts_builtin_sym_end] = ACTIONS(1247),
-    [sym_identifier] = ACTIONS(1245),
-    [aux_sym_preproc_include_token1] = ACTIONS(1245),
-    [aux_sym_preproc_def_token1] = ACTIONS(1245),
-    [aux_sym_preproc_if_token1] = ACTIONS(1245),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1245),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1245),
-    [sym_preproc_directive] = ACTIONS(1245),
-    [anon_sym_LPAREN2] = ACTIONS(1247),
-    [anon_sym_BANG] = ACTIONS(1247),
-    [anon_sym_TILDE] = ACTIONS(1247),
-    [anon_sym_DASH] = ACTIONS(1245),
-    [anon_sym_PLUS] = ACTIONS(1245),
-    [anon_sym_STAR] = ACTIONS(1247),
-    [anon_sym_AMP] = ACTIONS(1247),
-    [anon_sym_SEMI] = ACTIONS(1247),
-    [anon_sym___extension__] = ACTIONS(1245),
-    [anon_sym_typedef] = ACTIONS(1245),
-    [anon_sym_extern] = ACTIONS(1245),
-    [anon_sym___attribute__] = ACTIONS(1245),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1247),
-    [anon_sym___declspec] = ACTIONS(1245),
-    [anon_sym___cdecl] = ACTIONS(1245),
-    [anon_sym___clrcall] = ACTIONS(1245),
-    [anon_sym___stdcall] = ACTIONS(1245),
-    [anon_sym___fastcall] = ACTIONS(1245),
-    [anon_sym___thiscall] = ACTIONS(1245),
-    [anon_sym___vectorcall] = ACTIONS(1245),
-    [anon_sym_LBRACE] = ACTIONS(1247),
-    [anon_sym_signed] = ACTIONS(1245),
-    [anon_sym_unsigned] = ACTIONS(1245),
-    [anon_sym_long] = ACTIONS(1245),
-    [anon_sym_short] = ACTIONS(1245),
-    [anon_sym_static] = ACTIONS(1245),
-    [anon_sym_auto] = ACTIONS(1245),
-    [anon_sym_register] = ACTIONS(1245),
-    [anon_sym_inline] = ACTIONS(1245),
-    [anon_sym___inline] = ACTIONS(1245),
-    [anon_sym___inline__] = ACTIONS(1245),
-    [anon_sym___forceinline] = ACTIONS(1245),
-    [anon_sym_thread_local] = ACTIONS(1245),
-    [anon_sym___thread] = ACTIONS(1245),
-    [anon_sym_const] = ACTIONS(1245),
-    [anon_sym_constexpr] = ACTIONS(1245),
-    [anon_sym_volatile] = ACTIONS(1245),
-    [anon_sym_restrict] = ACTIONS(1245),
-    [anon_sym___restrict__] = ACTIONS(1245),
-    [anon_sym__Atomic] = ACTIONS(1245),
-    [anon_sym__Noreturn] = ACTIONS(1245),
-    [anon_sym_noreturn] = ACTIONS(1245),
-    [anon_sym__Nonnull] = ACTIONS(1245),
-    [anon_sym_alignas] = ACTIONS(1245),
-    [anon_sym__Alignas] = ACTIONS(1245),
-    [sym_primitive_type] = ACTIONS(1245),
-    [anon_sym_enum] = ACTIONS(1245),
-    [anon_sym_struct] = ACTIONS(1245),
-    [anon_sym_union] = ACTIONS(1245),
-    [anon_sym_if] = ACTIONS(1245),
-    [anon_sym_else] = ACTIONS(1245),
-    [anon_sym_switch] = ACTIONS(1245),
-    [anon_sym_case] = ACTIONS(1245),
-    [anon_sym_default] = ACTIONS(1245),
-    [anon_sym_while] = ACTIONS(1245),
-    [anon_sym_do] = ACTIONS(1245),
-    [anon_sym_for] = ACTIONS(1245),
-    [anon_sym_return] = ACTIONS(1245),
-    [anon_sym_break] = ACTIONS(1245),
-    [anon_sym_continue] = ACTIONS(1245),
-    [anon_sym_goto] = ACTIONS(1245),
-    [anon_sym___try] = ACTIONS(1245),
-    [anon_sym___leave] = ACTIONS(1245),
-    [anon_sym_DASH_DASH] = ACTIONS(1247),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1247),
-    [anon_sym_sizeof] = ACTIONS(1245),
-    [anon_sym___alignof__] = ACTIONS(1245),
-    [anon_sym___alignof] = ACTIONS(1245),
-    [anon_sym__alignof] = ACTIONS(1245),
-    [anon_sym_alignof] = ACTIONS(1245),
-    [anon_sym__Alignof] = ACTIONS(1245),
-    [anon_sym_offsetof] = ACTIONS(1245),
-    [anon_sym__Generic] = ACTIONS(1245),
-    [anon_sym_asm] = ACTIONS(1245),
-    [anon_sym___asm__] = ACTIONS(1245),
-    [anon_sym___asm] = ACTIONS(1245),
-    [sym_number_literal] = ACTIONS(1247),
-    [anon_sym_L_SQUOTE] = ACTIONS(1247),
-    [anon_sym_u_SQUOTE] = ACTIONS(1247),
-    [anon_sym_U_SQUOTE] = ACTIONS(1247),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1247),
-    [anon_sym_SQUOTE] = ACTIONS(1247),
-    [anon_sym_L_DQUOTE] = ACTIONS(1247),
-    [anon_sym_u_DQUOTE] = ACTIONS(1247),
-    [anon_sym_U_DQUOTE] = ACTIONS(1247),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1247),
-    [anon_sym_DQUOTE] = ACTIONS(1247),
-    [sym_true] = ACTIONS(1245),
-    [sym_false] = ACTIONS(1245),
-    [anon_sym_NULL] = ACTIONS(1245),
-    [anon_sym_nullptr] = ACTIONS(1245),
+    [ts_builtin_sym_end] = ACTIONS(1192),
+    [sym_identifier] = ACTIONS(1190),
+    [aux_sym_preproc_include_token1] = ACTIONS(1190),
+    [aux_sym_preproc_def_token1] = ACTIONS(1190),
+    [aux_sym_preproc_if_token1] = ACTIONS(1190),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1190),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1190),
+    [sym_preproc_directive] = ACTIONS(1190),
+    [anon_sym_LPAREN2] = ACTIONS(1192),
+    [anon_sym_BANG] = ACTIONS(1192),
+    [anon_sym_TILDE] = ACTIONS(1192),
+    [anon_sym_DASH] = ACTIONS(1190),
+    [anon_sym_PLUS] = ACTIONS(1190),
+    [anon_sym_STAR] = ACTIONS(1192),
+    [anon_sym_AMP] = ACTIONS(1192),
+    [anon_sym_SEMI] = ACTIONS(1192),
+    [anon_sym___extension__] = ACTIONS(1190),
+    [anon_sym_typedef] = ACTIONS(1190),
+    [anon_sym_extern] = ACTIONS(1190),
+    [anon_sym___attribute__] = ACTIONS(1190),
+    [anon_sym___attribute] = ACTIONS(1190),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1192),
+    [anon_sym___declspec] = ACTIONS(1190),
+    [anon_sym___cdecl] = ACTIONS(1190),
+    [anon_sym___clrcall] = ACTIONS(1190),
+    [anon_sym___stdcall] = ACTIONS(1190),
+    [anon_sym___fastcall] = ACTIONS(1190),
+    [anon_sym___thiscall] = ACTIONS(1190),
+    [anon_sym___vectorcall] = ACTIONS(1190),
+    [anon_sym_LBRACE] = ACTIONS(1192),
+    [anon_sym_signed] = ACTIONS(1190),
+    [anon_sym_unsigned] = ACTIONS(1190),
+    [anon_sym_long] = ACTIONS(1190),
+    [anon_sym_short] = ACTIONS(1190),
+    [anon_sym_static] = ACTIONS(1190),
+    [anon_sym_auto] = ACTIONS(1190),
+    [anon_sym_register] = ACTIONS(1190),
+    [anon_sym_inline] = ACTIONS(1190),
+    [anon_sym___inline] = ACTIONS(1190),
+    [anon_sym___inline__] = ACTIONS(1190),
+    [anon_sym___forceinline] = ACTIONS(1190),
+    [anon_sym_thread_local] = ACTIONS(1190),
+    [anon_sym___thread] = ACTIONS(1190),
+    [anon_sym_const] = ACTIONS(1190),
+    [anon_sym_constexpr] = ACTIONS(1190),
+    [anon_sym_volatile] = ACTIONS(1190),
+    [anon_sym_restrict] = ACTIONS(1190),
+    [anon_sym___restrict__] = ACTIONS(1190),
+    [anon_sym__Atomic] = ACTIONS(1190),
+    [anon_sym__Noreturn] = ACTIONS(1190),
+    [anon_sym_noreturn] = ACTIONS(1190),
+    [anon_sym__Nonnull] = ACTIONS(1190),
+    [anon_sym_alignas] = ACTIONS(1190),
+    [anon_sym__Alignas] = ACTIONS(1190),
+    [sym_primitive_type] = ACTIONS(1190),
+    [anon_sym_enum] = ACTIONS(1190),
+    [anon_sym_struct] = ACTIONS(1190),
+    [anon_sym_union] = ACTIONS(1190),
+    [anon_sym_if] = ACTIONS(1190),
+    [anon_sym_else] = ACTIONS(1190),
+    [anon_sym_switch] = ACTIONS(1190),
+    [anon_sym_case] = ACTIONS(1190),
+    [anon_sym_default] = ACTIONS(1190),
+    [anon_sym_while] = ACTIONS(1190),
+    [anon_sym_do] = ACTIONS(1190),
+    [anon_sym_for] = ACTIONS(1190),
+    [anon_sym_return] = ACTIONS(1190),
+    [anon_sym_break] = ACTIONS(1190),
+    [anon_sym_continue] = ACTIONS(1190),
+    [anon_sym_goto] = ACTIONS(1190),
+    [anon_sym___try] = ACTIONS(1190),
+    [anon_sym___leave] = ACTIONS(1190),
+    [anon_sym_DASH_DASH] = ACTIONS(1192),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1192),
+    [anon_sym_sizeof] = ACTIONS(1190),
+    [anon_sym___alignof__] = ACTIONS(1190),
+    [anon_sym___alignof] = ACTIONS(1190),
+    [anon_sym__alignof] = ACTIONS(1190),
+    [anon_sym_alignof] = ACTIONS(1190),
+    [anon_sym__Alignof] = ACTIONS(1190),
+    [anon_sym_offsetof] = ACTIONS(1190),
+    [anon_sym__Generic] = ACTIONS(1190),
+    [anon_sym_asm] = ACTIONS(1190),
+    [anon_sym___asm__] = ACTIONS(1190),
+    [anon_sym___asm] = ACTIONS(1190),
+    [sym_number_literal] = ACTIONS(1192),
+    [anon_sym_L_SQUOTE] = ACTIONS(1192),
+    [anon_sym_u_SQUOTE] = ACTIONS(1192),
+    [anon_sym_U_SQUOTE] = ACTIONS(1192),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1192),
+    [anon_sym_SQUOTE] = ACTIONS(1192),
+    [anon_sym_L_DQUOTE] = ACTIONS(1192),
+    [anon_sym_u_DQUOTE] = ACTIONS(1192),
+    [anon_sym_U_DQUOTE] = ACTIONS(1192),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1192),
+    [anon_sym_DQUOTE] = ACTIONS(1192),
+    [sym_true] = ACTIONS(1190),
+    [sym_false] = ACTIONS(1190),
+    [anon_sym_NULL] = ACTIONS(1190),
+    [anon_sym_nullptr] = ACTIONS(1190),
     [sym_comment] = ACTIONS(3),
   },
   [159] = {
-    [sym_identifier] = ACTIONS(1249),
-    [aux_sym_preproc_include_token1] = ACTIONS(1249),
-    [aux_sym_preproc_def_token1] = ACTIONS(1249),
-    [aux_sym_preproc_if_token1] = ACTIONS(1249),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1249),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1249),
-    [sym_preproc_directive] = ACTIONS(1249),
-    [anon_sym_LPAREN2] = ACTIONS(1251),
-    [anon_sym_BANG] = ACTIONS(1251),
-    [anon_sym_TILDE] = ACTIONS(1251),
-    [anon_sym_DASH] = ACTIONS(1249),
-    [anon_sym_PLUS] = ACTIONS(1249),
-    [anon_sym_STAR] = ACTIONS(1251),
-    [anon_sym_AMP] = ACTIONS(1251),
-    [anon_sym_SEMI] = ACTIONS(1251),
-    [anon_sym___extension__] = ACTIONS(1249),
-    [anon_sym_typedef] = ACTIONS(1249),
-    [anon_sym_extern] = ACTIONS(1249),
-    [anon_sym___attribute__] = ACTIONS(1249),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1251),
-    [anon_sym___declspec] = ACTIONS(1249),
-    [anon_sym___cdecl] = ACTIONS(1249),
-    [anon_sym___clrcall] = ACTIONS(1249),
-    [anon_sym___stdcall] = ACTIONS(1249),
-    [anon_sym___fastcall] = ACTIONS(1249),
-    [anon_sym___thiscall] = ACTIONS(1249),
-    [anon_sym___vectorcall] = ACTIONS(1249),
-    [anon_sym_LBRACE] = ACTIONS(1251),
-    [anon_sym_RBRACE] = ACTIONS(1251),
-    [anon_sym_signed] = ACTIONS(1249),
-    [anon_sym_unsigned] = ACTIONS(1249),
-    [anon_sym_long] = ACTIONS(1249),
-    [anon_sym_short] = ACTIONS(1249),
-    [anon_sym_static] = ACTIONS(1249),
-    [anon_sym_auto] = ACTIONS(1249),
-    [anon_sym_register] = ACTIONS(1249),
-    [anon_sym_inline] = ACTIONS(1249),
-    [anon_sym___inline] = ACTIONS(1249),
-    [anon_sym___inline__] = ACTIONS(1249),
-    [anon_sym___forceinline] = ACTIONS(1249),
-    [anon_sym_thread_local] = ACTIONS(1249),
-    [anon_sym___thread] = ACTIONS(1249),
-    [anon_sym_const] = ACTIONS(1249),
-    [anon_sym_constexpr] = ACTIONS(1249),
-    [anon_sym_volatile] = ACTIONS(1249),
-    [anon_sym_restrict] = ACTIONS(1249),
-    [anon_sym___restrict__] = ACTIONS(1249),
-    [anon_sym__Atomic] = ACTIONS(1249),
-    [anon_sym__Noreturn] = ACTIONS(1249),
-    [anon_sym_noreturn] = ACTIONS(1249),
-    [anon_sym__Nonnull] = ACTIONS(1249),
-    [anon_sym_alignas] = ACTIONS(1249),
-    [anon_sym__Alignas] = ACTIONS(1249),
-    [sym_primitive_type] = ACTIONS(1249),
-    [anon_sym_enum] = ACTIONS(1249),
-    [anon_sym_struct] = ACTIONS(1249),
-    [anon_sym_union] = ACTIONS(1249),
-    [anon_sym_if] = ACTIONS(1249),
-    [anon_sym_else] = ACTIONS(1249),
-    [anon_sym_switch] = ACTIONS(1249),
-    [anon_sym_case] = ACTIONS(1249),
-    [anon_sym_default] = ACTIONS(1249),
-    [anon_sym_while] = ACTIONS(1249),
-    [anon_sym_do] = ACTIONS(1249),
-    [anon_sym_for] = ACTIONS(1249),
-    [anon_sym_return] = ACTIONS(1249),
-    [anon_sym_break] = ACTIONS(1249),
-    [anon_sym_continue] = ACTIONS(1249),
-    [anon_sym_goto] = ACTIONS(1249),
-    [anon_sym___try] = ACTIONS(1249),
-    [anon_sym___leave] = ACTIONS(1249),
-    [anon_sym_DASH_DASH] = ACTIONS(1251),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1251),
-    [anon_sym_sizeof] = ACTIONS(1249),
-    [anon_sym___alignof__] = ACTIONS(1249),
-    [anon_sym___alignof] = ACTIONS(1249),
-    [anon_sym__alignof] = ACTIONS(1249),
-    [anon_sym_alignof] = ACTIONS(1249),
-    [anon_sym__Alignof] = ACTIONS(1249),
-    [anon_sym_offsetof] = ACTIONS(1249),
-    [anon_sym__Generic] = ACTIONS(1249),
-    [anon_sym_asm] = ACTIONS(1249),
-    [anon_sym___asm__] = ACTIONS(1249),
-    [anon_sym___asm] = ACTIONS(1249),
-    [sym_number_literal] = ACTIONS(1251),
-    [anon_sym_L_SQUOTE] = ACTIONS(1251),
-    [anon_sym_u_SQUOTE] = ACTIONS(1251),
-    [anon_sym_U_SQUOTE] = ACTIONS(1251),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1251),
-    [anon_sym_SQUOTE] = ACTIONS(1251),
-    [anon_sym_L_DQUOTE] = ACTIONS(1251),
-    [anon_sym_u_DQUOTE] = ACTIONS(1251),
-    [anon_sym_U_DQUOTE] = ACTIONS(1251),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1251),
-    [anon_sym_DQUOTE] = ACTIONS(1251),
-    [sym_true] = ACTIONS(1249),
-    [sym_false] = ACTIONS(1249),
-    [anon_sym_NULL] = ACTIONS(1249),
-    [anon_sym_nullptr] = ACTIONS(1249),
+    [ts_builtin_sym_end] = ACTIONS(1236),
+    [sym_identifier] = ACTIONS(1234),
+    [aux_sym_preproc_include_token1] = ACTIONS(1234),
+    [aux_sym_preproc_def_token1] = ACTIONS(1234),
+    [aux_sym_preproc_if_token1] = ACTIONS(1234),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1234),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1234),
+    [sym_preproc_directive] = ACTIONS(1234),
+    [anon_sym_LPAREN2] = ACTIONS(1236),
+    [anon_sym_BANG] = ACTIONS(1236),
+    [anon_sym_TILDE] = ACTIONS(1236),
+    [anon_sym_DASH] = ACTIONS(1234),
+    [anon_sym_PLUS] = ACTIONS(1234),
+    [anon_sym_STAR] = ACTIONS(1236),
+    [anon_sym_AMP] = ACTIONS(1236),
+    [anon_sym_SEMI] = ACTIONS(1236),
+    [anon_sym___extension__] = ACTIONS(1234),
+    [anon_sym_typedef] = ACTIONS(1234),
+    [anon_sym_extern] = ACTIONS(1234),
+    [anon_sym___attribute__] = ACTIONS(1234),
+    [anon_sym___attribute] = ACTIONS(1234),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1236),
+    [anon_sym___declspec] = ACTIONS(1234),
+    [anon_sym___cdecl] = ACTIONS(1234),
+    [anon_sym___clrcall] = ACTIONS(1234),
+    [anon_sym___stdcall] = ACTIONS(1234),
+    [anon_sym___fastcall] = ACTIONS(1234),
+    [anon_sym___thiscall] = ACTIONS(1234),
+    [anon_sym___vectorcall] = ACTIONS(1234),
+    [anon_sym_LBRACE] = ACTIONS(1236),
+    [anon_sym_signed] = ACTIONS(1234),
+    [anon_sym_unsigned] = ACTIONS(1234),
+    [anon_sym_long] = ACTIONS(1234),
+    [anon_sym_short] = ACTIONS(1234),
+    [anon_sym_static] = ACTIONS(1234),
+    [anon_sym_auto] = ACTIONS(1234),
+    [anon_sym_register] = ACTIONS(1234),
+    [anon_sym_inline] = ACTIONS(1234),
+    [anon_sym___inline] = ACTIONS(1234),
+    [anon_sym___inline__] = ACTIONS(1234),
+    [anon_sym___forceinline] = ACTIONS(1234),
+    [anon_sym_thread_local] = ACTIONS(1234),
+    [anon_sym___thread] = ACTIONS(1234),
+    [anon_sym_const] = ACTIONS(1234),
+    [anon_sym_constexpr] = ACTIONS(1234),
+    [anon_sym_volatile] = ACTIONS(1234),
+    [anon_sym_restrict] = ACTIONS(1234),
+    [anon_sym___restrict__] = ACTIONS(1234),
+    [anon_sym__Atomic] = ACTIONS(1234),
+    [anon_sym__Noreturn] = ACTIONS(1234),
+    [anon_sym_noreturn] = ACTIONS(1234),
+    [anon_sym__Nonnull] = ACTIONS(1234),
+    [anon_sym_alignas] = ACTIONS(1234),
+    [anon_sym__Alignas] = ACTIONS(1234),
+    [sym_primitive_type] = ACTIONS(1234),
+    [anon_sym_enum] = ACTIONS(1234),
+    [anon_sym_struct] = ACTIONS(1234),
+    [anon_sym_union] = ACTIONS(1234),
+    [anon_sym_if] = ACTIONS(1234),
+    [anon_sym_else] = ACTIONS(1234),
+    [anon_sym_switch] = ACTIONS(1234),
+    [anon_sym_case] = ACTIONS(1234),
+    [anon_sym_default] = ACTIONS(1234),
+    [anon_sym_while] = ACTIONS(1234),
+    [anon_sym_do] = ACTIONS(1234),
+    [anon_sym_for] = ACTIONS(1234),
+    [anon_sym_return] = ACTIONS(1234),
+    [anon_sym_break] = ACTIONS(1234),
+    [anon_sym_continue] = ACTIONS(1234),
+    [anon_sym_goto] = ACTIONS(1234),
+    [anon_sym___try] = ACTIONS(1234),
+    [anon_sym___leave] = ACTIONS(1234),
+    [anon_sym_DASH_DASH] = ACTIONS(1236),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1236),
+    [anon_sym_sizeof] = ACTIONS(1234),
+    [anon_sym___alignof__] = ACTIONS(1234),
+    [anon_sym___alignof] = ACTIONS(1234),
+    [anon_sym__alignof] = ACTIONS(1234),
+    [anon_sym_alignof] = ACTIONS(1234),
+    [anon_sym__Alignof] = ACTIONS(1234),
+    [anon_sym_offsetof] = ACTIONS(1234),
+    [anon_sym__Generic] = ACTIONS(1234),
+    [anon_sym_asm] = ACTIONS(1234),
+    [anon_sym___asm__] = ACTIONS(1234),
+    [anon_sym___asm] = ACTIONS(1234),
+    [sym_number_literal] = ACTIONS(1236),
+    [anon_sym_L_SQUOTE] = ACTIONS(1236),
+    [anon_sym_u_SQUOTE] = ACTIONS(1236),
+    [anon_sym_U_SQUOTE] = ACTIONS(1236),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1236),
+    [anon_sym_SQUOTE] = ACTIONS(1236),
+    [anon_sym_L_DQUOTE] = ACTIONS(1236),
+    [anon_sym_u_DQUOTE] = ACTIONS(1236),
+    [anon_sym_U_DQUOTE] = ACTIONS(1236),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1236),
+    [anon_sym_DQUOTE] = ACTIONS(1236),
+    [sym_true] = ACTIONS(1234),
+    [sym_false] = ACTIONS(1234),
+    [anon_sym_NULL] = ACTIONS(1234),
+    [anon_sym_nullptr] = ACTIONS(1234),
     [sym_comment] = ACTIONS(3),
   },
   [160] = {
-    [ts_builtin_sym_end] = ACTIONS(1227),
-    [sym_identifier] = ACTIONS(1225),
-    [aux_sym_preproc_include_token1] = ACTIONS(1225),
-    [aux_sym_preproc_def_token1] = ACTIONS(1225),
-    [aux_sym_preproc_if_token1] = ACTIONS(1225),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1225),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1225),
-    [sym_preproc_directive] = ACTIONS(1225),
-    [anon_sym_LPAREN2] = ACTIONS(1227),
-    [anon_sym_BANG] = ACTIONS(1227),
-    [anon_sym_TILDE] = ACTIONS(1227),
-    [anon_sym_DASH] = ACTIONS(1225),
-    [anon_sym_PLUS] = ACTIONS(1225),
-    [anon_sym_STAR] = ACTIONS(1227),
-    [anon_sym_AMP] = ACTIONS(1227),
-    [anon_sym_SEMI] = ACTIONS(1227),
-    [anon_sym___extension__] = ACTIONS(1225),
-    [anon_sym_typedef] = ACTIONS(1225),
-    [anon_sym_extern] = ACTIONS(1225),
-    [anon_sym___attribute__] = ACTIONS(1225),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1227),
-    [anon_sym___declspec] = ACTIONS(1225),
-    [anon_sym___cdecl] = ACTIONS(1225),
-    [anon_sym___clrcall] = ACTIONS(1225),
-    [anon_sym___stdcall] = ACTIONS(1225),
-    [anon_sym___fastcall] = ACTIONS(1225),
-    [anon_sym___thiscall] = ACTIONS(1225),
-    [anon_sym___vectorcall] = ACTIONS(1225),
-    [anon_sym_LBRACE] = ACTIONS(1227),
-    [anon_sym_signed] = ACTIONS(1225),
-    [anon_sym_unsigned] = ACTIONS(1225),
-    [anon_sym_long] = ACTIONS(1225),
-    [anon_sym_short] = ACTIONS(1225),
-    [anon_sym_static] = ACTIONS(1225),
-    [anon_sym_auto] = ACTIONS(1225),
-    [anon_sym_register] = ACTIONS(1225),
-    [anon_sym_inline] = ACTIONS(1225),
-    [anon_sym___inline] = ACTIONS(1225),
-    [anon_sym___inline__] = ACTIONS(1225),
-    [anon_sym___forceinline] = ACTIONS(1225),
-    [anon_sym_thread_local] = ACTIONS(1225),
-    [anon_sym___thread] = ACTIONS(1225),
-    [anon_sym_const] = ACTIONS(1225),
-    [anon_sym_constexpr] = ACTIONS(1225),
-    [anon_sym_volatile] = ACTIONS(1225),
-    [anon_sym_restrict] = ACTIONS(1225),
-    [anon_sym___restrict__] = ACTIONS(1225),
-    [anon_sym__Atomic] = ACTIONS(1225),
-    [anon_sym__Noreturn] = ACTIONS(1225),
-    [anon_sym_noreturn] = ACTIONS(1225),
-    [anon_sym__Nonnull] = ACTIONS(1225),
-    [anon_sym_alignas] = ACTIONS(1225),
-    [anon_sym__Alignas] = ACTIONS(1225),
-    [sym_primitive_type] = ACTIONS(1225),
-    [anon_sym_enum] = ACTIONS(1225),
-    [anon_sym_struct] = ACTIONS(1225),
-    [anon_sym_union] = ACTIONS(1225),
-    [anon_sym_if] = ACTIONS(1225),
-    [anon_sym_else] = ACTIONS(1225),
-    [anon_sym_switch] = ACTIONS(1225),
-    [anon_sym_case] = ACTIONS(1225),
-    [anon_sym_default] = ACTIONS(1225),
-    [anon_sym_while] = ACTIONS(1225),
-    [anon_sym_do] = ACTIONS(1225),
-    [anon_sym_for] = ACTIONS(1225),
-    [anon_sym_return] = ACTIONS(1225),
-    [anon_sym_break] = ACTIONS(1225),
-    [anon_sym_continue] = ACTIONS(1225),
-    [anon_sym_goto] = ACTIONS(1225),
-    [anon_sym___try] = ACTIONS(1225),
-    [anon_sym___leave] = ACTIONS(1225),
-    [anon_sym_DASH_DASH] = ACTIONS(1227),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1227),
-    [anon_sym_sizeof] = ACTIONS(1225),
-    [anon_sym___alignof__] = ACTIONS(1225),
-    [anon_sym___alignof] = ACTIONS(1225),
-    [anon_sym__alignof] = ACTIONS(1225),
-    [anon_sym_alignof] = ACTIONS(1225),
-    [anon_sym__Alignof] = ACTIONS(1225),
-    [anon_sym_offsetof] = ACTIONS(1225),
-    [anon_sym__Generic] = ACTIONS(1225),
-    [anon_sym_asm] = ACTIONS(1225),
-    [anon_sym___asm__] = ACTIONS(1225),
-    [anon_sym___asm] = ACTIONS(1225),
-    [sym_number_literal] = ACTIONS(1227),
-    [anon_sym_L_SQUOTE] = ACTIONS(1227),
-    [anon_sym_u_SQUOTE] = ACTIONS(1227),
-    [anon_sym_U_SQUOTE] = ACTIONS(1227),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1227),
-    [anon_sym_SQUOTE] = ACTIONS(1227),
-    [anon_sym_L_DQUOTE] = ACTIONS(1227),
-    [anon_sym_u_DQUOTE] = ACTIONS(1227),
-    [anon_sym_U_DQUOTE] = ACTIONS(1227),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1227),
-    [anon_sym_DQUOTE] = ACTIONS(1227),
-    [sym_true] = ACTIONS(1225),
-    [sym_false] = ACTIONS(1225),
-    [anon_sym_NULL] = ACTIONS(1225),
-    [anon_sym_nullptr] = ACTIONS(1225),
+    [ts_builtin_sym_end] = ACTIONS(1196),
+    [sym_identifier] = ACTIONS(1194),
+    [aux_sym_preproc_include_token1] = ACTIONS(1194),
+    [aux_sym_preproc_def_token1] = ACTIONS(1194),
+    [aux_sym_preproc_if_token1] = ACTIONS(1194),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1194),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1194),
+    [sym_preproc_directive] = ACTIONS(1194),
+    [anon_sym_LPAREN2] = ACTIONS(1196),
+    [anon_sym_BANG] = ACTIONS(1196),
+    [anon_sym_TILDE] = ACTIONS(1196),
+    [anon_sym_DASH] = ACTIONS(1194),
+    [anon_sym_PLUS] = ACTIONS(1194),
+    [anon_sym_STAR] = ACTIONS(1196),
+    [anon_sym_AMP] = ACTIONS(1196),
+    [anon_sym_SEMI] = ACTIONS(1196),
+    [anon_sym___extension__] = ACTIONS(1194),
+    [anon_sym_typedef] = ACTIONS(1194),
+    [anon_sym_extern] = ACTIONS(1194),
+    [anon_sym___attribute__] = ACTIONS(1194),
+    [anon_sym___attribute] = ACTIONS(1194),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1196),
+    [anon_sym___declspec] = ACTIONS(1194),
+    [anon_sym___cdecl] = ACTIONS(1194),
+    [anon_sym___clrcall] = ACTIONS(1194),
+    [anon_sym___stdcall] = ACTIONS(1194),
+    [anon_sym___fastcall] = ACTIONS(1194),
+    [anon_sym___thiscall] = ACTIONS(1194),
+    [anon_sym___vectorcall] = ACTIONS(1194),
+    [anon_sym_LBRACE] = ACTIONS(1196),
+    [anon_sym_signed] = ACTIONS(1194),
+    [anon_sym_unsigned] = ACTIONS(1194),
+    [anon_sym_long] = ACTIONS(1194),
+    [anon_sym_short] = ACTIONS(1194),
+    [anon_sym_static] = ACTIONS(1194),
+    [anon_sym_auto] = ACTIONS(1194),
+    [anon_sym_register] = ACTIONS(1194),
+    [anon_sym_inline] = ACTIONS(1194),
+    [anon_sym___inline] = ACTIONS(1194),
+    [anon_sym___inline__] = ACTIONS(1194),
+    [anon_sym___forceinline] = ACTIONS(1194),
+    [anon_sym_thread_local] = ACTIONS(1194),
+    [anon_sym___thread] = ACTIONS(1194),
+    [anon_sym_const] = ACTIONS(1194),
+    [anon_sym_constexpr] = ACTIONS(1194),
+    [anon_sym_volatile] = ACTIONS(1194),
+    [anon_sym_restrict] = ACTIONS(1194),
+    [anon_sym___restrict__] = ACTIONS(1194),
+    [anon_sym__Atomic] = ACTIONS(1194),
+    [anon_sym__Noreturn] = ACTIONS(1194),
+    [anon_sym_noreturn] = ACTIONS(1194),
+    [anon_sym__Nonnull] = ACTIONS(1194),
+    [anon_sym_alignas] = ACTIONS(1194),
+    [anon_sym__Alignas] = ACTIONS(1194),
+    [sym_primitive_type] = ACTIONS(1194),
+    [anon_sym_enum] = ACTIONS(1194),
+    [anon_sym_struct] = ACTIONS(1194),
+    [anon_sym_union] = ACTIONS(1194),
+    [anon_sym_if] = ACTIONS(1194),
+    [anon_sym_else] = ACTIONS(1194),
+    [anon_sym_switch] = ACTIONS(1194),
+    [anon_sym_case] = ACTIONS(1194),
+    [anon_sym_default] = ACTIONS(1194),
+    [anon_sym_while] = ACTIONS(1194),
+    [anon_sym_do] = ACTIONS(1194),
+    [anon_sym_for] = ACTIONS(1194),
+    [anon_sym_return] = ACTIONS(1194),
+    [anon_sym_break] = ACTIONS(1194),
+    [anon_sym_continue] = ACTIONS(1194),
+    [anon_sym_goto] = ACTIONS(1194),
+    [anon_sym___try] = ACTIONS(1194),
+    [anon_sym___leave] = ACTIONS(1194),
+    [anon_sym_DASH_DASH] = ACTIONS(1196),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1196),
+    [anon_sym_sizeof] = ACTIONS(1194),
+    [anon_sym___alignof__] = ACTIONS(1194),
+    [anon_sym___alignof] = ACTIONS(1194),
+    [anon_sym__alignof] = ACTIONS(1194),
+    [anon_sym_alignof] = ACTIONS(1194),
+    [anon_sym__Alignof] = ACTIONS(1194),
+    [anon_sym_offsetof] = ACTIONS(1194),
+    [anon_sym__Generic] = ACTIONS(1194),
+    [anon_sym_asm] = ACTIONS(1194),
+    [anon_sym___asm__] = ACTIONS(1194),
+    [anon_sym___asm] = ACTIONS(1194),
+    [sym_number_literal] = ACTIONS(1196),
+    [anon_sym_L_SQUOTE] = ACTIONS(1196),
+    [anon_sym_u_SQUOTE] = ACTIONS(1196),
+    [anon_sym_U_SQUOTE] = ACTIONS(1196),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1196),
+    [anon_sym_SQUOTE] = ACTIONS(1196),
+    [anon_sym_L_DQUOTE] = ACTIONS(1196),
+    [anon_sym_u_DQUOTE] = ACTIONS(1196),
+    [anon_sym_U_DQUOTE] = ACTIONS(1196),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1196),
+    [anon_sym_DQUOTE] = ACTIONS(1196),
+    [sym_true] = ACTIONS(1194),
+    [sym_false] = ACTIONS(1194),
+    [anon_sym_NULL] = ACTIONS(1194),
+    [anon_sym_nullptr] = ACTIONS(1194),
     [sym_comment] = ACTIONS(3),
   },
   [161] = {
-    [ts_builtin_sym_end] = ACTIONS(1231),
-    [sym_identifier] = ACTIONS(1229),
-    [aux_sym_preproc_include_token1] = ACTIONS(1229),
-    [aux_sym_preproc_def_token1] = ACTIONS(1229),
-    [aux_sym_preproc_if_token1] = ACTIONS(1229),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1229),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1229),
-    [sym_preproc_directive] = ACTIONS(1229),
-    [anon_sym_LPAREN2] = ACTIONS(1231),
-    [anon_sym_BANG] = ACTIONS(1231),
-    [anon_sym_TILDE] = ACTIONS(1231),
-    [anon_sym_DASH] = ACTIONS(1229),
-    [anon_sym_PLUS] = ACTIONS(1229),
-    [anon_sym_STAR] = ACTIONS(1231),
-    [anon_sym_AMP] = ACTIONS(1231),
-    [anon_sym_SEMI] = ACTIONS(1231),
-    [anon_sym___extension__] = ACTIONS(1229),
-    [anon_sym_typedef] = ACTIONS(1229),
-    [anon_sym_extern] = ACTIONS(1229),
-    [anon_sym___attribute__] = ACTIONS(1229),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1231),
-    [anon_sym___declspec] = ACTIONS(1229),
-    [anon_sym___cdecl] = ACTIONS(1229),
-    [anon_sym___clrcall] = ACTIONS(1229),
-    [anon_sym___stdcall] = ACTIONS(1229),
-    [anon_sym___fastcall] = ACTIONS(1229),
-    [anon_sym___thiscall] = ACTIONS(1229),
-    [anon_sym___vectorcall] = ACTIONS(1229),
-    [anon_sym_LBRACE] = ACTIONS(1231),
-    [anon_sym_signed] = ACTIONS(1229),
-    [anon_sym_unsigned] = ACTIONS(1229),
-    [anon_sym_long] = ACTIONS(1229),
-    [anon_sym_short] = ACTIONS(1229),
-    [anon_sym_static] = ACTIONS(1229),
-    [anon_sym_auto] = ACTIONS(1229),
-    [anon_sym_register] = ACTIONS(1229),
-    [anon_sym_inline] = ACTIONS(1229),
-    [anon_sym___inline] = ACTIONS(1229),
-    [anon_sym___inline__] = ACTIONS(1229),
-    [anon_sym___forceinline] = ACTIONS(1229),
-    [anon_sym_thread_local] = ACTIONS(1229),
-    [anon_sym___thread] = ACTIONS(1229),
-    [anon_sym_const] = ACTIONS(1229),
-    [anon_sym_constexpr] = ACTIONS(1229),
-    [anon_sym_volatile] = ACTIONS(1229),
-    [anon_sym_restrict] = ACTIONS(1229),
-    [anon_sym___restrict__] = ACTIONS(1229),
-    [anon_sym__Atomic] = ACTIONS(1229),
-    [anon_sym__Noreturn] = ACTIONS(1229),
-    [anon_sym_noreturn] = ACTIONS(1229),
-    [anon_sym__Nonnull] = ACTIONS(1229),
-    [anon_sym_alignas] = ACTIONS(1229),
-    [anon_sym__Alignas] = ACTIONS(1229),
-    [sym_primitive_type] = ACTIONS(1229),
-    [anon_sym_enum] = ACTIONS(1229),
-    [anon_sym_struct] = ACTIONS(1229),
-    [anon_sym_union] = ACTIONS(1229),
-    [anon_sym_if] = ACTIONS(1229),
-    [anon_sym_else] = ACTIONS(1229),
-    [anon_sym_switch] = ACTIONS(1229),
-    [anon_sym_case] = ACTIONS(1229),
-    [anon_sym_default] = ACTIONS(1229),
-    [anon_sym_while] = ACTIONS(1229),
-    [anon_sym_do] = ACTIONS(1229),
-    [anon_sym_for] = ACTIONS(1229),
-    [anon_sym_return] = ACTIONS(1229),
-    [anon_sym_break] = ACTIONS(1229),
-    [anon_sym_continue] = ACTIONS(1229),
-    [anon_sym_goto] = ACTIONS(1229),
-    [anon_sym___try] = ACTIONS(1229),
-    [anon_sym___leave] = ACTIONS(1229),
-    [anon_sym_DASH_DASH] = ACTIONS(1231),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1231),
-    [anon_sym_sizeof] = ACTIONS(1229),
-    [anon_sym___alignof__] = ACTIONS(1229),
-    [anon_sym___alignof] = ACTIONS(1229),
-    [anon_sym__alignof] = ACTIONS(1229),
-    [anon_sym_alignof] = ACTIONS(1229),
-    [anon_sym__Alignof] = ACTIONS(1229),
-    [anon_sym_offsetof] = ACTIONS(1229),
-    [anon_sym__Generic] = ACTIONS(1229),
-    [anon_sym_asm] = ACTIONS(1229),
-    [anon_sym___asm__] = ACTIONS(1229),
-    [anon_sym___asm] = ACTIONS(1229),
-    [sym_number_literal] = ACTIONS(1231),
-    [anon_sym_L_SQUOTE] = ACTIONS(1231),
-    [anon_sym_u_SQUOTE] = ACTIONS(1231),
-    [anon_sym_U_SQUOTE] = ACTIONS(1231),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1231),
-    [anon_sym_SQUOTE] = ACTIONS(1231),
-    [anon_sym_L_DQUOTE] = ACTIONS(1231),
-    [anon_sym_u_DQUOTE] = ACTIONS(1231),
-    [anon_sym_U_DQUOTE] = ACTIONS(1231),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1231),
-    [anon_sym_DQUOTE] = ACTIONS(1231),
-    [sym_true] = ACTIONS(1229),
-    [sym_false] = ACTIONS(1229),
-    [anon_sym_NULL] = ACTIONS(1229),
-    [anon_sym_nullptr] = ACTIONS(1229),
+    [ts_builtin_sym_end] = ACTIONS(1240),
+    [sym_identifier] = ACTIONS(1238),
+    [aux_sym_preproc_include_token1] = ACTIONS(1238),
+    [aux_sym_preproc_def_token1] = ACTIONS(1238),
+    [aux_sym_preproc_if_token1] = ACTIONS(1238),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1238),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1238),
+    [sym_preproc_directive] = ACTIONS(1238),
+    [anon_sym_LPAREN2] = ACTIONS(1240),
+    [anon_sym_BANG] = ACTIONS(1240),
+    [anon_sym_TILDE] = ACTIONS(1240),
+    [anon_sym_DASH] = ACTIONS(1238),
+    [anon_sym_PLUS] = ACTIONS(1238),
+    [anon_sym_STAR] = ACTIONS(1240),
+    [anon_sym_AMP] = ACTIONS(1240),
+    [anon_sym_SEMI] = ACTIONS(1240),
+    [anon_sym___extension__] = ACTIONS(1238),
+    [anon_sym_typedef] = ACTIONS(1238),
+    [anon_sym_extern] = ACTIONS(1238),
+    [anon_sym___attribute__] = ACTIONS(1238),
+    [anon_sym___attribute] = ACTIONS(1238),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1240),
+    [anon_sym___declspec] = ACTIONS(1238),
+    [anon_sym___cdecl] = ACTIONS(1238),
+    [anon_sym___clrcall] = ACTIONS(1238),
+    [anon_sym___stdcall] = ACTIONS(1238),
+    [anon_sym___fastcall] = ACTIONS(1238),
+    [anon_sym___thiscall] = ACTIONS(1238),
+    [anon_sym___vectorcall] = ACTIONS(1238),
+    [anon_sym_LBRACE] = ACTIONS(1240),
+    [anon_sym_signed] = ACTIONS(1238),
+    [anon_sym_unsigned] = ACTIONS(1238),
+    [anon_sym_long] = ACTIONS(1238),
+    [anon_sym_short] = ACTIONS(1238),
+    [anon_sym_static] = ACTIONS(1238),
+    [anon_sym_auto] = ACTIONS(1238),
+    [anon_sym_register] = ACTIONS(1238),
+    [anon_sym_inline] = ACTIONS(1238),
+    [anon_sym___inline] = ACTIONS(1238),
+    [anon_sym___inline__] = ACTIONS(1238),
+    [anon_sym___forceinline] = ACTIONS(1238),
+    [anon_sym_thread_local] = ACTIONS(1238),
+    [anon_sym___thread] = ACTIONS(1238),
+    [anon_sym_const] = ACTIONS(1238),
+    [anon_sym_constexpr] = ACTIONS(1238),
+    [anon_sym_volatile] = ACTIONS(1238),
+    [anon_sym_restrict] = ACTIONS(1238),
+    [anon_sym___restrict__] = ACTIONS(1238),
+    [anon_sym__Atomic] = ACTIONS(1238),
+    [anon_sym__Noreturn] = ACTIONS(1238),
+    [anon_sym_noreturn] = ACTIONS(1238),
+    [anon_sym__Nonnull] = ACTIONS(1238),
+    [anon_sym_alignas] = ACTIONS(1238),
+    [anon_sym__Alignas] = ACTIONS(1238),
+    [sym_primitive_type] = ACTIONS(1238),
+    [anon_sym_enum] = ACTIONS(1238),
+    [anon_sym_struct] = ACTIONS(1238),
+    [anon_sym_union] = ACTIONS(1238),
+    [anon_sym_if] = ACTIONS(1238),
+    [anon_sym_else] = ACTIONS(1238),
+    [anon_sym_switch] = ACTIONS(1238),
+    [anon_sym_case] = ACTIONS(1238),
+    [anon_sym_default] = ACTIONS(1238),
+    [anon_sym_while] = ACTIONS(1238),
+    [anon_sym_do] = ACTIONS(1238),
+    [anon_sym_for] = ACTIONS(1238),
+    [anon_sym_return] = ACTIONS(1238),
+    [anon_sym_break] = ACTIONS(1238),
+    [anon_sym_continue] = ACTIONS(1238),
+    [anon_sym_goto] = ACTIONS(1238),
+    [anon_sym___try] = ACTIONS(1238),
+    [anon_sym___leave] = ACTIONS(1238),
+    [anon_sym_DASH_DASH] = ACTIONS(1240),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1240),
+    [anon_sym_sizeof] = ACTIONS(1238),
+    [anon_sym___alignof__] = ACTIONS(1238),
+    [anon_sym___alignof] = ACTIONS(1238),
+    [anon_sym__alignof] = ACTIONS(1238),
+    [anon_sym_alignof] = ACTIONS(1238),
+    [anon_sym__Alignof] = ACTIONS(1238),
+    [anon_sym_offsetof] = ACTIONS(1238),
+    [anon_sym__Generic] = ACTIONS(1238),
+    [anon_sym_asm] = ACTIONS(1238),
+    [anon_sym___asm__] = ACTIONS(1238),
+    [anon_sym___asm] = ACTIONS(1238),
+    [sym_number_literal] = ACTIONS(1240),
+    [anon_sym_L_SQUOTE] = ACTIONS(1240),
+    [anon_sym_u_SQUOTE] = ACTIONS(1240),
+    [anon_sym_U_SQUOTE] = ACTIONS(1240),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1240),
+    [anon_sym_SQUOTE] = ACTIONS(1240),
+    [anon_sym_L_DQUOTE] = ACTIONS(1240),
+    [anon_sym_u_DQUOTE] = ACTIONS(1240),
+    [anon_sym_U_DQUOTE] = ACTIONS(1240),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1240),
+    [anon_sym_DQUOTE] = ACTIONS(1240),
+    [sym_true] = ACTIONS(1238),
+    [sym_false] = ACTIONS(1238),
+    [anon_sym_NULL] = ACTIONS(1238),
+    [anon_sym_nullptr] = ACTIONS(1238),
     [sym_comment] = ACTIONS(3),
   },
   [162] = {
-    [ts_builtin_sym_end] = ACTIONS(1235),
-    [sym_identifier] = ACTIONS(1233),
-    [aux_sym_preproc_include_token1] = ACTIONS(1233),
-    [aux_sym_preproc_def_token1] = ACTIONS(1233),
-    [aux_sym_preproc_if_token1] = ACTIONS(1233),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1233),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1233),
-    [sym_preproc_directive] = ACTIONS(1233),
-    [anon_sym_LPAREN2] = ACTIONS(1235),
-    [anon_sym_BANG] = ACTIONS(1235),
-    [anon_sym_TILDE] = ACTIONS(1235),
-    [anon_sym_DASH] = ACTIONS(1233),
-    [anon_sym_PLUS] = ACTIONS(1233),
-    [anon_sym_STAR] = ACTIONS(1235),
-    [anon_sym_AMP] = ACTIONS(1235),
-    [anon_sym_SEMI] = ACTIONS(1235),
-    [anon_sym___extension__] = ACTIONS(1233),
-    [anon_sym_typedef] = ACTIONS(1233),
-    [anon_sym_extern] = ACTIONS(1233),
-    [anon_sym___attribute__] = ACTIONS(1233),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1235),
-    [anon_sym___declspec] = ACTIONS(1233),
-    [anon_sym___cdecl] = ACTIONS(1233),
-    [anon_sym___clrcall] = ACTIONS(1233),
-    [anon_sym___stdcall] = ACTIONS(1233),
-    [anon_sym___fastcall] = ACTIONS(1233),
-    [anon_sym___thiscall] = ACTIONS(1233),
-    [anon_sym___vectorcall] = ACTIONS(1233),
-    [anon_sym_LBRACE] = ACTIONS(1235),
-    [anon_sym_signed] = ACTIONS(1233),
-    [anon_sym_unsigned] = ACTIONS(1233),
-    [anon_sym_long] = ACTIONS(1233),
-    [anon_sym_short] = ACTIONS(1233),
-    [anon_sym_static] = ACTIONS(1233),
-    [anon_sym_auto] = ACTIONS(1233),
-    [anon_sym_register] = ACTIONS(1233),
-    [anon_sym_inline] = ACTIONS(1233),
-    [anon_sym___inline] = ACTIONS(1233),
-    [anon_sym___inline__] = ACTIONS(1233),
-    [anon_sym___forceinline] = ACTIONS(1233),
-    [anon_sym_thread_local] = ACTIONS(1233),
-    [anon_sym___thread] = ACTIONS(1233),
-    [anon_sym_const] = ACTIONS(1233),
-    [anon_sym_constexpr] = ACTIONS(1233),
-    [anon_sym_volatile] = ACTIONS(1233),
-    [anon_sym_restrict] = ACTIONS(1233),
-    [anon_sym___restrict__] = ACTIONS(1233),
-    [anon_sym__Atomic] = ACTIONS(1233),
-    [anon_sym__Noreturn] = ACTIONS(1233),
-    [anon_sym_noreturn] = ACTIONS(1233),
-    [anon_sym__Nonnull] = ACTIONS(1233),
-    [anon_sym_alignas] = ACTIONS(1233),
-    [anon_sym__Alignas] = ACTIONS(1233),
-    [sym_primitive_type] = ACTIONS(1233),
-    [anon_sym_enum] = ACTIONS(1233),
-    [anon_sym_struct] = ACTIONS(1233),
-    [anon_sym_union] = ACTIONS(1233),
-    [anon_sym_if] = ACTIONS(1233),
-    [anon_sym_else] = ACTIONS(1233),
-    [anon_sym_switch] = ACTIONS(1233),
-    [anon_sym_case] = ACTIONS(1233),
-    [anon_sym_default] = ACTIONS(1233),
-    [anon_sym_while] = ACTIONS(1233),
-    [anon_sym_do] = ACTIONS(1233),
-    [anon_sym_for] = ACTIONS(1233),
-    [anon_sym_return] = ACTIONS(1233),
-    [anon_sym_break] = ACTIONS(1233),
-    [anon_sym_continue] = ACTIONS(1233),
-    [anon_sym_goto] = ACTIONS(1233),
-    [anon_sym___try] = ACTIONS(1233),
-    [anon_sym___leave] = ACTIONS(1233),
-    [anon_sym_DASH_DASH] = ACTIONS(1235),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1235),
-    [anon_sym_sizeof] = ACTIONS(1233),
-    [anon_sym___alignof__] = ACTIONS(1233),
-    [anon_sym___alignof] = ACTIONS(1233),
-    [anon_sym__alignof] = ACTIONS(1233),
-    [anon_sym_alignof] = ACTIONS(1233),
-    [anon_sym__Alignof] = ACTIONS(1233),
-    [anon_sym_offsetof] = ACTIONS(1233),
-    [anon_sym__Generic] = ACTIONS(1233),
-    [anon_sym_asm] = ACTIONS(1233),
-    [anon_sym___asm__] = ACTIONS(1233),
-    [anon_sym___asm] = ACTIONS(1233),
-    [sym_number_literal] = ACTIONS(1235),
-    [anon_sym_L_SQUOTE] = ACTIONS(1235),
-    [anon_sym_u_SQUOTE] = ACTIONS(1235),
-    [anon_sym_U_SQUOTE] = ACTIONS(1235),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1235),
-    [anon_sym_SQUOTE] = ACTIONS(1235),
-    [anon_sym_L_DQUOTE] = ACTIONS(1235),
-    [anon_sym_u_DQUOTE] = ACTIONS(1235),
-    [anon_sym_U_DQUOTE] = ACTIONS(1235),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1235),
-    [anon_sym_DQUOTE] = ACTIONS(1235),
-    [sym_true] = ACTIONS(1233),
-    [sym_false] = ACTIONS(1233),
-    [anon_sym_NULL] = ACTIONS(1233),
-    [anon_sym_nullptr] = ACTIONS(1233),
+    [ts_builtin_sym_end] = ACTIONS(1200),
+    [sym_identifier] = ACTIONS(1198),
+    [aux_sym_preproc_include_token1] = ACTIONS(1198),
+    [aux_sym_preproc_def_token1] = ACTIONS(1198),
+    [aux_sym_preproc_if_token1] = ACTIONS(1198),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1198),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1198),
+    [sym_preproc_directive] = ACTIONS(1198),
+    [anon_sym_LPAREN2] = ACTIONS(1200),
+    [anon_sym_BANG] = ACTIONS(1200),
+    [anon_sym_TILDE] = ACTIONS(1200),
+    [anon_sym_DASH] = ACTIONS(1198),
+    [anon_sym_PLUS] = ACTIONS(1198),
+    [anon_sym_STAR] = ACTIONS(1200),
+    [anon_sym_AMP] = ACTIONS(1200),
+    [anon_sym_SEMI] = ACTIONS(1200),
+    [anon_sym___extension__] = ACTIONS(1198),
+    [anon_sym_typedef] = ACTIONS(1198),
+    [anon_sym_extern] = ACTIONS(1198),
+    [anon_sym___attribute__] = ACTIONS(1198),
+    [anon_sym___attribute] = ACTIONS(1198),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1200),
+    [anon_sym___declspec] = ACTIONS(1198),
+    [anon_sym___cdecl] = ACTIONS(1198),
+    [anon_sym___clrcall] = ACTIONS(1198),
+    [anon_sym___stdcall] = ACTIONS(1198),
+    [anon_sym___fastcall] = ACTIONS(1198),
+    [anon_sym___thiscall] = ACTIONS(1198),
+    [anon_sym___vectorcall] = ACTIONS(1198),
+    [anon_sym_LBRACE] = ACTIONS(1200),
+    [anon_sym_signed] = ACTIONS(1198),
+    [anon_sym_unsigned] = ACTIONS(1198),
+    [anon_sym_long] = ACTIONS(1198),
+    [anon_sym_short] = ACTIONS(1198),
+    [anon_sym_static] = ACTIONS(1198),
+    [anon_sym_auto] = ACTIONS(1198),
+    [anon_sym_register] = ACTIONS(1198),
+    [anon_sym_inline] = ACTIONS(1198),
+    [anon_sym___inline] = ACTIONS(1198),
+    [anon_sym___inline__] = ACTIONS(1198),
+    [anon_sym___forceinline] = ACTIONS(1198),
+    [anon_sym_thread_local] = ACTIONS(1198),
+    [anon_sym___thread] = ACTIONS(1198),
+    [anon_sym_const] = ACTIONS(1198),
+    [anon_sym_constexpr] = ACTIONS(1198),
+    [anon_sym_volatile] = ACTIONS(1198),
+    [anon_sym_restrict] = ACTIONS(1198),
+    [anon_sym___restrict__] = ACTIONS(1198),
+    [anon_sym__Atomic] = ACTIONS(1198),
+    [anon_sym__Noreturn] = ACTIONS(1198),
+    [anon_sym_noreturn] = ACTIONS(1198),
+    [anon_sym__Nonnull] = ACTIONS(1198),
+    [anon_sym_alignas] = ACTIONS(1198),
+    [anon_sym__Alignas] = ACTIONS(1198),
+    [sym_primitive_type] = ACTIONS(1198),
+    [anon_sym_enum] = ACTIONS(1198),
+    [anon_sym_struct] = ACTIONS(1198),
+    [anon_sym_union] = ACTIONS(1198),
+    [anon_sym_if] = ACTIONS(1198),
+    [anon_sym_else] = ACTIONS(1198),
+    [anon_sym_switch] = ACTIONS(1198),
+    [anon_sym_case] = ACTIONS(1198),
+    [anon_sym_default] = ACTIONS(1198),
+    [anon_sym_while] = ACTIONS(1198),
+    [anon_sym_do] = ACTIONS(1198),
+    [anon_sym_for] = ACTIONS(1198),
+    [anon_sym_return] = ACTIONS(1198),
+    [anon_sym_break] = ACTIONS(1198),
+    [anon_sym_continue] = ACTIONS(1198),
+    [anon_sym_goto] = ACTIONS(1198),
+    [anon_sym___try] = ACTIONS(1198),
+    [anon_sym___leave] = ACTIONS(1198),
+    [anon_sym_DASH_DASH] = ACTIONS(1200),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1200),
+    [anon_sym_sizeof] = ACTIONS(1198),
+    [anon_sym___alignof__] = ACTIONS(1198),
+    [anon_sym___alignof] = ACTIONS(1198),
+    [anon_sym__alignof] = ACTIONS(1198),
+    [anon_sym_alignof] = ACTIONS(1198),
+    [anon_sym__Alignof] = ACTIONS(1198),
+    [anon_sym_offsetof] = ACTIONS(1198),
+    [anon_sym__Generic] = ACTIONS(1198),
+    [anon_sym_asm] = ACTIONS(1198),
+    [anon_sym___asm__] = ACTIONS(1198),
+    [anon_sym___asm] = ACTIONS(1198),
+    [sym_number_literal] = ACTIONS(1200),
+    [anon_sym_L_SQUOTE] = ACTIONS(1200),
+    [anon_sym_u_SQUOTE] = ACTIONS(1200),
+    [anon_sym_U_SQUOTE] = ACTIONS(1200),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1200),
+    [anon_sym_SQUOTE] = ACTIONS(1200),
+    [anon_sym_L_DQUOTE] = ACTIONS(1200),
+    [anon_sym_u_DQUOTE] = ACTIONS(1200),
+    [anon_sym_U_DQUOTE] = ACTIONS(1200),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1200),
+    [anon_sym_DQUOTE] = ACTIONS(1200),
+    [sym_true] = ACTIONS(1198),
+    [sym_false] = ACTIONS(1198),
+    [anon_sym_NULL] = ACTIONS(1198),
+    [anon_sym_nullptr] = ACTIONS(1198),
     [sym_comment] = ACTIONS(3),
   },
   [163] = {
-    [ts_builtin_sym_end] = ACTIONS(1239),
-    [sym_identifier] = ACTIONS(1237),
-    [aux_sym_preproc_include_token1] = ACTIONS(1237),
-    [aux_sym_preproc_def_token1] = ACTIONS(1237),
-    [aux_sym_preproc_if_token1] = ACTIONS(1237),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1237),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1237),
-    [sym_preproc_directive] = ACTIONS(1237),
-    [anon_sym_LPAREN2] = ACTIONS(1239),
-    [anon_sym_BANG] = ACTIONS(1239),
-    [anon_sym_TILDE] = ACTIONS(1239),
-    [anon_sym_DASH] = ACTIONS(1237),
-    [anon_sym_PLUS] = ACTIONS(1237),
-    [anon_sym_STAR] = ACTIONS(1239),
-    [anon_sym_AMP] = ACTIONS(1239),
-    [anon_sym_SEMI] = ACTIONS(1239),
-    [anon_sym___extension__] = ACTIONS(1237),
-    [anon_sym_typedef] = ACTIONS(1237),
-    [anon_sym_extern] = ACTIONS(1237),
-    [anon_sym___attribute__] = ACTIONS(1237),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1239),
-    [anon_sym___declspec] = ACTIONS(1237),
-    [anon_sym___cdecl] = ACTIONS(1237),
-    [anon_sym___clrcall] = ACTIONS(1237),
-    [anon_sym___stdcall] = ACTIONS(1237),
-    [anon_sym___fastcall] = ACTIONS(1237),
-    [anon_sym___thiscall] = ACTIONS(1237),
-    [anon_sym___vectorcall] = ACTIONS(1237),
-    [anon_sym_LBRACE] = ACTIONS(1239),
-    [anon_sym_signed] = ACTIONS(1237),
-    [anon_sym_unsigned] = ACTIONS(1237),
-    [anon_sym_long] = ACTIONS(1237),
-    [anon_sym_short] = ACTIONS(1237),
-    [anon_sym_static] = ACTIONS(1237),
-    [anon_sym_auto] = ACTIONS(1237),
-    [anon_sym_register] = ACTIONS(1237),
-    [anon_sym_inline] = ACTIONS(1237),
-    [anon_sym___inline] = ACTIONS(1237),
-    [anon_sym___inline__] = ACTIONS(1237),
-    [anon_sym___forceinline] = ACTIONS(1237),
-    [anon_sym_thread_local] = ACTIONS(1237),
-    [anon_sym___thread] = ACTIONS(1237),
-    [anon_sym_const] = ACTIONS(1237),
-    [anon_sym_constexpr] = ACTIONS(1237),
-    [anon_sym_volatile] = ACTIONS(1237),
-    [anon_sym_restrict] = ACTIONS(1237),
-    [anon_sym___restrict__] = ACTIONS(1237),
-    [anon_sym__Atomic] = ACTIONS(1237),
-    [anon_sym__Noreturn] = ACTIONS(1237),
-    [anon_sym_noreturn] = ACTIONS(1237),
-    [anon_sym__Nonnull] = ACTIONS(1237),
-    [anon_sym_alignas] = ACTIONS(1237),
-    [anon_sym__Alignas] = ACTIONS(1237),
-    [sym_primitive_type] = ACTIONS(1237),
-    [anon_sym_enum] = ACTIONS(1237),
-    [anon_sym_struct] = ACTIONS(1237),
-    [anon_sym_union] = ACTIONS(1237),
-    [anon_sym_if] = ACTIONS(1237),
-    [anon_sym_else] = ACTIONS(1237),
-    [anon_sym_switch] = ACTIONS(1237),
-    [anon_sym_case] = ACTIONS(1237),
-    [anon_sym_default] = ACTIONS(1237),
-    [anon_sym_while] = ACTIONS(1237),
-    [anon_sym_do] = ACTIONS(1237),
-    [anon_sym_for] = ACTIONS(1237),
-    [anon_sym_return] = ACTIONS(1237),
-    [anon_sym_break] = ACTIONS(1237),
-    [anon_sym_continue] = ACTIONS(1237),
-    [anon_sym_goto] = ACTIONS(1237),
-    [anon_sym___try] = ACTIONS(1237),
-    [anon_sym___leave] = ACTIONS(1237),
-    [anon_sym_DASH_DASH] = ACTIONS(1239),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1239),
-    [anon_sym_sizeof] = ACTIONS(1237),
-    [anon_sym___alignof__] = ACTIONS(1237),
-    [anon_sym___alignof] = ACTIONS(1237),
-    [anon_sym__alignof] = ACTIONS(1237),
-    [anon_sym_alignof] = ACTIONS(1237),
-    [anon_sym__Alignof] = ACTIONS(1237),
-    [anon_sym_offsetof] = ACTIONS(1237),
-    [anon_sym__Generic] = ACTIONS(1237),
-    [anon_sym_asm] = ACTIONS(1237),
-    [anon_sym___asm__] = ACTIONS(1237),
-    [anon_sym___asm] = ACTIONS(1237),
-    [sym_number_literal] = ACTIONS(1239),
-    [anon_sym_L_SQUOTE] = ACTIONS(1239),
-    [anon_sym_u_SQUOTE] = ACTIONS(1239),
-    [anon_sym_U_SQUOTE] = ACTIONS(1239),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1239),
-    [anon_sym_SQUOTE] = ACTIONS(1239),
-    [anon_sym_L_DQUOTE] = ACTIONS(1239),
-    [anon_sym_u_DQUOTE] = ACTIONS(1239),
-    [anon_sym_U_DQUOTE] = ACTIONS(1239),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1239),
-    [anon_sym_DQUOTE] = ACTIONS(1239),
-    [sym_true] = ACTIONS(1237),
-    [sym_false] = ACTIONS(1237),
-    [anon_sym_NULL] = ACTIONS(1237),
-    [anon_sym_nullptr] = ACTIONS(1237),
+    [sym_identifier] = ACTIONS(1238),
+    [aux_sym_preproc_include_token1] = ACTIONS(1238),
+    [aux_sym_preproc_def_token1] = ACTIONS(1238),
+    [aux_sym_preproc_if_token1] = ACTIONS(1238),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1238),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1238),
+    [sym_preproc_directive] = ACTIONS(1238),
+    [anon_sym_LPAREN2] = ACTIONS(1240),
+    [anon_sym_BANG] = ACTIONS(1240),
+    [anon_sym_TILDE] = ACTIONS(1240),
+    [anon_sym_DASH] = ACTIONS(1238),
+    [anon_sym_PLUS] = ACTIONS(1238),
+    [anon_sym_STAR] = ACTIONS(1240),
+    [anon_sym_AMP] = ACTIONS(1240),
+    [anon_sym_SEMI] = ACTIONS(1240),
+    [anon_sym___extension__] = ACTIONS(1238),
+    [anon_sym_typedef] = ACTIONS(1238),
+    [anon_sym_extern] = ACTIONS(1238),
+    [anon_sym___attribute__] = ACTIONS(1238),
+    [anon_sym___attribute] = ACTIONS(1238),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1240),
+    [anon_sym___declspec] = ACTIONS(1238),
+    [anon_sym___cdecl] = ACTIONS(1238),
+    [anon_sym___clrcall] = ACTIONS(1238),
+    [anon_sym___stdcall] = ACTIONS(1238),
+    [anon_sym___fastcall] = ACTIONS(1238),
+    [anon_sym___thiscall] = ACTIONS(1238),
+    [anon_sym___vectorcall] = ACTIONS(1238),
+    [anon_sym_LBRACE] = ACTIONS(1240),
+    [anon_sym_RBRACE] = ACTIONS(1240),
+    [anon_sym_signed] = ACTIONS(1238),
+    [anon_sym_unsigned] = ACTIONS(1238),
+    [anon_sym_long] = ACTIONS(1238),
+    [anon_sym_short] = ACTIONS(1238),
+    [anon_sym_static] = ACTIONS(1238),
+    [anon_sym_auto] = ACTIONS(1238),
+    [anon_sym_register] = ACTIONS(1238),
+    [anon_sym_inline] = ACTIONS(1238),
+    [anon_sym___inline] = ACTIONS(1238),
+    [anon_sym___inline__] = ACTIONS(1238),
+    [anon_sym___forceinline] = ACTIONS(1238),
+    [anon_sym_thread_local] = ACTIONS(1238),
+    [anon_sym___thread] = ACTIONS(1238),
+    [anon_sym_const] = ACTIONS(1238),
+    [anon_sym_constexpr] = ACTIONS(1238),
+    [anon_sym_volatile] = ACTIONS(1238),
+    [anon_sym_restrict] = ACTIONS(1238),
+    [anon_sym___restrict__] = ACTIONS(1238),
+    [anon_sym__Atomic] = ACTIONS(1238),
+    [anon_sym__Noreturn] = ACTIONS(1238),
+    [anon_sym_noreturn] = ACTIONS(1238),
+    [anon_sym__Nonnull] = ACTIONS(1238),
+    [anon_sym_alignas] = ACTIONS(1238),
+    [anon_sym__Alignas] = ACTIONS(1238),
+    [sym_primitive_type] = ACTIONS(1238),
+    [anon_sym_enum] = ACTIONS(1238),
+    [anon_sym_struct] = ACTIONS(1238),
+    [anon_sym_union] = ACTIONS(1238),
+    [anon_sym_if] = ACTIONS(1238),
+    [anon_sym_else] = ACTIONS(1238),
+    [anon_sym_switch] = ACTIONS(1238),
+    [anon_sym_case] = ACTIONS(1238),
+    [anon_sym_default] = ACTIONS(1238),
+    [anon_sym_while] = ACTIONS(1238),
+    [anon_sym_do] = ACTIONS(1238),
+    [anon_sym_for] = ACTIONS(1238),
+    [anon_sym_return] = ACTIONS(1238),
+    [anon_sym_break] = ACTIONS(1238),
+    [anon_sym_continue] = ACTIONS(1238),
+    [anon_sym_goto] = ACTIONS(1238),
+    [anon_sym___try] = ACTIONS(1238),
+    [anon_sym___leave] = ACTIONS(1238),
+    [anon_sym_DASH_DASH] = ACTIONS(1240),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1240),
+    [anon_sym_sizeof] = ACTIONS(1238),
+    [anon_sym___alignof__] = ACTIONS(1238),
+    [anon_sym___alignof] = ACTIONS(1238),
+    [anon_sym__alignof] = ACTIONS(1238),
+    [anon_sym_alignof] = ACTIONS(1238),
+    [anon_sym__Alignof] = ACTIONS(1238),
+    [anon_sym_offsetof] = ACTIONS(1238),
+    [anon_sym__Generic] = ACTIONS(1238),
+    [anon_sym_asm] = ACTIONS(1238),
+    [anon_sym___asm__] = ACTIONS(1238),
+    [anon_sym___asm] = ACTIONS(1238),
+    [sym_number_literal] = ACTIONS(1240),
+    [anon_sym_L_SQUOTE] = ACTIONS(1240),
+    [anon_sym_u_SQUOTE] = ACTIONS(1240),
+    [anon_sym_U_SQUOTE] = ACTIONS(1240),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1240),
+    [anon_sym_SQUOTE] = ACTIONS(1240),
+    [anon_sym_L_DQUOTE] = ACTIONS(1240),
+    [anon_sym_u_DQUOTE] = ACTIONS(1240),
+    [anon_sym_U_DQUOTE] = ACTIONS(1240),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1240),
+    [anon_sym_DQUOTE] = ACTIONS(1240),
+    [sym_true] = ACTIONS(1238),
+    [sym_false] = ACTIONS(1238),
+    [anon_sym_NULL] = ACTIONS(1238),
+    [anon_sym_nullptr] = ACTIONS(1238),
     [sym_comment] = ACTIONS(3),
   },
   [164] = {
-    [ts_builtin_sym_end] = ACTIONS(1239),
-    [sym_identifier] = ACTIONS(1237),
-    [aux_sym_preproc_include_token1] = ACTIONS(1237),
-    [aux_sym_preproc_def_token1] = ACTIONS(1237),
-    [aux_sym_preproc_if_token1] = ACTIONS(1237),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1237),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1237),
-    [sym_preproc_directive] = ACTIONS(1237),
-    [anon_sym_LPAREN2] = ACTIONS(1239),
-    [anon_sym_BANG] = ACTIONS(1239),
-    [anon_sym_TILDE] = ACTIONS(1239),
-    [anon_sym_DASH] = ACTIONS(1237),
-    [anon_sym_PLUS] = ACTIONS(1237),
-    [anon_sym_STAR] = ACTIONS(1239),
-    [anon_sym_AMP] = ACTIONS(1239),
-    [anon_sym_SEMI] = ACTIONS(1239),
-    [anon_sym___extension__] = ACTIONS(1237),
-    [anon_sym_typedef] = ACTIONS(1237),
-    [anon_sym_extern] = ACTIONS(1237),
-    [anon_sym___attribute__] = ACTIONS(1237),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1239),
-    [anon_sym___declspec] = ACTIONS(1237),
-    [anon_sym___cdecl] = ACTIONS(1237),
-    [anon_sym___clrcall] = ACTIONS(1237),
-    [anon_sym___stdcall] = ACTIONS(1237),
-    [anon_sym___fastcall] = ACTIONS(1237),
-    [anon_sym___thiscall] = ACTIONS(1237),
-    [anon_sym___vectorcall] = ACTIONS(1237),
-    [anon_sym_LBRACE] = ACTIONS(1239),
-    [anon_sym_signed] = ACTIONS(1237),
-    [anon_sym_unsigned] = ACTIONS(1237),
-    [anon_sym_long] = ACTIONS(1237),
-    [anon_sym_short] = ACTIONS(1237),
-    [anon_sym_static] = ACTIONS(1237),
-    [anon_sym_auto] = ACTIONS(1237),
-    [anon_sym_register] = ACTIONS(1237),
-    [anon_sym_inline] = ACTIONS(1237),
-    [anon_sym___inline] = ACTIONS(1237),
-    [anon_sym___inline__] = ACTIONS(1237),
-    [anon_sym___forceinline] = ACTIONS(1237),
-    [anon_sym_thread_local] = ACTIONS(1237),
-    [anon_sym___thread] = ACTIONS(1237),
-    [anon_sym_const] = ACTIONS(1237),
-    [anon_sym_constexpr] = ACTIONS(1237),
-    [anon_sym_volatile] = ACTIONS(1237),
-    [anon_sym_restrict] = ACTIONS(1237),
-    [anon_sym___restrict__] = ACTIONS(1237),
-    [anon_sym__Atomic] = ACTIONS(1237),
-    [anon_sym__Noreturn] = ACTIONS(1237),
-    [anon_sym_noreturn] = ACTIONS(1237),
-    [anon_sym__Nonnull] = ACTIONS(1237),
-    [anon_sym_alignas] = ACTIONS(1237),
-    [anon_sym__Alignas] = ACTIONS(1237),
-    [sym_primitive_type] = ACTIONS(1237),
-    [anon_sym_enum] = ACTIONS(1237),
-    [anon_sym_struct] = ACTIONS(1237),
-    [anon_sym_union] = ACTIONS(1237),
-    [anon_sym_if] = ACTIONS(1237),
-    [anon_sym_else] = ACTIONS(1237),
-    [anon_sym_switch] = ACTIONS(1237),
-    [anon_sym_case] = ACTIONS(1237),
-    [anon_sym_default] = ACTIONS(1237),
-    [anon_sym_while] = ACTIONS(1237),
-    [anon_sym_do] = ACTIONS(1237),
-    [anon_sym_for] = ACTIONS(1237),
-    [anon_sym_return] = ACTIONS(1237),
-    [anon_sym_break] = ACTIONS(1237),
-    [anon_sym_continue] = ACTIONS(1237),
-    [anon_sym_goto] = ACTIONS(1237),
-    [anon_sym___try] = ACTIONS(1237),
-    [anon_sym___leave] = ACTIONS(1237),
-    [anon_sym_DASH_DASH] = ACTIONS(1239),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1239),
-    [anon_sym_sizeof] = ACTIONS(1237),
-    [anon_sym___alignof__] = ACTIONS(1237),
-    [anon_sym___alignof] = ACTIONS(1237),
-    [anon_sym__alignof] = ACTIONS(1237),
-    [anon_sym_alignof] = ACTIONS(1237),
-    [anon_sym__Alignof] = ACTIONS(1237),
-    [anon_sym_offsetof] = ACTIONS(1237),
-    [anon_sym__Generic] = ACTIONS(1237),
-    [anon_sym_asm] = ACTIONS(1237),
-    [anon_sym___asm__] = ACTIONS(1237),
-    [anon_sym___asm] = ACTIONS(1237),
-    [sym_number_literal] = ACTIONS(1239),
-    [anon_sym_L_SQUOTE] = ACTIONS(1239),
-    [anon_sym_u_SQUOTE] = ACTIONS(1239),
-    [anon_sym_U_SQUOTE] = ACTIONS(1239),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1239),
-    [anon_sym_SQUOTE] = ACTIONS(1239),
-    [anon_sym_L_DQUOTE] = ACTIONS(1239),
-    [anon_sym_u_DQUOTE] = ACTIONS(1239),
-    [anon_sym_U_DQUOTE] = ACTIONS(1239),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1239),
-    [anon_sym_DQUOTE] = ACTIONS(1239),
-    [sym_true] = ACTIONS(1237),
-    [sym_false] = ACTIONS(1237),
-    [anon_sym_NULL] = ACTIONS(1237),
-    [anon_sym_nullptr] = ACTIONS(1237),
+    [sym_identifier] = ACTIONS(1242),
+    [aux_sym_preproc_include_token1] = ACTIONS(1242),
+    [aux_sym_preproc_def_token1] = ACTIONS(1242),
+    [aux_sym_preproc_if_token1] = ACTIONS(1242),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1242),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1242),
+    [sym_preproc_directive] = ACTIONS(1242),
+    [anon_sym_LPAREN2] = ACTIONS(1244),
+    [anon_sym_BANG] = ACTIONS(1244),
+    [anon_sym_TILDE] = ACTIONS(1244),
+    [anon_sym_DASH] = ACTIONS(1242),
+    [anon_sym_PLUS] = ACTIONS(1242),
+    [anon_sym_STAR] = ACTIONS(1244),
+    [anon_sym_AMP] = ACTIONS(1244),
+    [anon_sym_SEMI] = ACTIONS(1244),
+    [anon_sym___extension__] = ACTIONS(1242),
+    [anon_sym_typedef] = ACTIONS(1242),
+    [anon_sym_extern] = ACTIONS(1242),
+    [anon_sym___attribute__] = ACTIONS(1242),
+    [anon_sym___attribute] = ACTIONS(1242),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1244),
+    [anon_sym___declspec] = ACTIONS(1242),
+    [anon_sym___cdecl] = ACTIONS(1242),
+    [anon_sym___clrcall] = ACTIONS(1242),
+    [anon_sym___stdcall] = ACTIONS(1242),
+    [anon_sym___fastcall] = ACTIONS(1242),
+    [anon_sym___thiscall] = ACTIONS(1242),
+    [anon_sym___vectorcall] = ACTIONS(1242),
+    [anon_sym_LBRACE] = ACTIONS(1244),
+    [anon_sym_RBRACE] = ACTIONS(1244),
+    [anon_sym_signed] = ACTIONS(1242),
+    [anon_sym_unsigned] = ACTIONS(1242),
+    [anon_sym_long] = ACTIONS(1242),
+    [anon_sym_short] = ACTIONS(1242),
+    [anon_sym_static] = ACTIONS(1242),
+    [anon_sym_auto] = ACTIONS(1242),
+    [anon_sym_register] = ACTIONS(1242),
+    [anon_sym_inline] = ACTIONS(1242),
+    [anon_sym___inline] = ACTIONS(1242),
+    [anon_sym___inline__] = ACTIONS(1242),
+    [anon_sym___forceinline] = ACTIONS(1242),
+    [anon_sym_thread_local] = ACTIONS(1242),
+    [anon_sym___thread] = ACTIONS(1242),
+    [anon_sym_const] = ACTIONS(1242),
+    [anon_sym_constexpr] = ACTIONS(1242),
+    [anon_sym_volatile] = ACTIONS(1242),
+    [anon_sym_restrict] = ACTIONS(1242),
+    [anon_sym___restrict__] = ACTIONS(1242),
+    [anon_sym__Atomic] = ACTIONS(1242),
+    [anon_sym__Noreturn] = ACTIONS(1242),
+    [anon_sym_noreturn] = ACTIONS(1242),
+    [anon_sym__Nonnull] = ACTIONS(1242),
+    [anon_sym_alignas] = ACTIONS(1242),
+    [anon_sym__Alignas] = ACTIONS(1242),
+    [sym_primitive_type] = ACTIONS(1242),
+    [anon_sym_enum] = ACTIONS(1242),
+    [anon_sym_struct] = ACTIONS(1242),
+    [anon_sym_union] = ACTIONS(1242),
+    [anon_sym_if] = ACTIONS(1242),
+    [anon_sym_else] = ACTIONS(1242),
+    [anon_sym_switch] = ACTIONS(1242),
+    [anon_sym_case] = ACTIONS(1242),
+    [anon_sym_default] = ACTIONS(1242),
+    [anon_sym_while] = ACTIONS(1242),
+    [anon_sym_do] = ACTIONS(1242),
+    [anon_sym_for] = ACTIONS(1242),
+    [anon_sym_return] = ACTIONS(1242),
+    [anon_sym_break] = ACTIONS(1242),
+    [anon_sym_continue] = ACTIONS(1242),
+    [anon_sym_goto] = ACTIONS(1242),
+    [anon_sym___try] = ACTIONS(1242),
+    [anon_sym___leave] = ACTIONS(1242),
+    [anon_sym_DASH_DASH] = ACTIONS(1244),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1244),
+    [anon_sym_sizeof] = ACTIONS(1242),
+    [anon_sym___alignof__] = ACTIONS(1242),
+    [anon_sym___alignof] = ACTIONS(1242),
+    [anon_sym__alignof] = ACTIONS(1242),
+    [anon_sym_alignof] = ACTIONS(1242),
+    [anon_sym__Alignof] = ACTIONS(1242),
+    [anon_sym_offsetof] = ACTIONS(1242),
+    [anon_sym__Generic] = ACTIONS(1242),
+    [anon_sym_asm] = ACTIONS(1242),
+    [anon_sym___asm__] = ACTIONS(1242),
+    [anon_sym___asm] = ACTIONS(1242),
+    [sym_number_literal] = ACTIONS(1244),
+    [anon_sym_L_SQUOTE] = ACTIONS(1244),
+    [anon_sym_u_SQUOTE] = ACTIONS(1244),
+    [anon_sym_U_SQUOTE] = ACTIONS(1244),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1244),
+    [anon_sym_SQUOTE] = ACTIONS(1244),
+    [anon_sym_L_DQUOTE] = ACTIONS(1244),
+    [anon_sym_u_DQUOTE] = ACTIONS(1244),
+    [anon_sym_U_DQUOTE] = ACTIONS(1244),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1244),
+    [anon_sym_DQUOTE] = ACTIONS(1244),
+    [sym_true] = ACTIONS(1242),
+    [sym_false] = ACTIONS(1242),
+    [anon_sym_NULL] = ACTIONS(1242),
+    [anon_sym_nullptr] = ACTIONS(1242),
     [sym_comment] = ACTIONS(3),
   },
   [165] = {
-    [ts_builtin_sym_end] = ACTIONS(1243),
-    [sym_identifier] = ACTIONS(1241),
-    [aux_sym_preproc_include_token1] = ACTIONS(1241),
-    [aux_sym_preproc_def_token1] = ACTIONS(1241),
-    [aux_sym_preproc_if_token1] = ACTIONS(1241),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1241),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1241),
-    [sym_preproc_directive] = ACTIONS(1241),
-    [anon_sym_LPAREN2] = ACTIONS(1243),
-    [anon_sym_BANG] = ACTIONS(1243),
-    [anon_sym_TILDE] = ACTIONS(1243),
-    [anon_sym_DASH] = ACTIONS(1241),
-    [anon_sym_PLUS] = ACTIONS(1241),
-    [anon_sym_STAR] = ACTIONS(1243),
-    [anon_sym_AMP] = ACTIONS(1243),
-    [anon_sym_SEMI] = ACTIONS(1243),
-    [anon_sym___extension__] = ACTIONS(1241),
-    [anon_sym_typedef] = ACTIONS(1241),
-    [anon_sym_extern] = ACTIONS(1241),
-    [anon_sym___attribute__] = ACTIONS(1241),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1243),
-    [anon_sym___declspec] = ACTIONS(1241),
-    [anon_sym___cdecl] = ACTIONS(1241),
-    [anon_sym___clrcall] = ACTIONS(1241),
-    [anon_sym___stdcall] = ACTIONS(1241),
-    [anon_sym___fastcall] = ACTIONS(1241),
-    [anon_sym___thiscall] = ACTIONS(1241),
-    [anon_sym___vectorcall] = ACTIONS(1241),
-    [anon_sym_LBRACE] = ACTIONS(1243),
-    [anon_sym_signed] = ACTIONS(1241),
-    [anon_sym_unsigned] = ACTIONS(1241),
-    [anon_sym_long] = ACTIONS(1241),
-    [anon_sym_short] = ACTIONS(1241),
-    [anon_sym_static] = ACTIONS(1241),
-    [anon_sym_auto] = ACTIONS(1241),
-    [anon_sym_register] = ACTIONS(1241),
-    [anon_sym_inline] = ACTIONS(1241),
-    [anon_sym___inline] = ACTIONS(1241),
-    [anon_sym___inline__] = ACTIONS(1241),
-    [anon_sym___forceinline] = ACTIONS(1241),
-    [anon_sym_thread_local] = ACTIONS(1241),
-    [anon_sym___thread] = ACTIONS(1241),
-    [anon_sym_const] = ACTIONS(1241),
-    [anon_sym_constexpr] = ACTIONS(1241),
-    [anon_sym_volatile] = ACTIONS(1241),
-    [anon_sym_restrict] = ACTIONS(1241),
-    [anon_sym___restrict__] = ACTIONS(1241),
-    [anon_sym__Atomic] = ACTIONS(1241),
-    [anon_sym__Noreturn] = ACTIONS(1241),
-    [anon_sym_noreturn] = ACTIONS(1241),
-    [anon_sym__Nonnull] = ACTIONS(1241),
-    [anon_sym_alignas] = ACTIONS(1241),
-    [anon_sym__Alignas] = ACTIONS(1241),
-    [sym_primitive_type] = ACTIONS(1241),
-    [anon_sym_enum] = ACTIONS(1241),
-    [anon_sym_struct] = ACTIONS(1241),
-    [anon_sym_union] = ACTIONS(1241),
-    [anon_sym_if] = ACTIONS(1241),
-    [anon_sym_else] = ACTIONS(1241),
-    [anon_sym_switch] = ACTIONS(1241),
-    [anon_sym_case] = ACTIONS(1241),
-    [anon_sym_default] = ACTIONS(1241),
-    [anon_sym_while] = ACTIONS(1241),
-    [anon_sym_do] = ACTIONS(1241),
-    [anon_sym_for] = ACTIONS(1241),
-    [anon_sym_return] = ACTIONS(1241),
-    [anon_sym_break] = ACTIONS(1241),
-    [anon_sym_continue] = ACTIONS(1241),
-    [anon_sym_goto] = ACTIONS(1241),
-    [anon_sym___try] = ACTIONS(1241),
-    [anon_sym___leave] = ACTIONS(1241),
-    [anon_sym_DASH_DASH] = ACTIONS(1243),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1243),
-    [anon_sym_sizeof] = ACTIONS(1241),
-    [anon_sym___alignof__] = ACTIONS(1241),
-    [anon_sym___alignof] = ACTIONS(1241),
-    [anon_sym__alignof] = ACTIONS(1241),
-    [anon_sym_alignof] = ACTIONS(1241),
-    [anon_sym__Alignof] = ACTIONS(1241),
-    [anon_sym_offsetof] = ACTIONS(1241),
-    [anon_sym__Generic] = ACTIONS(1241),
-    [anon_sym_asm] = ACTIONS(1241),
-    [anon_sym___asm__] = ACTIONS(1241),
-    [anon_sym___asm] = ACTIONS(1241),
-    [sym_number_literal] = ACTIONS(1243),
-    [anon_sym_L_SQUOTE] = ACTIONS(1243),
-    [anon_sym_u_SQUOTE] = ACTIONS(1243),
-    [anon_sym_U_SQUOTE] = ACTIONS(1243),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1243),
-    [anon_sym_SQUOTE] = ACTIONS(1243),
-    [anon_sym_L_DQUOTE] = ACTIONS(1243),
-    [anon_sym_u_DQUOTE] = ACTIONS(1243),
-    [anon_sym_U_DQUOTE] = ACTIONS(1243),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1243),
-    [anon_sym_DQUOTE] = ACTIONS(1243),
-    [sym_true] = ACTIONS(1241),
-    [sym_false] = ACTIONS(1241),
-    [anon_sym_NULL] = ACTIONS(1241),
-    [anon_sym_nullptr] = ACTIONS(1241),
+    [sym_identifier] = ACTIONS(1246),
+    [aux_sym_preproc_include_token1] = ACTIONS(1246),
+    [aux_sym_preproc_def_token1] = ACTIONS(1246),
+    [aux_sym_preproc_if_token1] = ACTIONS(1246),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1246),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1246),
+    [sym_preproc_directive] = ACTIONS(1246),
+    [anon_sym_LPAREN2] = ACTIONS(1248),
+    [anon_sym_BANG] = ACTIONS(1248),
+    [anon_sym_TILDE] = ACTIONS(1248),
+    [anon_sym_DASH] = ACTIONS(1246),
+    [anon_sym_PLUS] = ACTIONS(1246),
+    [anon_sym_STAR] = ACTIONS(1248),
+    [anon_sym_AMP] = ACTIONS(1248),
+    [anon_sym_SEMI] = ACTIONS(1248),
+    [anon_sym___extension__] = ACTIONS(1246),
+    [anon_sym_typedef] = ACTIONS(1246),
+    [anon_sym_extern] = ACTIONS(1246),
+    [anon_sym___attribute__] = ACTIONS(1246),
+    [anon_sym___attribute] = ACTIONS(1246),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1248),
+    [anon_sym___declspec] = ACTIONS(1246),
+    [anon_sym___cdecl] = ACTIONS(1246),
+    [anon_sym___clrcall] = ACTIONS(1246),
+    [anon_sym___stdcall] = ACTIONS(1246),
+    [anon_sym___fastcall] = ACTIONS(1246),
+    [anon_sym___thiscall] = ACTIONS(1246),
+    [anon_sym___vectorcall] = ACTIONS(1246),
+    [anon_sym_LBRACE] = ACTIONS(1248),
+    [anon_sym_RBRACE] = ACTIONS(1248),
+    [anon_sym_signed] = ACTIONS(1246),
+    [anon_sym_unsigned] = ACTIONS(1246),
+    [anon_sym_long] = ACTIONS(1246),
+    [anon_sym_short] = ACTIONS(1246),
+    [anon_sym_static] = ACTIONS(1246),
+    [anon_sym_auto] = ACTIONS(1246),
+    [anon_sym_register] = ACTIONS(1246),
+    [anon_sym_inline] = ACTIONS(1246),
+    [anon_sym___inline] = ACTIONS(1246),
+    [anon_sym___inline__] = ACTIONS(1246),
+    [anon_sym___forceinline] = ACTIONS(1246),
+    [anon_sym_thread_local] = ACTIONS(1246),
+    [anon_sym___thread] = ACTIONS(1246),
+    [anon_sym_const] = ACTIONS(1246),
+    [anon_sym_constexpr] = ACTIONS(1246),
+    [anon_sym_volatile] = ACTIONS(1246),
+    [anon_sym_restrict] = ACTIONS(1246),
+    [anon_sym___restrict__] = ACTIONS(1246),
+    [anon_sym__Atomic] = ACTIONS(1246),
+    [anon_sym__Noreturn] = ACTIONS(1246),
+    [anon_sym_noreturn] = ACTIONS(1246),
+    [anon_sym__Nonnull] = ACTIONS(1246),
+    [anon_sym_alignas] = ACTIONS(1246),
+    [anon_sym__Alignas] = ACTIONS(1246),
+    [sym_primitive_type] = ACTIONS(1246),
+    [anon_sym_enum] = ACTIONS(1246),
+    [anon_sym_struct] = ACTIONS(1246),
+    [anon_sym_union] = ACTIONS(1246),
+    [anon_sym_if] = ACTIONS(1246),
+    [anon_sym_else] = ACTIONS(1246),
+    [anon_sym_switch] = ACTIONS(1246),
+    [anon_sym_case] = ACTIONS(1246),
+    [anon_sym_default] = ACTIONS(1246),
+    [anon_sym_while] = ACTIONS(1246),
+    [anon_sym_do] = ACTIONS(1246),
+    [anon_sym_for] = ACTIONS(1246),
+    [anon_sym_return] = ACTIONS(1246),
+    [anon_sym_break] = ACTIONS(1246),
+    [anon_sym_continue] = ACTIONS(1246),
+    [anon_sym_goto] = ACTIONS(1246),
+    [anon_sym___try] = ACTIONS(1246),
+    [anon_sym___leave] = ACTIONS(1246),
+    [anon_sym_DASH_DASH] = ACTIONS(1248),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1248),
+    [anon_sym_sizeof] = ACTIONS(1246),
+    [anon_sym___alignof__] = ACTIONS(1246),
+    [anon_sym___alignof] = ACTIONS(1246),
+    [anon_sym__alignof] = ACTIONS(1246),
+    [anon_sym_alignof] = ACTIONS(1246),
+    [anon_sym__Alignof] = ACTIONS(1246),
+    [anon_sym_offsetof] = ACTIONS(1246),
+    [anon_sym__Generic] = ACTIONS(1246),
+    [anon_sym_asm] = ACTIONS(1246),
+    [anon_sym___asm__] = ACTIONS(1246),
+    [anon_sym___asm] = ACTIONS(1246),
+    [sym_number_literal] = ACTIONS(1248),
+    [anon_sym_L_SQUOTE] = ACTIONS(1248),
+    [anon_sym_u_SQUOTE] = ACTIONS(1248),
+    [anon_sym_U_SQUOTE] = ACTIONS(1248),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1248),
+    [anon_sym_SQUOTE] = ACTIONS(1248),
+    [anon_sym_L_DQUOTE] = ACTIONS(1248),
+    [anon_sym_u_DQUOTE] = ACTIONS(1248),
+    [anon_sym_U_DQUOTE] = ACTIONS(1248),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1248),
+    [anon_sym_DQUOTE] = ACTIONS(1248),
+    [sym_true] = ACTIONS(1246),
+    [sym_false] = ACTIONS(1246),
+    [anon_sym_NULL] = ACTIONS(1246),
+    [anon_sym_nullptr] = ACTIONS(1246),
     [sym_comment] = ACTIONS(3),
   },
   [166] = {
-    [sym_identifier] = ACTIONS(1245),
-    [aux_sym_preproc_include_token1] = ACTIONS(1245),
-    [aux_sym_preproc_def_token1] = ACTIONS(1245),
-    [aux_sym_preproc_if_token1] = ACTIONS(1245),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1245),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1245),
-    [sym_preproc_directive] = ACTIONS(1245),
-    [anon_sym_LPAREN2] = ACTIONS(1247),
-    [anon_sym_BANG] = ACTIONS(1247),
-    [anon_sym_TILDE] = ACTIONS(1247),
-    [anon_sym_DASH] = ACTIONS(1245),
-    [anon_sym_PLUS] = ACTIONS(1245),
-    [anon_sym_STAR] = ACTIONS(1247),
-    [anon_sym_AMP] = ACTIONS(1247),
-    [anon_sym_SEMI] = ACTIONS(1247),
-    [anon_sym___extension__] = ACTIONS(1245),
-    [anon_sym_typedef] = ACTIONS(1245),
-    [anon_sym_extern] = ACTIONS(1245),
-    [anon_sym___attribute__] = ACTIONS(1245),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1247),
-    [anon_sym___declspec] = ACTIONS(1245),
-    [anon_sym___cdecl] = ACTIONS(1245),
-    [anon_sym___clrcall] = ACTIONS(1245),
-    [anon_sym___stdcall] = ACTIONS(1245),
-    [anon_sym___fastcall] = ACTIONS(1245),
-    [anon_sym___thiscall] = ACTIONS(1245),
-    [anon_sym___vectorcall] = ACTIONS(1245),
-    [anon_sym_LBRACE] = ACTIONS(1247),
-    [anon_sym_RBRACE] = ACTIONS(1247),
-    [anon_sym_signed] = ACTIONS(1245),
-    [anon_sym_unsigned] = ACTIONS(1245),
-    [anon_sym_long] = ACTIONS(1245),
-    [anon_sym_short] = ACTIONS(1245),
-    [anon_sym_static] = ACTIONS(1245),
-    [anon_sym_auto] = ACTIONS(1245),
-    [anon_sym_register] = ACTIONS(1245),
-    [anon_sym_inline] = ACTIONS(1245),
-    [anon_sym___inline] = ACTIONS(1245),
-    [anon_sym___inline__] = ACTIONS(1245),
-    [anon_sym___forceinline] = ACTIONS(1245),
-    [anon_sym_thread_local] = ACTIONS(1245),
-    [anon_sym___thread] = ACTIONS(1245),
-    [anon_sym_const] = ACTIONS(1245),
-    [anon_sym_constexpr] = ACTIONS(1245),
-    [anon_sym_volatile] = ACTIONS(1245),
-    [anon_sym_restrict] = ACTIONS(1245),
-    [anon_sym___restrict__] = ACTIONS(1245),
-    [anon_sym__Atomic] = ACTIONS(1245),
-    [anon_sym__Noreturn] = ACTIONS(1245),
-    [anon_sym_noreturn] = ACTIONS(1245),
-    [anon_sym__Nonnull] = ACTIONS(1245),
-    [anon_sym_alignas] = ACTIONS(1245),
-    [anon_sym__Alignas] = ACTIONS(1245),
-    [sym_primitive_type] = ACTIONS(1245),
-    [anon_sym_enum] = ACTIONS(1245),
-    [anon_sym_struct] = ACTIONS(1245),
-    [anon_sym_union] = ACTIONS(1245),
-    [anon_sym_if] = ACTIONS(1245),
-    [anon_sym_else] = ACTIONS(1245),
-    [anon_sym_switch] = ACTIONS(1245),
-    [anon_sym_case] = ACTIONS(1245),
-    [anon_sym_default] = ACTIONS(1245),
-    [anon_sym_while] = ACTIONS(1245),
-    [anon_sym_do] = ACTIONS(1245),
-    [anon_sym_for] = ACTIONS(1245),
-    [anon_sym_return] = ACTIONS(1245),
-    [anon_sym_break] = ACTIONS(1245),
-    [anon_sym_continue] = ACTIONS(1245),
-    [anon_sym_goto] = ACTIONS(1245),
-    [anon_sym___try] = ACTIONS(1245),
-    [anon_sym___leave] = ACTIONS(1245),
-    [anon_sym_DASH_DASH] = ACTIONS(1247),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1247),
-    [anon_sym_sizeof] = ACTIONS(1245),
-    [anon_sym___alignof__] = ACTIONS(1245),
-    [anon_sym___alignof] = ACTIONS(1245),
-    [anon_sym__alignof] = ACTIONS(1245),
-    [anon_sym_alignof] = ACTIONS(1245),
-    [anon_sym__Alignof] = ACTIONS(1245),
-    [anon_sym_offsetof] = ACTIONS(1245),
-    [anon_sym__Generic] = ACTIONS(1245),
-    [anon_sym_asm] = ACTIONS(1245),
-    [anon_sym___asm__] = ACTIONS(1245),
-    [anon_sym___asm] = ACTIONS(1245),
-    [sym_number_literal] = ACTIONS(1247),
-    [anon_sym_L_SQUOTE] = ACTIONS(1247),
-    [anon_sym_u_SQUOTE] = ACTIONS(1247),
-    [anon_sym_U_SQUOTE] = ACTIONS(1247),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1247),
-    [anon_sym_SQUOTE] = ACTIONS(1247),
-    [anon_sym_L_DQUOTE] = ACTIONS(1247),
-    [anon_sym_u_DQUOTE] = ACTIONS(1247),
-    [anon_sym_U_DQUOTE] = ACTIONS(1247),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1247),
-    [anon_sym_DQUOTE] = ACTIONS(1247),
-    [sym_true] = ACTIONS(1245),
-    [sym_false] = ACTIONS(1245),
-    [anon_sym_NULL] = ACTIONS(1245),
-    [anon_sym_nullptr] = ACTIONS(1245),
+    [ts_builtin_sym_end] = ACTIONS(1204),
+    [sym_identifier] = ACTIONS(1202),
+    [aux_sym_preproc_include_token1] = ACTIONS(1202),
+    [aux_sym_preproc_def_token1] = ACTIONS(1202),
+    [aux_sym_preproc_if_token1] = ACTIONS(1202),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1202),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1202),
+    [sym_preproc_directive] = ACTIONS(1202),
+    [anon_sym_LPAREN2] = ACTIONS(1204),
+    [anon_sym_BANG] = ACTIONS(1204),
+    [anon_sym_TILDE] = ACTIONS(1204),
+    [anon_sym_DASH] = ACTIONS(1202),
+    [anon_sym_PLUS] = ACTIONS(1202),
+    [anon_sym_STAR] = ACTIONS(1204),
+    [anon_sym_AMP] = ACTIONS(1204),
+    [anon_sym_SEMI] = ACTIONS(1204),
+    [anon_sym___extension__] = ACTIONS(1202),
+    [anon_sym_typedef] = ACTIONS(1202),
+    [anon_sym_extern] = ACTIONS(1202),
+    [anon_sym___attribute__] = ACTIONS(1202),
+    [anon_sym___attribute] = ACTIONS(1202),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1204),
+    [anon_sym___declspec] = ACTIONS(1202),
+    [anon_sym___cdecl] = ACTIONS(1202),
+    [anon_sym___clrcall] = ACTIONS(1202),
+    [anon_sym___stdcall] = ACTIONS(1202),
+    [anon_sym___fastcall] = ACTIONS(1202),
+    [anon_sym___thiscall] = ACTIONS(1202),
+    [anon_sym___vectorcall] = ACTIONS(1202),
+    [anon_sym_LBRACE] = ACTIONS(1204),
+    [anon_sym_signed] = ACTIONS(1202),
+    [anon_sym_unsigned] = ACTIONS(1202),
+    [anon_sym_long] = ACTIONS(1202),
+    [anon_sym_short] = ACTIONS(1202),
+    [anon_sym_static] = ACTIONS(1202),
+    [anon_sym_auto] = ACTIONS(1202),
+    [anon_sym_register] = ACTIONS(1202),
+    [anon_sym_inline] = ACTIONS(1202),
+    [anon_sym___inline] = ACTIONS(1202),
+    [anon_sym___inline__] = ACTIONS(1202),
+    [anon_sym___forceinline] = ACTIONS(1202),
+    [anon_sym_thread_local] = ACTIONS(1202),
+    [anon_sym___thread] = ACTIONS(1202),
+    [anon_sym_const] = ACTIONS(1202),
+    [anon_sym_constexpr] = ACTIONS(1202),
+    [anon_sym_volatile] = ACTIONS(1202),
+    [anon_sym_restrict] = ACTIONS(1202),
+    [anon_sym___restrict__] = ACTIONS(1202),
+    [anon_sym__Atomic] = ACTIONS(1202),
+    [anon_sym__Noreturn] = ACTIONS(1202),
+    [anon_sym_noreturn] = ACTIONS(1202),
+    [anon_sym__Nonnull] = ACTIONS(1202),
+    [anon_sym_alignas] = ACTIONS(1202),
+    [anon_sym__Alignas] = ACTIONS(1202),
+    [sym_primitive_type] = ACTIONS(1202),
+    [anon_sym_enum] = ACTIONS(1202),
+    [anon_sym_struct] = ACTIONS(1202),
+    [anon_sym_union] = ACTIONS(1202),
+    [anon_sym_if] = ACTIONS(1202),
+    [anon_sym_else] = ACTIONS(1202),
+    [anon_sym_switch] = ACTIONS(1202),
+    [anon_sym_case] = ACTIONS(1202),
+    [anon_sym_default] = ACTIONS(1202),
+    [anon_sym_while] = ACTIONS(1202),
+    [anon_sym_do] = ACTIONS(1202),
+    [anon_sym_for] = ACTIONS(1202),
+    [anon_sym_return] = ACTIONS(1202),
+    [anon_sym_break] = ACTIONS(1202),
+    [anon_sym_continue] = ACTIONS(1202),
+    [anon_sym_goto] = ACTIONS(1202),
+    [anon_sym___try] = ACTIONS(1202),
+    [anon_sym___leave] = ACTIONS(1202),
+    [anon_sym_DASH_DASH] = ACTIONS(1204),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1204),
+    [anon_sym_sizeof] = ACTIONS(1202),
+    [anon_sym___alignof__] = ACTIONS(1202),
+    [anon_sym___alignof] = ACTIONS(1202),
+    [anon_sym__alignof] = ACTIONS(1202),
+    [anon_sym_alignof] = ACTIONS(1202),
+    [anon_sym__Alignof] = ACTIONS(1202),
+    [anon_sym_offsetof] = ACTIONS(1202),
+    [anon_sym__Generic] = ACTIONS(1202),
+    [anon_sym_asm] = ACTIONS(1202),
+    [anon_sym___asm__] = ACTIONS(1202),
+    [anon_sym___asm] = ACTIONS(1202),
+    [sym_number_literal] = ACTIONS(1204),
+    [anon_sym_L_SQUOTE] = ACTIONS(1204),
+    [anon_sym_u_SQUOTE] = ACTIONS(1204),
+    [anon_sym_U_SQUOTE] = ACTIONS(1204),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1204),
+    [anon_sym_SQUOTE] = ACTIONS(1204),
+    [anon_sym_L_DQUOTE] = ACTIONS(1204),
+    [anon_sym_u_DQUOTE] = ACTIONS(1204),
+    [anon_sym_U_DQUOTE] = ACTIONS(1204),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1204),
+    [anon_sym_DQUOTE] = ACTIONS(1204),
+    [sym_true] = ACTIONS(1202),
+    [sym_false] = ACTIONS(1202),
+    [anon_sym_NULL] = ACTIONS(1202),
+    [anon_sym_nullptr] = ACTIONS(1202),
     [sym_comment] = ACTIONS(3),
   },
   [167] = {
-    [ts_builtin_sym_end] = ACTIONS(1251),
-    [sym_identifier] = ACTIONS(1249),
-    [aux_sym_preproc_include_token1] = ACTIONS(1249),
-    [aux_sym_preproc_def_token1] = ACTIONS(1249),
-    [aux_sym_preproc_if_token1] = ACTIONS(1249),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1249),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1249),
-    [sym_preproc_directive] = ACTIONS(1249),
-    [anon_sym_LPAREN2] = ACTIONS(1251),
-    [anon_sym_BANG] = ACTIONS(1251),
-    [anon_sym_TILDE] = ACTIONS(1251),
-    [anon_sym_DASH] = ACTIONS(1249),
-    [anon_sym_PLUS] = ACTIONS(1249),
-    [anon_sym_STAR] = ACTIONS(1251),
-    [anon_sym_AMP] = ACTIONS(1251),
-    [anon_sym_SEMI] = ACTIONS(1251),
-    [anon_sym___extension__] = ACTIONS(1249),
-    [anon_sym_typedef] = ACTIONS(1249),
-    [anon_sym_extern] = ACTIONS(1249),
-    [anon_sym___attribute__] = ACTIONS(1249),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1251),
-    [anon_sym___declspec] = ACTIONS(1249),
-    [anon_sym___cdecl] = ACTIONS(1249),
-    [anon_sym___clrcall] = ACTIONS(1249),
-    [anon_sym___stdcall] = ACTIONS(1249),
-    [anon_sym___fastcall] = ACTIONS(1249),
-    [anon_sym___thiscall] = ACTIONS(1249),
-    [anon_sym___vectorcall] = ACTIONS(1249),
-    [anon_sym_LBRACE] = ACTIONS(1251),
-    [anon_sym_signed] = ACTIONS(1249),
-    [anon_sym_unsigned] = ACTIONS(1249),
-    [anon_sym_long] = ACTIONS(1249),
-    [anon_sym_short] = ACTIONS(1249),
-    [anon_sym_static] = ACTIONS(1249),
-    [anon_sym_auto] = ACTIONS(1249),
-    [anon_sym_register] = ACTIONS(1249),
-    [anon_sym_inline] = ACTIONS(1249),
-    [anon_sym___inline] = ACTIONS(1249),
-    [anon_sym___inline__] = ACTIONS(1249),
-    [anon_sym___forceinline] = ACTIONS(1249),
-    [anon_sym_thread_local] = ACTIONS(1249),
-    [anon_sym___thread] = ACTIONS(1249),
-    [anon_sym_const] = ACTIONS(1249),
-    [anon_sym_constexpr] = ACTIONS(1249),
-    [anon_sym_volatile] = ACTIONS(1249),
-    [anon_sym_restrict] = ACTIONS(1249),
-    [anon_sym___restrict__] = ACTIONS(1249),
-    [anon_sym__Atomic] = ACTIONS(1249),
-    [anon_sym__Noreturn] = ACTIONS(1249),
-    [anon_sym_noreturn] = ACTIONS(1249),
-    [anon_sym__Nonnull] = ACTIONS(1249),
-    [anon_sym_alignas] = ACTIONS(1249),
-    [anon_sym__Alignas] = ACTIONS(1249),
-    [sym_primitive_type] = ACTIONS(1249),
-    [anon_sym_enum] = ACTIONS(1249),
-    [anon_sym_struct] = ACTIONS(1249),
-    [anon_sym_union] = ACTIONS(1249),
-    [anon_sym_if] = ACTIONS(1249),
-    [anon_sym_else] = ACTIONS(1249),
-    [anon_sym_switch] = ACTIONS(1249),
-    [anon_sym_case] = ACTIONS(1249),
-    [anon_sym_default] = ACTIONS(1249),
-    [anon_sym_while] = ACTIONS(1249),
-    [anon_sym_do] = ACTIONS(1249),
-    [anon_sym_for] = ACTIONS(1249),
-    [anon_sym_return] = ACTIONS(1249),
-    [anon_sym_break] = ACTIONS(1249),
-    [anon_sym_continue] = ACTIONS(1249),
-    [anon_sym_goto] = ACTIONS(1249),
-    [anon_sym___try] = ACTIONS(1249),
-    [anon_sym___leave] = ACTIONS(1249),
-    [anon_sym_DASH_DASH] = ACTIONS(1251),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1251),
-    [anon_sym_sizeof] = ACTIONS(1249),
-    [anon_sym___alignof__] = ACTIONS(1249),
-    [anon_sym___alignof] = ACTIONS(1249),
-    [anon_sym__alignof] = ACTIONS(1249),
-    [anon_sym_alignof] = ACTIONS(1249),
-    [anon_sym__Alignof] = ACTIONS(1249),
-    [anon_sym_offsetof] = ACTIONS(1249),
-    [anon_sym__Generic] = ACTIONS(1249),
-    [anon_sym_asm] = ACTIONS(1249),
-    [anon_sym___asm__] = ACTIONS(1249),
-    [anon_sym___asm] = ACTIONS(1249),
-    [sym_number_literal] = ACTIONS(1251),
-    [anon_sym_L_SQUOTE] = ACTIONS(1251),
-    [anon_sym_u_SQUOTE] = ACTIONS(1251),
-    [anon_sym_U_SQUOTE] = ACTIONS(1251),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1251),
-    [anon_sym_SQUOTE] = ACTIONS(1251),
-    [anon_sym_L_DQUOTE] = ACTIONS(1251),
-    [anon_sym_u_DQUOTE] = ACTIONS(1251),
-    [anon_sym_U_DQUOTE] = ACTIONS(1251),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1251),
-    [anon_sym_DQUOTE] = ACTIONS(1251),
-    [sym_true] = ACTIONS(1249),
-    [sym_false] = ACTIONS(1249),
-    [anon_sym_NULL] = ACTIONS(1249),
-    [anon_sym_nullptr] = ACTIONS(1249),
+    [sym_identifier] = ACTIONS(1250),
+    [aux_sym_preproc_include_token1] = ACTIONS(1250),
+    [aux_sym_preproc_def_token1] = ACTIONS(1250),
+    [aux_sym_preproc_if_token1] = ACTIONS(1250),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1250),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1250),
+    [sym_preproc_directive] = ACTIONS(1250),
+    [anon_sym_LPAREN2] = ACTIONS(1252),
+    [anon_sym_BANG] = ACTIONS(1252),
+    [anon_sym_TILDE] = ACTIONS(1252),
+    [anon_sym_DASH] = ACTIONS(1250),
+    [anon_sym_PLUS] = ACTIONS(1250),
+    [anon_sym_STAR] = ACTIONS(1252),
+    [anon_sym_AMP] = ACTIONS(1252),
+    [anon_sym_SEMI] = ACTIONS(1252),
+    [anon_sym___extension__] = ACTIONS(1250),
+    [anon_sym_typedef] = ACTIONS(1250),
+    [anon_sym_extern] = ACTIONS(1250),
+    [anon_sym___attribute__] = ACTIONS(1250),
+    [anon_sym___attribute] = ACTIONS(1250),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1252),
+    [anon_sym___declspec] = ACTIONS(1250),
+    [anon_sym___cdecl] = ACTIONS(1250),
+    [anon_sym___clrcall] = ACTIONS(1250),
+    [anon_sym___stdcall] = ACTIONS(1250),
+    [anon_sym___fastcall] = ACTIONS(1250),
+    [anon_sym___thiscall] = ACTIONS(1250),
+    [anon_sym___vectorcall] = ACTIONS(1250),
+    [anon_sym_LBRACE] = ACTIONS(1252),
+    [anon_sym_RBRACE] = ACTIONS(1252),
+    [anon_sym_signed] = ACTIONS(1250),
+    [anon_sym_unsigned] = ACTIONS(1250),
+    [anon_sym_long] = ACTIONS(1250),
+    [anon_sym_short] = ACTIONS(1250),
+    [anon_sym_static] = ACTIONS(1250),
+    [anon_sym_auto] = ACTIONS(1250),
+    [anon_sym_register] = ACTIONS(1250),
+    [anon_sym_inline] = ACTIONS(1250),
+    [anon_sym___inline] = ACTIONS(1250),
+    [anon_sym___inline__] = ACTIONS(1250),
+    [anon_sym___forceinline] = ACTIONS(1250),
+    [anon_sym_thread_local] = ACTIONS(1250),
+    [anon_sym___thread] = ACTIONS(1250),
+    [anon_sym_const] = ACTIONS(1250),
+    [anon_sym_constexpr] = ACTIONS(1250),
+    [anon_sym_volatile] = ACTIONS(1250),
+    [anon_sym_restrict] = ACTIONS(1250),
+    [anon_sym___restrict__] = ACTIONS(1250),
+    [anon_sym__Atomic] = ACTIONS(1250),
+    [anon_sym__Noreturn] = ACTIONS(1250),
+    [anon_sym_noreturn] = ACTIONS(1250),
+    [anon_sym__Nonnull] = ACTIONS(1250),
+    [anon_sym_alignas] = ACTIONS(1250),
+    [anon_sym__Alignas] = ACTIONS(1250),
+    [sym_primitive_type] = ACTIONS(1250),
+    [anon_sym_enum] = ACTIONS(1250),
+    [anon_sym_struct] = ACTIONS(1250),
+    [anon_sym_union] = ACTIONS(1250),
+    [anon_sym_if] = ACTIONS(1250),
+    [anon_sym_else] = ACTIONS(1250),
+    [anon_sym_switch] = ACTIONS(1250),
+    [anon_sym_case] = ACTIONS(1250),
+    [anon_sym_default] = ACTIONS(1250),
+    [anon_sym_while] = ACTIONS(1250),
+    [anon_sym_do] = ACTIONS(1250),
+    [anon_sym_for] = ACTIONS(1250),
+    [anon_sym_return] = ACTIONS(1250),
+    [anon_sym_break] = ACTIONS(1250),
+    [anon_sym_continue] = ACTIONS(1250),
+    [anon_sym_goto] = ACTIONS(1250),
+    [anon_sym___try] = ACTIONS(1250),
+    [anon_sym___leave] = ACTIONS(1250),
+    [anon_sym_DASH_DASH] = ACTIONS(1252),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1252),
+    [anon_sym_sizeof] = ACTIONS(1250),
+    [anon_sym___alignof__] = ACTIONS(1250),
+    [anon_sym___alignof] = ACTIONS(1250),
+    [anon_sym__alignof] = ACTIONS(1250),
+    [anon_sym_alignof] = ACTIONS(1250),
+    [anon_sym__Alignof] = ACTIONS(1250),
+    [anon_sym_offsetof] = ACTIONS(1250),
+    [anon_sym__Generic] = ACTIONS(1250),
+    [anon_sym_asm] = ACTIONS(1250),
+    [anon_sym___asm__] = ACTIONS(1250),
+    [anon_sym___asm] = ACTIONS(1250),
+    [sym_number_literal] = ACTIONS(1252),
+    [anon_sym_L_SQUOTE] = ACTIONS(1252),
+    [anon_sym_u_SQUOTE] = ACTIONS(1252),
+    [anon_sym_U_SQUOTE] = ACTIONS(1252),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1252),
+    [anon_sym_SQUOTE] = ACTIONS(1252),
+    [anon_sym_L_DQUOTE] = ACTIONS(1252),
+    [anon_sym_u_DQUOTE] = ACTIONS(1252),
+    [anon_sym_U_DQUOTE] = ACTIONS(1252),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1252),
+    [anon_sym_DQUOTE] = ACTIONS(1252),
+    [sym_true] = ACTIONS(1250),
+    [sym_false] = ACTIONS(1250),
+    [anon_sym_NULL] = ACTIONS(1250),
+    [anon_sym_nullptr] = ACTIONS(1250),
     [sym_comment] = ACTIONS(3),
   },
   [168] = {
-    [ts_builtin_sym_end] = ACTIONS(1135),
-    [sym_identifier] = ACTIONS(1133),
-    [aux_sym_preproc_include_token1] = ACTIONS(1133),
-    [aux_sym_preproc_def_token1] = ACTIONS(1133),
-    [aux_sym_preproc_if_token1] = ACTIONS(1133),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1133),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1133),
-    [sym_preproc_directive] = ACTIONS(1133),
-    [anon_sym_LPAREN2] = ACTIONS(1135),
-    [anon_sym_BANG] = ACTIONS(1135),
-    [anon_sym_TILDE] = ACTIONS(1135),
-    [anon_sym_DASH] = ACTIONS(1133),
-    [anon_sym_PLUS] = ACTIONS(1133),
-    [anon_sym_STAR] = ACTIONS(1135),
-    [anon_sym_AMP] = ACTIONS(1135),
-    [anon_sym_SEMI] = ACTIONS(1135),
-    [anon_sym___extension__] = ACTIONS(1133),
-    [anon_sym_typedef] = ACTIONS(1133),
-    [anon_sym_extern] = ACTIONS(1133),
-    [anon_sym___attribute__] = ACTIONS(1133),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1135),
-    [anon_sym___declspec] = ACTIONS(1133),
-    [anon_sym___cdecl] = ACTIONS(1133),
-    [anon_sym___clrcall] = ACTIONS(1133),
-    [anon_sym___stdcall] = ACTIONS(1133),
-    [anon_sym___fastcall] = ACTIONS(1133),
-    [anon_sym___thiscall] = ACTIONS(1133),
-    [anon_sym___vectorcall] = ACTIONS(1133),
-    [anon_sym_LBRACE] = ACTIONS(1135),
-    [anon_sym_signed] = ACTIONS(1133),
-    [anon_sym_unsigned] = ACTIONS(1133),
-    [anon_sym_long] = ACTIONS(1133),
-    [anon_sym_short] = ACTIONS(1133),
-    [anon_sym_static] = ACTIONS(1133),
-    [anon_sym_auto] = ACTIONS(1133),
-    [anon_sym_register] = ACTIONS(1133),
-    [anon_sym_inline] = ACTIONS(1133),
-    [anon_sym___inline] = ACTIONS(1133),
-    [anon_sym___inline__] = ACTIONS(1133),
-    [anon_sym___forceinline] = ACTIONS(1133),
-    [anon_sym_thread_local] = ACTIONS(1133),
-    [anon_sym___thread] = ACTIONS(1133),
-    [anon_sym_const] = ACTIONS(1133),
-    [anon_sym_constexpr] = ACTIONS(1133),
-    [anon_sym_volatile] = ACTIONS(1133),
-    [anon_sym_restrict] = ACTIONS(1133),
-    [anon_sym___restrict__] = ACTIONS(1133),
-    [anon_sym__Atomic] = ACTIONS(1133),
-    [anon_sym__Noreturn] = ACTIONS(1133),
-    [anon_sym_noreturn] = ACTIONS(1133),
-    [anon_sym__Nonnull] = ACTIONS(1133),
-    [anon_sym_alignas] = ACTIONS(1133),
-    [anon_sym__Alignas] = ACTIONS(1133),
-    [sym_primitive_type] = ACTIONS(1133),
-    [anon_sym_enum] = ACTIONS(1133),
-    [anon_sym_struct] = ACTIONS(1133),
-    [anon_sym_union] = ACTIONS(1133),
-    [anon_sym_if] = ACTIONS(1133),
-    [anon_sym_else] = ACTIONS(1133),
-    [anon_sym_switch] = ACTIONS(1133),
-    [anon_sym_case] = ACTIONS(1133),
-    [anon_sym_default] = ACTIONS(1133),
-    [anon_sym_while] = ACTIONS(1133),
-    [anon_sym_do] = ACTIONS(1133),
-    [anon_sym_for] = ACTIONS(1133),
-    [anon_sym_return] = ACTIONS(1133),
-    [anon_sym_break] = ACTIONS(1133),
-    [anon_sym_continue] = ACTIONS(1133),
-    [anon_sym_goto] = ACTIONS(1133),
-    [anon_sym___try] = ACTIONS(1133),
-    [anon_sym___leave] = ACTIONS(1133),
-    [anon_sym_DASH_DASH] = ACTIONS(1135),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1135),
-    [anon_sym_sizeof] = ACTIONS(1133),
-    [anon_sym___alignof__] = ACTIONS(1133),
-    [anon_sym___alignof] = ACTIONS(1133),
-    [anon_sym__alignof] = ACTIONS(1133),
-    [anon_sym_alignof] = ACTIONS(1133),
-    [anon_sym__Alignof] = ACTIONS(1133),
-    [anon_sym_offsetof] = ACTIONS(1133),
-    [anon_sym__Generic] = ACTIONS(1133),
-    [anon_sym_asm] = ACTIONS(1133),
-    [anon_sym___asm__] = ACTIONS(1133),
-    [anon_sym___asm] = ACTIONS(1133),
-    [sym_number_literal] = ACTIONS(1135),
-    [anon_sym_L_SQUOTE] = ACTIONS(1135),
-    [anon_sym_u_SQUOTE] = ACTIONS(1135),
-    [anon_sym_U_SQUOTE] = ACTIONS(1135),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1135),
-    [anon_sym_SQUOTE] = ACTIONS(1135),
-    [anon_sym_L_DQUOTE] = ACTIONS(1135),
-    [anon_sym_u_DQUOTE] = ACTIONS(1135),
-    [anon_sym_U_DQUOTE] = ACTIONS(1135),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1135),
-    [anon_sym_DQUOTE] = ACTIONS(1135),
-    [sym_true] = ACTIONS(1133),
-    [sym_false] = ACTIONS(1133),
-    [anon_sym_NULL] = ACTIONS(1133),
-    [anon_sym_nullptr] = ACTIONS(1133),
+    [ts_builtin_sym_end] = ACTIONS(1260),
+    [sym_identifier] = ACTIONS(1258),
+    [aux_sym_preproc_include_token1] = ACTIONS(1258),
+    [aux_sym_preproc_def_token1] = ACTIONS(1258),
+    [aux_sym_preproc_if_token1] = ACTIONS(1258),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1258),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1258),
+    [sym_preproc_directive] = ACTIONS(1258),
+    [anon_sym_LPAREN2] = ACTIONS(1260),
+    [anon_sym_BANG] = ACTIONS(1260),
+    [anon_sym_TILDE] = ACTIONS(1260),
+    [anon_sym_DASH] = ACTIONS(1258),
+    [anon_sym_PLUS] = ACTIONS(1258),
+    [anon_sym_STAR] = ACTIONS(1260),
+    [anon_sym_AMP] = ACTIONS(1260),
+    [anon_sym_SEMI] = ACTIONS(1260),
+    [anon_sym___extension__] = ACTIONS(1258),
+    [anon_sym_typedef] = ACTIONS(1258),
+    [anon_sym_extern] = ACTIONS(1258),
+    [anon_sym___attribute__] = ACTIONS(1258),
+    [anon_sym___attribute] = ACTIONS(1258),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1260),
+    [anon_sym___declspec] = ACTIONS(1258),
+    [anon_sym___cdecl] = ACTIONS(1258),
+    [anon_sym___clrcall] = ACTIONS(1258),
+    [anon_sym___stdcall] = ACTIONS(1258),
+    [anon_sym___fastcall] = ACTIONS(1258),
+    [anon_sym___thiscall] = ACTIONS(1258),
+    [anon_sym___vectorcall] = ACTIONS(1258),
+    [anon_sym_LBRACE] = ACTIONS(1260),
+    [anon_sym_signed] = ACTIONS(1258),
+    [anon_sym_unsigned] = ACTIONS(1258),
+    [anon_sym_long] = ACTIONS(1258),
+    [anon_sym_short] = ACTIONS(1258),
+    [anon_sym_static] = ACTIONS(1258),
+    [anon_sym_auto] = ACTIONS(1258),
+    [anon_sym_register] = ACTIONS(1258),
+    [anon_sym_inline] = ACTIONS(1258),
+    [anon_sym___inline] = ACTIONS(1258),
+    [anon_sym___inline__] = ACTIONS(1258),
+    [anon_sym___forceinline] = ACTIONS(1258),
+    [anon_sym_thread_local] = ACTIONS(1258),
+    [anon_sym___thread] = ACTIONS(1258),
+    [anon_sym_const] = ACTIONS(1258),
+    [anon_sym_constexpr] = ACTIONS(1258),
+    [anon_sym_volatile] = ACTIONS(1258),
+    [anon_sym_restrict] = ACTIONS(1258),
+    [anon_sym___restrict__] = ACTIONS(1258),
+    [anon_sym__Atomic] = ACTIONS(1258),
+    [anon_sym__Noreturn] = ACTIONS(1258),
+    [anon_sym_noreturn] = ACTIONS(1258),
+    [anon_sym__Nonnull] = ACTIONS(1258),
+    [anon_sym_alignas] = ACTIONS(1258),
+    [anon_sym__Alignas] = ACTIONS(1258),
+    [sym_primitive_type] = ACTIONS(1258),
+    [anon_sym_enum] = ACTIONS(1258),
+    [anon_sym_struct] = ACTIONS(1258),
+    [anon_sym_union] = ACTIONS(1258),
+    [anon_sym_if] = ACTIONS(1258),
+    [anon_sym_else] = ACTIONS(1258),
+    [anon_sym_switch] = ACTIONS(1258),
+    [anon_sym_case] = ACTIONS(1258),
+    [anon_sym_default] = ACTIONS(1258),
+    [anon_sym_while] = ACTIONS(1258),
+    [anon_sym_do] = ACTIONS(1258),
+    [anon_sym_for] = ACTIONS(1258),
+    [anon_sym_return] = ACTIONS(1258),
+    [anon_sym_break] = ACTIONS(1258),
+    [anon_sym_continue] = ACTIONS(1258),
+    [anon_sym_goto] = ACTIONS(1258),
+    [anon_sym___try] = ACTIONS(1258),
+    [anon_sym___leave] = ACTIONS(1258),
+    [anon_sym_DASH_DASH] = ACTIONS(1260),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1260),
+    [anon_sym_sizeof] = ACTIONS(1258),
+    [anon_sym___alignof__] = ACTIONS(1258),
+    [anon_sym___alignof] = ACTIONS(1258),
+    [anon_sym__alignof] = ACTIONS(1258),
+    [anon_sym_alignof] = ACTIONS(1258),
+    [anon_sym__Alignof] = ACTIONS(1258),
+    [anon_sym_offsetof] = ACTIONS(1258),
+    [anon_sym__Generic] = ACTIONS(1258),
+    [anon_sym_asm] = ACTIONS(1258),
+    [anon_sym___asm__] = ACTIONS(1258),
+    [anon_sym___asm] = ACTIONS(1258),
+    [sym_number_literal] = ACTIONS(1260),
+    [anon_sym_L_SQUOTE] = ACTIONS(1260),
+    [anon_sym_u_SQUOTE] = ACTIONS(1260),
+    [anon_sym_U_SQUOTE] = ACTIONS(1260),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1260),
+    [anon_sym_SQUOTE] = ACTIONS(1260),
+    [anon_sym_L_DQUOTE] = ACTIONS(1260),
+    [anon_sym_u_DQUOTE] = ACTIONS(1260),
+    [anon_sym_U_DQUOTE] = ACTIONS(1260),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1260),
+    [anon_sym_DQUOTE] = ACTIONS(1260),
+    [sym_true] = ACTIONS(1258),
+    [sym_false] = ACTIONS(1258),
+    [anon_sym_NULL] = ACTIONS(1258),
+    [anon_sym_nullptr] = ACTIONS(1258),
     [sym_comment] = ACTIONS(3),
   },
   [169] = {
-    [sym_identifier] = ACTIONS(1137),
-    [aux_sym_preproc_include_token1] = ACTIONS(1137),
-    [aux_sym_preproc_def_token1] = ACTIONS(1137),
-    [aux_sym_preproc_if_token1] = ACTIONS(1137),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1137),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1137),
-    [sym_preproc_directive] = ACTIONS(1137),
-    [anon_sym_LPAREN2] = ACTIONS(1139),
-    [anon_sym_BANG] = ACTIONS(1139),
-    [anon_sym_TILDE] = ACTIONS(1139),
-    [anon_sym_DASH] = ACTIONS(1137),
-    [anon_sym_PLUS] = ACTIONS(1137),
-    [anon_sym_STAR] = ACTIONS(1139),
-    [anon_sym_AMP] = ACTIONS(1139),
-    [anon_sym_SEMI] = ACTIONS(1139),
-    [anon_sym___extension__] = ACTIONS(1137),
-    [anon_sym_typedef] = ACTIONS(1137),
-    [anon_sym_extern] = ACTIONS(1137),
-    [anon_sym___attribute__] = ACTIONS(1137),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1139),
-    [anon_sym___declspec] = ACTIONS(1137),
-    [anon_sym___cdecl] = ACTIONS(1137),
-    [anon_sym___clrcall] = ACTIONS(1137),
-    [anon_sym___stdcall] = ACTIONS(1137),
-    [anon_sym___fastcall] = ACTIONS(1137),
-    [anon_sym___thiscall] = ACTIONS(1137),
-    [anon_sym___vectorcall] = ACTIONS(1137),
-    [anon_sym_LBRACE] = ACTIONS(1139),
-    [anon_sym_RBRACE] = ACTIONS(1139),
-    [anon_sym_signed] = ACTIONS(1137),
-    [anon_sym_unsigned] = ACTIONS(1137),
-    [anon_sym_long] = ACTIONS(1137),
-    [anon_sym_short] = ACTIONS(1137),
-    [anon_sym_static] = ACTIONS(1137),
-    [anon_sym_auto] = ACTIONS(1137),
-    [anon_sym_register] = ACTIONS(1137),
-    [anon_sym_inline] = ACTIONS(1137),
-    [anon_sym___inline] = ACTIONS(1137),
-    [anon_sym___inline__] = ACTIONS(1137),
-    [anon_sym___forceinline] = ACTIONS(1137),
-    [anon_sym_thread_local] = ACTIONS(1137),
-    [anon_sym___thread] = ACTIONS(1137),
-    [anon_sym_const] = ACTIONS(1137),
-    [anon_sym_constexpr] = ACTIONS(1137),
-    [anon_sym_volatile] = ACTIONS(1137),
-    [anon_sym_restrict] = ACTIONS(1137),
-    [anon_sym___restrict__] = ACTIONS(1137),
-    [anon_sym__Atomic] = ACTIONS(1137),
-    [anon_sym__Noreturn] = ACTIONS(1137),
-    [anon_sym_noreturn] = ACTIONS(1137),
-    [anon_sym__Nonnull] = ACTIONS(1137),
-    [anon_sym_alignas] = ACTIONS(1137),
-    [anon_sym__Alignas] = ACTIONS(1137),
-    [sym_primitive_type] = ACTIONS(1137),
-    [anon_sym_enum] = ACTIONS(1137),
-    [anon_sym_struct] = ACTIONS(1137),
-    [anon_sym_union] = ACTIONS(1137),
-    [anon_sym_if] = ACTIONS(1137),
-    [anon_sym_else] = ACTIONS(1137),
-    [anon_sym_switch] = ACTIONS(1137),
-    [anon_sym_case] = ACTIONS(1137),
-    [anon_sym_default] = ACTIONS(1137),
-    [anon_sym_while] = ACTIONS(1137),
-    [anon_sym_do] = ACTIONS(1137),
-    [anon_sym_for] = ACTIONS(1137),
-    [anon_sym_return] = ACTIONS(1137),
-    [anon_sym_break] = ACTIONS(1137),
-    [anon_sym_continue] = ACTIONS(1137),
-    [anon_sym_goto] = ACTIONS(1137),
-    [anon_sym___try] = ACTIONS(1137),
-    [anon_sym___leave] = ACTIONS(1137),
-    [anon_sym_DASH_DASH] = ACTIONS(1139),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1139),
-    [anon_sym_sizeof] = ACTIONS(1137),
-    [anon_sym___alignof__] = ACTIONS(1137),
-    [anon_sym___alignof] = ACTIONS(1137),
-    [anon_sym__alignof] = ACTIONS(1137),
-    [anon_sym_alignof] = ACTIONS(1137),
-    [anon_sym__Alignof] = ACTIONS(1137),
-    [anon_sym_offsetof] = ACTIONS(1137),
-    [anon_sym__Generic] = ACTIONS(1137),
-    [anon_sym_asm] = ACTIONS(1137),
-    [anon_sym___asm__] = ACTIONS(1137),
-    [anon_sym___asm] = ACTIONS(1137),
-    [sym_number_literal] = ACTIONS(1139),
-    [anon_sym_L_SQUOTE] = ACTIONS(1139),
-    [anon_sym_u_SQUOTE] = ACTIONS(1139),
-    [anon_sym_U_SQUOTE] = ACTIONS(1139),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1139),
-    [anon_sym_SQUOTE] = ACTIONS(1139),
-    [anon_sym_L_DQUOTE] = ACTIONS(1139),
-    [anon_sym_u_DQUOTE] = ACTIONS(1139),
-    [anon_sym_U_DQUOTE] = ACTIONS(1139),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1139),
-    [anon_sym_DQUOTE] = ACTIONS(1139),
-    [sym_true] = ACTIONS(1137),
-    [sym_false] = ACTIONS(1137),
-    [anon_sym_NULL] = ACTIONS(1137),
-    [anon_sym_nullptr] = ACTIONS(1137),
+    [ts_builtin_sym_end] = ACTIONS(1228),
+    [sym_identifier] = ACTIONS(1226),
+    [aux_sym_preproc_include_token1] = ACTIONS(1226),
+    [aux_sym_preproc_def_token1] = ACTIONS(1226),
+    [aux_sym_preproc_if_token1] = ACTIONS(1226),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1226),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1226),
+    [sym_preproc_directive] = ACTIONS(1226),
+    [anon_sym_LPAREN2] = ACTIONS(1228),
+    [anon_sym_BANG] = ACTIONS(1228),
+    [anon_sym_TILDE] = ACTIONS(1228),
+    [anon_sym_DASH] = ACTIONS(1226),
+    [anon_sym_PLUS] = ACTIONS(1226),
+    [anon_sym_STAR] = ACTIONS(1228),
+    [anon_sym_AMP] = ACTIONS(1228),
+    [anon_sym_SEMI] = ACTIONS(1228),
+    [anon_sym___extension__] = ACTIONS(1226),
+    [anon_sym_typedef] = ACTIONS(1226),
+    [anon_sym_extern] = ACTIONS(1226),
+    [anon_sym___attribute__] = ACTIONS(1226),
+    [anon_sym___attribute] = ACTIONS(1226),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1228),
+    [anon_sym___declspec] = ACTIONS(1226),
+    [anon_sym___cdecl] = ACTIONS(1226),
+    [anon_sym___clrcall] = ACTIONS(1226),
+    [anon_sym___stdcall] = ACTIONS(1226),
+    [anon_sym___fastcall] = ACTIONS(1226),
+    [anon_sym___thiscall] = ACTIONS(1226),
+    [anon_sym___vectorcall] = ACTIONS(1226),
+    [anon_sym_LBRACE] = ACTIONS(1228),
+    [anon_sym_signed] = ACTIONS(1226),
+    [anon_sym_unsigned] = ACTIONS(1226),
+    [anon_sym_long] = ACTIONS(1226),
+    [anon_sym_short] = ACTIONS(1226),
+    [anon_sym_static] = ACTIONS(1226),
+    [anon_sym_auto] = ACTIONS(1226),
+    [anon_sym_register] = ACTIONS(1226),
+    [anon_sym_inline] = ACTIONS(1226),
+    [anon_sym___inline] = ACTIONS(1226),
+    [anon_sym___inline__] = ACTIONS(1226),
+    [anon_sym___forceinline] = ACTIONS(1226),
+    [anon_sym_thread_local] = ACTIONS(1226),
+    [anon_sym___thread] = ACTIONS(1226),
+    [anon_sym_const] = ACTIONS(1226),
+    [anon_sym_constexpr] = ACTIONS(1226),
+    [anon_sym_volatile] = ACTIONS(1226),
+    [anon_sym_restrict] = ACTIONS(1226),
+    [anon_sym___restrict__] = ACTIONS(1226),
+    [anon_sym__Atomic] = ACTIONS(1226),
+    [anon_sym__Noreturn] = ACTIONS(1226),
+    [anon_sym_noreturn] = ACTIONS(1226),
+    [anon_sym__Nonnull] = ACTIONS(1226),
+    [anon_sym_alignas] = ACTIONS(1226),
+    [anon_sym__Alignas] = ACTIONS(1226),
+    [sym_primitive_type] = ACTIONS(1226),
+    [anon_sym_enum] = ACTIONS(1226),
+    [anon_sym_struct] = ACTIONS(1226),
+    [anon_sym_union] = ACTIONS(1226),
+    [anon_sym_if] = ACTIONS(1226),
+    [anon_sym_else] = ACTIONS(1226),
+    [anon_sym_switch] = ACTIONS(1226),
+    [anon_sym_case] = ACTIONS(1226),
+    [anon_sym_default] = ACTIONS(1226),
+    [anon_sym_while] = ACTIONS(1226),
+    [anon_sym_do] = ACTIONS(1226),
+    [anon_sym_for] = ACTIONS(1226),
+    [anon_sym_return] = ACTIONS(1226),
+    [anon_sym_break] = ACTIONS(1226),
+    [anon_sym_continue] = ACTIONS(1226),
+    [anon_sym_goto] = ACTIONS(1226),
+    [anon_sym___try] = ACTIONS(1226),
+    [anon_sym___leave] = ACTIONS(1226),
+    [anon_sym_DASH_DASH] = ACTIONS(1228),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1228),
+    [anon_sym_sizeof] = ACTIONS(1226),
+    [anon_sym___alignof__] = ACTIONS(1226),
+    [anon_sym___alignof] = ACTIONS(1226),
+    [anon_sym__alignof] = ACTIONS(1226),
+    [anon_sym_alignof] = ACTIONS(1226),
+    [anon_sym__Alignof] = ACTIONS(1226),
+    [anon_sym_offsetof] = ACTIONS(1226),
+    [anon_sym__Generic] = ACTIONS(1226),
+    [anon_sym_asm] = ACTIONS(1226),
+    [anon_sym___asm__] = ACTIONS(1226),
+    [anon_sym___asm] = ACTIONS(1226),
+    [sym_number_literal] = ACTIONS(1228),
+    [anon_sym_L_SQUOTE] = ACTIONS(1228),
+    [anon_sym_u_SQUOTE] = ACTIONS(1228),
+    [anon_sym_U_SQUOTE] = ACTIONS(1228),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1228),
+    [anon_sym_SQUOTE] = ACTIONS(1228),
+    [anon_sym_L_DQUOTE] = ACTIONS(1228),
+    [anon_sym_u_DQUOTE] = ACTIONS(1228),
+    [anon_sym_U_DQUOTE] = ACTIONS(1228),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1228),
+    [anon_sym_DQUOTE] = ACTIONS(1228),
+    [sym_true] = ACTIONS(1226),
+    [sym_false] = ACTIONS(1226),
+    [anon_sym_NULL] = ACTIONS(1226),
+    [anon_sym_nullptr] = ACTIONS(1226),
     [sym_comment] = ACTIONS(3),
   },
   [170] = {
-    [ts_builtin_sym_end] = ACTIONS(1215),
-    [sym_identifier] = ACTIONS(1213),
-    [aux_sym_preproc_include_token1] = ACTIONS(1213),
-    [aux_sym_preproc_def_token1] = ACTIONS(1213),
-    [aux_sym_preproc_if_token1] = ACTIONS(1213),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1213),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1213),
-    [sym_preproc_directive] = ACTIONS(1213),
-    [anon_sym_LPAREN2] = ACTIONS(1215),
-    [anon_sym_BANG] = ACTIONS(1215),
-    [anon_sym_TILDE] = ACTIONS(1215),
-    [anon_sym_DASH] = ACTIONS(1213),
-    [anon_sym_PLUS] = ACTIONS(1213),
-    [anon_sym_STAR] = ACTIONS(1215),
-    [anon_sym_AMP] = ACTIONS(1215),
-    [anon_sym_SEMI] = ACTIONS(1215),
-    [anon_sym___extension__] = ACTIONS(1213),
-    [anon_sym_typedef] = ACTIONS(1213),
-    [anon_sym_extern] = ACTIONS(1213),
-    [anon_sym___attribute__] = ACTIONS(1213),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1215),
-    [anon_sym___declspec] = ACTIONS(1213),
-    [anon_sym___cdecl] = ACTIONS(1213),
-    [anon_sym___clrcall] = ACTIONS(1213),
-    [anon_sym___stdcall] = ACTIONS(1213),
-    [anon_sym___fastcall] = ACTIONS(1213),
-    [anon_sym___thiscall] = ACTIONS(1213),
-    [anon_sym___vectorcall] = ACTIONS(1213),
-    [anon_sym_LBRACE] = ACTIONS(1215),
-    [anon_sym_signed] = ACTIONS(1213),
-    [anon_sym_unsigned] = ACTIONS(1213),
-    [anon_sym_long] = ACTIONS(1213),
-    [anon_sym_short] = ACTIONS(1213),
-    [anon_sym_static] = ACTIONS(1213),
-    [anon_sym_auto] = ACTIONS(1213),
-    [anon_sym_register] = ACTIONS(1213),
-    [anon_sym_inline] = ACTIONS(1213),
-    [anon_sym___inline] = ACTIONS(1213),
-    [anon_sym___inline__] = ACTIONS(1213),
-    [anon_sym___forceinline] = ACTIONS(1213),
-    [anon_sym_thread_local] = ACTIONS(1213),
-    [anon_sym___thread] = ACTIONS(1213),
-    [anon_sym_const] = ACTIONS(1213),
-    [anon_sym_constexpr] = ACTIONS(1213),
-    [anon_sym_volatile] = ACTIONS(1213),
-    [anon_sym_restrict] = ACTIONS(1213),
-    [anon_sym___restrict__] = ACTIONS(1213),
-    [anon_sym__Atomic] = ACTIONS(1213),
-    [anon_sym__Noreturn] = ACTIONS(1213),
-    [anon_sym_noreturn] = ACTIONS(1213),
-    [anon_sym__Nonnull] = ACTIONS(1213),
-    [anon_sym_alignas] = ACTIONS(1213),
-    [anon_sym__Alignas] = ACTIONS(1213),
-    [sym_primitive_type] = ACTIONS(1213),
-    [anon_sym_enum] = ACTIONS(1213),
-    [anon_sym_struct] = ACTIONS(1213),
-    [anon_sym_union] = ACTIONS(1213),
-    [anon_sym_if] = ACTIONS(1213),
-    [anon_sym_else] = ACTIONS(1213),
-    [anon_sym_switch] = ACTIONS(1213),
-    [anon_sym_case] = ACTIONS(1213),
-    [anon_sym_default] = ACTIONS(1213),
-    [anon_sym_while] = ACTIONS(1213),
-    [anon_sym_do] = ACTIONS(1213),
-    [anon_sym_for] = ACTIONS(1213),
-    [anon_sym_return] = ACTIONS(1213),
-    [anon_sym_break] = ACTIONS(1213),
-    [anon_sym_continue] = ACTIONS(1213),
-    [anon_sym_goto] = ACTIONS(1213),
-    [anon_sym___try] = ACTIONS(1213),
-    [anon_sym___leave] = ACTIONS(1213),
-    [anon_sym_DASH_DASH] = ACTIONS(1215),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1215),
-    [anon_sym_sizeof] = ACTIONS(1213),
-    [anon_sym___alignof__] = ACTIONS(1213),
-    [anon_sym___alignof] = ACTIONS(1213),
-    [anon_sym__alignof] = ACTIONS(1213),
-    [anon_sym_alignof] = ACTIONS(1213),
-    [anon_sym__Alignof] = ACTIONS(1213),
-    [anon_sym_offsetof] = ACTIONS(1213),
-    [anon_sym__Generic] = ACTIONS(1213),
-    [anon_sym_asm] = ACTIONS(1213),
-    [anon_sym___asm__] = ACTIONS(1213),
-    [anon_sym___asm] = ACTIONS(1213),
-    [sym_number_literal] = ACTIONS(1215),
-    [anon_sym_L_SQUOTE] = ACTIONS(1215),
-    [anon_sym_u_SQUOTE] = ACTIONS(1215),
-    [anon_sym_U_SQUOTE] = ACTIONS(1215),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1215),
-    [anon_sym_SQUOTE] = ACTIONS(1215),
-    [anon_sym_L_DQUOTE] = ACTIONS(1215),
-    [anon_sym_u_DQUOTE] = ACTIONS(1215),
-    [anon_sym_U_DQUOTE] = ACTIONS(1215),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1215),
-    [anon_sym_DQUOTE] = ACTIONS(1215),
-    [sym_true] = ACTIONS(1213),
-    [sym_false] = ACTIONS(1213),
-    [anon_sym_NULL] = ACTIONS(1213),
-    [anon_sym_nullptr] = ACTIONS(1213),
+    [sym_identifier] = ACTIONS(1218),
+    [aux_sym_preproc_include_token1] = ACTIONS(1218),
+    [aux_sym_preproc_def_token1] = ACTIONS(1218),
+    [aux_sym_preproc_if_token1] = ACTIONS(1218),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1218),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1218),
+    [sym_preproc_directive] = ACTIONS(1218),
+    [anon_sym_LPAREN2] = ACTIONS(1220),
+    [anon_sym_BANG] = ACTIONS(1220),
+    [anon_sym_TILDE] = ACTIONS(1220),
+    [anon_sym_DASH] = ACTIONS(1218),
+    [anon_sym_PLUS] = ACTIONS(1218),
+    [anon_sym_STAR] = ACTIONS(1220),
+    [anon_sym_AMP] = ACTIONS(1220),
+    [anon_sym_SEMI] = ACTIONS(1220),
+    [anon_sym___extension__] = ACTIONS(1218),
+    [anon_sym_typedef] = ACTIONS(1218),
+    [anon_sym_extern] = ACTIONS(1218),
+    [anon_sym___attribute__] = ACTIONS(1218),
+    [anon_sym___attribute] = ACTIONS(1218),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1220),
+    [anon_sym___declspec] = ACTIONS(1218),
+    [anon_sym___cdecl] = ACTIONS(1218),
+    [anon_sym___clrcall] = ACTIONS(1218),
+    [anon_sym___stdcall] = ACTIONS(1218),
+    [anon_sym___fastcall] = ACTIONS(1218),
+    [anon_sym___thiscall] = ACTIONS(1218),
+    [anon_sym___vectorcall] = ACTIONS(1218),
+    [anon_sym_LBRACE] = ACTIONS(1220),
+    [anon_sym_RBRACE] = ACTIONS(1220),
+    [anon_sym_signed] = ACTIONS(1218),
+    [anon_sym_unsigned] = ACTIONS(1218),
+    [anon_sym_long] = ACTIONS(1218),
+    [anon_sym_short] = ACTIONS(1218),
+    [anon_sym_static] = ACTIONS(1218),
+    [anon_sym_auto] = ACTIONS(1218),
+    [anon_sym_register] = ACTIONS(1218),
+    [anon_sym_inline] = ACTIONS(1218),
+    [anon_sym___inline] = ACTIONS(1218),
+    [anon_sym___inline__] = ACTIONS(1218),
+    [anon_sym___forceinline] = ACTIONS(1218),
+    [anon_sym_thread_local] = ACTIONS(1218),
+    [anon_sym___thread] = ACTIONS(1218),
+    [anon_sym_const] = ACTIONS(1218),
+    [anon_sym_constexpr] = ACTIONS(1218),
+    [anon_sym_volatile] = ACTIONS(1218),
+    [anon_sym_restrict] = ACTIONS(1218),
+    [anon_sym___restrict__] = ACTIONS(1218),
+    [anon_sym__Atomic] = ACTIONS(1218),
+    [anon_sym__Noreturn] = ACTIONS(1218),
+    [anon_sym_noreturn] = ACTIONS(1218),
+    [anon_sym__Nonnull] = ACTIONS(1218),
+    [anon_sym_alignas] = ACTIONS(1218),
+    [anon_sym__Alignas] = ACTIONS(1218),
+    [sym_primitive_type] = ACTIONS(1218),
+    [anon_sym_enum] = ACTIONS(1218),
+    [anon_sym_struct] = ACTIONS(1218),
+    [anon_sym_union] = ACTIONS(1218),
+    [anon_sym_if] = ACTIONS(1218),
+    [anon_sym_else] = ACTIONS(1218),
+    [anon_sym_switch] = ACTIONS(1218),
+    [anon_sym_case] = ACTIONS(1218),
+    [anon_sym_default] = ACTIONS(1218),
+    [anon_sym_while] = ACTIONS(1218),
+    [anon_sym_do] = ACTIONS(1218),
+    [anon_sym_for] = ACTIONS(1218),
+    [anon_sym_return] = ACTIONS(1218),
+    [anon_sym_break] = ACTIONS(1218),
+    [anon_sym_continue] = ACTIONS(1218),
+    [anon_sym_goto] = ACTIONS(1218),
+    [anon_sym___try] = ACTIONS(1218),
+    [anon_sym___leave] = ACTIONS(1218),
+    [anon_sym_DASH_DASH] = ACTIONS(1220),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1220),
+    [anon_sym_sizeof] = ACTIONS(1218),
+    [anon_sym___alignof__] = ACTIONS(1218),
+    [anon_sym___alignof] = ACTIONS(1218),
+    [anon_sym__alignof] = ACTIONS(1218),
+    [anon_sym_alignof] = ACTIONS(1218),
+    [anon_sym__Alignof] = ACTIONS(1218),
+    [anon_sym_offsetof] = ACTIONS(1218),
+    [anon_sym__Generic] = ACTIONS(1218),
+    [anon_sym_asm] = ACTIONS(1218),
+    [anon_sym___asm__] = ACTIONS(1218),
+    [anon_sym___asm] = ACTIONS(1218),
+    [sym_number_literal] = ACTIONS(1220),
+    [anon_sym_L_SQUOTE] = ACTIONS(1220),
+    [anon_sym_u_SQUOTE] = ACTIONS(1220),
+    [anon_sym_U_SQUOTE] = ACTIONS(1220),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1220),
+    [anon_sym_SQUOTE] = ACTIONS(1220),
+    [anon_sym_L_DQUOTE] = ACTIONS(1220),
+    [anon_sym_u_DQUOTE] = ACTIONS(1220),
+    [anon_sym_U_DQUOTE] = ACTIONS(1220),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1220),
+    [anon_sym_DQUOTE] = ACTIONS(1220),
+    [sym_true] = ACTIONS(1218),
+    [sym_false] = ACTIONS(1218),
+    [anon_sym_NULL] = ACTIONS(1218),
+    [anon_sym_nullptr] = ACTIONS(1218),
     [sym_comment] = ACTIONS(3),
   },
   [171] = {
-    [ts_builtin_sym_end] = ACTIONS(1143),
-    [sym_identifier] = ACTIONS(1141),
-    [aux_sym_preproc_include_token1] = ACTIONS(1141),
-    [aux_sym_preproc_def_token1] = ACTIONS(1141),
-    [aux_sym_preproc_if_token1] = ACTIONS(1141),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1141),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1141),
-    [sym_preproc_directive] = ACTIONS(1141),
-    [anon_sym_LPAREN2] = ACTIONS(1143),
-    [anon_sym_BANG] = ACTIONS(1143),
-    [anon_sym_TILDE] = ACTIONS(1143),
-    [anon_sym_DASH] = ACTIONS(1141),
-    [anon_sym_PLUS] = ACTIONS(1141),
-    [anon_sym_STAR] = ACTIONS(1143),
-    [anon_sym_AMP] = ACTIONS(1143),
-    [anon_sym_SEMI] = ACTIONS(1143),
-    [anon_sym___extension__] = ACTIONS(1141),
-    [anon_sym_typedef] = ACTIONS(1141),
-    [anon_sym_extern] = ACTIONS(1141),
-    [anon_sym___attribute__] = ACTIONS(1141),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1143),
-    [anon_sym___declspec] = ACTIONS(1141),
-    [anon_sym___cdecl] = ACTIONS(1141),
-    [anon_sym___clrcall] = ACTIONS(1141),
-    [anon_sym___stdcall] = ACTIONS(1141),
-    [anon_sym___fastcall] = ACTIONS(1141),
-    [anon_sym___thiscall] = ACTIONS(1141),
-    [anon_sym___vectorcall] = ACTIONS(1141),
-    [anon_sym_LBRACE] = ACTIONS(1143),
-    [anon_sym_signed] = ACTIONS(1141),
-    [anon_sym_unsigned] = ACTIONS(1141),
-    [anon_sym_long] = ACTIONS(1141),
-    [anon_sym_short] = ACTIONS(1141),
-    [anon_sym_static] = ACTIONS(1141),
-    [anon_sym_auto] = ACTIONS(1141),
-    [anon_sym_register] = ACTIONS(1141),
-    [anon_sym_inline] = ACTIONS(1141),
-    [anon_sym___inline] = ACTIONS(1141),
-    [anon_sym___inline__] = ACTIONS(1141),
-    [anon_sym___forceinline] = ACTIONS(1141),
-    [anon_sym_thread_local] = ACTIONS(1141),
-    [anon_sym___thread] = ACTIONS(1141),
-    [anon_sym_const] = ACTIONS(1141),
-    [anon_sym_constexpr] = ACTIONS(1141),
-    [anon_sym_volatile] = ACTIONS(1141),
-    [anon_sym_restrict] = ACTIONS(1141),
-    [anon_sym___restrict__] = ACTIONS(1141),
-    [anon_sym__Atomic] = ACTIONS(1141),
-    [anon_sym__Noreturn] = ACTIONS(1141),
-    [anon_sym_noreturn] = ACTIONS(1141),
-    [anon_sym__Nonnull] = ACTIONS(1141),
-    [anon_sym_alignas] = ACTIONS(1141),
-    [anon_sym__Alignas] = ACTIONS(1141),
-    [sym_primitive_type] = ACTIONS(1141),
-    [anon_sym_enum] = ACTIONS(1141),
-    [anon_sym_struct] = ACTIONS(1141),
-    [anon_sym_union] = ACTIONS(1141),
-    [anon_sym_if] = ACTIONS(1141),
-    [anon_sym_else] = ACTIONS(1141),
-    [anon_sym_switch] = ACTIONS(1141),
-    [anon_sym_case] = ACTIONS(1141),
-    [anon_sym_default] = ACTIONS(1141),
-    [anon_sym_while] = ACTIONS(1141),
-    [anon_sym_do] = ACTIONS(1141),
-    [anon_sym_for] = ACTIONS(1141),
-    [anon_sym_return] = ACTIONS(1141),
-    [anon_sym_break] = ACTIONS(1141),
-    [anon_sym_continue] = ACTIONS(1141),
-    [anon_sym_goto] = ACTIONS(1141),
-    [anon_sym___try] = ACTIONS(1141),
-    [anon_sym___leave] = ACTIONS(1141),
-    [anon_sym_DASH_DASH] = ACTIONS(1143),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1143),
-    [anon_sym_sizeof] = ACTIONS(1141),
-    [anon_sym___alignof__] = ACTIONS(1141),
-    [anon_sym___alignof] = ACTIONS(1141),
-    [anon_sym__alignof] = ACTIONS(1141),
-    [anon_sym_alignof] = ACTIONS(1141),
-    [anon_sym__Alignof] = ACTIONS(1141),
-    [anon_sym_offsetof] = ACTIONS(1141),
-    [anon_sym__Generic] = ACTIONS(1141),
-    [anon_sym_asm] = ACTIONS(1141),
-    [anon_sym___asm__] = ACTIONS(1141),
-    [anon_sym___asm] = ACTIONS(1141),
-    [sym_number_literal] = ACTIONS(1143),
-    [anon_sym_L_SQUOTE] = ACTIONS(1143),
-    [anon_sym_u_SQUOTE] = ACTIONS(1143),
-    [anon_sym_U_SQUOTE] = ACTIONS(1143),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1143),
-    [anon_sym_SQUOTE] = ACTIONS(1143),
-    [anon_sym_L_DQUOTE] = ACTIONS(1143),
-    [anon_sym_u_DQUOTE] = ACTIONS(1143),
-    [anon_sym_U_DQUOTE] = ACTIONS(1143),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1143),
-    [anon_sym_DQUOTE] = ACTIONS(1143),
-    [sym_true] = ACTIONS(1141),
-    [sym_false] = ACTIONS(1141),
-    [anon_sym_NULL] = ACTIONS(1141),
-    [anon_sym_nullptr] = ACTIONS(1141),
+    [ts_builtin_sym_end] = ACTIONS(1204),
+    [sym_identifier] = ACTIONS(1202),
+    [aux_sym_preproc_include_token1] = ACTIONS(1202),
+    [aux_sym_preproc_def_token1] = ACTIONS(1202),
+    [aux_sym_preproc_if_token1] = ACTIONS(1202),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1202),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1202),
+    [sym_preproc_directive] = ACTIONS(1202),
+    [anon_sym_LPAREN2] = ACTIONS(1204),
+    [anon_sym_BANG] = ACTIONS(1204),
+    [anon_sym_TILDE] = ACTIONS(1204),
+    [anon_sym_DASH] = ACTIONS(1202),
+    [anon_sym_PLUS] = ACTIONS(1202),
+    [anon_sym_STAR] = ACTIONS(1204),
+    [anon_sym_AMP] = ACTIONS(1204),
+    [anon_sym_SEMI] = ACTIONS(1204),
+    [anon_sym___extension__] = ACTIONS(1202),
+    [anon_sym_typedef] = ACTIONS(1202),
+    [anon_sym_extern] = ACTIONS(1202),
+    [anon_sym___attribute__] = ACTIONS(1202),
+    [anon_sym___attribute] = ACTIONS(1202),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1204),
+    [anon_sym___declspec] = ACTIONS(1202),
+    [anon_sym___cdecl] = ACTIONS(1202),
+    [anon_sym___clrcall] = ACTIONS(1202),
+    [anon_sym___stdcall] = ACTIONS(1202),
+    [anon_sym___fastcall] = ACTIONS(1202),
+    [anon_sym___thiscall] = ACTIONS(1202),
+    [anon_sym___vectorcall] = ACTIONS(1202),
+    [anon_sym_LBRACE] = ACTIONS(1204),
+    [anon_sym_signed] = ACTIONS(1202),
+    [anon_sym_unsigned] = ACTIONS(1202),
+    [anon_sym_long] = ACTIONS(1202),
+    [anon_sym_short] = ACTIONS(1202),
+    [anon_sym_static] = ACTIONS(1202),
+    [anon_sym_auto] = ACTIONS(1202),
+    [anon_sym_register] = ACTIONS(1202),
+    [anon_sym_inline] = ACTIONS(1202),
+    [anon_sym___inline] = ACTIONS(1202),
+    [anon_sym___inline__] = ACTIONS(1202),
+    [anon_sym___forceinline] = ACTIONS(1202),
+    [anon_sym_thread_local] = ACTIONS(1202),
+    [anon_sym___thread] = ACTIONS(1202),
+    [anon_sym_const] = ACTIONS(1202),
+    [anon_sym_constexpr] = ACTIONS(1202),
+    [anon_sym_volatile] = ACTIONS(1202),
+    [anon_sym_restrict] = ACTIONS(1202),
+    [anon_sym___restrict__] = ACTIONS(1202),
+    [anon_sym__Atomic] = ACTIONS(1202),
+    [anon_sym__Noreturn] = ACTIONS(1202),
+    [anon_sym_noreturn] = ACTIONS(1202),
+    [anon_sym__Nonnull] = ACTIONS(1202),
+    [anon_sym_alignas] = ACTIONS(1202),
+    [anon_sym__Alignas] = ACTIONS(1202),
+    [sym_primitive_type] = ACTIONS(1202),
+    [anon_sym_enum] = ACTIONS(1202),
+    [anon_sym_struct] = ACTIONS(1202),
+    [anon_sym_union] = ACTIONS(1202),
+    [anon_sym_if] = ACTIONS(1202),
+    [anon_sym_else] = ACTIONS(1202),
+    [anon_sym_switch] = ACTIONS(1202),
+    [anon_sym_case] = ACTIONS(1202),
+    [anon_sym_default] = ACTIONS(1202),
+    [anon_sym_while] = ACTIONS(1202),
+    [anon_sym_do] = ACTIONS(1202),
+    [anon_sym_for] = ACTIONS(1202),
+    [anon_sym_return] = ACTIONS(1202),
+    [anon_sym_break] = ACTIONS(1202),
+    [anon_sym_continue] = ACTIONS(1202),
+    [anon_sym_goto] = ACTIONS(1202),
+    [anon_sym___try] = ACTIONS(1202),
+    [anon_sym___leave] = ACTIONS(1202),
+    [anon_sym_DASH_DASH] = ACTIONS(1204),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1204),
+    [anon_sym_sizeof] = ACTIONS(1202),
+    [anon_sym___alignof__] = ACTIONS(1202),
+    [anon_sym___alignof] = ACTIONS(1202),
+    [anon_sym__alignof] = ACTIONS(1202),
+    [anon_sym_alignof] = ACTIONS(1202),
+    [anon_sym__Alignof] = ACTIONS(1202),
+    [anon_sym_offsetof] = ACTIONS(1202),
+    [anon_sym__Generic] = ACTIONS(1202),
+    [anon_sym_asm] = ACTIONS(1202),
+    [anon_sym___asm__] = ACTIONS(1202),
+    [anon_sym___asm] = ACTIONS(1202),
+    [sym_number_literal] = ACTIONS(1204),
+    [anon_sym_L_SQUOTE] = ACTIONS(1204),
+    [anon_sym_u_SQUOTE] = ACTIONS(1204),
+    [anon_sym_U_SQUOTE] = ACTIONS(1204),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1204),
+    [anon_sym_SQUOTE] = ACTIONS(1204),
+    [anon_sym_L_DQUOTE] = ACTIONS(1204),
+    [anon_sym_u_DQUOTE] = ACTIONS(1204),
+    [anon_sym_U_DQUOTE] = ACTIONS(1204),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1204),
+    [anon_sym_DQUOTE] = ACTIONS(1204),
+    [sym_true] = ACTIONS(1202),
+    [sym_false] = ACTIONS(1202),
+    [anon_sym_NULL] = ACTIONS(1202),
+    [anon_sym_nullptr] = ACTIONS(1202),
     [sym_comment] = ACTIONS(3),
   },
   [172] = {
-    [sym_identifier] = ACTIONS(1217),
-    [aux_sym_preproc_include_token1] = ACTIONS(1217),
-    [aux_sym_preproc_def_token1] = ACTIONS(1217),
-    [aux_sym_preproc_if_token1] = ACTIONS(1217),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1217),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1217),
-    [sym_preproc_directive] = ACTIONS(1217),
-    [anon_sym_LPAREN2] = ACTIONS(1219),
-    [anon_sym_BANG] = ACTIONS(1219),
-    [anon_sym_TILDE] = ACTIONS(1219),
-    [anon_sym_DASH] = ACTIONS(1217),
-    [anon_sym_PLUS] = ACTIONS(1217),
-    [anon_sym_STAR] = ACTIONS(1219),
-    [anon_sym_AMP] = ACTIONS(1219),
-    [anon_sym_SEMI] = ACTIONS(1219),
-    [anon_sym___extension__] = ACTIONS(1217),
-    [anon_sym_typedef] = ACTIONS(1217),
-    [anon_sym_extern] = ACTIONS(1217),
-    [anon_sym___attribute__] = ACTIONS(1217),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1219),
-    [anon_sym___declspec] = ACTIONS(1217),
-    [anon_sym___cdecl] = ACTIONS(1217),
-    [anon_sym___clrcall] = ACTIONS(1217),
-    [anon_sym___stdcall] = ACTIONS(1217),
-    [anon_sym___fastcall] = ACTIONS(1217),
-    [anon_sym___thiscall] = ACTIONS(1217),
-    [anon_sym___vectorcall] = ACTIONS(1217),
-    [anon_sym_LBRACE] = ACTIONS(1219),
-    [anon_sym_RBRACE] = ACTIONS(1219),
-    [anon_sym_signed] = ACTIONS(1217),
-    [anon_sym_unsigned] = ACTIONS(1217),
-    [anon_sym_long] = ACTIONS(1217),
-    [anon_sym_short] = ACTIONS(1217),
-    [anon_sym_static] = ACTIONS(1217),
-    [anon_sym_auto] = ACTIONS(1217),
-    [anon_sym_register] = ACTIONS(1217),
-    [anon_sym_inline] = ACTIONS(1217),
-    [anon_sym___inline] = ACTIONS(1217),
-    [anon_sym___inline__] = ACTIONS(1217),
-    [anon_sym___forceinline] = ACTIONS(1217),
-    [anon_sym_thread_local] = ACTIONS(1217),
-    [anon_sym___thread] = ACTIONS(1217),
-    [anon_sym_const] = ACTIONS(1217),
-    [anon_sym_constexpr] = ACTIONS(1217),
-    [anon_sym_volatile] = ACTIONS(1217),
-    [anon_sym_restrict] = ACTIONS(1217),
-    [anon_sym___restrict__] = ACTIONS(1217),
-    [anon_sym__Atomic] = ACTIONS(1217),
-    [anon_sym__Noreturn] = ACTIONS(1217),
-    [anon_sym_noreturn] = ACTIONS(1217),
-    [anon_sym__Nonnull] = ACTIONS(1217),
-    [anon_sym_alignas] = ACTIONS(1217),
-    [anon_sym__Alignas] = ACTIONS(1217),
-    [sym_primitive_type] = ACTIONS(1217),
-    [anon_sym_enum] = ACTIONS(1217),
-    [anon_sym_struct] = ACTIONS(1217),
-    [anon_sym_union] = ACTIONS(1217),
-    [anon_sym_if] = ACTIONS(1217),
-    [anon_sym_else] = ACTIONS(1217),
-    [anon_sym_switch] = ACTIONS(1217),
-    [anon_sym_case] = ACTIONS(1217),
-    [anon_sym_default] = ACTIONS(1217),
-    [anon_sym_while] = ACTIONS(1217),
-    [anon_sym_do] = ACTIONS(1217),
-    [anon_sym_for] = ACTIONS(1217),
-    [anon_sym_return] = ACTIONS(1217),
-    [anon_sym_break] = ACTIONS(1217),
-    [anon_sym_continue] = ACTIONS(1217),
-    [anon_sym_goto] = ACTIONS(1217),
-    [anon_sym___try] = ACTIONS(1217),
-    [anon_sym___leave] = ACTIONS(1217),
-    [anon_sym_DASH_DASH] = ACTIONS(1219),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1219),
-    [anon_sym_sizeof] = ACTIONS(1217),
-    [anon_sym___alignof__] = ACTIONS(1217),
-    [anon_sym___alignof] = ACTIONS(1217),
-    [anon_sym__alignof] = ACTIONS(1217),
-    [anon_sym_alignof] = ACTIONS(1217),
-    [anon_sym__Alignof] = ACTIONS(1217),
-    [anon_sym_offsetof] = ACTIONS(1217),
-    [anon_sym__Generic] = ACTIONS(1217),
-    [anon_sym_asm] = ACTIONS(1217),
-    [anon_sym___asm__] = ACTIONS(1217),
-    [anon_sym___asm] = ACTIONS(1217),
-    [sym_number_literal] = ACTIONS(1219),
-    [anon_sym_L_SQUOTE] = ACTIONS(1219),
-    [anon_sym_u_SQUOTE] = ACTIONS(1219),
-    [anon_sym_U_SQUOTE] = ACTIONS(1219),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1219),
-    [anon_sym_SQUOTE] = ACTIONS(1219),
-    [anon_sym_L_DQUOTE] = ACTIONS(1219),
-    [anon_sym_u_DQUOTE] = ACTIONS(1219),
-    [anon_sym_U_DQUOTE] = ACTIONS(1219),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1219),
-    [anon_sym_DQUOTE] = ACTIONS(1219),
-    [sym_true] = ACTIONS(1217),
-    [sym_false] = ACTIONS(1217),
-    [anon_sym_NULL] = ACTIONS(1217),
-    [anon_sym_nullptr] = ACTIONS(1217),
+    [ts_builtin_sym_end] = ACTIONS(1188),
+    [sym_identifier] = ACTIONS(1186),
+    [aux_sym_preproc_include_token1] = ACTIONS(1186),
+    [aux_sym_preproc_def_token1] = ACTIONS(1186),
+    [aux_sym_preproc_if_token1] = ACTIONS(1186),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1186),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1186),
+    [sym_preproc_directive] = ACTIONS(1186),
+    [anon_sym_LPAREN2] = ACTIONS(1188),
+    [anon_sym_BANG] = ACTIONS(1188),
+    [anon_sym_TILDE] = ACTIONS(1188),
+    [anon_sym_DASH] = ACTIONS(1186),
+    [anon_sym_PLUS] = ACTIONS(1186),
+    [anon_sym_STAR] = ACTIONS(1188),
+    [anon_sym_AMP] = ACTIONS(1188),
+    [anon_sym_SEMI] = ACTIONS(1188),
+    [anon_sym___extension__] = ACTIONS(1186),
+    [anon_sym_typedef] = ACTIONS(1186),
+    [anon_sym_extern] = ACTIONS(1186),
+    [anon_sym___attribute__] = ACTIONS(1186),
+    [anon_sym___attribute] = ACTIONS(1186),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1188),
+    [anon_sym___declspec] = ACTIONS(1186),
+    [anon_sym___cdecl] = ACTIONS(1186),
+    [anon_sym___clrcall] = ACTIONS(1186),
+    [anon_sym___stdcall] = ACTIONS(1186),
+    [anon_sym___fastcall] = ACTIONS(1186),
+    [anon_sym___thiscall] = ACTIONS(1186),
+    [anon_sym___vectorcall] = ACTIONS(1186),
+    [anon_sym_LBRACE] = ACTIONS(1188),
+    [anon_sym_signed] = ACTIONS(1186),
+    [anon_sym_unsigned] = ACTIONS(1186),
+    [anon_sym_long] = ACTIONS(1186),
+    [anon_sym_short] = ACTIONS(1186),
+    [anon_sym_static] = ACTIONS(1186),
+    [anon_sym_auto] = ACTIONS(1186),
+    [anon_sym_register] = ACTIONS(1186),
+    [anon_sym_inline] = ACTIONS(1186),
+    [anon_sym___inline] = ACTIONS(1186),
+    [anon_sym___inline__] = ACTIONS(1186),
+    [anon_sym___forceinline] = ACTIONS(1186),
+    [anon_sym_thread_local] = ACTIONS(1186),
+    [anon_sym___thread] = ACTIONS(1186),
+    [anon_sym_const] = ACTIONS(1186),
+    [anon_sym_constexpr] = ACTIONS(1186),
+    [anon_sym_volatile] = ACTIONS(1186),
+    [anon_sym_restrict] = ACTIONS(1186),
+    [anon_sym___restrict__] = ACTIONS(1186),
+    [anon_sym__Atomic] = ACTIONS(1186),
+    [anon_sym__Noreturn] = ACTIONS(1186),
+    [anon_sym_noreturn] = ACTIONS(1186),
+    [anon_sym__Nonnull] = ACTIONS(1186),
+    [anon_sym_alignas] = ACTIONS(1186),
+    [anon_sym__Alignas] = ACTIONS(1186),
+    [sym_primitive_type] = ACTIONS(1186),
+    [anon_sym_enum] = ACTIONS(1186),
+    [anon_sym_struct] = ACTIONS(1186),
+    [anon_sym_union] = ACTIONS(1186),
+    [anon_sym_if] = ACTIONS(1186),
+    [anon_sym_else] = ACTIONS(1186),
+    [anon_sym_switch] = ACTIONS(1186),
+    [anon_sym_case] = ACTIONS(1186),
+    [anon_sym_default] = ACTIONS(1186),
+    [anon_sym_while] = ACTIONS(1186),
+    [anon_sym_do] = ACTIONS(1186),
+    [anon_sym_for] = ACTIONS(1186),
+    [anon_sym_return] = ACTIONS(1186),
+    [anon_sym_break] = ACTIONS(1186),
+    [anon_sym_continue] = ACTIONS(1186),
+    [anon_sym_goto] = ACTIONS(1186),
+    [anon_sym___try] = ACTIONS(1186),
+    [anon_sym___leave] = ACTIONS(1186),
+    [anon_sym_DASH_DASH] = ACTIONS(1188),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1188),
+    [anon_sym_sizeof] = ACTIONS(1186),
+    [anon_sym___alignof__] = ACTIONS(1186),
+    [anon_sym___alignof] = ACTIONS(1186),
+    [anon_sym__alignof] = ACTIONS(1186),
+    [anon_sym_alignof] = ACTIONS(1186),
+    [anon_sym__Alignof] = ACTIONS(1186),
+    [anon_sym_offsetof] = ACTIONS(1186),
+    [anon_sym__Generic] = ACTIONS(1186),
+    [anon_sym_asm] = ACTIONS(1186),
+    [anon_sym___asm__] = ACTIONS(1186),
+    [anon_sym___asm] = ACTIONS(1186),
+    [sym_number_literal] = ACTIONS(1188),
+    [anon_sym_L_SQUOTE] = ACTIONS(1188),
+    [anon_sym_u_SQUOTE] = ACTIONS(1188),
+    [anon_sym_U_SQUOTE] = ACTIONS(1188),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1188),
+    [anon_sym_SQUOTE] = ACTIONS(1188),
+    [anon_sym_L_DQUOTE] = ACTIONS(1188),
+    [anon_sym_u_DQUOTE] = ACTIONS(1188),
+    [anon_sym_U_DQUOTE] = ACTIONS(1188),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1188),
+    [anon_sym_DQUOTE] = ACTIONS(1188),
+    [sym_true] = ACTIONS(1186),
+    [sym_false] = ACTIONS(1186),
+    [anon_sym_NULL] = ACTIONS(1186),
+    [anon_sym_nullptr] = ACTIONS(1186),
     [sym_comment] = ACTIONS(3),
   },
   [173] = {
-    [sym_identifier] = ACTIONS(1145),
-    [aux_sym_preproc_include_token1] = ACTIONS(1145),
-    [aux_sym_preproc_def_token1] = ACTIONS(1145),
-    [aux_sym_preproc_if_token1] = ACTIONS(1145),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1145),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1145),
-    [sym_preproc_directive] = ACTIONS(1145),
-    [anon_sym_LPAREN2] = ACTIONS(1147),
-    [anon_sym_BANG] = ACTIONS(1147),
-    [anon_sym_TILDE] = ACTIONS(1147),
-    [anon_sym_DASH] = ACTIONS(1145),
-    [anon_sym_PLUS] = ACTIONS(1145),
-    [anon_sym_STAR] = ACTIONS(1147),
-    [anon_sym_AMP] = ACTIONS(1147),
-    [anon_sym_SEMI] = ACTIONS(1147),
-    [anon_sym___extension__] = ACTIONS(1145),
-    [anon_sym_typedef] = ACTIONS(1145),
-    [anon_sym_extern] = ACTIONS(1145),
-    [anon_sym___attribute__] = ACTIONS(1145),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1147),
-    [anon_sym___declspec] = ACTIONS(1145),
-    [anon_sym___cdecl] = ACTIONS(1145),
-    [anon_sym___clrcall] = ACTIONS(1145),
-    [anon_sym___stdcall] = ACTIONS(1145),
-    [anon_sym___fastcall] = ACTIONS(1145),
-    [anon_sym___thiscall] = ACTIONS(1145),
-    [anon_sym___vectorcall] = ACTIONS(1145),
-    [anon_sym_LBRACE] = ACTIONS(1147),
-    [anon_sym_RBRACE] = ACTIONS(1147),
-    [anon_sym_signed] = ACTIONS(1145),
-    [anon_sym_unsigned] = ACTIONS(1145),
-    [anon_sym_long] = ACTIONS(1145),
-    [anon_sym_short] = ACTIONS(1145),
-    [anon_sym_static] = ACTIONS(1145),
-    [anon_sym_auto] = ACTIONS(1145),
-    [anon_sym_register] = ACTIONS(1145),
-    [anon_sym_inline] = ACTIONS(1145),
-    [anon_sym___inline] = ACTIONS(1145),
-    [anon_sym___inline__] = ACTIONS(1145),
-    [anon_sym___forceinline] = ACTIONS(1145),
-    [anon_sym_thread_local] = ACTIONS(1145),
-    [anon_sym___thread] = ACTIONS(1145),
-    [anon_sym_const] = ACTIONS(1145),
-    [anon_sym_constexpr] = ACTIONS(1145),
-    [anon_sym_volatile] = ACTIONS(1145),
-    [anon_sym_restrict] = ACTIONS(1145),
-    [anon_sym___restrict__] = ACTIONS(1145),
-    [anon_sym__Atomic] = ACTIONS(1145),
-    [anon_sym__Noreturn] = ACTIONS(1145),
-    [anon_sym_noreturn] = ACTIONS(1145),
-    [anon_sym__Nonnull] = ACTIONS(1145),
-    [anon_sym_alignas] = ACTIONS(1145),
-    [anon_sym__Alignas] = ACTIONS(1145),
-    [sym_primitive_type] = ACTIONS(1145),
-    [anon_sym_enum] = ACTIONS(1145),
-    [anon_sym_struct] = ACTIONS(1145),
-    [anon_sym_union] = ACTIONS(1145),
-    [anon_sym_if] = ACTIONS(1145),
-    [anon_sym_else] = ACTIONS(1145),
-    [anon_sym_switch] = ACTIONS(1145),
-    [anon_sym_case] = ACTIONS(1145),
-    [anon_sym_default] = ACTIONS(1145),
-    [anon_sym_while] = ACTIONS(1145),
-    [anon_sym_do] = ACTIONS(1145),
-    [anon_sym_for] = ACTIONS(1145),
-    [anon_sym_return] = ACTIONS(1145),
-    [anon_sym_break] = ACTIONS(1145),
-    [anon_sym_continue] = ACTIONS(1145),
-    [anon_sym_goto] = ACTIONS(1145),
-    [anon_sym___try] = ACTIONS(1145),
-    [anon_sym___leave] = ACTIONS(1145),
-    [anon_sym_DASH_DASH] = ACTIONS(1147),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
-    [anon_sym_sizeof] = ACTIONS(1145),
-    [anon_sym___alignof__] = ACTIONS(1145),
-    [anon_sym___alignof] = ACTIONS(1145),
-    [anon_sym__alignof] = ACTIONS(1145),
-    [anon_sym_alignof] = ACTIONS(1145),
-    [anon_sym__Alignof] = ACTIONS(1145),
-    [anon_sym_offsetof] = ACTIONS(1145),
-    [anon_sym__Generic] = ACTIONS(1145),
-    [anon_sym_asm] = ACTIONS(1145),
-    [anon_sym___asm__] = ACTIONS(1145),
-    [anon_sym___asm] = ACTIONS(1145),
-    [sym_number_literal] = ACTIONS(1147),
-    [anon_sym_L_SQUOTE] = ACTIONS(1147),
-    [anon_sym_u_SQUOTE] = ACTIONS(1147),
-    [anon_sym_U_SQUOTE] = ACTIONS(1147),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1147),
-    [anon_sym_SQUOTE] = ACTIONS(1147),
-    [anon_sym_L_DQUOTE] = ACTIONS(1147),
-    [anon_sym_u_DQUOTE] = ACTIONS(1147),
-    [anon_sym_U_DQUOTE] = ACTIONS(1147),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1147),
-    [anon_sym_DQUOTE] = ACTIONS(1147),
-    [sym_true] = ACTIONS(1145),
-    [sym_false] = ACTIONS(1145),
-    [anon_sym_NULL] = ACTIONS(1145),
-    [anon_sym_nullptr] = ACTIONS(1145),
+    [sym_identifier] = ACTIONS(1254),
+    [aux_sym_preproc_include_token1] = ACTIONS(1254),
+    [aux_sym_preproc_def_token1] = ACTIONS(1254),
+    [aux_sym_preproc_if_token1] = ACTIONS(1254),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1254),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1254),
+    [sym_preproc_directive] = ACTIONS(1254),
+    [anon_sym_LPAREN2] = ACTIONS(1256),
+    [anon_sym_BANG] = ACTIONS(1256),
+    [anon_sym_TILDE] = ACTIONS(1256),
+    [anon_sym_DASH] = ACTIONS(1254),
+    [anon_sym_PLUS] = ACTIONS(1254),
+    [anon_sym_STAR] = ACTIONS(1256),
+    [anon_sym_AMP] = ACTIONS(1256),
+    [anon_sym_SEMI] = ACTIONS(1256),
+    [anon_sym___extension__] = ACTIONS(1254),
+    [anon_sym_typedef] = ACTIONS(1254),
+    [anon_sym_extern] = ACTIONS(1254),
+    [anon_sym___attribute__] = ACTIONS(1254),
+    [anon_sym___attribute] = ACTIONS(1254),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1256),
+    [anon_sym___declspec] = ACTIONS(1254),
+    [anon_sym___cdecl] = ACTIONS(1254),
+    [anon_sym___clrcall] = ACTIONS(1254),
+    [anon_sym___stdcall] = ACTIONS(1254),
+    [anon_sym___fastcall] = ACTIONS(1254),
+    [anon_sym___thiscall] = ACTIONS(1254),
+    [anon_sym___vectorcall] = ACTIONS(1254),
+    [anon_sym_LBRACE] = ACTIONS(1256),
+    [anon_sym_RBRACE] = ACTIONS(1256),
+    [anon_sym_signed] = ACTIONS(1254),
+    [anon_sym_unsigned] = ACTIONS(1254),
+    [anon_sym_long] = ACTIONS(1254),
+    [anon_sym_short] = ACTIONS(1254),
+    [anon_sym_static] = ACTIONS(1254),
+    [anon_sym_auto] = ACTIONS(1254),
+    [anon_sym_register] = ACTIONS(1254),
+    [anon_sym_inline] = ACTIONS(1254),
+    [anon_sym___inline] = ACTIONS(1254),
+    [anon_sym___inline__] = ACTIONS(1254),
+    [anon_sym___forceinline] = ACTIONS(1254),
+    [anon_sym_thread_local] = ACTIONS(1254),
+    [anon_sym___thread] = ACTIONS(1254),
+    [anon_sym_const] = ACTIONS(1254),
+    [anon_sym_constexpr] = ACTIONS(1254),
+    [anon_sym_volatile] = ACTIONS(1254),
+    [anon_sym_restrict] = ACTIONS(1254),
+    [anon_sym___restrict__] = ACTIONS(1254),
+    [anon_sym__Atomic] = ACTIONS(1254),
+    [anon_sym__Noreturn] = ACTIONS(1254),
+    [anon_sym_noreturn] = ACTIONS(1254),
+    [anon_sym__Nonnull] = ACTIONS(1254),
+    [anon_sym_alignas] = ACTIONS(1254),
+    [anon_sym__Alignas] = ACTIONS(1254),
+    [sym_primitive_type] = ACTIONS(1254),
+    [anon_sym_enum] = ACTIONS(1254),
+    [anon_sym_struct] = ACTIONS(1254),
+    [anon_sym_union] = ACTIONS(1254),
+    [anon_sym_if] = ACTIONS(1254),
+    [anon_sym_else] = ACTIONS(1254),
+    [anon_sym_switch] = ACTIONS(1254),
+    [anon_sym_case] = ACTIONS(1254),
+    [anon_sym_default] = ACTIONS(1254),
+    [anon_sym_while] = ACTIONS(1254),
+    [anon_sym_do] = ACTIONS(1254),
+    [anon_sym_for] = ACTIONS(1254),
+    [anon_sym_return] = ACTIONS(1254),
+    [anon_sym_break] = ACTIONS(1254),
+    [anon_sym_continue] = ACTIONS(1254),
+    [anon_sym_goto] = ACTIONS(1254),
+    [anon_sym___try] = ACTIONS(1254),
+    [anon_sym___leave] = ACTIONS(1254),
+    [anon_sym_DASH_DASH] = ACTIONS(1256),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1256),
+    [anon_sym_sizeof] = ACTIONS(1254),
+    [anon_sym___alignof__] = ACTIONS(1254),
+    [anon_sym___alignof] = ACTIONS(1254),
+    [anon_sym__alignof] = ACTIONS(1254),
+    [anon_sym_alignof] = ACTIONS(1254),
+    [anon_sym__Alignof] = ACTIONS(1254),
+    [anon_sym_offsetof] = ACTIONS(1254),
+    [anon_sym__Generic] = ACTIONS(1254),
+    [anon_sym_asm] = ACTIONS(1254),
+    [anon_sym___asm__] = ACTIONS(1254),
+    [anon_sym___asm] = ACTIONS(1254),
+    [sym_number_literal] = ACTIONS(1256),
+    [anon_sym_L_SQUOTE] = ACTIONS(1256),
+    [anon_sym_u_SQUOTE] = ACTIONS(1256),
+    [anon_sym_U_SQUOTE] = ACTIONS(1256),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1256),
+    [anon_sym_SQUOTE] = ACTIONS(1256),
+    [anon_sym_L_DQUOTE] = ACTIONS(1256),
+    [anon_sym_u_DQUOTE] = ACTIONS(1256),
+    [anon_sym_U_DQUOTE] = ACTIONS(1256),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1256),
+    [anon_sym_DQUOTE] = ACTIONS(1256),
+    [sym_true] = ACTIONS(1254),
+    [sym_false] = ACTIONS(1254),
+    [anon_sym_NULL] = ACTIONS(1254),
+    [anon_sym_nullptr] = ACTIONS(1254),
     [sym_comment] = ACTIONS(3),
   },
   [174] = {
-    [sym_identifier] = ACTIONS(1149),
-    [aux_sym_preproc_include_token1] = ACTIONS(1149),
-    [aux_sym_preproc_def_token1] = ACTIONS(1149),
-    [aux_sym_preproc_if_token1] = ACTIONS(1149),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1149),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1149),
-    [sym_preproc_directive] = ACTIONS(1149),
-    [anon_sym_LPAREN2] = ACTIONS(1151),
-    [anon_sym_BANG] = ACTIONS(1151),
-    [anon_sym_TILDE] = ACTIONS(1151),
-    [anon_sym_DASH] = ACTIONS(1149),
-    [anon_sym_PLUS] = ACTIONS(1149),
-    [anon_sym_STAR] = ACTIONS(1151),
-    [anon_sym_AMP] = ACTIONS(1151),
-    [anon_sym_SEMI] = ACTIONS(1151),
-    [anon_sym___extension__] = ACTIONS(1149),
-    [anon_sym_typedef] = ACTIONS(1149),
-    [anon_sym_extern] = ACTIONS(1149),
-    [anon_sym___attribute__] = ACTIONS(1149),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1151),
-    [anon_sym___declspec] = ACTIONS(1149),
-    [anon_sym___cdecl] = ACTIONS(1149),
-    [anon_sym___clrcall] = ACTIONS(1149),
-    [anon_sym___stdcall] = ACTIONS(1149),
-    [anon_sym___fastcall] = ACTIONS(1149),
-    [anon_sym___thiscall] = ACTIONS(1149),
-    [anon_sym___vectorcall] = ACTIONS(1149),
-    [anon_sym_LBRACE] = ACTIONS(1151),
-    [anon_sym_RBRACE] = ACTIONS(1151),
-    [anon_sym_signed] = ACTIONS(1149),
-    [anon_sym_unsigned] = ACTIONS(1149),
-    [anon_sym_long] = ACTIONS(1149),
-    [anon_sym_short] = ACTIONS(1149),
-    [anon_sym_static] = ACTIONS(1149),
-    [anon_sym_auto] = ACTIONS(1149),
-    [anon_sym_register] = ACTIONS(1149),
-    [anon_sym_inline] = ACTIONS(1149),
-    [anon_sym___inline] = ACTIONS(1149),
-    [anon_sym___inline__] = ACTIONS(1149),
-    [anon_sym___forceinline] = ACTIONS(1149),
-    [anon_sym_thread_local] = ACTIONS(1149),
-    [anon_sym___thread] = ACTIONS(1149),
-    [anon_sym_const] = ACTIONS(1149),
-    [anon_sym_constexpr] = ACTIONS(1149),
-    [anon_sym_volatile] = ACTIONS(1149),
-    [anon_sym_restrict] = ACTIONS(1149),
-    [anon_sym___restrict__] = ACTIONS(1149),
-    [anon_sym__Atomic] = ACTIONS(1149),
-    [anon_sym__Noreturn] = ACTIONS(1149),
-    [anon_sym_noreturn] = ACTIONS(1149),
-    [anon_sym__Nonnull] = ACTIONS(1149),
-    [anon_sym_alignas] = ACTIONS(1149),
-    [anon_sym__Alignas] = ACTIONS(1149),
-    [sym_primitive_type] = ACTIONS(1149),
-    [anon_sym_enum] = ACTIONS(1149),
-    [anon_sym_struct] = ACTIONS(1149),
-    [anon_sym_union] = ACTIONS(1149),
-    [anon_sym_if] = ACTIONS(1149),
-    [anon_sym_else] = ACTIONS(1149),
-    [anon_sym_switch] = ACTIONS(1149),
-    [anon_sym_case] = ACTIONS(1149),
-    [anon_sym_default] = ACTIONS(1149),
-    [anon_sym_while] = ACTIONS(1149),
-    [anon_sym_do] = ACTIONS(1149),
-    [anon_sym_for] = ACTIONS(1149),
-    [anon_sym_return] = ACTIONS(1149),
-    [anon_sym_break] = ACTIONS(1149),
-    [anon_sym_continue] = ACTIONS(1149),
-    [anon_sym_goto] = ACTIONS(1149),
-    [anon_sym___try] = ACTIONS(1149),
-    [anon_sym___leave] = ACTIONS(1149),
-    [anon_sym_DASH_DASH] = ACTIONS(1151),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1151),
-    [anon_sym_sizeof] = ACTIONS(1149),
-    [anon_sym___alignof__] = ACTIONS(1149),
-    [anon_sym___alignof] = ACTIONS(1149),
-    [anon_sym__alignof] = ACTIONS(1149),
-    [anon_sym_alignof] = ACTIONS(1149),
-    [anon_sym__Alignof] = ACTIONS(1149),
-    [anon_sym_offsetof] = ACTIONS(1149),
-    [anon_sym__Generic] = ACTIONS(1149),
-    [anon_sym_asm] = ACTIONS(1149),
-    [anon_sym___asm__] = ACTIONS(1149),
-    [anon_sym___asm] = ACTIONS(1149),
-    [sym_number_literal] = ACTIONS(1151),
-    [anon_sym_L_SQUOTE] = ACTIONS(1151),
-    [anon_sym_u_SQUOTE] = ACTIONS(1151),
-    [anon_sym_U_SQUOTE] = ACTIONS(1151),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1151),
-    [anon_sym_SQUOTE] = ACTIONS(1151),
-    [anon_sym_L_DQUOTE] = ACTIONS(1151),
-    [anon_sym_u_DQUOTE] = ACTIONS(1151),
-    [anon_sym_U_DQUOTE] = ACTIONS(1151),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1151),
-    [anon_sym_DQUOTE] = ACTIONS(1151),
-    [sym_true] = ACTIONS(1149),
-    [sym_false] = ACTIONS(1149),
-    [anon_sym_NULL] = ACTIONS(1149),
-    [anon_sym_nullptr] = ACTIONS(1149),
+    [ts_builtin_sym_end] = ACTIONS(1208),
+    [sym_identifier] = ACTIONS(1206),
+    [aux_sym_preproc_include_token1] = ACTIONS(1206),
+    [aux_sym_preproc_def_token1] = ACTIONS(1206),
+    [aux_sym_preproc_if_token1] = ACTIONS(1206),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1206),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1206),
+    [sym_preproc_directive] = ACTIONS(1206),
+    [anon_sym_LPAREN2] = ACTIONS(1208),
+    [anon_sym_BANG] = ACTIONS(1208),
+    [anon_sym_TILDE] = ACTIONS(1208),
+    [anon_sym_DASH] = ACTIONS(1206),
+    [anon_sym_PLUS] = ACTIONS(1206),
+    [anon_sym_STAR] = ACTIONS(1208),
+    [anon_sym_AMP] = ACTIONS(1208),
+    [anon_sym_SEMI] = ACTIONS(1208),
+    [anon_sym___extension__] = ACTIONS(1206),
+    [anon_sym_typedef] = ACTIONS(1206),
+    [anon_sym_extern] = ACTIONS(1206),
+    [anon_sym___attribute__] = ACTIONS(1206),
+    [anon_sym___attribute] = ACTIONS(1206),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1208),
+    [anon_sym___declspec] = ACTIONS(1206),
+    [anon_sym___cdecl] = ACTIONS(1206),
+    [anon_sym___clrcall] = ACTIONS(1206),
+    [anon_sym___stdcall] = ACTIONS(1206),
+    [anon_sym___fastcall] = ACTIONS(1206),
+    [anon_sym___thiscall] = ACTIONS(1206),
+    [anon_sym___vectorcall] = ACTIONS(1206),
+    [anon_sym_LBRACE] = ACTIONS(1208),
+    [anon_sym_signed] = ACTIONS(1206),
+    [anon_sym_unsigned] = ACTIONS(1206),
+    [anon_sym_long] = ACTIONS(1206),
+    [anon_sym_short] = ACTIONS(1206),
+    [anon_sym_static] = ACTIONS(1206),
+    [anon_sym_auto] = ACTIONS(1206),
+    [anon_sym_register] = ACTIONS(1206),
+    [anon_sym_inline] = ACTIONS(1206),
+    [anon_sym___inline] = ACTIONS(1206),
+    [anon_sym___inline__] = ACTIONS(1206),
+    [anon_sym___forceinline] = ACTIONS(1206),
+    [anon_sym_thread_local] = ACTIONS(1206),
+    [anon_sym___thread] = ACTIONS(1206),
+    [anon_sym_const] = ACTIONS(1206),
+    [anon_sym_constexpr] = ACTIONS(1206),
+    [anon_sym_volatile] = ACTIONS(1206),
+    [anon_sym_restrict] = ACTIONS(1206),
+    [anon_sym___restrict__] = ACTIONS(1206),
+    [anon_sym__Atomic] = ACTIONS(1206),
+    [anon_sym__Noreturn] = ACTIONS(1206),
+    [anon_sym_noreturn] = ACTIONS(1206),
+    [anon_sym__Nonnull] = ACTIONS(1206),
+    [anon_sym_alignas] = ACTIONS(1206),
+    [anon_sym__Alignas] = ACTIONS(1206),
+    [sym_primitive_type] = ACTIONS(1206),
+    [anon_sym_enum] = ACTIONS(1206),
+    [anon_sym_struct] = ACTIONS(1206),
+    [anon_sym_union] = ACTIONS(1206),
+    [anon_sym_if] = ACTIONS(1206),
+    [anon_sym_else] = ACTIONS(1206),
+    [anon_sym_switch] = ACTIONS(1206),
+    [anon_sym_case] = ACTIONS(1206),
+    [anon_sym_default] = ACTIONS(1206),
+    [anon_sym_while] = ACTIONS(1206),
+    [anon_sym_do] = ACTIONS(1206),
+    [anon_sym_for] = ACTIONS(1206),
+    [anon_sym_return] = ACTIONS(1206),
+    [anon_sym_break] = ACTIONS(1206),
+    [anon_sym_continue] = ACTIONS(1206),
+    [anon_sym_goto] = ACTIONS(1206),
+    [anon_sym___try] = ACTIONS(1206),
+    [anon_sym___leave] = ACTIONS(1206),
+    [anon_sym_DASH_DASH] = ACTIONS(1208),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1208),
+    [anon_sym_sizeof] = ACTIONS(1206),
+    [anon_sym___alignof__] = ACTIONS(1206),
+    [anon_sym___alignof] = ACTIONS(1206),
+    [anon_sym__alignof] = ACTIONS(1206),
+    [anon_sym_alignof] = ACTIONS(1206),
+    [anon_sym__Alignof] = ACTIONS(1206),
+    [anon_sym_offsetof] = ACTIONS(1206),
+    [anon_sym__Generic] = ACTIONS(1206),
+    [anon_sym_asm] = ACTIONS(1206),
+    [anon_sym___asm__] = ACTIONS(1206),
+    [anon_sym___asm] = ACTIONS(1206),
+    [sym_number_literal] = ACTIONS(1208),
+    [anon_sym_L_SQUOTE] = ACTIONS(1208),
+    [anon_sym_u_SQUOTE] = ACTIONS(1208),
+    [anon_sym_U_SQUOTE] = ACTIONS(1208),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1208),
+    [anon_sym_SQUOTE] = ACTIONS(1208),
+    [anon_sym_L_DQUOTE] = ACTIONS(1208),
+    [anon_sym_u_DQUOTE] = ACTIONS(1208),
+    [anon_sym_U_DQUOTE] = ACTIONS(1208),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1208),
+    [anon_sym_DQUOTE] = ACTIONS(1208),
+    [sym_true] = ACTIONS(1206),
+    [sym_false] = ACTIONS(1206),
+    [anon_sym_NULL] = ACTIONS(1206),
+    [anon_sym_nullptr] = ACTIONS(1206),
     [sym_comment] = ACTIONS(3),
   },
   [175] = {
-    [sym_identifier] = ACTIONS(1153),
-    [aux_sym_preproc_include_token1] = ACTIONS(1153),
-    [aux_sym_preproc_def_token1] = ACTIONS(1153),
-    [aux_sym_preproc_if_token1] = ACTIONS(1153),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1153),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1153),
-    [sym_preproc_directive] = ACTIONS(1153),
-    [anon_sym_LPAREN2] = ACTIONS(1155),
-    [anon_sym_BANG] = ACTIONS(1155),
-    [anon_sym_TILDE] = ACTIONS(1155),
-    [anon_sym_DASH] = ACTIONS(1153),
-    [anon_sym_PLUS] = ACTIONS(1153),
-    [anon_sym_STAR] = ACTIONS(1155),
-    [anon_sym_AMP] = ACTIONS(1155),
-    [anon_sym_SEMI] = ACTIONS(1155),
-    [anon_sym___extension__] = ACTIONS(1153),
-    [anon_sym_typedef] = ACTIONS(1153),
-    [anon_sym_extern] = ACTIONS(1153),
-    [anon_sym___attribute__] = ACTIONS(1153),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1155),
-    [anon_sym___declspec] = ACTIONS(1153),
-    [anon_sym___cdecl] = ACTIONS(1153),
-    [anon_sym___clrcall] = ACTIONS(1153),
-    [anon_sym___stdcall] = ACTIONS(1153),
-    [anon_sym___fastcall] = ACTIONS(1153),
-    [anon_sym___thiscall] = ACTIONS(1153),
-    [anon_sym___vectorcall] = ACTIONS(1153),
-    [anon_sym_LBRACE] = ACTIONS(1155),
-    [anon_sym_RBRACE] = ACTIONS(1155),
-    [anon_sym_signed] = ACTIONS(1153),
-    [anon_sym_unsigned] = ACTIONS(1153),
-    [anon_sym_long] = ACTIONS(1153),
-    [anon_sym_short] = ACTIONS(1153),
-    [anon_sym_static] = ACTIONS(1153),
-    [anon_sym_auto] = ACTIONS(1153),
-    [anon_sym_register] = ACTIONS(1153),
-    [anon_sym_inline] = ACTIONS(1153),
-    [anon_sym___inline] = ACTIONS(1153),
-    [anon_sym___inline__] = ACTIONS(1153),
-    [anon_sym___forceinline] = ACTIONS(1153),
-    [anon_sym_thread_local] = ACTIONS(1153),
-    [anon_sym___thread] = ACTIONS(1153),
-    [anon_sym_const] = ACTIONS(1153),
-    [anon_sym_constexpr] = ACTIONS(1153),
-    [anon_sym_volatile] = ACTIONS(1153),
-    [anon_sym_restrict] = ACTIONS(1153),
-    [anon_sym___restrict__] = ACTIONS(1153),
-    [anon_sym__Atomic] = ACTIONS(1153),
-    [anon_sym__Noreturn] = ACTIONS(1153),
-    [anon_sym_noreturn] = ACTIONS(1153),
-    [anon_sym__Nonnull] = ACTIONS(1153),
-    [anon_sym_alignas] = ACTIONS(1153),
-    [anon_sym__Alignas] = ACTIONS(1153),
-    [sym_primitive_type] = ACTIONS(1153),
-    [anon_sym_enum] = ACTIONS(1153),
-    [anon_sym_struct] = ACTIONS(1153),
-    [anon_sym_union] = ACTIONS(1153),
-    [anon_sym_if] = ACTIONS(1153),
-    [anon_sym_else] = ACTIONS(1153),
-    [anon_sym_switch] = ACTIONS(1153),
-    [anon_sym_case] = ACTIONS(1153),
-    [anon_sym_default] = ACTIONS(1153),
-    [anon_sym_while] = ACTIONS(1153),
-    [anon_sym_do] = ACTIONS(1153),
-    [anon_sym_for] = ACTIONS(1153),
-    [anon_sym_return] = ACTIONS(1153),
-    [anon_sym_break] = ACTIONS(1153),
-    [anon_sym_continue] = ACTIONS(1153),
-    [anon_sym_goto] = ACTIONS(1153),
-    [anon_sym___try] = ACTIONS(1153),
-    [anon_sym___leave] = ACTIONS(1153),
-    [anon_sym_DASH_DASH] = ACTIONS(1155),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1155),
-    [anon_sym_sizeof] = ACTIONS(1153),
-    [anon_sym___alignof__] = ACTIONS(1153),
-    [anon_sym___alignof] = ACTIONS(1153),
-    [anon_sym__alignof] = ACTIONS(1153),
-    [anon_sym_alignof] = ACTIONS(1153),
-    [anon_sym__Alignof] = ACTIONS(1153),
-    [anon_sym_offsetof] = ACTIONS(1153),
-    [anon_sym__Generic] = ACTIONS(1153),
-    [anon_sym_asm] = ACTIONS(1153),
-    [anon_sym___asm__] = ACTIONS(1153),
-    [anon_sym___asm] = ACTIONS(1153),
-    [sym_number_literal] = ACTIONS(1155),
-    [anon_sym_L_SQUOTE] = ACTIONS(1155),
-    [anon_sym_u_SQUOTE] = ACTIONS(1155),
-    [anon_sym_U_SQUOTE] = ACTIONS(1155),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1155),
-    [anon_sym_SQUOTE] = ACTIONS(1155),
-    [anon_sym_L_DQUOTE] = ACTIONS(1155),
-    [anon_sym_u_DQUOTE] = ACTIONS(1155),
-    [anon_sym_U_DQUOTE] = ACTIONS(1155),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1155),
-    [anon_sym_DQUOTE] = ACTIONS(1155),
-    [sym_true] = ACTIONS(1153),
-    [sym_false] = ACTIONS(1153),
-    [anon_sym_NULL] = ACTIONS(1153),
-    [anon_sym_nullptr] = ACTIONS(1153),
+    [sym_identifier] = ACTIONS(1258),
+    [aux_sym_preproc_include_token1] = ACTIONS(1258),
+    [aux_sym_preproc_def_token1] = ACTIONS(1258),
+    [aux_sym_preproc_if_token1] = ACTIONS(1258),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1258),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1258),
+    [sym_preproc_directive] = ACTIONS(1258),
+    [anon_sym_LPAREN2] = ACTIONS(1260),
+    [anon_sym_BANG] = ACTIONS(1260),
+    [anon_sym_TILDE] = ACTIONS(1260),
+    [anon_sym_DASH] = ACTIONS(1258),
+    [anon_sym_PLUS] = ACTIONS(1258),
+    [anon_sym_STAR] = ACTIONS(1260),
+    [anon_sym_AMP] = ACTIONS(1260),
+    [anon_sym_SEMI] = ACTIONS(1260),
+    [anon_sym___extension__] = ACTIONS(1258),
+    [anon_sym_typedef] = ACTIONS(1258),
+    [anon_sym_extern] = ACTIONS(1258),
+    [anon_sym___attribute__] = ACTIONS(1258),
+    [anon_sym___attribute] = ACTIONS(1258),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1260),
+    [anon_sym___declspec] = ACTIONS(1258),
+    [anon_sym___cdecl] = ACTIONS(1258),
+    [anon_sym___clrcall] = ACTIONS(1258),
+    [anon_sym___stdcall] = ACTIONS(1258),
+    [anon_sym___fastcall] = ACTIONS(1258),
+    [anon_sym___thiscall] = ACTIONS(1258),
+    [anon_sym___vectorcall] = ACTIONS(1258),
+    [anon_sym_LBRACE] = ACTIONS(1260),
+    [anon_sym_RBRACE] = ACTIONS(1260),
+    [anon_sym_signed] = ACTIONS(1258),
+    [anon_sym_unsigned] = ACTIONS(1258),
+    [anon_sym_long] = ACTIONS(1258),
+    [anon_sym_short] = ACTIONS(1258),
+    [anon_sym_static] = ACTIONS(1258),
+    [anon_sym_auto] = ACTIONS(1258),
+    [anon_sym_register] = ACTIONS(1258),
+    [anon_sym_inline] = ACTIONS(1258),
+    [anon_sym___inline] = ACTIONS(1258),
+    [anon_sym___inline__] = ACTIONS(1258),
+    [anon_sym___forceinline] = ACTIONS(1258),
+    [anon_sym_thread_local] = ACTIONS(1258),
+    [anon_sym___thread] = ACTIONS(1258),
+    [anon_sym_const] = ACTIONS(1258),
+    [anon_sym_constexpr] = ACTIONS(1258),
+    [anon_sym_volatile] = ACTIONS(1258),
+    [anon_sym_restrict] = ACTIONS(1258),
+    [anon_sym___restrict__] = ACTIONS(1258),
+    [anon_sym__Atomic] = ACTIONS(1258),
+    [anon_sym__Noreturn] = ACTIONS(1258),
+    [anon_sym_noreturn] = ACTIONS(1258),
+    [anon_sym__Nonnull] = ACTIONS(1258),
+    [anon_sym_alignas] = ACTIONS(1258),
+    [anon_sym__Alignas] = ACTIONS(1258),
+    [sym_primitive_type] = ACTIONS(1258),
+    [anon_sym_enum] = ACTIONS(1258),
+    [anon_sym_struct] = ACTIONS(1258),
+    [anon_sym_union] = ACTIONS(1258),
+    [anon_sym_if] = ACTIONS(1258),
+    [anon_sym_else] = ACTIONS(1258),
+    [anon_sym_switch] = ACTIONS(1258),
+    [anon_sym_case] = ACTIONS(1258),
+    [anon_sym_default] = ACTIONS(1258),
+    [anon_sym_while] = ACTIONS(1258),
+    [anon_sym_do] = ACTIONS(1258),
+    [anon_sym_for] = ACTIONS(1258),
+    [anon_sym_return] = ACTIONS(1258),
+    [anon_sym_break] = ACTIONS(1258),
+    [anon_sym_continue] = ACTIONS(1258),
+    [anon_sym_goto] = ACTIONS(1258),
+    [anon_sym___try] = ACTIONS(1258),
+    [anon_sym___leave] = ACTIONS(1258),
+    [anon_sym_DASH_DASH] = ACTIONS(1260),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1260),
+    [anon_sym_sizeof] = ACTIONS(1258),
+    [anon_sym___alignof__] = ACTIONS(1258),
+    [anon_sym___alignof] = ACTIONS(1258),
+    [anon_sym__alignof] = ACTIONS(1258),
+    [anon_sym_alignof] = ACTIONS(1258),
+    [anon_sym__Alignof] = ACTIONS(1258),
+    [anon_sym_offsetof] = ACTIONS(1258),
+    [anon_sym__Generic] = ACTIONS(1258),
+    [anon_sym_asm] = ACTIONS(1258),
+    [anon_sym___asm__] = ACTIONS(1258),
+    [anon_sym___asm] = ACTIONS(1258),
+    [sym_number_literal] = ACTIONS(1260),
+    [anon_sym_L_SQUOTE] = ACTIONS(1260),
+    [anon_sym_u_SQUOTE] = ACTIONS(1260),
+    [anon_sym_U_SQUOTE] = ACTIONS(1260),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1260),
+    [anon_sym_SQUOTE] = ACTIONS(1260),
+    [anon_sym_L_DQUOTE] = ACTIONS(1260),
+    [anon_sym_u_DQUOTE] = ACTIONS(1260),
+    [anon_sym_U_DQUOTE] = ACTIONS(1260),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1260),
+    [anon_sym_DQUOTE] = ACTIONS(1260),
+    [sym_true] = ACTIONS(1258),
+    [sym_false] = ACTIONS(1258),
+    [anon_sym_NULL] = ACTIONS(1258),
+    [anon_sym_nullptr] = ACTIONS(1258),
     [sym_comment] = ACTIONS(3),
   },
   [176] = {
-    [ts_builtin_sym_end] = ACTIONS(1159),
-    [sym_identifier] = ACTIONS(1157),
-    [aux_sym_preproc_include_token1] = ACTIONS(1157),
-    [aux_sym_preproc_def_token1] = ACTIONS(1157),
-    [aux_sym_preproc_if_token1] = ACTIONS(1157),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1157),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1157),
-    [sym_preproc_directive] = ACTIONS(1157),
-    [anon_sym_LPAREN2] = ACTIONS(1159),
-    [anon_sym_BANG] = ACTIONS(1159),
-    [anon_sym_TILDE] = ACTIONS(1159),
-    [anon_sym_DASH] = ACTIONS(1157),
-    [anon_sym_PLUS] = ACTIONS(1157),
-    [anon_sym_STAR] = ACTIONS(1159),
-    [anon_sym_AMP] = ACTIONS(1159),
-    [anon_sym_SEMI] = ACTIONS(1159),
-    [anon_sym___extension__] = ACTIONS(1157),
-    [anon_sym_typedef] = ACTIONS(1157),
-    [anon_sym_extern] = ACTIONS(1157),
-    [anon_sym___attribute__] = ACTIONS(1157),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1159),
-    [anon_sym___declspec] = ACTIONS(1157),
-    [anon_sym___cdecl] = ACTIONS(1157),
-    [anon_sym___clrcall] = ACTIONS(1157),
-    [anon_sym___stdcall] = ACTIONS(1157),
-    [anon_sym___fastcall] = ACTIONS(1157),
-    [anon_sym___thiscall] = ACTIONS(1157),
-    [anon_sym___vectorcall] = ACTIONS(1157),
-    [anon_sym_LBRACE] = ACTIONS(1159),
-    [anon_sym_signed] = ACTIONS(1157),
-    [anon_sym_unsigned] = ACTIONS(1157),
-    [anon_sym_long] = ACTIONS(1157),
-    [anon_sym_short] = ACTIONS(1157),
-    [anon_sym_static] = ACTIONS(1157),
-    [anon_sym_auto] = ACTIONS(1157),
-    [anon_sym_register] = ACTIONS(1157),
-    [anon_sym_inline] = ACTIONS(1157),
-    [anon_sym___inline] = ACTIONS(1157),
-    [anon_sym___inline__] = ACTIONS(1157),
-    [anon_sym___forceinline] = ACTIONS(1157),
-    [anon_sym_thread_local] = ACTIONS(1157),
-    [anon_sym___thread] = ACTIONS(1157),
-    [anon_sym_const] = ACTIONS(1157),
-    [anon_sym_constexpr] = ACTIONS(1157),
-    [anon_sym_volatile] = ACTIONS(1157),
-    [anon_sym_restrict] = ACTIONS(1157),
-    [anon_sym___restrict__] = ACTIONS(1157),
-    [anon_sym__Atomic] = ACTIONS(1157),
-    [anon_sym__Noreturn] = ACTIONS(1157),
-    [anon_sym_noreturn] = ACTIONS(1157),
-    [anon_sym__Nonnull] = ACTIONS(1157),
-    [anon_sym_alignas] = ACTIONS(1157),
-    [anon_sym__Alignas] = ACTIONS(1157),
-    [sym_primitive_type] = ACTIONS(1157),
-    [anon_sym_enum] = ACTIONS(1157),
-    [anon_sym_struct] = ACTIONS(1157),
-    [anon_sym_union] = ACTIONS(1157),
-    [anon_sym_if] = ACTIONS(1157),
-    [anon_sym_else] = ACTIONS(1157),
-    [anon_sym_switch] = ACTIONS(1157),
-    [anon_sym_case] = ACTIONS(1157),
-    [anon_sym_default] = ACTIONS(1157),
-    [anon_sym_while] = ACTIONS(1157),
-    [anon_sym_do] = ACTIONS(1157),
-    [anon_sym_for] = ACTIONS(1157),
-    [anon_sym_return] = ACTIONS(1157),
-    [anon_sym_break] = ACTIONS(1157),
-    [anon_sym_continue] = ACTIONS(1157),
-    [anon_sym_goto] = ACTIONS(1157),
-    [anon_sym___try] = ACTIONS(1157),
-    [anon_sym___leave] = ACTIONS(1157),
-    [anon_sym_DASH_DASH] = ACTIONS(1159),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1159),
-    [anon_sym_sizeof] = ACTIONS(1157),
-    [anon_sym___alignof__] = ACTIONS(1157),
-    [anon_sym___alignof] = ACTIONS(1157),
-    [anon_sym__alignof] = ACTIONS(1157),
-    [anon_sym_alignof] = ACTIONS(1157),
-    [anon_sym__Alignof] = ACTIONS(1157),
-    [anon_sym_offsetof] = ACTIONS(1157),
-    [anon_sym__Generic] = ACTIONS(1157),
-    [anon_sym_asm] = ACTIONS(1157),
-    [anon_sym___asm__] = ACTIONS(1157),
-    [anon_sym___asm] = ACTIONS(1157),
-    [sym_number_literal] = ACTIONS(1159),
-    [anon_sym_L_SQUOTE] = ACTIONS(1159),
-    [anon_sym_u_SQUOTE] = ACTIONS(1159),
-    [anon_sym_U_SQUOTE] = ACTIONS(1159),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1159),
-    [anon_sym_SQUOTE] = ACTIONS(1159),
-    [anon_sym_L_DQUOTE] = ACTIONS(1159),
-    [anon_sym_u_DQUOTE] = ACTIONS(1159),
-    [anon_sym_U_DQUOTE] = ACTIONS(1159),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1159),
-    [anon_sym_DQUOTE] = ACTIONS(1159),
-    [sym_true] = ACTIONS(1157),
-    [sym_false] = ACTIONS(1157),
-    [anon_sym_NULL] = ACTIONS(1157),
-    [anon_sym_nullptr] = ACTIONS(1157),
+    [sym_identifier] = ACTIONS(1210),
+    [aux_sym_preproc_include_token1] = ACTIONS(1210),
+    [aux_sym_preproc_def_token1] = ACTIONS(1210),
+    [aux_sym_preproc_if_token1] = ACTIONS(1210),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1210),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1210),
+    [sym_preproc_directive] = ACTIONS(1210),
+    [anon_sym_LPAREN2] = ACTIONS(1212),
+    [anon_sym_BANG] = ACTIONS(1212),
+    [anon_sym_TILDE] = ACTIONS(1212),
+    [anon_sym_DASH] = ACTIONS(1210),
+    [anon_sym_PLUS] = ACTIONS(1210),
+    [anon_sym_STAR] = ACTIONS(1212),
+    [anon_sym_AMP] = ACTIONS(1212),
+    [anon_sym_SEMI] = ACTIONS(1212),
+    [anon_sym___extension__] = ACTIONS(1210),
+    [anon_sym_typedef] = ACTIONS(1210),
+    [anon_sym_extern] = ACTIONS(1210),
+    [anon_sym___attribute__] = ACTIONS(1210),
+    [anon_sym___attribute] = ACTIONS(1210),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1212),
+    [anon_sym___declspec] = ACTIONS(1210),
+    [anon_sym___cdecl] = ACTIONS(1210),
+    [anon_sym___clrcall] = ACTIONS(1210),
+    [anon_sym___stdcall] = ACTIONS(1210),
+    [anon_sym___fastcall] = ACTIONS(1210),
+    [anon_sym___thiscall] = ACTIONS(1210),
+    [anon_sym___vectorcall] = ACTIONS(1210),
+    [anon_sym_LBRACE] = ACTIONS(1212),
+    [anon_sym_RBRACE] = ACTIONS(1212),
+    [anon_sym_signed] = ACTIONS(1210),
+    [anon_sym_unsigned] = ACTIONS(1210),
+    [anon_sym_long] = ACTIONS(1210),
+    [anon_sym_short] = ACTIONS(1210),
+    [anon_sym_static] = ACTIONS(1210),
+    [anon_sym_auto] = ACTIONS(1210),
+    [anon_sym_register] = ACTIONS(1210),
+    [anon_sym_inline] = ACTIONS(1210),
+    [anon_sym___inline] = ACTIONS(1210),
+    [anon_sym___inline__] = ACTIONS(1210),
+    [anon_sym___forceinline] = ACTIONS(1210),
+    [anon_sym_thread_local] = ACTIONS(1210),
+    [anon_sym___thread] = ACTIONS(1210),
+    [anon_sym_const] = ACTIONS(1210),
+    [anon_sym_constexpr] = ACTIONS(1210),
+    [anon_sym_volatile] = ACTIONS(1210),
+    [anon_sym_restrict] = ACTIONS(1210),
+    [anon_sym___restrict__] = ACTIONS(1210),
+    [anon_sym__Atomic] = ACTIONS(1210),
+    [anon_sym__Noreturn] = ACTIONS(1210),
+    [anon_sym_noreturn] = ACTIONS(1210),
+    [anon_sym__Nonnull] = ACTIONS(1210),
+    [anon_sym_alignas] = ACTIONS(1210),
+    [anon_sym__Alignas] = ACTIONS(1210),
+    [sym_primitive_type] = ACTIONS(1210),
+    [anon_sym_enum] = ACTIONS(1210),
+    [anon_sym_struct] = ACTIONS(1210),
+    [anon_sym_union] = ACTIONS(1210),
+    [anon_sym_if] = ACTIONS(1210),
+    [anon_sym_else] = ACTIONS(1210),
+    [anon_sym_switch] = ACTIONS(1210),
+    [anon_sym_case] = ACTIONS(1210),
+    [anon_sym_default] = ACTIONS(1210),
+    [anon_sym_while] = ACTIONS(1210),
+    [anon_sym_do] = ACTIONS(1210),
+    [anon_sym_for] = ACTIONS(1210),
+    [anon_sym_return] = ACTIONS(1210),
+    [anon_sym_break] = ACTIONS(1210),
+    [anon_sym_continue] = ACTIONS(1210),
+    [anon_sym_goto] = ACTIONS(1210),
+    [anon_sym___try] = ACTIONS(1210),
+    [anon_sym___leave] = ACTIONS(1210),
+    [anon_sym_DASH_DASH] = ACTIONS(1212),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1212),
+    [anon_sym_sizeof] = ACTIONS(1210),
+    [anon_sym___alignof__] = ACTIONS(1210),
+    [anon_sym___alignof] = ACTIONS(1210),
+    [anon_sym__alignof] = ACTIONS(1210),
+    [anon_sym_alignof] = ACTIONS(1210),
+    [anon_sym__Alignof] = ACTIONS(1210),
+    [anon_sym_offsetof] = ACTIONS(1210),
+    [anon_sym__Generic] = ACTIONS(1210),
+    [anon_sym_asm] = ACTIONS(1210),
+    [anon_sym___asm__] = ACTIONS(1210),
+    [anon_sym___asm] = ACTIONS(1210),
+    [sym_number_literal] = ACTIONS(1212),
+    [anon_sym_L_SQUOTE] = ACTIONS(1212),
+    [anon_sym_u_SQUOTE] = ACTIONS(1212),
+    [anon_sym_U_SQUOTE] = ACTIONS(1212),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1212),
+    [anon_sym_SQUOTE] = ACTIONS(1212),
+    [anon_sym_L_DQUOTE] = ACTIONS(1212),
+    [anon_sym_u_DQUOTE] = ACTIONS(1212),
+    [anon_sym_U_DQUOTE] = ACTIONS(1212),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1212),
+    [anon_sym_DQUOTE] = ACTIONS(1212),
+    [sym_true] = ACTIONS(1210),
+    [sym_false] = ACTIONS(1210),
+    [anon_sym_NULL] = ACTIONS(1210),
+    [anon_sym_nullptr] = ACTIONS(1210),
     [sym_comment] = ACTIONS(3),
   },
   [177] = {
-    [sym_identifier] = ACTIONS(1141),
-    [aux_sym_preproc_include_token1] = ACTIONS(1141),
-    [aux_sym_preproc_def_token1] = ACTIONS(1141),
-    [aux_sym_preproc_if_token1] = ACTIONS(1141),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1141),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1141),
-    [sym_preproc_directive] = ACTIONS(1141),
-    [anon_sym_LPAREN2] = ACTIONS(1143),
-    [anon_sym_BANG] = ACTIONS(1143),
-    [anon_sym_TILDE] = ACTIONS(1143),
-    [anon_sym_DASH] = ACTIONS(1141),
-    [anon_sym_PLUS] = ACTIONS(1141),
-    [anon_sym_STAR] = ACTIONS(1143),
-    [anon_sym_AMP] = ACTIONS(1143),
-    [anon_sym_SEMI] = ACTIONS(1143),
-    [anon_sym___extension__] = ACTIONS(1141),
-    [anon_sym_typedef] = ACTIONS(1141),
-    [anon_sym_extern] = ACTIONS(1141),
-    [anon_sym___attribute__] = ACTIONS(1141),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1143),
-    [anon_sym___declspec] = ACTIONS(1141),
-    [anon_sym___cdecl] = ACTIONS(1141),
-    [anon_sym___clrcall] = ACTIONS(1141),
-    [anon_sym___stdcall] = ACTIONS(1141),
-    [anon_sym___fastcall] = ACTIONS(1141),
-    [anon_sym___thiscall] = ACTIONS(1141),
-    [anon_sym___vectorcall] = ACTIONS(1141),
-    [anon_sym_LBRACE] = ACTIONS(1143),
-    [anon_sym_RBRACE] = ACTIONS(1143),
-    [anon_sym_signed] = ACTIONS(1141),
-    [anon_sym_unsigned] = ACTIONS(1141),
-    [anon_sym_long] = ACTIONS(1141),
-    [anon_sym_short] = ACTIONS(1141),
-    [anon_sym_static] = ACTIONS(1141),
-    [anon_sym_auto] = ACTIONS(1141),
-    [anon_sym_register] = ACTIONS(1141),
-    [anon_sym_inline] = ACTIONS(1141),
-    [anon_sym___inline] = ACTIONS(1141),
-    [anon_sym___inline__] = ACTIONS(1141),
-    [anon_sym___forceinline] = ACTIONS(1141),
-    [anon_sym_thread_local] = ACTIONS(1141),
-    [anon_sym___thread] = ACTIONS(1141),
-    [anon_sym_const] = ACTIONS(1141),
-    [anon_sym_constexpr] = ACTIONS(1141),
-    [anon_sym_volatile] = ACTIONS(1141),
-    [anon_sym_restrict] = ACTIONS(1141),
-    [anon_sym___restrict__] = ACTIONS(1141),
-    [anon_sym__Atomic] = ACTIONS(1141),
-    [anon_sym__Noreturn] = ACTIONS(1141),
-    [anon_sym_noreturn] = ACTIONS(1141),
-    [anon_sym__Nonnull] = ACTIONS(1141),
-    [anon_sym_alignas] = ACTIONS(1141),
-    [anon_sym__Alignas] = ACTIONS(1141),
-    [sym_primitive_type] = ACTIONS(1141),
-    [anon_sym_enum] = ACTIONS(1141),
-    [anon_sym_struct] = ACTIONS(1141),
-    [anon_sym_union] = ACTIONS(1141),
-    [anon_sym_if] = ACTIONS(1141),
-    [anon_sym_else] = ACTIONS(1141),
-    [anon_sym_switch] = ACTIONS(1141),
-    [anon_sym_case] = ACTIONS(1141),
-    [anon_sym_default] = ACTIONS(1141),
-    [anon_sym_while] = ACTIONS(1141),
-    [anon_sym_do] = ACTIONS(1141),
-    [anon_sym_for] = ACTIONS(1141),
-    [anon_sym_return] = ACTIONS(1141),
-    [anon_sym_break] = ACTIONS(1141),
-    [anon_sym_continue] = ACTIONS(1141),
-    [anon_sym_goto] = ACTIONS(1141),
-    [anon_sym___try] = ACTIONS(1141),
-    [anon_sym___leave] = ACTIONS(1141),
-    [anon_sym_DASH_DASH] = ACTIONS(1143),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1143),
-    [anon_sym_sizeof] = ACTIONS(1141),
-    [anon_sym___alignof__] = ACTIONS(1141),
-    [anon_sym___alignof] = ACTIONS(1141),
-    [anon_sym__alignof] = ACTIONS(1141),
-    [anon_sym_alignof] = ACTIONS(1141),
-    [anon_sym__Alignof] = ACTIONS(1141),
-    [anon_sym_offsetof] = ACTIONS(1141),
-    [anon_sym__Generic] = ACTIONS(1141),
-    [anon_sym_asm] = ACTIONS(1141),
-    [anon_sym___asm__] = ACTIONS(1141),
-    [anon_sym___asm] = ACTIONS(1141),
-    [sym_number_literal] = ACTIONS(1143),
-    [anon_sym_L_SQUOTE] = ACTIONS(1143),
-    [anon_sym_u_SQUOTE] = ACTIONS(1143),
-    [anon_sym_U_SQUOTE] = ACTIONS(1143),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1143),
-    [anon_sym_SQUOTE] = ACTIONS(1143),
-    [anon_sym_L_DQUOTE] = ACTIONS(1143),
-    [anon_sym_u_DQUOTE] = ACTIONS(1143),
-    [anon_sym_U_DQUOTE] = ACTIONS(1143),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1143),
-    [anon_sym_DQUOTE] = ACTIONS(1143),
-    [sym_true] = ACTIONS(1141),
-    [sym_false] = ACTIONS(1141),
-    [anon_sym_NULL] = ACTIONS(1141),
-    [anon_sym_nullptr] = ACTIONS(1141),
+    [sym_identifier] = ACTIONS(1138),
+    [aux_sym_preproc_include_token1] = ACTIONS(1138),
+    [aux_sym_preproc_def_token1] = ACTIONS(1138),
+    [aux_sym_preproc_if_token1] = ACTIONS(1138),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1138),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1138),
+    [sym_preproc_directive] = ACTIONS(1138),
+    [anon_sym_LPAREN2] = ACTIONS(1140),
+    [anon_sym_BANG] = ACTIONS(1140),
+    [anon_sym_TILDE] = ACTIONS(1140),
+    [anon_sym_DASH] = ACTIONS(1138),
+    [anon_sym_PLUS] = ACTIONS(1138),
+    [anon_sym_STAR] = ACTIONS(1140),
+    [anon_sym_AMP] = ACTIONS(1140),
+    [anon_sym_SEMI] = ACTIONS(1140),
+    [anon_sym___extension__] = ACTIONS(1138),
+    [anon_sym_typedef] = ACTIONS(1138),
+    [anon_sym_extern] = ACTIONS(1138),
+    [anon_sym___attribute__] = ACTIONS(1138),
+    [anon_sym___attribute] = ACTIONS(1138),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1140),
+    [anon_sym___declspec] = ACTIONS(1138),
+    [anon_sym___cdecl] = ACTIONS(1138),
+    [anon_sym___clrcall] = ACTIONS(1138),
+    [anon_sym___stdcall] = ACTIONS(1138),
+    [anon_sym___fastcall] = ACTIONS(1138),
+    [anon_sym___thiscall] = ACTIONS(1138),
+    [anon_sym___vectorcall] = ACTIONS(1138),
+    [anon_sym_LBRACE] = ACTIONS(1140),
+    [anon_sym_RBRACE] = ACTIONS(1140),
+    [anon_sym_signed] = ACTIONS(1138),
+    [anon_sym_unsigned] = ACTIONS(1138),
+    [anon_sym_long] = ACTIONS(1138),
+    [anon_sym_short] = ACTIONS(1138),
+    [anon_sym_static] = ACTIONS(1138),
+    [anon_sym_auto] = ACTIONS(1138),
+    [anon_sym_register] = ACTIONS(1138),
+    [anon_sym_inline] = ACTIONS(1138),
+    [anon_sym___inline] = ACTIONS(1138),
+    [anon_sym___inline__] = ACTIONS(1138),
+    [anon_sym___forceinline] = ACTIONS(1138),
+    [anon_sym_thread_local] = ACTIONS(1138),
+    [anon_sym___thread] = ACTIONS(1138),
+    [anon_sym_const] = ACTIONS(1138),
+    [anon_sym_constexpr] = ACTIONS(1138),
+    [anon_sym_volatile] = ACTIONS(1138),
+    [anon_sym_restrict] = ACTIONS(1138),
+    [anon_sym___restrict__] = ACTIONS(1138),
+    [anon_sym__Atomic] = ACTIONS(1138),
+    [anon_sym__Noreturn] = ACTIONS(1138),
+    [anon_sym_noreturn] = ACTIONS(1138),
+    [anon_sym__Nonnull] = ACTIONS(1138),
+    [anon_sym_alignas] = ACTIONS(1138),
+    [anon_sym__Alignas] = ACTIONS(1138),
+    [sym_primitive_type] = ACTIONS(1138),
+    [anon_sym_enum] = ACTIONS(1138),
+    [anon_sym_struct] = ACTIONS(1138),
+    [anon_sym_union] = ACTIONS(1138),
+    [anon_sym_if] = ACTIONS(1138),
+    [anon_sym_else] = ACTIONS(1138),
+    [anon_sym_switch] = ACTIONS(1138),
+    [anon_sym_case] = ACTIONS(1138),
+    [anon_sym_default] = ACTIONS(1138),
+    [anon_sym_while] = ACTIONS(1138),
+    [anon_sym_do] = ACTIONS(1138),
+    [anon_sym_for] = ACTIONS(1138),
+    [anon_sym_return] = ACTIONS(1138),
+    [anon_sym_break] = ACTIONS(1138),
+    [anon_sym_continue] = ACTIONS(1138),
+    [anon_sym_goto] = ACTIONS(1138),
+    [anon_sym___try] = ACTIONS(1138),
+    [anon_sym___leave] = ACTIONS(1138),
+    [anon_sym_DASH_DASH] = ACTIONS(1140),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1140),
+    [anon_sym_sizeof] = ACTIONS(1138),
+    [anon_sym___alignof__] = ACTIONS(1138),
+    [anon_sym___alignof] = ACTIONS(1138),
+    [anon_sym__alignof] = ACTIONS(1138),
+    [anon_sym_alignof] = ACTIONS(1138),
+    [anon_sym__Alignof] = ACTIONS(1138),
+    [anon_sym_offsetof] = ACTIONS(1138),
+    [anon_sym__Generic] = ACTIONS(1138),
+    [anon_sym_asm] = ACTIONS(1138),
+    [anon_sym___asm__] = ACTIONS(1138),
+    [anon_sym___asm] = ACTIONS(1138),
+    [sym_number_literal] = ACTIONS(1140),
+    [anon_sym_L_SQUOTE] = ACTIONS(1140),
+    [anon_sym_u_SQUOTE] = ACTIONS(1140),
+    [anon_sym_U_SQUOTE] = ACTIONS(1140),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1140),
+    [anon_sym_SQUOTE] = ACTIONS(1140),
+    [anon_sym_L_DQUOTE] = ACTIONS(1140),
+    [anon_sym_u_DQUOTE] = ACTIONS(1140),
+    [anon_sym_U_DQUOTE] = ACTIONS(1140),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1140),
+    [anon_sym_DQUOTE] = ACTIONS(1140),
+    [sym_true] = ACTIONS(1138),
+    [sym_false] = ACTIONS(1138),
+    [anon_sym_NULL] = ACTIONS(1138),
+    [anon_sym_nullptr] = ACTIONS(1138),
     [sym_comment] = ACTIONS(3),
   },
   [178] = {
-    [sym_identifier] = ACTIONS(1157),
-    [aux_sym_preproc_include_token1] = ACTIONS(1157),
-    [aux_sym_preproc_def_token1] = ACTIONS(1157),
-    [aux_sym_preproc_if_token1] = ACTIONS(1157),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1157),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1157),
-    [sym_preproc_directive] = ACTIONS(1157),
-    [anon_sym_LPAREN2] = ACTIONS(1159),
-    [anon_sym_BANG] = ACTIONS(1159),
-    [anon_sym_TILDE] = ACTIONS(1159),
-    [anon_sym_DASH] = ACTIONS(1157),
-    [anon_sym_PLUS] = ACTIONS(1157),
-    [anon_sym_STAR] = ACTIONS(1159),
-    [anon_sym_AMP] = ACTIONS(1159),
-    [anon_sym_SEMI] = ACTIONS(1159),
-    [anon_sym___extension__] = ACTIONS(1157),
-    [anon_sym_typedef] = ACTIONS(1157),
-    [anon_sym_extern] = ACTIONS(1157),
-    [anon_sym___attribute__] = ACTIONS(1157),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1159),
-    [anon_sym___declspec] = ACTIONS(1157),
-    [anon_sym___cdecl] = ACTIONS(1157),
-    [anon_sym___clrcall] = ACTIONS(1157),
-    [anon_sym___stdcall] = ACTIONS(1157),
-    [anon_sym___fastcall] = ACTIONS(1157),
-    [anon_sym___thiscall] = ACTIONS(1157),
-    [anon_sym___vectorcall] = ACTIONS(1157),
-    [anon_sym_LBRACE] = ACTIONS(1159),
-    [anon_sym_RBRACE] = ACTIONS(1159),
-    [anon_sym_signed] = ACTIONS(1157),
-    [anon_sym_unsigned] = ACTIONS(1157),
-    [anon_sym_long] = ACTIONS(1157),
-    [anon_sym_short] = ACTIONS(1157),
-    [anon_sym_static] = ACTIONS(1157),
-    [anon_sym_auto] = ACTIONS(1157),
-    [anon_sym_register] = ACTIONS(1157),
-    [anon_sym_inline] = ACTIONS(1157),
-    [anon_sym___inline] = ACTIONS(1157),
-    [anon_sym___inline__] = ACTIONS(1157),
-    [anon_sym___forceinline] = ACTIONS(1157),
-    [anon_sym_thread_local] = ACTIONS(1157),
-    [anon_sym___thread] = ACTIONS(1157),
-    [anon_sym_const] = ACTIONS(1157),
-    [anon_sym_constexpr] = ACTIONS(1157),
-    [anon_sym_volatile] = ACTIONS(1157),
-    [anon_sym_restrict] = ACTIONS(1157),
-    [anon_sym___restrict__] = ACTIONS(1157),
-    [anon_sym__Atomic] = ACTIONS(1157),
-    [anon_sym__Noreturn] = ACTIONS(1157),
-    [anon_sym_noreturn] = ACTIONS(1157),
-    [anon_sym__Nonnull] = ACTIONS(1157),
-    [anon_sym_alignas] = ACTIONS(1157),
-    [anon_sym__Alignas] = ACTIONS(1157),
-    [sym_primitive_type] = ACTIONS(1157),
-    [anon_sym_enum] = ACTIONS(1157),
-    [anon_sym_struct] = ACTIONS(1157),
-    [anon_sym_union] = ACTIONS(1157),
-    [anon_sym_if] = ACTIONS(1157),
-    [anon_sym_else] = ACTIONS(1157),
-    [anon_sym_switch] = ACTIONS(1157),
-    [anon_sym_case] = ACTIONS(1157),
-    [anon_sym_default] = ACTIONS(1157),
-    [anon_sym_while] = ACTIONS(1157),
-    [anon_sym_do] = ACTIONS(1157),
-    [anon_sym_for] = ACTIONS(1157),
-    [anon_sym_return] = ACTIONS(1157),
-    [anon_sym_break] = ACTIONS(1157),
-    [anon_sym_continue] = ACTIONS(1157),
-    [anon_sym_goto] = ACTIONS(1157),
-    [anon_sym___try] = ACTIONS(1157),
-    [anon_sym___leave] = ACTIONS(1157),
-    [anon_sym_DASH_DASH] = ACTIONS(1159),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1159),
-    [anon_sym_sizeof] = ACTIONS(1157),
-    [anon_sym___alignof__] = ACTIONS(1157),
-    [anon_sym___alignof] = ACTIONS(1157),
-    [anon_sym__alignof] = ACTIONS(1157),
-    [anon_sym_alignof] = ACTIONS(1157),
-    [anon_sym__Alignof] = ACTIONS(1157),
-    [anon_sym_offsetof] = ACTIONS(1157),
-    [anon_sym__Generic] = ACTIONS(1157),
-    [anon_sym_asm] = ACTIONS(1157),
-    [anon_sym___asm__] = ACTIONS(1157),
-    [anon_sym___asm] = ACTIONS(1157),
-    [sym_number_literal] = ACTIONS(1159),
-    [anon_sym_L_SQUOTE] = ACTIONS(1159),
-    [anon_sym_u_SQUOTE] = ACTIONS(1159),
-    [anon_sym_U_SQUOTE] = ACTIONS(1159),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1159),
-    [anon_sym_SQUOTE] = ACTIONS(1159),
-    [anon_sym_L_DQUOTE] = ACTIONS(1159),
-    [anon_sym_u_DQUOTE] = ACTIONS(1159),
-    [anon_sym_U_DQUOTE] = ACTIONS(1159),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1159),
-    [anon_sym_DQUOTE] = ACTIONS(1159),
-    [sym_true] = ACTIONS(1157),
-    [sym_false] = ACTIONS(1157),
-    [anon_sym_NULL] = ACTIONS(1157),
-    [anon_sym_nullptr] = ACTIONS(1157),
+    [sym_identifier] = ACTIONS(1222),
+    [aux_sym_preproc_include_token1] = ACTIONS(1222),
+    [aux_sym_preproc_def_token1] = ACTIONS(1222),
+    [aux_sym_preproc_if_token1] = ACTIONS(1222),
+    [aux_sym_preproc_if_token2] = ACTIONS(1222),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1222),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1222),
+    [sym_preproc_directive] = ACTIONS(1222),
+    [anon_sym_LPAREN2] = ACTIONS(1224),
+    [anon_sym_BANG] = ACTIONS(1224),
+    [anon_sym_TILDE] = ACTIONS(1224),
+    [anon_sym_DASH] = ACTIONS(1222),
+    [anon_sym_PLUS] = ACTIONS(1222),
+    [anon_sym_STAR] = ACTIONS(1224),
+    [anon_sym_AMP] = ACTIONS(1224),
+    [anon_sym_SEMI] = ACTIONS(1224),
+    [anon_sym___extension__] = ACTIONS(1222),
+    [anon_sym_typedef] = ACTIONS(1222),
+    [anon_sym_extern] = ACTIONS(1222),
+    [anon_sym___attribute__] = ACTIONS(1222),
+    [anon_sym___attribute] = ACTIONS(1222),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1224),
+    [anon_sym___declspec] = ACTIONS(1222),
+    [anon_sym___cdecl] = ACTIONS(1222),
+    [anon_sym___clrcall] = ACTIONS(1222),
+    [anon_sym___stdcall] = ACTIONS(1222),
+    [anon_sym___fastcall] = ACTIONS(1222),
+    [anon_sym___thiscall] = ACTIONS(1222),
+    [anon_sym___vectorcall] = ACTIONS(1222),
+    [anon_sym_LBRACE] = ACTIONS(1224),
+    [anon_sym_signed] = ACTIONS(1222),
+    [anon_sym_unsigned] = ACTIONS(1222),
+    [anon_sym_long] = ACTIONS(1222),
+    [anon_sym_short] = ACTIONS(1222),
+    [anon_sym_static] = ACTIONS(1222),
+    [anon_sym_auto] = ACTIONS(1222),
+    [anon_sym_register] = ACTIONS(1222),
+    [anon_sym_inline] = ACTIONS(1222),
+    [anon_sym___inline] = ACTIONS(1222),
+    [anon_sym___inline__] = ACTIONS(1222),
+    [anon_sym___forceinline] = ACTIONS(1222),
+    [anon_sym_thread_local] = ACTIONS(1222),
+    [anon_sym___thread] = ACTIONS(1222),
+    [anon_sym_const] = ACTIONS(1222),
+    [anon_sym_constexpr] = ACTIONS(1222),
+    [anon_sym_volatile] = ACTIONS(1222),
+    [anon_sym_restrict] = ACTIONS(1222),
+    [anon_sym___restrict__] = ACTIONS(1222),
+    [anon_sym__Atomic] = ACTIONS(1222),
+    [anon_sym__Noreturn] = ACTIONS(1222),
+    [anon_sym_noreturn] = ACTIONS(1222),
+    [anon_sym__Nonnull] = ACTIONS(1222),
+    [anon_sym_alignas] = ACTIONS(1222),
+    [anon_sym__Alignas] = ACTIONS(1222),
+    [sym_primitive_type] = ACTIONS(1222),
+    [anon_sym_enum] = ACTIONS(1222),
+    [anon_sym_struct] = ACTIONS(1222),
+    [anon_sym_union] = ACTIONS(1222),
+    [anon_sym_if] = ACTIONS(1222),
+    [anon_sym_else] = ACTIONS(1222),
+    [anon_sym_switch] = ACTIONS(1222),
+    [anon_sym_case] = ACTIONS(1222),
+    [anon_sym_default] = ACTIONS(1222),
+    [anon_sym_while] = ACTIONS(1222),
+    [anon_sym_do] = ACTIONS(1222),
+    [anon_sym_for] = ACTIONS(1222),
+    [anon_sym_return] = ACTIONS(1222),
+    [anon_sym_break] = ACTIONS(1222),
+    [anon_sym_continue] = ACTIONS(1222),
+    [anon_sym_goto] = ACTIONS(1222),
+    [anon_sym___try] = ACTIONS(1222),
+    [anon_sym___leave] = ACTIONS(1222),
+    [anon_sym_DASH_DASH] = ACTIONS(1224),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1224),
+    [anon_sym_sizeof] = ACTIONS(1222),
+    [anon_sym___alignof__] = ACTIONS(1222),
+    [anon_sym___alignof] = ACTIONS(1222),
+    [anon_sym__alignof] = ACTIONS(1222),
+    [anon_sym_alignof] = ACTIONS(1222),
+    [anon_sym__Alignof] = ACTIONS(1222),
+    [anon_sym_offsetof] = ACTIONS(1222),
+    [anon_sym__Generic] = ACTIONS(1222),
+    [anon_sym_asm] = ACTIONS(1222),
+    [anon_sym___asm__] = ACTIONS(1222),
+    [anon_sym___asm] = ACTIONS(1222),
+    [sym_number_literal] = ACTIONS(1224),
+    [anon_sym_L_SQUOTE] = ACTIONS(1224),
+    [anon_sym_u_SQUOTE] = ACTIONS(1224),
+    [anon_sym_U_SQUOTE] = ACTIONS(1224),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1224),
+    [anon_sym_SQUOTE] = ACTIONS(1224),
+    [anon_sym_L_DQUOTE] = ACTIONS(1224),
+    [anon_sym_u_DQUOTE] = ACTIONS(1224),
+    [anon_sym_U_DQUOTE] = ACTIONS(1224),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1224),
+    [anon_sym_DQUOTE] = ACTIONS(1224),
+    [sym_true] = ACTIONS(1222),
+    [sym_false] = ACTIONS(1222),
+    [anon_sym_NULL] = ACTIONS(1222),
+    [anon_sym_nullptr] = ACTIONS(1222),
     [sym_comment] = ACTIONS(3),
   },
   [179] = {
-    [ts_builtin_sym_end] = ACTIONS(1163),
-    [sym_identifier] = ACTIONS(1161),
-    [aux_sym_preproc_include_token1] = ACTIONS(1161),
-    [aux_sym_preproc_def_token1] = ACTIONS(1161),
-    [aux_sym_preproc_if_token1] = ACTIONS(1161),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1161),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1161),
-    [sym_preproc_directive] = ACTIONS(1161),
-    [anon_sym_LPAREN2] = ACTIONS(1163),
-    [anon_sym_BANG] = ACTIONS(1163),
-    [anon_sym_TILDE] = ACTIONS(1163),
-    [anon_sym_DASH] = ACTIONS(1161),
-    [anon_sym_PLUS] = ACTIONS(1161),
-    [anon_sym_STAR] = ACTIONS(1163),
-    [anon_sym_AMP] = ACTIONS(1163),
-    [anon_sym_SEMI] = ACTIONS(1163),
-    [anon_sym___extension__] = ACTIONS(1161),
-    [anon_sym_typedef] = ACTIONS(1161),
-    [anon_sym_extern] = ACTIONS(1161),
-    [anon_sym___attribute__] = ACTIONS(1161),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1163),
-    [anon_sym___declspec] = ACTIONS(1161),
-    [anon_sym___cdecl] = ACTIONS(1161),
-    [anon_sym___clrcall] = ACTIONS(1161),
-    [anon_sym___stdcall] = ACTIONS(1161),
-    [anon_sym___fastcall] = ACTIONS(1161),
-    [anon_sym___thiscall] = ACTIONS(1161),
-    [anon_sym___vectorcall] = ACTIONS(1161),
-    [anon_sym_LBRACE] = ACTIONS(1163),
-    [anon_sym_signed] = ACTIONS(1161),
-    [anon_sym_unsigned] = ACTIONS(1161),
-    [anon_sym_long] = ACTIONS(1161),
-    [anon_sym_short] = ACTIONS(1161),
-    [anon_sym_static] = ACTIONS(1161),
-    [anon_sym_auto] = ACTIONS(1161),
-    [anon_sym_register] = ACTIONS(1161),
-    [anon_sym_inline] = ACTIONS(1161),
-    [anon_sym___inline] = ACTIONS(1161),
-    [anon_sym___inline__] = ACTIONS(1161),
-    [anon_sym___forceinline] = ACTIONS(1161),
-    [anon_sym_thread_local] = ACTIONS(1161),
-    [anon_sym___thread] = ACTIONS(1161),
-    [anon_sym_const] = ACTIONS(1161),
-    [anon_sym_constexpr] = ACTIONS(1161),
-    [anon_sym_volatile] = ACTIONS(1161),
-    [anon_sym_restrict] = ACTIONS(1161),
-    [anon_sym___restrict__] = ACTIONS(1161),
-    [anon_sym__Atomic] = ACTIONS(1161),
-    [anon_sym__Noreturn] = ACTIONS(1161),
-    [anon_sym_noreturn] = ACTIONS(1161),
-    [anon_sym__Nonnull] = ACTIONS(1161),
-    [anon_sym_alignas] = ACTIONS(1161),
-    [anon_sym__Alignas] = ACTIONS(1161),
-    [sym_primitive_type] = ACTIONS(1161),
-    [anon_sym_enum] = ACTIONS(1161),
-    [anon_sym_struct] = ACTIONS(1161),
-    [anon_sym_union] = ACTIONS(1161),
-    [anon_sym_if] = ACTIONS(1161),
-    [anon_sym_else] = ACTIONS(1161),
-    [anon_sym_switch] = ACTIONS(1161),
-    [anon_sym_case] = ACTIONS(1161),
-    [anon_sym_default] = ACTIONS(1161),
-    [anon_sym_while] = ACTIONS(1161),
-    [anon_sym_do] = ACTIONS(1161),
-    [anon_sym_for] = ACTIONS(1161),
-    [anon_sym_return] = ACTIONS(1161),
-    [anon_sym_break] = ACTIONS(1161),
-    [anon_sym_continue] = ACTIONS(1161),
-    [anon_sym_goto] = ACTIONS(1161),
-    [anon_sym___try] = ACTIONS(1161),
-    [anon_sym___leave] = ACTIONS(1161),
-    [anon_sym_DASH_DASH] = ACTIONS(1163),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1163),
-    [anon_sym_sizeof] = ACTIONS(1161),
-    [anon_sym___alignof__] = ACTIONS(1161),
-    [anon_sym___alignof] = ACTIONS(1161),
-    [anon_sym__alignof] = ACTIONS(1161),
-    [anon_sym_alignof] = ACTIONS(1161),
-    [anon_sym__Alignof] = ACTIONS(1161),
-    [anon_sym_offsetof] = ACTIONS(1161),
-    [anon_sym__Generic] = ACTIONS(1161),
-    [anon_sym_asm] = ACTIONS(1161),
-    [anon_sym___asm__] = ACTIONS(1161),
-    [anon_sym___asm] = ACTIONS(1161),
-    [sym_number_literal] = ACTIONS(1163),
-    [anon_sym_L_SQUOTE] = ACTIONS(1163),
-    [anon_sym_u_SQUOTE] = ACTIONS(1163),
-    [anon_sym_U_SQUOTE] = ACTIONS(1163),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1163),
-    [anon_sym_SQUOTE] = ACTIONS(1163),
-    [anon_sym_L_DQUOTE] = ACTIONS(1163),
-    [anon_sym_u_DQUOTE] = ACTIONS(1163),
-    [anon_sym_U_DQUOTE] = ACTIONS(1163),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1163),
-    [anon_sym_DQUOTE] = ACTIONS(1163),
-    [sym_true] = ACTIONS(1161),
-    [sym_false] = ACTIONS(1161),
-    [anon_sym_NULL] = ACTIONS(1161),
-    [anon_sym_nullptr] = ACTIONS(1161),
+    [sym_identifier] = ACTIONS(1230),
+    [aux_sym_preproc_include_token1] = ACTIONS(1230),
+    [aux_sym_preproc_def_token1] = ACTIONS(1230),
+    [aux_sym_preproc_if_token1] = ACTIONS(1230),
+    [aux_sym_preproc_if_token2] = ACTIONS(1230),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1230),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1230),
+    [sym_preproc_directive] = ACTIONS(1230),
+    [anon_sym_LPAREN2] = ACTIONS(1232),
+    [anon_sym_BANG] = ACTIONS(1232),
+    [anon_sym_TILDE] = ACTIONS(1232),
+    [anon_sym_DASH] = ACTIONS(1230),
+    [anon_sym_PLUS] = ACTIONS(1230),
+    [anon_sym_STAR] = ACTIONS(1232),
+    [anon_sym_AMP] = ACTIONS(1232),
+    [anon_sym_SEMI] = ACTIONS(1232),
+    [anon_sym___extension__] = ACTIONS(1230),
+    [anon_sym_typedef] = ACTIONS(1230),
+    [anon_sym_extern] = ACTIONS(1230),
+    [anon_sym___attribute__] = ACTIONS(1230),
+    [anon_sym___attribute] = ACTIONS(1230),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1232),
+    [anon_sym___declspec] = ACTIONS(1230),
+    [anon_sym___cdecl] = ACTIONS(1230),
+    [anon_sym___clrcall] = ACTIONS(1230),
+    [anon_sym___stdcall] = ACTIONS(1230),
+    [anon_sym___fastcall] = ACTIONS(1230),
+    [anon_sym___thiscall] = ACTIONS(1230),
+    [anon_sym___vectorcall] = ACTIONS(1230),
+    [anon_sym_LBRACE] = ACTIONS(1232),
+    [anon_sym_signed] = ACTIONS(1230),
+    [anon_sym_unsigned] = ACTIONS(1230),
+    [anon_sym_long] = ACTIONS(1230),
+    [anon_sym_short] = ACTIONS(1230),
+    [anon_sym_static] = ACTIONS(1230),
+    [anon_sym_auto] = ACTIONS(1230),
+    [anon_sym_register] = ACTIONS(1230),
+    [anon_sym_inline] = ACTIONS(1230),
+    [anon_sym___inline] = ACTIONS(1230),
+    [anon_sym___inline__] = ACTIONS(1230),
+    [anon_sym___forceinline] = ACTIONS(1230),
+    [anon_sym_thread_local] = ACTIONS(1230),
+    [anon_sym___thread] = ACTIONS(1230),
+    [anon_sym_const] = ACTIONS(1230),
+    [anon_sym_constexpr] = ACTIONS(1230),
+    [anon_sym_volatile] = ACTIONS(1230),
+    [anon_sym_restrict] = ACTIONS(1230),
+    [anon_sym___restrict__] = ACTIONS(1230),
+    [anon_sym__Atomic] = ACTIONS(1230),
+    [anon_sym__Noreturn] = ACTIONS(1230),
+    [anon_sym_noreturn] = ACTIONS(1230),
+    [anon_sym__Nonnull] = ACTIONS(1230),
+    [anon_sym_alignas] = ACTIONS(1230),
+    [anon_sym__Alignas] = ACTIONS(1230),
+    [sym_primitive_type] = ACTIONS(1230),
+    [anon_sym_enum] = ACTIONS(1230),
+    [anon_sym_struct] = ACTIONS(1230),
+    [anon_sym_union] = ACTIONS(1230),
+    [anon_sym_if] = ACTIONS(1230),
+    [anon_sym_else] = ACTIONS(1230),
+    [anon_sym_switch] = ACTIONS(1230),
+    [anon_sym_case] = ACTIONS(1230),
+    [anon_sym_default] = ACTIONS(1230),
+    [anon_sym_while] = ACTIONS(1230),
+    [anon_sym_do] = ACTIONS(1230),
+    [anon_sym_for] = ACTIONS(1230),
+    [anon_sym_return] = ACTIONS(1230),
+    [anon_sym_break] = ACTIONS(1230),
+    [anon_sym_continue] = ACTIONS(1230),
+    [anon_sym_goto] = ACTIONS(1230),
+    [anon_sym___try] = ACTIONS(1230),
+    [anon_sym___leave] = ACTIONS(1230),
+    [anon_sym_DASH_DASH] = ACTIONS(1232),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1232),
+    [anon_sym_sizeof] = ACTIONS(1230),
+    [anon_sym___alignof__] = ACTIONS(1230),
+    [anon_sym___alignof] = ACTIONS(1230),
+    [anon_sym__alignof] = ACTIONS(1230),
+    [anon_sym_alignof] = ACTIONS(1230),
+    [anon_sym__Alignof] = ACTIONS(1230),
+    [anon_sym_offsetof] = ACTIONS(1230),
+    [anon_sym__Generic] = ACTIONS(1230),
+    [anon_sym_asm] = ACTIONS(1230),
+    [anon_sym___asm__] = ACTIONS(1230),
+    [anon_sym___asm] = ACTIONS(1230),
+    [sym_number_literal] = ACTIONS(1232),
+    [anon_sym_L_SQUOTE] = ACTIONS(1232),
+    [anon_sym_u_SQUOTE] = ACTIONS(1232),
+    [anon_sym_U_SQUOTE] = ACTIONS(1232),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1232),
+    [anon_sym_SQUOTE] = ACTIONS(1232),
+    [anon_sym_L_DQUOTE] = ACTIONS(1232),
+    [anon_sym_u_DQUOTE] = ACTIONS(1232),
+    [anon_sym_U_DQUOTE] = ACTIONS(1232),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1232),
+    [anon_sym_DQUOTE] = ACTIONS(1232),
+    [sym_true] = ACTIONS(1230),
+    [sym_false] = ACTIONS(1230),
+    [anon_sym_NULL] = ACTIONS(1230),
+    [anon_sym_nullptr] = ACTIONS(1230),
     [sym_comment] = ACTIONS(3),
   },
   [180] = {
-    [ts_builtin_sym_end] = ACTIONS(1167),
-    [sym_identifier] = ACTIONS(1165),
-    [aux_sym_preproc_include_token1] = ACTIONS(1165),
-    [aux_sym_preproc_def_token1] = ACTIONS(1165),
-    [aux_sym_preproc_if_token1] = ACTIONS(1165),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1165),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1165),
-    [sym_preproc_directive] = ACTIONS(1165),
-    [anon_sym_LPAREN2] = ACTIONS(1167),
-    [anon_sym_BANG] = ACTIONS(1167),
-    [anon_sym_TILDE] = ACTIONS(1167),
-    [anon_sym_DASH] = ACTIONS(1165),
-    [anon_sym_PLUS] = ACTIONS(1165),
-    [anon_sym_STAR] = ACTIONS(1167),
-    [anon_sym_AMP] = ACTIONS(1167),
-    [anon_sym_SEMI] = ACTIONS(1167),
-    [anon_sym___extension__] = ACTIONS(1165),
-    [anon_sym_typedef] = ACTIONS(1165),
-    [anon_sym_extern] = ACTIONS(1165),
-    [anon_sym___attribute__] = ACTIONS(1165),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1167),
-    [anon_sym___declspec] = ACTIONS(1165),
-    [anon_sym___cdecl] = ACTIONS(1165),
-    [anon_sym___clrcall] = ACTIONS(1165),
-    [anon_sym___stdcall] = ACTIONS(1165),
-    [anon_sym___fastcall] = ACTIONS(1165),
-    [anon_sym___thiscall] = ACTIONS(1165),
-    [anon_sym___vectorcall] = ACTIONS(1165),
-    [anon_sym_LBRACE] = ACTIONS(1167),
-    [anon_sym_signed] = ACTIONS(1165),
-    [anon_sym_unsigned] = ACTIONS(1165),
-    [anon_sym_long] = ACTIONS(1165),
-    [anon_sym_short] = ACTIONS(1165),
-    [anon_sym_static] = ACTIONS(1165),
-    [anon_sym_auto] = ACTIONS(1165),
-    [anon_sym_register] = ACTIONS(1165),
-    [anon_sym_inline] = ACTIONS(1165),
-    [anon_sym___inline] = ACTIONS(1165),
-    [anon_sym___inline__] = ACTIONS(1165),
-    [anon_sym___forceinline] = ACTIONS(1165),
-    [anon_sym_thread_local] = ACTIONS(1165),
-    [anon_sym___thread] = ACTIONS(1165),
-    [anon_sym_const] = ACTIONS(1165),
-    [anon_sym_constexpr] = ACTIONS(1165),
-    [anon_sym_volatile] = ACTIONS(1165),
-    [anon_sym_restrict] = ACTIONS(1165),
-    [anon_sym___restrict__] = ACTIONS(1165),
-    [anon_sym__Atomic] = ACTIONS(1165),
-    [anon_sym__Noreturn] = ACTIONS(1165),
-    [anon_sym_noreturn] = ACTIONS(1165),
-    [anon_sym__Nonnull] = ACTIONS(1165),
-    [anon_sym_alignas] = ACTIONS(1165),
-    [anon_sym__Alignas] = ACTIONS(1165),
-    [sym_primitive_type] = ACTIONS(1165),
-    [anon_sym_enum] = ACTIONS(1165),
-    [anon_sym_struct] = ACTIONS(1165),
-    [anon_sym_union] = ACTIONS(1165),
-    [anon_sym_if] = ACTIONS(1165),
-    [anon_sym_else] = ACTIONS(1165),
-    [anon_sym_switch] = ACTIONS(1165),
-    [anon_sym_case] = ACTIONS(1165),
-    [anon_sym_default] = ACTIONS(1165),
-    [anon_sym_while] = ACTIONS(1165),
-    [anon_sym_do] = ACTIONS(1165),
-    [anon_sym_for] = ACTIONS(1165),
-    [anon_sym_return] = ACTIONS(1165),
-    [anon_sym_break] = ACTIONS(1165),
-    [anon_sym_continue] = ACTIONS(1165),
-    [anon_sym_goto] = ACTIONS(1165),
-    [anon_sym___try] = ACTIONS(1165),
-    [anon_sym___leave] = ACTIONS(1165),
-    [anon_sym_DASH_DASH] = ACTIONS(1167),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1167),
-    [anon_sym_sizeof] = ACTIONS(1165),
-    [anon_sym___alignof__] = ACTIONS(1165),
-    [anon_sym___alignof] = ACTIONS(1165),
-    [anon_sym__alignof] = ACTIONS(1165),
-    [anon_sym_alignof] = ACTIONS(1165),
-    [anon_sym__Alignof] = ACTIONS(1165),
-    [anon_sym_offsetof] = ACTIONS(1165),
-    [anon_sym__Generic] = ACTIONS(1165),
-    [anon_sym_asm] = ACTIONS(1165),
-    [anon_sym___asm__] = ACTIONS(1165),
-    [anon_sym___asm] = ACTIONS(1165),
-    [sym_number_literal] = ACTIONS(1167),
-    [anon_sym_L_SQUOTE] = ACTIONS(1167),
-    [anon_sym_u_SQUOTE] = ACTIONS(1167),
-    [anon_sym_U_SQUOTE] = ACTIONS(1167),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1167),
-    [anon_sym_SQUOTE] = ACTIONS(1167),
-    [anon_sym_L_DQUOTE] = ACTIONS(1167),
-    [anon_sym_u_DQUOTE] = ACTIONS(1167),
-    [anon_sym_U_DQUOTE] = ACTIONS(1167),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1167),
-    [anon_sym_DQUOTE] = ACTIONS(1167),
-    [sym_true] = ACTIONS(1165),
-    [sym_false] = ACTIONS(1165),
-    [anon_sym_NULL] = ACTIONS(1165),
-    [anon_sym_nullptr] = ACTIONS(1165),
+    [sym_identifier] = ACTIONS(1234),
+    [aux_sym_preproc_include_token1] = ACTIONS(1234),
+    [aux_sym_preproc_def_token1] = ACTIONS(1234),
+    [aux_sym_preproc_if_token1] = ACTIONS(1234),
+    [aux_sym_preproc_if_token2] = ACTIONS(1234),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1234),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1234),
+    [sym_preproc_directive] = ACTIONS(1234),
+    [anon_sym_LPAREN2] = ACTIONS(1236),
+    [anon_sym_BANG] = ACTIONS(1236),
+    [anon_sym_TILDE] = ACTIONS(1236),
+    [anon_sym_DASH] = ACTIONS(1234),
+    [anon_sym_PLUS] = ACTIONS(1234),
+    [anon_sym_STAR] = ACTIONS(1236),
+    [anon_sym_AMP] = ACTIONS(1236),
+    [anon_sym_SEMI] = ACTIONS(1236),
+    [anon_sym___extension__] = ACTIONS(1234),
+    [anon_sym_typedef] = ACTIONS(1234),
+    [anon_sym_extern] = ACTIONS(1234),
+    [anon_sym___attribute__] = ACTIONS(1234),
+    [anon_sym___attribute] = ACTIONS(1234),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1236),
+    [anon_sym___declspec] = ACTIONS(1234),
+    [anon_sym___cdecl] = ACTIONS(1234),
+    [anon_sym___clrcall] = ACTIONS(1234),
+    [anon_sym___stdcall] = ACTIONS(1234),
+    [anon_sym___fastcall] = ACTIONS(1234),
+    [anon_sym___thiscall] = ACTIONS(1234),
+    [anon_sym___vectorcall] = ACTIONS(1234),
+    [anon_sym_LBRACE] = ACTIONS(1236),
+    [anon_sym_signed] = ACTIONS(1234),
+    [anon_sym_unsigned] = ACTIONS(1234),
+    [anon_sym_long] = ACTIONS(1234),
+    [anon_sym_short] = ACTIONS(1234),
+    [anon_sym_static] = ACTIONS(1234),
+    [anon_sym_auto] = ACTIONS(1234),
+    [anon_sym_register] = ACTIONS(1234),
+    [anon_sym_inline] = ACTIONS(1234),
+    [anon_sym___inline] = ACTIONS(1234),
+    [anon_sym___inline__] = ACTIONS(1234),
+    [anon_sym___forceinline] = ACTIONS(1234),
+    [anon_sym_thread_local] = ACTIONS(1234),
+    [anon_sym___thread] = ACTIONS(1234),
+    [anon_sym_const] = ACTIONS(1234),
+    [anon_sym_constexpr] = ACTIONS(1234),
+    [anon_sym_volatile] = ACTIONS(1234),
+    [anon_sym_restrict] = ACTIONS(1234),
+    [anon_sym___restrict__] = ACTIONS(1234),
+    [anon_sym__Atomic] = ACTIONS(1234),
+    [anon_sym__Noreturn] = ACTIONS(1234),
+    [anon_sym_noreturn] = ACTIONS(1234),
+    [anon_sym__Nonnull] = ACTIONS(1234),
+    [anon_sym_alignas] = ACTIONS(1234),
+    [anon_sym__Alignas] = ACTIONS(1234),
+    [sym_primitive_type] = ACTIONS(1234),
+    [anon_sym_enum] = ACTIONS(1234),
+    [anon_sym_struct] = ACTIONS(1234),
+    [anon_sym_union] = ACTIONS(1234),
+    [anon_sym_if] = ACTIONS(1234),
+    [anon_sym_else] = ACTIONS(1234),
+    [anon_sym_switch] = ACTIONS(1234),
+    [anon_sym_case] = ACTIONS(1234),
+    [anon_sym_default] = ACTIONS(1234),
+    [anon_sym_while] = ACTIONS(1234),
+    [anon_sym_do] = ACTIONS(1234),
+    [anon_sym_for] = ACTIONS(1234),
+    [anon_sym_return] = ACTIONS(1234),
+    [anon_sym_break] = ACTIONS(1234),
+    [anon_sym_continue] = ACTIONS(1234),
+    [anon_sym_goto] = ACTIONS(1234),
+    [anon_sym___try] = ACTIONS(1234),
+    [anon_sym___leave] = ACTIONS(1234),
+    [anon_sym_DASH_DASH] = ACTIONS(1236),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1236),
+    [anon_sym_sizeof] = ACTIONS(1234),
+    [anon_sym___alignof__] = ACTIONS(1234),
+    [anon_sym___alignof] = ACTIONS(1234),
+    [anon_sym__alignof] = ACTIONS(1234),
+    [anon_sym_alignof] = ACTIONS(1234),
+    [anon_sym__Alignof] = ACTIONS(1234),
+    [anon_sym_offsetof] = ACTIONS(1234),
+    [anon_sym__Generic] = ACTIONS(1234),
+    [anon_sym_asm] = ACTIONS(1234),
+    [anon_sym___asm__] = ACTIONS(1234),
+    [anon_sym___asm] = ACTIONS(1234),
+    [sym_number_literal] = ACTIONS(1236),
+    [anon_sym_L_SQUOTE] = ACTIONS(1236),
+    [anon_sym_u_SQUOTE] = ACTIONS(1236),
+    [anon_sym_U_SQUOTE] = ACTIONS(1236),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1236),
+    [anon_sym_SQUOTE] = ACTIONS(1236),
+    [anon_sym_L_DQUOTE] = ACTIONS(1236),
+    [anon_sym_u_DQUOTE] = ACTIONS(1236),
+    [anon_sym_U_DQUOTE] = ACTIONS(1236),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1236),
+    [anon_sym_DQUOTE] = ACTIONS(1236),
+    [sym_true] = ACTIONS(1234),
+    [sym_false] = ACTIONS(1234),
+    [anon_sym_NULL] = ACTIONS(1234),
+    [anon_sym_nullptr] = ACTIONS(1234),
     [sym_comment] = ACTIONS(3),
   },
   [181] = {
-    [sym_identifier] = ACTIONS(1169),
-    [aux_sym_preproc_include_token1] = ACTIONS(1169),
-    [aux_sym_preproc_def_token1] = ACTIONS(1169),
-    [aux_sym_preproc_if_token1] = ACTIONS(1169),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1169),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1169),
-    [sym_preproc_directive] = ACTIONS(1169),
-    [anon_sym_LPAREN2] = ACTIONS(1171),
-    [anon_sym_BANG] = ACTIONS(1171),
-    [anon_sym_TILDE] = ACTIONS(1171),
-    [anon_sym_DASH] = ACTIONS(1169),
-    [anon_sym_PLUS] = ACTIONS(1169),
-    [anon_sym_STAR] = ACTIONS(1171),
-    [anon_sym_AMP] = ACTIONS(1171),
-    [anon_sym_SEMI] = ACTIONS(1171),
-    [anon_sym___extension__] = ACTIONS(1169),
-    [anon_sym_typedef] = ACTIONS(1169),
-    [anon_sym_extern] = ACTIONS(1169),
-    [anon_sym___attribute__] = ACTIONS(1169),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1171),
-    [anon_sym___declspec] = ACTIONS(1169),
-    [anon_sym___cdecl] = ACTIONS(1169),
-    [anon_sym___clrcall] = ACTIONS(1169),
-    [anon_sym___stdcall] = ACTIONS(1169),
-    [anon_sym___fastcall] = ACTIONS(1169),
-    [anon_sym___thiscall] = ACTIONS(1169),
-    [anon_sym___vectorcall] = ACTIONS(1169),
-    [anon_sym_LBRACE] = ACTIONS(1171),
-    [anon_sym_RBRACE] = ACTIONS(1171),
-    [anon_sym_signed] = ACTIONS(1169),
-    [anon_sym_unsigned] = ACTIONS(1169),
-    [anon_sym_long] = ACTIONS(1169),
-    [anon_sym_short] = ACTIONS(1169),
-    [anon_sym_static] = ACTIONS(1169),
-    [anon_sym_auto] = ACTIONS(1169),
-    [anon_sym_register] = ACTIONS(1169),
-    [anon_sym_inline] = ACTIONS(1169),
-    [anon_sym___inline] = ACTIONS(1169),
-    [anon_sym___inline__] = ACTIONS(1169),
-    [anon_sym___forceinline] = ACTIONS(1169),
-    [anon_sym_thread_local] = ACTIONS(1169),
-    [anon_sym___thread] = ACTIONS(1169),
-    [anon_sym_const] = ACTIONS(1169),
-    [anon_sym_constexpr] = ACTIONS(1169),
-    [anon_sym_volatile] = ACTIONS(1169),
-    [anon_sym_restrict] = ACTIONS(1169),
-    [anon_sym___restrict__] = ACTIONS(1169),
-    [anon_sym__Atomic] = ACTIONS(1169),
-    [anon_sym__Noreturn] = ACTIONS(1169),
-    [anon_sym_noreturn] = ACTIONS(1169),
-    [anon_sym__Nonnull] = ACTIONS(1169),
-    [anon_sym_alignas] = ACTIONS(1169),
-    [anon_sym__Alignas] = ACTIONS(1169),
-    [sym_primitive_type] = ACTIONS(1169),
-    [anon_sym_enum] = ACTIONS(1169),
-    [anon_sym_struct] = ACTIONS(1169),
-    [anon_sym_union] = ACTIONS(1169),
-    [anon_sym_if] = ACTIONS(1169),
-    [anon_sym_else] = ACTIONS(1169),
-    [anon_sym_switch] = ACTIONS(1169),
-    [anon_sym_case] = ACTIONS(1169),
-    [anon_sym_default] = ACTIONS(1169),
-    [anon_sym_while] = ACTIONS(1169),
-    [anon_sym_do] = ACTIONS(1169),
-    [anon_sym_for] = ACTIONS(1169),
-    [anon_sym_return] = ACTIONS(1169),
-    [anon_sym_break] = ACTIONS(1169),
-    [anon_sym_continue] = ACTIONS(1169),
-    [anon_sym_goto] = ACTIONS(1169),
-    [anon_sym___try] = ACTIONS(1169),
-    [anon_sym___leave] = ACTIONS(1169),
-    [anon_sym_DASH_DASH] = ACTIONS(1171),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1171),
-    [anon_sym_sizeof] = ACTIONS(1169),
-    [anon_sym___alignof__] = ACTIONS(1169),
-    [anon_sym___alignof] = ACTIONS(1169),
-    [anon_sym__alignof] = ACTIONS(1169),
-    [anon_sym_alignof] = ACTIONS(1169),
-    [anon_sym__Alignof] = ACTIONS(1169),
-    [anon_sym_offsetof] = ACTIONS(1169),
-    [anon_sym__Generic] = ACTIONS(1169),
-    [anon_sym_asm] = ACTIONS(1169),
-    [anon_sym___asm__] = ACTIONS(1169),
-    [anon_sym___asm] = ACTIONS(1169),
-    [sym_number_literal] = ACTIONS(1171),
-    [anon_sym_L_SQUOTE] = ACTIONS(1171),
-    [anon_sym_u_SQUOTE] = ACTIONS(1171),
-    [anon_sym_U_SQUOTE] = ACTIONS(1171),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1171),
-    [anon_sym_SQUOTE] = ACTIONS(1171),
-    [anon_sym_L_DQUOTE] = ACTIONS(1171),
-    [anon_sym_u_DQUOTE] = ACTIONS(1171),
-    [anon_sym_U_DQUOTE] = ACTIONS(1171),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1171),
-    [anon_sym_DQUOTE] = ACTIONS(1171),
-    [sym_true] = ACTIONS(1169),
-    [sym_false] = ACTIONS(1169),
-    [anon_sym_NULL] = ACTIONS(1169),
-    [anon_sym_nullptr] = ACTIONS(1169),
+    [sym_identifier] = ACTIONS(1226),
+    [aux_sym_preproc_include_token1] = ACTIONS(1226),
+    [aux_sym_preproc_def_token1] = ACTIONS(1226),
+    [aux_sym_preproc_if_token1] = ACTIONS(1226),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1226),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1226),
+    [sym_preproc_directive] = ACTIONS(1226),
+    [anon_sym_LPAREN2] = ACTIONS(1228),
+    [anon_sym_BANG] = ACTIONS(1228),
+    [anon_sym_TILDE] = ACTIONS(1228),
+    [anon_sym_DASH] = ACTIONS(1226),
+    [anon_sym_PLUS] = ACTIONS(1226),
+    [anon_sym_STAR] = ACTIONS(1228),
+    [anon_sym_AMP] = ACTIONS(1228),
+    [anon_sym_SEMI] = ACTIONS(1228),
+    [anon_sym___extension__] = ACTIONS(1226),
+    [anon_sym_typedef] = ACTIONS(1226),
+    [anon_sym_extern] = ACTIONS(1226),
+    [anon_sym___attribute__] = ACTIONS(1226),
+    [anon_sym___attribute] = ACTIONS(1226),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1228),
+    [anon_sym___declspec] = ACTIONS(1226),
+    [anon_sym___cdecl] = ACTIONS(1226),
+    [anon_sym___clrcall] = ACTIONS(1226),
+    [anon_sym___stdcall] = ACTIONS(1226),
+    [anon_sym___fastcall] = ACTIONS(1226),
+    [anon_sym___thiscall] = ACTIONS(1226),
+    [anon_sym___vectorcall] = ACTIONS(1226),
+    [anon_sym_LBRACE] = ACTIONS(1228),
+    [anon_sym_RBRACE] = ACTIONS(1228),
+    [anon_sym_signed] = ACTIONS(1226),
+    [anon_sym_unsigned] = ACTIONS(1226),
+    [anon_sym_long] = ACTIONS(1226),
+    [anon_sym_short] = ACTIONS(1226),
+    [anon_sym_static] = ACTIONS(1226),
+    [anon_sym_auto] = ACTIONS(1226),
+    [anon_sym_register] = ACTIONS(1226),
+    [anon_sym_inline] = ACTIONS(1226),
+    [anon_sym___inline] = ACTIONS(1226),
+    [anon_sym___inline__] = ACTIONS(1226),
+    [anon_sym___forceinline] = ACTIONS(1226),
+    [anon_sym_thread_local] = ACTIONS(1226),
+    [anon_sym___thread] = ACTIONS(1226),
+    [anon_sym_const] = ACTIONS(1226),
+    [anon_sym_constexpr] = ACTIONS(1226),
+    [anon_sym_volatile] = ACTIONS(1226),
+    [anon_sym_restrict] = ACTIONS(1226),
+    [anon_sym___restrict__] = ACTIONS(1226),
+    [anon_sym__Atomic] = ACTIONS(1226),
+    [anon_sym__Noreturn] = ACTIONS(1226),
+    [anon_sym_noreturn] = ACTIONS(1226),
+    [anon_sym__Nonnull] = ACTIONS(1226),
+    [anon_sym_alignas] = ACTIONS(1226),
+    [anon_sym__Alignas] = ACTIONS(1226),
+    [sym_primitive_type] = ACTIONS(1226),
+    [anon_sym_enum] = ACTIONS(1226),
+    [anon_sym_struct] = ACTIONS(1226),
+    [anon_sym_union] = ACTIONS(1226),
+    [anon_sym_if] = ACTIONS(1226),
+    [anon_sym_else] = ACTIONS(1226),
+    [anon_sym_switch] = ACTIONS(1226),
+    [anon_sym_case] = ACTIONS(1226),
+    [anon_sym_default] = ACTIONS(1226),
+    [anon_sym_while] = ACTIONS(1226),
+    [anon_sym_do] = ACTIONS(1226),
+    [anon_sym_for] = ACTIONS(1226),
+    [anon_sym_return] = ACTIONS(1226),
+    [anon_sym_break] = ACTIONS(1226),
+    [anon_sym_continue] = ACTIONS(1226),
+    [anon_sym_goto] = ACTIONS(1226),
+    [anon_sym___try] = ACTIONS(1226),
+    [anon_sym___leave] = ACTIONS(1226),
+    [anon_sym_DASH_DASH] = ACTIONS(1228),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1228),
+    [anon_sym_sizeof] = ACTIONS(1226),
+    [anon_sym___alignof__] = ACTIONS(1226),
+    [anon_sym___alignof] = ACTIONS(1226),
+    [anon_sym__alignof] = ACTIONS(1226),
+    [anon_sym_alignof] = ACTIONS(1226),
+    [anon_sym__Alignof] = ACTIONS(1226),
+    [anon_sym_offsetof] = ACTIONS(1226),
+    [anon_sym__Generic] = ACTIONS(1226),
+    [anon_sym_asm] = ACTIONS(1226),
+    [anon_sym___asm__] = ACTIONS(1226),
+    [anon_sym___asm] = ACTIONS(1226),
+    [sym_number_literal] = ACTIONS(1228),
+    [anon_sym_L_SQUOTE] = ACTIONS(1228),
+    [anon_sym_u_SQUOTE] = ACTIONS(1228),
+    [anon_sym_U_SQUOTE] = ACTIONS(1228),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1228),
+    [anon_sym_SQUOTE] = ACTIONS(1228),
+    [anon_sym_L_DQUOTE] = ACTIONS(1228),
+    [anon_sym_u_DQUOTE] = ACTIONS(1228),
+    [anon_sym_U_DQUOTE] = ACTIONS(1228),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1228),
+    [anon_sym_DQUOTE] = ACTIONS(1228),
+    [sym_true] = ACTIONS(1226),
+    [sym_false] = ACTIONS(1226),
+    [anon_sym_NULL] = ACTIONS(1226),
+    [anon_sym_nullptr] = ACTIONS(1226),
     [sym_comment] = ACTIONS(3),
   },
   [182] = {
-    [ts_builtin_sym_end] = ACTIONS(1223),
-    [sym_identifier] = ACTIONS(1221),
-    [aux_sym_preproc_include_token1] = ACTIONS(1221),
-    [aux_sym_preproc_def_token1] = ACTIONS(1221),
-    [aux_sym_preproc_if_token1] = ACTIONS(1221),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1221),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1221),
-    [sym_preproc_directive] = ACTIONS(1221),
-    [anon_sym_LPAREN2] = ACTIONS(1223),
-    [anon_sym_BANG] = ACTIONS(1223),
-    [anon_sym_TILDE] = ACTIONS(1223),
-    [anon_sym_DASH] = ACTIONS(1221),
-    [anon_sym_PLUS] = ACTIONS(1221),
-    [anon_sym_STAR] = ACTIONS(1223),
-    [anon_sym_AMP] = ACTIONS(1223),
-    [anon_sym_SEMI] = ACTIONS(1223),
-    [anon_sym___extension__] = ACTIONS(1221),
-    [anon_sym_typedef] = ACTIONS(1221),
-    [anon_sym_extern] = ACTIONS(1221),
-    [anon_sym___attribute__] = ACTIONS(1221),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1223),
-    [anon_sym___declspec] = ACTIONS(1221),
-    [anon_sym___cdecl] = ACTIONS(1221),
-    [anon_sym___clrcall] = ACTIONS(1221),
-    [anon_sym___stdcall] = ACTIONS(1221),
-    [anon_sym___fastcall] = ACTIONS(1221),
-    [anon_sym___thiscall] = ACTIONS(1221),
-    [anon_sym___vectorcall] = ACTIONS(1221),
-    [anon_sym_LBRACE] = ACTIONS(1223),
-    [anon_sym_signed] = ACTIONS(1221),
-    [anon_sym_unsigned] = ACTIONS(1221),
-    [anon_sym_long] = ACTIONS(1221),
-    [anon_sym_short] = ACTIONS(1221),
-    [anon_sym_static] = ACTIONS(1221),
-    [anon_sym_auto] = ACTIONS(1221),
-    [anon_sym_register] = ACTIONS(1221),
-    [anon_sym_inline] = ACTIONS(1221),
-    [anon_sym___inline] = ACTIONS(1221),
-    [anon_sym___inline__] = ACTIONS(1221),
-    [anon_sym___forceinline] = ACTIONS(1221),
-    [anon_sym_thread_local] = ACTIONS(1221),
-    [anon_sym___thread] = ACTIONS(1221),
-    [anon_sym_const] = ACTIONS(1221),
-    [anon_sym_constexpr] = ACTIONS(1221),
-    [anon_sym_volatile] = ACTIONS(1221),
-    [anon_sym_restrict] = ACTIONS(1221),
-    [anon_sym___restrict__] = ACTIONS(1221),
-    [anon_sym__Atomic] = ACTIONS(1221),
-    [anon_sym__Noreturn] = ACTIONS(1221),
-    [anon_sym_noreturn] = ACTIONS(1221),
-    [anon_sym__Nonnull] = ACTIONS(1221),
-    [anon_sym_alignas] = ACTIONS(1221),
-    [anon_sym__Alignas] = ACTIONS(1221),
-    [sym_primitive_type] = ACTIONS(1221),
-    [anon_sym_enum] = ACTIONS(1221),
-    [anon_sym_struct] = ACTIONS(1221),
-    [anon_sym_union] = ACTIONS(1221),
-    [anon_sym_if] = ACTIONS(1221),
-    [anon_sym_else] = ACTIONS(1221),
-    [anon_sym_switch] = ACTIONS(1221),
-    [anon_sym_case] = ACTIONS(1221),
-    [anon_sym_default] = ACTIONS(1221),
-    [anon_sym_while] = ACTIONS(1221),
-    [anon_sym_do] = ACTIONS(1221),
-    [anon_sym_for] = ACTIONS(1221),
-    [anon_sym_return] = ACTIONS(1221),
-    [anon_sym_break] = ACTIONS(1221),
-    [anon_sym_continue] = ACTIONS(1221),
-    [anon_sym_goto] = ACTIONS(1221),
-    [anon_sym___try] = ACTIONS(1221),
-    [anon_sym___leave] = ACTIONS(1221),
-    [anon_sym_DASH_DASH] = ACTIONS(1223),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
-    [anon_sym_sizeof] = ACTIONS(1221),
-    [anon_sym___alignof__] = ACTIONS(1221),
-    [anon_sym___alignof] = ACTIONS(1221),
-    [anon_sym__alignof] = ACTIONS(1221),
-    [anon_sym_alignof] = ACTIONS(1221),
-    [anon_sym__Alignof] = ACTIONS(1221),
-    [anon_sym_offsetof] = ACTIONS(1221),
-    [anon_sym__Generic] = ACTIONS(1221),
-    [anon_sym_asm] = ACTIONS(1221),
-    [anon_sym___asm__] = ACTIONS(1221),
-    [anon_sym___asm] = ACTIONS(1221),
-    [sym_number_literal] = ACTIONS(1223),
-    [anon_sym_L_SQUOTE] = ACTIONS(1223),
-    [anon_sym_u_SQUOTE] = ACTIONS(1223),
-    [anon_sym_U_SQUOTE] = ACTIONS(1223),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1223),
-    [anon_sym_SQUOTE] = ACTIONS(1223),
-    [anon_sym_L_DQUOTE] = ACTIONS(1223),
-    [anon_sym_u_DQUOTE] = ACTIONS(1223),
-    [anon_sym_U_DQUOTE] = ACTIONS(1223),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1223),
-    [anon_sym_DQUOTE] = ACTIONS(1223),
-    [sym_true] = ACTIONS(1221),
-    [sym_false] = ACTIONS(1221),
-    [anon_sym_NULL] = ACTIONS(1221),
-    [anon_sym_nullptr] = ACTIONS(1221),
+    [sym_identifier] = ACTIONS(1238),
+    [aux_sym_preproc_include_token1] = ACTIONS(1238),
+    [aux_sym_preproc_def_token1] = ACTIONS(1238),
+    [aux_sym_preproc_if_token1] = ACTIONS(1238),
+    [aux_sym_preproc_if_token2] = ACTIONS(1238),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1238),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1238),
+    [sym_preproc_directive] = ACTIONS(1238),
+    [anon_sym_LPAREN2] = ACTIONS(1240),
+    [anon_sym_BANG] = ACTIONS(1240),
+    [anon_sym_TILDE] = ACTIONS(1240),
+    [anon_sym_DASH] = ACTIONS(1238),
+    [anon_sym_PLUS] = ACTIONS(1238),
+    [anon_sym_STAR] = ACTIONS(1240),
+    [anon_sym_AMP] = ACTIONS(1240),
+    [anon_sym_SEMI] = ACTIONS(1240),
+    [anon_sym___extension__] = ACTIONS(1238),
+    [anon_sym_typedef] = ACTIONS(1238),
+    [anon_sym_extern] = ACTIONS(1238),
+    [anon_sym___attribute__] = ACTIONS(1238),
+    [anon_sym___attribute] = ACTIONS(1238),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1240),
+    [anon_sym___declspec] = ACTIONS(1238),
+    [anon_sym___cdecl] = ACTIONS(1238),
+    [anon_sym___clrcall] = ACTIONS(1238),
+    [anon_sym___stdcall] = ACTIONS(1238),
+    [anon_sym___fastcall] = ACTIONS(1238),
+    [anon_sym___thiscall] = ACTIONS(1238),
+    [anon_sym___vectorcall] = ACTIONS(1238),
+    [anon_sym_LBRACE] = ACTIONS(1240),
+    [anon_sym_signed] = ACTIONS(1238),
+    [anon_sym_unsigned] = ACTIONS(1238),
+    [anon_sym_long] = ACTIONS(1238),
+    [anon_sym_short] = ACTIONS(1238),
+    [anon_sym_static] = ACTIONS(1238),
+    [anon_sym_auto] = ACTIONS(1238),
+    [anon_sym_register] = ACTIONS(1238),
+    [anon_sym_inline] = ACTIONS(1238),
+    [anon_sym___inline] = ACTIONS(1238),
+    [anon_sym___inline__] = ACTIONS(1238),
+    [anon_sym___forceinline] = ACTIONS(1238),
+    [anon_sym_thread_local] = ACTIONS(1238),
+    [anon_sym___thread] = ACTIONS(1238),
+    [anon_sym_const] = ACTIONS(1238),
+    [anon_sym_constexpr] = ACTIONS(1238),
+    [anon_sym_volatile] = ACTIONS(1238),
+    [anon_sym_restrict] = ACTIONS(1238),
+    [anon_sym___restrict__] = ACTIONS(1238),
+    [anon_sym__Atomic] = ACTIONS(1238),
+    [anon_sym__Noreturn] = ACTIONS(1238),
+    [anon_sym_noreturn] = ACTIONS(1238),
+    [anon_sym__Nonnull] = ACTIONS(1238),
+    [anon_sym_alignas] = ACTIONS(1238),
+    [anon_sym__Alignas] = ACTIONS(1238),
+    [sym_primitive_type] = ACTIONS(1238),
+    [anon_sym_enum] = ACTIONS(1238),
+    [anon_sym_struct] = ACTIONS(1238),
+    [anon_sym_union] = ACTIONS(1238),
+    [anon_sym_if] = ACTIONS(1238),
+    [anon_sym_else] = ACTIONS(1238),
+    [anon_sym_switch] = ACTIONS(1238),
+    [anon_sym_case] = ACTIONS(1238),
+    [anon_sym_default] = ACTIONS(1238),
+    [anon_sym_while] = ACTIONS(1238),
+    [anon_sym_do] = ACTIONS(1238),
+    [anon_sym_for] = ACTIONS(1238),
+    [anon_sym_return] = ACTIONS(1238),
+    [anon_sym_break] = ACTIONS(1238),
+    [anon_sym_continue] = ACTIONS(1238),
+    [anon_sym_goto] = ACTIONS(1238),
+    [anon_sym___try] = ACTIONS(1238),
+    [anon_sym___leave] = ACTIONS(1238),
+    [anon_sym_DASH_DASH] = ACTIONS(1240),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1240),
+    [anon_sym_sizeof] = ACTIONS(1238),
+    [anon_sym___alignof__] = ACTIONS(1238),
+    [anon_sym___alignof] = ACTIONS(1238),
+    [anon_sym__alignof] = ACTIONS(1238),
+    [anon_sym_alignof] = ACTIONS(1238),
+    [anon_sym__Alignof] = ACTIONS(1238),
+    [anon_sym_offsetof] = ACTIONS(1238),
+    [anon_sym__Generic] = ACTIONS(1238),
+    [anon_sym_asm] = ACTIONS(1238),
+    [anon_sym___asm__] = ACTIONS(1238),
+    [anon_sym___asm] = ACTIONS(1238),
+    [sym_number_literal] = ACTIONS(1240),
+    [anon_sym_L_SQUOTE] = ACTIONS(1240),
+    [anon_sym_u_SQUOTE] = ACTIONS(1240),
+    [anon_sym_U_SQUOTE] = ACTIONS(1240),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1240),
+    [anon_sym_SQUOTE] = ACTIONS(1240),
+    [anon_sym_L_DQUOTE] = ACTIONS(1240),
+    [anon_sym_u_DQUOTE] = ACTIONS(1240),
+    [anon_sym_U_DQUOTE] = ACTIONS(1240),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1240),
+    [anon_sym_DQUOTE] = ACTIONS(1240),
+    [sym_true] = ACTIONS(1238),
+    [sym_false] = ACTIONS(1238),
+    [anon_sym_NULL] = ACTIONS(1238),
+    [anon_sym_nullptr] = ACTIONS(1238),
     [sym_comment] = ACTIONS(3),
   },
   [183] = {
-    [sym_identifier] = ACTIONS(1173),
-    [aux_sym_preproc_include_token1] = ACTIONS(1173),
-    [aux_sym_preproc_def_token1] = ACTIONS(1173),
-    [aux_sym_preproc_if_token1] = ACTIONS(1173),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1173),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1173),
-    [sym_preproc_directive] = ACTIONS(1173),
-    [anon_sym_LPAREN2] = ACTIONS(1175),
-    [anon_sym_BANG] = ACTIONS(1175),
-    [anon_sym_TILDE] = ACTIONS(1175),
-    [anon_sym_DASH] = ACTIONS(1173),
-    [anon_sym_PLUS] = ACTIONS(1173),
-    [anon_sym_STAR] = ACTIONS(1175),
-    [anon_sym_AMP] = ACTIONS(1175),
-    [anon_sym_SEMI] = ACTIONS(1175),
-    [anon_sym___extension__] = ACTIONS(1173),
-    [anon_sym_typedef] = ACTIONS(1173),
-    [anon_sym_extern] = ACTIONS(1173),
-    [anon_sym___attribute__] = ACTIONS(1173),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1175),
-    [anon_sym___declspec] = ACTIONS(1173),
-    [anon_sym___cdecl] = ACTIONS(1173),
-    [anon_sym___clrcall] = ACTIONS(1173),
-    [anon_sym___stdcall] = ACTIONS(1173),
-    [anon_sym___fastcall] = ACTIONS(1173),
-    [anon_sym___thiscall] = ACTIONS(1173),
-    [anon_sym___vectorcall] = ACTIONS(1173),
-    [anon_sym_LBRACE] = ACTIONS(1175),
-    [anon_sym_RBRACE] = ACTIONS(1175),
-    [anon_sym_signed] = ACTIONS(1173),
-    [anon_sym_unsigned] = ACTIONS(1173),
-    [anon_sym_long] = ACTIONS(1173),
-    [anon_sym_short] = ACTIONS(1173),
-    [anon_sym_static] = ACTIONS(1173),
-    [anon_sym_auto] = ACTIONS(1173),
-    [anon_sym_register] = ACTIONS(1173),
-    [anon_sym_inline] = ACTIONS(1173),
-    [anon_sym___inline] = ACTIONS(1173),
-    [anon_sym___inline__] = ACTIONS(1173),
-    [anon_sym___forceinline] = ACTIONS(1173),
-    [anon_sym_thread_local] = ACTIONS(1173),
-    [anon_sym___thread] = ACTIONS(1173),
-    [anon_sym_const] = ACTIONS(1173),
-    [anon_sym_constexpr] = ACTIONS(1173),
-    [anon_sym_volatile] = ACTIONS(1173),
-    [anon_sym_restrict] = ACTIONS(1173),
-    [anon_sym___restrict__] = ACTIONS(1173),
-    [anon_sym__Atomic] = ACTIONS(1173),
-    [anon_sym__Noreturn] = ACTIONS(1173),
-    [anon_sym_noreturn] = ACTIONS(1173),
-    [anon_sym__Nonnull] = ACTIONS(1173),
-    [anon_sym_alignas] = ACTIONS(1173),
-    [anon_sym__Alignas] = ACTIONS(1173),
-    [sym_primitive_type] = ACTIONS(1173),
-    [anon_sym_enum] = ACTIONS(1173),
-    [anon_sym_struct] = ACTIONS(1173),
-    [anon_sym_union] = ACTIONS(1173),
-    [anon_sym_if] = ACTIONS(1173),
-    [anon_sym_else] = ACTIONS(1173),
-    [anon_sym_switch] = ACTIONS(1173),
-    [anon_sym_case] = ACTIONS(1173),
-    [anon_sym_default] = ACTIONS(1173),
-    [anon_sym_while] = ACTIONS(1173),
-    [anon_sym_do] = ACTIONS(1173),
-    [anon_sym_for] = ACTIONS(1173),
-    [anon_sym_return] = ACTIONS(1173),
-    [anon_sym_break] = ACTIONS(1173),
-    [anon_sym_continue] = ACTIONS(1173),
-    [anon_sym_goto] = ACTIONS(1173),
-    [anon_sym___try] = ACTIONS(1173),
-    [anon_sym___leave] = ACTIONS(1173),
-    [anon_sym_DASH_DASH] = ACTIONS(1175),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1175),
-    [anon_sym_sizeof] = ACTIONS(1173),
-    [anon_sym___alignof__] = ACTIONS(1173),
-    [anon_sym___alignof] = ACTIONS(1173),
-    [anon_sym__alignof] = ACTIONS(1173),
-    [anon_sym_alignof] = ACTIONS(1173),
-    [anon_sym__Alignof] = ACTIONS(1173),
-    [anon_sym_offsetof] = ACTIONS(1173),
-    [anon_sym__Generic] = ACTIONS(1173),
-    [anon_sym_asm] = ACTIONS(1173),
-    [anon_sym___asm__] = ACTIONS(1173),
-    [anon_sym___asm] = ACTIONS(1173),
-    [sym_number_literal] = ACTIONS(1175),
-    [anon_sym_L_SQUOTE] = ACTIONS(1175),
-    [anon_sym_u_SQUOTE] = ACTIONS(1175),
-    [anon_sym_U_SQUOTE] = ACTIONS(1175),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1175),
-    [anon_sym_SQUOTE] = ACTIONS(1175),
-    [anon_sym_L_DQUOTE] = ACTIONS(1175),
-    [anon_sym_u_DQUOTE] = ACTIONS(1175),
-    [anon_sym_U_DQUOTE] = ACTIONS(1175),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1175),
-    [anon_sym_DQUOTE] = ACTIONS(1175),
-    [sym_true] = ACTIONS(1173),
-    [sym_false] = ACTIONS(1173),
-    [anon_sym_NULL] = ACTIONS(1173),
-    [anon_sym_nullptr] = ACTIONS(1173),
+    [sym_identifier] = ACTIONS(1242),
+    [aux_sym_preproc_include_token1] = ACTIONS(1242),
+    [aux_sym_preproc_def_token1] = ACTIONS(1242),
+    [aux_sym_preproc_if_token1] = ACTIONS(1242),
+    [aux_sym_preproc_if_token2] = ACTIONS(1242),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1242),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1242),
+    [sym_preproc_directive] = ACTIONS(1242),
+    [anon_sym_LPAREN2] = ACTIONS(1244),
+    [anon_sym_BANG] = ACTIONS(1244),
+    [anon_sym_TILDE] = ACTIONS(1244),
+    [anon_sym_DASH] = ACTIONS(1242),
+    [anon_sym_PLUS] = ACTIONS(1242),
+    [anon_sym_STAR] = ACTIONS(1244),
+    [anon_sym_AMP] = ACTIONS(1244),
+    [anon_sym_SEMI] = ACTIONS(1244),
+    [anon_sym___extension__] = ACTIONS(1242),
+    [anon_sym_typedef] = ACTIONS(1242),
+    [anon_sym_extern] = ACTIONS(1242),
+    [anon_sym___attribute__] = ACTIONS(1242),
+    [anon_sym___attribute] = ACTIONS(1242),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1244),
+    [anon_sym___declspec] = ACTIONS(1242),
+    [anon_sym___cdecl] = ACTIONS(1242),
+    [anon_sym___clrcall] = ACTIONS(1242),
+    [anon_sym___stdcall] = ACTIONS(1242),
+    [anon_sym___fastcall] = ACTIONS(1242),
+    [anon_sym___thiscall] = ACTIONS(1242),
+    [anon_sym___vectorcall] = ACTIONS(1242),
+    [anon_sym_LBRACE] = ACTIONS(1244),
+    [anon_sym_signed] = ACTIONS(1242),
+    [anon_sym_unsigned] = ACTIONS(1242),
+    [anon_sym_long] = ACTIONS(1242),
+    [anon_sym_short] = ACTIONS(1242),
+    [anon_sym_static] = ACTIONS(1242),
+    [anon_sym_auto] = ACTIONS(1242),
+    [anon_sym_register] = ACTIONS(1242),
+    [anon_sym_inline] = ACTIONS(1242),
+    [anon_sym___inline] = ACTIONS(1242),
+    [anon_sym___inline__] = ACTIONS(1242),
+    [anon_sym___forceinline] = ACTIONS(1242),
+    [anon_sym_thread_local] = ACTIONS(1242),
+    [anon_sym___thread] = ACTIONS(1242),
+    [anon_sym_const] = ACTIONS(1242),
+    [anon_sym_constexpr] = ACTIONS(1242),
+    [anon_sym_volatile] = ACTIONS(1242),
+    [anon_sym_restrict] = ACTIONS(1242),
+    [anon_sym___restrict__] = ACTIONS(1242),
+    [anon_sym__Atomic] = ACTIONS(1242),
+    [anon_sym__Noreturn] = ACTIONS(1242),
+    [anon_sym_noreturn] = ACTIONS(1242),
+    [anon_sym__Nonnull] = ACTIONS(1242),
+    [anon_sym_alignas] = ACTIONS(1242),
+    [anon_sym__Alignas] = ACTIONS(1242),
+    [sym_primitive_type] = ACTIONS(1242),
+    [anon_sym_enum] = ACTIONS(1242),
+    [anon_sym_struct] = ACTIONS(1242),
+    [anon_sym_union] = ACTIONS(1242),
+    [anon_sym_if] = ACTIONS(1242),
+    [anon_sym_else] = ACTIONS(1242),
+    [anon_sym_switch] = ACTIONS(1242),
+    [anon_sym_case] = ACTIONS(1242),
+    [anon_sym_default] = ACTIONS(1242),
+    [anon_sym_while] = ACTIONS(1242),
+    [anon_sym_do] = ACTIONS(1242),
+    [anon_sym_for] = ACTIONS(1242),
+    [anon_sym_return] = ACTIONS(1242),
+    [anon_sym_break] = ACTIONS(1242),
+    [anon_sym_continue] = ACTIONS(1242),
+    [anon_sym_goto] = ACTIONS(1242),
+    [anon_sym___try] = ACTIONS(1242),
+    [anon_sym___leave] = ACTIONS(1242),
+    [anon_sym_DASH_DASH] = ACTIONS(1244),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1244),
+    [anon_sym_sizeof] = ACTIONS(1242),
+    [anon_sym___alignof__] = ACTIONS(1242),
+    [anon_sym___alignof] = ACTIONS(1242),
+    [anon_sym__alignof] = ACTIONS(1242),
+    [anon_sym_alignof] = ACTIONS(1242),
+    [anon_sym__Alignof] = ACTIONS(1242),
+    [anon_sym_offsetof] = ACTIONS(1242),
+    [anon_sym__Generic] = ACTIONS(1242),
+    [anon_sym_asm] = ACTIONS(1242),
+    [anon_sym___asm__] = ACTIONS(1242),
+    [anon_sym___asm] = ACTIONS(1242),
+    [sym_number_literal] = ACTIONS(1244),
+    [anon_sym_L_SQUOTE] = ACTIONS(1244),
+    [anon_sym_u_SQUOTE] = ACTIONS(1244),
+    [anon_sym_U_SQUOTE] = ACTIONS(1244),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1244),
+    [anon_sym_SQUOTE] = ACTIONS(1244),
+    [anon_sym_L_DQUOTE] = ACTIONS(1244),
+    [anon_sym_u_DQUOTE] = ACTIONS(1244),
+    [anon_sym_U_DQUOTE] = ACTIONS(1244),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1244),
+    [anon_sym_DQUOTE] = ACTIONS(1244),
+    [sym_true] = ACTIONS(1242),
+    [sym_false] = ACTIONS(1242),
+    [anon_sym_NULL] = ACTIONS(1242),
+    [anon_sym_nullptr] = ACTIONS(1242),
     [sym_comment] = ACTIONS(3),
   },
   [184] = {
-    [sym_identifier] = ACTIONS(1177),
-    [aux_sym_preproc_include_token1] = ACTIONS(1177),
-    [aux_sym_preproc_def_token1] = ACTIONS(1177),
-    [aux_sym_preproc_if_token1] = ACTIONS(1177),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1177),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1177),
-    [sym_preproc_directive] = ACTIONS(1177),
-    [anon_sym_LPAREN2] = ACTIONS(1179),
-    [anon_sym_BANG] = ACTIONS(1179),
-    [anon_sym_TILDE] = ACTIONS(1179),
-    [anon_sym_DASH] = ACTIONS(1177),
-    [anon_sym_PLUS] = ACTIONS(1177),
-    [anon_sym_STAR] = ACTIONS(1179),
-    [anon_sym_AMP] = ACTIONS(1179),
-    [anon_sym_SEMI] = ACTIONS(1179),
-    [anon_sym___extension__] = ACTIONS(1177),
-    [anon_sym_typedef] = ACTIONS(1177),
-    [anon_sym_extern] = ACTIONS(1177),
-    [anon_sym___attribute__] = ACTIONS(1177),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1179),
-    [anon_sym___declspec] = ACTIONS(1177),
-    [anon_sym___cdecl] = ACTIONS(1177),
-    [anon_sym___clrcall] = ACTIONS(1177),
-    [anon_sym___stdcall] = ACTIONS(1177),
-    [anon_sym___fastcall] = ACTIONS(1177),
-    [anon_sym___thiscall] = ACTIONS(1177),
-    [anon_sym___vectorcall] = ACTIONS(1177),
-    [anon_sym_LBRACE] = ACTIONS(1179),
-    [anon_sym_RBRACE] = ACTIONS(1179),
-    [anon_sym_signed] = ACTIONS(1177),
-    [anon_sym_unsigned] = ACTIONS(1177),
-    [anon_sym_long] = ACTIONS(1177),
-    [anon_sym_short] = ACTIONS(1177),
-    [anon_sym_static] = ACTIONS(1177),
-    [anon_sym_auto] = ACTIONS(1177),
-    [anon_sym_register] = ACTIONS(1177),
-    [anon_sym_inline] = ACTIONS(1177),
-    [anon_sym___inline] = ACTIONS(1177),
-    [anon_sym___inline__] = ACTIONS(1177),
-    [anon_sym___forceinline] = ACTIONS(1177),
-    [anon_sym_thread_local] = ACTIONS(1177),
-    [anon_sym___thread] = ACTIONS(1177),
-    [anon_sym_const] = ACTIONS(1177),
-    [anon_sym_constexpr] = ACTIONS(1177),
-    [anon_sym_volatile] = ACTIONS(1177),
-    [anon_sym_restrict] = ACTIONS(1177),
-    [anon_sym___restrict__] = ACTIONS(1177),
-    [anon_sym__Atomic] = ACTIONS(1177),
-    [anon_sym__Noreturn] = ACTIONS(1177),
-    [anon_sym_noreturn] = ACTIONS(1177),
-    [anon_sym__Nonnull] = ACTIONS(1177),
-    [anon_sym_alignas] = ACTIONS(1177),
-    [anon_sym__Alignas] = ACTIONS(1177),
-    [sym_primitive_type] = ACTIONS(1177),
-    [anon_sym_enum] = ACTIONS(1177),
-    [anon_sym_struct] = ACTIONS(1177),
-    [anon_sym_union] = ACTIONS(1177),
-    [anon_sym_if] = ACTIONS(1177),
-    [anon_sym_else] = ACTIONS(1177),
-    [anon_sym_switch] = ACTIONS(1177),
-    [anon_sym_case] = ACTIONS(1177),
-    [anon_sym_default] = ACTIONS(1177),
-    [anon_sym_while] = ACTIONS(1177),
-    [anon_sym_do] = ACTIONS(1177),
-    [anon_sym_for] = ACTIONS(1177),
-    [anon_sym_return] = ACTIONS(1177),
-    [anon_sym_break] = ACTIONS(1177),
-    [anon_sym_continue] = ACTIONS(1177),
-    [anon_sym_goto] = ACTIONS(1177),
-    [anon_sym___try] = ACTIONS(1177),
-    [anon_sym___leave] = ACTIONS(1177),
-    [anon_sym_DASH_DASH] = ACTIONS(1179),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1179),
-    [anon_sym_sizeof] = ACTIONS(1177),
-    [anon_sym___alignof__] = ACTIONS(1177),
-    [anon_sym___alignof] = ACTIONS(1177),
-    [anon_sym__alignof] = ACTIONS(1177),
-    [anon_sym_alignof] = ACTIONS(1177),
-    [anon_sym__Alignof] = ACTIONS(1177),
-    [anon_sym_offsetof] = ACTIONS(1177),
-    [anon_sym__Generic] = ACTIONS(1177),
-    [anon_sym_asm] = ACTIONS(1177),
-    [anon_sym___asm__] = ACTIONS(1177),
-    [anon_sym___asm] = ACTIONS(1177),
-    [sym_number_literal] = ACTIONS(1179),
-    [anon_sym_L_SQUOTE] = ACTIONS(1179),
-    [anon_sym_u_SQUOTE] = ACTIONS(1179),
-    [anon_sym_U_SQUOTE] = ACTIONS(1179),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1179),
-    [anon_sym_SQUOTE] = ACTIONS(1179),
-    [anon_sym_L_DQUOTE] = ACTIONS(1179),
-    [anon_sym_u_DQUOTE] = ACTIONS(1179),
-    [anon_sym_U_DQUOTE] = ACTIONS(1179),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1179),
-    [anon_sym_DQUOTE] = ACTIONS(1179),
-    [sym_true] = ACTIONS(1177),
-    [sym_false] = ACTIONS(1177),
-    [anon_sym_NULL] = ACTIONS(1177),
-    [anon_sym_nullptr] = ACTIONS(1177),
+    [sym_identifier] = ACTIONS(1246),
+    [aux_sym_preproc_include_token1] = ACTIONS(1246),
+    [aux_sym_preproc_def_token1] = ACTIONS(1246),
+    [aux_sym_preproc_if_token1] = ACTIONS(1246),
+    [aux_sym_preproc_if_token2] = ACTIONS(1246),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1246),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1246),
+    [sym_preproc_directive] = ACTIONS(1246),
+    [anon_sym_LPAREN2] = ACTIONS(1248),
+    [anon_sym_BANG] = ACTIONS(1248),
+    [anon_sym_TILDE] = ACTIONS(1248),
+    [anon_sym_DASH] = ACTIONS(1246),
+    [anon_sym_PLUS] = ACTIONS(1246),
+    [anon_sym_STAR] = ACTIONS(1248),
+    [anon_sym_AMP] = ACTIONS(1248),
+    [anon_sym_SEMI] = ACTIONS(1248),
+    [anon_sym___extension__] = ACTIONS(1246),
+    [anon_sym_typedef] = ACTIONS(1246),
+    [anon_sym_extern] = ACTIONS(1246),
+    [anon_sym___attribute__] = ACTIONS(1246),
+    [anon_sym___attribute] = ACTIONS(1246),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1248),
+    [anon_sym___declspec] = ACTIONS(1246),
+    [anon_sym___cdecl] = ACTIONS(1246),
+    [anon_sym___clrcall] = ACTIONS(1246),
+    [anon_sym___stdcall] = ACTIONS(1246),
+    [anon_sym___fastcall] = ACTIONS(1246),
+    [anon_sym___thiscall] = ACTIONS(1246),
+    [anon_sym___vectorcall] = ACTIONS(1246),
+    [anon_sym_LBRACE] = ACTIONS(1248),
+    [anon_sym_signed] = ACTIONS(1246),
+    [anon_sym_unsigned] = ACTIONS(1246),
+    [anon_sym_long] = ACTIONS(1246),
+    [anon_sym_short] = ACTIONS(1246),
+    [anon_sym_static] = ACTIONS(1246),
+    [anon_sym_auto] = ACTIONS(1246),
+    [anon_sym_register] = ACTIONS(1246),
+    [anon_sym_inline] = ACTIONS(1246),
+    [anon_sym___inline] = ACTIONS(1246),
+    [anon_sym___inline__] = ACTIONS(1246),
+    [anon_sym___forceinline] = ACTIONS(1246),
+    [anon_sym_thread_local] = ACTIONS(1246),
+    [anon_sym___thread] = ACTIONS(1246),
+    [anon_sym_const] = ACTIONS(1246),
+    [anon_sym_constexpr] = ACTIONS(1246),
+    [anon_sym_volatile] = ACTIONS(1246),
+    [anon_sym_restrict] = ACTIONS(1246),
+    [anon_sym___restrict__] = ACTIONS(1246),
+    [anon_sym__Atomic] = ACTIONS(1246),
+    [anon_sym__Noreturn] = ACTIONS(1246),
+    [anon_sym_noreturn] = ACTIONS(1246),
+    [anon_sym__Nonnull] = ACTIONS(1246),
+    [anon_sym_alignas] = ACTIONS(1246),
+    [anon_sym__Alignas] = ACTIONS(1246),
+    [sym_primitive_type] = ACTIONS(1246),
+    [anon_sym_enum] = ACTIONS(1246),
+    [anon_sym_struct] = ACTIONS(1246),
+    [anon_sym_union] = ACTIONS(1246),
+    [anon_sym_if] = ACTIONS(1246),
+    [anon_sym_else] = ACTIONS(1246),
+    [anon_sym_switch] = ACTIONS(1246),
+    [anon_sym_case] = ACTIONS(1246),
+    [anon_sym_default] = ACTIONS(1246),
+    [anon_sym_while] = ACTIONS(1246),
+    [anon_sym_do] = ACTIONS(1246),
+    [anon_sym_for] = ACTIONS(1246),
+    [anon_sym_return] = ACTIONS(1246),
+    [anon_sym_break] = ACTIONS(1246),
+    [anon_sym_continue] = ACTIONS(1246),
+    [anon_sym_goto] = ACTIONS(1246),
+    [anon_sym___try] = ACTIONS(1246),
+    [anon_sym___leave] = ACTIONS(1246),
+    [anon_sym_DASH_DASH] = ACTIONS(1248),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1248),
+    [anon_sym_sizeof] = ACTIONS(1246),
+    [anon_sym___alignof__] = ACTIONS(1246),
+    [anon_sym___alignof] = ACTIONS(1246),
+    [anon_sym__alignof] = ACTIONS(1246),
+    [anon_sym_alignof] = ACTIONS(1246),
+    [anon_sym__Alignof] = ACTIONS(1246),
+    [anon_sym_offsetof] = ACTIONS(1246),
+    [anon_sym__Generic] = ACTIONS(1246),
+    [anon_sym_asm] = ACTIONS(1246),
+    [anon_sym___asm__] = ACTIONS(1246),
+    [anon_sym___asm] = ACTIONS(1246),
+    [sym_number_literal] = ACTIONS(1248),
+    [anon_sym_L_SQUOTE] = ACTIONS(1248),
+    [anon_sym_u_SQUOTE] = ACTIONS(1248),
+    [anon_sym_U_SQUOTE] = ACTIONS(1248),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1248),
+    [anon_sym_SQUOTE] = ACTIONS(1248),
+    [anon_sym_L_DQUOTE] = ACTIONS(1248),
+    [anon_sym_u_DQUOTE] = ACTIONS(1248),
+    [anon_sym_U_DQUOTE] = ACTIONS(1248),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1248),
+    [anon_sym_DQUOTE] = ACTIONS(1248),
+    [sym_true] = ACTIONS(1246),
+    [sym_false] = ACTIONS(1246),
+    [anon_sym_NULL] = ACTIONS(1246),
+    [anon_sym_nullptr] = ACTIONS(1246),
     [sym_comment] = ACTIONS(3),
   },
   [185] = {
-    [sym_identifier] = ACTIONS(1181),
-    [aux_sym_preproc_include_token1] = ACTIONS(1181),
-    [aux_sym_preproc_def_token1] = ACTIONS(1181),
-    [aux_sym_preproc_if_token1] = ACTIONS(1181),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1181),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1181),
-    [sym_preproc_directive] = ACTIONS(1181),
-    [anon_sym_LPAREN2] = ACTIONS(1183),
-    [anon_sym_BANG] = ACTIONS(1183),
-    [anon_sym_TILDE] = ACTIONS(1183),
-    [anon_sym_DASH] = ACTIONS(1181),
-    [anon_sym_PLUS] = ACTIONS(1181),
-    [anon_sym_STAR] = ACTIONS(1183),
-    [anon_sym_AMP] = ACTIONS(1183),
-    [anon_sym_SEMI] = ACTIONS(1183),
-    [anon_sym___extension__] = ACTIONS(1181),
-    [anon_sym_typedef] = ACTIONS(1181),
-    [anon_sym_extern] = ACTIONS(1181),
-    [anon_sym___attribute__] = ACTIONS(1181),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1183),
-    [anon_sym___declspec] = ACTIONS(1181),
-    [anon_sym___cdecl] = ACTIONS(1181),
-    [anon_sym___clrcall] = ACTIONS(1181),
-    [anon_sym___stdcall] = ACTIONS(1181),
-    [anon_sym___fastcall] = ACTIONS(1181),
-    [anon_sym___thiscall] = ACTIONS(1181),
-    [anon_sym___vectorcall] = ACTIONS(1181),
-    [anon_sym_LBRACE] = ACTIONS(1183),
-    [anon_sym_RBRACE] = ACTIONS(1183),
-    [anon_sym_signed] = ACTIONS(1181),
-    [anon_sym_unsigned] = ACTIONS(1181),
-    [anon_sym_long] = ACTIONS(1181),
-    [anon_sym_short] = ACTIONS(1181),
-    [anon_sym_static] = ACTIONS(1181),
-    [anon_sym_auto] = ACTIONS(1181),
-    [anon_sym_register] = ACTIONS(1181),
-    [anon_sym_inline] = ACTIONS(1181),
-    [anon_sym___inline] = ACTIONS(1181),
-    [anon_sym___inline__] = ACTIONS(1181),
-    [anon_sym___forceinline] = ACTIONS(1181),
-    [anon_sym_thread_local] = ACTIONS(1181),
-    [anon_sym___thread] = ACTIONS(1181),
-    [anon_sym_const] = ACTIONS(1181),
-    [anon_sym_constexpr] = ACTIONS(1181),
-    [anon_sym_volatile] = ACTIONS(1181),
-    [anon_sym_restrict] = ACTIONS(1181),
-    [anon_sym___restrict__] = ACTIONS(1181),
-    [anon_sym__Atomic] = ACTIONS(1181),
-    [anon_sym__Noreturn] = ACTIONS(1181),
-    [anon_sym_noreturn] = ACTIONS(1181),
-    [anon_sym__Nonnull] = ACTIONS(1181),
-    [anon_sym_alignas] = ACTIONS(1181),
-    [anon_sym__Alignas] = ACTIONS(1181),
-    [sym_primitive_type] = ACTIONS(1181),
-    [anon_sym_enum] = ACTIONS(1181),
-    [anon_sym_struct] = ACTIONS(1181),
-    [anon_sym_union] = ACTIONS(1181),
-    [anon_sym_if] = ACTIONS(1181),
-    [anon_sym_else] = ACTIONS(1181),
-    [anon_sym_switch] = ACTIONS(1181),
-    [anon_sym_case] = ACTIONS(1181),
-    [anon_sym_default] = ACTIONS(1181),
-    [anon_sym_while] = ACTIONS(1181),
-    [anon_sym_do] = ACTIONS(1181),
-    [anon_sym_for] = ACTIONS(1181),
-    [anon_sym_return] = ACTIONS(1181),
-    [anon_sym_break] = ACTIONS(1181),
-    [anon_sym_continue] = ACTIONS(1181),
-    [anon_sym_goto] = ACTIONS(1181),
-    [anon_sym___try] = ACTIONS(1181),
-    [anon_sym___leave] = ACTIONS(1181),
-    [anon_sym_DASH_DASH] = ACTIONS(1183),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1183),
-    [anon_sym_sizeof] = ACTIONS(1181),
-    [anon_sym___alignof__] = ACTIONS(1181),
-    [anon_sym___alignof] = ACTIONS(1181),
-    [anon_sym__alignof] = ACTIONS(1181),
-    [anon_sym_alignof] = ACTIONS(1181),
-    [anon_sym__Alignof] = ACTIONS(1181),
-    [anon_sym_offsetof] = ACTIONS(1181),
-    [anon_sym__Generic] = ACTIONS(1181),
-    [anon_sym_asm] = ACTIONS(1181),
-    [anon_sym___asm__] = ACTIONS(1181),
-    [anon_sym___asm] = ACTIONS(1181),
-    [sym_number_literal] = ACTIONS(1183),
-    [anon_sym_L_SQUOTE] = ACTIONS(1183),
-    [anon_sym_u_SQUOTE] = ACTIONS(1183),
-    [anon_sym_U_SQUOTE] = ACTIONS(1183),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1183),
-    [anon_sym_SQUOTE] = ACTIONS(1183),
-    [anon_sym_L_DQUOTE] = ACTIONS(1183),
-    [anon_sym_u_DQUOTE] = ACTIONS(1183),
-    [anon_sym_U_DQUOTE] = ACTIONS(1183),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1183),
-    [anon_sym_DQUOTE] = ACTIONS(1183),
-    [sym_true] = ACTIONS(1181),
-    [sym_false] = ACTIONS(1181),
-    [anon_sym_NULL] = ACTIONS(1181),
-    [anon_sym_nullptr] = ACTIONS(1181),
+    [sym_identifier] = ACTIONS(1250),
+    [aux_sym_preproc_include_token1] = ACTIONS(1250),
+    [aux_sym_preproc_def_token1] = ACTIONS(1250),
+    [aux_sym_preproc_if_token1] = ACTIONS(1250),
+    [aux_sym_preproc_if_token2] = ACTIONS(1250),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1250),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1250),
+    [sym_preproc_directive] = ACTIONS(1250),
+    [anon_sym_LPAREN2] = ACTIONS(1252),
+    [anon_sym_BANG] = ACTIONS(1252),
+    [anon_sym_TILDE] = ACTIONS(1252),
+    [anon_sym_DASH] = ACTIONS(1250),
+    [anon_sym_PLUS] = ACTIONS(1250),
+    [anon_sym_STAR] = ACTIONS(1252),
+    [anon_sym_AMP] = ACTIONS(1252),
+    [anon_sym_SEMI] = ACTIONS(1252),
+    [anon_sym___extension__] = ACTIONS(1250),
+    [anon_sym_typedef] = ACTIONS(1250),
+    [anon_sym_extern] = ACTIONS(1250),
+    [anon_sym___attribute__] = ACTIONS(1250),
+    [anon_sym___attribute] = ACTIONS(1250),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1252),
+    [anon_sym___declspec] = ACTIONS(1250),
+    [anon_sym___cdecl] = ACTIONS(1250),
+    [anon_sym___clrcall] = ACTIONS(1250),
+    [anon_sym___stdcall] = ACTIONS(1250),
+    [anon_sym___fastcall] = ACTIONS(1250),
+    [anon_sym___thiscall] = ACTIONS(1250),
+    [anon_sym___vectorcall] = ACTIONS(1250),
+    [anon_sym_LBRACE] = ACTIONS(1252),
+    [anon_sym_signed] = ACTIONS(1250),
+    [anon_sym_unsigned] = ACTIONS(1250),
+    [anon_sym_long] = ACTIONS(1250),
+    [anon_sym_short] = ACTIONS(1250),
+    [anon_sym_static] = ACTIONS(1250),
+    [anon_sym_auto] = ACTIONS(1250),
+    [anon_sym_register] = ACTIONS(1250),
+    [anon_sym_inline] = ACTIONS(1250),
+    [anon_sym___inline] = ACTIONS(1250),
+    [anon_sym___inline__] = ACTIONS(1250),
+    [anon_sym___forceinline] = ACTIONS(1250),
+    [anon_sym_thread_local] = ACTIONS(1250),
+    [anon_sym___thread] = ACTIONS(1250),
+    [anon_sym_const] = ACTIONS(1250),
+    [anon_sym_constexpr] = ACTIONS(1250),
+    [anon_sym_volatile] = ACTIONS(1250),
+    [anon_sym_restrict] = ACTIONS(1250),
+    [anon_sym___restrict__] = ACTIONS(1250),
+    [anon_sym__Atomic] = ACTIONS(1250),
+    [anon_sym__Noreturn] = ACTIONS(1250),
+    [anon_sym_noreturn] = ACTIONS(1250),
+    [anon_sym__Nonnull] = ACTIONS(1250),
+    [anon_sym_alignas] = ACTIONS(1250),
+    [anon_sym__Alignas] = ACTIONS(1250),
+    [sym_primitive_type] = ACTIONS(1250),
+    [anon_sym_enum] = ACTIONS(1250),
+    [anon_sym_struct] = ACTIONS(1250),
+    [anon_sym_union] = ACTIONS(1250),
+    [anon_sym_if] = ACTIONS(1250),
+    [anon_sym_else] = ACTIONS(1250),
+    [anon_sym_switch] = ACTIONS(1250),
+    [anon_sym_case] = ACTIONS(1250),
+    [anon_sym_default] = ACTIONS(1250),
+    [anon_sym_while] = ACTIONS(1250),
+    [anon_sym_do] = ACTIONS(1250),
+    [anon_sym_for] = ACTIONS(1250),
+    [anon_sym_return] = ACTIONS(1250),
+    [anon_sym_break] = ACTIONS(1250),
+    [anon_sym_continue] = ACTIONS(1250),
+    [anon_sym_goto] = ACTIONS(1250),
+    [anon_sym___try] = ACTIONS(1250),
+    [anon_sym___leave] = ACTIONS(1250),
+    [anon_sym_DASH_DASH] = ACTIONS(1252),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1252),
+    [anon_sym_sizeof] = ACTIONS(1250),
+    [anon_sym___alignof__] = ACTIONS(1250),
+    [anon_sym___alignof] = ACTIONS(1250),
+    [anon_sym__alignof] = ACTIONS(1250),
+    [anon_sym_alignof] = ACTIONS(1250),
+    [anon_sym__Alignof] = ACTIONS(1250),
+    [anon_sym_offsetof] = ACTIONS(1250),
+    [anon_sym__Generic] = ACTIONS(1250),
+    [anon_sym_asm] = ACTIONS(1250),
+    [anon_sym___asm__] = ACTIONS(1250),
+    [anon_sym___asm] = ACTIONS(1250),
+    [sym_number_literal] = ACTIONS(1252),
+    [anon_sym_L_SQUOTE] = ACTIONS(1252),
+    [anon_sym_u_SQUOTE] = ACTIONS(1252),
+    [anon_sym_U_SQUOTE] = ACTIONS(1252),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1252),
+    [anon_sym_SQUOTE] = ACTIONS(1252),
+    [anon_sym_L_DQUOTE] = ACTIONS(1252),
+    [anon_sym_u_DQUOTE] = ACTIONS(1252),
+    [anon_sym_U_DQUOTE] = ACTIONS(1252),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1252),
+    [anon_sym_DQUOTE] = ACTIONS(1252),
+    [sym_true] = ACTIONS(1250),
+    [sym_false] = ACTIONS(1250),
+    [anon_sym_NULL] = ACTIONS(1250),
+    [anon_sym_nullptr] = ACTIONS(1250),
     [sym_comment] = ACTIONS(3),
   },
   [186] = {
-    [sym_identifier] = ACTIONS(1185),
-    [aux_sym_preproc_include_token1] = ACTIONS(1185),
-    [aux_sym_preproc_def_token1] = ACTIONS(1185),
-    [aux_sym_preproc_if_token1] = ACTIONS(1185),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1185),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1185),
-    [sym_preproc_directive] = ACTIONS(1185),
-    [anon_sym_LPAREN2] = ACTIONS(1187),
-    [anon_sym_BANG] = ACTIONS(1187),
-    [anon_sym_TILDE] = ACTIONS(1187),
-    [anon_sym_DASH] = ACTIONS(1185),
-    [anon_sym_PLUS] = ACTIONS(1185),
-    [anon_sym_STAR] = ACTIONS(1187),
-    [anon_sym_AMP] = ACTIONS(1187),
-    [anon_sym_SEMI] = ACTIONS(1187),
-    [anon_sym___extension__] = ACTIONS(1185),
-    [anon_sym_typedef] = ACTIONS(1185),
-    [anon_sym_extern] = ACTIONS(1185),
-    [anon_sym___attribute__] = ACTIONS(1185),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1187),
-    [anon_sym___declspec] = ACTIONS(1185),
-    [anon_sym___cdecl] = ACTIONS(1185),
-    [anon_sym___clrcall] = ACTIONS(1185),
-    [anon_sym___stdcall] = ACTIONS(1185),
-    [anon_sym___fastcall] = ACTIONS(1185),
-    [anon_sym___thiscall] = ACTIONS(1185),
-    [anon_sym___vectorcall] = ACTIONS(1185),
-    [anon_sym_LBRACE] = ACTIONS(1187),
-    [anon_sym_RBRACE] = ACTIONS(1187),
-    [anon_sym_signed] = ACTIONS(1185),
-    [anon_sym_unsigned] = ACTIONS(1185),
-    [anon_sym_long] = ACTIONS(1185),
-    [anon_sym_short] = ACTIONS(1185),
-    [anon_sym_static] = ACTIONS(1185),
-    [anon_sym_auto] = ACTIONS(1185),
-    [anon_sym_register] = ACTIONS(1185),
-    [anon_sym_inline] = ACTIONS(1185),
-    [anon_sym___inline] = ACTIONS(1185),
-    [anon_sym___inline__] = ACTIONS(1185),
-    [anon_sym___forceinline] = ACTIONS(1185),
-    [anon_sym_thread_local] = ACTIONS(1185),
-    [anon_sym___thread] = ACTIONS(1185),
-    [anon_sym_const] = ACTIONS(1185),
-    [anon_sym_constexpr] = ACTIONS(1185),
-    [anon_sym_volatile] = ACTIONS(1185),
-    [anon_sym_restrict] = ACTIONS(1185),
-    [anon_sym___restrict__] = ACTIONS(1185),
-    [anon_sym__Atomic] = ACTIONS(1185),
-    [anon_sym__Noreturn] = ACTIONS(1185),
-    [anon_sym_noreturn] = ACTIONS(1185),
-    [anon_sym__Nonnull] = ACTIONS(1185),
-    [anon_sym_alignas] = ACTIONS(1185),
-    [anon_sym__Alignas] = ACTIONS(1185),
-    [sym_primitive_type] = ACTIONS(1185),
-    [anon_sym_enum] = ACTIONS(1185),
-    [anon_sym_struct] = ACTIONS(1185),
-    [anon_sym_union] = ACTIONS(1185),
-    [anon_sym_if] = ACTIONS(1185),
-    [anon_sym_else] = ACTIONS(1185),
-    [anon_sym_switch] = ACTIONS(1185),
-    [anon_sym_case] = ACTIONS(1185),
-    [anon_sym_default] = ACTIONS(1185),
-    [anon_sym_while] = ACTIONS(1185),
-    [anon_sym_do] = ACTIONS(1185),
-    [anon_sym_for] = ACTIONS(1185),
-    [anon_sym_return] = ACTIONS(1185),
-    [anon_sym_break] = ACTIONS(1185),
-    [anon_sym_continue] = ACTIONS(1185),
-    [anon_sym_goto] = ACTIONS(1185),
-    [anon_sym___try] = ACTIONS(1185),
-    [anon_sym___leave] = ACTIONS(1185),
-    [anon_sym_DASH_DASH] = ACTIONS(1187),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1187),
-    [anon_sym_sizeof] = ACTIONS(1185),
-    [anon_sym___alignof__] = ACTIONS(1185),
-    [anon_sym___alignof] = ACTIONS(1185),
-    [anon_sym__alignof] = ACTIONS(1185),
-    [anon_sym_alignof] = ACTIONS(1185),
-    [anon_sym__Alignof] = ACTIONS(1185),
-    [anon_sym_offsetof] = ACTIONS(1185),
-    [anon_sym__Generic] = ACTIONS(1185),
-    [anon_sym_asm] = ACTIONS(1185),
-    [anon_sym___asm__] = ACTIONS(1185),
-    [anon_sym___asm] = ACTIONS(1185),
-    [sym_number_literal] = ACTIONS(1187),
-    [anon_sym_L_SQUOTE] = ACTIONS(1187),
-    [anon_sym_u_SQUOTE] = ACTIONS(1187),
-    [anon_sym_U_SQUOTE] = ACTIONS(1187),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1187),
-    [anon_sym_SQUOTE] = ACTIONS(1187),
-    [anon_sym_L_DQUOTE] = ACTIONS(1187),
-    [anon_sym_u_DQUOTE] = ACTIONS(1187),
-    [anon_sym_U_DQUOTE] = ACTIONS(1187),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1187),
-    [anon_sym_DQUOTE] = ACTIONS(1187),
-    [sym_true] = ACTIONS(1185),
-    [sym_false] = ACTIONS(1185),
-    [anon_sym_NULL] = ACTIONS(1185),
-    [anon_sym_nullptr] = ACTIONS(1185),
+    [sym_identifier] = ACTIONS(1258),
+    [aux_sym_preproc_include_token1] = ACTIONS(1258),
+    [aux_sym_preproc_def_token1] = ACTIONS(1258),
+    [aux_sym_preproc_if_token1] = ACTIONS(1258),
+    [aux_sym_preproc_if_token2] = ACTIONS(1258),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1258),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1258),
+    [sym_preproc_directive] = ACTIONS(1258),
+    [anon_sym_LPAREN2] = ACTIONS(1260),
+    [anon_sym_BANG] = ACTIONS(1260),
+    [anon_sym_TILDE] = ACTIONS(1260),
+    [anon_sym_DASH] = ACTIONS(1258),
+    [anon_sym_PLUS] = ACTIONS(1258),
+    [anon_sym_STAR] = ACTIONS(1260),
+    [anon_sym_AMP] = ACTIONS(1260),
+    [anon_sym_SEMI] = ACTIONS(1260),
+    [anon_sym___extension__] = ACTIONS(1258),
+    [anon_sym_typedef] = ACTIONS(1258),
+    [anon_sym_extern] = ACTIONS(1258),
+    [anon_sym___attribute__] = ACTIONS(1258),
+    [anon_sym___attribute] = ACTIONS(1258),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1260),
+    [anon_sym___declspec] = ACTIONS(1258),
+    [anon_sym___cdecl] = ACTIONS(1258),
+    [anon_sym___clrcall] = ACTIONS(1258),
+    [anon_sym___stdcall] = ACTIONS(1258),
+    [anon_sym___fastcall] = ACTIONS(1258),
+    [anon_sym___thiscall] = ACTIONS(1258),
+    [anon_sym___vectorcall] = ACTIONS(1258),
+    [anon_sym_LBRACE] = ACTIONS(1260),
+    [anon_sym_signed] = ACTIONS(1258),
+    [anon_sym_unsigned] = ACTIONS(1258),
+    [anon_sym_long] = ACTIONS(1258),
+    [anon_sym_short] = ACTIONS(1258),
+    [anon_sym_static] = ACTIONS(1258),
+    [anon_sym_auto] = ACTIONS(1258),
+    [anon_sym_register] = ACTIONS(1258),
+    [anon_sym_inline] = ACTIONS(1258),
+    [anon_sym___inline] = ACTIONS(1258),
+    [anon_sym___inline__] = ACTIONS(1258),
+    [anon_sym___forceinline] = ACTIONS(1258),
+    [anon_sym_thread_local] = ACTIONS(1258),
+    [anon_sym___thread] = ACTIONS(1258),
+    [anon_sym_const] = ACTIONS(1258),
+    [anon_sym_constexpr] = ACTIONS(1258),
+    [anon_sym_volatile] = ACTIONS(1258),
+    [anon_sym_restrict] = ACTIONS(1258),
+    [anon_sym___restrict__] = ACTIONS(1258),
+    [anon_sym__Atomic] = ACTIONS(1258),
+    [anon_sym__Noreturn] = ACTIONS(1258),
+    [anon_sym_noreturn] = ACTIONS(1258),
+    [anon_sym__Nonnull] = ACTIONS(1258),
+    [anon_sym_alignas] = ACTIONS(1258),
+    [anon_sym__Alignas] = ACTIONS(1258),
+    [sym_primitive_type] = ACTIONS(1258),
+    [anon_sym_enum] = ACTIONS(1258),
+    [anon_sym_struct] = ACTIONS(1258),
+    [anon_sym_union] = ACTIONS(1258),
+    [anon_sym_if] = ACTIONS(1258),
+    [anon_sym_else] = ACTIONS(1258),
+    [anon_sym_switch] = ACTIONS(1258),
+    [anon_sym_case] = ACTIONS(1258),
+    [anon_sym_default] = ACTIONS(1258),
+    [anon_sym_while] = ACTIONS(1258),
+    [anon_sym_do] = ACTIONS(1258),
+    [anon_sym_for] = ACTIONS(1258),
+    [anon_sym_return] = ACTIONS(1258),
+    [anon_sym_break] = ACTIONS(1258),
+    [anon_sym_continue] = ACTIONS(1258),
+    [anon_sym_goto] = ACTIONS(1258),
+    [anon_sym___try] = ACTIONS(1258),
+    [anon_sym___leave] = ACTIONS(1258),
+    [anon_sym_DASH_DASH] = ACTIONS(1260),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1260),
+    [anon_sym_sizeof] = ACTIONS(1258),
+    [anon_sym___alignof__] = ACTIONS(1258),
+    [anon_sym___alignof] = ACTIONS(1258),
+    [anon_sym__alignof] = ACTIONS(1258),
+    [anon_sym_alignof] = ACTIONS(1258),
+    [anon_sym__Alignof] = ACTIONS(1258),
+    [anon_sym_offsetof] = ACTIONS(1258),
+    [anon_sym__Generic] = ACTIONS(1258),
+    [anon_sym_asm] = ACTIONS(1258),
+    [anon_sym___asm__] = ACTIONS(1258),
+    [anon_sym___asm] = ACTIONS(1258),
+    [sym_number_literal] = ACTIONS(1260),
+    [anon_sym_L_SQUOTE] = ACTIONS(1260),
+    [anon_sym_u_SQUOTE] = ACTIONS(1260),
+    [anon_sym_U_SQUOTE] = ACTIONS(1260),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1260),
+    [anon_sym_SQUOTE] = ACTIONS(1260),
+    [anon_sym_L_DQUOTE] = ACTIONS(1260),
+    [anon_sym_u_DQUOTE] = ACTIONS(1260),
+    [anon_sym_U_DQUOTE] = ACTIONS(1260),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1260),
+    [anon_sym_DQUOTE] = ACTIONS(1260),
+    [sym_true] = ACTIONS(1258),
+    [sym_false] = ACTIONS(1258),
+    [anon_sym_NULL] = ACTIONS(1258),
+    [anon_sym_nullptr] = ACTIONS(1258),
     [sym_comment] = ACTIONS(3),
   },
   [187] = {
-    [sym_identifier] = ACTIONS(1253),
-    [aux_sym_preproc_include_token1] = ACTIONS(1253),
-    [aux_sym_preproc_def_token1] = ACTIONS(1253),
-    [aux_sym_preproc_if_token1] = ACTIONS(1253),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1253),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1253),
-    [sym_preproc_directive] = ACTIONS(1253),
-    [anon_sym_LPAREN2] = ACTIONS(1255),
-    [anon_sym_BANG] = ACTIONS(1255),
-    [anon_sym_TILDE] = ACTIONS(1255),
-    [anon_sym_DASH] = ACTIONS(1253),
-    [anon_sym_PLUS] = ACTIONS(1253),
-    [anon_sym_STAR] = ACTIONS(1255),
-    [anon_sym_AMP] = ACTIONS(1255),
-    [anon_sym_SEMI] = ACTIONS(1255),
-    [anon_sym___extension__] = ACTIONS(1253),
-    [anon_sym_typedef] = ACTIONS(1253),
-    [anon_sym_extern] = ACTIONS(1253),
-    [anon_sym___attribute__] = ACTIONS(1253),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1255),
-    [anon_sym___declspec] = ACTIONS(1253),
-    [anon_sym___cdecl] = ACTIONS(1253),
-    [anon_sym___clrcall] = ACTIONS(1253),
-    [anon_sym___stdcall] = ACTIONS(1253),
-    [anon_sym___fastcall] = ACTIONS(1253),
-    [anon_sym___thiscall] = ACTIONS(1253),
-    [anon_sym___vectorcall] = ACTIONS(1253),
-    [anon_sym_LBRACE] = ACTIONS(1255),
-    [anon_sym_RBRACE] = ACTIONS(1255),
-    [anon_sym_signed] = ACTIONS(1253),
-    [anon_sym_unsigned] = ACTIONS(1253),
-    [anon_sym_long] = ACTIONS(1253),
-    [anon_sym_short] = ACTIONS(1253),
-    [anon_sym_static] = ACTIONS(1253),
-    [anon_sym_auto] = ACTIONS(1253),
-    [anon_sym_register] = ACTIONS(1253),
-    [anon_sym_inline] = ACTIONS(1253),
-    [anon_sym___inline] = ACTIONS(1253),
-    [anon_sym___inline__] = ACTIONS(1253),
-    [anon_sym___forceinline] = ACTIONS(1253),
-    [anon_sym_thread_local] = ACTIONS(1253),
-    [anon_sym___thread] = ACTIONS(1253),
-    [anon_sym_const] = ACTIONS(1253),
-    [anon_sym_constexpr] = ACTIONS(1253),
-    [anon_sym_volatile] = ACTIONS(1253),
-    [anon_sym_restrict] = ACTIONS(1253),
-    [anon_sym___restrict__] = ACTIONS(1253),
-    [anon_sym__Atomic] = ACTIONS(1253),
-    [anon_sym__Noreturn] = ACTIONS(1253),
-    [anon_sym_noreturn] = ACTIONS(1253),
-    [anon_sym__Nonnull] = ACTIONS(1253),
-    [anon_sym_alignas] = ACTIONS(1253),
-    [anon_sym__Alignas] = ACTIONS(1253),
-    [sym_primitive_type] = ACTIONS(1253),
-    [anon_sym_enum] = ACTIONS(1253),
-    [anon_sym_struct] = ACTIONS(1253),
-    [anon_sym_union] = ACTIONS(1253),
-    [anon_sym_if] = ACTIONS(1253),
-    [anon_sym_else] = ACTIONS(1253),
-    [anon_sym_switch] = ACTIONS(1253),
-    [anon_sym_case] = ACTIONS(1253),
-    [anon_sym_default] = ACTIONS(1253),
-    [anon_sym_while] = ACTIONS(1253),
-    [anon_sym_do] = ACTIONS(1253),
-    [anon_sym_for] = ACTIONS(1253),
-    [anon_sym_return] = ACTIONS(1253),
-    [anon_sym_break] = ACTIONS(1253),
-    [anon_sym_continue] = ACTIONS(1253),
-    [anon_sym_goto] = ACTIONS(1253),
-    [anon_sym___try] = ACTIONS(1253),
-    [anon_sym___leave] = ACTIONS(1253),
-    [anon_sym_DASH_DASH] = ACTIONS(1255),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1255),
-    [anon_sym_sizeof] = ACTIONS(1253),
-    [anon_sym___alignof__] = ACTIONS(1253),
-    [anon_sym___alignof] = ACTIONS(1253),
-    [anon_sym__alignof] = ACTIONS(1253),
-    [anon_sym_alignof] = ACTIONS(1253),
-    [anon_sym__Alignof] = ACTIONS(1253),
-    [anon_sym_offsetof] = ACTIONS(1253),
-    [anon_sym__Generic] = ACTIONS(1253),
-    [anon_sym_asm] = ACTIONS(1253),
-    [anon_sym___asm__] = ACTIONS(1253),
-    [anon_sym___asm] = ACTIONS(1253),
-    [sym_number_literal] = ACTIONS(1255),
-    [anon_sym_L_SQUOTE] = ACTIONS(1255),
-    [anon_sym_u_SQUOTE] = ACTIONS(1255),
-    [anon_sym_U_SQUOTE] = ACTIONS(1255),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1255),
-    [anon_sym_SQUOTE] = ACTIONS(1255),
-    [anon_sym_L_DQUOTE] = ACTIONS(1255),
-    [anon_sym_u_DQUOTE] = ACTIONS(1255),
-    [anon_sym_U_DQUOTE] = ACTIONS(1255),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1255),
-    [anon_sym_DQUOTE] = ACTIONS(1255),
-    [sym_true] = ACTIONS(1253),
-    [sym_false] = ACTIONS(1253),
-    [anon_sym_NULL] = ACTIONS(1253),
-    [anon_sym_nullptr] = ACTIONS(1253),
+    [sym_identifier] = ACTIONS(1226),
+    [aux_sym_preproc_include_token1] = ACTIONS(1226),
+    [aux_sym_preproc_def_token1] = ACTIONS(1226),
+    [aux_sym_preproc_if_token1] = ACTIONS(1226),
+    [aux_sym_preproc_if_token2] = ACTIONS(1226),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1226),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1226),
+    [sym_preproc_directive] = ACTIONS(1226),
+    [anon_sym_LPAREN2] = ACTIONS(1228),
+    [anon_sym_BANG] = ACTIONS(1228),
+    [anon_sym_TILDE] = ACTIONS(1228),
+    [anon_sym_DASH] = ACTIONS(1226),
+    [anon_sym_PLUS] = ACTIONS(1226),
+    [anon_sym_STAR] = ACTIONS(1228),
+    [anon_sym_AMP] = ACTIONS(1228),
+    [anon_sym_SEMI] = ACTIONS(1228),
+    [anon_sym___extension__] = ACTIONS(1226),
+    [anon_sym_typedef] = ACTIONS(1226),
+    [anon_sym_extern] = ACTIONS(1226),
+    [anon_sym___attribute__] = ACTIONS(1226),
+    [anon_sym___attribute] = ACTIONS(1226),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1228),
+    [anon_sym___declspec] = ACTIONS(1226),
+    [anon_sym___cdecl] = ACTIONS(1226),
+    [anon_sym___clrcall] = ACTIONS(1226),
+    [anon_sym___stdcall] = ACTIONS(1226),
+    [anon_sym___fastcall] = ACTIONS(1226),
+    [anon_sym___thiscall] = ACTIONS(1226),
+    [anon_sym___vectorcall] = ACTIONS(1226),
+    [anon_sym_LBRACE] = ACTIONS(1228),
+    [anon_sym_signed] = ACTIONS(1226),
+    [anon_sym_unsigned] = ACTIONS(1226),
+    [anon_sym_long] = ACTIONS(1226),
+    [anon_sym_short] = ACTIONS(1226),
+    [anon_sym_static] = ACTIONS(1226),
+    [anon_sym_auto] = ACTIONS(1226),
+    [anon_sym_register] = ACTIONS(1226),
+    [anon_sym_inline] = ACTIONS(1226),
+    [anon_sym___inline] = ACTIONS(1226),
+    [anon_sym___inline__] = ACTIONS(1226),
+    [anon_sym___forceinline] = ACTIONS(1226),
+    [anon_sym_thread_local] = ACTIONS(1226),
+    [anon_sym___thread] = ACTIONS(1226),
+    [anon_sym_const] = ACTIONS(1226),
+    [anon_sym_constexpr] = ACTIONS(1226),
+    [anon_sym_volatile] = ACTIONS(1226),
+    [anon_sym_restrict] = ACTIONS(1226),
+    [anon_sym___restrict__] = ACTIONS(1226),
+    [anon_sym__Atomic] = ACTIONS(1226),
+    [anon_sym__Noreturn] = ACTIONS(1226),
+    [anon_sym_noreturn] = ACTIONS(1226),
+    [anon_sym__Nonnull] = ACTIONS(1226),
+    [anon_sym_alignas] = ACTIONS(1226),
+    [anon_sym__Alignas] = ACTIONS(1226),
+    [sym_primitive_type] = ACTIONS(1226),
+    [anon_sym_enum] = ACTIONS(1226),
+    [anon_sym_struct] = ACTIONS(1226),
+    [anon_sym_union] = ACTIONS(1226),
+    [anon_sym_if] = ACTIONS(1226),
+    [anon_sym_else] = ACTIONS(1226),
+    [anon_sym_switch] = ACTIONS(1226),
+    [anon_sym_case] = ACTIONS(1226),
+    [anon_sym_default] = ACTIONS(1226),
+    [anon_sym_while] = ACTIONS(1226),
+    [anon_sym_do] = ACTIONS(1226),
+    [anon_sym_for] = ACTIONS(1226),
+    [anon_sym_return] = ACTIONS(1226),
+    [anon_sym_break] = ACTIONS(1226),
+    [anon_sym_continue] = ACTIONS(1226),
+    [anon_sym_goto] = ACTIONS(1226),
+    [anon_sym___try] = ACTIONS(1226),
+    [anon_sym___leave] = ACTIONS(1226),
+    [anon_sym_DASH_DASH] = ACTIONS(1228),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1228),
+    [anon_sym_sizeof] = ACTIONS(1226),
+    [anon_sym___alignof__] = ACTIONS(1226),
+    [anon_sym___alignof] = ACTIONS(1226),
+    [anon_sym__alignof] = ACTIONS(1226),
+    [anon_sym_alignof] = ACTIONS(1226),
+    [anon_sym__Alignof] = ACTIONS(1226),
+    [anon_sym_offsetof] = ACTIONS(1226),
+    [anon_sym__Generic] = ACTIONS(1226),
+    [anon_sym_asm] = ACTIONS(1226),
+    [anon_sym___asm__] = ACTIONS(1226),
+    [anon_sym___asm] = ACTIONS(1226),
+    [sym_number_literal] = ACTIONS(1228),
+    [anon_sym_L_SQUOTE] = ACTIONS(1228),
+    [anon_sym_u_SQUOTE] = ACTIONS(1228),
+    [anon_sym_U_SQUOTE] = ACTIONS(1228),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1228),
+    [anon_sym_SQUOTE] = ACTIONS(1228),
+    [anon_sym_L_DQUOTE] = ACTIONS(1228),
+    [anon_sym_u_DQUOTE] = ACTIONS(1228),
+    [anon_sym_U_DQUOTE] = ACTIONS(1228),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1228),
+    [anon_sym_DQUOTE] = ACTIONS(1228),
+    [sym_true] = ACTIONS(1226),
+    [sym_false] = ACTIONS(1226),
+    [anon_sym_NULL] = ACTIONS(1226),
+    [anon_sym_nullptr] = ACTIONS(1226),
     [sym_comment] = ACTIONS(3),
   },
   [188] = {
-    [sym_identifier] = ACTIONS(1161),
-    [aux_sym_preproc_include_token1] = ACTIONS(1161),
-    [aux_sym_preproc_def_token1] = ACTIONS(1161),
-    [aux_sym_preproc_if_token1] = ACTIONS(1161),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1161),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1161),
-    [sym_preproc_directive] = ACTIONS(1161),
-    [anon_sym_LPAREN2] = ACTIONS(1163),
-    [anon_sym_BANG] = ACTIONS(1163),
-    [anon_sym_TILDE] = ACTIONS(1163),
-    [anon_sym_DASH] = ACTIONS(1161),
-    [anon_sym_PLUS] = ACTIONS(1161),
-    [anon_sym_STAR] = ACTIONS(1163),
-    [anon_sym_AMP] = ACTIONS(1163),
-    [anon_sym_SEMI] = ACTIONS(1163),
-    [anon_sym___extension__] = ACTIONS(1161),
-    [anon_sym_typedef] = ACTIONS(1161),
-    [anon_sym_extern] = ACTIONS(1161),
-    [anon_sym___attribute__] = ACTIONS(1161),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1163),
-    [anon_sym___declspec] = ACTIONS(1161),
-    [anon_sym___cdecl] = ACTIONS(1161),
-    [anon_sym___clrcall] = ACTIONS(1161),
-    [anon_sym___stdcall] = ACTIONS(1161),
-    [anon_sym___fastcall] = ACTIONS(1161),
-    [anon_sym___thiscall] = ACTIONS(1161),
-    [anon_sym___vectorcall] = ACTIONS(1161),
-    [anon_sym_LBRACE] = ACTIONS(1163),
-    [anon_sym_RBRACE] = ACTIONS(1163),
-    [anon_sym_signed] = ACTIONS(1161),
-    [anon_sym_unsigned] = ACTIONS(1161),
-    [anon_sym_long] = ACTIONS(1161),
-    [anon_sym_short] = ACTIONS(1161),
-    [anon_sym_static] = ACTIONS(1161),
-    [anon_sym_auto] = ACTIONS(1161),
-    [anon_sym_register] = ACTIONS(1161),
-    [anon_sym_inline] = ACTIONS(1161),
-    [anon_sym___inline] = ACTIONS(1161),
-    [anon_sym___inline__] = ACTIONS(1161),
-    [anon_sym___forceinline] = ACTIONS(1161),
-    [anon_sym_thread_local] = ACTIONS(1161),
-    [anon_sym___thread] = ACTIONS(1161),
-    [anon_sym_const] = ACTIONS(1161),
-    [anon_sym_constexpr] = ACTIONS(1161),
-    [anon_sym_volatile] = ACTIONS(1161),
-    [anon_sym_restrict] = ACTIONS(1161),
-    [anon_sym___restrict__] = ACTIONS(1161),
-    [anon_sym__Atomic] = ACTIONS(1161),
-    [anon_sym__Noreturn] = ACTIONS(1161),
-    [anon_sym_noreturn] = ACTIONS(1161),
-    [anon_sym__Nonnull] = ACTIONS(1161),
-    [anon_sym_alignas] = ACTIONS(1161),
-    [anon_sym__Alignas] = ACTIONS(1161),
-    [sym_primitive_type] = ACTIONS(1161),
-    [anon_sym_enum] = ACTIONS(1161),
-    [anon_sym_struct] = ACTIONS(1161),
-    [anon_sym_union] = ACTIONS(1161),
-    [anon_sym_if] = ACTIONS(1161),
-    [anon_sym_else] = ACTIONS(1161),
-    [anon_sym_switch] = ACTIONS(1161),
-    [anon_sym_case] = ACTIONS(1161),
-    [anon_sym_default] = ACTIONS(1161),
-    [anon_sym_while] = ACTIONS(1161),
-    [anon_sym_do] = ACTIONS(1161),
-    [anon_sym_for] = ACTIONS(1161),
-    [anon_sym_return] = ACTIONS(1161),
-    [anon_sym_break] = ACTIONS(1161),
-    [anon_sym_continue] = ACTIONS(1161),
-    [anon_sym_goto] = ACTIONS(1161),
-    [anon_sym___try] = ACTIONS(1161),
-    [anon_sym___leave] = ACTIONS(1161),
-    [anon_sym_DASH_DASH] = ACTIONS(1163),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1163),
-    [anon_sym_sizeof] = ACTIONS(1161),
-    [anon_sym___alignof__] = ACTIONS(1161),
-    [anon_sym___alignof] = ACTIONS(1161),
-    [anon_sym__alignof] = ACTIONS(1161),
-    [anon_sym_alignof] = ACTIONS(1161),
-    [anon_sym__Alignof] = ACTIONS(1161),
-    [anon_sym_offsetof] = ACTIONS(1161),
-    [anon_sym__Generic] = ACTIONS(1161),
-    [anon_sym_asm] = ACTIONS(1161),
-    [anon_sym___asm__] = ACTIONS(1161),
-    [anon_sym___asm] = ACTIONS(1161),
-    [sym_number_literal] = ACTIONS(1163),
-    [anon_sym_L_SQUOTE] = ACTIONS(1163),
-    [anon_sym_u_SQUOTE] = ACTIONS(1163),
-    [anon_sym_U_SQUOTE] = ACTIONS(1163),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1163),
-    [anon_sym_SQUOTE] = ACTIONS(1163),
-    [anon_sym_L_DQUOTE] = ACTIONS(1163),
-    [anon_sym_u_DQUOTE] = ACTIONS(1163),
-    [anon_sym_U_DQUOTE] = ACTIONS(1163),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1163),
-    [anon_sym_DQUOTE] = ACTIONS(1163),
-    [sym_true] = ACTIONS(1161),
-    [sym_false] = ACTIONS(1161),
-    [anon_sym_NULL] = ACTIONS(1161),
-    [anon_sym_nullptr] = ACTIONS(1161),
+    [sym_identifier] = ACTIONS(1218),
+    [aux_sym_preproc_include_token1] = ACTIONS(1218),
+    [aux_sym_preproc_def_token1] = ACTIONS(1218),
+    [aux_sym_preproc_if_token1] = ACTIONS(1218),
+    [aux_sym_preproc_if_token2] = ACTIONS(1218),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1218),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1218),
+    [sym_preproc_directive] = ACTIONS(1218),
+    [anon_sym_LPAREN2] = ACTIONS(1220),
+    [anon_sym_BANG] = ACTIONS(1220),
+    [anon_sym_TILDE] = ACTIONS(1220),
+    [anon_sym_DASH] = ACTIONS(1218),
+    [anon_sym_PLUS] = ACTIONS(1218),
+    [anon_sym_STAR] = ACTIONS(1220),
+    [anon_sym_AMP] = ACTIONS(1220),
+    [anon_sym_SEMI] = ACTIONS(1220),
+    [anon_sym___extension__] = ACTIONS(1218),
+    [anon_sym_typedef] = ACTIONS(1218),
+    [anon_sym_extern] = ACTIONS(1218),
+    [anon_sym___attribute__] = ACTIONS(1218),
+    [anon_sym___attribute] = ACTIONS(1218),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1220),
+    [anon_sym___declspec] = ACTIONS(1218),
+    [anon_sym___cdecl] = ACTIONS(1218),
+    [anon_sym___clrcall] = ACTIONS(1218),
+    [anon_sym___stdcall] = ACTIONS(1218),
+    [anon_sym___fastcall] = ACTIONS(1218),
+    [anon_sym___thiscall] = ACTIONS(1218),
+    [anon_sym___vectorcall] = ACTIONS(1218),
+    [anon_sym_LBRACE] = ACTIONS(1220),
+    [anon_sym_signed] = ACTIONS(1218),
+    [anon_sym_unsigned] = ACTIONS(1218),
+    [anon_sym_long] = ACTIONS(1218),
+    [anon_sym_short] = ACTIONS(1218),
+    [anon_sym_static] = ACTIONS(1218),
+    [anon_sym_auto] = ACTIONS(1218),
+    [anon_sym_register] = ACTIONS(1218),
+    [anon_sym_inline] = ACTIONS(1218),
+    [anon_sym___inline] = ACTIONS(1218),
+    [anon_sym___inline__] = ACTIONS(1218),
+    [anon_sym___forceinline] = ACTIONS(1218),
+    [anon_sym_thread_local] = ACTIONS(1218),
+    [anon_sym___thread] = ACTIONS(1218),
+    [anon_sym_const] = ACTIONS(1218),
+    [anon_sym_constexpr] = ACTIONS(1218),
+    [anon_sym_volatile] = ACTIONS(1218),
+    [anon_sym_restrict] = ACTIONS(1218),
+    [anon_sym___restrict__] = ACTIONS(1218),
+    [anon_sym__Atomic] = ACTIONS(1218),
+    [anon_sym__Noreturn] = ACTIONS(1218),
+    [anon_sym_noreturn] = ACTIONS(1218),
+    [anon_sym__Nonnull] = ACTIONS(1218),
+    [anon_sym_alignas] = ACTIONS(1218),
+    [anon_sym__Alignas] = ACTIONS(1218),
+    [sym_primitive_type] = ACTIONS(1218),
+    [anon_sym_enum] = ACTIONS(1218),
+    [anon_sym_struct] = ACTIONS(1218),
+    [anon_sym_union] = ACTIONS(1218),
+    [anon_sym_if] = ACTIONS(1218),
+    [anon_sym_else] = ACTIONS(1218),
+    [anon_sym_switch] = ACTIONS(1218),
+    [anon_sym_case] = ACTIONS(1218),
+    [anon_sym_default] = ACTIONS(1218),
+    [anon_sym_while] = ACTIONS(1218),
+    [anon_sym_do] = ACTIONS(1218),
+    [anon_sym_for] = ACTIONS(1218),
+    [anon_sym_return] = ACTIONS(1218),
+    [anon_sym_break] = ACTIONS(1218),
+    [anon_sym_continue] = ACTIONS(1218),
+    [anon_sym_goto] = ACTIONS(1218),
+    [anon_sym___try] = ACTIONS(1218),
+    [anon_sym___leave] = ACTIONS(1218),
+    [anon_sym_DASH_DASH] = ACTIONS(1220),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1220),
+    [anon_sym_sizeof] = ACTIONS(1218),
+    [anon_sym___alignof__] = ACTIONS(1218),
+    [anon_sym___alignof] = ACTIONS(1218),
+    [anon_sym__alignof] = ACTIONS(1218),
+    [anon_sym_alignof] = ACTIONS(1218),
+    [anon_sym__Alignof] = ACTIONS(1218),
+    [anon_sym_offsetof] = ACTIONS(1218),
+    [anon_sym__Generic] = ACTIONS(1218),
+    [anon_sym_asm] = ACTIONS(1218),
+    [anon_sym___asm__] = ACTIONS(1218),
+    [anon_sym___asm] = ACTIONS(1218),
+    [sym_number_literal] = ACTIONS(1220),
+    [anon_sym_L_SQUOTE] = ACTIONS(1220),
+    [anon_sym_u_SQUOTE] = ACTIONS(1220),
+    [anon_sym_U_SQUOTE] = ACTIONS(1220),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1220),
+    [anon_sym_SQUOTE] = ACTIONS(1220),
+    [anon_sym_L_DQUOTE] = ACTIONS(1220),
+    [anon_sym_u_DQUOTE] = ACTIONS(1220),
+    [anon_sym_U_DQUOTE] = ACTIONS(1220),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1220),
+    [anon_sym_DQUOTE] = ACTIONS(1220),
+    [sym_true] = ACTIONS(1218),
+    [sym_false] = ACTIONS(1218),
+    [anon_sym_NULL] = ACTIONS(1218),
+    [anon_sym_nullptr] = ACTIONS(1218),
     [sym_comment] = ACTIONS(3),
   },
   [189] = {
-    [sym_identifier] = ACTIONS(1165),
-    [aux_sym_preproc_include_token1] = ACTIONS(1165),
-    [aux_sym_preproc_def_token1] = ACTIONS(1165),
-    [aux_sym_preproc_if_token1] = ACTIONS(1165),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1165),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1165),
-    [sym_preproc_directive] = ACTIONS(1165),
-    [anon_sym_LPAREN2] = ACTIONS(1167),
-    [anon_sym_BANG] = ACTIONS(1167),
-    [anon_sym_TILDE] = ACTIONS(1167),
-    [anon_sym_DASH] = ACTIONS(1165),
-    [anon_sym_PLUS] = ACTIONS(1165),
-    [anon_sym_STAR] = ACTIONS(1167),
-    [anon_sym_AMP] = ACTIONS(1167),
-    [anon_sym_SEMI] = ACTIONS(1167),
-    [anon_sym___extension__] = ACTIONS(1165),
-    [anon_sym_typedef] = ACTIONS(1165),
-    [anon_sym_extern] = ACTIONS(1165),
-    [anon_sym___attribute__] = ACTIONS(1165),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1167),
-    [anon_sym___declspec] = ACTIONS(1165),
-    [anon_sym___cdecl] = ACTIONS(1165),
-    [anon_sym___clrcall] = ACTIONS(1165),
-    [anon_sym___stdcall] = ACTIONS(1165),
-    [anon_sym___fastcall] = ACTIONS(1165),
-    [anon_sym___thiscall] = ACTIONS(1165),
-    [anon_sym___vectorcall] = ACTIONS(1165),
-    [anon_sym_LBRACE] = ACTIONS(1167),
-    [anon_sym_RBRACE] = ACTIONS(1167),
-    [anon_sym_signed] = ACTIONS(1165),
-    [anon_sym_unsigned] = ACTIONS(1165),
-    [anon_sym_long] = ACTIONS(1165),
-    [anon_sym_short] = ACTIONS(1165),
-    [anon_sym_static] = ACTIONS(1165),
-    [anon_sym_auto] = ACTIONS(1165),
-    [anon_sym_register] = ACTIONS(1165),
-    [anon_sym_inline] = ACTIONS(1165),
-    [anon_sym___inline] = ACTIONS(1165),
-    [anon_sym___inline__] = ACTIONS(1165),
-    [anon_sym___forceinline] = ACTIONS(1165),
-    [anon_sym_thread_local] = ACTIONS(1165),
-    [anon_sym___thread] = ACTIONS(1165),
-    [anon_sym_const] = ACTIONS(1165),
-    [anon_sym_constexpr] = ACTIONS(1165),
-    [anon_sym_volatile] = ACTIONS(1165),
-    [anon_sym_restrict] = ACTIONS(1165),
-    [anon_sym___restrict__] = ACTIONS(1165),
-    [anon_sym__Atomic] = ACTIONS(1165),
-    [anon_sym__Noreturn] = ACTIONS(1165),
-    [anon_sym_noreturn] = ACTIONS(1165),
-    [anon_sym__Nonnull] = ACTIONS(1165),
-    [anon_sym_alignas] = ACTIONS(1165),
-    [anon_sym__Alignas] = ACTIONS(1165),
-    [sym_primitive_type] = ACTIONS(1165),
-    [anon_sym_enum] = ACTIONS(1165),
-    [anon_sym_struct] = ACTIONS(1165),
-    [anon_sym_union] = ACTIONS(1165),
-    [anon_sym_if] = ACTIONS(1165),
-    [anon_sym_else] = ACTIONS(1165),
-    [anon_sym_switch] = ACTIONS(1165),
-    [anon_sym_case] = ACTIONS(1165),
-    [anon_sym_default] = ACTIONS(1165),
-    [anon_sym_while] = ACTIONS(1165),
-    [anon_sym_do] = ACTIONS(1165),
-    [anon_sym_for] = ACTIONS(1165),
-    [anon_sym_return] = ACTIONS(1165),
-    [anon_sym_break] = ACTIONS(1165),
-    [anon_sym_continue] = ACTIONS(1165),
-    [anon_sym_goto] = ACTIONS(1165),
-    [anon_sym___try] = ACTIONS(1165),
-    [anon_sym___leave] = ACTIONS(1165),
-    [anon_sym_DASH_DASH] = ACTIONS(1167),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1167),
-    [anon_sym_sizeof] = ACTIONS(1165),
-    [anon_sym___alignof__] = ACTIONS(1165),
-    [anon_sym___alignof] = ACTIONS(1165),
-    [anon_sym__alignof] = ACTIONS(1165),
-    [anon_sym_alignof] = ACTIONS(1165),
-    [anon_sym__Alignof] = ACTIONS(1165),
-    [anon_sym_offsetof] = ACTIONS(1165),
-    [anon_sym__Generic] = ACTIONS(1165),
-    [anon_sym_asm] = ACTIONS(1165),
-    [anon_sym___asm__] = ACTIONS(1165),
-    [anon_sym___asm] = ACTIONS(1165),
-    [sym_number_literal] = ACTIONS(1167),
-    [anon_sym_L_SQUOTE] = ACTIONS(1167),
-    [anon_sym_u_SQUOTE] = ACTIONS(1167),
-    [anon_sym_U_SQUOTE] = ACTIONS(1167),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1167),
-    [anon_sym_SQUOTE] = ACTIONS(1167),
-    [anon_sym_L_DQUOTE] = ACTIONS(1167),
-    [anon_sym_u_DQUOTE] = ACTIONS(1167),
-    [anon_sym_U_DQUOTE] = ACTIONS(1167),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1167),
-    [anon_sym_DQUOTE] = ACTIONS(1167),
-    [sym_true] = ACTIONS(1165),
-    [sym_false] = ACTIONS(1165),
-    [anon_sym_NULL] = ACTIONS(1165),
-    [anon_sym_nullptr] = ACTIONS(1165),
+    [sym_identifier] = ACTIONS(1142),
+    [aux_sym_preproc_include_token1] = ACTIONS(1142),
+    [aux_sym_preproc_def_token1] = ACTIONS(1142),
+    [aux_sym_preproc_if_token1] = ACTIONS(1142),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1142),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1142),
+    [sym_preproc_directive] = ACTIONS(1142),
+    [anon_sym_LPAREN2] = ACTIONS(1144),
+    [anon_sym_BANG] = ACTIONS(1144),
+    [anon_sym_TILDE] = ACTIONS(1144),
+    [anon_sym_DASH] = ACTIONS(1142),
+    [anon_sym_PLUS] = ACTIONS(1142),
+    [anon_sym_STAR] = ACTIONS(1144),
+    [anon_sym_AMP] = ACTIONS(1144),
+    [anon_sym_SEMI] = ACTIONS(1144),
+    [anon_sym___extension__] = ACTIONS(1142),
+    [anon_sym_typedef] = ACTIONS(1142),
+    [anon_sym_extern] = ACTIONS(1142),
+    [anon_sym___attribute__] = ACTIONS(1142),
+    [anon_sym___attribute] = ACTIONS(1142),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1144),
+    [anon_sym___declspec] = ACTIONS(1142),
+    [anon_sym___cdecl] = ACTIONS(1142),
+    [anon_sym___clrcall] = ACTIONS(1142),
+    [anon_sym___stdcall] = ACTIONS(1142),
+    [anon_sym___fastcall] = ACTIONS(1142),
+    [anon_sym___thiscall] = ACTIONS(1142),
+    [anon_sym___vectorcall] = ACTIONS(1142),
+    [anon_sym_LBRACE] = ACTIONS(1144),
+    [anon_sym_RBRACE] = ACTIONS(1144),
+    [anon_sym_signed] = ACTIONS(1142),
+    [anon_sym_unsigned] = ACTIONS(1142),
+    [anon_sym_long] = ACTIONS(1142),
+    [anon_sym_short] = ACTIONS(1142),
+    [anon_sym_static] = ACTIONS(1142),
+    [anon_sym_auto] = ACTIONS(1142),
+    [anon_sym_register] = ACTIONS(1142),
+    [anon_sym_inline] = ACTIONS(1142),
+    [anon_sym___inline] = ACTIONS(1142),
+    [anon_sym___inline__] = ACTIONS(1142),
+    [anon_sym___forceinline] = ACTIONS(1142),
+    [anon_sym_thread_local] = ACTIONS(1142),
+    [anon_sym___thread] = ACTIONS(1142),
+    [anon_sym_const] = ACTIONS(1142),
+    [anon_sym_constexpr] = ACTIONS(1142),
+    [anon_sym_volatile] = ACTIONS(1142),
+    [anon_sym_restrict] = ACTIONS(1142),
+    [anon_sym___restrict__] = ACTIONS(1142),
+    [anon_sym__Atomic] = ACTIONS(1142),
+    [anon_sym__Noreturn] = ACTIONS(1142),
+    [anon_sym_noreturn] = ACTIONS(1142),
+    [anon_sym__Nonnull] = ACTIONS(1142),
+    [anon_sym_alignas] = ACTIONS(1142),
+    [anon_sym__Alignas] = ACTIONS(1142),
+    [sym_primitive_type] = ACTIONS(1142),
+    [anon_sym_enum] = ACTIONS(1142),
+    [anon_sym_struct] = ACTIONS(1142),
+    [anon_sym_union] = ACTIONS(1142),
+    [anon_sym_if] = ACTIONS(1142),
+    [anon_sym_else] = ACTIONS(1142),
+    [anon_sym_switch] = ACTIONS(1142),
+    [anon_sym_case] = ACTIONS(1142),
+    [anon_sym_default] = ACTIONS(1142),
+    [anon_sym_while] = ACTIONS(1142),
+    [anon_sym_do] = ACTIONS(1142),
+    [anon_sym_for] = ACTIONS(1142),
+    [anon_sym_return] = ACTIONS(1142),
+    [anon_sym_break] = ACTIONS(1142),
+    [anon_sym_continue] = ACTIONS(1142),
+    [anon_sym_goto] = ACTIONS(1142),
+    [anon_sym___try] = ACTIONS(1142),
+    [anon_sym___leave] = ACTIONS(1142),
+    [anon_sym_DASH_DASH] = ACTIONS(1144),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1144),
+    [anon_sym_sizeof] = ACTIONS(1142),
+    [anon_sym___alignof__] = ACTIONS(1142),
+    [anon_sym___alignof] = ACTIONS(1142),
+    [anon_sym__alignof] = ACTIONS(1142),
+    [anon_sym_alignof] = ACTIONS(1142),
+    [anon_sym__Alignof] = ACTIONS(1142),
+    [anon_sym_offsetof] = ACTIONS(1142),
+    [anon_sym__Generic] = ACTIONS(1142),
+    [anon_sym_asm] = ACTIONS(1142),
+    [anon_sym___asm__] = ACTIONS(1142),
+    [anon_sym___asm] = ACTIONS(1142),
+    [sym_number_literal] = ACTIONS(1144),
+    [anon_sym_L_SQUOTE] = ACTIONS(1144),
+    [anon_sym_u_SQUOTE] = ACTIONS(1144),
+    [anon_sym_U_SQUOTE] = ACTIONS(1144),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1144),
+    [anon_sym_SQUOTE] = ACTIONS(1144),
+    [anon_sym_L_DQUOTE] = ACTIONS(1144),
+    [anon_sym_u_DQUOTE] = ACTIONS(1144),
+    [anon_sym_U_DQUOTE] = ACTIONS(1144),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1144),
+    [anon_sym_DQUOTE] = ACTIONS(1144),
+    [sym_true] = ACTIONS(1142),
+    [sym_false] = ACTIONS(1142),
+    [anon_sym_NULL] = ACTIONS(1142),
+    [anon_sym_nullptr] = ACTIONS(1142),
     [sym_comment] = ACTIONS(3),
   },
   [190] = {
-    [sym_identifier] = ACTIONS(1189),
-    [aux_sym_preproc_include_token1] = ACTIONS(1189),
-    [aux_sym_preproc_def_token1] = ACTIONS(1189),
-    [aux_sym_preproc_if_token1] = ACTIONS(1189),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1189),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1189),
-    [sym_preproc_directive] = ACTIONS(1189),
-    [anon_sym_LPAREN2] = ACTIONS(1191),
-    [anon_sym_BANG] = ACTIONS(1191),
-    [anon_sym_TILDE] = ACTIONS(1191),
-    [anon_sym_DASH] = ACTIONS(1189),
-    [anon_sym_PLUS] = ACTIONS(1189),
-    [anon_sym_STAR] = ACTIONS(1191),
-    [anon_sym_AMP] = ACTIONS(1191),
-    [anon_sym_SEMI] = ACTIONS(1191),
-    [anon_sym___extension__] = ACTIONS(1189),
-    [anon_sym_typedef] = ACTIONS(1189),
-    [anon_sym_extern] = ACTIONS(1189),
-    [anon_sym___attribute__] = ACTIONS(1189),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1191),
-    [anon_sym___declspec] = ACTIONS(1189),
-    [anon_sym___cdecl] = ACTIONS(1189),
-    [anon_sym___clrcall] = ACTIONS(1189),
-    [anon_sym___stdcall] = ACTIONS(1189),
-    [anon_sym___fastcall] = ACTIONS(1189),
-    [anon_sym___thiscall] = ACTIONS(1189),
-    [anon_sym___vectorcall] = ACTIONS(1189),
-    [anon_sym_LBRACE] = ACTIONS(1191),
-    [anon_sym_RBRACE] = ACTIONS(1191),
-    [anon_sym_signed] = ACTIONS(1189),
-    [anon_sym_unsigned] = ACTIONS(1189),
-    [anon_sym_long] = ACTIONS(1189),
-    [anon_sym_short] = ACTIONS(1189),
-    [anon_sym_static] = ACTIONS(1189),
-    [anon_sym_auto] = ACTIONS(1189),
-    [anon_sym_register] = ACTIONS(1189),
-    [anon_sym_inline] = ACTIONS(1189),
-    [anon_sym___inline] = ACTIONS(1189),
-    [anon_sym___inline__] = ACTIONS(1189),
-    [anon_sym___forceinline] = ACTIONS(1189),
-    [anon_sym_thread_local] = ACTIONS(1189),
-    [anon_sym___thread] = ACTIONS(1189),
-    [anon_sym_const] = ACTIONS(1189),
-    [anon_sym_constexpr] = ACTIONS(1189),
-    [anon_sym_volatile] = ACTIONS(1189),
-    [anon_sym_restrict] = ACTIONS(1189),
-    [anon_sym___restrict__] = ACTIONS(1189),
-    [anon_sym__Atomic] = ACTIONS(1189),
-    [anon_sym__Noreturn] = ACTIONS(1189),
-    [anon_sym_noreturn] = ACTIONS(1189),
-    [anon_sym__Nonnull] = ACTIONS(1189),
-    [anon_sym_alignas] = ACTIONS(1189),
-    [anon_sym__Alignas] = ACTIONS(1189),
-    [sym_primitive_type] = ACTIONS(1189),
-    [anon_sym_enum] = ACTIONS(1189),
-    [anon_sym_struct] = ACTIONS(1189),
-    [anon_sym_union] = ACTIONS(1189),
-    [anon_sym_if] = ACTIONS(1189),
-    [anon_sym_else] = ACTIONS(1189),
-    [anon_sym_switch] = ACTIONS(1189),
-    [anon_sym_case] = ACTIONS(1189),
-    [anon_sym_default] = ACTIONS(1189),
-    [anon_sym_while] = ACTIONS(1189),
-    [anon_sym_do] = ACTIONS(1189),
-    [anon_sym_for] = ACTIONS(1189),
-    [anon_sym_return] = ACTIONS(1189),
-    [anon_sym_break] = ACTIONS(1189),
-    [anon_sym_continue] = ACTIONS(1189),
-    [anon_sym_goto] = ACTIONS(1189),
-    [anon_sym___try] = ACTIONS(1189),
-    [anon_sym___leave] = ACTIONS(1189),
-    [anon_sym_DASH_DASH] = ACTIONS(1191),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1191),
-    [anon_sym_sizeof] = ACTIONS(1189),
-    [anon_sym___alignof__] = ACTIONS(1189),
-    [anon_sym___alignof] = ACTIONS(1189),
-    [anon_sym__alignof] = ACTIONS(1189),
-    [anon_sym_alignof] = ACTIONS(1189),
-    [anon_sym__Alignof] = ACTIONS(1189),
-    [anon_sym_offsetof] = ACTIONS(1189),
-    [anon_sym__Generic] = ACTIONS(1189),
-    [anon_sym_asm] = ACTIONS(1189),
-    [anon_sym___asm__] = ACTIONS(1189),
-    [anon_sym___asm] = ACTIONS(1189),
-    [sym_number_literal] = ACTIONS(1191),
-    [anon_sym_L_SQUOTE] = ACTIONS(1191),
-    [anon_sym_u_SQUOTE] = ACTIONS(1191),
-    [anon_sym_U_SQUOTE] = ACTIONS(1191),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1191),
-    [anon_sym_SQUOTE] = ACTIONS(1191),
-    [anon_sym_L_DQUOTE] = ACTIONS(1191),
-    [anon_sym_u_DQUOTE] = ACTIONS(1191),
-    [anon_sym_U_DQUOTE] = ACTIONS(1191),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1191),
-    [anon_sym_DQUOTE] = ACTIONS(1191),
-    [sym_true] = ACTIONS(1189),
-    [sym_false] = ACTIONS(1189),
-    [anon_sym_NULL] = ACTIONS(1189),
-    [anon_sym_nullptr] = ACTIONS(1189),
+    [sym_identifier] = ACTIONS(1254),
+    [aux_sym_preproc_include_token1] = ACTIONS(1254),
+    [aux_sym_preproc_def_token1] = ACTIONS(1254),
+    [aux_sym_preproc_if_token1] = ACTIONS(1254),
+    [aux_sym_preproc_if_token2] = ACTIONS(1254),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1254),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1254),
+    [sym_preproc_directive] = ACTIONS(1254),
+    [anon_sym_LPAREN2] = ACTIONS(1256),
+    [anon_sym_BANG] = ACTIONS(1256),
+    [anon_sym_TILDE] = ACTIONS(1256),
+    [anon_sym_DASH] = ACTIONS(1254),
+    [anon_sym_PLUS] = ACTIONS(1254),
+    [anon_sym_STAR] = ACTIONS(1256),
+    [anon_sym_AMP] = ACTIONS(1256),
+    [anon_sym_SEMI] = ACTIONS(1256),
+    [anon_sym___extension__] = ACTIONS(1254),
+    [anon_sym_typedef] = ACTIONS(1254),
+    [anon_sym_extern] = ACTIONS(1254),
+    [anon_sym___attribute__] = ACTIONS(1254),
+    [anon_sym___attribute] = ACTIONS(1254),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1256),
+    [anon_sym___declspec] = ACTIONS(1254),
+    [anon_sym___cdecl] = ACTIONS(1254),
+    [anon_sym___clrcall] = ACTIONS(1254),
+    [anon_sym___stdcall] = ACTIONS(1254),
+    [anon_sym___fastcall] = ACTIONS(1254),
+    [anon_sym___thiscall] = ACTIONS(1254),
+    [anon_sym___vectorcall] = ACTIONS(1254),
+    [anon_sym_LBRACE] = ACTIONS(1256),
+    [anon_sym_signed] = ACTIONS(1254),
+    [anon_sym_unsigned] = ACTIONS(1254),
+    [anon_sym_long] = ACTIONS(1254),
+    [anon_sym_short] = ACTIONS(1254),
+    [anon_sym_static] = ACTIONS(1254),
+    [anon_sym_auto] = ACTIONS(1254),
+    [anon_sym_register] = ACTIONS(1254),
+    [anon_sym_inline] = ACTIONS(1254),
+    [anon_sym___inline] = ACTIONS(1254),
+    [anon_sym___inline__] = ACTIONS(1254),
+    [anon_sym___forceinline] = ACTIONS(1254),
+    [anon_sym_thread_local] = ACTIONS(1254),
+    [anon_sym___thread] = ACTIONS(1254),
+    [anon_sym_const] = ACTIONS(1254),
+    [anon_sym_constexpr] = ACTIONS(1254),
+    [anon_sym_volatile] = ACTIONS(1254),
+    [anon_sym_restrict] = ACTIONS(1254),
+    [anon_sym___restrict__] = ACTIONS(1254),
+    [anon_sym__Atomic] = ACTIONS(1254),
+    [anon_sym__Noreturn] = ACTIONS(1254),
+    [anon_sym_noreturn] = ACTIONS(1254),
+    [anon_sym__Nonnull] = ACTIONS(1254),
+    [anon_sym_alignas] = ACTIONS(1254),
+    [anon_sym__Alignas] = ACTIONS(1254),
+    [sym_primitive_type] = ACTIONS(1254),
+    [anon_sym_enum] = ACTIONS(1254),
+    [anon_sym_struct] = ACTIONS(1254),
+    [anon_sym_union] = ACTIONS(1254),
+    [anon_sym_if] = ACTIONS(1254),
+    [anon_sym_else] = ACTIONS(1254),
+    [anon_sym_switch] = ACTIONS(1254),
+    [anon_sym_case] = ACTIONS(1254),
+    [anon_sym_default] = ACTIONS(1254),
+    [anon_sym_while] = ACTIONS(1254),
+    [anon_sym_do] = ACTIONS(1254),
+    [anon_sym_for] = ACTIONS(1254),
+    [anon_sym_return] = ACTIONS(1254),
+    [anon_sym_break] = ACTIONS(1254),
+    [anon_sym_continue] = ACTIONS(1254),
+    [anon_sym_goto] = ACTIONS(1254),
+    [anon_sym___try] = ACTIONS(1254),
+    [anon_sym___leave] = ACTIONS(1254),
+    [anon_sym_DASH_DASH] = ACTIONS(1256),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1256),
+    [anon_sym_sizeof] = ACTIONS(1254),
+    [anon_sym___alignof__] = ACTIONS(1254),
+    [anon_sym___alignof] = ACTIONS(1254),
+    [anon_sym__alignof] = ACTIONS(1254),
+    [anon_sym_alignof] = ACTIONS(1254),
+    [anon_sym__Alignof] = ACTIONS(1254),
+    [anon_sym_offsetof] = ACTIONS(1254),
+    [anon_sym__Generic] = ACTIONS(1254),
+    [anon_sym_asm] = ACTIONS(1254),
+    [anon_sym___asm__] = ACTIONS(1254),
+    [anon_sym___asm] = ACTIONS(1254),
+    [sym_number_literal] = ACTIONS(1256),
+    [anon_sym_L_SQUOTE] = ACTIONS(1256),
+    [anon_sym_u_SQUOTE] = ACTIONS(1256),
+    [anon_sym_U_SQUOTE] = ACTIONS(1256),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1256),
+    [anon_sym_SQUOTE] = ACTIONS(1256),
+    [anon_sym_L_DQUOTE] = ACTIONS(1256),
+    [anon_sym_u_DQUOTE] = ACTIONS(1256),
+    [anon_sym_U_DQUOTE] = ACTIONS(1256),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1256),
+    [anon_sym_DQUOTE] = ACTIONS(1256),
+    [sym_true] = ACTIONS(1254),
+    [sym_false] = ACTIONS(1254),
+    [anon_sym_NULL] = ACTIONS(1254),
+    [anon_sym_nullptr] = ACTIONS(1254),
     [sym_comment] = ACTIONS(3),
   },
   [191] = {
-    [sym_identifier] = ACTIONS(1189),
-    [aux_sym_preproc_include_token1] = ACTIONS(1189),
-    [aux_sym_preproc_def_token1] = ACTIONS(1189),
-    [aux_sym_preproc_if_token1] = ACTIONS(1189),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1189),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1189),
-    [sym_preproc_directive] = ACTIONS(1189),
-    [anon_sym_LPAREN2] = ACTIONS(1191),
-    [anon_sym_BANG] = ACTIONS(1191),
-    [anon_sym_TILDE] = ACTIONS(1191),
-    [anon_sym_DASH] = ACTIONS(1189),
-    [anon_sym_PLUS] = ACTIONS(1189),
-    [anon_sym_STAR] = ACTIONS(1191),
-    [anon_sym_AMP] = ACTIONS(1191),
-    [anon_sym_SEMI] = ACTIONS(1191),
-    [anon_sym___extension__] = ACTIONS(1189),
-    [anon_sym_typedef] = ACTIONS(1189),
-    [anon_sym_extern] = ACTIONS(1189),
-    [anon_sym___attribute__] = ACTIONS(1189),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1191),
-    [anon_sym___declspec] = ACTIONS(1189),
-    [anon_sym___cdecl] = ACTIONS(1189),
-    [anon_sym___clrcall] = ACTIONS(1189),
-    [anon_sym___stdcall] = ACTIONS(1189),
-    [anon_sym___fastcall] = ACTIONS(1189),
-    [anon_sym___thiscall] = ACTIONS(1189),
-    [anon_sym___vectorcall] = ACTIONS(1189),
-    [anon_sym_LBRACE] = ACTIONS(1191),
-    [anon_sym_RBRACE] = ACTIONS(1191),
-    [anon_sym_signed] = ACTIONS(1189),
-    [anon_sym_unsigned] = ACTIONS(1189),
-    [anon_sym_long] = ACTIONS(1189),
-    [anon_sym_short] = ACTIONS(1189),
-    [anon_sym_static] = ACTIONS(1189),
-    [anon_sym_auto] = ACTIONS(1189),
-    [anon_sym_register] = ACTIONS(1189),
-    [anon_sym_inline] = ACTIONS(1189),
-    [anon_sym___inline] = ACTIONS(1189),
-    [anon_sym___inline__] = ACTIONS(1189),
-    [anon_sym___forceinline] = ACTIONS(1189),
-    [anon_sym_thread_local] = ACTIONS(1189),
-    [anon_sym___thread] = ACTIONS(1189),
-    [anon_sym_const] = ACTIONS(1189),
-    [anon_sym_constexpr] = ACTIONS(1189),
-    [anon_sym_volatile] = ACTIONS(1189),
-    [anon_sym_restrict] = ACTIONS(1189),
-    [anon_sym___restrict__] = ACTIONS(1189),
-    [anon_sym__Atomic] = ACTIONS(1189),
-    [anon_sym__Noreturn] = ACTIONS(1189),
-    [anon_sym_noreturn] = ACTIONS(1189),
-    [anon_sym__Nonnull] = ACTIONS(1189),
-    [anon_sym_alignas] = ACTIONS(1189),
-    [anon_sym__Alignas] = ACTIONS(1189),
-    [sym_primitive_type] = ACTIONS(1189),
-    [anon_sym_enum] = ACTIONS(1189),
-    [anon_sym_struct] = ACTIONS(1189),
-    [anon_sym_union] = ACTIONS(1189),
-    [anon_sym_if] = ACTIONS(1189),
-    [anon_sym_else] = ACTIONS(1189),
-    [anon_sym_switch] = ACTIONS(1189),
-    [anon_sym_case] = ACTIONS(1189),
-    [anon_sym_default] = ACTIONS(1189),
-    [anon_sym_while] = ACTIONS(1189),
-    [anon_sym_do] = ACTIONS(1189),
-    [anon_sym_for] = ACTIONS(1189),
-    [anon_sym_return] = ACTIONS(1189),
-    [anon_sym_break] = ACTIONS(1189),
-    [anon_sym_continue] = ACTIONS(1189),
-    [anon_sym_goto] = ACTIONS(1189),
-    [anon_sym___try] = ACTIONS(1189),
-    [anon_sym___leave] = ACTIONS(1189),
-    [anon_sym_DASH_DASH] = ACTIONS(1191),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1191),
-    [anon_sym_sizeof] = ACTIONS(1189),
-    [anon_sym___alignof__] = ACTIONS(1189),
-    [anon_sym___alignof] = ACTIONS(1189),
-    [anon_sym__alignof] = ACTIONS(1189),
-    [anon_sym_alignof] = ACTIONS(1189),
-    [anon_sym__Alignof] = ACTIONS(1189),
-    [anon_sym_offsetof] = ACTIONS(1189),
-    [anon_sym__Generic] = ACTIONS(1189),
-    [anon_sym_asm] = ACTIONS(1189),
-    [anon_sym___asm__] = ACTIONS(1189),
-    [anon_sym___asm] = ACTIONS(1189),
-    [sym_number_literal] = ACTIONS(1191),
-    [anon_sym_L_SQUOTE] = ACTIONS(1191),
-    [anon_sym_u_SQUOTE] = ACTIONS(1191),
-    [anon_sym_U_SQUOTE] = ACTIONS(1191),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1191),
-    [anon_sym_SQUOTE] = ACTIONS(1191),
-    [anon_sym_L_DQUOTE] = ACTIONS(1191),
-    [anon_sym_u_DQUOTE] = ACTIONS(1191),
-    [anon_sym_U_DQUOTE] = ACTIONS(1191),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1191),
-    [anon_sym_DQUOTE] = ACTIONS(1191),
-    [sym_true] = ACTIONS(1189),
-    [sym_false] = ACTIONS(1189),
-    [anon_sym_NULL] = ACTIONS(1189),
-    [anon_sym_nullptr] = ACTIONS(1189),
+    [sym_identifier] = ACTIONS(1146),
+    [aux_sym_preproc_include_token1] = ACTIONS(1146),
+    [aux_sym_preproc_def_token1] = ACTIONS(1146),
+    [aux_sym_preproc_if_token1] = ACTIONS(1146),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1146),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1146),
+    [sym_preproc_directive] = ACTIONS(1146),
+    [anon_sym_LPAREN2] = ACTIONS(1148),
+    [anon_sym_BANG] = ACTIONS(1148),
+    [anon_sym_TILDE] = ACTIONS(1148),
+    [anon_sym_DASH] = ACTIONS(1146),
+    [anon_sym_PLUS] = ACTIONS(1146),
+    [anon_sym_STAR] = ACTIONS(1148),
+    [anon_sym_AMP] = ACTIONS(1148),
+    [anon_sym_SEMI] = ACTIONS(1148),
+    [anon_sym___extension__] = ACTIONS(1146),
+    [anon_sym_typedef] = ACTIONS(1146),
+    [anon_sym_extern] = ACTIONS(1146),
+    [anon_sym___attribute__] = ACTIONS(1146),
+    [anon_sym___attribute] = ACTIONS(1146),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1148),
+    [anon_sym___declspec] = ACTIONS(1146),
+    [anon_sym___cdecl] = ACTIONS(1146),
+    [anon_sym___clrcall] = ACTIONS(1146),
+    [anon_sym___stdcall] = ACTIONS(1146),
+    [anon_sym___fastcall] = ACTIONS(1146),
+    [anon_sym___thiscall] = ACTIONS(1146),
+    [anon_sym___vectorcall] = ACTIONS(1146),
+    [anon_sym_LBRACE] = ACTIONS(1148),
+    [anon_sym_RBRACE] = ACTIONS(1148),
+    [anon_sym_signed] = ACTIONS(1146),
+    [anon_sym_unsigned] = ACTIONS(1146),
+    [anon_sym_long] = ACTIONS(1146),
+    [anon_sym_short] = ACTIONS(1146),
+    [anon_sym_static] = ACTIONS(1146),
+    [anon_sym_auto] = ACTIONS(1146),
+    [anon_sym_register] = ACTIONS(1146),
+    [anon_sym_inline] = ACTIONS(1146),
+    [anon_sym___inline] = ACTIONS(1146),
+    [anon_sym___inline__] = ACTIONS(1146),
+    [anon_sym___forceinline] = ACTIONS(1146),
+    [anon_sym_thread_local] = ACTIONS(1146),
+    [anon_sym___thread] = ACTIONS(1146),
+    [anon_sym_const] = ACTIONS(1146),
+    [anon_sym_constexpr] = ACTIONS(1146),
+    [anon_sym_volatile] = ACTIONS(1146),
+    [anon_sym_restrict] = ACTIONS(1146),
+    [anon_sym___restrict__] = ACTIONS(1146),
+    [anon_sym__Atomic] = ACTIONS(1146),
+    [anon_sym__Noreturn] = ACTIONS(1146),
+    [anon_sym_noreturn] = ACTIONS(1146),
+    [anon_sym__Nonnull] = ACTIONS(1146),
+    [anon_sym_alignas] = ACTIONS(1146),
+    [anon_sym__Alignas] = ACTIONS(1146),
+    [sym_primitive_type] = ACTIONS(1146),
+    [anon_sym_enum] = ACTIONS(1146),
+    [anon_sym_struct] = ACTIONS(1146),
+    [anon_sym_union] = ACTIONS(1146),
+    [anon_sym_if] = ACTIONS(1146),
+    [anon_sym_else] = ACTIONS(1146),
+    [anon_sym_switch] = ACTIONS(1146),
+    [anon_sym_case] = ACTIONS(1146),
+    [anon_sym_default] = ACTIONS(1146),
+    [anon_sym_while] = ACTIONS(1146),
+    [anon_sym_do] = ACTIONS(1146),
+    [anon_sym_for] = ACTIONS(1146),
+    [anon_sym_return] = ACTIONS(1146),
+    [anon_sym_break] = ACTIONS(1146),
+    [anon_sym_continue] = ACTIONS(1146),
+    [anon_sym_goto] = ACTIONS(1146),
+    [anon_sym___try] = ACTIONS(1146),
+    [anon_sym___leave] = ACTIONS(1146),
+    [anon_sym_DASH_DASH] = ACTIONS(1148),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1148),
+    [anon_sym_sizeof] = ACTIONS(1146),
+    [anon_sym___alignof__] = ACTIONS(1146),
+    [anon_sym___alignof] = ACTIONS(1146),
+    [anon_sym__alignof] = ACTIONS(1146),
+    [anon_sym_alignof] = ACTIONS(1146),
+    [anon_sym__Alignof] = ACTIONS(1146),
+    [anon_sym_offsetof] = ACTIONS(1146),
+    [anon_sym__Generic] = ACTIONS(1146),
+    [anon_sym_asm] = ACTIONS(1146),
+    [anon_sym___asm__] = ACTIONS(1146),
+    [anon_sym___asm] = ACTIONS(1146),
+    [sym_number_literal] = ACTIONS(1148),
+    [anon_sym_L_SQUOTE] = ACTIONS(1148),
+    [anon_sym_u_SQUOTE] = ACTIONS(1148),
+    [anon_sym_U_SQUOTE] = ACTIONS(1148),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1148),
+    [anon_sym_SQUOTE] = ACTIONS(1148),
+    [anon_sym_L_DQUOTE] = ACTIONS(1148),
+    [anon_sym_u_DQUOTE] = ACTIONS(1148),
+    [anon_sym_U_DQUOTE] = ACTIONS(1148),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1148),
+    [anon_sym_DQUOTE] = ACTIONS(1148),
+    [sym_true] = ACTIONS(1146),
+    [sym_false] = ACTIONS(1146),
+    [anon_sym_NULL] = ACTIONS(1146),
+    [anon_sym_nullptr] = ACTIONS(1146),
     [sym_comment] = ACTIONS(3),
   },
   [192] = {
-    [sym_identifier] = ACTIONS(1193),
-    [aux_sym_preproc_include_token1] = ACTIONS(1193),
-    [aux_sym_preproc_def_token1] = ACTIONS(1193),
-    [aux_sym_preproc_if_token1] = ACTIONS(1193),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1193),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1193),
-    [sym_preproc_directive] = ACTIONS(1193),
-    [anon_sym_LPAREN2] = ACTIONS(1195),
-    [anon_sym_BANG] = ACTIONS(1195),
-    [anon_sym_TILDE] = ACTIONS(1195),
-    [anon_sym_DASH] = ACTIONS(1193),
-    [anon_sym_PLUS] = ACTIONS(1193),
-    [anon_sym_STAR] = ACTIONS(1195),
-    [anon_sym_AMP] = ACTIONS(1195),
-    [anon_sym_SEMI] = ACTIONS(1195),
-    [anon_sym___extension__] = ACTIONS(1193),
-    [anon_sym_typedef] = ACTIONS(1193),
-    [anon_sym_extern] = ACTIONS(1193),
-    [anon_sym___attribute__] = ACTIONS(1193),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1195),
-    [anon_sym___declspec] = ACTIONS(1193),
-    [anon_sym___cdecl] = ACTIONS(1193),
-    [anon_sym___clrcall] = ACTIONS(1193),
-    [anon_sym___stdcall] = ACTIONS(1193),
-    [anon_sym___fastcall] = ACTIONS(1193),
-    [anon_sym___thiscall] = ACTIONS(1193),
-    [anon_sym___vectorcall] = ACTIONS(1193),
-    [anon_sym_LBRACE] = ACTIONS(1195),
-    [anon_sym_RBRACE] = ACTIONS(1195),
-    [anon_sym_signed] = ACTIONS(1193),
-    [anon_sym_unsigned] = ACTIONS(1193),
-    [anon_sym_long] = ACTIONS(1193),
-    [anon_sym_short] = ACTIONS(1193),
-    [anon_sym_static] = ACTIONS(1193),
-    [anon_sym_auto] = ACTIONS(1193),
-    [anon_sym_register] = ACTIONS(1193),
-    [anon_sym_inline] = ACTIONS(1193),
-    [anon_sym___inline] = ACTIONS(1193),
-    [anon_sym___inline__] = ACTIONS(1193),
-    [anon_sym___forceinline] = ACTIONS(1193),
-    [anon_sym_thread_local] = ACTIONS(1193),
-    [anon_sym___thread] = ACTIONS(1193),
-    [anon_sym_const] = ACTIONS(1193),
-    [anon_sym_constexpr] = ACTIONS(1193),
-    [anon_sym_volatile] = ACTIONS(1193),
-    [anon_sym_restrict] = ACTIONS(1193),
-    [anon_sym___restrict__] = ACTIONS(1193),
-    [anon_sym__Atomic] = ACTIONS(1193),
-    [anon_sym__Noreturn] = ACTIONS(1193),
-    [anon_sym_noreturn] = ACTIONS(1193),
-    [anon_sym__Nonnull] = ACTIONS(1193),
-    [anon_sym_alignas] = ACTIONS(1193),
-    [anon_sym__Alignas] = ACTIONS(1193),
-    [sym_primitive_type] = ACTIONS(1193),
-    [anon_sym_enum] = ACTIONS(1193),
-    [anon_sym_struct] = ACTIONS(1193),
-    [anon_sym_union] = ACTIONS(1193),
-    [anon_sym_if] = ACTIONS(1193),
-    [anon_sym_else] = ACTIONS(1193),
-    [anon_sym_switch] = ACTIONS(1193),
-    [anon_sym_case] = ACTIONS(1193),
-    [anon_sym_default] = ACTIONS(1193),
-    [anon_sym_while] = ACTIONS(1193),
-    [anon_sym_do] = ACTIONS(1193),
-    [anon_sym_for] = ACTIONS(1193),
-    [anon_sym_return] = ACTIONS(1193),
-    [anon_sym_break] = ACTIONS(1193),
-    [anon_sym_continue] = ACTIONS(1193),
-    [anon_sym_goto] = ACTIONS(1193),
-    [anon_sym___try] = ACTIONS(1193),
-    [anon_sym___leave] = ACTIONS(1193),
-    [anon_sym_DASH_DASH] = ACTIONS(1195),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1195),
-    [anon_sym_sizeof] = ACTIONS(1193),
-    [anon_sym___alignof__] = ACTIONS(1193),
-    [anon_sym___alignof] = ACTIONS(1193),
-    [anon_sym__alignof] = ACTIONS(1193),
-    [anon_sym_alignof] = ACTIONS(1193),
-    [anon_sym__Alignof] = ACTIONS(1193),
-    [anon_sym_offsetof] = ACTIONS(1193),
-    [anon_sym__Generic] = ACTIONS(1193),
-    [anon_sym_asm] = ACTIONS(1193),
-    [anon_sym___asm__] = ACTIONS(1193),
-    [anon_sym___asm] = ACTIONS(1193),
-    [sym_number_literal] = ACTIONS(1195),
-    [anon_sym_L_SQUOTE] = ACTIONS(1195),
-    [anon_sym_u_SQUOTE] = ACTIONS(1195),
-    [anon_sym_U_SQUOTE] = ACTIONS(1195),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1195),
-    [anon_sym_SQUOTE] = ACTIONS(1195),
-    [anon_sym_L_DQUOTE] = ACTIONS(1195),
-    [anon_sym_u_DQUOTE] = ACTIONS(1195),
-    [anon_sym_U_DQUOTE] = ACTIONS(1195),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1195),
-    [anon_sym_DQUOTE] = ACTIONS(1195),
-    [sym_true] = ACTIONS(1193),
-    [sym_false] = ACTIONS(1193),
-    [anon_sym_NULL] = ACTIONS(1193),
-    [anon_sym_nullptr] = ACTIONS(1193),
+    [sym_identifier] = ACTIONS(1150),
+    [aux_sym_preproc_include_token1] = ACTIONS(1150),
+    [aux_sym_preproc_def_token1] = ACTIONS(1150),
+    [aux_sym_preproc_if_token1] = ACTIONS(1150),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1150),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1150),
+    [sym_preproc_directive] = ACTIONS(1150),
+    [anon_sym_LPAREN2] = ACTIONS(1152),
+    [anon_sym_BANG] = ACTIONS(1152),
+    [anon_sym_TILDE] = ACTIONS(1152),
+    [anon_sym_DASH] = ACTIONS(1150),
+    [anon_sym_PLUS] = ACTIONS(1150),
+    [anon_sym_STAR] = ACTIONS(1152),
+    [anon_sym_AMP] = ACTIONS(1152),
+    [anon_sym_SEMI] = ACTIONS(1152),
+    [anon_sym___extension__] = ACTIONS(1150),
+    [anon_sym_typedef] = ACTIONS(1150),
+    [anon_sym_extern] = ACTIONS(1150),
+    [anon_sym___attribute__] = ACTIONS(1150),
+    [anon_sym___attribute] = ACTIONS(1150),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1152),
+    [anon_sym___declspec] = ACTIONS(1150),
+    [anon_sym___cdecl] = ACTIONS(1150),
+    [anon_sym___clrcall] = ACTIONS(1150),
+    [anon_sym___stdcall] = ACTIONS(1150),
+    [anon_sym___fastcall] = ACTIONS(1150),
+    [anon_sym___thiscall] = ACTIONS(1150),
+    [anon_sym___vectorcall] = ACTIONS(1150),
+    [anon_sym_LBRACE] = ACTIONS(1152),
+    [anon_sym_RBRACE] = ACTIONS(1152),
+    [anon_sym_signed] = ACTIONS(1150),
+    [anon_sym_unsigned] = ACTIONS(1150),
+    [anon_sym_long] = ACTIONS(1150),
+    [anon_sym_short] = ACTIONS(1150),
+    [anon_sym_static] = ACTIONS(1150),
+    [anon_sym_auto] = ACTIONS(1150),
+    [anon_sym_register] = ACTIONS(1150),
+    [anon_sym_inline] = ACTIONS(1150),
+    [anon_sym___inline] = ACTIONS(1150),
+    [anon_sym___inline__] = ACTIONS(1150),
+    [anon_sym___forceinline] = ACTIONS(1150),
+    [anon_sym_thread_local] = ACTIONS(1150),
+    [anon_sym___thread] = ACTIONS(1150),
+    [anon_sym_const] = ACTIONS(1150),
+    [anon_sym_constexpr] = ACTIONS(1150),
+    [anon_sym_volatile] = ACTIONS(1150),
+    [anon_sym_restrict] = ACTIONS(1150),
+    [anon_sym___restrict__] = ACTIONS(1150),
+    [anon_sym__Atomic] = ACTIONS(1150),
+    [anon_sym__Noreturn] = ACTIONS(1150),
+    [anon_sym_noreturn] = ACTIONS(1150),
+    [anon_sym__Nonnull] = ACTIONS(1150),
+    [anon_sym_alignas] = ACTIONS(1150),
+    [anon_sym__Alignas] = ACTIONS(1150),
+    [sym_primitive_type] = ACTIONS(1150),
+    [anon_sym_enum] = ACTIONS(1150),
+    [anon_sym_struct] = ACTIONS(1150),
+    [anon_sym_union] = ACTIONS(1150),
+    [anon_sym_if] = ACTIONS(1150),
+    [anon_sym_else] = ACTIONS(1150),
+    [anon_sym_switch] = ACTIONS(1150),
+    [anon_sym_case] = ACTIONS(1150),
+    [anon_sym_default] = ACTIONS(1150),
+    [anon_sym_while] = ACTIONS(1150),
+    [anon_sym_do] = ACTIONS(1150),
+    [anon_sym_for] = ACTIONS(1150),
+    [anon_sym_return] = ACTIONS(1150),
+    [anon_sym_break] = ACTIONS(1150),
+    [anon_sym_continue] = ACTIONS(1150),
+    [anon_sym_goto] = ACTIONS(1150),
+    [anon_sym___try] = ACTIONS(1150),
+    [anon_sym___leave] = ACTIONS(1150),
+    [anon_sym_DASH_DASH] = ACTIONS(1152),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1152),
+    [anon_sym_sizeof] = ACTIONS(1150),
+    [anon_sym___alignof__] = ACTIONS(1150),
+    [anon_sym___alignof] = ACTIONS(1150),
+    [anon_sym__alignof] = ACTIONS(1150),
+    [anon_sym_alignof] = ACTIONS(1150),
+    [anon_sym__Alignof] = ACTIONS(1150),
+    [anon_sym_offsetof] = ACTIONS(1150),
+    [anon_sym__Generic] = ACTIONS(1150),
+    [anon_sym_asm] = ACTIONS(1150),
+    [anon_sym___asm__] = ACTIONS(1150),
+    [anon_sym___asm] = ACTIONS(1150),
+    [sym_number_literal] = ACTIONS(1152),
+    [anon_sym_L_SQUOTE] = ACTIONS(1152),
+    [anon_sym_u_SQUOTE] = ACTIONS(1152),
+    [anon_sym_U_SQUOTE] = ACTIONS(1152),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1152),
+    [anon_sym_SQUOTE] = ACTIONS(1152),
+    [anon_sym_L_DQUOTE] = ACTIONS(1152),
+    [anon_sym_u_DQUOTE] = ACTIONS(1152),
+    [anon_sym_U_DQUOTE] = ACTIONS(1152),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1152),
+    [anon_sym_DQUOTE] = ACTIONS(1152),
+    [sym_true] = ACTIONS(1150),
+    [sym_false] = ACTIONS(1150),
+    [anon_sym_NULL] = ACTIONS(1150),
+    [anon_sym_nullptr] = ACTIONS(1150),
     [sym_comment] = ACTIONS(3),
   },
   [193] = {
-    [ts_builtin_sym_end] = ACTIONS(1199),
-    [sym_identifier] = ACTIONS(1197),
-    [aux_sym_preproc_include_token1] = ACTIONS(1197),
-    [aux_sym_preproc_def_token1] = ACTIONS(1197),
-    [aux_sym_preproc_if_token1] = ACTIONS(1197),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1197),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1197),
-    [sym_preproc_directive] = ACTIONS(1197),
-    [anon_sym_LPAREN2] = ACTIONS(1199),
-    [anon_sym_BANG] = ACTIONS(1199),
-    [anon_sym_TILDE] = ACTIONS(1199),
-    [anon_sym_DASH] = ACTIONS(1197),
-    [anon_sym_PLUS] = ACTIONS(1197),
-    [anon_sym_STAR] = ACTIONS(1199),
-    [anon_sym_AMP] = ACTIONS(1199),
-    [anon_sym_SEMI] = ACTIONS(1199),
-    [anon_sym___extension__] = ACTIONS(1197),
-    [anon_sym_typedef] = ACTIONS(1197),
-    [anon_sym_extern] = ACTIONS(1197),
-    [anon_sym___attribute__] = ACTIONS(1197),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1199),
-    [anon_sym___declspec] = ACTIONS(1197),
-    [anon_sym___cdecl] = ACTIONS(1197),
-    [anon_sym___clrcall] = ACTIONS(1197),
-    [anon_sym___stdcall] = ACTIONS(1197),
-    [anon_sym___fastcall] = ACTIONS(1197),
-    [anon_sym___thiscall] = ACTIONS(1197),
-    [anon_sym___vectorcall] = ACTIONS(1197),
-    [anon_sym_LBRACE] = ACTIONS(1199),
-    [anon_sym_signed] = ACTIONS(1197),
-    [anon_sym_unsigned] = ACTIONS(1197),
-    [anon_sym_long] = ACTIONS(1197),
-    [anon_sym_short] = ACTIONS(1197),
-    [anon_sym_static] = ACTIONS(1197),
-    [anon_sym_auto] = ACTIONS(1197),
-    [anon_sym_register] = ACTIONS(1197),
-    [anon_sym_inline] = ACTIONS(1197),
-    [anon_sym___inline] = ACTIONS(1197),
-    [anon_sym___inline__] = ACTIONS(1197),
-    [anon_sym___forceinline] = ACTIONS(1197),
-    [anon_sym_thread_local] = ACTIONS(1197),
-    [anon_sym___thread] = ACTIONS(1197),
-    [anon_sym_const] = ACTIONS(1197),
-    [anon_sym_constexpr] = ACTIONS(1197),
-    [anon_sym_volatile] = ACTIONS(1197),
-    [anon_sym_restrict] = ACTIONS(1197),
-    [anon_sym___restrict__] = ACTIONS(1197),
-    [anon_sym__Atomic] = ACTIONS(1197),
-    [anon_sym__Noreturn] = ACTIONS(1197),
-    [anon_sym_noreturn] = ACTIONS(1197),
-    [anon_sym__Nonnull] = ACTIONS(1197),
-    [anon_sym_alignas] = ACTIONS(1197),
-    [anon_sym__Alignas] = ACTIONS(1197),
-    [sym_primitive_type] = ACTIONS(1197),
-    [anon_sym_enum] = ACTIONS(1197),
-    [anon_sym_struct] = ACTIONS(1197),
-    [anon_sym_union] = ACTIONS(1197),
-    [anon_sym_if] = ACTIONS(1197),
-    [anon_sym_else] = ACTIONS(1197),
-    [anon_sym_switch] = ACTIONS(1197),
-    [anon_sym_case] = ACTIONS(1197),
-    [anon_sym_default] = ACTIONS(1197),
-    [anon_sym_while] = ACTIONS(1197),
-    [anon_sym_do] = ACTIONS(1197),
-    [anon_sym_for] = ACTIONS(1197),
-    [anon_sym_return] = ACTIONS(1197),
-    [anon_sym_break] = ACTIONS(1197),
-    [anon_sym_continue] = ACTIONS(1197),
-    [anon_sym_goto] = ACTIONS(1197),
-    [anon_sym___try] = ACTIONS(1197),
-    [anon_sym___leave] = ACTIONS(1197),
-    [anon_sym_DASH_DASH] = ACTIONS(1199),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1199),
-    [anon_sym_sizeof] = ACTIONS(1197),
-    [anon_sym___alignof__] = ACTIONS(1197),
-    [anon_sym___alignof] = ACTIONS(1197),
-    [anon_sym__alignof] = ACTIONS(1197),
-    [anon_sym_alignof] = ACTIONS(1197),
-    [anon_sym__Alignof] = ACTIONS(1197),
-    [anon_sym_offsetof] = ACTIONS(1197),
-    [anon_sym__Generic] = ACTIONS(1197),
-    [anon_sym_asm] = ACTIONS(1197),
-    [anon_sym___asm__] = ACTIONS(1197),
-    [anon_sym___asm] = ACTIONS(1197),
-    [sym_number_literal] = ACTIONS(1199),
-    [anon_sym_L_SQUOTE] = ACTIONS(1199),
-    [anon_sym_u_SQUOTE] = ACTIONS(1199),
-    [anon_sym_U_SQUOTE] = ACTIONS(1199),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1199),
-    [anon_sym_SQUOTE] = ACTIONS(1199),
-    [anon_sym_L_DQUOTE] = ACTIONS(1199),
-    [anon_sym_u_DQUOTE] = ACTIONS(1199),
-    [anon_sym_U_DQUOTE] = ACTIONS(1199),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1199),
-    [anon_sym_DQUOTE] = ACTIONS(1199),
-    [sym_true] = ACTIONS(1197),
-    [sym_false] = ACTIONS(1197),
-    [anon_sym_NULL] = ACTIONS(1197),
-    [anon_sym_nullptr] = ACTIONS(1197),
+    [sym_identifier] = ACTIONS(1138),
+    [aux_sym_preproc_include_token1] = ACTIONS(1138),
+    [aux_sym_preproc_def_token1] = ACTIONS(1138),
+    [aux_sym_preproc_if_token1] = ACTIONS(1138),
+    [aux_sym_preproc_if_token2] = ACTIONS(1138),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1138),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1138),
+    [sym_preproc_directive] = ACTIONS(1138),
+    [anon_sym_LPAREN2] = ACTIONS(1140),
+    [anon_sym_BANG] = ACTIONS(1140),
+    [anon_sym_TILDE] = ACTIONS(1140),
+    [anon_sym_DASH] = ACTIONS(1138),
+    [anon_sym_PLUS] = ACTIONS(1138),
+    [anon_sym_STAR] = ACTIONS(1140),
+    [anon_sym_AMP] = ACTIONS(1140),
+    [anon_sym_SEMI] = ACTIONS(1140),
+    [anon_sym___extension__] = ACTIONS(1138),
+    [anon_sym_typedef] = ACTIONS(1138),
+    [anon_sym_extern] = ACTIONS(1138),
+    [anon_sym___attribute__] = ACTIONS(1138),
+    [anon_sym___attribute] = ACTIONS(1138),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1140),
+    [anon_sym___declspec] = ACTIONS(1138),
+    [anon_sym___cdecl] = ACTIONS(1138),
+    [anon_sym___clrcall] = ACTIONS(1138),
+    [anon_sym___stdcall] = ACTIONS(1138),
+    [anon_sym___fastcall] = ACTIONS(1138),
+    [anon_sym___thiscall] = ACTIONS(1138),
+    [anon_sym___vectorcall] = ACTIONS(1138),
+    [anon_sym_LBRACE] = ACTIONS(1140),
+    [anon_sym_signed] = ACTIONS(1138),
+    [anon_sym_unsigned] = ACTIONS(1138),
+    [anon_sym_long] = ACTIONS(1138),
+    [anon_sym_short] = ACTIONS(1138),
+    [anon_sym_static] = ACTIONS(1138),
+    [anon_sym_auto] = ACTIONS(1138),
+    [anon_sym_register] = ACTIONS(1138),
+    [anon_sym_inline] = ACTIONS(1138),
+    [anon_sym___inline] = ACTIONS(1138),
+    [anon_sym___inline__] = ACTIONS(1138),
+    [anon_sym___forceinline] = ACTIONS(1138),
+    [anon_sym_thread_local] = ACTIONS(1138),
+    [anon_sym___thread] = ACTIONS(1138),
+    [anon_sym_const] = ACTIONS(1138),
+    [anon_sym_constexpr] = ACTIONS(1138),
+    [anon_sym_volatile] = ACTIONS(1138),
+    [anon_sym_restrict] = ACTIONS(1138),
+    [anon_sym___restrict__] = ACTIONS(1138),
+    [anon_sym__Atomic] = ACTIONS(1138),
+    [anon_sym__Noreturn] = ACTIONS(1138),
+    [anon_sym_noreturn] = ACTIONS(1138),
+    [anon_sym__Nonnull] = ACTIONS(1138),
+    [anon_sym_alignas] = ACTIONS(1138),
+    [anon_sym__Alignas] = ACTIONS(1138),
+    [sym_primitive_type] = ACTIONS(1138),
+    [anon_sym_enum] = ACTIONS(1138),
+    [anon_sym_struct] = ACTIONS(1138),
+    [anon_sym_union] = ACTIONS(1138),
+    [anon_sym_if] = ACTIONS(1138),
+    [anon_sym_else] = ACTIONS(1138),
+    [anon_sym_switch] = ACTIONS(1138),
+    [anon_sym_case] = ACTIONS(1138),
+    [anon_sym_default] = ACTIONS(1138),
+    [anon_sym_while] = ACTIONS(1138),
+    [anon_sym_do] = ACTIONS(1138),
+    [anon_sym_for] = ACTIONS(1138),
+    [anon_sym_return] = ACTIONS(1138),
+    [anon_sym_break] = ACTIONS(1138),
+    [anon_sym_continue] = ACTIONS(1138),
+    [anon_sym_goto] = ACTIONS(1138),
+    [anon_sym___try] = ACTIONS(1138),
+    [anon_sym___leave] = ACTIONS(1138),
+    [anon_sym_DASH_DASH] = ACTIONS(1140),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1140),
+    [anon_sym_sizeof] = ACTIONS(1138),
+    [anon_sym___alignof__] = ACTIONS(1138),
+    [anon_sym___alignof] = ACTIONS(1138),
+    [anon_sym__alignof] = ACTIONS(1138),
+    [anon_sym_alignof] = ACTIONS(1138),
+    [anon_sym__Alignof] = ACTIONS(1138),
+    [anon_sym_offsetof] = ACTIONS(1138),
+    [anon_sym__Generic] = ACTIONS(1138),
+    [anon_sym_asm] = ACTIONS(1138),
+    [anon_sym___asm__] = ACTIONS(1138),
+    [anon_sym___asm] = ACTIONS(1138),
+    [sym_number_literal] = ACTIONS(1140),
+    [anon_sym_L_SQUOTE] = ACTIONS(1140),
+    [anon_sym_u_SQUOTE] = ACTIONS(1140),
+    [anon_sym_U_SQUOTE] = ACTIONS(1140),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1140),
+    [anon_sym_SQUOTE] = ACTIONS(1140),
+    [anon_sym_L_DQUOTE] = ACTIONS(1140),
+    [anon_sym_u_DQUOTE] = ACTIONS(1140),
+    [anon_sym_U_DQUOTE] = ACTIONS(1140),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1140),
+    [anon_sym_DQUOTE] = ACTIONS(1140),
+    [sym_true] = ACTIONS(1138),
+    [sym_false] = ACTIONS(1138),
+    [anon_sym_NULL] = ACTIONS(1138),
+    [anon_sym_nullptr] = ACTIONS(1138),
     [sym_comment] = ACTIONS(3),
   },
   [194] = {
-    [sym_identifier] = ACTIONS(1129),
-    [aux_sym_preproc_include_token1] = ACTIONS(1129),
-    [aux_sym_preproc_def_token1] = ACTIONS(1129),
-    [aux_sym_preproc_if_token1] = ACTIONS(1129),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1129),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1129),
-    [sym_preproc_directive] = ACTIONS(1129),
-    [anon_sym_LPAREN2] = ACTIONS(1131),
-    [anon_sym_BANG] = ACTIONS(1131),
-    [anon_sym_TILDE] = ACTIONS(1131),
-    [anon_sym_DASH] = ACTIONS(1129),
-    [anon_sym_PLUS] = ACTIONS(1129),
-    [anon_sym_STAR] = ACTIONS(1131),
-    [anon_sym_AMP] = ACTIONS(1131),
-    [anon_sym_SEMI] = ACTIONS(1131),
-    [anon_sym___extension__] = ACTIONS(1129),
-    [anon_sym_typedef] = ACTIONS(1129),
-    [anon_sym_extern] = ACTIONS(1129),
-    [anon_sym___attribute__] = ACTIONS(1129),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1131),
-    [anon_sym___declspec] = ACTIONS(1129),
-    [anon_sym___cdecl] = ACTIONS(1129),
-    [anon_sym___clrcall] = ACTIONS(1129),
-    [anon_sym___stdcall] = ACTIONS(1129),
-    [anon_sym___fastcall] = ACTIONS(1129),
-    [anon_sym___thiscall] = ACTIONS(1129),
-    [anon_sym___vectorcall] = ACTIONS(1129),
-    [anon_sym_LBRACE] = ACTIONS(1131),
-    [anon_sym_RBRACE] = ACTIONS(1131),
-    [anon_sym_signed] = ACTIONS(1129),
-    [anon_sym_unsigned] = ACTIONS(1129),
-    [anon_sym_long] = ACTIONS(1129),
-    [anon_sym_short] = ACTIONS(1129),
-    [anon_sym_static] = ACTIONS(1129),
-    [anon_sym_auto] = ACTIONS(1129),
-    [anon_sym_register] = ACTIONS(1129),
-    [anon_sym_inline] = ACTIONS(1129),
-    [anon_sym___inline] = ACTIONS(1129),
-    [anon_sym___inline__] = ACTIONS(1129),
-    [anon_sym___forceinline] = ACTIONS(1129),
-    [anon_sym_thread_local] = ACTIONS(1129),
-    [anon_sym___thread] = ACTIONS(1129),
-    [anon_sym_const] = ACTIONS(1129),
-    [anon_sym_constexpr] = ACTIONS(1129),
-    [anon_sym_volatile] = ACTIONS(1129),
-    [anon_sym_restrict] = ACTIONS(1129),
-    [anon_sym___restrict__] = ACTIONS(1129),
-    [anon_sym__Atomic] = ACTIONS(1129),
-    [anon_sym__Noreturn] = ACTIONS(1129),
-    [anon_sym_noreturn] = ACTIONS(1129),
-    [anon_sym__Nonnull] = ACTIONS(1129),
-    [anon_sym_alignas] = ACTIONS(1129),
-    [anon_sym__Alignas] = ACTIONS(1129),
-    [sym_primitive_type] = ACTIONS(1129),
-    [anon_sym_enum] = ACTIONS(1129),
-    [anon_sym_struct] = ACTIONS(1129),
-    [anon_sym_union] = ACTIONS(1129),
-    [anon_sym_if] = ACTIONS(1129),
-    [anon_sym_else] = ACTIONS(1129),
-    [anon_sym_switch] = ACTIONS(1129),
-    [anon_sym_case] = ACTIONS(1129),
-    [anon_sym_default] = ACTIONS(1129),
-    [anon_sym_while] = ACTIONS(1129),
-    [anon_sym_do] = ACTIONS(1129),
-    [anon_sym_for] = ACTIONS(1129),
-    [anon_sym_return] = ACTIONS(1129),
-    [anon_sym_break] = ACTIONS(1129),
-    [anon_sym_continue] = ACTIONS(1129),
-    [anon_sym_goto] = ACTIONS(1129),
-    [anon_sym___try] = ACTIONS(1129),
-    [anon_sym___leave] = ACTIONS(1129),
-    [anon_sym_DASH_DASH] = ACTIONS(1131),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1131),
-    [anon_sym_sizeof] = ACTIONS(1129),
-    [anon_sym___alignof__] = ACTIONS(1129),
-    [anon_sym___alignof] = ACTIONS(1129),
-    [anon_sym__alignof] = ACTIONS(1129),
-    [anon_sym_alignof] = ACTIONS(1129),
-    [anon_sym__Alignof] = ACTIONS(1129),
-    [anon_sym_offsetof] = ACTIONS(1129),
-    [anon_sym__Generic] = ACTIONS(1129),
-    [anon_sym_asm] = ACTIONS(1129),
-    [anon_sym___asm__] = ACTIONS(1129),
-    [anon_sym___asm] = ACTIONS(1129),
-    [sym_number_literal] = ACTIONS(1131),
-    [anon_sym_L_SQUOTE] = ACTIONS(1131),
-    [anon_sym_u_SQUOTE] = ACTIONS(1131),
-    [anon_sym_U_SQUOTE] = ACTIONS(1131),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1131),
-    [anon_sym_SQUOTE] = ACTIONS(1131),
-    [anon_sym_L_DQUOTE] = ACTIONS(1131),
-    [anon_sym_u_DQUOTE] = ACTIONS(1131),
-    [anon_sym_U_DQUOTE] = ACTIONS(1131),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1131),
-    [anon_sym_DQUOTE] = ACTIONS(1131),
-    [sym_true] = ACTIONS(1129),
-    [sym_false] = ACTIONS(1129),
-    [anon_sym_NULL] = ACTIONS(1129),
-    [anon_sym_nullptr] = ACTIONS(1129),
+    [sym_identifier] = ACTIONS(1142),
+    [aux_sym_preproc_include_token1] = ACTIONS(1142),
+    [aux_sym_preproc_def_token1] = ACTIONS(1142),
+    [aux_sym_preproc_if_token1] = ACTIONS(1142),
+    [aux_sym_preproc_if_token2] = ACTIONS(1142),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1142),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1142),
+    [sym_preproc_directive] = ACTIONS(1142),
+    [anon_sym_LPAREN2] = ACTIONS(1144),
+    [anon_sym_BANG] = ACTIONS(1144),
+    [anon_sym_TILDE] = ACTIONS(1144),
+    [anon_sym_DASH] = ACTIONS(1142),
+    [anon_sym_PLUS] = ACTIONS(1142),
+    [anon_sym_STAR] = ACTIONS(1144),
+    [anon_sym_AMP] = ACTIONS(1144),
+    [anon_sym_SEMI] = ACTIONS(1144),
+    [anon_sym___extension__] = ACTIONS(1142),
+    [anon_sym_typedef] = ACTIONS(1142),
+    [anon_sym_extern] = ACTIONS(1142),
+    [anon_sym___attribute__] = ACTIONS(1142),
+    [anon_sym___attribute] = ACTIONS(1142),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1144),
+    [anon_sym___declspec] = ACTIONS(1142),
+    [anon_sym___cdecl] = ACTIONS(1142),
+    [anon_sym___clrcall] = ACTIONS(1142),
+    [anon_sym___stdcall] = ACTIONS(1142),
+    [anon_sym___fastcall] = ACTIONS(1142),
+    [anon_sym___thiscall] = ACTIONS(1142),
+    [anon_sym___vectorcall] = ACTIONS(1142),
+    [anon_sym_LBRACE] = ACTIONS(1144),
+    [anon_sym_signed] = ACTIONS(1142),
+    [anon_sym_unsigned] = ACTIONS(1142),
+    [anon_sym_long] = ACTIONS(1142),
+    [anon_sym_short] = ACTIONS(1142),
+    [anon_sym_static] = ACTIONS(1142),
+    [anon_sym_auto] = ACTIONS(1142),
+    [anon_sym_register] = ACTIONS(1142),
+    [anon_sym_inline] = ACTIONS(1142),
+    [anon_sym___inline] = ACTIONS(1142),
+    [anon_sym___inline__] = ACTIONS(1142),
+    [anon_sym___forceinline] = ACTIONS(1142),
+    [anon_sym_thread_local] = ACTIONS(1142),
+    [anon_sym___thread] = ACTIONS(1142),
+    [anon_sym_const] = ACTIONS(1142),
+    [anon_sym_constexpr] = ACTIONS(1142),
+    [anon_sym_volatile] = ACTIONS(1142),
+    [anon_sym_restrict] = ACTIONS(1142),
+    [anon_sym___restrict__] = ACTIONS(1142),
+    [anon_sym__Atomic] = ACTIONS(1142),
+    [anon_sym__Noreturn] = ACTIONS(1142),
+    [anon_sym_noreturn] = ACTIONS(1142),
+    [anon_sym__Nonnull] = ACTIONS(1142),
+    [anon_sym_alignas] = ACTIONS(1142),
+    [anon_sym__Alignas] = ACTIONS(1142),
+    [sym_primitive_type] = ACTIONS(1142),
+    [anon_sym_enum] = ACTIONS(1142),
+    [anon_sym_struct] = ACTIONS(1142),
+    [anon_sym_union] = ACTIONS(1142),
+    [anon_sym_if] = ACTIONS(1142),
+    [anon_sym_else] = ACTIONS(1142),
+    [anon_sym_switch] = ACTIONS(1142),
+    [anon_sym_case] = ACTIONS(1142),
+    [anon_sym_default] = ACTIONS(1142),
+    [anon_sym_while] = ACTIONS(1142),
+    [anon_sym_do] = ACTIONS(1142),
+    [anon_sym_for] = ACTIONS(1142),
+    [anon_sym_return] = ACTIONS(1142),
+    [anon_sym_break] = ACTIONS(1142),
+    [anon_sym_continue] = ACTIONS(1142),
+    [anon_sym_goto] = ACTIONS(1142),
+    [anon_sym___try] = ACTIONS(1142),
+    [anon_sym___leave] = ACTIONS(1142),
+    [anon_sym_DASH_DASH] = ACTIONS(1144),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1144),
+    [anon_sym_sizeof] = ACTIONS(1142),
+    [anon_sym___alignof__] = ACTIONS(1142),
+    [anon_sym___alignof] = ACTIONS(1142),
+    [anon_sym__alignof] = ACTIONS(1142),
+    [anon_sym_alignof] = ACTIONS(1142),
+    [anon_sym__Alignof] = ACTIONS(1142),
+    [anon_sym_offsetof] = ACTIONS(1142),
+    [anon_sym__Generic] = ACTIONS(1142),
+    [anon_sym_asm] = ACTIONS(1142),
+    [anon_sym___asm__] = ACTIONS(1142),
+    [anon_sym___asm] = ACTIONS(1142),
+    [sym_number_literal] = ACTIONS(1144),
+    [anon_sym_L_SQUOTE] = ACTIONS(1144),
+    [anon_sym_u_SQUOTE] = ACTIONS(1144),
+    [anon_sym_U_SQUOTE] = ACTIONS(1144),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1144),
+    [anon_sym_SQUOTE] = ACTIONS(1144),
+    [anon_sym_L_DQUOTE] = ACTIONS(1144),
+    [anon_sym_u_DQUOTE] = ACTIONS(1144),
+    [anon_sym_U_DQUOTE] = ACTIONS(1144),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1144),
+    [anon_sym_DQUOTE] = ACTIONS(1144),
+    [sym_true] = ACTIONS(1142),
+    [sym_false] = ACTIONS(1142),
+    [anon_sym_NULL] = ACTIONS(1142),
+    [anon_sym_nullptr] = ACTIONS(1142),
     [sym_comment] = ACTIONS(3),
   },
   [195] = {
-    [sym_identifier] = ACTIONS(1133),
-    [aux_sym_preproc_include_token1] = ACTIONS(1133),
-    [aux_sym_preproc_def_token1] = ACTIONS(1133),
-    [aux_sym_preproc_if_token1] = ACTIONS(1133),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1133),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1133),
-    [sym_preproc_directive] = ACTIONS(1133),
-    [anon_sym_LPAREN2] = ACTIONS(1135),
-    [anon_sym_BANG] = ACTIONS(1135),
-    [anon_sym_TILDE] = ACTIONS(1135),
-    [anon_sym_DASH] = ACTIONS(1133),
-    [anon_sym_PLUS] = ACTIONS(1133),
-    [anon_sym_STAR] = ACTIONS(1135),
-    [anon_sym_AMP] = ACTIONS(1135),
-    [anon_sym_SEMI] = ACTIONS(1135),
-    [anon_sym___extension__] = ACTIONS(1133),
-    [anon_sym_typedef] = ACTIONS(1133),
-    [anon_sym_extern] = ACTIONS(1133),
-    [anon_sym___attribute__] = ACTIONS(1133),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1135),
-    [anon_sym___declspec] = ACTIONS(1133),
-    [anon_sym___cdecl] = ACTIONS(1133),
-    [anon_sym___clrcall] = ACTIONS(1133),
-    [anon_sym___stdcall] = ACTIONS(1133),
-    [anon_sym___fastcall] = ACTIONS(1133),
-    [anon_sym___thiscall] = ACTIONS(1133),
-    [anon_sym___vectorcall] = ACTIONS(1133),
-    [anon_sym_LBRACE] = ACTIONS(1135),
-    [anon_sym_RBRACE] = ACTIONS(1135),
-    [anon_sym_signed] = ACTIONS(1133),
-    [anon_sym_unsigned] = ACTIONS(1133),
-    [anon_sym_long] = ACTIONS(1133),
-    [anon_sym_short] = ACTIONS(1133),
-    [anon_sym_static] = ACTIONS(1133),
-    [anon_sym_auto] = ACTIONS(1133),
-    [anon_sym_register] = ACTIONS(1133),
-    [anon_sym_inline] = ACTIONS(1133),
-    [anon_sym___inline] = ACTIONS(1133),
-    [anon_sym___inline__] = ACTIONS(1133),
-    [anon_sym___forceinline] = ACTIONS(1133),
-    [anon_sym_thread_local] = ACTIONS(1133),
-    [anon_sym___thread] = ACTIONS(1133),
-    [anon_sym_const] = ACTIONS(1133),
-    [anon_sym_constexpr] = ACTIONS(1133),
-    [anon_sym_volatile] = ACTIONS(1133),
-    [anon_sym_restrict] = ACTIONS(1133),
-    [anon_sym___restrict__] = ACTIONS(1133),
-    [anon_sym__Atomic] = ACTIONS(1133),
-    [anon_sym__Noreturn] = ACTIONS(1133),
-    [anon_sym_noreturn] = ACTIONS(1133),
-    [anon_sym__Nonnull] = ACTIONS(1133),
-    [anon_sym_alignas] = ACTIONS(1133),
-    [anon_sym__Alignas] = ACTIONS(1133),
-    [sym_primitive_type] = ACTIONS(1133),
-    [anon_sym_enum] = ACTIONS(1133),
-    [anon_sym_struct] = ACTIONS(1133),
-    [anon_sym_union] = ACTIONS(1133),
-    [anon_sym_if] = ACTIONS(1133),
-    [anon_sym_else] = ACTIONS(1133),
-    [anon_sym_switch] = ACTIONS(1133),
-    [anon_sym_case] = ACTIONS(1133),
-    [anon_sym_default] = ACTIONS(1133),
-    [anon_sym_while] = ACTIONS(1133),
-    [anon_sym_do] = ACTIONS(1133),
-    [anon_sym_for] = ACTIONS(1133),
-    [anon_sym_return] = ACTIONS(1133),
-    [anon_sym_break] = ACTIONS(1133),
-    [anon_sym_continue] = ACTIONS(1133),
-    [anon_sym_goto] = ACTIONS(1133),
-    [anon_sym___try] = ACTIONS(1133),
-    [anon_sym___leave] = ACTIONS(1133),
-    [anon_sym_DASH_DASH] = ACTIONS(1135),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1135),
-    [anon_sym_sizeof] = ACTIONS(1133),
-    [anon_sym___alignof__] = ACTIONS(1133),
-    [anon_sym___alignof] = ACTIONS(1133),
-    [anon_sym__alignof] = ACTIONS(1133),
-    [anon_sym_alignof] = ACTIONS(1133),
-    [anon_sym__Alignof] = ACTIONS(1133),
-    [anon_sym_offsetof] = ACTIONS(1133),
-    [anon_sym__Generic] = ACTIONS(1133),
-    [anon_sym_asm] = ACTIONS(1133),
-    [anon_sym___asm__] = ACTIONS(1133),
-    [anon_sym___asm] = ACTIONS(1133),
-    [sym_number_literal] = ACTIONS(1135),
-    [anon_sym_L_SQUOTE] = ACTIONS(1135),
-    [anon_sym_u_SQUOTE] = ACTIONS(1135),
-    [anon_sym_U_SQUOTE] = ACTIONS(1135),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1135),
-    [anon_sym_SQUOTE] = ACTIONS(1135),
-    [anon_sym_L_DQUOTE] = ACTIONS(1135),
-    [anon_sym_u_DQUOTE] = ACTIONS(1135),
-    [anon_sym_U_DQUOTE] = ACTIONS(1135),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1135),
-    [anon_sym_DQUOTE] = ACTIONS(1135),
-    [sym_true] = ACTIONS(1133),
-    [sym_false] = ACTIONS(1133),
-    [anon_sym_NULL] = ACTIONS(1133),
-    [anon_sym_nullptr] = ACTIONS(1133),
+    [sym_identifier] = ACTIONS(1146),
+    [aux_sym_preproc_include_token1] = ACTIONS(1146),
+    [aux_sym_preproc_def_token1] = ACTIONS(1146),
+    [aux_sym_preproc_if_token1] = ACTIONS(1146),
+    [aux_sym_preproc_if_token2] = ACTIONS(1146),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1146),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1146),
+    [sym_preproc_directive] = ACTIONS(1146),
+    [anon_sym_LPAREN2] = ACTIONS(1148),
+    [anon_sym_BANG] = ACTIONS(1148),
+    [anon_sym_TILDE] = ACTIONS(1148),
+    [anon_sym_DASH] = ACTIONS(1146),
+    [anon_sym_PLUS] = ACTIONS(1146),
+    [anon_sym_STAR] = ACTIONS(1148),
+    [anon_sym_AMP] = ACTIONS(1148),
+    [anon_sym_SEMI] = ACTIONS(1148),
+    [anon_sym___extension__] = ACTIONS(1146),
+    [anon_sym_typedef] = ACTIONS(1146),
+    [anon_sym_extern] = ACTIONS(1146),
+    [anon_sym___attribute__] = ACTIONS(1146),
+    [anon_sym___attribute] = ACTIONS(1146),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1148),
+    [anon_sym___declspec] = ACTIONS(1146),
+    [anon_sym___cdecl] = ACTIONS(1146),
+    [anon_sym___clrcall] = ACTIONS(1146),
+    [anon_sym___stdcall] = ACTIONS(1146),
+    [anon_sym___fastcall] = ACTIONS(1146),
+    [anon_sym___thiscall] = ACTIONS(1146),
+    [anon_sym___vectorcall] = ACTIONS(1146),
+    [anon_sym_LBRACE] = ACTIONS(1148),
+    [anon_sym_signed] = ACTIONS(1146),
+    [anon_sym_unsigned] = ACTIONS(1146),
+    [anon_sym_long] = ACTIONS(1146),
+    [anon_sym_short] = ACTIONS(1146),
+    [anon_sym_static] = ACTIONS(1146),
+    [anon_sym_auto] = ACTIONS(1146),
+    [anon_sym_register] = ACTIONS(1146),
+    [anon_sym_inline] = ACTIONS(1146),
+    [anon_sym___inline] = ACTIONS(1146),
+    [anon_sym___inline__] = ACTIONS(1146),
+    [anon_sym___forceinline] = ACTIONS(1146),
+    [anon_sym_thread_local] = ACTIONS(1146),
+    [anon_sym___thread] = ACTIONS(1146),
+    [anon_sym_const] = ACTIONS(1146),
+    [anon_sym_constexpr] = ACTIONS(1146),
+    [anon_sym_volatile] = ACTIONS(1146),
+    [anon_sym_restrict] = ACTIONS(1146),
+    [anon_sym___restrict__] = ACTIONS(1146),
+    [anon_sym__Atomic] = ACTIONS(1146),
+    [anon_sym__Noreturn] = ACTIONS(1146),
+    [anon_sym_noreturn] = ACTIONS(1146),
+    [anon_sym__Nonnull] = ACTIONS(1146),
+    [anon_sym_alignas] = ACTIONS(1146),
+    [anon_sym__Alignas] = ACTIONS(1146),
+    [sym_primitive_type] = ACTIONS(1146),
+    [anon_sym_enum] = ACTIONS(1146),
+    [anon_sym_struct] = ACTIONS(1146),
+    [anon_sym_union] = ACTIONS(1146),
+    [anon_sym_if] = ACTIONS(1146),
+    [anon_sym_else] = ACTIONS(1146),
+    [anon_sym_switch] = ACTIONS(1146),
+    [anon_sym_case] = ACTIONS(1146),
+    [anon_sym_default] = ACTIONS(1146),
+    [anon_sym_while] = ACTIONS(1146),
+    [anon_sym_do] = ACTIONS(1146),
+    [anon_sym_for] = ACTIONS(1146),
+    [anon_sym_return] = ACTIONS(1146),
+    [anon_sym_break] = ACTIONS(1146),
+    [anon_sym_continue] = ACTIONS(1146),
+    [anon_sym_goto] = ACTIONS(1146),
+    [anon_sym___try] = ACTIONS(1146),
+    [anon_sym___leave] = ACTIONS(1146),
+    [anon_sym_DASH_DASH] = ACTIONS(1148),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1148),
+    [anon_sym_sizeof] = ACTIONS(1146),
+    [anon_sym___alignof__] = ACTIONS(1146),
+    [anon_sym___alignof] = ACTIONS(1146),
+    [anon_sym__alignof] = ACTIONS(1146),
+    [anon_sym_alignof] = ACTIONS(1146),
+    [anon_sym__Alignof] = ACTIONS(1146),
+    [anon_sym_offsetof] = ACTIONS(1146),
+    [anon_sym__Generic] = ACTIONS(1146),
+    [anon_sym_asm] = ACTIONS(1146),
+    [anon_sym___asm__] = ACTIONS(1146),
+    [anon_sym___asm] = ACTIONS(1146),
+    [sym_number_literal] = ACTIONS(1148),
+    [anon_sym_L_SQUOTE] = ACTIONS(1148),
+    [anon_sym_u_SQUOTE] = ACTIONS(1148),
+    [anon_sym_U_SQUOTE] = ACTIONS(1148),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1148),
+    [anon_sym_SQUOTE] = ACTIONS(1148),
+    [anon_sym_L_DQUOTE] = ACTIONS(1148),
+    [anon_sym_u_DQUOTE] = ACTIONS(1148),
+    [anon_sym_U_DQUOTE] = ACTIONS(1148),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1148),
+    [anon_sym_DQUOTE] = ACTIONS(1148),
+    [sym_true] = ACTIONS(1146),
+    [sym_false] = ACTIONS(1146),
+    [anon_sym_NULL] = ACTIONS(1146),
+    [anon_sym_nullptr] = ACTIONS(1146),
     [sym_comment] = ACTIONS(3),
   },
   [196] = {
-    [sym_identifier] = ACTIONS(1201),
-    [aux_sym_preproc_include_token1] = ACTIONS(1201),
-    [aux_sym_preproc_def_token1] = ACTIONS(1201),
-    [aux_sym_preproc_if_token1] = ACTIONS(1201),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1201),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1201),
-    [sym_preproc_directive] = ACTIONS(1201),
-    [anon_sym_LPAREN2] = ACTIONS(1203),
-    [anon_sym_BANG] = ACTIONS(1203),
-    [anon_sym_TILDE] = ACTIONS(1203),
-    [anon_sym_DASH] = ACTIONS(1201),
-    [anon_sym_PLUS] = ACTIONS(1201),
-    [anon_sym_STAR] = ACTIONS(1203),
-    [anon_sym_AMP] = ACTIONS(1203),
-    [anon_sym_SEMI] = ACTIONS(1203),
-    [anon_sym___extension__] = ACTIONS(1201),
-    [anon_sym_typedef] = ACTIONS(1201),
-    [anon_sym_extern] = ACTIONS(1201),
-    [anon_sym___attribute__] = ACTIONS(1201),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1203),
-    [anon_sym___declspec] = ACTIONS(1201),
-    [anon_sym___cdecl] = ACTIONS(1201),
-    [anon_sym___clrcall] = ACTIONS(1201),
-    [anon_sym___stdcall] = ACTIONS(1201),
-    [anon_sym___fastcall] = ACTIONS(1201),
-    [anon_sym___thiscall] = ACTIONS(1201),
-    [anon_sym___vectorcall] = ACTIONS(1201),
-    [anon_sym_LBRACE] = ACTIONS(1203),
-    [anon_sym_RBRACE] = ACTIONS(1203),
-    [anon_sym_signed] = ACTIONS(1201),
-    [anon_sym_unsigned] = ACTIONS(1201),
-    [anon_sym_long] = ACTIONS(1201),
-    [anon_sym_short] = ACTIONS(1201),
-    [anon_sym_static] = ACTIONS(1201),
-    [anon_sym_auto] = ACTIONS(1201),
-    [anon_sym_register] = ACTIONS(1201),
-    [anon_sym_inline] = ACTIONS(1201),
-    [anon_sym___inline] = ACTIONS(1201),
-    [anon_sym___inline__] = ACTIONS(1201),
-    [anon_sym___forceinline] = ACTIONS(1201),
-    [anon_sym_thread_local] = ACTIONS(1201),
-    [anon_sym___thread] = ACTIONS(1201),
-    [anon_sym_const] = ACTIONS(1201),
-    [anon_sym_constexpr] = ACTIONS(1201),
-    [anon_sym_volatile] = ACTIONS(1201),
-    [anon_sym_restrict] = ACTIONS(1201),
-    [anon_sym___restrict__] = ACTIONS(1201),
-    [anon_sym__Atomic] = ACTIONS(1201),
-    [anon_sym__Noreturn] = ACTIONS(1201),
-    [anon_sym_noreturn] = ACTIONS(1201),
-    [anon_sym__Nonnull] = ACTIONS(1201),
-    [anon_sym_alignas] = ACTIONS(1201),
-    [anon_sym__Alignas] = ACTIONS(1201),
-    [sym_primitive_type] = ACTIONS(1201),
-    [anon_sym_enum] = ACTIONS(1201),
-    [anon_sym_struct] = ACTIONS(1201),
-    [anon_sym_union] = ACTIONS(1201),
-    [anon_sym_if] = ACTIONS(1201),
-    [anon_sym_else] = ACTIONS(1201),
-    [anon_sym_switch] = ACTIONS(1201),
-    [anon_sym_case] = ACTIONS(1201),
-    [anon_sym_default] = ACTIONS(1201),
-    [anon_sym_while] = ACTIONS(1201),
-    [anon_sym_do] = ACTIONS(1201),
-    [anon_sym_for] = ACTIONS(1201),
-    [anon_sym_return] = ACTIONS(1201),
-    [anon_sym_break] = ACTIONS(1201),
-    [anon_sym_continue] = ACTIONS(1201),
-    [anon_sym_goto] = ACTIONS(1201),
-    [anon_sym___try] = ACTIONS(1201),
-    [anon_sym___leave] = ACTIONS(1201),
-    [anon_sym_DASH_DASH] = ACTIONS(1203),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1203),
-    [anon_sym_sizeof] = ACTIONS(1201),
-    [anon_sym___alignof__] = ACTIONS(1201),
-    [anon_sym___alignof] = ACTIONS(1201),
-    [anon_sym__alignof] = ACTIONS(1201),
-    [anon_sym_alignof] = ACTIONS(1201),
-    [anon_sym__Alignof] = ACTIONS(1201),
-    [anon_sym_offsetof] = ACTIONS(1201),
-    [anon_sym__Generic] = ACTIONS(1201),
-    [anon_sym_asm] = ACTIONS(1201),
-    [anon_sym___asm__] = ACTIONS(1201),
-    [anon_sym___asm] = ACTIONS(1201),
-    [sym_number_literal] = ACTIONS(1203),
-    [anon_sym_L_SQUOTE] = ACTIONS(1203),
-    [anon_sym_u_SQUOTE] = ACTIONS(1203),
-    [anon_sym_U_SQUOTE] = ACTIONS(1203),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1203),
-    [anon_sym_SQUOTE] = ACTIONS(1203),
-    [anon_sym_L_DQUOTE] = ACTIONS(1203),
-    [anon_sym_u_DQUOTE] = ACTIONS(1203),
-    [anon_sym_U_DQUOTE] = ACTIONS(1203),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1203),
-    [anon_sym_DQUOTE] = ACTIONS(1203),
-    [sym_true] = ACTIONS(1201),
-    [sym_false] = ACTIONS(1201),
-    [anon_sym_NULL] = ACTIONS(1201),
-    [anon_sym_nullptr] = ACTIONS(1201),
+    [sym_identifier] = ACTIONS(1150),
+    [aux_sym_preproc_include_token1] = ACTIONS(1150),
+    [aux_sym_preproc_def_token1] = ACTIONS(1150),
+    [aux_sym_preproc_if_token1] = ACTIONS(1150),
+    [aux_sym_preproc_if_token2] = ACTIONS(1150),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1150),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1150),
+    [sym_preproc_directive] = ACTIONS(1150),
+    [anon_sym_LPAREN2] = ACTIONS(1152),
+    [anon_sym_BANG] = ACTIONS(1152),
+    [anon_sym_TILDE] = ACTIONS(1152),
+    [anon_sym_DASH] = ACTIONS(1150),
+    [anon_sym_PLUS] = ACTIONS(1150),
+    [anon_sym_STAR] = ACTIONS(1152),
+    [anon_sym_AMP] = ACTIONS(1152),
+    [anon_sym_SEMI] = ACTIONS(1152),
+    [anon_sym___extension__] = ACTIONS(1150),
+    [anon_sym_typedef] = ACTIONS(1150),
+    [anon_sym_extern] = ACTIONS(1150),
+    [anon_sym___attribute__] = ACTIONS(1150),
+    [anon_sym___attribute] = ACTIONS(1150),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1152),
+    [anon_sym___declspec] = ACTIONS(1150),
+    [anon_sym___cdecl] = ACTIONS(1150),
+    [anon_sym___clrcall] = ACTIONS(1150),
+    [anon_sym___stdcall] = ACTIONS(1150),
+    [anon_sym___fastcall] = ACTIONS(1150),
+    [anon_sym___thiscall] = ACTIONS(1150),
+    [anon_sym___vectorcall] = ACTIONS(1150),
+    [anon_sym_LBRACE] = ACTIONS(1152),
+    [anon_sym_signed] = ACTIONS(1150),
+    [anon_sym_unsigned] = ACTIONS(1150),
+    [anon_sym_long] = ACTIONS(1150),
+    [anon_sym_short] = ACTIONS(1150),
+    [anon_sym_static] = ACTIONS(1150),
+    [anon_sym_auto] = ACTIONS(1150),
+    [anon_sym_register] = ACTIONS(1150),
+    [anon_sym_inline] = ACTIONS(1150),
+    [anon_sym___inline] = ACTIONS(1150),
+    [anon_sym___inline__] = ACTIONS(1150),
+    [anon_sym___forceinline] = ACTIONS(1150),
+    [anon_sym_thread_local] = ACTIONS(1150),
+    [anon_sym___thread] = ACTIONS(1150),
+    [anon_sym_const] = ACTIONS(1150),
+    [anon_sym_constexpr] = ACTIONS(1150),
+    [anon_sym_volatile] = ACTIONS(1150),
+    [anon_sym_restrict] = ACTIONS(1150),
+    [anon_sym___restrict__] = ACTIONS(1150),
+    [anon_sym__Atomic] = ACTIONS(1150),
+    [anon_sym__Noreturn] = ACTIONS(1150),
+    [anon_sym_noreturn] = ACTIONS(1150),
+    [anon_sym__Nonnull] = ACTIONS(1150),
+    [anon_sym_alignas] = ACTIONS(1150),
+    [anon_sym__Alignas] = ACTIONS(1150),
+    [sym_primitive_type] = ACTIONS(1150),
+    [anon_sym_enum] = ACTIONS(1150),
+    [anon_sym_struct] = ACTIONS(1150),
+    [anon_sym_union] = ACTIONS(1150),
+    [anon_sym_if] = ACTIONS(1150),
+    [anon_sym_else] = ACTIONS(1150),
+    [anon_sym_switch] = ACTIONS(1150),
+    [anon_sym_case] = ACTIONS(1150),
+    [anon_sym_default] = ACTIONS(1150),
+    [anon_sym_while] = ACTIONS(1150),
+    [anon_sym_do] = ACTIONS(1150),
+    [anon_sym_for] = ACTIONS(1150),
+    [anon_sym_return] = ACTIONS(1150),
+    [anon_sym_break] = ACTIONS(1150),
+    [anon_sym_continue] = ACTIONS(1150),
+    [anon_sym_goto] = ACTIONS(1150),
+    [anon_sym___try] = ACTIONS(1150),
+    [anon_sym___leave] = ACTIONS(1150),
+    [anon_sym_DASH_DASH] = ACTIONS(1152),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1152),
+    [anon_sym_sizeof] = ACTIONS(1150),
+    [anon_sym___alignof__] = ACTIONS(1150),
+    [anon_sym___alignof] = ACTIONS(1150),
+    [anon_sym__alignof] = ACTIONS(1150),
+    [anon_sym_alignof] = ACTIONS(1150),
+    [anon_sym__Alignof] = ACTIONS(1150),
+    [anon_sym_offsetof] = ACTIONS(1150),
+    [anon_sym__Generic] = ACTIONS(1150),
+    [anon_sym_asm] = ACTIONS(1150),
+    [anon_sym___asm__] = ACTIONS(1150),
+    [anon_sym___asm] = ACTIONS(1150),
+    [sym_number_literal] = ACTIONS(1152),
+    [anon_sym_L_SQUOTE] = ACTIONS(1152),
+    [anon_sym_u_SQUOTE] = ACTIONS(1152),
+    [anon_sym_U_SQUOTE] = ACTIONS(1152),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1152),
+    [anon_sym_SQUOTE] = ACTIONS(1152),
+    [anon_sym_L_DQUOTE] = ACTIONS(1152),
+    [anon_sym_u_DQUOTE] = ACTIONS(1152),
+    [anon_sym_U_DQUOTE] = ACTIONS(1152),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1152),
+    [anon_sym_DQUOTE] = ACTIONS(1152),
+    [sym_true] = ACTIONS(1150),
+    [sym_false] = ACTIONS(1150),
+    [anon_sym_NULL] = ACTIONS(1150),
+    [anon_sym_nullptr] = ACTIONS(1150),
     [sym_comment] = ACTIONS(3),
   },
   [197] = {
-    [sym_identifier] = ACTIONS(1201),
-    [aux_sym_preproc_include_token1] = ACTIONS(1201),
-    [aux_sym_preproc_def_token1] = ACTIONS(1201),
-    [aux_sym_preproc_if_token1] = ACTIONS(1201),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1201),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1201),
-    [sym_preproc_directive] = ACTIONS(1201),
-    [anon_sym_LPAREN2] = ACTIONS(1203),
-    [anon_sym_BANG] = ACTIONS(1203),
-    [anon_sym_TILDE] = ACTIONS(1203),
-    [anon_sym_DASH] = ACTIONS(1201),
-    [anon_sym_PLUS] = ACTIONS(1201),
-    [anon_sym_STAR] = ACTIONS(1203),
-    [anon_sym_AMP] = ACTIONS(1203),
-    [anon_sym_SEMI] = ACTIONS(1203),
-    [anon_sym___extension__] = ACTIONS(1201),
-    [anon_sym_typedef] = ACTIONS(1201),
-    [anon_sym_extern] = ACTIONS(1201),
-    [anon_sym___attribute__] = ACTIONS(1201),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1203),
-    [anon_sym___declspec] = ACTIONS(1201),
-    [anon_sym___cdecl] = ACTIONS(1201),
-    [anon_sym___clrcall] = ACTIONS(1201),
-    [anon_sym___stdcall] = ACTIONS(1201),
-    [anon_sym___fastcall] = ACTIONS(1201),
-    [anon_sym___thiscall] = ACTIONS(1201),
-    [anon_sym___vectorcall] = ACTIONS(1201),
-    [anon_sym_LBRACE] = ACTIONS(1203),
-    [anon_sym_RBRACE] = ACTIONS(1203),
-    [anon_sym_signed] = ACTIONS(1201),
-    [anon_sym_unsigned] = ACTIONS(1201),
-    [anon_sym_long] = ACTIONS(1201),
-    [anon_sym_short] = ACTIONS(1201),
-    [anon_sym_static] = ACTIONS(1201),
-    [anon_sym_auto] = ACTIONS(1201),
-    [anon_sym_register] = ACTIONS(1201),
-    [anon_sym_inline] = ACTIONS(1201),
-    [anon_sym___inline] = ACTIONS(1201),
-    [anon_sym___inline__] = ACTIONS(1201),
-    [anon_sym___forceinline] = ACTIONS(1201),
-    [anon_sym_thread_local] = ACTIONS(1201),
-    [anon_sym___thread] = ACTIONS(1201),
-    [anon_sym_const] = ACTIONS(1201),
-    [anon_sym_constexpr] = ACTIONS(1201),
-    [anon_sym_volatile] = ACTIONS(1201),
-    [anon_sym_restrict] = ACTIONS(1201),
-    [anon_sym___restrict__] = ACTIONS(1201),
-    [anon_sym__Atomic] = ACTIONS(1201),
-    [anon_sym__Noreturn] = ACTIONS(1201),
-    [anon_sym_noreturn] = ACTIONS(1201),
-    [anon_sym__Nonnull] = ACTIONS(1201),
-    [anon_sym_alignas] = ACTIONS(1201),
-    [anon_sym__Alignas] = ACTIONS(1201),
-    [sym_primitive_type] = ACTIONS(1201),
-    [anon_sym_enum] = ACTIONS(1201),
-    [anon_sym_struct] = ACTIONS(1201),
-    [anon_sym_union] = ACTIONS(1201),
-    [anon_sym_if] = ACTIONS(1201),
-    [anon_sym_else] = ACTIONS(1201),
-    [anon_sym_switch] = ACTIONS(1201),
-    [anon_sym_case] = ACTIONS(1201),
-    [anon_sym_default] = ACTIONS(1201),
-    [anon_sym_while] = ACTIONS(1201),
-    [anon_sym_do] = ACTIONS(1201),
-    [anon_sym_for] = ACTIONS(1201),
-    [anon_sym_return] = ACTIONS(1201),
-    [anon_sym_break] = ACTIONS(1201),
-    [anon_sym_continue] = ACTIONS(1201),
-    [anon_sym_goto] = ACTIONS(1201),
-    [anon_sym___try] = ACTIONS(1201),
-    [anon_sym___leave] = ACTIONS(1201),
-    [anon_sym_DASH_DASH] = ACTIONS(1203),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1203),
-    [anon_sym_sizeof] = ACTIONS(1201),
-    [anon_sym___alignof__] = ACTIONS(1201),
-    [anon_sym___alignof] = ACTIONS(1201),
-    [anon_sym__alignof] = ACTIONS(1201),
-    [anon_sym_alignof] = ACTIONS(1201),
-    [anon_sym__Alignof] = ACTIONS(1201),
-    [anon_sym_offsetof] = ACTIONS(1201),
-    [anon_sym__Generic] = ACTIONS(1201),
-    [anon_sym_asm] = ACTIONS(1201),
-    [anon_sym___asm__] = ACTIONS(1201),
-    [anon_sym___asm] = ACTIONS(1201),
-    [sym_number_literal] = ACTIONS(1203),
-    [anon_sym_L_SQUOTE] = ACTIONS(1203),
-    [anon_sym_u_SQUOTE] = ACTIONS(1203),
-    [anon_sym_U_SQUOTE] = ACTIONS(1203),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1203),
-    [anon_sym_SQUOTE] = ACTIONS(1203),
-    [anon_sym_L_DQUOTE] = ACTIONS(1203),
-    [anon_sym_u_DQUOTE] = ACTIONS(1203),
-    [anon_sym_U_DQUOTE] = ACTIONS(1203),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1203),
-    [anon_sym_DQUOTE] = ACTIONS(1203),
-    [sym_true] = ACTIONS(1201),
-    [sym_false] = ACTIONS(1201),
-    [anon_sym_NULL] = ACTIONS(1201),
-    [anon_sym_nullptr] = ACTIONS(1201),
+    [sym_identifier] = ACTIONS(1158),
+    [aux_sym_preproc_include_token1] = ACTIONS(1158),
+    [aux_sym_preproc_def_token1] = ACTIONS(1158),
+    [aux_sym_preproc_if_token1] = ACTIONS(1158),
+    [aux_sym_preproc_if_token2] = ACTIONS(1158),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1158),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1158),
+    [sym_preproc_directive] = ACTIONS(1158),
+    [anon_sym_LPAREN2] = ACTIONS(1160),
+    [anon_sym_BANG] = ACTIONS(1160),
+    [anon_sym_TILDE] = ACTIONS(1160),
+    [anon_sym_DASH] = ACTIONS(1158),
+    [anon_sym_PLUS] = ACTIONS(1158),
+    [anon_sym_STAR] = ACTIONS(1160),
+    [anon_sym_AMP] = ACTIONS(1160),
+    [anon_sym_SEMI] = ACTIONS(1160),
+    [anon_sym___extension__] = ACTIONS(1158),
+    [anon_sym_typedef] = ACTIONS(1158),
+    [anon_sym_extern] = ACTIONS(1158),
+    [anon_sym___attribute__] = ACTIONS(1158),
+    [anon_sym___attribute] = ACTIONS(1158),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1160),
+    [anon_sym___declspec] = ACTIONS(1158),
+    [anon_sym___cdecl] = ACTIONS(1158),
+    [anon_sym___clrcall] = ACTIONS(1158),
+    [anon_sym___stdcall] = ACTIONS(1158),
+    [anon_sym___fastcall] = ACTIONS(1158),
+    [anon_sym___thiscall] = ACTIONS(1158),
+    [anon_sym___vectorcall] = ACTIONS(1158),
+    [anon_sym_LBRACE] = ACTIONS(1160),
+    [anon_sym_signed] = ACTIONS(1158),
+    [anon_sym_unsigned] = ACTIONS(1158),
+    [anon_sym_long] = ACTIONS(1158),
+    [anon_sym_short] = ACTIONS(1158),
+    [anon_sym_static] = ACTIONS(1158),
+    [anon_sym_auto] = ACTIONS(1158),
+    [anon_sym_register] = ACTIONS(1158),
+    [anon_sym_inline] = ACTIONS(1158),
+    [anon_sym___inline] = ACTIONS(1158),
+    [anon_sym___inline__] = ACTIONS(1158),
+    [anon_sym___forceinline] = ACTIONS(1158),
+    [anon_sym_thread_local] = ACTIONS(1158),
+    [anon_sym___thread] = ACTIONS(1158),
+    [anon_sym_const] = ACTIONS(1158),
+    [anon_sym_constexpr] = ACTIONS(1158),
+    [anon_sym_volatile] = ACTIONS(1158),
+    [anon_sym_restrict] = ACTIONS(1158),
+    [anon_sym___restrict__] = ACTIONS(1158),
+    [anon_sym__Atomic] = ACTIONS(1158),
+    [anon_sym__Noreturn] = ACTIONS(1158),
+    [anon_sym_noreturn] = ACTIONS(1158),
+    [anon_sym__Nonnull] = ACTIONS(1158),
+    [anon_sym_alignas] = ACTIONS(1158),
+    [anon_sym__Alignas] = ACTIONS(1158),
+    [sym_primitive_type] = ACTIONS(1158),
+    [anon_sym_enum] = ACTIONS(1158),
+    [anon_sym_struct] = ACTIONS(1158),
+    [anon_sym_union] = ACTIONS(1158),
+    [anon_sym_if] = ACTIONS(1158),
+    [anon_sym_else] = ACTIONS(1158),
+    [anon_sym_switch] = ACTIONS(1158),
+    [anon_sym_case] = ACTIONS(1158),
+    [anon_sym_default] = ACTIONS(1158),
+    [anon_sym_while] = ACTIONS(1158),
+    [anon_sym_do] = ACTIONS(1158),
+    [anon_sym_for] = ACTIONS(1158),
+    [anon_sym_return] = ACTIONS(1158),
+    [anon_sym_break] = ACTIONS(1158),
+    [anon_sym_continue] = ACTIONS(1158),
+    [anon_sym_goto] = ACTIONS(1158),
+    [anon_sym___try] = ACTIONS(1158),
+    [anon_sym___leave] = ACTIONS(1158),
+    [anon_sym_DASH_DASH] = ACTIONS(1160),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1160),
+    [anon_sym_sizeof] = ACTIONS(1158),
+    [anon_sym___alignof__] = ACTIONS(1158),
+    [anon_sym___alignof] = ACTIONS(1158),
+    [anon_sym__alignof] = ACTIONS(1158),
+    [anon_sym_alignof] = ACTIONS(1158),
+    [anon_sym__Alignof] = ACTIONS(1158),
+    [anon_sym_offsetof] = ACTIONS(1158),
+    [anon_sym__Generic] = ACTIONS(1158),
+    [anon_sym_asm] = ACTIONS(1158),
+    [anon_sym___asm__] = ACTIONS(1158),
+    [anon_sym___asm] = ACTIONS(1158),
+    [sym_number_literal] = ACTIONS(1160),
+    [anon_sym_L_SQUOTE] = ACTIONS(1160),
+    [anon_sym_u_SQUOTE] = ACTIONS(1160),
+    [anon_sym_U_SQUOTE] = ACTIONS(1160),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1160),
+    [anon_sym_SQUOTE] = ACTIONS(1160),
+    [anon_sym_L_DQUOTE] = ACTIONS(1160),
+    [anon_sym_u_DQUOTE] = ACTIONS(1160),
+    [anon_sym_U_DQUOTE] = ACTIONS(1160),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1160),
+    [anon_sym_DQUOTE] = ACTIONS(1160),
+    [sym_true] = ACTIONS(1158),
+    [sym_false] = ACTIONS(1158),
+    [anon_sym_NULL] = ACTIONS(1158),
+    [anon_sym_nullptr] = ACTIONS(1158),
     [sym_comment] = ACTIONS(3),
   },
   [198] = {
-    [sym_identifier] = ACTIONS(1205),
-    [aux_sym_preproc_include_token1] = ACTIONS(1205),
-    [aux_sym_preproc_def_token1] = ACTIONS(1205),
-    [aux_sym_preproc_if_token1] = ACTIONS(1205),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1205),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1205),
-    [sym_preproc_directive] = ACTIONS(1205),
-    [anon_sym_LPAREN2] = ACTIONS(1207),
-    [anon_sym_BANG] = ACTIONS(1207),
-    [anon_sym_TILDE] = ACTIONS(1207),
-    [anon_sym_DASH] = ACTIONS(1205),
-    [anon_sym_PLUS] = ACTIONS(1205),
-    [anon_sym_STAR] = ACTIONS(1207),
-    [anon_sym_AMP] = ACTIONS(1207),
-    [anon_sym_SEMI] = ACTIONS(1207),
-    [anon_sym___extension__] = ACTIONS(1205),
-    [anon_sym_typedef] = ACTIONS(1205),
-    [anon_sym_extern] = ACTIONS(1205),
-    [anon_sym___attribute__] = ACTIONS(1205),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1207),
-    [anon_sym___declspec] = ACTIONS(1205),
-    [anon_sym___cdecl] = ACTIONS(1205),
-    [anon_sym___clrcall] = ACTIONS(1205),
-    [anon_sym___stdcall] = ACTIONS(1205),
-    [anon_sym___fastcall] = ACTIONS(1205),
-    [anon_sym___thiscall] = ACTIONS(1205),
-    [anon_sym___vectorcall] = ACTIONS(1205),
-    [anon_sym_LBRACE] = ACTIONS(1207),
-    [anon_sym_RBRACE] = ACTIONS(1207),
-    [anon_sym_signed] = ACTIONS(1205),
-    [anon_sym_unsigned] = ACTIONS(1205),
-    [anon_sym_long] = ACTIONS(1205),
-    [anon_sym_short] = ACTIONS(1205),
-    [anon_sym_static] = ACTIONS(1205),
-    [anon_sym_auto] = ACTIONS(1205),
-    [anon_sym_register] = ACTIONS(1205),
-    [anon_sym_inline] = ACTIONS(1205),
-    [anon_sym___inline] = ACTIONS(1205),
-    [anon_sym___inline__] = ACTIONS(1205),
-    [anon_sym___forceinline] = ACTIONS(1205),
-    [anon_sym_thread_local] = ACTIONS(1205),
-    [anon_sym___thread] = ACTIONS(1205),
-    [anon_sym_const] = ACTIONS(1205),
-    [anon_sym_constexpr] = ACTIONS(1205),
-    [anon_sym_volatile] = ACTIONS(1205),
-    [anon_sym_restrict] = ACTIONS(1205),
-    [anon_sym___restrict__] = ACTIONS(1205),
-    [anon_sym__Atomic] = ACTIONS(1205),
-    [anon_sym__Noreturn] = ACTIONS(1205),
-    [anon_sym_noreturn] = ACTIONS(1205),
-    [anon_sym__Nonnull] = ACTIONS(1205),
-    [anon_sym_alignas] = ACTIONS(1205),
-    [anon_sym__Alignas] = ACTIONS(1205),
-    [sym_primitive_type] = ACTIONS(1205),
-    [anon_sym_enum] = ACTIONS(1205),
-    [anon_sym_struct] = ACTIONS(1205),
-    [anon_sym_union] = ACTIONS(1205),
-    [anon_sym_if] = ACTIONS(1205),
-    [anon_sym_else] = ACTIONS(1205),
-    [anon_sym_switch] = ACTIONS(1205),
-    [anon_sym_case] = ACTIONS(1205),
-    [anon_sym_default] = ACTIONS(1205),
-    [anon_sym_while] = ACTIONS(1205),
-    [anon_sym_do] = ACTIONS(1205),
-    [anon_sym_for] = ACTIONS(1205),
-    [anon_sym_return] = ACTIONS(1205),
-    [anon_sym_break] = ACTIONS(1205),
-    [anon_sym_continue] = ACTIONS(1205),
-    [anon_sym_goto] = ACTIONS(1205),
-    [anon_sym___try] = ACTIONS(1205),
-    [anon_sym___leave] = ACTIONS(1205),
-    [anon_sym_DASH_DASH] = ACTIONS(1207),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1207),
-    [anon_sym_sizeof] = ACTIONS(1205),
-    [anon_sym___alignof__] = ACTIONS(1205),
-    [anon_sym___alignof] = ACTIONS(1205),
-    [anon_sym__alignof] = ACTIONS(1205),
-    [anon_sym_alignof] = ACTIONS(1205),
-    [anon_sym__Alignof] = ACTIONS(1205),
-    [anon_sym_offsetof] = ACTIONS(1205),
-    [anon_sym__Generic] = ACTIONS(1205),
-    [anon_sym_asm] = ACTIONS(1205),
-    [anon_sym___asm__] = ACTIONS(1205),
-    [anon_sym___asm] = ACTIONS(1205),
-    [sym_number_literal] = ACTIONS(1207),
-    [anon_sym_L_SQUOTE] = ACTIONS(1207),
-    [anon_sym_u_SQUOTE] = ACTIONS(1207),
-    [anon_sym_U_SQUOTE] = ACTIONS(1207),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1207),
-    [anon_sym_SQUOTE] = ACTIONS(1207),
-    [anon_sym_L_DQUOTE] = ACTIONS(1207),
-    [anon_sym_u_DQUOTE] = ACTIONS(1207),
-    [anon_sym_U_DQUOTE] = ACTIONS(1207),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1207),
-    [anon_sym_DQUOTE] = ACTIONS(1207),
-    [sym_true] = ACTIONS(1205),
-    [sym_false] = ACTIONS(1205),
-    [anon_sym_NULL] = ACTIONS(1205),
-    [anon_sym_nullptr] = ACTIONS(1205),
+    [sym_identifier] = ACTIONS(1162),
+    [aux_sym_preproc_include_token1] = ACTIONS(1162),
+    [aux_sym_preproc_def_token1] = ACTIONS(1162),
+    [aux_sym_preproc_if_token1] = ACTIONS(1162),
+    [aux_sym_preproc_if_token2] = ACTIONS(1162),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1162),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1162),
+    [sym_preproc_directive] = ACTIONS(1162),
+    [anon_sym_LPAREN2] = ACTIONS(1164),
+    [anon_sym_BANG] = ACTIONS(1164),
+    [anon_sym_TILDE] = ACTIONS(1164),
+    [anon_sym_DASH] = ACTIONS(1162),
+    [anon_sym_PLUS] = ACTIONS(1162),
+    [anon_sym_STAR] = ACTIONS(1164),
+    [anon_sym_AMP] = ACTIONS(1164),
+    [anon_sym_SEMI] = ACTIONS(1164),
+    [anon_sym___extension__] = ACTIONS(1162),
+    [anon_sym_typedef] = ACTIONS(1162),
+    [anon_sym_extern] = ACTIONS(1162),
+    [anon_sym___attribute__] = ACTIONS(1162),
+    [anon_sym___attribute] = ACTIONS(1162),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1164),
+    [anon_sym___declspec] = ACTIONS(1162),
+    [anon_sym___cdecl] = ACTIONS(1162),
+    [anon_sym___clrcall] = ACTIONS(1162),
+    [anon_sym___stdcall] = ACTIONS(1162),
+    [anon_sym___fastcall] = ACTIONS(1162),
+    [anon_sym___thiscall] = ACTIONS(1162),
+    [anon_sym___vectorcall] = ACTIONS(1162),
+    [anon_sym_LBRACE] = ACTIONS(1164),
+    [anon_sym_signed] = ACTIONS(1162),
+    [anon_sym_unsigned] = ACTIONS(1162),
+    [anon_sym_long] = ACTIONS(1162),
+    [anon_sym_short] = ACTIONS(1162),
+    [anon_sym_static] = ACTIONS(1162),
+    [anon_sym_auto] = ACTIONS(1162),
+    [anon_sym_register] = ACTIONS(1162),
+    [anon_sym_inline] = ACTIONS(1162),
+    [anon_sym___inline] = ACTIONS(1162),
+    [anon_sym___inline__] = ACTIONS(1162),
+    [anon_sym___forceinline] = ACTIONS(1162),
+    [anon_sym_thread_local] = ACTIONS(1162),
+    [anon_sym___thread] = ACTIONS(1162),
+    [anon_sym_const] = ACTIONS(1162),
+    [anon_sym_constexpr] = ACTIONS(1162),
+    [anon_sym_volatile] = ACTIONS(1162),
+    [anon_sym_restrict] = ACTIONS(1162),
+    [anon_sym___restrict__] = ACTIONS(1162),
+    [anon_sym__Atomic] = ACTIONS(1162),
+    [anon_sym__Noreturn] = ACTIONS(1162),
+    [anon_sym_noreturn] = ACTIONS(1162),
+    [anon_sym__Nonnull] = ACTIONS(1162),
+    [anon_sym_alignas] = ACTIONS(1162),
+    [anon_sym__Alignas] = ACTIONS(1162),
+    [sym_primitive_type] = ACTIONS(1162),
+    [anon_sym_enum] = ACTIONS(1162),
+    [anon_sym_struct] = ACTIONS(1162),
+    [anon_sym_union] = ACTIONS(1162),
+    [anon_sym_if] = ACTIONS(1162),
+    [anon_sym_else] = ACTIONS(1162),
+    [anon_sym_switch] = ACTIONS(1162),
+    [anon_sym_case] = ACTIONS(1162),
+    [anon_sym_default] = ACTIONS(1162),
+    [anon_sym_while] = ACTIONS(1162),
+    [anon_sym_do] = ACTIONS(1162),
+    [anon_sym_for] = ACTIONS(1162),
+    [anon_sym_return] = ACTIONS(1162),
+    [anon_sym_break] = ACTIONS(1162),
+    [anon_sym_continue] = ACTIONS(1162),
+    [anon_sym_goto] = ACTIONS(1162),
+    [anon_sym___try] = ACTIONS(1162),
+    [anon_sym___leave] = ACTIONS(1162),
+    [anon_sym_DASH_DASH] = ACTIONS(1164),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1164),
+    [anon_sym_sizeof] = ACTIONS(1162),
+    [anon_sym___alignof__] = ACTIONS(1162),
+    [anon_sym___alignof] = ACTIONS(1162),
+    [anon_sym__alignof] = ACTIONS(1162),
+    [anon_sym_alignof] = ACTIONS(1162),
+    [anon_sym__Alignof] = ACTIONS(1162),
+    [anon_sym_offsetof] = ACTIONS(1162),
+    [anon_sym__Generic] = ACTIONS(1162),
+    [anon_sym_asm] = ACTIONS(1162),
+    [anon_sym___asm__] = ACTIONS(1162),
+    [anon_sym___asm] = ACTIONS(1162),
+    [sym_number_literal] = ACTIONS(1164),
+    [anon_sym_L_SQUOTE] = ACTIONS(1164),
+    [anon_sym_u_SQUOTE] = ACTIONS(1164),
+    [anon_sym_U_SQUOTE] = ACTIONS(1164),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1164),
+    [anon_sym_SQUOTE] = ACTIONS(1164),
+    [anon_sym_L_DQUOTE] = ACTIONS(1164),
+    [anon_sym_u_DQUOTE] = ACTIONS(1164),
+    [anon_sym_U_DQUOTE] = ACTIONS(1164),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1164),
+    [anon_sym_DQUOTE] = ACTIONS(1164),
+    [sym_true] = ACTIONS(1162),
+    [sym_false] = ACTIONS(1162),
+    [anon_sym_NULL] = ACTIONS(1162),
+    [anon_sym_nullptr] = ACTIONS(1162),
     [sym_comment] = ACTIONS(3),
   },
   [199] = {
-    [sym_identifier] = ACTIONS(1205),
-    [aux_sym_preproc_include_token1] = ACTIONS(1205),
-    [aux_sym_preproc_def_token1] = ACTIONS(1205),
-    [aux_sym_preproc_if_token1] = ACTIONS(1205),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1205),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1205),
-    [sym_preproc_directive] = ACTIONS(1205),
-    [anon_sym_LPAREN2] = ACTIONS(1207),
-    [anon_sym_BANG] = ACTIONS(1207),
-    [anon_sym_TILDE] = ACTIONS(1207),
-    [anon_sym_DASH] = ACTIONS(1205),
-    [anon_sym_PLUS] = ACTIONS(1205),
-    [anon_sym_STAR] = ACTIONS(1207),
-    [anon_sym_AMP] = ACTIONS(1207),
-    [anon_sym_SEMI] = ACTIONS(1207),
-    [anon_sym___extension__] = ACTIONS(1205),
-    [anon_sym_typedef] = ACTIONS(1205),
-    [anon_sym_extern] = ACTIONS(1205),
-    [anon_sym___attribute__] = ACTIONS(1205),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1207),
-    [anon_sym___declspec] = ACTIONS(1205),
-    [anon_sym___cdecl] = ACTIONS(1205),
-    [anon_sym___clrcall] = ACTIONS(1205),
-    [anon_sym___stdcall] = ACTIONS(1205),
-    [anon_sym___fastcall] = ACTIONS(1205),
-    [anon_sym___thiscall] = ACTIONS(1205),
-    [anon_sym___vectorcall] = ACTIONS(1205),
-    [anon_sym_LBRACE] = ACTIONS(1207),
-    [anon_sym_RBRACE] = ACTIONS(1207),
-    [anon_sym_signed] = ACTIONS(1205),
-    [anon_sym_unsigned] = ACTIONS(1205),
-    [anon_sym_long] = ACTIONS(1205),
-    [anon_sym_short] = ACTIONS(1205),
-    [anon_sym_static] = ACTIONS(1205),
-    [anon_sym_auto] = ACTIONS(1205),
-    [anon_sym_register] = ACTIONS(1205),
-    [anon_sym_inline] = ACTIONS(1205),
-    [anon_sym___inline] = ACTIONS(1205),
-    [anon_sym___inline__] = ACTIONS(1205),
-    [anon_sym___forceinline] = ACTIONS(1205),
-    [anon_sym_thread_local] = ACTIONS(1205),
-    [anon_sym___thread] = ACTIONS(1205),
-    [anon_sym_const] = ACTIONS(1205),
-    [anon_sym_constexpr] = ACTIONS(1205),
-    [anon_sym_volatile] = ACTIONS(1205),
-    [anon_sym_restrict] = ACTIONS(1205),
-    [anon_sym___restrict__] = ACTIONS(1205),
-    [anon_sym__Atomic] = ACTIONS(1205),
-    [anon_sym__Noreturn] = ACTIONS(1205),
-    [anon_sym_noreturn] = ACTIONS(1205),
-    [anon_sym__Nonnull] = ACTIONS(1205),
-    [anon_sym_alignas] = ACTIONS(1205),
-    [anon_sym__Alignas] = ACTIONS(1205),
-    [sym_primitive_type] = ACTIONS(1205),
-    [anon_sym_enum] = ACTIONS(1205),
-    [anon_sym_struct] = ACTIONS(1205),
-    [anon_sym_union] = ACTIONS(1205),
-    [anon_sym_if] = ACTIONS(1205),
-    [anon_sym_else] = ACTIONS(1205),
-    [anon_sym_switch] = ACTIONS(1205),
-    [anon_sym_case] = ACTIONS(1205),
-    [anon_sym_default] = ACTIONS(1205),
-    [anon_sym_while] = ACTIONS(1205),
-    [anon_sym_do] = ACTIONS(1205),
-    [anon_sym_for] = ACTIONS(1205),
-    [anon_sym_return] = ACTIONS(1205),
-    [anon_sym_break] = ACTIONS(1205),
-    [anon_sym_continue] = ACTIONS(1205),
-    [anon_sym_goto] = ACTIONS(1205),
-    [anon_sym___try] = ACTIONS(1205),
-    [anon_sym___leave] = ACTIONS(1205),
-    [anon_sym_DASH_DASH] = ACTIONS(1207),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1207),
-    [anon_sym_sizeof] = ACTIONS(1205),
-    [anon_sym___alignof__] = ACTIONS(1205),
-    [anon_sym___alignof] = ACTIONS(1205),
-    [anon_sym__alignof] = ACTIONS(1205),
-    [anon_sym_alignof] = ACTIONS(1205),
-    [anon_sym__Alignof] = ACTIONS(1205),
-    [anon_sym_offsetof] = ACTIONS(1205),
-    [anon_sym__Generic] = ACTIONS(1205),
-    [anon_sym_asm] = ACTIONS(1205),
-    [anon_sym___asm__] = ACTIONS(1205),
-    [anon_sym___asm] = ACTIONS(1205),
-    [sym_number_literal] = ACTIONS(1207),
-    [anon_sym_L_SQUOTE] = ACTIONS(1207),
-    [anon_sym_u_SQUOTE] = ACTIONS(1207),
-    [anon_sym_U_SQUOTE] = ACTIONS(1207),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1207),
-    [anon_sym_SQUOTE] = ACTIONS(1207),
-    [anon_sym_L_DQUOTE] = ACTIONS(1207),
-    [anon_sym_u_DQUOTE] = ACTIONS(1207),
-    [anon_sym_U_DQUOTE] = ACTIONS(1207),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1207),
-    [anon_sym_DQUOTE] = ACTIONS(1207),
-    [sym_true] = ACTIONS(1205),
-    [sym_false] = ACTIONS(1205),
-    [anon_sym_NULL] = ACTIONS(1205),
-    [anon_sym_nullptr] = ACTIONS(1205),
+    [sym_identifier] = ACTIONS(1166),
+    [aux_sym_preproc_include_token1] = ACTIONS(1166),
+    [aux_sym_preproc_def_token1] = ACTIONS(1166),
+    [aux_sym_preproc_if_token1] = ACTIONS(1166),
+    [aux_sym_preproc_if_token2] = ACTIONS(1166),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1166),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1166),
+    [sym_preproc_directive] = ACTIONS(1166),
+    [anon_sym_LPAREN2] = ACTIONS(1168),
+    [anon_sym_BANG] = ACTIONS(1168),
+    [anon_sym_TILDE] = ACTIONS(1168),
+    [anon_sym_DASH] = ACTIONS(1166),
+    [anon_sym_PLUS] = ACTIONS(1166),
+    [anon_sym_STAR] = ACTIONS(1168),
+    [anon_sym_AMP] = ACTIONS(1168),
+    [anon_sym_SEMI] = ACTIONS(1168),
+    [anon_sym___extension__] = ACTIONS(1166),
+    [anon_sym_typedef] = ACTIONS(1166),
+    [anon_sym_extern] = ACTIONS(1166),
+    [anon_sym___attribute__] = ACTIONS(1166),
+    [anon_sym___attribute] = ACTIONS(1166),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1168),
+    [anon_sym___declspec] = ACTIONS(1166),
+    [anon_sym___cdecl] = ACTIONS(1166),
+    [anon_sym___clrcall] = ACTIONS(1166),
+    [anon_sym___stdcall] = ACTIONS(1166),
+    [anon_sym___fastcall] = ACTIONS(1166),
+    [anon_sym___thiscall] = ACTIONS(1166),
+    [anon_sym___vectorcall] = ACTIONS(1166),
+    [anon_sym_LBRACE] = ACTIONS(1168),
+    [anon_sym_signed] = ACTIONS(1166),
+    [anon_sym_unsigned] = ACTIONS(1166),
+    [anon_sym_long] = ACTIONS(1166),
+    [anon_sym_short] = ACTIONS(1166),
+    [anon_sym_static] = ACTIONS(1166),
+    [anon_sym_auto] = ACTIONS(1166),
+    [anon_sym_register] = ACTIONS(1166),
+    [anon_sym_inline] = ACTIONS(1166),
+    [anon_sym___inline] = ACTIONS(1166),
+    [anon_sym___inline__] = ACTIONS(1166),
+    [anon_sym___forceinline] = ACTIONS(1166),
+    [anon_sym_thread_local] = ACTIONS(1166),
+    [anon_sym___thread] = ACTIONS(1166),
+    [anon_sym_const] = ACTIONS(1166),
+    [anon_sym_constexpr] = ACTIONS(1166),
+    [anon_sym_volatile] = ACTIONS(1166),
+    [anon_sym_restrict] = ACTIONS(1166),
+    [anon_sym___restrict__] = ACTIONS(1166),
+    [anon_sym__Atomic] = ACTIONS(1166),
+    [anon_sym__Noreturn] = ACTIONS(1166),
+    [anon_sym_noreturn] = ACTIONS(1166),
+    [anon_sym__Nonnull] = ACTIONS(1166),
+    [anon_sym_alignas] = ACTIONS(1166),
+    [anon_sym__Alignas] = ACTIONS(1166),
+    [sym_primitive_type] = ACTIONS(1166),
+    [anon_sym_enum] = ACTIONS(1166),
+    [anon_sym_struct] = ACTIONS(1166),
+    [anon_sym_union] = ACTIONS(1166),
+    [anon_sym_if] = ACTIONS(1166),
+    [anon_sym_else] = ACTIONS(1166),
+    [anon_sym_switch] = ACTIONS(1166),
+    [anon_sym_case] = ACTIONS(1166),
+    [anon_sym_default] = ACTIONS(1166),
+    [anon_sym_while] = ACTIONS(1166),
+    [anon_sym_do] = ACTIONS(1166),
+    [anon_sym_for] = ACTIONS(1166),
+    [anon_sym_return] = ACTIONS(1166),
+    [anon_sym_break] = ACTIONS(1166),
+    [anon_sym_continue] = ACTIONS(1166),
+    [anon_sym_goto] = ACTIONS(1166),
+    [anon_sym___try] = ACTIONS(1166),
+    [anon_sym___leave] = ACTIONS(1166),
+    [anon_sym_DASH_DASH] = ACTIONS(1168),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1168),
+    [anon_sym_sizeof] = ACTIONS(1166),
+    [anon_sym___alignof__] = ACTIONS(1166),
+    [anon_sym___alignof] = ACTIONS(1166),
+    [anon_sym__alignof] = ACTIONS(1166),
+    [anon_sym_alignof] = ACTIONS(1166),
+    [anon_sym__Alignof] = ACTIONS(1166),
+    [anon_sym_offsetof] = ACTIONS(1166),
+    [anon_sym__Generic] = ACTIONS(1166),
+    [anon_sym_asm] = ACTIONS(1166),
+    [anon_sym___asm__] = ACTIONS(1166),
+    [anon_sym___asm] = ACTIONS(1166),
+    [sym_number_literal] = ACTIONS(1168),
+    [anon_sym_L_SQUOTE] = ACTIONS(1168),
+    [anon_sym_u_SQUOTE] = ACTIONS(1168),
+    [anon_sym_U_SQUOTE] = ACTIONS(1168),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1168),
+    [anon_sym_SQUOTE] = ACTIONS(1168),
+    [anon_sym_L_DQUOTE] = ACTIONS(1168),
+    [anon_sym_u_DQUOTE] = ACTIONS(1168),
+    [anon_sym_U_DQUOTE] = ACTIONS(1168),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1168),
+    [anon_sym_DQUOTE] = ACTIONS(1168),
+    [sym_true] = ACTIONS(1166),
+    [sym_false] = ACTIONS(1166),
+    [anon_sym_NULL] = ACTIONS(1166),
+    [anon_sym_nullptr] = ACTIONS(1166),
     [sym_comment] = ACTIONS(3),
   },
   [200] = {
-    [sym_identifier] = ACTIONS(1209),
-    [aux_sym_preproc_include_token1] = ACTIONS(1209),
-    [aux_sym_preproc_def_token1] = ACTIONS(1209),
-    [aux_sym_preproc_if_token1] = ACTIONS(1209),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1209),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1209),
-    [sym_preproc_directive] = ACTIONS(1209),
-    [anon_sym_LPAREN2] = ACTIONS(1211),
-    [anon_sym_BANG] = ACTIONS(1211),
-    [anon_sym_TILDE] = ACTIONS(1211),
-    [anon_sym_DASH] = ACTIONS(1209),
-    [anon_sym_PLUS] = ACTIONS(1209),
-    [anon_sym_STAR] = ACTIONS(1211),
-    [anon_sym_AMP] = ACTIONS(1211),
-    [anon_sym_SEMI] = ACTIONS(1211),
-    [anon_sym___extension__] = ACTIONS(1209),
-    [anon_sym_typedef] = ACTIONS(1209),
-    [anon_sym_extern] = ACTIONS(1209),
-    [anon_sym___attribute__] = ACTIONS(1209),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1211),
-    [anon_sym___declspec] = ACTIONS(1209),
-    [anon_sym___cdecl] = ACTIONS(1209),
-    [anon_sym___clrcall] = ACTIONS(1209),
-    [anon_sym___stdcall] = ACTIONS(1209),
-    [anon_sym___fastcall] = ACTIONS(1209),
-    [anon_sym___thiscall] = ACTIONS(1209),
-    [anon_sym___vectorcall] = ACTIONS(1209),
-    [anon_sym_LBRACE] = ACTIONS(1211),
-    [anon_sym_RBRACE] = ACTIONS(1211),
-    [anon_sym_signed] = ACTIONS(1209),
-    [anon_sym_unsigned] = ACTIONS(1209),
-    [anon_sym_long] = ACTIONS(1209),
-    [anon_sym_short] = ACTIONS(1209),
-    [anon_sym_static] = ACTIONS(1209),
-    [anon_sym_auto] = ACTIONS(1209),
-    [anon_sym_register] = ACTIONS(1209),
-    [anon_sym_inline] = ACTIONS(1209),
-    [anon_sym___inline] = ACTIONS(1209),
-    [anon_sym___inline__] = ACTIONS(1209),
-    [anon_sym___forceinline] = ACTIONS(1209),
-    [anon_sym_thread_local] = ACTIONS(1209),
-    [anon_sym___thread] = ACTIONS(1209),
-    [anon_sym_const] = ACTIONS(1209),
-    [anon_sym_constexpr] = ACTIONS(1209),
-    [anon_sym_volatile] = ACTIONS(1209),
-    [anon_sym_restrict] = ACTIONS(1209),
-    [anon_sym___restrict__] = ACTIONS(1209),
-    [anon_sym__Atomic] = ACTIONS(1209),
-    [anon_sym__Noreturn] = ACTIONS(1209),
-    [anon_sym_noreturn] = ACTIONS(1209),
-    [anon_sym__Nonnull] = ACTIONS(1209),
-    [anon_sym_alignas] = ACTIONS(1209),
-    [anon_sym__Alignas] = ACTIONS(1209),
-    [sym_primitive_type] = ACTIONS(1209),
-    [anon_sym_enum] = ACTIONS(1209),
-    [anon_sym_struct] = ACTIONS(1209),
-    [anon_sym_union] = ACTIONS(1209),
-    [anon_sym_if] = ACTIONS(1209),
-    [anon_sym_else] = ACTIONS(1209),
-    [anon_sym_switch] = ACTIONS(1209),
-    [anon_sym_case] = ACTIONS(1209),
-    [anon_sym_default] = ACTIONS(1209),
-    [anon_sym_while] = ACTIONS(1209),
-    [anon_sym_do] = ACTIONS(1209),
-    [anon_sym_for] = ACTIONS(1209),
-    [anon_sym_return] = ACTIONS(1209),
-    [anon_sym_break] = ACTIONS(1209),
-    [anon_sym_continue] = ACTIONS(1209),
-    [anon_sym_goto] = ACTIONS(1209),
-    [anon_sym___try] = ACTIONS(1209),
-    [anon_sym___leave] = ACTIONS(1209),
-    [anon_sym_DASH_DASH] = ACTIONS(1211),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1211),
-    [anon_sym_sizeof] = ACTIONS(1209),
-    [anon_sym___alignof__] = ACTIONS(1209),
-    [anon_sym___alignof] = ACTIONS(1209),
-    [anon_sym__alignof] = ACTIONS(1209),
-    [anon_sym_alignof] = ACTIONS(1209),
-    [anon_sym__Alignof] = ACTIONS(1209),
-    [anon_sym_offsetof] = ACTIONS(1209),
-    [anon_sym__Generic] = ACTIONS(1209),
-    [anon_sym_asm] = ACTIONS(1209),
-    [anon_sym___asm__] = ACTIONS(1209),
-    [anon_sym___asm] = ACTIONS(1209),
-    [sym_number_literal] = ACTIONS(1211),
-    [anon_sym_L_SQUOTE] = ACTIONS(1211),
-    [anon_sym_u_SQUOTE] = ACTIONS(1211),
-    [anon_sym_U_SQUOTE] = ACTIONS(1211),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1211),
-    [anon_sym_SQUOTE] = ACTIONS(1211),
-    [anon_sym_L_DQUOTE] = ACTIONS(1211),
-    [anon_sym_u_DQUOTE] = ACTIONS(1211),
-    [anon_sym_U_DQUOTE] = ACTIONS(1211),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1211),
-    [anon_sym_DQUOTE] = ACTIONS(1211),
-    [sym_true] = ACTIONS(1209),
-    [sym_false] = ACTIONS(1209),
-    [anon_sym_NULL] = ACTIONS(1209),
-    [anon_sym_nullptr] = ACTIONS(1209),
+    [sym_identifier] = ACTIONS(1154),
+    [aux_sym_preproc_include_token1] = ACTIONS(1154),
+    [aux_sym_preproc_def_token1] = ACTIONS(1154),
+    [aux_sym_preproc_if_token1] = ACTIONS(1154),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1154),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1154),
+    [sym_preproc_directive] = ACTIONS(1154),
+    [anon_sym_LPAREN2] = ACTIONS(1156),
+    [anon_sym_BANG] = ACTIONS(1156),
+    [anon_sym_TILDE] = ACTIONS(1156),
+    [anon_sym_DASH] = ACTIONS(1154),
+    [anon_sym_PLUS] = ACTIONS(1154),
+    [anon_sym_STAR] = ACTIONS(1156),
+    [anon_sym_AMP] = ACTIONS(1156),
+    [anon_sym_SEMI] = ACTIONS(1156),
+    [anon_sym___extension__] = ACTIONS(1154),
+    [anon_sym_typedef] = ACTIONS(1154),
+    [anon_sym_extern] = ACTIONS(1154),
+    [anon_sym___attribute__] = ACTIONS(1154),
+    [anon_sym___attribute] = ACTIONS(1154),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1156),
+    [anon_sym___declspec] = ACTIONS(1154),
+    [anon_sym___cdecl] = ACTIONS(1154),
+    [anon_sym___clrcall] = ACTIONS(1154),
+    [anon_sym___stdcall] = ACTIONS(1154),
+    [anon_sym___fastcall] = ACTIONS(1154),
+    [anon_sym___thiscall] = ACTIONS(1154),
+    [anon_sym___vectorcall] = ACTIONS(1154),
+    [anon_sym_LBRACE] = ACTIONS(1156),
+    [anon_sym_RBRACE] = ACTIONS(1156),
+    [anon_sym_signed] = ACTIONS(1154),
+    [anon_sym_unsigned] = ACTIONS(1154),
+    [anon_sym_long] = ACTIONS(1154),
+    [anon_sym_short] = ACTIONS(1154),
+    [anon_sym_static] = ACTIONS(1154),
+    [anon_sym_auto] = ACTIONS(1154),
+    [anon_sym_register] = ACTIONS(1154),
+    [anon_sym_inline] = ACTIONS(1154),
+    [anon_sym___inline] = ACTIONS(1154),
+    [anon_sym___inline__] = ACTIONS(1154),
+    [anon_sym___forceinline] = ACTIONS(1154),
+    [anon_sym_thread_local] = ACTIONS(1154),
+    [anon_sym___thread] = ACTIONS(1154),
+    [anon_sym_const] = ACTIONS(1154),
+    [anon_sym_constexpr] = ACTIONS(1154),
+    [anon_sym_volatile] = ACTIONS(1154),
+    [anon_sym_restrict] = ACTIONS(1154),
+    [anon_sym___restrict__] = ACTIONS(1154),
+    [anon_sym__Atomic] = ACTIONS(1154),
+    [anon_sym__Noreturn] = ACTIONS(1154),
+    [anon_sym_noreturn] = ACTIONS(1154),
+    [anon_sym__Nonnull] = ACTIONS(1154),
+    [anon_sym_alignas] = ACTIONS(1154),
+    [anon_sym__Alignas] = ACTIONS(1154),
+    [sym_primitive_type] = ACTIONS(1154),
+    [anon_sym_enum] = ACTIONS(1154),
+    [anon_sym_struct] = ACTIONS(1154),
+    [anon_sym_union] = ACTIONS(1154),
+    [anon_sym_if] = ACTIONS(1154),
+    [anon_sym_else] = ACTIONS(1154),
+    [anon_sym_switch] = ACTIONS(1154),
+    [anon_sym_case] = ACTIONS(1154),
+    [anon_sym_default] = ACTIONS(1154),
+    [anon_sym_while] = ACTIONS(1154),
+    [anon_sym_do] = ACTIONS(1154),
+    [anon_sym_for] = ACTIONS(1154),
+    [anon_sym_return] = ACTIONS(1154),
+    [anon_sym_break] = ACTIONS(1154),
+    [anon_sym_continue] = ACTIONS(1154),
+    [anon_sym_goto] = ACTIONS(1154),
+    [anon_sym___try] = ACTIONS(1154),
+    [anon_sym___leave] = ACTIONS(1154),
+    [anon_sym_DASH_DASH] = ACTIONS(1156),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1156),
+    [anon_sym_sizeof] = ACTIONS(1154),
+    [anon_sym___alignof__] = ACTIONS(1154),
+    [anon_sym___alignof] = ACTIONS(1154),
+    [anon_sym__alignof] = ACTIONS(1154),
+    [anon_sym_alignof] = ACTIONS(1154),
+    [anon_sym__Alignof] = ACTIONS(1154),
+    [anon_sym_offsetof] = ACTIONS(1154),
+    [anon_sym__Generic] = ACTIONS(1154),
+    [anon_sym_asm] = ACTIONS(1154),
+    [anon_sym___asm__] = ACTIONS(1154),
+    [anon_sym___asm] = ACTIONS(1154),
+    [sym_number_literal] = ACTIONS(1156),
+    [anon_sym_L_SQUOTE] = ACTIONS(1156),
+    [anon_sym_u_SQUOTE] = ACTIONS(1156),
+    [anon_sym_U_SQUOTE] = ACTIONS(1156),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1156),
+    [anon_sym_SQUOTE] = ACTIONS(1156),
+    [anon_sym_L_DQUOTE] = ACTIONS(1156),
+    [anon_sym_u_DQUOTE] = ACTIONS(1156),
+    [anon_sym_U_DQUOTE] = ACTIONS(1156),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1156),
+    [anon_sym_DQUOTE] = ACTIONS(1156),
+    [sym_true] = ACTIONS(1154),
+    [sym_false] = ACTIONS(1154),
+    [anon_sym_NULL] = ACTIONS(1154),
+    [anon_sym_nullptr] = ACTIONS(1154),
     [sym_comment] = ACTIONS(3),
   },
   [201] = {
-    [ts_builtin_sym_end] = ACTIONS(1211),
-    [sym_identifier] = ACTIONS(1209),
-    [aux_sym_preproc_include_token1] = ACTIONS(1209),
-    [aux_sym_preproc_def_token1] = ACTIONS(1209),
-    [aux_sym_preproc_if_token1] = ACTIONS(1209),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1209),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1209),
-    [sym_preproc_directive] = ACTIONS(1209),
-    [anon_sym_LPAREN2] = ACTIONS(1211),
-    [anon_sym_BANG] = ACTIONS(1211),
-    [anon_sym_TILDE] = ACTIONS(1211),
-    [anon_sym_DASH] = ACTIONS(1209),
-    [anon_sym_PLUS] = ACTIONS(1209),
-    [anon_sym_STAR] = ACTIONS(1211),
-    [anon_sym_AMP] = ACTIONS(1211),
-    [anon_sym_SEMI] = ACTIONS(1211),
-    [anon_sym___extension__] = ACTIONS(1209),
-    [anon_sym_typedef] = ACTIONS(1209),
-    [anon_sym_extern] = ACTIONS(1209),
-    [anon_sym___attribute__] = ACTIONS(1209),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1211),
-    [anon_sym___declspec] = ACTIONS(1209),
-    [anon_sym___cdecl] = ACTIONS(1209),
-    [anon_sym___clrcall] = ACTIONS(1209),
-    [anon_sym___stdcall] = ACTIONS(1209),
-    [anon_sym___fastcall] = ACTIONS(1209),
-    [anon_sym___thiscall] = ACTIONS(1209),
-    [anon_sym___vectorcall] = ACTIONS(1209),
-    [anon_sym_LBRACE] = ACTIONS(1211),
-    [anon_sym_signed] = ACTIONS(1209),
-    [anon_sym_unsigned] = ACTIONS(1209),
-    [anon_sym_long] = ACTIONS(1209),
-    [anon_sym_short] = ACTIONS(1209),
-    [anon_sym_static] = ACTIONS(1209),
-    [anon_sym_auto] = ACTIONS(1209),
-    [anon_sym_register] = ACTIONS(1209),
-    [anon_sym_inline] = ACTIONS(1209),
-    [anon_sym___inline] = ACTIONS(1209),
-    [anon_sym___inline__] = ACTIONS(1209),
-    [anon_sym___forceinline] = ACTIONS(1209),
-    [anon_sym_thread_local] = ACTIONS(1209),
-    [anon_sym___thread] = ACTIONS(1209),
-    [anon_sym_const] = ACTIONS(1209),
-    [anon_sym_constexpr] = ACTIONS(1209),
-    [anon_sym_volatile] = ACTIONS(1209),
-    [anon_sym_restrict] = ACTIONS(1209),
-    [anon_sym___restrict__] = ACTIONS(1209),
-    [anon_sym__Atomic] = ACTIONS(1209),
-    [anon_sym__Noreturn] = ACTIONS(1209),
-    [anon_sym_noreturn] = ACTIONS(1209),
-    [anon_sym__Nonnull] = ACTIONS(1209),
-    [anon_sym_alignas] = ACTIONS(1209),
-    [anon_sym__Alignas] = ACTIONS(1209),
-    [sym_primitive_type] = ACTIONS(1209),
-    [anon_sym_enum] = ACTIONS(1209),
-    [anon_sym_struct] = ACTIONS(1209),
-    [anon_sym_union] = ACTIONS(1209),
-    [anon_sym_if] = ACTIONS(1209),
-    [anon_sym_else] = ACTIONS(1209),
-    [anon_sym_switch] = ACTIONS(1209),
-    [anon_sym_case] = ACTIONS(1209),
-    [anon_sym_default] = ACTIONS(1209),
-    [anon_sym_while] = ACTIONS(1209),
-    [anon_sym_do] = ACTIONS(1209),
-    [anon_sym_for] = ACTIONS(1209),
-    [anon_sym_return] = ACTIONS(1209),
-    [anon_sym_break] = ACTIONS(1209),
-    [anon_sym_continue] = ACTIONS(1209),
-    [anon_sym_goto] = ACTIONS(1209),
-    [anon_sym___try] = ACTIONS(1209),
-    [anon_sym___leave] = ACTIONS(1209),
-    [anon_sym_DASH_DASH] = ACTIONS(1211),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1211),
-    [anon_sym_sizeof] = ACTIONS(1209),
-    [anon_sym___alignof__] = ACTIONS(1209),
-    [anon_sym___alignof] = ACTIONS(1209),
-    [anon_sym__alignof] = ACTIONS(1209),
-    [anon_sym_alignof] = ACTIONS(1209),
-    [anon_sym__Alignof] = ACTIONS(1209),
-    [anon_sym_offsetof] = ACTIONS(1209),
-    [anon_sym__Generic] = ACTIONS(1209),
-    [anon_sym_asm] = ACTIONS(1209),
-    [anon_sym___asm__] = ACTIONS(1209),
-    [anon_sym___asm] = ACTIONS(1209),
-    [sym_number_literal] = ACTIONS(1211),
-    [anon_sym_L_SQUOTE] = ACTIONS(1211),
-    [anon_sym_u_SQUOTE] = ACTIONS(1211),
-    [anon_sym_U_SQUOTE] = ACTIONS(1211),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1211),
-    [anon_sym_SQUOTE] = ACTIONS(1211),
-    [anon_sym_L_DQUOTE] = ACTIONS(1211),
-    [anon_sym_u_DQUOTE] = ACTIONS(1211),
-    [anon_sym_U_DQUOTE] = ACTIONS(1211),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1211),
-    [anon_sym_DQUOTE] = ACTIONS(1211),
-    [sym_true] = ACTIONS(1209),
-    [sym_false] = ACTIONS(1209),
-    [anon_sym_NULL] = ACTIONS(1209),
-    [anon_sym_nullptr] = ACTIONS(1209),
+    [sym_identifier] = ACTIONS(1154),
+    [aux_sym_preproc_include_token1] = ACTIONS(1154),
+    [aux_sym_preproc_def_token1] = ACTIONS(1154),
+    [aux_sym_preproc_if_token1] = ACTIONS(1154),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1154),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1154),
+    [sym_preproc_directive] = ACTIONS(1154),
+    [anon_sym_LPAREN2] = ACTIONS(1156),
+    [anon_sym_BANG] = ACTIONS(1156),
+    [anon_sym_TILDE] = ACTIONS(1156),
+    [anon_sym_DASH] = ACTIONS(1154),
+    [anon_sym_PLUS] = ACTIONS(1154),
+    [anon_sym_STAR] = ACTIONS(1156),
+    [anon_sym_AMP] = ACTIONS(1156),
+    [anon_sym_SEMI] = ACTIONS(1156),
+    [anon_sym___extension__] = ACTIONS(1154),
+    [anon_sym_typedef] = ACTIONS(1154),
+    [anon_sym_extern] = ACTIONS(1154),
+    [anon_sym___attribute__] = ACTIONS(1154),
+    [anon_sym___attribute] = ACTIONS(1154),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1156),
+    [anon_sym___declspec] = ACTIONS(1154),
+    [anon_sym___cdecl] = ACTIONS(1154),
+    [anon_sym___clrcall] = ACTIONS(1154),
+    [anon_sym___stdcall] = ACTIONS(1154),
+    [anon_sym___fastcall] = ACTIONS(1154),
+    [anon_sym___thiscall] = ACTIONS(1154),
+    [anon_sym___vectorcall] = ACTIONS(1154),
+    [anon_sym_LBRACE] = ACTIONS(1156),
+    [anon_sym_RBRACE] = ACTIONS(1156),
+    [anon_sym_signed] = ACTIONS(1154),
+    [anon_sym_unsigned] = ACTIONS(1154),
+    [anon_sym_long] = ACTIONS(1154),
+    [anon_sym_short] = ACTIONS(1154),
+    [anon_sym_static] = ACTIONS(1154),
+    [anon_sym_auto] = ACTIONS(1154),
+    [anon_sym_register] = ACTIONS(1154),
+    [anon_sym_inline] = ACTIONS(1154),
+    [anon_sym___inline] = ACTIONS(1154),
+    [anon_sym___inline__] = ACTIONS(1154),
+    [anon_sym___forceinline] = ACTIONS(1154),
+    [anon_sym_thread_local] = ACTIONS(1154),
+    [anon_sym___thread] = ACTIONS(1154),
+    [anon_sym_const] = ACTIONS(1154),
+    [anon_sym_constexpr] = ACTIONS(1154),
+    [anon_sym_volatile] = ACTIONS(1154),
+    [anon_sym_restrict] = ACTIONS(1154),
+    [anon_sym___restrict__] = ACTIONS(1154),
+    [anon_sym__Atomic] = ACTIONS(1154),
+    [anon_sym__Noreturn] = ACTIONS(1154),
+    [anon_sym_noreturn] = ACTIONS(1154),
+    [anon_sym__Nonnull] = ACTIONS(1154),
+    [anon_sym_alignas] = ACTIONS(1154),
+    [anon_sym__Alignas] = ACTIONS(1154),
+    [sym_primitive_type] = ACTIONS(1154),
+    [anon_sym_enum] = ACTIONS(1154),
+    [anon_sym_struct] = ACTIONS(1154),
+    [anon_sym_union] = ACTIONS(1154),
+    [anon_sym_if] = ACTIONS(1154),
+    [anon_sym_else] = ACTIONS(1154),
+    [anon_sym_switch] = ACTIONS(1154),
+    [anon_sym_case] = ACTIONS(1154),
+    [anon_sym_default] = ACTIONS(1154),
+    [anon_sym_while] = ACTIONS(1154),
+    [anon_sym_do] = ACTIONS(1154),
+    [anon_sym_for] = ACTIONS(1154),
+    [anon_sym_return] = ACTIONS(1154),
+    [anon_sym_break] = ACTIONS(1154),
+    [anon_sym_continue] = ACTIONS(1154),
+    [anon_sym_goto] = ACTIONS(1154),
+    [anon_sym___try] = ACTIONS(1154),
+    [anon_sym___leave] = ACTIONS(1154),
+    [anon_sym_DASH_DASH] = ACTIONS(1156),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1156),
+    [anon_sym_sizeof] = ACTIONS(1154),
+    [anon_sym___alignof__] = ACTIONS(1154),
+    [anon_sym___alignof] = ACTIONS(1154),
+    [anon_sym__alignof] = ACTIONS(1154),
+    [anon_sym_alignof] = ACTIONS(1154),
+    [anon_sym__Alignof] = ACTIONS(1154),
+    [anon_sym_offsetof] = ACTIONS(1154),
+    [anon_sym__Generic] = ACTIONS(1154),
+    [anon_sym_asm] = ACTIONS(1154),
+    [anon_sym___asm__] = ACTIONS(1154),
+    [anon_sym___asm] = ACTIONS(1154),
+    [sym_number_literal] = ACTIONS(1156),
+    [anon_sym_L_SQUOTE] = ACTIONS(1156),
+    [anon_sym_u_SQUOTE] = ACTIONS(1156),
+    [anon_sym_U_SQUOTE] = ACTIONS(1156),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1156),
+    [anon_sym_SQUOTE] = ACTIONS(1156),
+    [anon_sym_L_DQUOTE] = ACTIONS(1156),
+    [anon_sym_u_DQUOTE] = ACTIONS(1156),
+    [anon_sym_U_DQUOTE] = ACTIONS(1156),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1156),
+    [anon_sym_DQUOTE] = ACTIONS(1156),
+    [sym_true] = ACTIONS(1154),
+    [sym_false] = ACTIONS(1154),
+    [anon_sym_NULL] = ACTIONS(1154),
+    [anon_sym_nullptr] = ACTIONS(1154),
     [sym_comment] = ACTIONS(3),
   },
   [202] = {
-    [sym_identifier] = ACTIONS(1133),
-    [aux_sym_preproc_include_token1] = ACTIONS(1133),
-    [aux_sym_preproc_def_token1] = ACTIONS(1133),
-    [aux_sym_preproc_if_token1] = ACTIONS(1133),
-    [aux_sym_preproc_if_token2] = ACTIONS(1133),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1133),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1133),
-    [sym_preproc_directive] = ACTIONS(1133),
-    [anon_sym_LPAREN2] = ACTIONS(1135),
-    [anon_sym_BANG] = ACTIONS(1135),
-    [anon_sym_TILDE] = ACTIONS(1135),
-    [anon_sym_DASH] = ACTIONS(1133),
-    [anon_sym_PLUS] = ACTIONS(1133),
-    [anon_sym_STAR] = ACTIONS(1135),
-    [anon_sym_AMP] = ACTIONS(1135),
-    [anon_sym_SEMI] = ACTIONS(1135),
-    [anon_sym___extension__] = ACTIONS(1133),
-    [anon_sym_typedef] = ACTIONS(1133),
-    [anon_sym_extern] = ACTIONS(1133),
-    [anon_sym___attribute__] = ACTIONS(1133),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1135),
-    [anon_sym___declspec] = ACTIONS(1133),
-    [anon_sym___cdecl] = ACTIONS(1133),
-    [anon_sym___clrcall] = ACTIONS(1133),
-    [anon_sym___stdcall] = ACTIONS(1133),
-    [anon_sym___fastcall] = ACTIONS(1133),
-    [anon_sym___thiscall] = ACTIONS(1133),
-    [anon_sym___vectorcall] = ACTIONS(1133),
-    [anon_sym_LBRACE] = ACTIONS(1135),
-    [anon_sym_signed] = ACTIONS(1133),
-    [anon_sym_unsigned] = ACTIONS(1133),
-    [anon_sym_long] = ACTIONS(1133),
-    [anon_sym_short] = ACTIONS(1133),
-    [anon_sym_static] = ACTIONS(1133),
-    [anon_sym_auto] = ACTIONS(1133),
-    [anon_sym_register] = ACTIONS(1133),
-    [anon_sym_inline] = ACTIONS(1133),
-    [anon_sym___inline] = ACTIONS(1133),
-    [anon_sym___inline__] = ACTIONS(1133),
-    [anon_sym___forceinline] = ACTIONS(1133),
-    [anon_sym_thread_local] = ACTIONS(1133),
-    [anon_sym___thread] = ACTIONS(1133),
-    [anon_sym_const] = ACTIONS(1133),
-    [anon_sym_constexpr] = ACTIONS(1133),
-    [anon_sym_volatile] = ACTIONS(1133),
-    [anon_sym_restrict] = ACTIONS(1133),
-    [anon_sym___restrict__] = ACTIONS(1133),
-    [anon_sym__Atomic] = ACTIONS(1133),
-    [anon_sym__Noreturn] = ACTIONS(1133),
-    [anon_sym_noreturn] = ACTIONS(1133),
-    [anon_sym__Nonnull] = ACTIONS(1133),
-    [anon_sym_alignas] = ACTIONS(1133),
-    [anon_sym__Alignas] = ACTIONS(1133),
-    [sym_primitive_type] = ACTIONS(1133),
-    [anon_sym_enum] = ACTIONS(1133),
-    [anon_sym_struct] = ACTIONS(1133),
-    [anon_sym_union] = ACTIONS(1133),
-    [anon_sym_if] = ACTIONS(1133),
-    [anon_sym_else] = ACTIONS(1133),
-    [anon_sym_switch] = ACTIONS(1133),
-    [anon_sym_case] = ACTIONS(1133),
-    [anon_sym_default] = ACTIONS(1133),
-    [anon_sym_while] = ACTIONS(1133),
-    [anon_sym_do] = ACTIONS(1133),
-    [anon_sym_for] = ACTIONS(1133),
-    [anon_sym_return] = ACTIONS(1133),
-    [anon_sym_break] = ACTIONS(1133),
-    [anon_sym_continue] = ACTIONS(1133),
-    [anon_sym_goto] = ACTIONS(1133),
-    [anon_sym___try] = ACTIONS(1133),
-    [anon_sym___leave] = ACTIONS(1133),
-    [anon_sym_DASH_DASH] = ACTIONS(1135),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1135),
-    [anon_sym_sizeof] = ACTIONS(1133),
-    [anon_sym___alignof__] = ACTIONS(1133),
-    [anon_sym___alignof] = ACTIONS(1133),
-    [anon_sym__alignof] = ACTIONS(1133),
-    [anon_sym_alignof] = ACTIONS(1133),
-    [anon_sym__Alignof] = ACTIONS(1133),
-    [anon_sym_offsetof] = ACTIONS(1133),
-    [anon_sym__Generic] = ACTIONS(1133),
-    [anon_sym_asm] = ACTIONS(1133),
-    [anon_sym___asm__] = ACTIONS(1133),
-    [anon_sym___asm] = ACTIONS(1133),
-    [sym_number_literal] = ACTIONS(1135),
-    [anon_sym_L_SQUOTE] = ACTIONS(1135),
-    [anon_sym_u_SQUOTE] = ACTIONS(1135),
-    [anon_sym_U_SQUOTE] = ACTIONS(1135),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1135),
-    [anon_sym_SQUOTE] = ACTIONS(1135),
-    [anon_sym_L_DQUOTE] = ACTIONS(1135),
-    [anon_sym_u_DQUOTE] = ACTIONS(1135),
-    [anon_sym_U_DQUOTE] = ACTIONS(1135),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1135),
-    [anon_sym_DQUOTE] = ACTIONS(1135),
-    [sym_true] = ACTIONS(1133),
-    [sym_false] = ACTIONS(1133),
-    [anon_sym_NULL] = ACTIONS(1133),
-    [anon_sym_nullptr] = ACTIONS(1133),
+    [sym_identifier] = ACTIONS(1178),
+    [aux_sym_preproc_include_token1] = ACTIONS(1178),
+    [aux_sym_preproc_def_token1] = ACTIONS(1178),
+    [aux_sym_preproc_if_token1] = ACTIONS(1178),
+    [aux_sym_preproc_if_token2] = ACTIONS(1178),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1178),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1178),
+    [sym_preproc_directive] = ACTIONS(1178),
+    [anon_sym_LPAREN2] = ACTIONS(1180),
+    [anon_sym_BANG] = ACTIONS(1180),
+    [anon_sym_TILDE] = ACTIONS(1180),
+    [anon_sym_DASH] = ACTIONS(1178),
+    [anon_sym_PLUS] = ACTIONS(1178),
+    [anon_sym_STAR] = ACTIONS(1180),
+    [anon_sym_AMP] = ACTIONS(1180),
+    [anon_sym_SEMI] = ACTIONS(1180),
+    [anon_sym___extension__] = ACTIONS(1178),
+    [anon_sym_typedef] = ACTIONS(1178),
+    [anon_sym_extern] = ACTIONS(1178),
+    [anon_sym___attribute__] = ACTIONS(1178),
+    [anon_sym___attribute] = ACTIONS(1178),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1180),
+    [anon_sym___declspec] = ACTIONS(1178),
+    [anon_sym___cdecl] = ACTIONS(1178),
+    [anon_sym___clrcall] = ACTIONS(1178),
+    [anon_sym___stdcall] = ACTIONS(1178),
+    [anon_sym___fastcall] = ACTIONS(1178),
+    [anon_sym___thiscall] = ACTIONS(1178),
+    [anon_sym___vectorcall] = ACTIONS(1178),
+    [anon_sym_LBRACE] = ACTIONS(1180),
+    [anon_sym_signed] = ACTIONS(1178),
+    [anon_sym_unsigned] = ACTIONS(1178),
+    [anon_sym_long] = ACTIONS(1178),
+    [anon_sym_short] = ACTIONS(1178),
+    [anon_sym_static] = ACTIONS(1178),
+    [anon_sym_auto] = ACTIONS(1178),
+    [anon_sym_register] = ACTIONS(1178),
+    [anon_sym_inline] = ACTIONS(1178),
+    [anon_sym___inline] = ACTIONS(1178),
+    [anon_sym___inline__] = ACTIONS(1178),
+    [anon_sym___forceinline] = ACTIONS(1178),
+    [anon_sym_thread_local] = ACTIONS(1178),
+    [anon_sym___thread] = ACTIONS(1178),
+    [anon_sym_const] = ACTIONS(1178),
+    [anon_sym_constexpr] = ACTIONS(1178),
+    [anon_sym_volatile] = ACTIONS(1178),
+    [anon_sym_restrict] = ACTIONS(1178),
+    [anon_sym___restrict__] = ACTIONS(1178),
+    [anon_sym__Atomic] = ACTIONS(1178),
+    [anon_sym__Noreturn] = ACTIONS(1178),
+    [anon_sym_noreturn] = ACTIONS(1178),
+    [anon_sym__Nonnull] = ACTIONS(1178),
+    [anon_sym_alignas] = ACTIONS(1178),
+    [anon_sym__Alignas] = ACTIONS(1178),
+    [sym_primitive_type] = ACTIONS(1178),
+    [anon_sym_enum] = ACTIONS(1178),
+    [anon_sym_struct] = ACTIONS(1178),
+    [anon_sym_union] = ACTIONS(1178),
+    [anon_sym_if] = ACTIONS(1178),
+    [anon_sym_else] = ACTIONS(1178),
+    [anon_sym_switch] = ACTIONS(1178),
+    [anon_sym_case] = ACTIONS(1178),
+    [anon_sym_default] = ACTIONS(1178),
+    [anon_sym_while] = ACTIONS(1178),
+    [anon_sym_do] = ACTIONS(1178),
+    [anon_sym_for] = ACTIONS(1178),
+    [anon_sym_return] = ACTIONS(1178),
+    [anon_sym_break] = ACTIONS(1178),
+    [anon_sym_continue] = ACTIONS(1178),
+    [anon_sym_goto] = ACTIONS(1178),
+    [anon_sym___try] = ACTIONS(1178),
+    [anon_sym___leave] = ACTIONS(1178),
+    [anon_sym_DASH_DASH] = ACTIONS(1180),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1180),
+    [anon_sym_sizeof] = ACTIONS(1178),
+    [anon_sym___alignof__] = ACTIONS(1178),
+    [anon_sym___alignof] = ACTIONS(1178),
+    [anon_sym__alignof] = ACTIONS(1178),
+    [anon_sym_alignof] = ACTIONS(1178),
+    [anon_sym__Alignof] = ACTIONS(1178),
+    [anon_sym_offsetof] = ACTIONS(1178),
+    [anon_sym__Generic] = ACTIONS(1178),
+    [anon_sym_asm] = ACTIONS(1178),
+    [anon_sym___asm__] = ACTIONS(1178),
+    [anon_sym___asm] = ACTIONS(1178),
+    [sym_number_literal] = ACTIONS(1180),
+    [anon_sym_L_SQUOTE] = ACTIONS(1180),
+    [anon_sym_u_SQUOTE] = ACTIONS(1180),
+    [anon_sym_U_SQUOTE] = ACTIONS(1180),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1180),
+    [anon_sym_SQUOTE] = ACTIONS(1180),
+    [anon_sym_L_DQUOTE] = ACTIONS(1180),
+    [anon_sym_u_DQUOTE] = ACTIONS(1180),
+    [anon_sym_U_DQUOTE] = ACTIONS(1180),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1180),
+    [anon_sym_DQUOTE] = ACTIONS(1180),
+    [sym_true] = ACTIONS(1178),
+    [sym_false] = ACTIONS(1178),
+    [anon_sym_NULL] = ACTIONS(1178),
+    [anon_sym_nullptr] = ACTIONS(1178),
     [sym_comment] = ACTIONS(3),
   },
   [203] = {
-    [sym_identifier] = ACTIONS(1137),
-    [aux_sym_preproc_include_token1] = ACTIONS(1137),
-    [aux_sym_preproc_def_token1] = ACTIONS(1137),
-    [aux_sym_preproc_if_token1] = ACTIONS(1137),
-    [aux_sym_preproc_if_token2] = ACTIONS(1137),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1137),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1137),
-    [sym_preproc_directive] = ACTIONS(1137),
-    [anon_sym_LPAREN2] = ACTIONS(1139),
-    [anon_sym_BANG] = ACTIONS(1139),
-    [anon_sym_TILDE] = ACTIONS(1139),
-    [anon_sym_DASH] = ACTIONS(1137),
-    [anon_sym_PLUS] = ACTIONS(1137),
-    [anon_sym_STAR] = ACTIONS(1139),
-    [anon_sym_AMP] = ACTIONS(1139),
-    [anon_sym_SEMI] = ACTIONS(1139),
-    [anon_sym___extension__] = ACTIONS(1137),
-    [anon_sym_typedef] = ACTIONS(1137),
-    [anon_sym_extern] = ACTIONS(1137),
-    [anon_sym___attribute__] = ACTIONS(1137),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1139),
-    [anon_sym___declspec] = ACTIONS(1137),
-    [anon_sym___cdecl] = ACTIONS(1137),
-    [anon_sym___clrcall] = ACTIONS(1137),
-    [anon_sym___stdcall] = ACTIONS(1137),
-    [anon_sym___fastcall] = ACTIONS(1137),
-    [anon_sym___thiscall] = ACTIONS(1137),
-    [anon_sym___vectorcall] = ACTIONS(1137),
-    [anon_sym_LBRACE] = ACTIONS(1139),
-    [anon_sym_signed] = ACTIONS(1137),
-    [anon_sym_unsigned] = ACTIONS(1137),
-    [anon_sym_long] = ACTIONS(1137),
-    [anon_sym_short] = ACTIONS(1137),
-    [anon_sym_static] = ACTIONS(1137),
-    [anon_sym_auto] = ACTIONS(1137),
-    [anon_sym_register] = ACTIONS(1137),
-    [anon_sym_inline] = ACTIONS(1137),
-    [anon_sym___inline] = ACTIONS(1137),
-    [anon_sym___inline__] = ACTIONS(1137),
-    [anon_sym___forceinline] = ACTIONS(1137),
-    [anon_sym_thread_local] = ACTIONS(1137),
-    [anon_sym___thread] = ACTIONS(1137),
-    [anon_sym_const] = ACTIONS(1137),
-    [anon_sym_constexpr] = ACTIONS(1137),
-    [anon_sym_volatile] = ACTIONS(1137),
-    [anon_sym_restrict] = ACTIONS(1137),
-    [anon_sym___restrict__] = ACTIONS(1137),
-    [anon_sym__Atomic] = ACTIONS(1137),
-    [anon_sym__Noreturn] = ACTIONS(1137),
-    [anon_sym_noreturn] = ACTIONS(1137),
-    [anon_sym__Nonnull] = ACTIONS(1137),
-    [anon_sym_alignas] = ACTIONS(1137),
-    [anon_sym__Alignas] = ACTIONS(1137),
-    [sym_primitive_type] = ACTIONS(1137),
-    [anon_sym_enum] = ACTIONS(1137),
-    [anon_sym_struct] = ACTIONS(1137),
-    [anon_sym_union] = ACTIONS(1137),
-    [anon_sym_if] = ACTIONS(1137),
-    [anon_sym_else] = ACTIONS(1137),
-    [anon_sym_switch] = ACTIONS(1137),
-    [anon_sym_case] = ACTIONS(1137),
-    [anon_sym_default] = ACTIONS(1137),
-    [anon_sym_while] = ACTIONS(1137),
-    [anon_sym_do] = ACTIONS(1137),
-    [anon_sym_for] = ACTIONS(1137),
-    [anon_sym_return] = ACTIONS(1137),
-    [anon_sym_break] = ACTIONS(1137),
-    [anon_sym_continue] = ACTIONS(1137),
-    [anon_sym_goto] = ACTIONS(1137),
-    [anon_sym___try] = ACTIONS(1137),
-    [anon_sym___leave] = ACTIONS(1137),
-    [anon_sym_DASH_DASH] = ACTIONS(1139),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1139),
-    [anon_sym_sizeof] = ACTIONS(1137),
-    [anon_sym___alignof__] = ACTIONS(1137),
-    [anon_sym___alignof] = ACTIONS(1137),
-    [anon_sym__alignof] = ACTIONS(1137),
-    [anon_sym_alignof] = ACTIONS(1137),
-    [anon_sym__Alignof] = ACTIONS(1137),
-    [anon_sym_offsetof] = ACTIONS(1137),
-    [anon_sym__Generic] = ACTIONS(1137),
-    [anon_sym_asm] = ACTIONS(1137),
-    [anon_sym___asm__] = ACTIONS(1137),
-    [anon_sym___asm] = ACTIONS(1137),
-    [sym_number_literal] = ACTIONS(1139),
-    [anon_sym_L_SQUOTE] = ACTIONS(1139),
-    [anon_sym_u_SQUOTE] = ACTIONS(1139),
-    [anon_sym_U_SQUOTE] = ACTIONS(1139),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1139),
-    [anon_sym_SQUOTE] = ACTIONS(1139),
-    [anon_sym_L_DQUOTE] = ACTIONS(1139),
-    [anon_sym_u_DQUOTE] = ACTIONS(1139),
-    [anon_sym_U_DQUOTE] = ACTIONS(1139),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1139),
-    [anon_sym_DQUOTE] = ACTIONS(1139),
-    [sym_true] = ACTIONS(1137),
-    [sym_false] = ACTIONS(1137),
-    [anon_sym_NULL] = ACTIONS(1137),
-    [anon_sym_nullptr] = ACTIONS(1137),
+    [sym_identifier] = ACTIONS(1182),
+    [aux_sym_preproc_include_token1] = ACTIONS(1182),
+    [aux_sym_preproc_def_token1] = ACTIONS(1182),
+    [aux_sym_preproc_if_token1] = ACTIONS(1182),
+    [aux_sym_preproc_if_token2] = ACTIONS(1182),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1182),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1182),
+    [sym_preproc_directive] = ACTIONS(1182),
+    [anon_sym_LPAREN2] = ACTIONS(1184),
+    [anon_sym_BANG] = ACTIONS(1184),
+    [anon_sym_TILDE] = ACTIONS(1184),
+    [anon_sym_DASH] = ACTIONS(1182),
+    [anon_sym_PLUS] = ACTIONS(1182),
+    [anon_sym_STAR] = ACTIONS(1184),
+    [anon_sym_AMP] = ACTIONS(1184),
+    [anon_sym_SEMI] = ACTIONS(1184),
+    [anon_sym___extension__] = ACTIONS(1182),
+    [anon_sym_typedef] = ACTIONS(1182),
+    [anon_sym_extern] = ACTIONS(1182),
+    [anon_sym___attribute__] = ACTIONS(1182),
+    [anon_sym___attribute] = ACTIONS(1182),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1184),
+    [anon_sym___declspec] = ACTIONS(1182),
+    [anon_sym___cdecl] = ACTIONS(1182),
+    [anon_sym___clrcall] = ACTIONS(1182),
+    [anon_sym___stdcall] = ACTIONS(1182),
+    [anon_sym___fastcall] = ACTIONS(1182),
+    [anon_sym___thiscall] = ACTIONS(1182),
+    [anon_sym___vectorcall] = ACTIONS(1182),
+    [anon_sym_LBRACE] = ACTIONS(1184),
+    [anon_sym_signed] = ACTIONS(1182),
+    [anon_sym_unsigned] = ACTIONS(1182),
+    [anon_sym_long] = ACTIONS(1182),
+    [anon_sym_short] = ACTIONS(1182),
+    [anon_sym_static] = ACTIONS(1182),
+    [anon_sym_auto] = ACTIONS(1182),
+    [anon_sym_register] = ACTIONS(1182),
+    [anon_sym_inline] = ACTIONS(1182),
+    [anon_sym___inline] = ACTIONS(1182),
+    [anon_sym___inline__] = ACTIONS(1182),
+    [anon_sym___forceinline] = ACTIONS(1182),
+    [anon_sym_thread_local] = ACTIONS(1182),
+    [anon_sym___thread] = ACTIONS(1182),
+    [anon_sym_const] = ACTIONS(1182),
+    [anon_sym_constexpr] = ACTIONS(1182),
+    [anon_sym_volatile] = ACTIONS(1182),
+    [anon_sym_restrict] = ACTIONS(1182),
+    [anon_sym___restrict__] = ACTIONS(1182),
+    [anon_sym__Atomic] = ACTIONS(1182),
+    [anon_sym__Noreturn] = ACTIONS(1182),
+    [anon_sym_noreturn] = ACTIONS(1182),
+    [anon_sym__Nonnull] = ACTIONS(1182),
+    [anon_sym_alignas] = ACTIONS(1182),
+    [anon_sym__Alignas] = ACTIONS(1182),
+    [sym_primitive_type] = ACTIONS(1182),
+    [anon_sym_enum] = ACTIONS(1182),
+    [anon_sym_struct] = ACTIONS(1182),
+    [anon_sym_union] = ACTIONS(1182),
+    [anon_sym_if] = ACTIONS(1182),
+    [anon_sym_else] = ACTIONS(1182),
+    [anon_sym_switch] = ACTIONS(1182),
+    [anon_sym_case] = ACTIONS(1182),
+    [anon_sym_default] = ACTIONS(1182),
+    [anon_sym_while] = ACTIONS(1182),
+    [anon_sym_do] = ACTIONS(1182),
+    [anon_sym_for] = ACTIONS(1182),
+    [anon_sym_return] = ACTIONS(1182),
+    [anon_sym_break] = ACTIONS(1182),
+    [anon_sym_continue] = ACTIONS(1182),
+    [anon_sym_goto] = ACTIONS(1182),
+    [anon_sym___try] = ACTIONS(1182),
+    [anon_sym___leave] = ACTIONS(1182),
+    [anon_sym_DASH_DASH] = ACTIONS(1184),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1184),
+    [anon_sym_sizeof] = ACTIONS(1182),
+    [anon_sym___alignof__] = ACTIONS(1182),
+    [anon_sym___alignof] = ACTIONS(1182),
+    [anon_sym__alignof] = ACTIONS(1182),
+    [anon_sym_alignof] = ACTIONS(1182),
+    [anon_sym__Alignof] = ACTIONS(1182),
+    [anon_sym_offsetof] = ACTIONS(1182),
+    [anon_sym__Generic] = ACTIONS(1182),
+    [anon_sym_asm] = ACTIONS(1182),
+    [anon_sym___asm__] = ACTIONS(1182),
+    [anon_sym___asm] = ACTIONS(1182),
+    [sym_number_literal] = ACTIONS(1184),
+    [anon_sym_L_SQUOTE] = ACTIONS(1184),
+    [anon_sym_u_SQUOTE] = ACTIONS(1184),
+    [anon_sym_U_SQUOTE] = ACTIONS(1184),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1184),
+    [anon_sym_SQUOTE] = ACTIONS(1184),
+    [anon_sym_L_DQUOTE] = ACTIONS(1184),
+    [anon_sym_u_DQUOTE] = ACTIONS(1184),
+    [anon_sym_U_DQUOTE] = ACTIONS(1184),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1184),
+    [anon_sym_DQUOTE] = ACTIONS(1184),
+    [sym_true] = ACTIONS(1182),
+    [sym_false] = ACTIONS(1182),
+    [anon_sym_NULL] = ACTIONS(1182),
+    [anon_sym_nullptr] = ACTIONS(1182),
     [sym_comment] = ACTIONS(3),
   },
   [204] = {
-    [sym_identifier] = ACTIONS(1141),
-    [aux_sym_preproc_include_token1] = ACTIONS(1141),
-    [aux_sym_preproc_def_token1] = ACTIONS(1141),
-    [aux_sym_preproc_if_token1] = ACTIONS(1141),
-    [aux_sym_preproc_if_token2] = ACTIONS(1141),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1141),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1141),
-    [sym_preproc_directive] = ACTIONS(1141),
-    [anon_sym_LPAREN2] = ACTIONS(1143),
-    [anon_sym_BANG] = ACTIONS(1143),
-    [anon_sym_TILDE] = ACTIONS(1143),
-    [anon_sym_DASH] = ACTIONS(1141),
-    [anon_sym_PLUS] = ACTIONS(1141),
-    [anon_sym_STAR] = ACTIONS(1143),
-    [anon_sym_AMP] = ACTIONS(1143),
-    [anon_sym_SEMI] = ACTIONS(1143),
-    [anon_sym___extension__] = ACTIONS(1141),
-    [anon_sym_typedef] = ACTIONS(1141),
-    [anon_sym_extern] = ACTIONS(1141),
-    [anon_sym___attribute__] = ACTIONS(1141),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1143),
-    [anon_sym___declspec] = ACTIONS(1141),
-    [anon_sym___cdecl] = ACTIONS(1141),
-    [anon_sym___clrcall] = ACTIONS(1141),
-    [anon_sym___stdcall] = ACTIONS(1141),
-    [anon_sym___fastcall] = ACTIONS(1141),
-    [anon_sym___thiscall] = ACTIONS(1141),
-    [anon_sym___vectorcall] = ACTIONS(1141),
-    [anon_sym_LBRACE] = ACTIONS(1143),
-    [anon_sym_signed] = ACTIONS(1141),
-    [anon_sym_unsigned] = ACTIONS(1141),
-    [anon_sym_long] = ACTIONS(1141),
-    [anon_sym_short] = ACTIONS(1141),
-    [anon_sym_static] = ACTIONS(1141),
-    [anon_sym_auto] = ACTIONS(1141),
-    [anon_sym_register] = ACTIONS(1141),
-    [anon_sym_inline] = ACTIONS(1141),
-    [anon_sym___inline] = ACTIONS(1141),
-    [anon_sym___inline__] = ACTIONS(1141),
-    [anon_sym___forceinline] = ACTIONS(1141),
-    [anon_sym_thread_local] = ACTIONS(1141),
-    [anon_sym___thread] = ACTIONS(1141),
-    [anon_sym_const] = ACTIONS(1141),
-    [anon_sym_constexpr] = ACTIONS(1141),
-    [anon_sym_volatile] = ACTIONS(1141),
-    [anon_sym_restrict] = ACTIONS(1141),
-    [anon_sym___restrict__] = ACTIONS(1141),
-    [anon_sym__Atomic] = ACTIONS(1141),
-    [anon_sym__Noreturn] = ACTIONS(1141),
-    [anon_sym_noreturn] = ACTIONS(1141),
-    [anon_sym__Nonnull] = ACTIONS(1141),
-    [anon_sym_alignas] = ACTIONS(1141),
-    [anon_sym__Alignas] = ACTIONS(1141),
-    [sym_primitive_type] = ACTIONS(1141),
-    [anon_sym_enum] = ACTIONS(1141),
-    [anon_sym_struct] = ACTIONS(1141),
-    [anon_sym_union] = ACTIONS(1141),
-    [anon_sym_if] = ACTIONS(1141),
-    [anon_sym_else] = ACTIONS(1141),
-    [anon_sym_switch] = ACTIONS(1141),
-    [anon_sym_case] = ACTIONS(1141),
-    [anon_sym_default] = ACTIONS(1141),
-    [anon_sym_while] = ACTIONS(1141),
-    [anon_sym_do] = ACTIONS(1141),
-    [anon_sym_for] = ACTIONS(1141),
-    [anon_sym_return] = ACTIONS(1141),
-    [anon_sym_break] = ACTIONS(1141),
-    [anon_sym_continue] = ACTIONS(1141),
-    [anon_sym_goto] = ACTIONS(1141),
-    [anon_sym___try] = ACTIONS(1141),
-    [anon_sym___leave] = ACTIONS(1141),
-    [anon_sym_DASH_DASH] = ACTIONS(1143),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1143),
-    [anon_sym_sizeof] = ACTIONS(1141),
-    [anon_sym___alignof__] = ACTIONS(1141),
-    [anon_sym___alignof] = ACTIONS(1141),
-    [anon_sym__alignof] = ACTIONS(1141),
-    [anon_sym_alignof] = ACTIONS(1141),
-    [anon_sym__Alignof] = ACTIONS(1141),
-    [anon_sym_offsetof] = ACTIONS(1141),
-    [anon_sym__Generic] = ACTIONS(1141),
-    [anon_sym_asm] = ACTIONS(1141),
-    [anon_sym___asm__] = ACTIONS(1141),
-    [anon_sym___asm] = ACTIONS(1141),
-    [sym_number_literal] = ACTIONS(1143),
-    [anon_sym_L_SQUOTE] = ACTIONS(1143),
-    [anon_sym_u_SQUOTE] = ACTIONS(1143),
-    [anon_sym_U_SQUOTE] = ACTIONS(1143),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1143),
-    [anon_sym_SQUOTE] = ACTIONS(1143),
-    [anon_sym_L_DQUOTE] = ACTIONS(1143),
-    [anon_sym_u_DQUOTE] = ACTIONS(1143),
-    [anon_sym_U_DQUOTE] = ACTIONS(1143),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1143),
-    [anon_sym_DQUOTE] = ACTIONS(1143),
-    [sym_true] = ACTIONS(1141),
-    [sym_false] = ACTIONS(1141),
-    [anon_sym_NULL] = ACTIONS(1141),
-    [anon_sym_nullptr] = ACTIONS(1141),
+    [sym_identifier] = ACTIONS(1134),
+    [aux_sym_preproc_include_token1] = ACTIONS(1134),
+    [aux_sym_preproc_def_token1] = ACTIONS(1134),
+    [aux_sym_preproc_if_token1] = ACTIONS(1134),
+    [aux_sym_preproc_if_token2] = ACTIONS(1134),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1134),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1134),
+    [sym_preproc_directive] = ACTIONS(1134),
+    [anon_sym_LPAREN2] = ACTIONS(1136),
+    [anon_sym_BANG] = ACTIONS(1136),
+    [anon_sym_TILDE] = ACTIONS(1136),
+    [anon_sym_DASH] = ACTIONS(1134),
+    [anon_sym_PLUS] = ACTIONS(1134),
+    [anon_sym_STAR] = ACTIONS(1136),
+    [anon_sym_AMP] = ACTIONS(1136),
+    [anon_sym_SEMI] = ACTIONS(1136),
+    [anon_sym___extension__] = ACTIONS(1134),
+    [anon_sym_typedef] = ACTIONS(1134),
+    [anon_sym_extern] = ACTIONS(1134),
+    [anon_sym___attribute__] = ACTIONS(1134),
+    [anon_sym___attribute] = ACTIONS(1134),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1136),
+    [anon_sym___declspec] = ACTIONS(1134),
+    [anon_sym___cdecl] = ACTIONS(1134),
+    [anon_sym___clrcall] = ACTIONS(1134),
+    [anon_sym___stdcall] = ACTIONS(1134),
+    [anon_sym___fastcall] = ACTIONS(1134),
+    [anon_sym___thiscall] = ACTIONS(1134),
+    [anon_sym___vectorcall] = ACTIONS(1134),
+    [anon_sym_LBRACE] = ACTIONS(1136),
+    [anon_sym_signed] = ACTIONS(1134),
+    [anon_sym_unsigned] = ACTIONS(1134),
+    [anon_sym_long] = ACTIONS(1134),
+    [anon_sym_short] = ACTIONS(1134),
+    [anon_sym_static] = ACTIONS(1134),
+    [anon_sym_auto] = ACTIONS(1134),
+    [anon_sym_register] = ACTIONS(1134),
+    [anon_sym_inline] = ACTIONS(1134),
+    [anon_sym___inline] = ACTIONS(1134),
+    [anon_sym___inline__] = ACTIONS(1134),
+    [anon_sym___forceinline] = ACTIONS(1134),
+    [anon_sym_thread_local] = ACTIONS(1134),
+    [anon_sym___thread] = ACTIONS(1134),
+    [anon_sym_const] = ACTIONS(1134),
+    [anon_sym_constexpr] = ACTIONS(1134),
+    [anon_sym_volatile] = ACTIONS(1134),
+    [anon_sym_restrict] = ACTIONS(1134),
+    [anon_sym___restrict__] = ACTIONS(1134),
+    [anon_sym__Atomic] = ACTIONS(1134),
+    [anon_sym__Noreturn] = ACTIONS(1134),
+    [anon_sym_noreturn] = ACTIONS(1134),
+    [anon_sym__Nonnull] = ACTIONS(1134),
+    [anon_sym_alignas] = ACTIONS(1134),
+    [anon_sym__Alignas] = ACTIONS(1134),
+    [sym_primitive_type] = ACTIONS(1134),
+    [anon_sym_enum] = ACTIONS(1134),
+    [anon_sym_struct] = ACTIONS(1134),
+    [anon_sym_union] = ACTIONS(1134),
+    [anon_sym_if] = ACTIONS(1134),
+    [anon_sym_else] = ACTIONS(1134),
+    [anon_sym_switch] = ACTIONS(1134),
+    [anon_sym_case] = ACTIONS(1134),
+    [anon_sym_default] = ACTIONS(1134),
+    [anon_sym_while] = ACTIONS(1134),
+    [anon_sym_do] = ACTIONS(1134),
+    [anon_sym_for] = ACTIONS(1134),
+    [anon_sym_return] = ACTIONS(1134),
+    [anon_sym_break] = ACTIONS(1134),
+    [anon_sym_continue] = ACTIONS(1134),
+    [anon_sym_goto] = ACTIONS(1134),
+    [anon_sym___try] = ACTIONS(1134),
+    [anon_sym___leave] = ACTIONS(1134),
+    [anon_sym_DASH_DASH] = ACTIONS(1136),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1136),
+    [anon_sym_sizeof] = ACTIONS(1134),
+    [anon_sym___alignof__] = ACTIONS(1134),
+    [anon_sym___alignof] = ACTIONS(1134),
+    [anon_sym__alignof] = ACTIONS(1134),
+    [anon_sym_alignof] = ACTIONS(1134),
+    [anon_sym__Alignof] = ACTIONS(1134),
+    [anon_sym_offsetof] = ACTIONS(1134),
+    [anon_sym__Generic] = ACTIONS(1134),
+    [anon_sym_asm] = ACTIONS(1134),
+    [anon_sym___asm__] = ACTIONS(1134),
+    [anon_sym___asm] = ACTIONS(1134),
+    [sym_number_literal] = ACTIONS(1136),
+    [anon_sym_L_SQUOTE] = ACTIONS(1136),
+    [anon_sym_u_SQUOTE] = ACTIONS(1136),
+    [anon_sym_U_SQUOTE] = ACTIONS(1136),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1136),
+    [anon_sym_SQUOTE] = ACTIONS(1136),
+    [anon_sym_L_DQUOTE] = ACTIONS(1136),
+    [anon_sym_u_DQUOTE] = ACTIONS(1136),
+    [anon_sym_U_DQUOTE] = ACTIONS(1136),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1136),
+    [anon_sym_DQUOTE] = ACTIONS(1136),
+    [sym_true] = ACTIONS(1134),
+    [sym_false] = ACTIONS(1134),
+    [anon_sym_NULL] = ACTIONS(1134),
+    [anon_sym_nullptr] = ACTIONS(1134),
     [sym_comment] = ACTIONS(3),
   },
   [205] = {
-    [sym_identifier] = ACTIONS(1145),
-    [aux_sym_preproc_include_token1] = ACTIONS(1145),
-    [aux_sym_preproc_def_token1] = ACTIONS(1145),
-    [aux_sym_preproc_if_token1] = ACTIONS(1145),
-    [aux_sym_preproc_if_token2] = ACTIONS(1145),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1145),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1145),
-    [sym_preproc_directive] = ACTIONS(1145),
-    [anon_sym_LPAREN2] = ACTIONS(1147),
-    [anon_sym_BANG] = ACTIONS(1147),
-    [anon_sym_TILDE] = ACTIONS(1147),
-    [anon_sym_DASH] = ACTIONS(1145),
-    [anon_sym_PLUS] = ACTIONS(1145),
-    [anon_sym_STAR] = ACTIONS(1147),
-    [anon_sym_AMP] = ACTIONS(1147),
-    [anon_sym_SEMI] = ACTIONS(1147),
-    [anon_sym___extension__] = ACTIONS(1145),
-    [anon_sym_typedef] = ACTIONS(1145),
-    [anon_sym_extern] = ACTIONS(1145),
-    [anon_sym___attribute__] = ACTIONS(1145),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1147),
-    [anon_sym___declspec] = ACTIONS(1145),
-    [anon_sym___cdecl] = ACTIONS(1145),
-    [anon_sym___clrcall] = ACTIONS(1145),
-    [anon_sym___stdcall] = ACTIONS(1145),
-    [anon_sym___fastcall] = ACTIONS(1145),
-    [anon_sym___thiscall] = ACTIONS(1145),
-    [anon_sym___vectorcall] = ACTIONS(1145),
-    [anon_sym_LBRACE] = ACTIONS(1147),
-    [anon_sym_signed] = ACTIONS(1145),
-    [anon_sym_unsigned] = ACTIONS(1145),
-    [anon_sym_long] = ACTIONS(1145),
-    [anon_sym_short] = ACTIONS(1145),
-    [anon_sym_static] = ACTIONS(1145),
-    [anon_sym_auto] = ACTIONS(1145),
-    [anon_sym_register] = ACTIONS(1145),
-    [anon_sym_inline] = ACTIONS(1145),
-    [anon_sym___inline] = ACTIONS(1145),
-    [anon_sym___inline__] = ACTIONS(1145),
-    [anon_sym___forceinline] = ACTIONS(1145),
-    [anon_sym_thread_local] = ACTIONS(1145),
-    [anon_sym___thread] = ACTIONS(1145),
-    [anon_sym_const] = ACTIONS(1145),
-    [anon_sym_constexpr] = ACTIONS(1145),
-    [anon_sym_volatile] = ACTIONS(1145),
-    [anon_sym_restrict] = ACTIONS(1145),
-    [anon_sym___restrict__] = ACTIONS(1145),
-    [anon_sym__Atomic] = ACTIONS(1145),
-    [anon_sym__Noreturn] = ACTIONS(1145),
-    [anon_sym_noreturn] = ACTIONS(1145),
-    [anon_sym__Nonnull] = ACTIONS(1145),
-    [anon_sym_alignas] = ACTIONS(1145),
-    [anon_sym__Alignas] = ACTIONS(1145),
-    [sym_primitive_type] = ACTIONS(1145),
-    [anon_sym_enum] = ACTIONS(1145),
-    [anon_sym_struct] = ACTIONS(1145),
-    [anon_sym_union] = ACTIONS(1145),
-    [anon_sym_if] = ACTIONS(1145),
-    [anon_sym_else] = ACTIONS(1145),
-    [anon_sym_switch] = ACTIONS(1145),
-    [anon_sym_case] = ACTIONS(1145),
-    [anon_sym_default] = ACTIONS(1145),
-    [anon_sym_while] = ACTIONS(1145),
-    [anon_sym_do] = ACTIONS(1145),
-    [anon_sym_for] = ACTIONS(1145),
-    [anon_sym_return] = ACTIONS(1145),
-    [anon_sym_break] = ACTIONS(1145),
-    [anon_sym_continue] = ACTIONS(1145),
-    [anon_sym_goto] = ACTIONS(1145),
-    [anon_sym___try] = ACTIONS(1145),
-    [anon_sym___leave] = ACTIONS(1145),
-    [anon_sym_DASH_DASH] = ACTIONS(1147),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
-    [anon_sym_sizeof] = ACTIONS(1145),
-    [anon_sym___alignof__] = ACTIONS(1145),
-    [anon_sym___alignof] = ACTIONS(1145),
-    [anon_sym__alignof] = ACTIONS(1145),
-    [anon_sym_alignof] = ACTIONS(1145),
-    [anon_sym__Alignof] = ACTIONS(1145),
-    [anon_sym_offsetof] = ACTIONS(1145),
-    [anon_sym__Generic] = ACTIONS(1145),
-    [anon_sym_asm] = ACTIONS(1145),
-    [anon_sym___asm__] = ACTIONS(1145),
-    [anon_sym___asm] = ACTIONS(1145),
-    [sym_number_literal] = ACTIONS(1147),
-    [anon_sym_L_SQUOTE] = ACTIONS(1147),
-    [anon_sym_u_SQUOTE] = ACTIONS(1147),
-    [anon_sym_U_SQUOTE] = ACTIONS(1147),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1147),
-    [anon_sym_SQUOTE] = ACTIONS(1147),
-    [anon_sym_L_DQUOTE] = ACTIONS(1147),
-    [anon_sym_u_DQUOTE] = ACTIONS(1147),
-    [anon_sym_U_DQUOTE] = ACTIONS(1147),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1147),
-    [anon_sym_DQUOTE] = ACTIONS(1147),
-    [sym_true] = ACTIONS(1145),
-    [sym_false] = ACTIONS(1145),
-    [anon_sym_NULL] = ACTIONS(1145),
-    [anon_sym_nullptr] = ACTIONS(1145),
+    [sym_identifier] = ACTIONS(1186),
+    [aux_sym_preproc_include_token1] = ACTIONS(1186),
+    [aux_sym_preproc_def_token1] = ACTIONS(1186),
+    [aux_sym_preproc_if_token1] = ACTIONS(1186),
+    [aux_sym_preproc_if_token2] = ACTIONS(1186),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1186),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1186),
+    [sym_preproc_directive] = ACTIONS(1186),
+    [anon_sym_LPAREN2] = ACTIONS(1188),
+    [anon_sym_BANG] = ACTIONS(1188),
+    [anon_sym_TILDE] = ACTIONS(1188),
+    [anon_sym_DASH] = ACTIONS(1186),
+    [anon_sym_PLUS] = ACTIONS(1186),
+    [anon_sym_STAR] = ACTIONS(1188),
+    [anon_sym_AMP] = ACTIONS(1188),
+    [anon_sym_SEMI] = ACTIONS(1188),
+    [anon_sym___extension__] = ACTIONS(1186),
+    [anon_sym_typedef] = ACTIONS(1186),
+    [anon_sym_extern] = ACTIONS(1186),
+    [anon_sym___attribute__] = ACTIONS(1186),
+    [anon_sym___attribute] = ACTIONS(1186),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1188),
+    [anon_sym___declspec] = ACTIONS(1186),
+    [anon_sym___cdecl] = ACTIONS(1186),
+    [anon_sym___clrcall] = ACTIONS(1186),
+    [anon_sym___stdcall] = ACTIONS(1186),
+    [anon_sym___fastcall] = ACTIONS(1186),
+    [anon_sym___thiscall] = ACTIONS(1186),
+    [anon_sym___vectorcall] = ACTIONS(1186),
+    [anon_sym_LBRACE] = ACTIONS(1188),
+    [anon_sym_signed] = ACTIONS(1186),
+    [anon_sym_unsigned] = ACTIONS(1186),
+    [anon_sym_long] = ACTIONS(1186),
+    [anon_sym_short] = ACTIONS(1186),
+    [anon_sym_static] = ACTIONS(1186),
+    [anon_sym_auto] = ACTIONS(1186),
+    [anon_sym_register] = ACTIONS(1186),
+    [anon_sym_inline] = ACTIONS(1186),
+    [anon_sym___inline] = ACTIONS(1186),
+    [anon_sym___inline__] = ACTIONS(1186),
+    [anon_sym___forceinline] = ACTIONS(1186),
+    [anon_sym_thread_local] = ACTIONS(1186),
+    [anon_sym___thread] = ACTIONS(1186),
+    [anon_sym_const] = ACTIONS(1186),
+    [anon_sym_constexpr] = ACTIONS(1186),
+    [anon_sym_volatile] = ACTIONS(1186),
+    [anon_sym_restrict] = ACTIONS(1186),
+    [anon_sym___restrict__] = ACTIONS(1186),
+    [anon_sym__Atomic] = ACTIONS(1186),
+    [anon_sym__Noreturn] = ACTIONS(1186),
+    [anon_sym_noreturn] = ACTIONS(1186),
+    [anon_sym__Nonnull] = ACTIONS(1186),
+    [anon_sym_alignas] = ACTIONS(1186),
+    [anon_sym__Alignas] = ACTIONS(1186),
+    [sym_primitive_type] = ACTIONS(1186),
+    [anon_sym_enum] = ACTIONS(1186),
+    [anon_sym_struct] = ACTIONS(1186),
+    [anon_sym_union] = ACTIONS(1186),
+    [anon_sym_if] = ACTIONS(1186),
+    [anon_sym_else] = ACTIONS(1186),
+    [anon_sym_switch] = ACTIONS(1186),
+    [anon_sym_case] = ACTIONS(1186),
+    [anon_sym_default] = ACTIONS(1186),
+    [anon_sym_while] = ACTIONS(1186),
+    [anon_sym_do] = ACTIONS(1186),
+    [anon_sym_for] = ACTIONS(1186),
+    [anon_sym_return] = ACTIONS(1186),
+    [anon_sym_break] = ACTIONS(1186),
+    [anon_sym_continue] = ACTIONS(1186),
+    [anon_sym_goto] = ACTIONS(1186),
+    [anon_sym___try] = ACTIONS(1186),
+    [anon_sym___leave] = ACTIONS(1186),
+    [anon_sym_DASH_DASH] = ACTIONS(1188),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1188),
+    [anon_sym_sizeof] = ACTIONS(1186),
+    [anon_sym___alignof__] = ACTIONS(1186),
+    [anon_sym___alignof] = ACTIONS(1186),
+    [anon_sym__alignof] = ACTIONS(1186),
+    [anon_sym_alignof] = ACTIONS(1186),
+    [anon_sym__Alignof] = ACTIONS(1186),
+    [anon_sym_offsetof] = ACTIONS(1186),
+    [anon_sym__Generic] = ACTIONS(1186),
+    [anon_sym_asm] = ACTIONS(1186),
+    [anon_sym___asm__] = ACTIONS(1186),
+    [anon_sym___asm] = ACTIONS(1186),
+    [sym_number_literal] = ACTIONS(1188),
+    [anon_sym_L_SQUOTE] = ACTIONS(1188),
+    [anon_sym_u_SQUOTE] = ACTIONS(1188),
+    [anon_sym_U_SQUOTE] = ACTIONS(1188),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1188),
+    [anon_sym_SQUOTE] = ACTIONS(1188),
+    [anon_sym_L_DQUOTE] = ACTIONS(1188),
+    [anon_sym_u_DQUOTE] = ACTIONS(1188),
+    [anon_sym_U_DQUOTE] = ACTIONS(1188),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1188),
+    [anon_sym_DQUOTE] = ACTIONS(1188),
+    [sym_true] = ACTIONS(1186),
+    [sym_false] = ACTIONS(1186),
+    [anon_sym_NULL] = ACTIONS(1186),
+    [anon_sym_nullptr] = ACTIONS(1186),
     [sym_comment] = ACTIONS(3),
   },
   [206] = {
-    [sym_identifier] = ACTIONS(1149),
-    [aux_sym_preproc_include_token1] = ACTIONS(1149),
-    [aux_sym_preproc_def_token1] = ACTIONS(1149),
-    [aux_sym_preproc_if_token1] = ACTIONS(1149),
-    [aux_sym_preproc_if_token2] = ACTIONS(1149),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1149),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1149),
-    [sym_preproc_directive] = ACTIONS(1149),
-    [anon_sym_LPAREN2] = ACTIONS(1151),
-    [anon_sym_BANG] = ACTIONS(1151),
-    [anon_sym_TILDE] = ACTIONS(1151),
-    [anon_sym_DASH] = ACTIONS(1149),
-    [anon_sym_PLUS] = ACTIONS(1149),
-    [anon_sym_STAR] = ACTIONS(1151),
-    [anon_sym_AMP] = ACTIONS(1151),
-    [anon_sym_SEMI] = ACTIONS(1151),
-    [anon_sym___extension__] = ACTIONS(1149),
-    [anon_sym_typedef] = ACTIONS(1149),
-    [anon_sym_extern] = ACTIONS(1149),
-    [anon_sym___attribute__] = ACTIONS(1149),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1151),
-    [anon_sym___declspec] = ACTIONS(1149),
-    [anon_sym___cdecl] = ACTIONS(1149),
-    [anon_sym___clrcall] = ACTIONS(1149),
-    [anon_sym___stdcall] = ACTIONS(1149),
-    [anon_sym___fastcall] = ACTIONS(1149),
-    [anon_sym___thiscall] = ACTIONS(1149),
-    [anon_sym___vectorcall] = ACTIONS(1149),
-    [anon_sym_LBRACE] = ACTIONS(1151),
-    [anon_sym_signed] = ACTIONS(1149),
-    [anon_sym_unsigned] = ACTIONS(1149),
-    [anon_sym_long] = ACTIONS(1149),
-    [anon_sym_short] = ACTIONS(1149),
-    [anon_sym_static] = ACTIONS(1149),
-    [anon_sym_auto] = ACTIONS(1149),
-    [anon_sym_register] = ACTIONS(1149),
-    [anon_sym_inline] = ACTIONS(1149),
-    [anon_sym___inline] = ACTIONS(1149),
-    [anon_sym___inline__] = ACTIONS(1149),
-    [anon_sym___forceinline] = ACTIONS(1149),
-    [anon_sym_thread_local] = ACTIONS(1149),
-    [anon_sym___thread] = ACTIONS(1149),
-    [anon_sym_const] = ACTIONS(1149),
-    [anon_sym_constexpr] = ACTIONS(1149),
-    [anon_sym_volatile] = ACTIONS(1149),
-    [anon_sym_restrict] = ACTIONS(1149),
-    [anon_sym___restrict__] = ACTIONS(1149),
-    [anon_sym__Atomic] = ACTIONS(1149),
-    [anon_sym__Noreturn] = ACTIONS(1149),
-    [anon_sym_noreturn] = ACTIONS(1149),
-    [anon_sym__Nonnull] = ACTIONS(1149),
-    [anon_sym_alignas] = ACTIONS(1149),
-    [anon_sym__Alignas] = ACTIONS(1149),
-    [sym_primitive_type] = ACTIONS(1149),
-    [anon_sym_enum] = ACTIONS(1149),
-    [anon_sym_struct] = ACTIONS(1149),
-    [anon_sym_union] = ACTIONS(1149),
-    [anon_sym_if] = ACTIONS(1149),
-    [anon_sym_else] = ACTIONS(1149),
-    [anon_sym_switch] = ACTIONS(1149),
-    [anon_sym_case] = ACTIONS(1149),
-    [anon_sym_default] = ACTIONS(1149),
-    [anon_sym_while] = ACTIONS(1149),
-    [anon_sym_do] = ACTIONS(1149),
-    [anon_sym_for] = ACTIONS(1149),
-    [anon_sym_return] = ACTIONS(1149),
-    [anon_sym_break] = ACTIONS(1149),
-    [anon_sym_continue] = ACTIONS(1149),
-    [anon_sym_goto] = ACTIONS(1149),
-    [anon_sym___try] = ACTIONS(1149),
-    [anon_sym___leave] = ACTIONS(1149),
-    [anon_sym_DASH_DASH] = ACTIONS(1151),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1151),
-    [anon_sym_sizeof] = ACTIONS(1149),
-    [anon_sym___alignof__] = ACTIONS(1149),
-    [anon_sym___alignof] = ACTIONS(1149),
-    [anon_sym__alignof] = ACTIONS(1149),
-    [anon_sym_alignof] = ACTIONS(1149),
-    [anon_sym__Alignof] = ACTIONS(1149),
-    [anon_sym_offsetof] = ACTIONS(1149),
-    [anon_sym__Generic] = ACTIONS(1149),
-    [anon_sym_asm] = ACTIONS(1149),
-    [anon_sym___asm__] = ACTIONS(1149),
-    [anon_sym___asm] = ACTIONS(1149),
-    [sym_number_literal] = ACTIONS(1151),
-    [anon_sym_L_SQUOTE] = ACTIONS(1151),
-    [anon_sym_u_SQUOTE] = ACTIONS(1151),
-    [anon_sym_U_SQUOTE] = ACTIONS(1151),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1151),
-    [anon_sym_SQUOTE] = ACTIONS(1151),
-    [anon_sym_L_DQUOTE] = ACTIONS(1151),
-    [anon_sym_u_DQUOTE] = ACTIONS(1151),
-    [anon_sym_U_DQUOTE] = ACTIONS(1151),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1151),
-    [anon_sym_DQUOTE] = ACTIONS(1151),
-    [sym_true] = ACTIONS(1149),
-    [sym_false] = ACTIONS(1149),
-    [anon_sym_NULL] = ACTIONS(1149),
-    [anon_sym_nullptr] = ACTIONS(1149),
+    [sym_identifier] = ACTIONS(1190),
+    [aux_sym_preproc_include_token1] = ACTIONS(1190),
+    [aux_sym_preproc_def_token1] = ACTIONS(1190),
+    [aux_sym_preproc_if_token1] = ACTIONS(1190),
+    [aux_sym_preproc_if_token2] = ACTIONS(1190),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1190),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1190),
+    [sym_preproc_directive] = ACTIONS(1190),
+    [anon_sym_LPAREN2] = ACTIONS(1192),
+    [anon_sym_BANG] = ACTIONS(1192),
+    [anon_sym_TILDE] = ACTIONS(1192),
+    [anon_sym_DASH] = ACTIONS(1190),
+    [anon_sym_PLUS] = ACTIONS(1190),
+    [anon_sym_STAR] = ACTIONS(1192),
+    [anon_sym_AMP] = ACTIONS(1192),
+    [anon_sym_SEMI] = ACTIONS(1192),
+    [anon_sym___extension__] = ACTIONS(1190),
+    [anon_sym_typedef] = ACTIONS(1190),
+    [anon_sym_extern] = ACTIONS(1190),
+    [anon_sym___attribute__] = ACTIONS(1190),
+    [anon_sym___attribute] = ACTIONS(1190),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1192),
+    [anon_sym___declspec] = ACTIONS(1190),
+    [anon_sym___cdecl] = ACTIONS(1190),
+    [anon_sym___clrcall] = ACTIONS(1190),
+    [anon_sym___stdcall] = ACTIONS(1190),
+    [anon_sym___fastcall] = ACTIONS(1190),
+    [anon_sym___thiscall] = ACTIONS(1190),
+    [anon_sym___vectorcall] = ACTIONS(1190),
+    [anon_sym_LBRACE] = ACTIONS(1192),
+    [anon_sym_signed] = ACTIONS(1190),
+    [anon_sym_unsigned] = ACTIONS(1190),
+    [anon_sym_long] = ACTIONS(1190),
+    [anon_sym_short] = ACTIONS(1190),
+    [anon_sym_static] = ACTIONS(1190),
+    [anon_sym_auto] = ACTIONS(1190),
+    [anon_sym_register] = ACTIONS(1190),
+    [anon_sym_inline] = ACTIONS(1190),
+    [anon_sym___inline] = ACTIONS(1190),
+    [anon_sym___inline__] = ACTIONS(1190),
+    [anon_sym___forceinline] = ACTIONS(1190),
+    [anon_sym_thread_local] = ACTIONS(1190),
+    [anon_sym___thread] = ACTIONS(1190),
+    [anon_sym_const] = ACTIONS(1190),
+    [anon_sym_constexpr] = ACTIONS(1190),
+    [anon_sym_volatile] = ACTIONS(1190),
+    [anon_sym_restrict] = ACTIONS(1190),
+    [anon_sym___restrict__] = ACTIONS(1190),
+    [anon_sym__Atomic] = ACTIONS(1190),
+    [anon_sym__Noreturn] = ACTIONS(1190),
+    [anon_sym_noreturn] = ACTIONS(1190),
+    [anon_sym__Nonnull] = ACTIONS(1190),
+    [anon_sym_alignas] = ACTIONS(1190),
+    [anon_sym__Alignas] = ACTIONS(1190),
+    [sym_primitive_type] = ACTIONS(1190),
+    [anon_sym_enum] = ACTIONS(1190),
+    [anon_sym_struct] = ACTIONS(1190),
+    [anon_sym_union] = ACTIONS(1190),
+    [anon_sym_if] = ACTIONS(1190),
+    [anon_sym_else] = ACTIONS(1190),
+    [anon_sym_switch] = ACTIONS(1190),
+    [anon_sym_case] = ACTIONS(1190),
+    [anon_sym_default] = ACTIONS(1190),
+    [anon_sym_while] = ACTIONS(1190),
+    [anon_sym_do] = ACTIONS(1190),
+    [anon_sym_for] = ACTIONS(1190),
+    [anon_sym_return] = ACTIONS(1190),
+    [anon_sym_break] = ACTIONS(1190),
+    [anon_sym_continue] = ACTIONS(1190),
+    [anon_sym_goto] = ACTIONS(1190),
+    [anon_sym___try] = ACTIONS(1190),
+    [anon_sym___leave] = ACTIONS(1190),
+    [anon_sym_DASH_DASH] = ACTIONS(1192),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1192),
+    [anon_sym_sizeof] = ACTIONS(1190),
+    [anon_sym___alignof__] = ACTIONS(1190),
+    [anon_sym___alignof] = ACTIONS(1190),
+    [anon_sym__alignof] = ACTIONS(1190),
+    [anon_sym_alignof] = ACTIONS(1190),
+    [anon_sym__Alignof] = ACTIONS(1190),
+    [anon_sym_offsetof] = ACTIONS(1190),
+    [anon_sym__Generic] = ACTIONS(1190),
+    [anon_sym_asm] = ACTIONS(1190),
+    [anon_sym___asm__] = ACTIONS(1190),
+    [anon_sym___asm] = ACTIONS(1190),
+    [sym_number_literal] = ACTIONS(1192),
+    [anon_sym_L_SQUOTE] = ACTIONS(1192),
+    [anon_sym_u_SQUOTE] = ACTIONS(1192),
+    [anon_sym_U_SQUOTE] = ACTIONS(1192),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1192),
+    [anon_sym_SQUOTE] = ACTIONS(1192),
+    [anon_sym_L_DQUOTE] = ACTIONS(1192),
+    [anon_sym_u_DQUOTE] = ACTIONS(1192),
+    [anon_sym_U_DQUOTE] = ACTIONS(1192),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1192),
+    [anon_sym_DQUOTE] = ACTIONS(1192),
+    [sym_true] = ACTIONS(1190),
+    [sym_false] = ACTIONS(1190),
+    [anon_sym_NULL] = ACTIONS(1190),
+    [anon_sym_nullptr] = ACTIONS(1190),
     [sym_comment] = ACTIONS(3),
   },
   [207] = {
-    [sym_identifier] = ACTIONS(1153),
-    [aux_sym_preproc_include_token1] = ACTIONS(1153),
-    [aux_sym_preproc_def_token1] = ACTIONS(1153),
-    [aux_sym_preproc_if_token1] = ACTIONS(1153),
-    [aux_sym_preproc_if_token2] = ACTIONS(1153),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1153),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1153),
-    [sym_preproc_directive] = ACTIONS(1153),
-    [anon_sym_LPAREN2] = ACTIONS(1155),
-    [anon_sym_BANG] = ACTIONS(1155),
-    [anon_sym_TILDE] = ACTIONS(1155),
-    [anon_sym_DASH] = ACTIONS(1153),
-    [anon_sym_PLUS] = ACTIONS(1153),
-    [anon_sym_STAR] = ACTIONS(1155),
-    [anon_sym_AMP] = ACTIONS(1155),
-    [anon_sym_SEMI] = ACTIONS(1155),
-    [anon_sym___extension__] = ACTIONS(1153),
-    [anon_sym_typedef] = ACTIONS(1153),
-    [anon_sym_extern] = ACTIONS(1153),
-    [anon_sym___attribute__] = ACTIONS(1153),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1155),
-    [anon_sym___declspec] = ACTIONS(1153),
-    [anon_sym___cdecl] = ACTIONS(1153),
-    [anon_sym___clrcall] = ACTIONS(1153),
-    [anon_sym___stdcall] = ACTIONS(1153),
-    [anon_sym___fastcall] = ACTIONS(1153),
-    [anon_sym___thiscall] = ACTIONS(1153),
-    [anon_sym___vectorcall] = ACTIONS(1153),
-    [anon_sym_LBRACE] = ACTIONS(1155),
-    [anon_sym_signed] = ACTIONS(1153),
-    [anon_sym_unsigned] = ACTIONS(1153),
-    [anon_sym_long] = ACTIONS(1153),
-    [anon_sym_short] = ACTIONS(1153),
-    [anon_sym_static] = ACTIONS(1153),
-    [anon_sym_auto] = ACTIONS(1153),
-    [anon_sym_register] = ACTIONS(1153),
-    [anon_sym_inline] = ACTIONS(1153),
-    [anon_sym___inline] = ACTIONS(1153),
-    [anon_sym___inline__] = ACTIONS(1153),
-    [anon_sym___forceinline] = ACTIONS(1153),
-    [anon_sym_thread_local] = ACTIONS(1153),
-    [anon_sym___thread] = ACTIONS(1153),
-    [anon_sym_const] = ACTIONS(1153),
-    [anon_sym_constexpr] = ACTIONS(1153),
-    [anon_sym_volatile] = ACTIONS(1153),
-    [anon_sym_restrict] = ACTIONS(1153),
-    [anon_sym___restrict__] = ACTIONS(1153),
-    [anon_sym__Atomic] = ACTIONS(1153),
-    [anon_sym__Noreturn] = ACTIONS(1153),
-    [anon_sym_noreturn] = ACTIONS(1153),
-    [anon_sym__Nonnull] = ACTIONS(1153),
-    [anon_sym_alignas] = ACTIONS(1153),
-    [anon_sym__Alignas] = ACTIONS(1153),
-    [sym_primitive_type] = ACTIONS(1153),
-    [anon_sym_enum] = ACTIONS(1153),
-    [anon_sym_struct] = ACTIONS(1153),
-    [anon_sym_union] = ACTIONS(1153),
-    [anon_sym_if] = ACTIONS(1153),
-    [anon_sym_else] = ACTIONS(1153),
-    [anon_sym_switch] = ACTIONS(1153),
-    [anon_sym_case] = ACTIONS(1153),
-    [anon_sym_default] = ACTIONS(1153),
-    [anon_sym_while] = ACTIONS(1153),
-    [anon_sym_do] = ACTIONS(1153),
-    [anon_sym_for] = ACTIONS(1153),
-    [anon_sym_return] = ACTIONS(1153),
-    [anon_sym_break] = ACTIONS(1153),
-    [anon_sym_continue] = ACTIONS(1153),
-    [anon_sym_goto] = ACTIONS(1153),
-    [anon_sym___try] = ACTIONS(1153),
-    [anon_sym___leave] = ACTIONS(1153),
-    [anon_sym_DASH_DASH] = ACTIONS(1155),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1155),
-    [anon_sym_sizeof] = ACTIONS(1153),
-    [anon_sym___alignof__] = ACTIONS(1153),
-    [anon_sym___alignof] = ACTIONS(1153),
-    [anon_sym__alignof] = ACTIONS(1153),
-    [anon_sym_alignof] = ACTIONS(1153),
-    [anon_sym__Alignof] = ACTIONS(1153),
-    [anon_sym_offsetof] = ACTIONS(1153),
-    [anon_sym__Generic] = ACTIONS(1153),
-    [anon_sym_asm] = ACTIONS(1153),
-    [anon_sym___asm__] = ACTIONS(1153),
-    [anon_sym___asm] = ACTIONS(1153),
-    [sym_number_literal] = ACTIONS(1155),
-    [anon_sym_L_SQUOTE] = ACTIONS(1155),
-    [anon_sym_u_SQUOTE] = ACTIONS(1155),
-    [anon_sym_U_SQUOTE] = ACTIONS(1155),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1155),
-    [anon_sym_SQUOTE] = ACTIONS(1155),
-    [anon_sym_L_DQUOTE] = ACTIONS(1155),
-    [anon_sym_u_DQUOTE] = ACTIONS(1155),
-    [anon_sym_U_DQUOTE] = ACTIONS(1155),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1155),
-    [anon_sym_DQUOTE] = ACTIONS(1155),
-    [sym_true] = ACTIONS(1153),
-    [sym_false] = ACTIONS(1153),
-    [anon_sym_NULL] = ACTIONS(1153),
-    [anon_sym_nullptr] = ACTIONS(1153),
+    [sym_identifier] = ACTIONS(1134),
+    [aux_sym_preproc_include_token1] = ACTIONS(1134),
+    [aux_sym_preproc_def_token1] = ACTIONS(1134),
+    [aux_sym_preproc_if_token1] = ACTIONS(1134),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1134),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1134),
+    [sym_preproc_directive] = ACTIONS(1134),
+    [anon_sym_LPAREN2] = ACTIONS(1136),
+    [anon_sym_BANG] = ACTIONS(1136),
+    [anon_sym_TILDE] = ACTIONS(1136),
+    [anon_sym_DASH] = ACTIONS(1134),
+    [anon_sym_PLUS] = ACTIONS(1134),
+    [anon_sym_STAR] = ACTIONS(1136),
+    [anon_sym_AMP] = ACTIONS(1136),
+    [anon_sym_SEMI] = ACTIONS(1136),
+    [anon_sym___extension__] = ACTIONS(1134),
+    [anon_sym_typedef] = ACTIONS(1134),
+    [anon_sym_extern] = ACTIONS(1134),
+    [anon_sym___attribute__] = ACTIONS(1134),
+    [anon_sym___attribute] = ACTIONS(1134),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1136),
+    [anon_sym___declspec] = ACTIONS(1134),
+    [anon_sym___cdecl] = ACTIONS(1134),
+    [anon_sym___clrcall] = ACTIONS(1134),
+    [anon_sym___stdcall] = ACTIONS(1134),
+    [anon_sym___fastcall] = ACTIONS(1134),
+    [anon_sym___thiscall] = ACTIONS(1134),
+    [anon_sym___vectorcall] = ACTIONS(1134),
+    [anon_sym_LBRACE] = ACTIONS(1136),
+    [anon_sym_RBRACE] = ACTIONS(1136),
+    [anon_sym_signed] = ACTIONS(1134),
+    [anon_sym_unsigned] = ACTIONS(1134),
+    [anon_sym_long] = ACTIONS(1134),
+    [anon_sym_short] = ACTIONS(1134),
+    [anon_sym_static] = ACTIONS(1134),
+    [anon_sym_auto] = ACTIONS(1134),
+    [anon_sym_register] = ACTIONS(1134),
+    [anon_sym_inline] = ACTIONS(1134),
+    [anon_sym___inline] = ACTIONS(1134),
+    [anon_sym___inline__] = ACTIONS(1134),
+    [anon_sym___forceinline] = ACTIONS(1134),
+    [anon_sym_thread_local] = ACTIONS(1134),
+    [anon_sym___thread] = ACTIONS(1134),
+    [anon_sym_const] = ACTIONS(1134),
+    [anon_sym_constexpr] = ACTIONS(1134),
+    [anon_sym_volatile] = ACTIONS(1134),
+    [anon_sym_restrict] = ACTIONS(1134),
+    [anon_sym___restrict__] = ACTIONS(1134),
+    [anon_sym__Atomic] = ACTIONS(1134),
+    [anon_sym__Noreturn] = ACTIONS(1134),
+    [anon_sym_noreturn] = ACTIONS(1134),
+    [anon_sym__Nonnull] = ACTIONS(1134),
+    [anon_sym_alignas] = ACTIONS(1134),
+    [anon_sym__Alignas] = ACTIONS(1134),
+    [sym_primitive_type] = ACTIONS(1134),
+    [anon_sym_enum] = ACTIONS(1134),
+    [anon_sym_struct] = ACTIONS(1134),
+    [anon_sym_union] = ACTIONS(1134),
+    [anon_sym_if] = ACTIONS(1134),
+    [anon_sym_else] = ACTIONS(1134),
+    [anon_sym_switch] = ACTIONS(1134),
+    [anon_sym_case] = ACTIONS(1134),
+    [anon_sym_default] = ACTIONS(1134),
+    [anon_sym_while] = ACTIONS(1134),
+    [anon_sym_do] = ACTIONS(1134),
+    [anon_sym_for] = ACTIONS(1134),
+    [anon_sym_return] = ACTIONS(1134),
+    [anon_sym_break] = ACTIONS(1134),
+    [anon_sym_continue] = ACTIONS(1134),
+    [anon_sym_goto] = ACTIONS(1134),
+    [anon_sym___try] = ACTIONS(1134),
+    [anon_sym___leave] = ACTIONS(1134),
+    [anon_sym_DASH_DASH] = ACTIONS(1136),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1136),
+    [anon_sym_sizeof] = ACTIONS(1134),
+    [anon_sym___alignof__] = ACTIONS(1134),
+    [anon_sym___alignof] = ACTIONS(1134),
+    [anon_sym__alignof] = ACTIONS(1134),
+    [anon_sym_alignof] = ACTIONS(1134),
+    [anon_sym__Alignof] = ACTIONS(1134),
+    [anon_sym_offsetof] = ACTIONS(1134),
+    [anon_sym__Generic] = ACTIONS(1134),
+    [anon_sym_asm] = ACTIONS(1134),
+    [anon_sym___asm__] = ACTIONS(1134),
+    [anon_sym___asm] = ACTIONS(1134),
+    [sym_number_literal] = ACTIONS(1136),
+    [anon_sym_L_SQUOTE] = ACTIONS(1136),
+    [anon_sym_u_SQUOTE] = ACTIONS(1136),
+    [anon_sym_U_SQUOTE] = ACTIONS(1136),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1136),
+    [anon_sym_SQUOTE] = ACTIONS(1136),
+    [anon_sym_L_DQUOTE] = ACTIONS(1136),
+    [anon_sym_u_DQUOTE] = ACTIONS(1136),
+    [anon_sym_U_DQUOTE] = ACTIONS(1136),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1136),
+    [anon_sym_DQUOTE] = ACTIONS(1136),
+    [sym_true] = ACTIONS(1134),
+    [sym_false] = ACTIONS(1134),
+    [anon_sym_NULL] = ACTIONS(1134),
+    [anon_sym_nullptr] = ACTIONS(1134),
     [sym_comment] = ACTIONS(3),
   },
   [208] = {
-    [sym_identifier] = ACTIONS(1157),
-    [aux_sym_preproc_include_token1] = ACTIONS(1157),
-    [aux_sym_preproc_def_token1] = ACTIONS(1157),
-    [aux_sym_preproc_if_token1] = ACTIONS(1157),
-    [aux_sym_preproc_if_token2] = ACTIONS(1157),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1157),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1157),
-    [sym_preproc_directive] = ACTIONS(1157),
-    [anon_sym_LPAREN2] = ACTIONS(1159),
-    [anon_sym_BANG] = ACTIONS(1159),
-    [anon_sym_TILDE] = ACTIONS(1159),
-    [anon_sym_DASH] = ACTIONS(1157),
-    [anon_sym_PLUS] = ACTIONS(1157),
-    [anon_sym_STAR] = ACTIONS(1159),
-    [anon_sym_AMP] = ACTIONS(1159),
-    [anon_sym_SEMI] = ACTIONS(1159),
-    [anon_sym___extension__] = ACTIONS(1157),
-    [anon_sym_typedef] = ACTIONS(1157),
-    [anon_sym_extern] = ACTIONS(1157),
-    [anon_sym___attribute__] = ACTIONS(1157),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1159),
-    [anon_sym___declspec] = ACTIONS(1157),
-    [anon_sym___cdecl] = ACTIONS(1157),
-    [anon_sym___clrcall] = ACTIONS(1157),
-    [anon_sym___stdcall] = ACTIONS(1157),
-    [anon_sym___fastcall] = ACTIONS(1157),
-    [anon_sym___thiscall] = ACTIONS(1157),
-    [anon_sym___vectorcall] = ACTIONS(1157),
-    [anon_sym_LBRACE] = ACTIONS(1159),
-    [anon_sym_signed] = ACTIONS(1157),
-    [anon_sym_unsigned] = ACTIONS(1157),
-    [anon_sym_long] = ACTIONS(1157),
-    [anon_sym_short] = ACTIONS(1157),
-    [anon_sym_static] = ACTIONS(1157),
-    [anon_sym_auto] = ACTIONS(1157),
-    [anon_sym_register] = ACTIONS(1157),
-    [anon_sym_inline] = ACTIONS(1157),
-    [anon_sym___inline] = ACTIONS(1157),
-    [anon_sym___inline__] = ACTIONS(1157),
-    [anon_sym___forceinline] = ACTIONS(1157),
-    [anon_sym_thread_local] = ACTIONS(1157),
-    [anon_sym___thread] = ACTIONS(1157),
-    [anon_sym_const] = ACTIONS(1157),
-    [anon_sym_constexpr] = ACTIONS(1157),
-    [anon_sym_volatile] = ACTIONS(1157),
-    [anon_sym_restrict] = ACTIONS(1157),
-    [anon_sym___restrict__] = ACTIONS(1157),
-    [anon_sym__Atomic] = ACTIONS(1157),
-    [anon_sym__Noreturn] = ACTIONS(1157),
-    [anon_sym_noreturn] = ACTIONS(1157),
-    [anon_sym__Nonnull] = ACTIONS(1157),
-    [anon_sym_alignas] = ACTIONS(1157),
-    [anon_sym__Alignas] = ACTIONS(1157),
-    [sym_primitive_type] = ACTIONS(1157),
-    [anon_sym_enum] = ACTIONS(1157),
-    [anon_sym_struct] = ACTIONS(1157),
-    [anon_sym_union] = ACTIONS(1157),
-    [anon_sym_if] = ACTIONS(1157),
-    [anon_sym_else] = ACTIONS(1157),
-    [anon_sym_switch] = ACTIONS(1157),
-    [anon_sym_case] = ACTIONS(1157),
-    [anon_sym_default] = ACTIONS(1157),
-    [anon_sym_while] = ACTIONS(1157),
-    [anon_sym_do] = ACTIONS(1157),
-    [anon_sym_for] = ACTIONS(1157),
-    [anon_sym_return] = ACTIONS(1157),
-    [anon_sym_break] = ACTIONS(1157),
-    [anon_sym_continue] = ACTIONS(1157),
-    [anon_sym_goto] = ACTIONS(1157),
-    [anon_sym___try] = ACTIONS(1157),
-    [anon_sym___leave] = ACTIONS(1157),
-    [anon_sym_DASH_DASH] = ACTIONS(1159),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1159),
-    [anon_sym_sizeof] = ACTIONS(1157),
-    [anon_sym___alignof__] = ACTIONS(1157),
-    [anon_sym___alignof] = ACTIONS(1157),
-    [anon_sym__alignof] = ACTIONS(1157),
-    [anon_sym_alignof] = ACTIONS(1157),
-    [anon_sym__Alignof] = ACTIONS(1157),
-    [anon_sym_offsetof] = ACTIONS(1157),
-    [anon_sym__Generic] = ACTIONS(1157),
-    [anon_sym_asm] = ACTIONS(1157),
-    [anon_sym___asm__] = ACTIONS(1157),
-    [anon_sym___asm] = ACTIONS(1157),
-    [sym_number_literal] = ACTIONS(1159),
-    [anon_sym_L_SQUOTE] = ACTIONS(1159),
-    [anon_sym_u_SQUOTE] = ACTIONS(1159),
-    [anon_sym_U_SQUOTE] = ACTIONS(1159),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1159),
-    [anon_sym_SQUOTE] = ACTIONS(1159),
-    [anon_sym_L_DQUOTE] = ACTIONS(1159),
-    [anon_sym_u_DQUOTE] = ACTIONS(1159),
-    [anon_sym_U_DQUOTE] = ACTIONS(1159),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1159),
-    [anon_sym_DQUOTE] = ACTIONS(1159),
-    [sym_true] = ACTIONS(1157),
-    [sym_false] = ACTIONS(1157),
-    [anon_sym_NULL] = ACTIONS(1157),
-    [anon_sym_nullptr] = ACTIONS(1157),
+    [sym_identifier] = ACTIONS(1206),
+    [aux_sym_preproc_include_token1] = ACTIONS(1206),
+    [aux_sym_preproc_def_token1] = ACTIONS(1206),
+    [aux_sym_preproc_if_token1] = ACTIONS(1206),
+    [aux_sym_preproc_if_token2] = ACTIONS(1206),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1206),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1206),
+    [sym_preproc_directive] = ACTIONS(1206),
+    [anon_sym_LPAREN2] = ACTIONS(1208),
+    [anon_sym_BANG] = ACTIONS(1208),
+    [anon_sym_TILDE] = ACTIONS(1208),
+    [anon_sym_DASH] = ACTIONS(1206),
+    [anon_sym_PLUS] = ACTIONS(1206),
+    [anon_sym_STAR] = ACTIONS(1208),
+    [anon_sym_AMP] = ACTIONS(1208),
+    [anon_sym_SEMI] = ACTIONS(1208),
+    [anon_sym___extension__] = ACTIONS(1206),
+    [anon_sym_typedef] = ACTIONS(1206),
+    [anon_sym_extern] = ACTIONS(1206),
+    [anon_sym___attribute__] = ACTIONS(1206),
+    [anon_sym___attribute] = ACTIONS(1206),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1208),
+    [anon_sym___declspec] = ACTIONS(1206),
+    [anon_sym___cdecl] = ACTIONS(1206),
+    [anon_sym___clrcall] = ACTIONS(1206),
+    [anon_sym___stdcall] = ACTIONS(1206),
+    [anon_sym___fastcall] = ACTIONS(1206),
+    [anon_sym___thiscall] = ACTIONS(1206),
+    [anon_sym___vectorcall] = ACTIONS(1206),
+    [anon_sym_LBRACE] = ACTIONS(1208),
+    [anon_sym_signed] = ACTIONS(1206),
+    [anon_sym_unsigned] = ACTIONS(1206),
+    [anon_sym_long] = ACTIONS(1206),
+    [anon_sym_short] = ACTIONS(1206),
+    [anon_sym_static] = ACTIONS(1206),
+    [anon_sym_auto] = ACTIONS(1206),
+    [anon_sym_register] = ACTIONS(1206),
+    [anon_sym_inline] = ACTIONS(1206),
+    [anon_sym___inline] = ACTIONS(1206),
+    [anon_sym___inline__] = ACTIONS(1206),
+    [anon_sym___forceinline] = ACTIONS(1206),
+    [anon_sym_thread_local] = ACTIONS(1206),
+    [anon_sym___thread] = ACTIONS(1206),
+    [anon_sym_const] = ACTIONS(1206),
+    [anon_sym_constexpr] = ACTIONS(1206),
+    [anon_sym_volatile] = ACTIONS(1206),
+    [anon_sym_restrict] = ACTIONS(1206),
+    [anon_sym___restrict__] = ACTIONS(1206),
+    [anon_sym__Atomic] = ACTIONS(1206),
+    [anon_sym__Noreturn] = ACTIONS(1206),
+    [anon_sym_noreturn] = ACTIONS(1206),
+    [anon_sym__Nonnull] = ACTIONS(1206),
+    [anon_sym_alignas] = ACTIONS(1206),
+    [anon_sym__Alignas] = ACTIONS(1206),
+    [sym_primitive_type] = ACTIONS(1206),
+    [anon_sym_enum] = ACTIONS(1206),
+    [anon_sym_struct] = ACTIONS(1206),
+    [anon_sym_union] = ACTIONS(1206),
+    [anon_sym_if] = ACTIONS(1206),
+    [anon_sym_else] = ACTIONS(1206),
+    [anon_sym_switch] = ACTIONS(1206),
+    [anon_sym_case] = ACTIONS(1206),
+    [anon_sym_default] = ACTIONS(1206),
+    [anon_sym_while] = ACTIONS(1206),
+    [anon_sym_do] = ACTIONS(1206),
+    [anon_sym_for] = ACTIONS(1206),
+    [anon_sym_return] = ACTIONS(1206),
+    [anon_sym_break] = ACTIONS(1206),
+    [anon_sym_continue] = ACTIONS(1206),
+    [anon_sym_goto] = ACTIONS(1206),
+    [anon_sym___try] = ACTIONS(1206),
+    [anon_sym___leave] = ACTIONS(1206),
+    [anon_sym_DASH_DASH] = ACTIONS(1208),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1208),
+    [anon_sym_sizeof] = ACTIONS(1206),
+    [anon_sym___alignof__] = ACTIONS(1206),
+    [anon_sym___alignof] = ACTIONS(1206),
+    [anon_sym__alignof] = ACTIONS(1206),
+    [anon_sym_alignof] = ACTIONS(1206),
+    [anon_sym__Alignof] = ACTIONS(1206),
+    [anon_sym_offsetof] = ACTIONS(1206),
+    [anon_sym__Generic] = ACTIONS(1206),
+    [anon_sym_asm] = ACTIONS(1206),
+    [anon_sym___asm__] = ACTIONS(1206),
+    [anon_sym___asm] = ACTIONS(1206),
+    [sym_number_literal] = ACTIONS(1208),
+    [anon_sym_L_SQUOTE] = ACTIONS(1208),
+    [anon_sym_u_SQUOTE] = ACTIONS(1208),
+    [anon_sym_U_SQUOTE] = ACTIONS(1208),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1208),
+    [anon_sym_SQUOTE] = ACTIONS(1208),
+    [anon_sym_L_DQUOTE] = ACTIONS(1208),
+    [anon_sym_u_DQUOTE] = ACTIONS(1208),
+    [anon_sym_U_DQUOTE] = ACTIONS(1208),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1208),
+    [anon_sym_DQUOTE] = ACTIONS(1208),
+    [sym_true] = ACTIONS(1206),
+    [sym_false] = ACTIONS(1206),
+    [anon_sym_NULL] = ACTIONS(1206),
+    [anon_sym_nullptr] = ACTIONS(1206),
     [sym_comment] = ACTIONS(3),
   },
   [209] = {
-    [sym_identifier] = ACTIONS(1161),
-    [aux_sym_preproc_include_token1] = ACTIONS(1161),
-    [aux_sym_preproc_def_token1] = ACTIONS(1161),
-    [aux_sym_preproc_if_token1] = ACTIONS(1161),
-    [aux_sym_preproc_if_token2] = ACTIONS(1161),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1161),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1161),
-    [sym_preproc_directive] = ACTIONS(1161),
-    [anon_sym_LPAREN2] = ACTIONS(1163),
-    [anon_sym_BANG] = ACTIONS(1163),
-    [anon_sym_TILDE] = ACTIONS(1163),
-    [anon_sym_DASH] = ACTIONS(1161),
-    [anon_sym_PLUS] = ACTIONS(1161),
-    [anon_sym_STAR] = ACTIONS(1163),
-    [anon_sym_AMP] = ACTIONS(1163),
-    [anon_sym_SEMI] = ACTIONS(1163),
-    [anon_sym___extension__] = ACTIONS(1161),
-    [anon_sym_typedef] = ACTIONS(1161),
-    [anon_sym_extern] = ACTIONS(1161),
-    [anon_sym___attribute__] = ACTIONS(1161),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1163),
-    [anon_sym___declspec] = ACTIONS(1161),
-    [anon_sym___cdecl] = ACTIONS(1161),
-    [anon_sym___clrcall] = ACTIONS(1161),
-    [anon_sym___stdcall] = ACTIONS(1161),
-    [anon_sym___fastcall] = ACTIONS(1161),
-    [anon_sym___thiscall] = ACTIONS(1161),
-    [anon_sym___vectorcall] = ACTIONS(1161),
-    [anon_sym_LBRACE] = ACTIONS(1163),
-    [anon_sym_signed] = ACTIONS(1161),
-    [anon_sym_unsigned] = ACTIONS(1161),
-    [anon_sym_long] = ACTIONS(1161),
-    [anon_sym_short] = ACTIONS(1161),
-    [anon_sym_static] = ACTIONS(1161),
-    [anon_sym_auto] = ACTIONS(1161),
-    [anon_sym_register] = ACTIONS(1161),
-    [anon_sym_inline] = ACTIONS(1161),
-    [anon_sym___inline] = ACTIONS(1161),
-    [anon_sym___inline__] = ACTIONS(1161),
-    [anon_sym___forceinline] = ACTIONS(1161),
-    [anon_sym_thread_local] = ACTIONS(1161),
-    [anon_sym___thread] = ACTIONS(1161),
-    [anon_sym_const] = ACTIONS(1161),
-    [anon_sym_constexpr] = ACTIONS(1161),
-    [anon_sym_volatile] = ACTIONS(1161),
-    [anon_sym_restrict] = ACTIONS(1161),
-    [anon_sym___restrict__] = ACTIONS(1161),
-    [anon_sym__Atomic] = ACTIONS(1161),
-    [anon_sym__Noreturn] = ACTIONS(1161),
-    [anon_sym_noreturn] = ACTIONS(1161),
-    [anon_sym__Nonnull] = ACTIONS(1161),
-    [anon_sym_alignas] = ACTIONS(1161),
-    [anon_sym__Alignas] = ACTIONS(1161),
-    [sym_primitive_type] = ACTIONS(1161),
-    [anon_sym_enum] = ACTIONS(1161),
-    [anon_sym_struct] = ACTIONS(1161),
-    [anon_sym_union] = ACTIONS(1161),
-    [anon_sym_if] = ACTIONS(1161),
-    [anon_sym_else] = ACTIONS(1161),
-    [anon_sym_switch] = ACTIONS(1161),
-    [anon_sym_case] = ACTIONS(1161),
-    [anon_sym_default] = ACTIONS(1161),
-    [anon_sym_while] = ACTIONS(1161),
-    [anon_sym_do] = ACTIONS(1161),
-    [anon_sym_for] = ACTIONS(1161),
-    [anon_sym_return] = ACTIONS(1161),
-    [anon_sym_break] = ACTIONS(1161),
-    [anon_sym_continue] = ACTIONS(1161),
-    [anon_sym_goto] = ACTIONS(1161),
-    [anon_sym___try] = ACTIONS(1161),
-    [anon_sym___leave] = ACTIONS(1161),
-    [anon_sym_DASH_DASH] = ACTIONS(1163),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1163),
-    [anon_sym_sizeof] = ACTIONS(1161),
-    [anon_sym___alignof__] = ACTIONS(1161),
-    [anon_sym___alignof] = ACTIONS(1161),
-    [anon_sym__alignof] = ACTIONS(1161),
-    [anon_sym_alignof] = ACTIONS(1161),
-    [anon_sym__Alignof] = ACTIONS(1161),
-    [anon_sym_offsetof] = ACTIONS(1161),
-    [anon_sym__Generic] = ACTIONS(1161),
-    [anon_sym_asm] = ACTIONS(1161),
-    [anon_sym___asm__] = ACTIONS(1161),
-    [anon_sym___asm] = ACTIONS(1161),
-    [sym_number_literal] = ACTIONS(1163),
-    [anon_sym_L_SQUOTE] = ACTIONS(1163),
-    [anon_sym_u_SQUOTE] = ACTIONS(1163),
-    [anon_sym_U_SQUOTE] = ACTIONS(1163),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1163),
-    [anon_sym_SQUOTE] = ACTIONS(1163),
-    [anon_sym_L_DQUOTE] = ACTIONS(1163),
-    [anon_sym_u_DQUOTE] = ACTIONS(1163),
-    [anon_sym_U_DQUOTE] = ACTIONS(1163),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1163),
-    [anon_sym_DQUOTE] = ACTIONS(1163),
-    [sym_true] = ACTIONS(1161),
-    [sym_false] = ACTIONS(1161),
-    [anon_sym_NULL] = ACTIONS(1161),
-    [anon_sym_nullptr] = ACTIONS(1161),
+    [sym_identifier] = ACTIONS(1210),
+    [aux_sym_preproc_include_token1] = ACTIONS(1210),
+    [aux_sym_preproc_def_token1] = ACTIONS(1210),
+    [aux_sym_preproc_if_token1] = ACTIONS(1210),
+    [aux_sym_preproc_if_token2] = ACTIONS(1210),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1210),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1210),
+    [sym_preproc_directive] = ACTIONS(1210),
+    [anon_sym_LPAREN2] = ACTIONS(1212),
+    [anon_sym_BANG] = ACTIONS(1212),
+    [anon_sym_TILDE] = ACTIONS(1212),
+    [anon_sym_DASH] = ACTIONS(1210),
+    [anon_sym_PLUS] = ACTIONS(1210),
+    [anon_sym_STAR] = ACTIONS(1212),
+    [anon_sym_AMP] = ACTIONS(1212),
+    [anon_sym_SEMI] = ACTIONS(1212),
+    [anon_sym___extension__] = ACTIONS(1210),
+    [anon_sym_typedef] = ACTIONS(1210),
+    [anon_sym_extern] = ACTIONS(1210),
+    [anon_sym___attribute__] = ACTIONS(1210),
+    [anon_sym___attribute] = ACTIONS(1210),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1212),
+    [anon_sym___declspec] = ACTIONS(1210),
+    [anon_sym___cdecl] = ACTIONS(1210),
+    [anon_sym___clrcall] = ACTIONS(1210),
+    [anon_sym___stdcall] = ACTIONS(1210),
+    [anon_sym___fastcall] = ACTIONS(1210),
+    [anon_sym___thiscall] = ACTIONS(1210),
+    [anon_sym___vectorcall] = ACTIONS(1210),
+    [anon_sym_LBRACE] = ACTIONS(1212),
+    [anon_sym_signed] = ACTIONS(1210),
+    [anon_sym_unsigned] = ACTIONS(1210),
+    [anon_sym_long] = ACTIONS(1210),
+    [anon_sym_short] = ACTIONS(1210),
+    [anon_sym_static] = ACTIONS(1210),
+    [anon_sym_auto] = ACTIONS(1210),
+    [anon_sym_register] = ACTIONS(1210),
+    [anon_sym_inline] = ACTIONS(1210),
+    [anon_sym___inline] = ACTIONS(1210),
+    [anon_sym___inline__] = ACTIONS(1210),
+    [anon_sym___forceinline] = ACTIONS(1210),
+    [anon_sym_thread_local] = ACTIONS(1210),
+    [anon_sym___thread] = ACTIONS(1210),
+    [anon_sym_const] = ACTIONS(1210),
+    [anon_sym_constexpr] = ACTIONS(1210),
+    [anon_sym_volatile] = ACTIONS(1210),
+    [anon_sym_restrict] = ACTIONS(1210),
+    [anon_sym___restrict__] = ACTIONS(1210),
+    [anon_sym__Atomic] = ACTIONS(1210),
+    [anon_sym__Noreturn] = ACTIONS(1210),
+    [anon_sym_noreturn] = ACTIONS(1210),
+    [anon_sym__Nonnull] = ACTIONS(1210),
+    [anon_sym_alignas] = ACTIONS(1210),
+    [anon_sym__Alignas] = ACTIONS(1210),
+    [sym_primitive_type] = ACTIONS(1210),
+    [anon_sym_enum] = ACTIONS(1210),
+    [anon_sym_struct] = ACTIONS(1210),
+    [anon_sym_union] = ACTIONS(1210),
+    [anon_sym_if] = ACTIONS(1210),
+    [anon_sym_else] = ACTIONS(1210),
+    [anon_sym_switch] = ACTIONS(1210),
+    [anon_sym_case] = ACTIONS(1210),
+    [anon_sym_default] = ACTIONS(1210),
+    [anon_sym_while] = ACTIONS(1210),
+    [anon_sym_do] = ACTIONS(1210),
+    [anon_sym_for] = ACTIONS(1210),
+    [anon_sym_return] = ACTIONS(1210),
+    [anon_sym_break] = ACTIONS(1210),
+    [anon_sym_continue] = ACTIONS(1210),
+    [anon_sym_goto] = ACTIONS(1210),
+    [anon_sym___try] = ACTIONS(1210),
+    [anon_sym___leave] = ACTIONS(1210),
+    [anon_sym_DASH_DASH] = ACTIONS(1212),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1212),
+    [anon_sym_sizeof] = ACTIONS(1210),
+    [anon_sym___alignof__] = ACTIONS(1210),
+    [anon_sym___alignof] = ACTIONS(1210),
+    [anon_sym__alignof] = ACTIONS(1210),
+    [anon_sym_alignof] = ACTIONS(1210),
+    [anon_sym__Alignof] = ACTIONS(1210),
+    [anon_sym_offsetof] = ACTIONS(1210),
+    [anon_sym__Generic] = ACTIONS(1210),
+    [anon_sym_asm] = ACTIONS(1210),
+    [anon_sym___asm__] = ACTIONS(1210),
+    [anon_sym___asm] = ACTIONS(1210),
+    [sym_number_literal] = ACTIONS(1212),
+    [anon_sym_L_SQUOTE] = ACTIONS(1212),
+    [anon_sym_u_SQUOTE] = ACTIONS(1212),
+    [anon_sym_U_SQUOTE] = ACTIONS(1212),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1212),
+    [anon_sym_SQUOTE] = ACTIONS(1212),
+    [anon_sym_L_DQUOTE] = ACTIONS(1212),
+    [anon_sym_u_DQUOTE] = ACTIONS(1212),
+    [anon_sym_U_DQUOTE] = ACTIONS(1212),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1212),
+    [anon_sym_DQUOTE] = ACTIONS(1212),
+    [sym_true] = ACTIONS(1210),
+    [sym_false] = ACTIONS(1210),
+    [anon_sym_NULL] = ACTIONS(1210),
+    [anon_sym_nullptr] = ACTIONS(1210),
     [sym_comment] = ACTIONS(3),
   },
   [210] = {
-    [sym_identifier] = ACTIONS(1165),
-    [aux_sym_preproc_include_token1] = ACTIONS(1165),
-    [aux_sym_preproc_def_token1] = ACTIONS(1165),
-    [aux_sym_preproc_if_token1] = ACTIONS(1165),
-    [aux_sym_preproc_if_token2] = ACTIONS(1165),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1165),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1165),
-    [sym_preproc_directive] = ACTIONS(1165),
-    [anon_sym_LPAREN2] = ACTIONS(1167),
-    [anon_sym_BANG] = ACTIONS(1167),
-    [anon_sym_TILDE] = ACTIONS(1167),
-    [anon_sym_DASH] = ACTIONS(1165),
-    [anon_sym_PLUS] = ACTIONS(1165),
-    [anon_sym_STAR] = ACTIONS(1167),
-    [anon_sym_AMP] = ACTIONS(1167),
-    [anon_sym_SEMI] = ACTIONS(1167),
-    [anon_sym___extension__] = ACTIONS(1165),
-    [anon_sym_typedef] = ACTIONS(1165),
-    [anon_sym_extern] = ACTIONS(1165),
-    [anon_sym___attribute__] = ACTIONS(1165),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1167),
-    [anon_sym___declspec] = ACTIONS(1165),
-    [anon_sym___cdecl] = ACTIONS(1165),
-    [anon_sym___clrcall] = ACTIONS(1165),
-    [anon_sym___stdcall] = ACTIONS(1165),
-    [anon_sym___fastcall] = ACTIONS(1165),
-    [anon_sym___thiscall] = ACTIONS(1165),
-    [anon_sym___vectorcall] = ACTIONS(1165),
-    [anon_sym_LBRACE] = ACTIONS(1167),
-    [anon_sym_signed] = ACTIONS(1165),
-    [anon_sym_unsigned] = ACTIONS(1165),
-    [anon_sym_long] = ACTIONS(1165),
-    [anon_sym_short] = ACTIONS(1165),
-    [anon_sym_static] = ACTIONS(1165),
-    [anon_sym_auto] = ACTIONS(1165),
-    [anon_sym_register] = ACTIONS(1165),
-    [anon_sym_inline] = ACTIONS(1165),
-    [anon_sym___inline] = ACTIONS(1165),
-    [anon_sym___inline__] = ACTIONS(1165),
-    [anon_sym___forceinline] = ACTIONS(1165),
-    [anon_sym_thread_local] = ACTIONS(1165),
-    [anon_sym___thread] = ACTIONS(1165),
-    [anon_sym_const] = ACTIONS(1165),
-    [anon_sym_constexpr] = ACTIONS(1165),
-    [anon_sym_volatile] = ACTIONS(1165),
-    [anon_sym_restrict] = ACTIONS(1165),
-    [anon_sym___restrict__] = ACTIONS(1165),
-    [anon_sym__Atomic] = ACTIONS(1165),
-    [anon_sym__Noreturn] = ACTIONS(1165),
-    [anon_sym_noreturn] = ACTIONS(1165),
-    [anon_sym__Nonnull] = ACTIONS(1165),
-    [anon_sym_alignas] = ACTIONS(1165),
-    [anon_sym__Alignas] = ACTIONS(1165),
-    [sym_primitive_type] = ACTIONS(1165),
-    [anon_sym_enum] = ACTIONS(1165),
-    [anon_sym_struct] = ACTIONS(1165),
-    [anon_sym_union] = ACTIONS(1165),
-    [anon_sym_if] = ACTIONS(1165),
-    [anon_sym_else] = ACTIONS(1165),
-    [anon_sym_switch] = ACTIONS(1165),
-    [anon_sym_case] = ACTIONS(1165),
-    [anon_sym_default] = ACTIONS(1165),
-    [anon_sym_while] = ACTIONS(1165),
-    [anon_sym_do] = ACTIONS(1165),
-    [anon_sym_for] = ACTIONS(1165),
-    [anon_sym_return] = ACTIONS(1165),
-    [anon_sym_break] = ACTIONS(1165),
-    [anon_sym_continue] = ACTIONS(1165),
-    [anon_sym_goto] = ACTIONS(1165),
-    [anon_sym___try] = ACTIONS(1165),
-    [anon_sym___leave] = ACTIONS(1165),
-    [anon_sym_DASH_DASH] = ACTIONS(1167),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1167),
-    [anon_sym_sizeof] = ACTIONS(1165),
-    [anon_sym___alignof__] = ACTIONS(1165),
-    [anon_sym___alignof] = ACTIONS(1165),
-    [anon_sym__alignof] = ACTIONS(1165),
-    [anon_sym_alignof] = ACTIONS(1165),
-    [anon_sym__Alignof] = ACTIONS(1165),
-    [anon_sym_offsetof] = ACTIONS(1165),
-    [anon_sym__Generic] = ACTIONS(1165),
-    [anon_sym_asm] = ACTIONS(1165),
-    [anon_sym___asm__] = ACTIONS(1165),
-    [anon_sym___asm] = ACTIONS(1165),
-    [sym_number_literal] = ACTIONS(1167),
-    [anon_sym_L_SQUOTE] = ACTIONS(1167),
-    [anon_sym_u_SQUOTE] = ACTIONS(1167),
-    [anon_sym_U_SQUOTE] = ACTIONS(1167),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1167),
-    [anon_sym_SQUOTE] = ACTIONS(1167),
-    [anon_sym_L_DQUOTE] = ACTIONS(1167),
-    [anon_sym_u_DQUOTE] = ACTIONS(1167),
-    [anon_sym_U_DQUOTE] = ACTIONS(1167),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1167),
-    [anon_sym_DQUOTE] = ACTIONS(1167),
-    [sym_true] = ACTIONS(1165),
-    [sym_false] = ACTIONS(1165),
-    [anon_sym_NULL] = ACTIONS(1165),
-    [anon_sym_nullptr] = ACTIONS(1165),
+    [sym_identifier] = ACTIONS(1154),
+    [aux_sym_preproc_include_token1] = ACTIONS(1154),
+    [aux_sym_preproc_def_token1] = ACTIONS(1154),
+    [aux_sym_preproc_if_token1] = ACTIONS(1154),
+    [aux_sym_preproc_if_token2] = ACTIONS(1154),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1154),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1154),
+    [sym_preproc_directive] = ACTIONS(1154),
+    [anon_sym_LPAREN2] = ACTIONS(1156),
+    [anon_sym_BANG] = ACTIONS(1156),
+    [anon_sym_TILDE] = ACTIONS(1156),
+    [anon_sym_DASH] = ACTIONS(1154),
+    [anon_sym_PLUS] = ACTIONS(1154),
+    [anon_sym_STAR] = ACTIONS(1156),
+    [anon_sym_AMP] = ACTIONS(1156),
+    [anon_sym_SEMI] = ACTIONS(1156),
+    [anon_sym___extension__] = ACTIONS(1154),
+    [anon_sym_typedef] = ACTIONS(1154),
+    [anon_sym_extern] = ACTIONS(1154),
+    [anon_sym___attribute__] = ACTIONS(1154),
+    [anon_sym___attribute] = ACTIONS(1154),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1156),
+    [anon_sym___declspec] = ACTIONS(1154),
+    [anon_sym___cdecl] = ACTIONS(1154),
+    [anon_sym___clrcall] = ACTIONS(1154),
+    [anon_sym___stdcall] = ACTIONS(1154),
+    [anon_sym___fastcall] = ACTIONS(1154),
+    [anon_sym___thiscall] = ACTIONS(1154),
+    [anon_sym___vectorcall] = ACTIONS(1154),
+    [anon_sym_LBRACE] = ACTIONS(1156),
+    [anon_sym_signed] = ACTIONS(1154),
+    [anon_sym_unsigned] = ACTIONS(1154),
+    [anon_sym_long] = ACTIONS(1154),
+    [anon_sym_short] = ACTIONS(1154),
+    [anon_sym_static] = ACTIONS(1154),
+    [anon_sym_auto] = ACTIONS(1154),
+    [anon_sym_register] = ACTIONS(1154),
+    [anon_sym_inline] = ACTIONS(1154),
+    [anon_sym___inline] = ACTIONS(1154),
+    [anon_sym___inline__] = ACTIONS(1154),
+    [anon_sym___forceinline] = ACTIONS(1154),
+    [anon_sym_thread_local] = ACTIONS(1154),
+    [anon_sym___thread] = ACTIONS(1154),
+    [anon_sym_const] = ACTIONS(1154),
+    [anon_sym_constexpr] = ACTIONS(1154),
+    [anon_sym_volatile] = ACTIONS(1154),
+    [anon_sym_restrict] = ACTIONS(1154),
+    [anon_sym___restrict__] = ACTIONS(1154),
+    [anon_sym__Atomic] = ACTIONS(1154),
+    [anon_sym__Noreturn] = ACTIONS(1154),
+    [anon_sym_noreturn] = ACTIONS(1154),
+    [anon_sym__Nonnull] = ACTIONS(1154),
+    [anon_sym_alignas] = ACTIONS(1154),
+    [anon_sym__Alignas] = ACTIONS(1154),
+    [sym_primitive_type] = ACTIONS(1154),
+    [anon_sym_enum] = ACTIONS(1154),
+    [anon_sym_struct] = ACTIONS(1154),
+    [anon_sym_union] = ACTIONS(1154),
+    [anon_sym_if] = ACTIONS(1154),
+    [anon_sym_else] = ACTIONS(1154),
+    [anon_sym_switch] = ACTIONS(1154),
+    [anon_sym_case] = ACTIONS(1154),
+    [anon_sym_default] = ACTIONS(1154),
+    [anon_sym_while] = ACTIONS(1154),
+    [anon_sym_do] = ACTIONS(1154),
+    [anon_sym_for] = ACTIONS(1154),
+    [anon_sym_return] = ACTIONS(1154),
+    [anon_sym_break] = ACTIONS(1154),
+    [anon_sym_continue] = ACTIONS(1154),
+    [anon_sym_goto] = ACTIONS(1154),
+    [anon_sym___try] = ACTIONS(1154),
+    [anon_sym___leave] = ACTIONS(1154),
+    [anon_sym_DASH_DASH] = ACTIONS(1156),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1156),
+    [anon_sym_sizeof] = ACTIONS(1154),
+    [anon_sym___alignof__] = ACTIONS(1154),
+    [anon_sym___alignof] = ACTIONS(1154),
+    [anon_sym__alignof] = ACTIONS(1154),
+    [anon_sym_alignof] = ACTIONS(1154),
+    [anon_sym__Alignof] = ACTIONS(1154),
+    [anon_sym_offsetof] = ACTIONS(1154),
+    [anon_sym__Generic] = ACTIONS(1154),
+    [anon_sym_asm] = ACTIONS(1154),
+    [anon_sym___asm__] = ACTIONS(1154),
+    [anon_sym___asm] = ACTIONS(1154),
+    [sym_number_literal] = ACTIONS(1156),
+    [anon_sym_L_SQUOTE] = ACTIONS(1156),
+    [anon_sym_u_SQUOTE] = ACTIONS(1156),
+    [anon_sym_U_SQUOTE] = ACTIONS(1156),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1156),
+    [anon_sym_SQUOTE] = ACTIONS(1156),
+    [anon_sym_L_DQUOTE] = ACTIONS(1156),
+    [anon_sym_u_DQUOTE] = ACTIONS(1156),
+    [anon_sym_U_DQUOTE] = ACTIONS(1156),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1156),
+    [anon_sym_DQUOTE] = ACTIONS(1156),
+    [sym_true] = ACTIONS(1154),
+    [sym_false] = ACTIONS(1154),
+    [anon_sym_NULL] = ACTIONS(1154),
+    [anon_sym_nullptr] = ACTIONS(1154),
     [sym_comment] = ACTIONS(3),
   },
   [211] = {
-    [sym_identifier] = ACTIONS(1169),
-    [aux_sym_preproc_include_token1] = ACTIONS(1169),
-    [aux_sym_preproc_def_token1] = ACTIONS(1169),
-    [aux_sym_preproc_if_token1] = ACTIONS(1169),
-    [aux_sym_preproc_if_token2] = ACTIONS(1169),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1169),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1169),
-    [sym_preproc_directive] = ACTIONS(1169),
-    [anon_sym_LPAREN2] = ACTIONS(1171),
-    [anon_sym_BANG] = ACTIONS(1171),
-    [anon_sym_TILDE] = ACTIONS(1171),
-    [anon_sym_DASH] = ACTIONS(1169),
-    [anon_sym_PLUS] = ACTIONS(1169),
-    [anon_sym_STAR] = ACTIONS(1171),
-    [anon_sym_AMP] = ACTIONS(1171),
-    [anon_sym_SEMI] = ACTIONS(1171),
-    [anon_sym___extension__] = ACTIONS(1169),
-    [anon_sym_typedef] = ACTIONS(1169),
-    [anon_sym_extern] = ACTIONS(1169),
-    [anon_sym___attribute__] = ACTIONS(1169),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1171),
-    [anon_sym___declspec] = ACTIONS(1169),
-    [anon_sym___cdecl] = ACTIONS(1169),
-    [anon_sym___clrcall] = ACTIONS(1169),
-    [anon_sym___stdcall] = ACTIONS(1169),
-    [anon_sym___fastcall] = ACTIONS(1169),
-    [anon_sym___thiscall] = ACTIONS(1169),
-    [anon_sym___vectorcall] = ACTIONS(1169),
-    [anon_sym_LBRACE] = ACTIONS(1171),
-    [anon_sym_signed] = ACTIONS(1169),
-    [anon_sym_unsigned] = ACTIONS(1169),
-    [anon_sym_long] = ACTIONS(1169),
-    [anon_sym_short] = ACTIONS(1169),
-    [anon_sym_static] = ACTIONS(1169),
-    [anon_sym_auto] = ACTIONS(1169),
-    [anon_sym_register] = ACTIONS(1169),
-    [anon_sym_inline] = ACTIONS(1169),
-    [anon_sym___inline] = ACTIONS(1169),
-    [anon_sym___inline__] = ACTIONS(1169),
-    [anon_sym___forceinline] = ACTIONS(1169),
-    [anon_sym_thread_local] = ACTIONS(1169),
-    [anon_sym___thread] = ACTIONS(1169),
-    [anon_sym_const] = ACTIONS(1169),
-    [anon_sym_constexpr] = ACTIONS(1169),
-    [anon_sym_volatile] = ACTIONS(1169),
-    [anon_sym_restrict] = ACTIONS(1169),
-    [anon_sym___restrict__] = ACTIONS(1169),
-    [anon_sym__Atomic] = ACTIONS(1169),
-    [anon_sym__Noreturn] = ACTIONS(1169),
-    [anon_sym_noreturn] = ACTIONS(1169),
-    [anon_sym__Nonnull] = ACTIONS(1169),
-    [anon_sym_alignas] = ACTIONS(1169),
-    [anon_sym__Alignas] = ACTIONS(1169),
-    [sym_primitive_type] = ACTIONS(1169),
-    [anon_sym_enum] = ACTIONS(1169),
-    [anon_sym_struct] = ACTIONS(1169),
-    [anon_sym_union] = ACTIONS(1169),
-    [anon_sym_if] = ACTIONS(1169),
-    [anon_sym_else] = ACTIONS(1169),
-    [anon_sym_switch] = ACTIONS(1169),
-    [anon_sym_case] = ACTIONS(1169),
-    [anon_sym_default] = ACTIONS(1169),
-    [anon_sym_while] = ACTIONS(1169),
-    [anon_sym_do] = ACTIONS(1169),
-    [anon_sym_for] = ACTIONS(1169),
-    [anon_sym_return] = ACTIONS(1169),
-    [anon_sym_break] = ACTIONS(1169),
-    [anon_sym_continue] = ACTIONS(1169),
-    [anon_sym_goto] = ACTIONS(1169),
-    [anon_sym___try] = ACTIONS(1169),
-    [anon_sym___leave] = ACTIONS(1169),
-    [anon_sym_DASH_DASH] = ACTIONS(1171),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1171),
-    [anon_sym_sizeof] = ACTIONS(1169),
-    [anon_sym___alignof__] = ACTIONS(1169),
-    [anon_sym___alignof] = ACTIONS(1169),
-    [anon_sym__alignof] = ACTIONS(1169),
-    [anon_sym_alignof] = ACTIONS(1169),
-    [anon_sym__Alignof] = ACTIONS(1169),
-    [anon_sym_offsetof] = ACTIONS(1169),
-    [anon_sym__Generic] = ACTIONS(1169),
-    [anon_sym_asm] = ACTIONS(1169),
-    [anon_sym___asm__] = ACTIONS(1169),
-    [anon_sym___asm] = ACTIONS(1169),
-    [sym_number_literal] = ACTIONS(1171),
-    [anon_sym_L_SQUOTE] = ACTIONS(1171),
-    [anon_sym_u_SQUOTE] = ACTIONS(1171),
-    [anon_sym_U_SQUOTE] = ACTIONS(1171),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1171),
-    [anon_sym_SQUOTE] = ACTIONS(1171),
-    [anon_sym_L_DQUOTE] = ACTIONS(1171),
-    [anon_sym_u_DQUOTE] = ACTIONS(1171),
-    [anon_sym_U_DQUOTE] = ACTIONS(1171),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1171),
-    [anon_sym_DQUOTE] = ACTIONS(1171),
-    [sym_true] = ACTIONS(1169),
-    [sym_false] = ACTIONS(1169),
-    [anon_sym_NULL] = ACTIONS(1169),
-    [anon_sym_nullptr] = ACTIONS(1169),
+    [sym_identifier] = ACTIONS(1154),
+    [aux_sym_preproc_include_token1] = ACTIONS(1154),
+    [aux_sym_preproc_def_token1] = ACTIONS(1154),
+    [aux_sym_preproc_if_token1] = ACTIONS(1154),
+    [aux_sym_preproc_if_token2] = ACTIONS(1154),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1154),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1154),
+    [sym_preproc_directive] = ACTIONS(1154),
+    [anon_sym_LPAREN2] = ACTIONS(1156),
+    [anon_sym_BANG] = ACTIONS(1156),
+    [anon_sym_TILDE] = ACTIONS(1156),
+    [anon_sym_DASH] = ACTIONS(1154),
+    [anon_sym_PLUS] = ACTIONS(1154),
+    [anon_sym_STAR] = ACTIONS(1156),
+    [anon_sym_AMP] = ACTIONS(1156),
+    [anon_sym_SEMI] = ACTIONS(1156),
+    [anon_sym___extension__] = ACTIONS(1154),
+    [anon_sym_typedef] = ACTIONS(1154),
+    [anon_sym_extern] = ACTIONS(1154),
+    [anon_sym___attribute__] = ACTIONS(1154),
+    [anon_sym___attribute] = ACTIONS(1154),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1156),
+    [anon_sym___declspec] = ACTIONS(1154),
+    [anon_sym___cdecl] = ACTIONS(1154),
+    [anon_sym___clrcall] = ACTIONS(1154),
+    [anon_sym___stdcall] = ACTIONS(1154),
+    [anon_sym___fastcall] = ACTIONS(1154),
+    [anon_sym___thiscall] = ACTIONS(1154),
+    [anon_sym___vectorcall] = ACTIONS(1154),
+    [anon_sym_LBRACE] = ACTIONS(1156),
+    [anon_sym_signed] = ACTIONS(1154),
+    [anon_sym_unsigned] = ACTIONS(1154),
+    [anon_sym_long] = ACTIONS(1154),
+    [anon_sym_short] = ACTIONS(1154),
+    [anon_sym_static] = ACTIONS(1154),
+    [anon_sym_auto] = ACTIONS(1154),
+    [anon_sym_register] = ACTIONS(1154),
+    [anon_sym_inline] = ACTIONS(1154),
+    [anon_sym___inline] = ACTIONS(1154),
+    [anon_sym___inline__] = ACTIONS(1154),
+    [anon_sym___forceinline] = ACTIONS(1154),
+    [anon_sym_thread_local] = ACTIONS(1154),
+    [anon_sym___thread] = ACTIONS(1154),
+    [anon_sym_const] = ACTIONS(1154),
+    [anon_sym_constexpr] = ACTIONS(1154),
+    [anon_sym_volatile] = ACTIONS(1154),
+    [anon_sym_restrict] = ACTIONS(1154),
+    [anon_sym___restrict__] = ACTIONS(1154),
+    [anon_sym__Atomic] = ACTIONS(1154),
+    [anon_sym__Noreturn] = ACTIONS(1154),
+    [anon_sym_noreturn] = ACTIONS(1154),
+    [anon_sym__Nonnull] = ACTIONS(1154),
+    [anon_sym_alignas] = ACTIONS(1154),
+    [anon_sym__Alignas] = ACTIONS(1154),
+    [sym_primitive_type] = ACTIONS(1154),
+    [anon_sym_enum] = ACTIONS(1154),
+    [anon_sym_struct] = ACTIONS(1154),
+    [anon_sym_union] = ACTIONS(1154),
+    [anon_sym_if] = ACTIONS(1154),
+    [anon_sym_else] = ACTIONS(1154),
+    [anon_sym_switch] = ACTIONS(1154),
+    [anon_sym_case] = ACTIONS(1154),
+    [anon_sym_default] = ACTIONS(1154),
+    [anon_sym_while] = ACTIONS(1154),
+    [anon_sym_do] = ACTIONS(1154),
+    [anon_sym_for] = ACTIONS(1154),
+    [anon_sym_return] = ACTIONS(1154),
+    [anon_sym_break] = ACTIONS(1154),
+    [anon_sym_continue] = ACTIONS(1154),
+    [anon_sym_goto] = ACTIONS(1154),
+    [anon_sym___try] = ACTIONS(1154),
+    [anon_sym___leave] = ACTIONS(1154),
+    [anon_sym_DASH_DASH] = ACTIONS(1156),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1156),
+    [anon_sym_sizeof] = ACTIONS(1154),
+    [anon_sym___alignof__] = ACTIONS(1154),
+    [anon_sym___alignof] = ACTIONS(1154),
+    [anon_sym__alignof] = ACTIONS(1154),
+    [anon_sym_alignof] = ACTIONS(1154),
+    [anon_sym__Alignof] = ACTIONS(1154),
+    [anon_sym_offsetof] = ACTIONS(1154),
+    [anon_sym__Generic] = ACTIONS(1154),
+    [anon_sym_asm] = ACTIONS(1154),
+    [anon_sym___asm__] = ACTIONS(1154),
+    [anon_sym___asm] = ACTIONS(1154),
+    [sym_number_literal] = ACTIONS(1156),
+    [anon_sym_L_SQUOTE] = ACTIONS(1156),
+    [anon_sym_u_SQUOTE] = ACTIONS(1156),
+    [anon_sym_U_SQUOTE] = ACTIONS(1156),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1156),
+    [anon_sym_SQUOTE] = ACTIONS(1156),
+    [anon_sym_L_DQUOTE] = ACTIONS(1156),
+    [anon_sym_u_DQUOTE] = ACTIONS(1156),
+    [anon_sym_U_DQUOTE] = ACTIONS(1156),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1156),
+    [anon_sym_DQUOTE] = ACTIONS(1156),
+    [sym_true] = ACTIONS(1154),
+    [sym_false] = ACTIONS(1154),
+    [anon_sym_NULL] = ACTIONS(1154),
+    [anon_sym_nullptr] = ACTIONS(1154),
     [sym_comment] = ACTIONS(3),
   },
   [212] = {
-    [ts_builtin_sym_end] = ACTIONS(1219),
-    [sym_identifier] = ACTIONS(1217),
-    [aux_sym_preproc_include_token1] = ACTIONS(1217),
-    [aux_sym_preproc_def_token1] = ACTIONS(1217),
-    [aux_sym_preproc_if_token1] = ACTIONS(1217),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1217),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1217),
-    [sym_preproc_directive] = ACTIONS(1217),
-    [anon_sym_LPAREN2] = ACTIONS(1219),
-    [anon_sym_BANG] = ACTIONS(1219),
-    [anon_sym_TILDE] = ACTIONS(1219),
-    [anon_sym_DASH] = ACTIONS(1217),
-    [anon_sym_PLUS] = ACTIONS(1217),
-    [anon_sym_STAR] = ACTIONS(1219),
-    [anon_sym_AMP] = ACTIONS(1219),
-    [anon_sym_SEMI] = ACTIONS(1219),
-    [anon_sym___extension__] = ACTIONS(1217),
-    [anon_sym_typedef] = ACTIONS(1217),
-    [anon_sym_extern] = ACTIONS(1217),
-    [anon_sym___attribute__] = ACTIONS(1217),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1219),
-    [anon_sym___declspec] = ACTIONS(1217),
-    [anon_sym___cdecl] = ACTIONS(1217),
-    [anon_sym___clrcall] = ACTIONS(1217),
-    [anon_sym___stdcall] = ACTIONS(1217),
-    [anon_sym___fastcall] = ACTIONS(1217),
-    [anon_sym___thiscall] = ACTIONS(1217),
-    [anon_sym___vectorcall] = ACTIONS(1217),
-    [anon_sym_LBRACE] = ACTIONS(1219),
-    [anon_sym_signed] = ACTIONS(1217),
-    [anon_sym_unsigned] = ACTIONS(1217),
-    [anon_sym_long] = ACTIONS(1217),
-    [anon_sym_short] = ACTIONS(1217),
-    [anon_sym_static] = ACTIONS(1217),
-    [anon_sym_auto] = ACTIONS(1217),
-    [anon_sym_register] = ACTIONS(1217),
-    [anon_sym_inline] = ACTIONS(1217),
-    [anon_sym___inline] = ACTIONS(1217),
-    [anon_sym___inline__] = ACTIONS(1217),
-    [anon_sym___forceinline] = ACTIONS(1217),
-    [anon_sym_thread_local] = ACTIONS(1217),
-    [anon_sym___thread] = ACTIONS(1217),
-    [anon_sym_const] = ACTIONS(1217),
-    [anon_sym_constexpr] = ACTIONS(1217),
-    [anon_sym_volatile] = ACTIONS(1217),
-    [anon_sym_restrict] = ACTIONS(1217),
-    [anon_sym___restrict__] = ACTIONS(1217),
-    [anon_sym__Atomic] = ACTIONS(1217),
-    [anon_sym__Noreturn] = ACTIONS(1217),
-    [anon_sym_noreturn] = ACTIONS(1217),
-    [anon_sym__Nonnull] = ACTIONS(1217),
-    [anon_sym_alignas] = ACTIONS(1217),
-    [anon_sym__Alignas] = ACTIONS(1217),
-    [sym_primitive_type] = ACTIONS(1217),
-    [anon_sym_enum] = ACTIONS(1217),
-    [anon_sym_struct] = ACTIONS(1217),
-    [anon_sym_union] = ACTIONS(1217),
-    [anon_sym_if] = ACTIONS(1217),
-    [anon_sym_else] = ACTIONS(1217),
-    [anon_sym_switch] = ACTIONS(1217),
-    [anon_sym_case] = ACTIONS(1217),
-    [anon_sym_default] = ACTIONS(1217),
-    [anon_sym_while] = ACTIONS(1217),
-    [anon_sym_do] = ACTIONS(1217),
-    [anon_sym_for] = ACTIONS(1217),
-    [anon_sym_return] = ACTIONS(1217),
-    [anon_sym_break] = ACTIONS(1217),
-    [anon_sym_continue] = ACTIONS(1217),
-    [anon_sym_goto] = ACTIONS(1217),
-    [anon_sym___try] = ACTIONS(1217),
-    [anon_sym___leave] = ACTIONS(1217),
-    [anon_sym_DASH_DASH] = ACTIONS(1219),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1219),
-    [anon_sym_sizeof] = ACTIONS(1217),
-    [anon_sym___alignof__] = ACTIONS(1217),
-    [anon_sym___alignof] = ACTIONS(1217),
-    [anon_sym__alignof] = ACTIONS(1217),
-    [anon_sym_alignof] = ACTIONS(1217),
-    [anon_sym__Alignof] = ACTIONS(1217),
-    [anon_sym_offsetof] = ACTIONS(1217),
-    [anon_sym__Generic] = ACTIONS(1217),
-    [anon_sym_asm] = ACTIONS(1217),
-    [anon_sym___asm__] = ACTIONS(1217),
-    [anon_sym___asm] = ACTIONS(1217),
-    [sym_number_literal] = ACTIONS(1219),
-    [anon_sym_L_SQUOTE] = ACTIONS(1219),
-    [anon_sym_u_SQUOTE] = ACTIONS(1219),
-    [anon_sym_U_SQUOTE] = ACTIONS(1219),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1219),
-    [anon_sym_SQUOTE] = ACTIONS(1219),
-    [anon_sym_L_DQUOTE] = ACTIONS(1219),
-    [anon_sym_u_DQUOTE] = ACTIONS(1219),
-    [anon_sym_U_DQUOTE] = ACTIONS(1219),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1219),
-    [anon_sym_DQUOTE] = ACTIONS(1219),
-    [sym_true] = ACTIONS(1217),
-    [sym_false] = ACTIONS(1217),
-    [anon_sym_NULL] = ACTIONS(1217),
-    [anon_sym_nullptr] = ACTIONS(1217),
+    [sym_identifier] = ACTIONS(1170),
+    [aux_sym_preproc_include_token1] = ACTIONS(1170),
+    [aux_sym_preproc_def_token1] = ACTIONS(1170),
+    [aux_sym_preproc_if_token1] = ACTIONS(1170),
+    [aux_sym_preproc_if_token2] = ACTIONS(1170),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1170),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1170),
+    [sym_preproc_directive] = ACTIONS(1170),
+    [anon_sym_LPAREN2] = ACTIONS(1172),
+    [anon_sym_BANG] = ACTIONS(1172),
+    [anon_sym_TILDE] = ACTIONS(1172),
+    [anon_sym_DASH] = ACTIONS(1170),
+    [anon_sym_PLUS] = ACTIONS(1170),
+    [anon_sym_STAR] = ACTIONS(1172),
+    [anon_sym_AMP] = ACTIONS(1172),
+    [anon_sym_SEMI] = ACTIONS(1172),
+    [anon_sym___extension__] = ACTIONS(1170),
+    [anon_sym_typedef] = ACTIONS(1170),
+    [anon_sym_extern] = ACTIONS(1170),
+    [anon_sym___attribute__] = ACTIONS(1170),
+    [anon_sym___attribute] = ACTIONS(1170),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1172),
+    [anon_sym___declspec] = ACTIONS(1170),
+    [anon_sym___cdecl] = ACTIONS(1170),
+    [anon_sym___clrcall] = ACTIONS(1170),
+    [anon_sym___stdcall] = ACTIONS(1170),
+    [anon_sym___fastcall] = ACTIONS(1170),
+    [anon_sym___thiscall] = ACTIONS(1170),
+    [anon_sym___vectorcall] = ACTIONS(1170),
+    [anon_sym_LBRACE] = ACTIONS(1172),
+    [anon_sym_signed] = ACTIONS(1170),
+    [anon_sym_unsigned] = ACTIONS(1170),
+    [anon_sym_long] = ACTIONS(1170),
+    [anon_sym_short] = ACTIONS(1170),
+    [anon_sym_static] = ACTIONS(1170),
+    [anon_sym_auto] = ACTIONS(1170),
+    [anon_sym_register] = ACTIONS(1170),
+    [anon_sym_inline] = ACTIONS(1170),
+    [anon_sym___inline] = ACTIONS(1170),
+    [anon_sym___inline__] = ACTIONS(1170),
+    [anon_sym___forceinline] = ACTIONS(1170),
+    [anon_sym_thread_local] = ACTIONS(1170),
+    [anon_sym___thread] = ACTIONS(1170),
+    [anon_sym_const] = ACTIONS(1170),
+    [anon_sym_constexpr] = ACTIONS(1170),
+    [anon_sym_volatile] = ACTIONS(1170),
+    [anon_sym_restrict] = ACTIONS(1170),
+    [anon_sym___restrict__] = ACTIONS(1170),
+    [anon_sym__Atomic] = ACTIONS(1170),
+    [anon_sym__Noreturn] = ACTIONS(1170),
+    [anon_sym_noreturn] = ACTIONS(1170),
+    [anon_sym__Nonnull] = ACTIONS(1170),
+    [anon_sym_alignas] = ACTIONS(1170),
+    [anon_sym__Alignas] = ACTIONS(1170),
+    [sym_primitive_type] = ACTIONS(1170),
+    [anon_sym_enum] = ACTIONS(1170),
+    [anon_sym_struct] = ACTIONS(1170),
+    [anon_sym_union] = ACTIONS(1170),
+    [anon_sym_if] = ACTIONS(1170),
+    [anon_sym_else] = ACTIONS(1170),
+    [anon_sym_switch] = ACTIONS(1170),
+    [anon_sym_case] = ACTIONS(1170),
+    [anon_sym_default] = ACTIONS(1170),
+    [anon_sym_while] = ACTIONS(1170),
+    [anon_sym_do] = ACTIONS(1170),
+    [anon_sym_for] = ACTIONS(1170),
+    [anon_sym_return] = ACTIONS(1170),
+    [anon_sym_break] = ACTIONS(1170),
+    [anon_sym_continue] = ACTIONS(1170),
+    [anon_sym_goto] = ACTIONS(1170),
+    [anon_sym___try] = ACTIONS(1170),
+    [anon_sym___leave] = ACTIONS(1170),
+    [anon_sym_DASH_DASH] = ACTIONS(1172),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1172),
+    [anon_sym_sizeof] = ACTIONS(1170),
+    [anon_sym___alignof__] = ACTIONS(1170),
+    [anon_sym___alignof] = ACTIONS(1170),
+    [anon_sym__alignof] = ACTIONS(1170),
+    [anon_sym_alignof] = ACTIONS(1170),
+    [anon_sym__Alignof] = ACTIONS(1170),
+    [anon_sym_offsetof] = ACTIONS(1170),
+    [anon_sym__Generic] = ACTIONS(1170),
+    [anon_sym_asm] = ACTIONS(1170),
+    [anon_sym___asm__] = ACTIONS(1170),
+    [anon_sym___asm] = ACTIONS(1170),
+    [sym_number_literal] = ACTIONS(1172),
+    [anon_sym_L_SQUOTE] = ACTIONS(1172),
+    [anon_sym_u_SQUOTE] = ACTIONS(1172),
+    [anon_sym_U_SQUOTE] = ACTIONS(1172),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1172),
+    [anon_sym_SQUOTE] = ACTIONS(1172),
+    [anon_sym_L_DQUOTE] = ACTIONS(1172),
+    [anon_sym_u_DQUOTE] = ACTIONS(1172),
+    [anon_sym_U_DQUOTE] = ACTIONS(1172),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1172),
+    [anon_sym_DQUOTE] = ACTIONS(1172),
+    [sym_true] = ACTIONS(1170),
+    [sym_false] = ACTIONS(1170),
+    [anon_sym_NULL] = ACTIONS(1170),
+    [anon_sym_nullptr] = ACTIONS(1170),
     [sym_comment] = ACTIONS(3),
   },
   [213] = {
-    [sym_identifier] = ACTIONS(1173),
-    [aux_sym_preproc_include_token1] = ACTIONS(1173),
-    [aux_sym_preproc_def_token1] = ACTIONS(1173),
-    [aux_sym_preproc_if_token1] = ACTIONS(1173),
-    [aux_sym_preproc_if_token2] = ACTIONS(1173),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1173),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1173),
-    [sym_preproc_directive] = ACTIONS(1173),
-    [anon_sym_LPAREN2] = ACTIONS(1175),
-    [anon_sym_BANG] = ACTIONS(1175),
-    [anon_sym_TILDE] = ACTIONS(1175),
-    [anon_sym_DASH] = ACTIONS(1173),
-    [anon_sym_PLUS] = ACTIONS(1173),
-    [anon_sym_STAR] = ACTIONS(1175),
-    [anon_sym_AMP] = ACTIONS(1175),
-    [anon_sym_SEMI] = ACTIONS(1175),
-    [anon_sym___extension__] = ACTIONS(1173),
-    [anon_sym_typedef] = ACTIONS(1173),
-    [anon_sym_extern] = ACTIONS(1173),
-    [anon_sym___attribute__] = ACTIONS(1173),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1175),
-    [anon_sym___declspec] = ACTIONS(1173),
-    [anon_sym___cdecl] = ACTIONS(1173),
-    [anon_sym___clrcall] = ACTIONS(1173),
-    [anon_sym___stdcall] = ACTIONS(1173),
-    [anon_sym___fastcall] = ACTIONS(1173),
-    [anon_sym___thiscall] = ACTIONS(1173),
-    [anon_sym___vectorcall] = ACTIONS(1173),
-    [anon_sym_LBRACE] = ACTIONS(1175),
-    [anon_sym_signed] = ACTIONS(1173),
-    [anon_sym_unsigned] = ACTIONS(1173),
-    [anon_sym_long] = ACTIONS(1173),
-    [anon_sym_short] = ACTIONS(1173),
-    [anon_sym_static] = ACTIONS(1173),
-    [anon_sym_auto] = ACTIONS(1173),
-    [anon_sym_register] = ACTIONS(1173),
-    [anon_sym_inline] = ACTIONS(1173),
-    [anon_sym___inline] = ACTIONS(1173),
-    [anon_sym___inline__] = ACTIONS(1173),
-    [anon_sym___forceinline] = ACTIONS(1173),
-    [anon_sym_thread_local] = ACTIONS(1173),
-    [anon_sym___thread] = ACTIONS(1173),
-    [anon_sym_const] = ACTIONS(1173),
-    [anon_sym_constexpr] = ACTIONS(1173),
-    [anon_sym_volatile] = ACTIONS(1173),
-    [anon_sym_restrict] = ACTIONS(1173),
-    [anon_sym___restrict__] = ACTIONS(1173),
-    [anon_sym__Atomic] = ACTIONS(1173),
-    [anon_sym__Noreturn] = ACTIONS(1173),
-    [anon_sym_noreturn] = ACTIONS(1173),
-    [anon_sym__Nonnull] = ACTIONS(1173),
-    [anon_sym_alignas] = ACTIONS(1173),
-    [anon_sym__Alignas] = ACTIONS(1173),
-    [sym_primitive_type] = ACTIONS(1173),
-    [anon_sym_enum] = ACTIONS(1173),
-    [anon_sym_struct] = ACTIONS(1173),
-    [anon_sym_union] = ACTIONS(1173),
-    [anon_sym_if] = ACTIONS(1173),
-    [anon_sym_else] = ACTIONS(1173),
-    [anon_sym_switch] = ACTIONS(1173),
-    [anon_sym_case] = ACTIONS(1173),
-    [anon_sym_default] = ACTIONS(1173),
-    [anon_sym_while] = ACTIONS(1173),
-    [anon_sym_do] = ACTIONS(1173),
-    [anon_sym_for] = ACTIONS(1173),
-    [anon_sym_return] = ACTIONS(1173),
-    [anon_sym_break] = ACTIONS(1173),
-    [anon_sym_continue] = ACTIONS(1173),
-    [anon_sym_goto] = ACTIONS(1173),
-    [anon_sym___try] = ACTIONS(1173),
-    [anon_sym___leave] = ACTIONS(1173),
-    [anon_sym_DASH_DASH] = ACTIONS(1175),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1175),
-    [anon_sym_sizeof] = ACTIONS(1173),
-    [anon_sym___alignof__] = ACTIONS(1173),
-    [anon_sym___alignof] = ACTIONS(1173),
-    [anon_sym__alignof] = ACTIONS(1173),
-    [anon_sym_alignof] = ACTIONS(1173),
-    [anon_sym__Alignof] = ACTIONS(1173),
-    [anon_sym_offsetof] = ACTIONS(1173),
-    [anon_sym__Generic] = ACTIONS(1173),
-    [anon_sym_asm] = ACTIONS(1173),
-    [anon_sym___asm__] = ACTIONS(1173),
-    [anon_sym___asm] = ACTIONS(1173),
-    [sym_number_literal] = ACTIONS(1175),
-    [anon_sym_L_SQUOTE] = ACTIONS(1175),
-    [anon_sym_u_SQUOTE] = ACTIONS(1175),
-    [anon_sym_U_SQUOTE] = ACTIONS(1175),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1175),
-    [anon_sym_SQUOTE] = ACTIONS(1175),
-    [anon_sym_L_DQUOTE] = ACTIONS(1175),
-    [anon_sym_u_DQUOTE] = ACTIONS(1175),
-    [anon_sym_U_DQUOTE] = ACTIONS(1175),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1175),
-    [anon_sym_DQUOTE] = ACTIONS(1175),
-    [sym_true] = ACTIONS(1173),
-    [sym_false] = ACTIONS(1173),
-    [anon_sym_NULL] = ACTIONS(1173),
-    [anon_sym_nullptr] = ACTIONS(1173),
+    [sym_identifier] = ACTIONS(1170),
+    [aux_sym_preproc_include_token1] = ACTIONS(1170),
+    [aux_sym_preproc_def_token1] = ACTIONS(1170),
+    [aux_sym_preproc_if_token1] = ACTIONS(1170),
+    [aux_sym_preproc_if_token2] = ACTIONS(1170),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1170),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1170),
+    [sym_preproc_directive] = ACTIONS(1170),
+    [anon_sym_LPAREN2] = ACTIONS(1172),
+    [anon_sym_BANG] = ACTIONS(1172),
+    [anon_sym_TILDE] = ACTIONS(1172),
+    [anon_sym_DASH] = ACTIONS(1170),
+    [anon_sym_PLUS] = ACTIONS(1170),
+    [anon_sym_STAR] = ACTIONS(1172),
+    [anon_sym_AMP] = ACTIONS(1172),
+    [anon_sym_SEMI] = ACTIONS(1172),
+    [anon_sym___extension__] = ACTIONS(1170),
+    [anon_sym_typedef] = ACTIONS(1170),
+    [anon_sym_extern] = ACTIONS(1170),
+    [anon_sym___attribute__] = ACTIONS(1170),
+    [anon_sym___attribute] = ACTIONS(1170),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1172),
+    [anon_sym___declspec] = ACTIONS(1170),
+    [anon_sym___cdecl] = ACTIONS(1170),
+    [anon_sym___clrcall] = ACTIONS(1170),
+    [anon_sym___stdcall] = ACTIONS(1170),
+    [anon_sym___fastcall] = ACTIONS(1170),
+    [anon_sym___thiscall] = ACTIONS(1170),
+    [anon_sym___vectorcall] = ACTIONS(1170),
+    [anon_sym_LBRACE] = ACTIONS(1172),
+    [anon_sym_signed] = ACTIONS(1170),
+    [anon_sym_unsigned] = ACTIONS(1170),
+    [anon_sym_long] = ACTIONS(1170),
+    [anon_sym_short] = ACTIONS(1170),
+    [anon_sym_static] = ACTIONS(1170),
+    [anon_sym_auto] = ACTIONS(1170),
+    [anon_sym_register] = ACTIONS(1170),
+    [anon_sym_inline] = ACTIONS(1170),
+    [anon_sym___inline] = ACTIONS(1170),
+    [anon_sym___inline__] = ACTIONS(1170),
+    [anon_sym___forceinline] = ACTIONS(1170),
+    [anon_sym_thread_local] = ACTIONS(1170),
+    [anon_sym___thread] = ACTIONS(1170),
+    [anon_sym_const] = ACTIONS(1170),
+    [anon_sym_constexpr] = ACTIONS(1170),
+    [anon_sym_volatile] = ACTIONS(1170),
+    [anon_sym_restrict] = ACTIONS(1170),
+    [anon_sym___restrict__] = ACTIONS(1170),
+    [anon_sym__Atomic] = ACTIONS(1170),
+    [anon_sym__Noreturn] = ACTIONS(1170),
+    [anon_sym_noreturn] = ACTIONS(1170),
+    [anon_sym__Nonnull] = ACTIONS(1170),
+    [anon_sym_alignas] = ACTIONS(1170),
+    [anon_sym__Alignas] = ACTIONS(1170),
+    [sym_primitive_type] = ACTIONS(1170),
+    [anon_sym_enum] = ACTIONS(1170),
+    [anon_sym_struct] = ACTIONS(1170),
+    [anon_sym_union] = ACTIONS(1170),
+    [anon_sym_if] = ACTIONS(1170),
+    [anon_sym_else] = ACTIONS(1170),
+    [anon_sym_switch] = ACTIONS(1170),
+    [anon_sym_case] = ACTIONS(1170),
+    [anon_sym_default] = ACTIONS(1170),
+    [anon_sym_while] = ACTIONS(1170),
+    [anon_sym_do] = ACTIONS(1170),
+    [anon_sym_for] = ACTIONS(1170),
+    [anon_sym_return] = ACTIONS(1170),
+    [anon_sym_break] = ACTIONS(1170),
+    [anon_sym_continue] = ACTIONS(1170),
+    [anon_sym_goto] = ACTIONS(1170),
+    [anon_sym___try] = ACTIONS(1170),
+    [anon_sym___leave] = ACTIONS(1170),
+    [anon_sym_DASH_DASH] = ACTIONS(1172),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1172),
+    [anon_sym_sizeof] = ACTIONS(1170),
+    [anon_sym___alignof__] = ACTIONS(1170),
+    [anon_sym___alignof] = ACTIONS(1170),
+    [anon_sym__alignof] = ACTIONS(1170),
+    [anon_sym_alignof] = ACTIONS(1170),
+    [anon_sym__Alignof] = ACTIONS(1170),
+    [anon_sym_offsetof] = ACTIONS(1170),
+    [anon_sym__Generic] = ACTIONS(1170),
+    [anon_sym_asm] = ACTIONS(1170),
+    [anon_sym___asm__] = ACTIONS(1170),
+    [anon_sym___asm] = ACTIONS(1170),
+    [sym_number_literal] = ACTIONS(1172),
+    [anon_sym_L_SQUOTE] = ACTIONS(1172),
+    [anon_sym_u_SQUOTE] = ACTIONS(1172),
+    [anon_sym_U_SQUOTE] = ACTIONS(1172),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1172),
+    [anon_sym_SQUOTE] = ACTIONS(1172),
+    [anon_sym_L_DQUOTE] = ACTIONS(1172),
+    [anon_sym_u_DQUOTE] = ACTIONS(1172),
+    [anon_sym_U_DQUOTE] = ACTIONS(1172),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1172),
+    [anon_sym_DQUOTE] = ACTIONS(1172),
+    [sym_true] = ACTIONS(1170),
+    [sym_false] = ACTIONS(1170),
+    [anon_sym_NULL] = ACTIONS(1170),
+    [anon_sym_nullptr] = ACTIONS(1170),
     [sym_comment] = ACTIONS(3),
   },
   [214] = {
-    [sym_identifier] = ACTIONS(1221),
-    [aux_sym_preproc_include_token1] = ACTIONS(1221),
-    [aux_sym_preproc_def_token1] = ACTIONS(1221),
-    [aux_sym_preproc_if_token1] = ACTIONS(1221),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1221),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1221),
-    [sym_preproc_directive] = ACTIONS(1221),
-    [anon_sym_LPAREN2] = ACTIONS(1223),
-    [anon_sym_BANG] = ACTIONS(1223),
-    [anon_sym_TILDE] = ACTIONS(1223),
-    [anon_sym_DASH] = ACTIONS(1221),
-    [anon_sym_PLUS] = ACTIONS(1221),
-    [anon_sym_STAR] = ACTIONS(1223),
-    [anon_sym_AMP] = ACTIONS(1223),
-    [anon_sym_SEMI] = ACTIONS(1223),
-    [anon_sym___extension__] = ACTIONS(1221),
-    [anon_sym_typedef] = ACTIONS(1221),
-    [anon_sym_extern] = ACTIONS(1221),
-    [anon_sym___attribute__] = ACTIONS(1221),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1223),
-    [anon_sym___declspec] = ACTIONS(1221),
-    [anon_sym___cdecl] = ACTIONS(1221),
-    [anon_sym___clrcall] = ACTIONS(1221),
-    [anon_sym___stdcall] = ACTIONS(1221),
-    [anon_sym___fastcall] = ACTIONS(1221),
-    [anon_sym___thiscall] = ACTIONS(1221),
-    [anon_sym___vectorcall] = ACTIONS(1221),
-    [anon_sym_LBRACE] = ACTIONS(1223),
-    [anon_sym_RBRACE] = ACTIONS(1223),
-    [anon_sym_signed] = ACTIONS(1221),
-    [anon_sym_unsigned] = ACTIONS(1221),
-    [anon_sym_long] = ACTIONS(1221),
-    [anon_sym_short] = ACTIONS(1221),
-    [anon_sym_static] = ACTIONS(1221),
-    [anon_sym_auto] = ACTIONS(1221),
-    [anon_sym_register] = ACTIONS(1221),
-    [anon_sym_inline] = ACTIONS(1221),
-    [anon_sym___inline] = ACTIONS(1221),
-    [anon_sym___inline__] = ACTIONS(1221),
-    [anon_sym___forceinline] = ACTIONS(1221),
-    [anon_sym_thread_local] = ACTIONS(1221),
-    [anon_sym___thread] = ACTIONS(1221),
-    [anon_sym_const] = ACTIONS(1221),
-    [anon_sym_constexpr] = ACTIONS(1221),
-    [anon_sym_volatile] = ACTIONS(1221),
-    [anon_sym_restrict] = ACTIONS(1221),
-    [anon_sym___restrict__] = ACTIONS(1221),
-    [anon_sym__Atomic] = ACTIONS(1221),
-    [anon_sym__Noreturn] = ACTIONS(1221),
-    [anon_sym_noreturn] = ACTIONS(1221),
-    [anon_sym__Nonnull] = ACTIONS(1221),
-    [anon_sym_alignas] = ACTIONS(1221),
-    [anon_sym__Alignas] = ACTIONS(1221),
-    [sym_primitive_type] = ACTIONS(1221),
-    [anon_sym_enum] = ACTIONS(1221),
-    [anon_sym_struct] = ACTIONS(1221),
-    [anon_sym_union] = ACTIONS(1221),
-    [anon_sym_if] = ACTIONS(1221),
-    [anon_sym_else] = ACTIONS(1221),
-    [anon_sym_switch] = ACTIONS(1221),
-    [anon_sym_case] = ACTIONS(1221),
-    [anon_sym_default] = ACTIONS(1221),
-    [anon_sym_while] = ACTIONS(1221),
-    [anon_sym_do] = ACTIONS(1221),
-    [anon_sym_for] = ACTIONS(1221),
-    [anon_sym_return] = ACTIONS(1221),
-    [anon_sym_break] = ACTIONS(1221),
-    [anon_sym_continue] = ACTIONS(1221),
-    [anon_sym_goto] = ACTIONS(1221),
-    [anon_sym___try] = ACTIONS(1221),
-    [anon_sym___leave] = ACTIONS(1221),
-    [anon_sym_DASH_DASH] = ACTIONS(1223),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
-    [anon_sym_sizeof] = ACTIONS(1221),
-    [anon_sym___alignof__] = ACTIONS(1221),
-    [anon_sym___alignof] = ACTIONS(1221),
-    [anon_sym__alignof] = ACTIONS(1221),
-    [anon_sym_alignof] = ACTIONS(1221),
-    [anon_sym__Alignof] = ACTIONS(1221),
-    [anon_sym_offsetof] = ACTIONS(1221),
-    [anon_sym__Generic] = ACTIONS(1221),
-    [anon_sym_asm] = ACTIONS(1221),
-    [anon_sym___asm__] = ACTIONS(1221),
-    [anon_sym___asm] = ACTIONS(1221),
-    [sym_number_literal] = ACTIONS(1223),
-    [anon_sym_L_SQUOTE] = ACTIONS(1223),
-    [anon_sym_u_SQUOTE] = ACTIONS(1223),
-    [anon_sym_U_SQUOTE] = ACTIONS(1223),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1223),
-    [anon_sym_SQUOTE] = ACTIONS(1223),
-    [anon_sym_L_DQUOTE] = ACTIONS(1223),
-    [anon_sym_u_DQUOTE] = ACTIONS(1223),
-    [anon_sym_U_DQUOTE] = ACTIONS(1223),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1223),
-    [anon_sym_DQUOTE] = ACTIONS(1223),
-    [sym_true] = ACTIONS(1221),
-    [sym_false] = ACTIONS(1221),
-    [anon_sym_NULL] = ACTIONS(1221),
-    [anon_sym_nullptr] = ACTIONS(1221),
+    [sym_identifier] = ACTIONS(1174),
+    [aux_sym_preproc_include_token1] = ACTIONS(1174),
+    [aux_sym_preproc_def_token1] = ACTIONS(1174),
+    [aux_sym_preproc_if_token1] = ACTIONS(1174),
+    [aux_sym_preproc_if_token2] = ACTIONS(1174),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1174),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1174),
+    [sym_preproc_directive] = ACTIONS(1174),
+    [anon_sym_LPAREN2] = ACTIONS(1176),
+    [anon_sym_BANG] = ACTIONS(1176),
+    [anon_sym_TILDE] = ACTIONS(1176),
+    [anon_sym_DASH] = ACTIONS(1174),
+    [anon_sym_PLUS] = ACTIONS(1174),
+    [anon_sym_STAR] = ACTIONS(1176),
+    [anon_sym_AMP] = ACTIONS(1176),
+    [anon_sym_SEMI] = ACTIONS(1176),
+    [anon_sym___extension__] = ACTIONS(1174),
+    [anon_sym_typedef] = ACTIONS(1174),
+    [anon_sym_extern] = ACTIONS(1174),
+    [anon_sym___attribute__] = ACTIONS(1174),
+    [anon_sym___attribute] = ACTIONS(1174),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1176),
+    [anon_sym___declspec] = ACTIONS(1174),
+    [anon_sym___cdecl] = ACTIONS(1174),
+    [anon_sym___clrcall] = ACTIONS(1174),
+    [anon_sym___stdcall] = ACTIONS(1174),
+    [anon_sym___fastcall] = ACTIONS(1174),
+    [anon_sym___thiscall] = ACTIONS(1174),
+    [anon_sym___vectorcall] = ACTIONS(1174),
+    [anon_sym_LBRACE] = ACTIONS(1176),
+    [anon_sym_signed] = ACTIONS(1174),
+    [anon_sym_unsigned] = ACTIONS(1174),
+    [anon_sym_long] = ACTIONS(1174),
+    [anon_sym_short] = ACTIONS(1174),
+    [anon_sym_static] = ACTIONS(1174),
+    [anon_sym_auto] = ACTIONS(1174),
+    [anon_sym_register] = ACTIONS(1174),
+    [anon_sym_inline] = ACTIONS(1174),
+    [anon_sym___inline] = ACTIONS(1174),
+    [anon_sym___inline__] = ACTIONS(1174),
+    [anon_sym___forceinline] = ACTIONS(1174),
+    [anon_sym_thread_local] = ACTIONS(1174),
+    [anon_sym___thread] = ACTIONS(1174),
+    [anon_sym_const] = ACTIONS(1174),
+    [anon_sym_constexpr] = ACTIONS(1174),
+    [anon_sym_volatile] = ACTIONS(1174),
+    [anon_sym_restrict] = ACTIONS(1174),
+    [anon_sym___restrict__] = ACTIONS(1174),
+    [anon_sym__Atomic] = ACTIONS(1174),
+    [anon_sym__Noreturn] = ACTIONS(1174),
+    [anon_sym_noreturn] = ACTIONS(1174),
+    [anon_sym__Nonnull] = ACTIONS(1174),
+    [anon_sym_alignas] = ACTIONS(1174),
+    [anon_sym__Alignas] = ACTIONS(1174),
+    [sym_primitive_type] = ACTIONS(1174),
+    [anon_sym_enum] = ACTIONS(1174),
+    [anon_sym_struct] = ACTIONS(1174),
+    [anon_sym_union] = ACTIONS(1174),
+    [anon_sym_if] = ACTIONS(1174),
+    [anon_sym_else] = ACTIONS(1174),
+    [anon_sym_switch] = ACTIONS(1174),
+    [anon_sym_case] = ACTIONS(1174),
+    [anon_sym_default] = ACTIONS(1174),
+    [anon_sym_while] = ACTIONS(1174),
+    [anon_sym_do] = ACTIONS(1174),
+    [anon_sym_for] = ACTIONS(1174),
+    [anon_sym_return] = ACTIONS(1174),
+    [anon_sym_break] = ACTIONS(1174),
+    [anon_sym_continue] = ACTIONS(1174),
+    [anon_sym_goto] = ACTIONS(1174),
+    [anon_sym___try] = ACTIONS(1174),
+    [anon_sym___leave] = ACTIONS(1174),
+    [anon_sym_DASH_DASH] = ACTIONS(1176),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1176),
+    [anon_sym_sizeof] = ACTIONS(1174),
+    [anon_sym___alignof__] = ACTIONS(1174),
+    [anon_sym___alignof] = ACTIONS(1174),
+    [anon_sym__alignof] = ACTIONS(1174),
+    [anon_sym_alignof] = ACTIONS(1174),
+    [anon_sym__Alignof] = ACTIONS(1174),
+    [anon_sym_offsetof] = ACTIONS(1174),
+    [anon_sym__Generic] = ACTIONS(1174),
+    [anon_sym_asm] = ACTIONS(1174),
+    [anon_sym___asm__] = ACTIONS(1174),
+    [anon_sym___asm] = ACTIONS(1174),
+    [sym_number_literal] = ACTIONS(1176),
+    [anon_sym_L_SQUOTE] = ACTIONS(1176),
+    [anon_sym_u_SQUOTE] = ACTIONS(1176),
+    [anon_sym_U_SQUOTE] = ACTIONS(1176),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1176),
+    [anon_sym_SQUOTE] = ACTIONS(1176),
+    [anon_sym_L_DQUOTE] = ACTIONS(1176),
+    [anon_sym_u_DQUOTE] = ACTIONS(1176),
+    [anon_sym_U_DQUOTE] = ACTIONS(1176),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1176),
+    [anon_sym_DQUOTE] = ACTIONS(1176),
+    [sym_true] = ACTIONS(1174),
+    [sym_false] = ACTIONS(1174),
+    [anon_sym_NULL] = ACTIONS(1174),
+    [anon_sym_nullptr] = ACTIONS(1174),
     [sym_comment] = ACTIONS(3),
   },
   [215] = {
-    [sym_identifier] = ACTIONS(1177),
-    [aux_sym_preproc_include_token1] = ACTIONS(1177),
-    [aux_sym_preproc_def_token1] = ACTIONS(1177),
-    [aux_sym_preproc_if_token1] = ACTIONS(1177),
-    [aux_sym_preproc_if_token2] = ACTIONS(1177),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1177),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1177),
-    [sym_preproc_directive] = ACTIONS(1177),
-    [anon_sym_LPAREN2] = ACTIONS(1179),
-    [anon_sym_BANG] = ACTIONS(1179),
-    [anon_sym_TILDE] = ACTIONS(1179),
-    [anon_sym_DASH] = ACTIONS(1177),
-    [anon_sym_PLUS] = ACTIONS(1177),
-    [anon_sym_STAR] = ACTIONS(1179),
-    [anon_sym_AMP] = ACTIONS(1179),
-    [anon_sym_SEMI] = ACTIONS(1179),
-    [anon_sym___extension__] = ACTIONS(1177),
-    [anon_sym_typedef] = ACTIONS(1177),
-    [anon_sym_extern] = ACTIONS(1177),
-    [anon_sym___attribute__] = ACTIONS(1177),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1179),
-    [anon_sym___declspec] = ACTIONS(1177),
-    [anon_sym___cdecl] = ACTIONS(1177),
-    [anon_sym___clrcall] = ACTIONS(1177),
-    [anon_sym___stdcall] = ACTIONS(1177),
-    [anon_sym___fastcall] = ACTIONS(1177),
-    [anon_sym___thiscall] = ACTIONS(1177),
-    [anon_sym___vectorcall] = ACTIONS(1177),
-    [anon_sym_LBRACE] = ACTIONS(1179),
-    [anon_sym_signed] = ACTIONS(1177),
-    [anon_sym_unsigned] = ACTIONS(1177),
-    [anon_sym_long] = ACTIONS(1177),
-    [anon_sym_short] = ACTIONS(1177),
-    [anon_sym_static] = ACTIONS(1177),
-    [anon_sym_auto] = ACTIONS(1177),
-    [anon_sym_register] = ACTIONS(1177),
-    [anon_sym_inline] = ACTIONS(1177),
-    [anon_sym___inline] = ACTIONS(1177),
-    [anon_sym___inline__] = ACTIONS(1177),
-    [anon_sym___forceinline] = ACTIONS(1177),
-    [anon_sym_thread_local] = ACTIONS(1177),
-    [anon_sym___thread] = ACTIONS(1177),
-    [anon_sym_const] = ACTIONS(1177),
-    [anon_sym_constexpr] = ACTIONS(1177),
-    [anon_sym_volatile] = ACTIONS(1177),
-    [anon_sym_restrict] = ACTIONS(1177),
-    [anon_sym___restrict__] = ACTIONS(1177),
-    [anon_sym__Atomic] = ACTIONS(1177),
-    [anon_sym__Noreturn] = ACTIONS(1177),
-    [anon_sym_noreturn] = ACTIONS(1177),
-    [anon_sym__Nonnull] = ACTIONS(1177),
-    [anon_sym_alignas] = ACTIONS(1177),
-    [anon_sym__Alignas] = ACTIONS(1177),
-    [sym_primitive_type] = ACTIONS(1177),
-    [anon_sym_enum] = ACTIONS(1177),
-    [anon_sym_struct] = ACTIONS(1177),
-    [anon_sym_union] = ACTIONS(1177),
-    [anon_sym_if] = ACTIONS(1177),
-    [anon_sym_else] = ACTIONS(1177),
-    [anon_sym_switch] = ACTIONS(1177),
-    [anon_sym_case] = ACTIONS(1177),
-    [anon_sym_default] = ACTIONS(1177),
-    [anon_sym_while] = ACTIONS(1177),
-    [anon_sym_do] = ACTIONS(1177),
-    [anon_sym_for] = ACTIONS(1177),
-    [anon_sym_return] = ACTIONS(1177),
-    [anon_sym_break] = ACTIONS(1177),
-    [anon_sym_continue] = ACTIONS(1177),
-    [anon_sym_goto] = ACTIONS(1177),
-    [anon_sym___try] = ACTIONS(1177),
-    [anon_sym___leave] = ACTIONS(1177),
-    [anon_sym_DASH_DASH] = ACTIONS(1179),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1179),
-    [anon_sym_sizeof] = ACTIONS(1177),
-    [anon_sym___alignof__] = ACTIONS(1177),
-    [anon_sym___alignof] = ACTIONS(1177),
-    [anon_sym__alignof] = ACTIONS(1177),
-    [anon_sym_alignof] = ACTIONS(1177),
-    [anon_sym__Alignof] = ACTIONS(1177),
-    [anon_sym_offsetof] = ACTIONS(1177),
-    [anon_sym__Generic] = ACTIONS(1177),
-    [anon_sym_asm] = ACTIONS(1177),
-    [anon_sym___asm__] = ACTIONS(1177),
-    [anon_sym___asm] = ACTIONS(1177),
-    [sym_number_literal] = ACTIONS(1179),
-    [anon_sym_L_SQUOTE] = ACTIONS(1179),
-    [anon_sym_u_SQUOTE] = ACTIONS(1179),
-    [anon_sym_U_SQUOTE] = ACTIONS(1179),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1179),
-    [anon_sym_SQUOTE] = ACTIONS(1179),
-    [anon_sym_L_DQUOTE] = ACTIONS(1179),
-    [anon_sym_u_DQUOTE] = ACTIONS(1179),
-    [anon_sym_U_DQUOTE] = ACTIONS(1179),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1179),
-    [anon_sym_DQUOTE] = ACTIONS(1179),
-    [sym_true] = ACTIONS(1177),
-    [sym_false] = ACTIONS(1177),
-    [anon_sym_NULL] = ACTIONS(1177),
-    [anon_sym_nullptr] = ACTIONS(1177),
+    [sym_identifier] = ACTIONS(1174),
+    [aux_sym_preproc_include_token1] = ACTIONS(1174),
+    [aux_sym_preproc_def_token1] = ACTIONS(1174),
+    [aux_sym_preproc_if_token1] = ACTIONS(1174),
+    [aux_sym_preproc_if_token2] = ACTIONS(1174),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1174),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1174),
+    [sym_preproc_directive] = ACTIONS(1174),
+    [anon_sym_LPAREN2] = ACTIONS(1176),
+    [anon_sym_BANG] = ACTIONS(1176),
+    [anon_sym_TILDE] = ACTIONS(1176),
+    [anon_sym_DASH] = ACTIONS(1174),
+    [anon_sym_PLUS] = ACTIONS(1174),
+    [anon_sym_STAR] = ACTIONS(1176),
+    [anon_sym_AMP] = ACTIONS(1176),
+    [anon_sym_SEMI] = ACTIONS(1176),
+    [anon_sym___extension__] = ACTIONS(1174),
+    [anon_sym_typedef] = ACTIONS(1174),
+    [anon_sym_extern] = ACTIONS(1174),
+    [anon_sym___attribute__] = ACTIONS(1174),
+    [anon_sym___attribute] = ACTIONS(1174),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1176),
+    [anon_sym___declspec] = ACTIONS(1174),
+    [anon_sym___cdecl] = ACTIONS(1174),
+    [anon_sym___clrcall] = ACTIONS(1174),
+    [anon_sym___stdcall] = ACTIONS(1174),
+    [anon_sym___fastcall] = ACTIONS(1174),
+    [anon_sym___thiscall] = ACTIONS(1174),
+    [anon_sym___vectorcall] = ACTIONS(1174),
+    [anon_sym_LBRACE] = ACTIONS(1176),
+    [anon_sym_signed] = ACTIONS(1174),
+    [anon_sym_unsigned] = ACTIONS(1174),
+    [anon_sym_long] = ACTIONS(1174),
+    [anon_sym_short] = ACTIONS(1174),
+    [anon_sym_static] = ACTIONS(1174),
+    [anon_sym_auto] = ACTIONS(1174),
+    [anon_sym_register] = ACTIONS(1174),
+    [anon_sym_inline] = ACTIONS(1174),
+    [anon_sym___inline] = ACTIONS(1174),
+    [anon_sym___inline__] = ACTIONS(1174),
+    [anon_sym___forceinline] = ACTIONS(1174),
+    [anon_sym_thread_local] = ACTIONS(1174),
+    [anon_sym___thread] = ACTIONS(1174),
+    [anon_sym_const] = ACTIONS(1174),
+    [anon_sym_constexpr] = ACTIONS(1174),
+    [anon_sym_volatile] = ACTIONS(1174),
+    [anon_sym_restrict] = ACTIONS(1174),
+    [anon_sym___restrict__] = ACTIONS(1174),
+    [anon_sym__Atomic] = ACTIONS(1174),
+    [anon_sym__Noreturn] = ACTIONS(1174),
+    [anon_sym_noreturn] = ACTIONS(1174),
+    [anon_sym__Nonnull] = ACTIONS(1174),
+    [anon_sym_alignas] = ACTIONS(1174),
+    [anon_sym__Alignas] = ACTIONS(1174),
+    [sym_primitive_type] = ACTIONS(1174),
+    [anon_sym_enum] = ACTIONS(1174),
+    [anon_sym_struct] = ACTIONS(1174),
+    [anon_sym_union] = ACTIONS(1174),
+    [anon_sym_if] = ACTIONS(1174),
+    [anon_sym_else] = ACTIONS(1174),
+    [anon_sym_switch] = ACTIONS(1174),
+    [anon_sym_case] = ACTIONS(1174),
+    [anon_sym_default] = ACTIONS(1174),
+    [anon_sym_while] = ACTIONS(1174),
+    [anon_sym_do] = ACTIONS(1174),
+    [anon_sym_for] = ACTIONS(1174),
+    [anon_sym_return] = ACTIONS(1174),
+    [anon_sym_break] = ACTIONS(1174),
+    [anon_sym_continue] = ACTIONS(1174),
+    [anon_sym_goto] = ACTIONS(1174),
+    [anon_sym___try] = ACTIONS(1174),
+    [anon_sym___leave] = ACTIONS(1174),
+    [anon_sym_DASH_DASH] = ACTIONS(1176),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1176),
+    [anon_sym_sizeof] = ACTIONS(1174),
+    [anon_sym___alignof__] = ACTIONS(1174),
+    [anon_sym___alignof] = ACTIONS(1174),
+    [anon_sym__alignof] = ACTIONS(1174),
+    [anon_sym_alignof] = ACTIONS(1174),
+    [anon_sym__Alignof] = ACTIONS(1174),
+    [anon_sym_offsetof] = ACTIONS(1174),
+    [anon_sym__Generic] = ACTIONS(1174),
+    [anon_sym_asm] = ACTIONS(1174),
+    [anon_sym___asm__] = ACTIONS(1174),
+    [anon_sym___asm] = ACTIONS(1174),
+    [sym_number_literal] = ACTIONS(1176),
+    [anon_sym_L_SQUOTE] = ACTIONS(1176),
+    [anon_sym_u_SQUOTE] = ACTIONS(1176),
+    [anon_sym_U_SQUOTE] = ACTIONS(1176),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1176),
+    [anon_sym_SQUOTE] = ACTIONS(1176),
+    [anon_sym_L_DQUOTE] = ACTIONS(1176),
+    [anon_sym_u_DQUOTE] = ACTIONS(1176),
+    [anon_sym_U_DQUOTE] = ACTIONS(1176),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1176),
+    [anon_sym_DQUOTE] = ACTIONS(1176),
+    [sym_true] = ACTIONS(1174),
+    [sym_false] = ACTIONS(1174),
+    [anon_sym_NULL] = ACTIONS(1174),
+    [anon_sym_nullptr] = ACTIONS(1174),
     [sym_comment] = ACTIONS(3),
   },
   [216] = {
-    [sym_identifier] = ACTIONS(1181),
-    [aux_sym_preproc_include_token1] = ACTIONS(1181),
-    [aux_sym_preproc_def_token1] = ACTIONS(1181),
-    [aux_sym_preproc_if_token1] = ACTIONS(1181),
-    [aux_sym_preproc_if_token2] = ACTIONS(1181),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1181),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1181),
-    [sym_preproc_directive] = ACTIONS(1181),
-    [anon_sym_LPAREN2] = ACTIONS(1183),
-    [anon_sym_BANG] = ACTIONS(1183),
-    [anon_sym_TILDE] = ACTIONS(1183),
-    [anon_sym_DASH] = ACTIONS(1181),
-    [anon_sym_PLUS] = ACTIONS(1181),
-    [anon_sym_STAR] = ACTIONS(1183),
-    [anon_sym_AMP] = ACTIONS(1183),
-    [anon_sym_SEMI] = ACTIONS(1183),
-    [anon_sym___extension__] = ACTIONS(1181),
-    [anon_sym_typedef] = ACTIONS(1181),
-    [anon_sym_extern] = ACTIONS(1181),
-    [anon_sym___attribute__] = ACTIONS(1181),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1183),
-    [anon_sym___declspec] = ACTIONS(1181),
-    [anon_sym___cdecl] = ACTIONS(1181),
-    [anon_sym___clrcall] = ACTIONS(1181),
-    [anon_sym___stdcall] = ACTIONS(1181),
-    [anon_sym___fastcall] = ACTIONS(1181),
-    [anon_sym___thiscall] = ACTIONS(1181),
-    [anon_sym___vectorcall] = ACTIONS(1181),
-    [anon_sym_LBRACE] = ACTIONS(1183),
-    [anon_sym_signed] = ACTIONS(1181),
-    [anon_sym_unsigned] = ACTIONS(1181),
-    [anon_sym_long] = ACTIONS(1181),
-    [anon_sym_short] = ACTIONS(1181),
-    [anon_sym_static] = ACTIONS(1181),
-    [anon_sym_auto] = ACTIONS(1181),
-    [anon_sym_register] = ACTIONS(1181),
-    [anon_sym_inline] = ACTIONS(1181),
-    [anon_sym___inline] = ACTIONS(1181),
-    [anon_sym___inline__] = ACTIONS(1181),
-    [anon_sym___forceinline] = ACTIONS(1181),
-    [anon_sym_thread_local] = ACTIONS(1181),
-    [anon_sym___thread] = ACTIONS(1181),
-    [anon_sym_const] = ACTIONS(1181),
-    [anon_sym_constexpr] = ACTIONS(1181),
-    [anon_sym_volatile] = ACTIONS(1181),
-    [anon_sym_restrict] = ACTIONS(1181),
-    [anon_sym___restrict__] = ACTIONS(1181),
-    [anon_sym__Atomic] = ACTIONS(1181),
-    [anon_sym__Noreturn] = ACTIONS(1181),
-    [anon_sym_noreturn] = ACTIONS(1181),
-    [anon_sym__Nonnull] = ACTIONS(1181),
-    [anon_sym_alignas] = ACTIONS(1181),
-    [anon_sym__Alignas] = ACTIONS(1181),
-    [sym_primitive_type] = ACTIONS(1181),
-    [anon_sym_enum] = ACTIONS(1181),
-    [anon_sym_struct] = ACTIONS(1181),
-    [anon_sym_union] = ACTIONS(1181),
-    [anon_sym_if] = ACTIONS(1181),
-    [anon_sym_else] = ACTIONS(1181),
-    [anon_sym_switch] = ACTIONS(1181),
-    [anon_sym_case] = ACTIONS(1181),
-    [anon_sym_default] = ACTIONS(1181),
-    [anon_sym_while] = ACTIONS(1181),
-    [anon_sym_do] = ACTIONS(1181),
-    [anon_sym_for] = ACTIONS(1181),
-    [anon_sym_return] = ACTIONS(1181),
-    [anon_sym_break] = ACTIONS(1181),
-    [anon_sym_continue] = ACTIONS(1181),
-    [anon_sym_goto] = ACTIONS(1181),
-    [anon_sym___try] = ACTIONS(1181),
-    [anon_sym___leave] = ACTIONS(1181),
-    [anon_sym_DASH_DASH] = ACTIONS(1183),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1183),
-    [anon_sym_sizeof] = ACTIONS(1181),
-    [anon_sym___alignof__] = ACTIONS(1181),
-    [anon_sym___alignof] = ACTIONS(1181),
-    [anon_sym__alignof] = ACTIONS(1181),
-    [anon_sym_alignof] = ACTIONS(1181),
-    [anon_sym__Alignof] = ACTIONS(1181),
-    [anon_sym_offsetof] = ACTIONS(1181),
-    [anon_sym__Generic] = ACTIONS(1181),
-    [anon_sym_asm] = ACTIONS(1181),
-    [anon_sym___asm__] = ACTIONS(1181),
-    [anon_sym___asm] = ACTIONS(1181),
-    [sym_number_literal] = ACTIONS(1183),
-    [anon_sym_L_SQUOTE] = ACTIONS(1183),
-    [anon_sym_u_SQUOTE] = ACTIONS(1183),
-    [anon_sym_U_SQUOTE] = ACTIONS(1183),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1183),
-    [anon_sym_SQUOTE] = ACTIONS(1183),
-    [anon_sym_L_DQUOTE] = ACTIONS(1183),
-    [anon_sym_u_DQUOTE] = ACTIONS(1183),
-    [anon_sym_U_DQUOTE] = ACTIONS(1183),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1183),
-    [anon_sym_DQUOTE] = ACTIONS(1183),
-    [sym_true] = ACTIONS(1181),
-    [sym_false] = ACTIONS(1181),
-    [anon_sym_NULL] = ACTIONS(1181),
-    [anon_sym_nullptr] = ACTIONS(1181),
+    [sym_identifier] = ACTIONS(1198),
+    [aux_sym_preproc_include_token1] = ACTIONS(1198),
+    [aux_sym_preproc_def_token1] = ACTIONS(1198),
+    [aux_sym_preproc_if_token1] = ACTIONS(1198),
+    [aux_sym_preproc_if_token2] = ACTIONS(1198),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1198),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1198),
+    [sym_preproc_directive] = ACTIONS(1198),
+    [anon_sym_LPAREN2] = ACTIONS(1200),
+    [anon_sym_BANG] = ACTIONS(1200),
+    [anon_sym_TILDE] = ACTIONS(1200),
+    [anon_sym_DASH] = ACTIONS(1198),
+    [anon_sym_PLUS] = ACTIONS(1198),
+    [anon_sym_STAR] = ACTIONS(1200),
+    [anon_sym_AMP] = ACTIONS(1200),
+    [anon_sym_SEMI] = ACTIONS(1200),
+    [anon_sym___extension__] = ACTIONS(1198),
+    [anon_sym_typedef] = ACTIONS(1198),
+    [anon_sym_extern] = ACTIONS(1198),
+    [anon_sym___attribute__] = ACTIONS(1198),
+    [anon_sym___attribute] = ACTIONS(1198),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1200),
+    [anon_sym___declspec] = ACTIONS(1198),
+    [anon_sym___cdecl] = ACTIONS(1198),
+    [anon_sym___clrcall] = ACTIONS(1198),
+    [anon_sym___stdcall] = ACTIONS(1198),
+    [anon_sym___fastcall] = ACTIONS(1198),
+    [anon_sym___thiscall] = ACTIONS(1198),
+    [anon_sym___vectorcall] = ACTIONS(1198),
+    [anon_sym_LBRACE] = ACTIONS(1200),
+    [anon_sym_signed] = ACTIONS(1198),
+    [anon_sym_unsigned] = ACTIONS(1198),
+    [anon_sym_long] = ACTIONS(1198),
+    [anon_sym_short] = ACTIONS(1198),
+    [anon_sym_static] = ACTIONS(1198),
+    [anon_sym_auto] = ACTIONS(1198),
+    [anon_sym_register] = ACTIONS(1198),
+    [anon_sym_inline] = ACTIONS(1198),
+    [anon_sym___inline] = ACTIONS(1198),
+    [anon_sym___inline__] = ACTIONS(1198),
+    [anon_sym___forceinline] = ACTIONS(1198),
+    [anon_sym_thread_local] = ACTIONS(1198),
+    [anon_sym___thread] = ACTIONS(1198),
+    [anon_sym_const] = ACTIONS(1198),
+    [anon_sym_constexpr] = ACTIONS(1198),
+    [anon_sym_volatile] = ACTIONS(1198),
+    [anon_sym_restrict] = ACTIONS(1198),
+    [anon_sym___restrict__] = ACTIONS(1198),
+    [anon_sym__Atomic] = ACTIONS(1198),
+    [anon_sym__Noreturn] = ACTIONS(1198),
+    [anon_sym_noreturn] = ACTIONS(1198),
+    [anon_sym__Nonnull] = ACTIONS(1198),
+    [anon_sym_alignas] = ACTIONS(1198),
+    [anon_sym__Alignas] = ACTIONS(1198),
+    [sym_primitive_type] = ACTIONS(1198),
+    [anon_sym_enum] = ACTIONS(1198),
+    [anon_sym_struct] = ACTIONS(1198),
+    [anon_sym_union] = ACTIONS(1198),
+    [anon_sym_if] = ACTIONS(1198),
+    [anon_sym_else] = ACTIONS(1198),
+    [anon_sym_switch] = ACTIONS(1198),
+    [anon_sym_case] = ACTIONS(1198),
+    [anon_sym_default] = ACTIONS(1198),
+    [anon_sym_while] = ACTIONS(1198),
+    [anon_sym_do] = ACTIONS(1198),
+    [anon_sym_for] = ACTIONS(1198),
+    [anon_sym_return] = ACTIONS(1198),
+    [anon_sym_break] = ACTIONS(1198),
+    [anon_sym_continue] = ACTIONS(1198),
+    [anon_sym_goto] = ACTIONS(1198),
+    [anon_sym___try] = ACTIONS(1198),
+    [anon_sym___leave] = ACTIONS(1198),
+    [anon_sym_DASH_DASH] = ACTIONS(1200),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1200),
+    [anon_sym_sizeof] = ACTIONS(1198),
+    [anon_sym___alignof__] = ACTIONS(1198),
+    [anon_sym___alignof] = ACTIONS(1198),
+    [anon_sym__alignof] = ACTIONS(1198),
+    [anon_sym_alignof] = ACTIONS(1198),
+    [anon_sym__Alignof] = ACTIONS(1198),
+    [anon_sym_offsetof] = ACTIONS(1198),
+    [anon_sym__Generic] = ACTIONS(1198),
+    [anon_sym_asm] = ACTIONS(1198),
+    [anon_sym___asm__] = ACTIONS(1198),
+    [anon_sym___asm] = ACTIONS(1198),
+    [sym_number_literal] = ACTIONS(1200),
+    [anon_sym_L_SQUOTE] = ACTIONS(1200),
+    [anon_sym_u_SQUOTE] = ACTIONS(1200),
+    [anon_sym_U_SQUOTE] = ACTIONS(1200),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1200),
+    [anon_sym_SQUOTE] = ACTIONS(1200),
+    [anon_sym_L_DQUOTE] = ACTIONS(1200),
+    [anon_sym_u_DQUOTE] = ACTIONS(1200),
+    [anon_sym_U_DQUOTE] = ACTIONS(1200),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1200),
+    [anon_sym_DQUOTE] = ACTIONS(1200),
+    [sym_true] = ACTIONS(1198),
+    [sym_false] = ACTIONS(1198),
+    [anon_sym_NULL] = ACTIONS(1198),
+    [anon_sym_nullptr] = ACTIONS(1198),
     [sym_comment] = ACTIONS(3),
   },
   [217] = {
-    [sym_identifier] = ACTIONS(1185),
-    [aux_sym_preproc_include_token1] = ACTIONS(1185),
-    [aux_sym_preproc_def_token1] = ACTIONS(1185),
-    [aux_sym_preproc_if_token1] = ACTIONS(1185),
-    [aux_sym_preproc_if_token2] = ACTIONS(1185),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1185),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1185),
-    [sym_preproc_directive] = ACTIONS(1185),
-    [anon_sym_LPAREN2] = ACTIONS(1187),
-    [anon_sym_BANG] = ACTIONS(1187),
-    [anon_sym_TILDE] = ACTIONS(1187),
-    [anon_sym_DASH] = ACTIONS(1185),
-    [anon_sym_PLUS] = ACTIONS(1185),
-    [anon_sym_STAR] = ACTIONS(1187),
-    [anon_sym_AMP] = ACTIONS(1187),
-    [anon_sym_SEMI] = ACTIONS(1187),
-    [anon_sym___extension__] = ACTIONS(1185),
-    [anon_sym_typedef] = ACTIONS(1185),
-    [anon_sym_extern] = ACTIONS(1185),
-    [anon_sym___attribute__] = ACTIONS(1185),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1187),
-    [anon_sym___declspec] = ACTIONS(1185),
-    [anon_sym___cdecl] = ACTIONS(1185),
-    [anon_sym___clrcall] = ACTIONS(1185),
-    [anon_sym___stdcall] = ACTIONS(1185),
-    [anon_sym___fastcall] = ACTIONS(1185),
-    [anon_sym___thiscall] = ACTIONS(1185),
-    [anon_sym___vectorcall] = ACTIONS(1185),
-    [anon_sym_LBRACE] = ACTIONS(1187),
-    [anon_sym_signed] = ACTIONS(1185),
-    [anon_sym_unsigned] = ACTIONS(1185),
-    [anon_sym_long] = ACTIONS(1185),
-    [anon_sym_short] = ACTIONS(1185),
-    [anon_sym_static] = ACTIONS(1185),
-    [anon_sym_auto] = ACTIONS(1185),
-    [anon_sym_register] = ACTIONS(1185),
-    [anon_sym_inline] = ACTIONS(1185),
-    [anon_sym___inline] = ACTIONS(1185),
-    [anon_sym___inline__] = ACTIONS(1185),
-    [anon_sym___forceinline] = ACTIONS(1185),
-    [anon_sym_thread_local] = ACTIONS(1185),
-    [anon_sym___thread] = ACTIONS(1185),
-    [anon_sym_const] = ACTIONS(1185),
-    [anon_sym_constexpr] = ACTIONS(1185),
-    [anon_sym_volatile] = ACTIONS(1185),
-    [anon_sym_restrict] = ACTIONS(1185),
-    [anon_sym___restrict__] = ACTIONS(1185),
-    [anon_sym__Atomic] = ACTIONS(1185),
-    [anon_sym__Noreturn] = ACTIONS(1185),
-    [anon_sym_noreturn] = ACTIONS(1185),
-    [anon_sym__Nonnull] = ACTIONS(1185),
-    [anon_sym_alignas] = ACTIONS(1185),
-    [anon_sym__Alignas] = ACTIONS(1185),
-    [sym_primitive_type] = ACTIONS(1185),
-    [anon_sym_enum] = ACTIONS(1185),
-    [anon_sym_struct] = ACTIONS(1185),
-    [anon_sym_union] = ACTIONS(1185),
-    [anon_sym_if] = ACTIONS(1185),
-    [anon_sym_else] = ACTIONS(1185),
-    [anon_sym_switch] = ACTIONS(1185),
-    [anon_sym_case] = ACTIONS(1185),
-    [anon_sym_default] = ACTIONS(1185),
-    [anon_sym_while] = ACTIONS(1185),
-    [anon_sym_do] = ACTIONS(1185),
-    [anon_sym_for] = ACTIONS(1185),
-    [anon_sym_return] = ACTIONS(1185),
-    [anon_sym_break] = ACTIONS(1185),
-    [anon_sym_continue] = ACTIONS(1185),
-    [anon_sym_goto] = ACTIONS(1185),
-    [anon_sym___try] = ACTIONS(1185),
-    [anon_sym___leave] = ACTIONS(1185),
-    [anon_sym_DASH_DASH] = ACTIONS(1187),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1187),
-    [anon_sym_sizeof] = ACTIONS(1185),
-    [anon_sym___alignof__] = ACTIONS(1185),
-    [anon_sym___alignof] = ACTIONS(1185),
-    [anon_sym__alignof] = ACTIONS(1185),
-    [anon_sym_alignof] = ACTIONS(1185),
-    [anon_sym__Alignof] = ACTIONS(1185),
-    [anon_sym_offsetof] = ACTIONS(1185),
-    [anon_sym__Generic] = ACTIONS(1185),
-    [anon_sym_asm] = ACTIONS(1185),
-    [anon_sym___asm__] = ACTIONS(1185),
-    [anon_sym___asm] = ACTIONS(1185),
-    [sym_number_literal] = ACTIONS(1187),
-    [anon_sym_L_SQUOTE] = ACTIONS(1187),
-    [anon_sym_u_SQUOTE] = ACTIONS(1187),
-    [anon_sym_U_SQUOTE] = ACTIONS(1187),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1187),
-    [anon_sym_SQUOTE] = ACTIONS(1187),
-    [anon_sym_L_DQUOTE] = ACTIONS(1187),
-    [anon_sym_u_DQUOTE] = ACTIONS(1187),
-    [anon_sym_U_DQUOTE] = ACTIONS(1187),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1187),
-    [anon_sym_DQUOTE] = ACTIONS(1187),
-    [sym_true] = ACTIONS(1185),
-    [sym_false] = ACTIONS(1185),
-    [anon_sym_NULL] = ACTIONS(1185),
-    [anon_sym_nullptr] = ACTIONS(1185),
+    [sym_identifier] = ACTIONS(1202),
+    [aux_sym_preproc_include_token1] = ACTIONS(1202),
+    [aux_sym_preproc_def_token1] = ACTIONS(1202),
+    [aux_sym_preproc_if_token1] = ACTIONS(1202),
+    [aux_sym_preproc_if_token2] = ACTIONS(1202),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1202),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1202),
+    [sym_preproc_directive] = ACTIONS(1202),
+    [anon_sym_LPAREN2] = ACTIONS(1204),
+    [anon_sym_BANG] = ACTIONS(1204),
+    [anon_sym_TILDE] = ACTIONS(1204),
+    [anon_sym_DASH] = ACTIONS(1202),
+    [anon_sym_PLUS] = ACTIONS(1202),
+    [anon_sym_STAR] = ACTIONS(1204),
+    [anon_sym_AMP] = ACTIONS(1204),
+    [anon_sym_SEMI] = ACTIONS(1204),
+    [anon_sym___extension__] = ACTIONS(1202),
+    [anon_sym_typedef] = ACTIONS(1202),
+    [anon_sym_extern] = ACTIONS(1202),
+    [anon_sym___attribute__] = ACTIONS(1202),
+    [anon_sym___attribute] = ACTIONS(1202),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1204),
+    [anon_sym___declspec] = ACTIONS(1202),
+    [anon_sym___cdecl] = ACTIONS(1202),
+    [anon_sym___clrcall] = ACTIONS(1202),
+    [anon_sym___stdcall] = ACTIONS(1202),
+    [anon_sym___fastcall] = ACTIONS(1202),
+    [anon_sym___thiscall] = ACTIONS(1202),
+    [anon_sym___vectorcall] = ACTIONS(1202),
+    [anon_sym_LBRACE] = ACTIONS(1204),
+    [anon_sym_signed] = ACTIONS(1202),
+    [anon_sym_unsigned] = ACTIONS(1202),
+    [anon_sym_long] = ACTIONS(1202),
+    [anon_sym_short] = ACTIONS(1202),
+    [anon_sym_static] = ACTIONS(1202),
+    [anon_sym_auto] = ACTIONS(1202),
+    [anon_sym_register] = ACTIONS(1202),
+    [anon_sym_inline] = ACTIONS(1202),
+    [anon_sym___inline] = ACTIONS(1202),
+    [anon_sym___inline__] = ACTIONS(1202),
+    [anon_sym___forceinline] = ACTIONS(1202),
+    [anon_sym_thread_local] = ACTIONS(1202),
+    [anon_sym___thread] = ACTIONS(1202),
+    [anon_sym_const] = ACTIONS(1202),
+    [anon_sym_constexpr] = ACTIONS(1202),
+    [anon_sym_volatile] = ACTIONS(1202),
+    [anon_sym_restrict] = ACTIONS(1202),
+    [anon_sym___restrict__] = ACTIONS(1202),
+    [anon_sym__Atomic] = ACTIONS(1202),
+    [anon_sym__Noreturn] = ACTIONS(1202),
+    [anon_sym_noreturn] = ACTIONS(1202),
+    [anon_sym__Nonnull] = ACTIONS(1202),
+    [anon_sym_alignas] = ACTIONS(1202),
+    [anon_sym__Alignas] = ACTIONS(1202),
+    [sym_primitive_type] = ACTIONS(1202),
+    [anon_sym_enum] = ACTIONS(1202),
+    [anon_sym_struct] = ACTIONS(1202),
+    [anon_sym_union] = ACTIONS(1202),
+    [anon_sym_if] = ACTIONS(1202),
+    [anon_sym_else] = ACTIONS(1202),
+    [anon_sym_switch] = ACTIONS(1202),
+    [anon_sym_case] = ACTIONS(1202),
+    [anon_sym_default] = ACTIONS(1202),
+    [anon_sym_while] = ACTIONS(1202),
+    [anon_sym_do] = ACTIONS(1202),
+    [anon_sym_for] = ACTIONS(1202),
+    [anon_sym_return] = ACTIONS(1202),
+    [anon_sym_break] = ACTIONS(1202),
+    [anon_sym_continue] = ACTIONS(1202),
+    [anon_sym_goto] = ACTIONS(1202),
+    [anon_sym___try] = ACTIONS(1202),
+    [anon_sym___leave] = ACTIONS(1202),
+    [anon_sym_DASH_DASH] = ACTIONS(1204),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1204),
+    [anon_sym_sizeof] = ACTIONS(1202),
+    [anon_sym___alignof__] = ACTIONS(1202),
+    [anon_sym___alignof] = ACTIONS(1202),
+    [anon_sym__alignof] = ACTIONS(1202),
+    [anon_sym_alignof] = ACTIONS(1202),
+    [anon_sym__Alignof] = ACTIONS(1202),
+    [anon_sym_offsetof] = ACTIONS(1202),
+    [anon_sym__Generic] = ACTIONS(1202),
+    [anon_sym_asm] = ACTIONS(1202),
+    [anon_sym___asm__] = ACTIONS(1202),
+    [anon_sym___asm] = ACTIONS(1202),
+    [sym_number_literal] = ACTIONS(1204),
+    [anon_sym_L_SQUOTE] = ACTIONS(1204),
+    [anon_sym_u_SQUOTE] = ACTIONS(1204),
+    [anon_sym_U_SQUOTE] = ACTIONS(1204),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1204),
+    [anon_sym_SQUOTE] = ACTIONS(1204),
+    [anon_sym_L_DQUOTE] = ACTIONS(1204),
+    [anon_sym_u_DQUOTE] = ACTIONS(1204),
+    [anon_sym_U_DQUOTE] = ACTIONS(1204),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1204),
+    [anon_sym_DQUOTE] = ACTIONS(1204),
+    [sym_true] = ACTIONS(1202),
+    [sym_false] = ACTIONS(1202),
+    [anon_sym_NULL] = ACTIONS(1202),
+    [anon_sym_nullptr] = ACTIONS(1202),
     [sym_comment] = ACTIONS(3),
   },
   [218] = {
-    [sym_identifier] = ACTIONS(1253),
-    [aux_sym_preproc_include_token1] = ACTIONS(1253),
-    [aux_sym_preproc_def_token1] = ACTIONS(1253),
-    [aux_sym_preproc_if_token1] = ACTIONS(1253),
-    [aux_sym_preproc_if_token2] = ACTIONS(1253),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1253),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1253),
-    [sym_preproc_directive] = ACTIONS(1253),
-    [anon_sym_LPAREN2] = ACTIONS(1255),
-    [anon_sym_BANG] = ACTIONS(1255),
-    [anon_sym_TILDE] = ACTIONS(1255),
-    [anon_sym_DASH] = ACTIONS(1253),
-    [anon_sym_PLUS] = ACTIONS(1253),
-    [anon_sym_STAR] = ACTIONS(1255),
-    [anon_sym_AMP] = ACTIONS(1255),
-    [anon_sym_SEMI] = ACTIONS(1255),
-    [anon_sym___extension__] = ACTIONS(1253),
-    [anon_sym_typedef] = ACTIONS(1253),
-    [anon_sym_extern] = ACTIONS(1253),
-    [anon_sym___attribute__] = ACTIONS(1253),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1255),
-    [anon_sym___declspec] = ACTIONS(1253),
-    [anon_sym___cdecl] = ACTIONS(1253),
-    [anon_sym___clrcall] = ACTIONS(1253),
-    [anon_sym___stdcall] = ACTIONS(1253),
-    [anon_sym___fastcall] = ACTIONS(1253),
-    [anon_sym___thiscall] = ACTIONS(1253),
-    [anon_sym___vectorcall] = ACTIONS(1253),
-    [anon_sym_LBRACE] = ACTIONS(1255),
-    [anon_sym_signed] = ACTIONS(1253),
-    [anon_sym_unsigned] = ACTIONS(1253),
-    [anon_sym_long] = ACTIONS(1253),
-    [anon_sym_short] = ACTIONS(1253),
-    [anon_sym_static] = ACTIONS(1253),
-    [anon_sym_auto] = ACTIONS(1253),
-    [anon_sym_register] = ACTIONS(1253),
-    [anon_sym_inline] = ACTIONS(1253),
-    [anon_sym___inline] = ACTIONS(1253),
-    [anon_sym___inline__] = ACTIONS(1253),
-    [anon_sym___forceinline] = ACTIONS(1253),
-    [anon_sym_thread_local] = ACTIONS(1253),
-    [anon_sym___thread] = ACTIONS(1253),
-    [anon_sym_const] = ACTIONS(1253),
-    [anon_sym_constexpr] = ACTIONS(1253),
-    [anon_sym_volatile] = ACTIONS(1253),
-    [anon_sym_restrict] = ACTIONS(1253),
-    [anon_sym___restrict__] = ACTIONS(1253),
-    [anon_sym__Atomic] = ACTIONS(1253),
-    [anon_sym__Noreturn] = ACTIONS(1253),
-    [anon_sym_noreturn] = ACTIONS(1253),
-    [anon_sym__Nonnull] = ACTIONS(1253),
-    [anon_sym_alignas] = ACTIONS(1253),
-    [anon_sym__Alignas] = ACTIONS(1253),
-    [sym_primitive_type] = ACTIONS(1253),
-    [anon_sym_enum] = ACTIONS(1253),
-    [anon_sym_struct] = ACTIONS(1253),
-    [anon_sym_union] = ACTIONS(1253),
-    [anon_sym_if] = ACTIONS(1253),
-    [anon_sym_else] = ACTIONS(1253),
-    [anon_sym_switch] = ACTIONS(1253),
-    [anon_sym_case] = ACTIONS(1253),
-    [anon_sym_default] = ACTIONS(1253),
-    [anon_sym_while] = ACTIONS(1253),
-    [anon_sym_do] = ACTIONS(1253),
-    [anon_sym_for] = ACTIONS(1253),
-    [anon_sym_return] = ACTIONS(1253),
-    [anon_sym_break] = ACTIONS(1253),
-    [anon_sym_continue] = ACTIONS(1253),
-    [anon_sym_goto] = ACTIONS(1253),
-    [anon_sym___try] = ACTIONS(1253),
-    [anon_sym___leave] = ACTIONS(1253),
-    [anon_sym_DASH_DASH] = ACTIONS(1255),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1255),
-    [anon_sym_sizeof] = ACTIONS(1253),
-    [anon_sym___alignof__] = ACTIONS(1253),
-    [anon_sym___alignof] = ACTIONS(1253),
-    [anon_sym__alignof] = ACTIONS(1253),
-    [anon_sym_alignof] = ACTIONS(1253),
-    [anon_sym__Alignof] = ACTIONS(1253),
-    [anon_sym_offsetof] = ACTIONS(1253),
-    [anon_sym__Generic] = ACTIONS(1253),
-    [anon_sym_asm] = ACTIONS(1253),
-    [anon_sym___asm__] = ACTIONS(1253),
-    [anon_sym___asm] = ACTIONS(1253),
-    [sym_number_literal] = ACTIONS(1255),
-    [anon_sym_L_SQUOTE] = ACTIONS(1255),
-    [anon_sym_u_SQUOTE] = ACTIONS(1255),
-    [anon_sym_U_SQUOTE] = ACTIONS(1255),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1255),
-    [anon_sym_SQUOTE] = ACTIONS(1255),
-    [anon_sym_L_DQUOTE] = ACTIONS(1255),
-    [anon_sym_u_DQUOTE] = ACTIONS(1255),
-    [anon_sym_U_DQUOTE] = ACTIONS(1255),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1255),
-    [anon_sym_DQUOTE] = ACTIONS(1255),
-    [sym_true] = ACTIONS(1253),
-    [sym_false] = ACTIONS(1253),
-    [anon_sym_NULL] = ACTIONS(1253),
-    [anon_sym_nullptr] = ACTIONS(1253),
+    [sym_identifier] = ACTIONS(1202),
+    [aux_sym_preproc_include_token1] = ACTIONS(1202),
+    [aux_sym_preproc_def_token1] = ACTIONS(1202),
+    [aux_sym_preproc_if_token1] = ACTIONS(1202),
+    [aux_sym_preproc_if_token2] = ACTIONS(1202),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1202),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1202),
+    [sym_preproc_directive] = ACTIONS(1202),
+    [anon_sym_LPAREN2] = ACTIONS(1204),
+    [anon_sym_BANG] = ACTIONS(1204),
+    [anon_sym_TILDE] = ACTIONS(1204),
+    [anon_sym_DASH] = ACTIONS(1202),
+    [anon_sym_PLUS] = ACTIONS(1202),
+    [anon_sym_STAR] = ACTIONS(1204),
+    [anon_sym_AMP] = ACTIONS(1204),
+    [anon_sym_SEMI] = ACTIONS(1204),
+    [anon_sym___extension__] = ACTIONS(1202),
+    [anon_sym_typedef] = ACTIONS(1202),
+    [anon_sym_extern] = ACTIONS(1202),
+    [anon_sym___attribute__] = ACTIONS(1202),
+    [anon_sym___attribute] = ACTIONS(1202),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1204),
+    [anon_sym___declspec] = ACTIONS(1202),
+    [anon_sym___cdecl] = ACTIONS(1202),
+    [anon_sym___clrcall] = ACTIONS(1202),
+    [anon_sym___stdcall] = ACTIONS(1202),
+    [anon_sym___fastcall] = ACTIONS(1202),
+    [anon_sym___thiscall] = ACTIONS(1202),
+    [anon_sym___vectorcall] = ACTIONS(1202),
+    [anon_sym_LBRACE] = ACTIONS(1204),
+    [anon_sym_signed] = ACTIONS(1202),
+    [anon_sym_unsigned] = ACTIONS(1202),
+    [anon_sym_long] = ACTIONS(1202),
+    [anon_sym_short] = ACTIONS(1202),
+    [anon_sym_static] = ACTIONS(1202),
+    [anon_sym_auto] = ACTIONS(1202),
+    [anon_sym_register] = ACTIONS(1202),
+    [anon_sym_inline] = ACTIONS(1202),
+    [anon_sym___inline] = ACTIONS(1202),
+    [anon_sym___inline__] = ACTIONS(1202),
+    [anon_sym___forceinline] = ACTIONS(1202),
+    [anon_sym_thread_local] = ACTIONS(1202),
+    [anon_sym___thread] = ACTIONS(1202),
+    [anon_sym_const] = ACTIONS(1202),
+    [anon_sym_constexpr] = ACTIONS(1202),
+    [anon_sym_volatile] = ACTIONS(1202),
+    [anon_sym_restrict] = ACTIONS(1202),
+    [anon_sym___restrict__] = ACTIONS(1202),
+    [anon_sym__Atomic] = ACTIONS(1202),
+    [anon_sym__Noreturn] = ACTIONS(1202),
+    [anon_sym_noreturn] = ACTIONS(1202),
+    [anon_sym__Nonnull] = ACTIONS(1202),
+    [anon_sym_alignas] = ACTIONS(1202),
+    [anon_sym__Alignas] = ACTIONS(1202),
+    [sym_primitive_type] = ACTIONS(1202),
+    [anon_sym_enum] = ACTIONS(1202),
+    [anon_sym_struct] = ACTIONS(1202),
+    [anon_sym_union] = ACTIONS(1202),
+    [anon_sym_if] = ACTIONS(1202),
+    [anon_sym_else] = ACTIONS(1202),
+    [anon_sym_switch] = ACTIONS(1202),
+    [anon_sym_case] = ACTIONS(1202),
+    [anon_sym_default] = ACTIONS(1202),
+    [anon_sym_while] = ACTIONS(1202),
+    [anon_sym_do] = ACTIONS(1202),
+    [anon_sym_for] = ACTIONS(1202),
+    [anon_sym_return] = ACTIONS(1202),
+    [anon_sym_break] = ACTIONS(1202),
+    [anon_sym_continue] = ACTIONS(1202),
+    [anon_sym_goto] = ACTIONS(1202),
+    [anon_sym___try] = ACTIONS(1202),
+    [anon_sym___leave] = ACTIONS(1202),
+    [anon_sym_DASH_DASH] = ACTIONS(1204),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1204),
+    [anon_sym_sizeof] = ACTIONS(1202),
+    [anon_sym___alignof__] = ACTIONS(1202),
+    [anon_sym___alignof] = ACTIONS(1202),
+    [anon_sym__alignof] = ACTIONS(1202),
+    [anon_sym_alignof] = ACTIONS(1202),
+    [anon_sym__Alignof] = ACTIONS(1202),
+    [anon_sym_offsetof] = ACTIONS(1202),
+    [anon_sym__Generic] = ACTIONS(1202),
+    [anon_sym_asm] = ACTIONS(1202),
+    [anon_sym___asm__] = ACTIONS(1202),
+    [anon_sym___asm] = ACTIONS(1202),
+    [sym_number_literal] = ACTIONS(1204),
+    [anon_sym_L_SQUOTE] = ACTIONS(1204),
+    [anon_sym_u_SQUOTE] = ACTIONS(1204),
+    [anon_sym_U_SQUOTE] = ACTIONS(1204),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1204),
+    [anon_sym_SQUOTE] = ACTIONS(1204),
+    [anon_sym_L_DQUOTE] = ACTIONS(1204),
+    [anon_sym_u_DQUOTE] = ACTIONS(1204),
+    [anon_sym_U_DQUOTE] = ACTIONS(1204),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1204),
+    [anon_sym_DQUOTE] = ACTIONS(1204),
+    [sym_true] = ACTIONS(1202),
+    [sym_false] = ACTIONS(1202),
+    [anon_sym_NULL] = ACTIONS(1202),
+    [anon_sym_nullptr] = ACTIONS(1202),
     [sym_comment] = ACTIONS(3),
   },
   [219] = {
-    [sym_identifier] = ACTIONS(1193),
-    [aux_sym_preproc_include_token1] = ACTIONS(1193),
-    [aux_sym_preproc_def_token1] = ACTIONS(1193),
-    [aux_sym_preproc_if_token1] = ACTIONS(1193),
-    [aux_sym_preproc_if_token2] = ACTIONS(1193),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1193),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1193),
-    [sym_preproc_directive] = ACTIONS(1193),
-    [anon_sym_LPAREN2] = ACTIONS(1195),
-    [anon_sym_BANG] = ACTIONS(1195),
-    [anon_sym_TILDE] = ACTIONS(1195),
-    [anon_sym_DASH] = ACTIONS(1193),
-    [anon_sym_PLUS] = ACTIONS(1193),
-    [anon_sym_STAR] = ACTIONS(1195),
-    [anon_sym_AMP] = ACTIONS(1195),
-    [anon_sym_SEMI] = ACTIONS(1195),
-    [anon_sym___extension__] = ACTIONS(1193),
-    [anon_sym_typedef] = ACTIONS(1193),
-    [anon_sym_extern] = ACTIONS(1193),
-    [anon_sym___attribute__] = ACTIONS(1193),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1195),
-    [anon_sym___declspec] = ACTIONS(1193),
-    [anon_sym___cdecl] = ACTIONS(1193),
-    [anon_sym___clrcall] = ACTIONS(1193),
-    [anon_sym___stdcall] = ACTIONS(1193),
-    [anon_sym___fastcall] = ACTIONS(1193),
-    [anon_sym___thiscall] = ACTIONS(1193),
-    [anon_sym___vectorcall] = ACTIONS(1193),
-    [anon_sym_LBRACE] = ACTIONS(1195),
-    [anon_sym_signed] = ACTIONS(1193),
-    [anon_sym_unsigned] = ACTIONS(1193),
-    [anon_sym_long] = ACTIONS(1193),
-    [anon_sym_short] = ACTIONS(1193),
-    [anon_sym_static] = ACTIONS(1193),
-    [anon_sym_auto] = ACTIONS(1193),
-    [anon_sym_register] = ACTIONS(1193),
-    [anon_sym_inline] = ACTIONS(1193),
-    [anon_sym___inline] = ACTIONS(1193),
-    [anon_sym___inline__] = ACTIONS(1193),
-    [anon_sym___forceinline] = ACTIONS(1193),
-    [anon_sym_thread_local] = ACTIONS(1193),
-    [anon_sym___thread] = ACTIONS(1193),
-    [anon_sym_const] = ACTIONS(1193),
-    [anon_sym_constexpr] = ACTIONS(1193),
-    [anon_sym_volatile] = ACTIONS(1193),
-    [anon_sym_restrict] = ACTIONS(1193),
-    [anon_sym___restrict__] = ACTIONS(1193),
-    [anon_sym__Atomic] = ACTIONS(1193),
-    [anon_sym__Noreturn] = ACTIONS(1193),
-    [anon_sym_noreturn] = ACTIONS(1193),
-    [anon_sym__Nonnull] = ACTIONS(1193),
-    [anon_sym_alignas] = ACTIONS(1193),
-    [anon_sym__Alignas] = ACTIONS(1193),
-    [sym_primitive_type] = ACTIONS(1193),
-    [anon_sym_enum] = ACTIONS(1193),
-    [anon_sym_struct] = ACTIONS(1193),
-    [anon_sym_union] = ACTIONS(1193),
-    [anon_sym_if] = ACTIONS(1193),
-    [anon_sym_else] = ACTIONS(1193),
-    [anon_sym_switch] = ACTIONS(1193),
-    [anon_sym_case] = ACTIONS(1193),
-    [anon_sym_default] = ACTIONS(1193),
-    [anon_sym_while] = ACTIONS(1193),
-    [anon_sym_do] = ACTIONS(1193),
-    [anon_sym_for] = ACTIONS(1193),
-    [anon_sym_return] = ACTIONS(1193),
-    [anon_sym_break] = ACTIONS(1193),
-    [anon_sym_continue] = ACTIONS(1193),
-    [anon_sym_goto] = ACTIONS(1193),
-    [anon_sym___try] = ACTIONS(1193),
-    [anon_sym___leave] = ACTIONS(1193),
-    [anon_sym_DASH_DASH] = ACTIONS(1195),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1195),
-    [anon_sym_sizeof] = ACTIONS(1193),
-    [anon_sym___alignof__] = ACTIONS(1193),
-    [anon_sym___alignof] = ACTIONS(1193),
-    [anon_sym__alignof] = ACTIONS(1193),
-    [anon_sym_alignof] = ACTIONS(1193),
-    [anon_sym__Alignof] = ACTIONS(1193),
-    [anon_sym_offsetof] = ACTIONS(1193),
-    [anon_sym__Generic] = ACTIONS(1193),
-    [anon_sym_asm] = ACTIONS(1193),
-    [anon_sym___asm__] = ACTIONS(1193),
-    [anon_sym___asm] = ACTIONS(1193),
-    [sym_number_literal] = ACTIONS(1195),
-    [anon_sym_L_SQUOTE] = ACTIONS(1195),
-    [anon_sym_u_SQUOTE] = ACTIONS(1195),
-    [anon_sym_U_SQUOTE] = ACTIONS(1195),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1195),
-    [anon_sym_SQUOTE] = ACTIONS(1195),
-    [anon_sym_L_DQUOTE] = ACTIONS(1195),
-    [anon_sym_u_DQUOTE] = ACTIONS(1195),
-    [anon_sym_U_DQUOTE] = ACTIONS(1195),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1195),
-    [anon_sym_DQUOTE] = ACTIONS(1195),
-    [sym_true] = ACTIONS(1193),
-    [sym_false] = ACTIONS(1193),
-    [anon_sym_NULL] = ACTIONS(1193),
-    [anon_sym_nullptr] = ACTIONS(1193),
+    [sym_identifier] = ACTIONS(1214),
+    [aux_sym_preproc_include_token1] = ACTIONS(1214),
+    [aux_sym_preproc_def_token1] = ACTIONS(1214),
+    [aux_sym_preproc_if_token1] = ACTIONS(1214),
+    [aux_sym_preproc_if_token2] = ACTIONS(1214),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1214),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1214),
+    [sym_preproc_directive] = ACTIONS(1214),
+    [anon_sym_LPAREN2] = ACTIONS(1216),
+    [anon_sym_BANG] = ACTIONS(1216),
+    [anon_sym_TILDE] = ACTIONS(1216),
+    [anon_sym_DASH] = ACTIONS(1214),
+    [anon_sym_PLUS] = ACTIONS(1214),
+    [anon_sym_STAR] = ACTIONS(1216),
+    [anon_sym_AMP] = ACTIONS(1216),
+    [anon_sym_SEMI] = ACTIONS(1216),
+    [anon_sym___extension__] = ACTIONS(1214),
+    [anon_sym_typedef] = ACTIONS(1214),
+    [anon_sym_extern] = ACTIONS(1214),
+    [anon_sym___attribute__] = ACTIONS(1214),
+    [anon_sym___attribute] = ACTIONS(1214),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1216),
+    [anon_sym___declspec] = ACTIONS(1214),
+    [anon_sym___cdecl] = ACTIONS(1214),
+    [anon_sym___clrcall] = ACTIONS(1214),
+    [anon_sym___stdcall] = ACTIONS(1214),
+    [anon_sym___fastcall] = ACTIONS(1214),
+    [anon_sym___thiscall] = ACTIONS(1214),
+    [anon_sym___vectorcall] = ACTIONS(1214),
+    [anon_sym_LBRACE] = ACTIONS(1216),
+    [anon_sym_signed] = ACTIONS(1214),
+    [anon_sym_unsigned] = ACTIONS(1214),
+    [anon_sym_long] = ACTIONS(1214),
+    [anon_sym_short] = ACTIONS(1214),
+    [anon_sym_static] = ACTIONS(1214),
+    [anon_sym_auto] = ACTIONS(1214),
+    [anon_sym_register] = ACTIONS(1214),
+    [anon_sym_inline] = ACTIONS(1214),
+    [anon_sym___inline] = ACTIONS(1214),
+    [anon_sym___inline__] = ACTIONS(1214),
+    [anon_sym___forceinline] = ACTIONS(1214),
+    [anon_sym_thread_local] = ACTIONS(1214),
+    [anon_sym___thread] = ACTIONS(1214),
+    [anon_sym_const] = ACTIONS(1214),
+    [anon_sym_constexpr] = ACTIONS(1214),
+    [anon_sym_volatile] = ACTIONS(1214),
+    [anon_sym_restrict] = ACTIONS(1214),
+    [anon_sym___restrict__] = ACTIONS(1214),
+    [anon_sym__Atomic] = ACTIONS(1214),
+    [anon_sym__Noreturn] = ACTIONS(1214),
+    [anon_sym_noreturn] = ACTIONS(1214),
+    [anon_sym__Nonnull] = ACTIONS(1214),
+    [anon_sym_alignas] = ACTIONS(1214),
+    [anon_sym__Alignas] = ACTIONS(1214),
+    [sym_primitive_type] = ACTIONS(1214),
+    [anon_sym_enum] = ACTIONS(1214),
+    [anon_sym_struct] = ACTIONS(1214),
+    [anon_sym_union] = ACTIONS(1214),
+    [anon_sym_if] = ACTIONS(1214),
+    [anon_sym_else] = ACTIONS(1214),
+    [anon_sym_switch] = ACTIONS(1214),
+    [anon_sym_case] = ACTIONS(1214),
+    [anon_sym_default] = ACTIONS(1214),
+    [anon_sym_while] = ACTIONS(1214),
+    [anon_sym_do] = ACTIONS(1214),
+    [anon_sym_for] = ACTIONS(1214),
+    [anon_sym_return] = ACTIONS(1214),
+    [anon_sym_break] = ACTIONS(1214),
+    [anon_sym_continue] = ACTIONS(1214),
+    [anon_sym_goto] = ACTIONS(1214),
+    [anon_sym___try] = ACTIONS(1214),
+    [anon_sym___leave] = ACTIONS(1214),
+    [anon_sym_DASH_DASH] = ACTIONS(1216),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1216),
+    [anon_sym_sizeof] = ACTIONS(1214),
+    [anon_sym___alignof__] = ACTIONS(1214),
+    [anon_sym___alignof] = ACTIONS(1214),
+    [anon_sym__alignof] = ACTIONS(1214),
+    [anon_sym_alignof] = ACTIONS(1214),
+    [anon_sym__Alignof] = ACTIONS(1214),
+    [anon_sym_offsetof] = ACTIONS(1214),
+    [anon_sym__Generic] = ACTIONS(1214),
+    [anon_sym_asm] = ACTIONS(1214),
+    [anon_sym___asm__] = ACTIONS(1214),
+    [anon_sym___asm] = ACTIONS(1214),
+    [sym_number_literal] = ACTIONS(1216),
+    [anon_sym_L_SQUOTE] = ACTIONS(1216),
+    [anon_sym_u_SQUOTE] = ACTIONS(1216),
+    [anon_sym_U_SQUOTE] = ACTIONS(1216),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1216),
+    [anon_sym_SQUOTE] = ACTIONS(1216),
+    [anon_sym_L_DQUOTE] = ACTIONS(1216),
+    [anon_sym_u_DQUOTE] = ACTIONS(1216),
+    [anon_sym_U_DQUOTE] = ACTIONS(1216),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1216),
+    [anon_sym_DQUOTE] = ACTIONS(1216),
+    [sym_true] = ACTIONS(1214),
+    [sym_false] = ACTIONS(1214),
+    [anon_sym_NULL] = ACTIONS(1214),
+    [anon_sym_nullptr] = ACTIONS(1214),
     [sym_comment] = ACTIONS(3),
   },
   [220] = {
-    [sym_identifier] = ACTIONS(1197),
-    [aux_sym_preproc_include_token1] = ACTIONS(1197),
-    [aux_sym_preproc_def_token1] = ACTIONS(1197),
-    [aux_sym_preproc_if_token1] = ACTIONS(1197),
-    [aux_sym_preproc_if_token2] = ACTIONS(1197),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1197),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1197),
-    [sym_preproc_directive] = ACTIONS(1197),
-    [anon_sym_LPAREN2] = ACTIONS(1199),
-    [anon_sym_BANG] = ACTIONS(1199),
-    [anon_sym_TILDE] = ACTIONS(1199),
-    [anon_sym_DASH] = ACTIONS(1197),
-    [anon_sym_PLUS] = ACTIONS(1197),
-    [anon_sym_STAR] = ACTIONS(1199),
-    [anon_sym_AMP] = ACTIONS(1199),
-    [anon_sym_SEMI] = ACTIONS(1199),
-    [anon_sym___extension__] = ACTIONS(1197),
-    [anon_sym_typedef] = ACTIONS(1197),
-    [anon_sym_extern] = ACTIONS(1197),
-    [anon_sym___attribute__] = ACTIONS(1197),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1199),
-    [anon_sym___declspec] = ACTIONS(1197),
-    [anon_sym___cdecl] = ACTIONS(1197),
-    [anon_sym___clrcall] = ACTIONS(1197),
-    [anon_sym___stdcall] = ACTIONS(1197),
-    [anon_sym___fastcall] = ACTIONS(1197),
-    [anon_sym___thiscall] = ACTIONS(1197),
-    [anon_sym___vectorcall] = ACTIONS(1197),
-    [anon_sym_LBRACE] = ACTIONS(1199),
-    [anon_sym_signed] = ACTIONS(1197),
-    [anon_sym_unsigned] = ACTIONS(1197),
-    [anon_sym_long] = ACTIONS(1197),
-    [anon_sym_short] = ACTIONS(1197),
-    [anon_sym_static] = ACTIONS(1197),
-    [anon_sym_auto] = ACTIONS(1197),
-    [anon_sym_register] = ACTIONS(1197),
-    [anon_sym_inline] = ACTIONS(1197),
-    [anon_sym___inline] = ACTIONS(1197),
-    [anon_sym___inline__] = ACTIONS(1197),
-    [anon_sym___forceinline] = ACTIONS(1197),
-    [anon_sym_thread_local] = ACTIONS(1197),
-    [anon_sym___thread] = ACTIONS(1197),
-    [anon_sym_const] = ACTIONS(1197),
-    [anon_sym_constexpr] = ACTIONS(1197),
-    [anon_sym_volatile] = ACTIONS(1197),
-    [anon_sym_restrict] = ACTIONS(1197),
-    [anon_sym___restrict__] = ACTIONS(1197),
-    [anon_sym__Atomic] = ACTIONS(1197),
-    [anon_sym__Noreturn] = ACTIONS(1197),
-    [anon_sym_noreturn] = ACTIONS(1197),
-    [anon_sym__Nonnull] = ACTIONS(1197),
-    [anon_sym_alignas] = ACTIONS(1197),
-    [anon_sym__Alignas] = ACTIONS(1197),
-    [sym_primitive_type] = ACTIONS(1197),
-    [anon_sym_enum] = ACTIONS(1197),
-    [anon_sym_struct] = ACTIONS(1197),
-    [anon_sym_union] = ACTIONS(1197),
-    [anon_sym_if] = ACTIONS(1197),
-    [anon_sym_else] = ACTIONS(1197),
-    [anon_sym_switch] = ACTIONS(1197),
-    [anon_sym_case] = ACTIONS(1197),
-    [anon_sym_default] = ACTIONS(1197),
-    [anon_sym_while] = ACTIONS(1197),
-    [anon_sym_do] = ACTIONS(1197),
-    [anon_sym_for] = ACTIONS(1197),
-    [anon_sym_return] = ACTIONS(1197),
-    [anon_sym_break] = ACTIONS(1197),
-    [anon_sym_continue] = ACTIONS(1197),
-    [anon_sym_goto] = ACTIONS(1197),
-    [anon_sym___try] = ACTIONS(1197),
-    [anon_sym___leave] = ACTIONS(1197),
-    [anon_sym_DASH_DASH] = ACTIONS(1199),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1199),
-    [anon_sym_sizeof] = ACTIONS(1197),
-    [anon_sym___alignof__] = ACTIONS(1197),
-    [anon_sym___alignof] = ACTIONS(1197),
-    [anon_sym__alignof] = ACTIONS(1197),
-    [anon_sym_alignof] = ACTIONS(1197),
-    [anon_sym__Alignof] = ACTIONS(1197),
-    [anon_sym_offsetof] = ACTIONS(1197),
-    [anon_sym__Generic] = ACTIONS(1197),
-    [anon_sym_asm] = ACTIONS(1197),
-    [anon_sym___asm__] = ACTIONS(1197),
-    [anon_sym___asm] = ACTIONS(1197),
-    [sym_number_literal] = ACTIONS(1199),
-    [anon_sym_L_SQUOTE] = ACTIONS(1199),
-    [anon_sym_u_SQUOTE] = ACTIONS(1199),
-    [anon_sym_U_SQUOTE] = ACTIONS(1199),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1199),
-    [anon_sym_SQUOTE] = ACTIONS(1199),
-    [anon_sym_L_DQUOTE] = ACTIONS(1199),
-    [anon_sym_u_DQUOTE] = ACTIONS(1199),
-    [anon_sym_U_DQUOTE] = ACTIONS(1199),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1199),
-    [anon_sym_DQUOTE] = ACTIONS(1199),
-    [sym_true] = ACTIONS(1197),
-    [sym_false] = ACTIONS(1197),
-    [anon_sym_NULL] = ACTIONS(1197),
-    [anon_sym_nullptr] = ACTIONS(1197),
+    [ts_builtin_sym_end] = ACTIONS(1256),
+    [sym_identifier] = ACTIONS(1254),
+    [aux_sym_preproc_include_token1] = ACTIONS(1254),
+    [aux_sym_preproc_def_token1] = ACTIONS(1254),
+    [aux_sym_preproc_if_token1] = ACTIONS(1254),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1254),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1254),
+    [sym_preproc_directive] = ACTIONS(1254),
+    [anon_sym_LPAREN2] = ACTIONS(1256),
+    [anon_sym_BANG] = ACTIONS(1256),
+    [anon_sym_TILDE] = ACTIONS(1256),
+    [anon_sym_DASH] = ACTIONS(1254),
+    [anon_sym_PLUS] = ACTIONS(1254),
+    [anon_sym_STAR] = ACTIONS(1256),
+    [anon_sym_AMP] = ACTIONS(1256),
+    [anon_sym_SEMI] = ACTIONS(1256),
+    [anon_sym___extension__] = ACTIONS(1254),
+    [anon_sym_typedef] = ACTIONS(1254),
+    [anon_sym_extern] = ACTIONS(1254),
+    [anon_sym___attribute__] = ACTIONS(1254),
+    [anon_sym___attribute] = ACTIONS(1254),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1256),
+    [anon_sym___declspec] = ACTIONS(1254),
+    [anon_sym___cdecl] = ACTIONS(1254),
+    [anon_sym___clrcall] = ACTIONS(1254),
+    [anon_sym___stdcall] = ACTIONS(1254),
+    [anon_sym___fastcall] = ACTIONS(1254),
+    [anon_sym___thiscall] = ACTIONS(1254),
+    [anon_sym___vectorcall] = ACTIONS(1254),
+    [anon_sym_LBRACE] = ACTIONS(1256),
+    [anon_sym_signed] = ACTIONS(1254),
+    [anon_sym_unsigned] = ACTIONS(1254),
+    [anon_sym_long] = ACTIONS(1254),
+    [anon_sym_short] = ACTIONS(1254),
+    [anon_sym_static] = ACTIONS(1254),
+    [anon_sym_auto] = ACTIONS(1254),
+    [anon_sym_register] = ACTIONS(1254),
+    [anon_sym_inline] = ACTIONS(1254),
+    [anon_sym___inline] = ACTIONS(1254),
+    [anon_sym___inline__] = ACTIONS(1254),
+    [anon_sym___forceinline] = ACTIONS(1254),
+    [anon_sym_thread_local] = ACTIONS(1254),
+    [anon_sym___thread] = ACTIONS(1254),
+    [anon_sym_const] = ACTIONS(1254),
+    [anon_sym_constexpr] = ACTIONS(1254),
+    [anon_sym_volatile] = ACTIONS(1254),
+    [anon_sym_restrict] = ACTIONS(1254),
+    [anon_sym___restrict__] = ACTIONS(1254),
+    [anon_sym__Atomic] = ACTIONS(1254),
+    [anon_sym__Noreturn] = ACTIONS(1254),
+    [anon_sym_noreturn] = ACTIONS(1254),
+    [anon_sym__Nonnull] = ACTIONS(1254),
+    [anon_sym_alignas] = ACTIONS(1254),
+    [anon_sym__Alignas] = ACTIONS(1254),
+    [sym_primitive_type] = ACTIONS(1254),
+    [anon_sym_enum] = ACTIONS(1254),
+    [anon_sym_struct] = ACTIONS(1254),
+    [anon_sym_union] = ACTIONS(1254),
+    [anon_sym_if] = ACTIONS(1254),
+    [anon_sym_else] = ACTIONS(1254),
+    [anon_sym_switch] = ACTIONS(1254),
+    [anon_sym_case] = ACTIONS(1254),
+    [anon_sym_default] = ACTIONS(1254),
+    [anon_sym_while] = ACTIONS(1254),
+    [anon_sym_do] = ACTIONS(1254),
+    [anon_sym_for] = ACTIONS(1254),
+    [anon_sym_return] = ACTIONS(1254),
+    [anon_sym_break] = ACTIONS(1254),
+    [anon_sym_continue] = ACTIONS(1254),
+    [anon_sym_goto] = ACTIONS(1254),
+    [anon_sym___try] = ACTIONS(1254),
+    [anon_sym___leave] = ACTIONS(1254),
+    [anon_sym_DASH_DASH] = ACTIONS(1256),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1256),
+    [anon_sym_sizeof] = ACTIONS(1254),
+    [anon_sym___alignof__] = ACTIONS(1254),
+    [anon_sym___alignof] = ACTIONS(1254),
+    [anon_sym__alignof] = ACTIONS(1254),
+    [anon_sym_alignof] = ACTIONS(1254),
+    [anon_sym__Alignof] = ACTIONS(1254),
+    [anon_sym_offsetof] = ACTIONS(1254),
+    [anon_sym__Generic] = ACTIONS(1254),
+    [anon_sym_asm] = ACTIONS(1254),
+    [anon_sym___asm__] = ACTIONS(1254),
+    [anon_sym___asm] = ACTIONS(1254),
+    [sym_number_literal] = ACTIONS(1256),
+    [anon_sym_L_SQUOTE] = ACTIONS(1256),
+    [anon_sym_u_SQUOTE] = ACTIONS(1256),
+    [anon_sym_U_SQUOTE] = ACTIONS(1256),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1256),
+    [anon_sym_SQUOTE] = ACTIONS(1256),
+    [anon_sym_L_DQUOTE] = ACTIONS(1256),
+    [anon_sym_u_DQUOTE] = ACTIONS(1256),
+    [anon_sym_U_DQUOTE] = ACTIONS(1256),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1256),
+    [anon_sym_DQUOTE] = ACTIONS(1256),
+    [sym_true] = ACTIONS(1254),
+    [sym_false] = ACTIONS(1254),
+    [anon_sym_NULL] = ACTIONS(1254),
+    [anon_sym_nullptr] = ACTIONS(1254),
     [sym_comment] = ACTIONS(3),
   },
   [221] = {
-    [sym_identifier] = ACTIONS(1129),
-    [aux_sym_preproc_include_token1] = ACTIONS(1129),
-    [aux_sym_preproc_def_token1] = ACTIONS(1129),
-    [aux_sym_preproc_if_token1] = ACTIONS(1129),
-    [aux_sym_preproc_if_token2] = ACTIONS(1129),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1129),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1129),
-    [sym_preproc_directive] = ACTIONS(1129),
-    [anon_sym_LPAREN2] = ACTIONS(1131),
-    [anon_sym_BANG] = ACTIONS(1131),
-    [anon_sym_TILDE] = ACTIONS(1131),
-    [anon_sym_DASH] = ACTIONS(1129),
-    [anon_sym_PLUS] = ACTIONS(1129),
-    [anon_sym_STAR] = ACTIONS(1131),
-    [anon_sym_AMP] = ACTIONS(1131),
-    [anon_sym_SEMI] = ACTIONS(1131),
-    [anon_sym___extension__] = ACTIONS(1129),
-    [anon_sym_typedef] = ACTIONS(1129),
-    [anon_sym_extern] = ACTIONS(1129),
-    [anon_sym___attribute__] = ACTIONS(1129),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1131),
-    [anon_sym___declspec] = ACTIONS(1129),
-    [anon_sym___cdecl] = ACTIONS(1129),
-    [anon_sym___clrcall] = ACTIONS(1129),
-    [anon_sym___stdcall] = ACTIONS(1129),
-    [anon_sym___fastcall] = ACTIONS(1129),
-    [anon_sym___thiscall] = ACTIONS(1129),
-    [anon_sym___vectorcall] = ACTIONS(1129),
-    [anon_sym_LBRACE] = ACTIONS(1131),
-    [anon_sym_signed] = ACTIONS(1129),
-    [anon_sym_unsigned] = ACTIONS(1129),
-    [anon_sym_long] = ACTIONS(1129),
-    [anon_sym_short] = ACTIONS(1129),
-    [anon_sym_static] = ACTIONS(1129),
-    [anon_sym_auto] = ACTIONS(1129),
-    [anon_sym_register] = ACTIONS(1129),
-    [anon_sym_inline] = ACTIONS(1129),
-    [anon_sym___inline] = ACTIONS(1129),
-    [anon_sym___inline__] = ACTIONS(1129),
-    [anon_sym___forceinline] = ACTIONS(1129),
-    [anon_sym_thread_local] = ACTIONS(1129),
-    [anon_sym___thread] = ACTIONS(1129),
-    [anon_sym_const] = ACTIONS(1129),
-    [anon_sym_constexpr] = ACTIONS(1129),
-    [anon_sym_volatile] = ACTIONS(1129),
-    [anon_sym_restrict] = ACTIONS(1129),
-    [anon_sym___restrict__] = ACTIONS(1129),
-    [anon_sym__Atomic] = ACTIONS(1129),
-    [anon_sym__Noreturn] = ACTIONS(1129),
-    [anon_sym_noreturn] = ACTIONS(1129),
-    [anon_sym__Nonnull] = ACTIONS(1129),
-    [anon_sym_alignas] = ACTIONS(1129),
-    [anon_sym__Alignas] = ACTIONS(1129),
-    [sym_primitive_type] = ACTIONS(1129),
-    [anon_sym_enum] = ACTIONS(1129),
-    [anon_sym_struct] = ACTIONS(1129),
-    [anon_sym_union] = ACTIONS(1129),
-    [anon_sym_if] = ACTIONS(1129),
-    [anon_sym_else] = ACTIONS(1129),
-    [anon_sym_switch] = ACTIONS(1129),
-    [anon_sym_case] = ACTIONS(1129),
-    [anon_sym_default] = ACTIONS(1129),
-    [anon_sym_while] = ACTIONS(1129),
-    [anon_sym_do] = ACTIONS(1129),
-    [anon_sym_for] = ACTIONS(1129),
-    [anon_sym_return] = ACTIONS(1129),
-    [anon_sym_break] = ACTIONS(1129),
-    [anon_sym_continue] = ACTIONS(1129),
-    [anon_sym_goto] = ACTIONS(1129),
-    [anon_sym___try] = ACTIONS(1129),
-    [anon_sym___leave] = ACTIONS(1129),
-    [anon_sym_DASH_DASH] = ACTIONS(1131),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1131),
-    [anon_sym_sizeof] = ACTIONS(1129),
-    [anon_sym___alignof__] = ACTIONS(1129),
-    [anon_sym___alignof] = ACTIONS(1129),
-    [anon_sym__alignof] = ACTIONS(1129),
-    [anon_sym_alignof] = ACTIONS(1129),
-    [anon_sym__Alignof] = ACTIONS(1129),
-    [anon_sym_offsetof] = ACTIONS(1129),
-    [anon_sym__Generic] = ACTIONS(1129),
-    [anon_sym_asm] = ACTIONS(1129),
-    [anon_sym___asm__] = ACTIONS(1129),
-    [anon_sym___asm] = ACTIONS(1129),
-    [sym_number_literal] = ACTIONS(1131),
-    [anon_sym_L_SQUOTE] = ACTIONS(1131),
-    [anon_sym_u_SQUOTE] = ACTIONS(1131),
-    [anon_sym_U_SQUOTE] = ACTIONS(1131),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1131),
-    [anon_sym_SQUOTE] = ACTIONS(1131),
-    [anon_sym_L_DQUOTE] = ACTIONS(1131),
-    [anon_sym_u_DQUOTE] = ACTIONS(1131),
-    [anon_sym_U_DQUOTE] = ACTIONS(1131),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1131),
-    [anon_sym_DQUOTE] = ACTIONS(1131),
-    [sym_true] = ACTIONS(1129),
-    [sym_false] = ACTIONS(1129),
-    [anon_sym_NULL] = ACTIONS(1129),
-    [anon_sym_nullptr] = ACTIONS(1129),
+    [sym_identifier] = ACTIONS(1158),
+    [aux_sym_preproc_include_token1] = ACTIONS(1158),
+    [aux_sym_preproc_def_token1] = ACTIONS(1158),
+    [aux_sym_preproc_if_token1] = ACTIONS(1158),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1158),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1158),
+    [sym_preproc_directive] = ACTIONS(1158),
+    [anon_sym_LPAREN2] = ACTIONS(1160),
+    [anon_sym_BANG] = ACTIONS(1160),
+    [anon_sym_TILDE] = ACTIONS(1160),
+    [anon_sym_DASH] = ACTIONS(1158),
+    [anon_sym_PLUS] = ACTIONS(1158),
+    [anon_sym_STAR] = ACTIONS(1160),
+    [anon_sym_AMP] = ACTIONS(1160),
+    [anon_sym_SEMI] = ACTIONS(1160),
+    [anon_sym___extension__] = ACTIONS(1158),
+    [anon_sym_typedef] = ACTIONS(1158),
+    [anon_sym_extern] = ACTIONS(1158),
+    [anon_sym___attribute__] = ACTIONS(1158),
+    [anon_sym___attribute] = ACTIONS(1158),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1160),
+    [anon_sym___declspec] = ACTIONS(1158),
+    [anon_sym___cdecl] = ACTIONS(1158),
+    [anon_sym___clrcall] = ACTIONS(1158),
+    [anon_sym___stdcall] = ACTIONS(1158),
+    [anon_sym___fastcall] = ACTIONS(1158),
+    [anon_sym___thiscall] = ACTIONS(1158),
+    [anon_sym___vectorcall] = ACTIONS(1158),
+    [anon_sym_LBRACE] = ACTIONS(1160),
+    [anon_sym_RBRACE] = ACTIONS(1160),
+    [anon_sym_signed] = ACTIONS(1158),
+    [anon_sym_unsigned] = ACTIONS(1158),
+    [anon_sym_long] = ACTIONS(1158),
+    [anon_sym_short] = ACTIONS(1158),
+    [anon_sym_static] = ACTIONS(1158),
+    [anon_sym_auto] = ACTIONS(1158),
+    [anon_sym_register] = ACTIONS(1158),
+    [anon_sym_inline] = ACTIONS(1158),
+    [anon_sym___inline] = ACTIONS(1158),
+    [anon_sym___inline__] = ACTIONS(1158),
+    [anon_sym___forceinline] = ACTIONS(1158),
+    [anon_sym_thread_local] = ACTIONS(1158),
+    [anon_sym___thread] = ACTIONS(1158),
+    [anon_sym_const] = ACTIONS(1158),
+    [anon_sym_constexpr] = ACTIONS(1158),
+    [anon_sym_volatile] = ACTIONS(1158),
+    [anon_sym_restrict] = ACTIONS(1158),
+    [anon_sym___restrict__] = ACTIONS(1158),
+    [anon_sym__Atomic] = ACTIONS(1158),
+    [anon_sym__Noreturn] = ACTIONS(1158),
+    [anon_sym_noreturn] = ACTIONS(1158),
+    [anon_sym__Nonnull] = ACTIONS(1158),
+    [anon_sym_alignas] = ACTIONS(1158),
+    [anon_sym__Alignas] = ACTIONS(1158),
+    [sym_primitive_type] = ACTIONS(1158),
+    [anon_sym_enum] = ACTIONS(1158),
+    [anon_sym_struct] = ACTIONS(1158),
+    [anon_sym_union] = ACTIONS(1158),
+    [anon_sym_if] = ACTIONS(1158),
+    [anon_sym_else] = ACTIONS(1158),
+    [anon_sym_switch] = ACTIONS(1158),
+    [anon_sym_case] = ACTIONS(1158),
+    [anon_sym_default] = ACTIONS(1158),
+    [anon_sym_while] = ACTIONS(1158),
+    [anon_sym_do] = ACTIONS(1158),
+    [anon_sym_for] = ACTIONS(1158),
+    [anon_sym_return] = ACTIONS(1158),
+    [anon_sym_break] = ACTIONS(1158),
+    [anon_sym_continue] = ACTIONS(1158),
+    [anon_sym_goto] = ACTIONS(1158),
+    [anon_sym___try] = ACTIONS(1158),
+    [anon_sym___leave] = ACTIONS(1158),
+    [anon_sym_DASH_DASH] = ACTIONS(1160),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1160),
+    [anon_sym_sizeof] = ACTIONS(1158),
+    [anon_sym___alignof__] = ACTIONS(1158),
+    [anon_sym___alignof] = ACTIONS(1158),
+    [anon_sym__alignof] = ACTIONS(1158),
+    [anon_sym_alignof] = ACTIONS(1158),
+    [anon_sym__Alignof] = ACTIONS(1158),
+    [anon_sym_offsetof] = ACTIONS(1158),
+    [anon_sym__Generic] = ACTIONS(1158),
+    [anon_sym_asm] = ACTIONS(1158),
+    [anon_sym___asm__] = ACTIONS(1158),
+    [anon_sym___asm] = ACTIONS(1158),
+    [sym_number_literal] = ACTIONS(1160),
+    [anon_sym_L_SQUOTE] = ACTIONS(1160),
+    [anon_sym_u_SQUOTE] = ACTIONS(1160),
+    [anon_sym_U_SQUOTE] = ACTIONS(1160),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1160),
+    [anon_sym_SQUOTE] = ACTIONS(1160),
+    [anon_sym_L_DQUOTE] = ACTIONS(1160),
+    [anon_sym_u_DQUOTE] = ACTIONS(1160),
+    [anon_sym_U_DQUOTE] = ACTIONS(1160),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1160),
+    [anon_sym_DQUOTE] = ACTIONS(1160),
+    [sym_true] = ACTIONS(1158),
+    [sym_false] = ACTIONS(1158),
+    [anon_sym_NULL] = ACTIONS(1158),
+    [anon_sym_nullptr] = ACTIONS(1158),
     [sym_comment] = ACTIONS(3),
   },
   [222] = {
-    [ts_builtin_sym_end] = ACTIONS(1175),
-    [sym_identifier] = ACTIONS(1173),
-    [aux_sym_preproc_include_token1] = ACTIONS(1173),
-    [aux_sym_preproc_def_token1] = ACTIONS(1173),
-    [aux_sym_preproc_if_token1] = ACTIONS(1173),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1173),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1173),
-    [sym_preproc_directive] = ACTIONS(1173),
-    [anon_sym_LPAREN2] = ACTIONS(1175),
-    [anon_sym_BANG] = ACTIONS(1175),
-    [anon_sym_TILDE] = ACTIONS(1175),
-    [anon_sym_DASH] = ACTIONS(1173),
-    [anon_sym_PLUS] = ACTIONS(1173),
-    [anon_sym_STAR] = ACTIONS(1175),
-    [anon_sym_AMP] = ACTIONS(1175),
-    [anon_sym_SEMI] = ACTIONS(1175),
-    [anon_sym___extension__] = ACTIONS(1173),
-    [anon_sym_typedef] = ACTIONS(1173),
-    [anon_sym_extern] = ACTIONS(1173),
-    [anon_sym___attribute__] = ACTIONS(1173),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1175),
-    [anon_sym___declspec] = ACTIONS(1173),
-    [anon_sym___cdecl] = ACTIONS(1173),
-    [anon_sym___clrcall] = ACTIONS(1173),
-    [anon_sym___stdcall] = ACTIONS(1173),
-    [anon_sym___fastcall] = ACTIONS(1173),
-    [anon_sym___thiscall] = ACTIONS(1173),
-    [anon_sym___vectorcall] = ACTIONS(1173),
-    [anon_sym_LBRACE] = ACTIONS(1175),
-    [anon_sym_signed] = ACTIONS(1173),
-    [anon_sym_unsigned] = ACTIONS(1173),
-    [anon_sym_long] = ACTIONS(1173),
-    [anon_sym_short] = ACTIONS(1173),
-    [anon_sym_static] = ACTIONS(1173),
-    [anon_sym_auto] = ACTIONS(1173),
-    [anon_sym_register] = ACTIONS(1173),
-    [anon_sym_inline] = ACTIONS(1173),
-    [anon_sym___inline] = ACTIONS(1173),
-    [anon_sym___inline__] = ACTIONS(1173),
-    [anon_sym___forceinline] = ACTIONS(1173),
-    [anon_sym_thread_local] = ACTIONS(1173),
-    [anon_sym___thread] = ACTIONS(1173),
-    [anon_sym_const] = ACTIONS(1173),
-    [anon_sym_constexpr] = ACTIONS(1173),
-    [anon_sym_volatile] = ACTIONS(1173),
-    [anon_sym_restrict] = ACTIONS(1173),
-    [anon_sym___restrict__] = ACTIONS(1173),
-    [anon_sym__Atomic] = ACTIONS(1173),
-    [anon_sym__Noreturn] = ACTIONS(1173),
-    [anon_sym_noreturn] = ACTIONS(1173),
-    [anon_sym__Nonnull] = ACTIONS(1173),
-    [anon_sym_alignas] = ACTIONS(1173),
-    [anon_sym__Alignas] = ACTIONS(1173),
-    [sym_primitive_type] = ACTIONS(1173),
-    [anon_sym_enum] = ACTIONS(1173),
-    [anon_sym_struct] = ACTIONS(1173),
-    [anon_sym_union] = ACTIONS(1173),
-    [anon_sym_if] = ACTIONS(1173),
-    [anon_sym_else] = ACTIONS(1173),
-    [anon_sym_switch] = ACTIONS(1173),
-    [anon_sym_case] = ACTIONS(1173),
-    [anon_sym_default] = ACTIONS(1173),
-    [anon_sym_while] = ACTIONS(1173),
-    [anon_sym_do] = ACTIONS(1173),
-    [anon_sym_for] = ACTIONS(1173),
-    [anon_sym_return] = ACTIONS(1173),
-    [anon_sym_break] = ACTIONS(1173),
-    [anon_sym_continue] = ACTIONS(1173),
-    [anon_sym_goto] = ACTIONS(1173),
-    [anon_sym___try] = ACTIONS(1173),
-    [anon_sym___leave] = ACTIONS(1173),
-    [anon_sym_DASH_DASH] = ACTIONS(1175),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1175),
-    [anon_sym_sizeof] = ACTIONS(1173),
-    [anon_sym___alignof__] = ACTIONS(1173),
-    [anon_sym___alignof] = ACTIONS(1173),
-    [anon_sym__alignof] = ACTIONS(1173),
-    [anon_sym_alignof] = ACTIONS(1173),
-    [anon_sym__Alignof] = ACTIONS(1173),
-    [anon_sym_offsetof] = ACTIONS(1173),
-    [anon_sym__Generic] = ACTIONS(1173),
-    [anon_sym_asm] = ACTIONS(1173),
-    [anon_sym___asm__] = ACTIONS(1173),
-    [anon_sym___asm] = ACTIONS(1173),
-    [sym_number_literal] = ACTIONS(1175),
-    [anon_sym_L_SQUOTE] = ACTIONS(1175),
-    [anon_sym_u_SQUOTE] = ACTIONS(1175),
-    [anon_sym_U_SQUOTE] = ACTIONS(1175),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1175),
-    [anon_sym_SQUOTE] = ACTIONS(1175),
-    [anon_sym_L_DQUOTE] = ACTIONS(1175),
-    [anon_sym_u_DQUOTE] = ACTIONS(1175),
-    [anon_sym_U_DQUOTE] = ACTIONS(1175),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1175),
-    [anon_sym_DQUOTE] = ACTIONS(1175),
-    [sym_true] = ACTIONS(1173),
-    [sym_false] = ACTIONS(1173),
-    [anon_sym_NULL] = ACTIONS(1173),
-    [anon_sym_nullptr] = ACTIONS(1173),
+    [ts_builtin_sym_end] = ACTIONS(1164),
+    [sym_identifier] = ACTIONS(1162),
+    [aux_sym_preproc_include_token1] = ACTIONS(1162),
+    [aux_sym_preproc_def_token1] = ACTIONS(1162),
+    [aux_sym_preproc_if_token1] = ACTIONS(1162),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1162),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1162),
+    [sym_preproc_directive] = ACTIONS(1162),
+    [anon_sym_LPAREN2] = ACTIONS(1164),
+    [anon_sym_BANG] = ACTIONS(1164),
+    [anon_sym_TILDE] = ACTIONS(1164),
+    [anon_sym_DASH] = ACTIONS(1162),
+    [anon_sym_PLUS] = ACTIONS(1162),
+    [anon_sym_STAR] = ACTIONS(1164),
+    [anon_sym_AMP] = ACTIONS(1164),
+    [anon_sym_SEMI] = ACTIONS(1164),
+    [anon_sym___extension__] = ACTIONS(1162),
+    [anon_sym_typedef] = ACTIONS(1162),
+    [anon_sym_extern] = ACTIONS(1162),
+    [anon_sym___attribute__] = ACTIONS(1162),
+    [anon_sym___attribute] = ACTIONS(1162),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1164),
+    [anon_sym___declspec] = ACTIONS(1162),
+    [anon_sym___cdecl] = ACTIONS(1162),
+    [anon_sym___clrcall] = ACTIONS(1162),
+    [anon_sym___stdcall] = ACTIONS(1162),
+    [anon_sym___fastcall] = ACTIONS(1162),
+    [anon_sym___thiscall] = ACTIONS(1162),
+    [anon_sym___vectorcall] = ACTIONS(1162),
+    [anon_sym_LBRACE] = ACTIONS(1164),
+    [anon_sym_signed] = ACTIONS(1162),
+    [anon_sym_unsigned] = ACTIONS(1162),
+    [anon_sym_long] = ACTIONS(1162),
+    [anon_sym_short] = ACTIONS(1162),
+    [anon_sym_static] = ACTIONS(1162),
+    [anon_sym_auto] = ACTIONS(1162),
+    [anon_sym_register] = ACTIONS(1162),
+    [anon_sym_inline] = ACTIONS(1162),
+    [anon_sym___inline] = ACTIONS(1162),
+    [anon_sym___inline__] = ACTIONS(1162),
+    [anon_sym___forceinline] = ACTIONS(1162),
+    [anon_sym_thread_local] = ACTIONS(1162),
+    [anon_sym___thread] = ACTIONS(1162),
+    [anon_sym_const] = ACTIONS(1162),
+    [anon_sym_constexpr] = ACTIONS(1162),
+    [anon_sym_volatile] = ACTIONS(1162),
+    [anon_sym_restrict] = ACTIONS(1162),
+    [anon_sym___restrict__] = ACTIONS(1162),
+    [anon_sym__Atomic] = ACTIONS(1162),
+    [anon_sym__Noreturn] = ACTIONS(1162),
+    [anon_sym_noreturn] = ACTIONS(1162),
+    [anon_sym__Nonnull] = ACTIONS(1162),
+    [anon_sym_alignas] = ACTIONS(1162),
+    [anon_sym__Alignas] = ACTIONS(1162),
+    [sym_primitive_type] = ACTIONS(1162),
+    [anon_sym_enum] = ACTIONS(1162),
+    [anon_sym_struct] = ACTIONS(1162),
+    [anon_sym_union] = ACTIONS(1162),
+    [anon_sym_if] = ACTIONS(1162),
+    [anon_sym_else] = ACTIONS(1162),
+    [anon_sym_switch] = ACTIONS(1162),
+    [anon_sym_case] = ACTIONS(1162),
+    [anon_sym_default] = ACTIONS(1162),
+    [anon_sym_while] = ACTIONS(1162),
+    [anon_sym_do] = ACTIONS(1162),
+    [anon_sym_for] = ACTIONS(1162),
+    [anon_sym_return] = ACTIONS(1162),
+    [anon_sym_break] = ACTIONS(1162),
+    [anon_sym_continue] = ACTIONS(1162),
+    [anon_sym_goto] = ACTIONS(1162),
+    [anon_sym___try] = ACTIONS(1162),
+    [anon_sym___leave] = ACTIONS(1162),
+    [anon_sym_DASH_DASH] = ACTIONS(1164),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1164),
+    [anon_sym_sizeof] = ACTIONS(1162),
+    [anon_sym___alignof__] = ACTIONS(1162),
+    [anon_sym___alignof] = ACTIONS(1162),
+    [anon_sym__alignof] = ACTIONS(1162),
+    [anon_sym_alignof] = ACTIONS(1162),
+    [anon_sym__Alignof] = ACTIONS(1162),
+    [anon_sym_offsetof] = ACTIONS(1162),
+    [anon_sym__Generic] = ACTIONS(1162),
+    [anon_sym_asm] = ACTIONS(1162),
+    [anon_sym___asm__] = ACTIONS(1162),
+    [anon_sym___asm] = ACTIONS(1162),
+    [sym_number_literal] = ACTIONS(1164),
+    [anon_sym_L_SQUOTE] = ACTIONS(1164),
+    [anon_sym_u_SQUOTE] = ACTIONS(1164),
+    [anon_sym_U_SQUOTE] = ACTIONS(1164),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1164),
+    [anon_sym_SQUOTE] = ACTIONS(1164),
+    [anon_sym_L_DQUOTE] = ACTIONS(1164),
+    [anon_sym_u_DQUOTE] = ACTIONS(1164),
+    [anon_sym_U_DQUOTE] = ACTIONS(1164),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1164),
+    [anon_sym_DQUOTE] = ACTIONS(1164),
+    [sym_true] = ACTIONS(1162),
+    [sym_false] = ACTIONS(1162),
+    [anon_sym_NULL] = ACTIONS(1162),
+    [anon_sym_nullptr] = ACTIONS(1162),
     [sym_comment] = ACTIONS(3),
   },
   [223] = {
-    [sym_identifier] = ACTIONS(1209),
-    [aux_sym_preproc_include_token1] = ACTIONS(1209),
-    [aux_sym_preproc_def_token1] = ACTIONS(1209),
-    [aux_sym_preproc_if_token1] = ACTIONS(1209),
-    [aux_sym_preproc_if_token2] = ACTIONS(1209),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1209),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1209),
-    [sym_preproc_directive] = ACTIONS(1209),
-    [anon_sym_LPAREN2] = ACTIONS(1211),
-    [anon_sym_BANG] = ACTIONS(1211),
-    [anon_sym_TILDE] = ACTIONS(1211),
-    [anon_sym_DASH] = ACTIONS(1209),
-    [anon_sym_PLUS] = ACTIONS(1209),
-    [anon_sym_STAR] = ACTIONS(1211),
-    [anon_sym_AMP] = ACTIONS(1211),
-    [anon_sym_SEMI] = ACTIONS(1211),
-    [anon_sym___extension__] = ACTIONS(1209),
-    [anon_sym_typedef] = ACTIONS(1209),
-    [anon_sym_extern] = ACTIONS(1209),
-    [anon_sym___attribute__] = ACTIONS(1209),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1211),
-    [anon_sym___declspec] = ACTIONS(1209),
-    [anon_sym___cdecl] = ACTIONS(1209),
-    [anon_sym___clrcall] = ACTIONS(1209),
-    [anon_sym___stdcall] = ACTIONS(1209),
-    [anon_sym___fastcall] = ACTIONS(1209),
-    [anon_sym___thiscall] = ACTIONS(1209),
-    [anon_sym___vectorcall] = ACTIONS(1209),
-    [anon_sym_LBRACE] = ACTIONS(1211),
-    [anon_sym_signed] = ACTIONS(1209),
-    [anon_sym_unsigned] = ACTIONS(1209),
-    [anon_sym_long] = ACTIONS(1209),
-    [anon_sym_short] = ACTIONS(1209),
-    [anon_sym_static] = ACTIONS(1209),
-    [anon_sym_auto] = ACTIONS(1209),
-    [anon_sym_register] = ACTIONS(1209),
-    [anon_sym_inline] = ACTIONS(1209),
-    [anon_sym___inline] = ACTIONS(1209),
-    [anon_sym___inline__] = ACTIONS(1209),
-    [anon_sym___forceinline] = ACTIONS(1209),
-    [anon_sym_thread_local] = ACTIONS(1209),
-    [anon_sym___thread] = ACTIONS(1209),
-    [anon_sym_const] = ACTIONS(1209),
-    [anon_sym_constexpr] = ACTIONS(1209),
-    [anon_sym_volatile] = ACTIONS(1209),
-    [anon_sym_restrict] = ACTIONS(1209),
-    [anon_sym___restrict__] = ACTIONS(1209),
-    [anon_sym__Atomic] = ACTIONS(1209),
-    [anon_sym__Noreturn] = ACTIONS(1209),
-    [anon_sym_noreturn] = ACTIONS(1209),
-    [anon_sym__Nonnull] = ACTIONS(1209),
-    [anon_sym_alignas] = ACTIONS(1209),
-    [anon_sym__Alignas] = ACTIONS(1209),
-    [sym_primitive_type] = ACTIONS(1209),
-    [anon_sym_enum] = ACTIONS(1209),
-    [anon_sym_struct] = ACTIONS(1209),
-    [anon_sym_union] = ACTIONS(1209),
-    [anon_sym_if] = ACTIONS(1209),
-    [anon_sym_else] = ACTIONS(1209),
-    [anon_sym_switch] = ACTIONS(1209),
-    [anon_sym_case] = ACTIONS(1209),
-    [anon_sym_default] = ACTIONS(1209),
-    [anon_sym_while] = ACTIONS(1209),
-    [anon_sym_do] = ACTIONS(1209),
-    [anon_sym_for] = ACTIONS(1209),
-    [anon_sym_return] = ACTIONS(1209),
-    [anon_sym_break] = ACTIONS(1209),
-    [anon_sym_continue] = ACTIONS(1209),
-    [anon_sym_goto] = ACTIONS(1209),
-    [anon_sym___try] = ACTIONS(1209),
-    [anon_sym___leave] = ACTIONS(1209),
-    [anon_sym_DASH_DASH] = ACTIONS(1211),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1211),
-    [anon_sym_sizeof] = ACTIONS(1209),
-    [anon_sym___alignof__] = ACTIONS(1209),
-    [anon_sym___alignof] = ACTIONS(1209),
-    [anon_sym__alignof] = ACTIONS(1209),
-    [anon_sym_alignof] = ACTIONS(1209),
-    [anon_sym__Alignof] = ACTIONS(1209),
-    [anon_sym_offsetof] = ACTIONS(1209),
-    [anon_sym__Generic] = ACTIONS(1209),
-    [anon_sym_asm] = ACTIONS(1209),
-    [anon_sym___asm__] = ACTIONS(1209),
-    [anon_sym___asm] = ACTIONS(1209),
-    [sym_number_literal] = ACTIONS(1211),
-    [anon_sym_L_SQUOTE] = ACTIONS(1211),
-    [anon_sym_u_SQUOTE] = ACTIONS(1211),
-    [anon_sym_U_SQUOTE] = ACTIONS(1211),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1211),
-    [anon_sym_SQUOTE] = ACTIONS(1211),
-    [anon_sym_L_DQUOTE] = ACTIONS(1211),
-    [anon_sym_u_DQUOTE] = ACTIONS(1211),
-    [anon_sym_U_DQUOTE] = ACTIONS(1211),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1211),
-    [anon_sym_DQUOTE] = ACTIONS(1211),
-    [sym_true] = ACTIONS(1209),
-    [sym_false] = ACTIONS(1209),
-    [anon_sym_NULL] = ACTIONS(1209),
-    [anon_sym_nullptr] = ACTIONS(1209),
+    [sym_identifier] = ACTIONS(1166),
+    [aux_sym_preproc_include_token1] = ACTIONS(1166),
+    [aux_sym_preproc_def_token1] = ACTIONS(1166),
+    [aux_sym_preproc_if_token1] = ACTIONS(1166),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1166),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1166),
+    [sym_preproc_directive] = ACTIONS(1166),
+    [anon_sym_LPAREN2] = ACTIONS(1168),
+    [anon_sym_BANG] = ACTIONS(1168),
+    [anon_sym_TILDE] = ACTIONS(1168),
+    [anon_sym_DASH] = ACTIONS(1166),
+    [anon_sym_PLUS] = ACTIONS(1166),
+    [anon_sym_STAR] = ACTIONS(1168),
+    [anon_sym_AMP] = ACTIONS(1168),
+    [anon_sym_SEMI] = ACTIONS(1168),
+    [anon_sym___extension__] = ACTIONS(1166),
+    [anon_sym_typedef] = ACTIONS(1166),
+    [anon_sym_extern] = ACTIONS(1166),
+    [anon_sym___attribute__] = ACTIONS(1166),
+    [anon_sym___attribute] = ACTIONS(1166),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1168),
+    [anon_sym___declspec] = ACTIONS(1166),
+    [anon_sym___cdecl] = ACTIONS(1166),
+    [anon_sym___clrcall] = ACTIONS(1166),
+    [anon_sym___stdcall] = ACTIONS(1166),
+    [anon_sym___fastcall] = ACTIONS(1166),
+    [anon_sym___thiscall] = ACTIONS(1166),
+    [anon_sym___vectorcall] = ACTIONS(1166),
+    [anon_sym_LBRACE] = ACTIONS(1168),
+    [anon_sym_RBRACE] = ACTIONS(1168),
+    [anon_sym_signed] = ACTIONS(1166),
+    [anon_sym_unsigned] = ACTIONS(1166),
+    [anon_sym_long] = ACTIONS(1166),
+    [anon_sym_short] = ACTIONS(1166),
+    [anon_sym_static] = ACTIONS(1166),
+    [anon_sym_auto] = ACTIONS(1166),
+    [anon_sym_register] = ACTIONS(1166),
+    [anon_sym_inline] = ACTIONS(1166),
+    [anon_sym___inline] = ACTIONS(1166),
+    [anon_sym___inline__] = ACTIONS(1166),
+    [anon_sym___forceinline] = ACTIONS(1166),
+    [anon_sym_thread_local] = ACTIONS(1166),
+    [anon_sym___thread] = ACTIONS(1166),
+    [anon_sym_const] = ACTIONS(1166),
+    [anon_sym_constexpr] = ACTIONS(1166),
+    [anon_sym_volatile] = ACTIONS(1166),
+    [anon_sym_restrict] = ACTIONS(1166),
+    [anon_sym___restrict__] = ACTIONS(1166),
+    [anon_sym__Atomic] = ACTIONS(1166),
+    [anon_sym__Noreturn] = ACTIONS(1166),
+    [anon_sym_noreturn] = ACTIONS(1166),
+    [anon_sym__Nonnull] = ACTIONS(1166),
+    [anon_sym_alignas] = ACTIONS(1166),
+    [anon_sym__Alignas] = ACTIONS(1166),
+    [sym_primitive_type] = ACTIONS(1166),
+    [anon_sym_enum] = ACTIONS(1166),
+    [anon_sym_struct] = ACTIONS(1166),
+    [anon_sym_union] = ACTIONS(1166),
+    [anon_sym_if] = ACTIONS(1166),
+    [anon_sym_else] = ACTIONS(1166),
+    [anon_sym_switch] = ACTIONS(1166),
+    [anon_sym_case] = ACTIONS(1166),
+    [anon_sym_default] = ACTIONS(1166),
+    [anon_sym_while] = ACTIONS(1166),
+    [anon_sym_do] = ACTIONS(1166),
+    [anon_sym_for] = ACTIONS(1166),
+    [anon_sym_return] = ACTIONS(1166),
+    [anon_sym_break] = ACTIONS(1166),
+    [anon_sym_continue] = ACTIONS(1166),
+    [anon_sym_goto] = ACTIONS(1166),
+    [anon_sym___try] = ACTIONS(1166),
+    [anon_sym___leave] = ACTIONS(1166),
+    [anon_sym_DASH_DASH] = ACTIONS(1168),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1168),
+    [anon_sym_sizeof] = ACTIONS(1166),
+    [anon_sym___alignof__] = ACTIONS(1166),
+    [anon_sym___alignof] = ACTIONS(1166),
+    [anon_sym__alignof] = ACTIONS(1166),
+    [anon_sym_alignof] = ACTIONS(1166),
+    [anon_sym__Alignof] = ACTIONS(1166),
+    [anon_sym_offsetof] = ACTIONS(1166),
+    [anon_sym__Generic] = ACTIONS(1166),
+    [anon_sym_asm] = ACTIONS(1166),
+    [anon_sym___asm__] = ACTIONS(1166),
+    [anon_sym___asm] = ACTIONS(1166),
+    [sym_number_literal] = ACTIONS(1168),
+    [anon_sym_L_SQUOTE] = ACTIONS(1168),
+    [anon_sym_u_SQUOTE] = ACTIONS(1168),
+    [anon_sym_U_SQUOTE] = ACTIONS(1168),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1168),
+    [anon_sym_SQUOTE] = ACTIONS(1168),
+    [anon_sym_L_DQUOTE] = ACTIONS(1168),
+    [anon_sym_u_DQUOTE] = ACTIONS(1168),
+    [anon_sym_U_DQUOTE] = ACTIONS(1168),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1168),
+    [anon_sym_DQUOTE] = ACTIONS(1168),
+    [sym_true] = ACTIONS(1166),
+    [sym_false] = ACTIONS(1166),
+    [anon_sym_NULL] = ACTIONS(1166),
+    [anon_sym_nullptr] = ACTIONS(1166),
     [sym_comment] = ACTIONS(3),
   },
   [224] = {
-    [sym_identifier] = ACTIONS(1213),
-    [aux_sym_preproc_include_token1] = ACTIONS(1213),
-    [aux_sym_preproc_def_token1] = ACTIONS(1213),
-    [aux_sym_preproc_if_token1] = ACTIONS(1213),
-    [aux_sym_preproc_if_token2] = ACTIONS(1213),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1213),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1213),
-    [sym_preproc_directive] = ACTIONS(1213),
-    [anon_sym_LPAREN2] = ACTIONS(1215),
-    [anon_sym_BANG] = ACTIONS(1215),
-    [anon_sym_TILDE] = ACTIONS(1215),
-    [anon_sym_DASH] = ACTIONS(1213),
-    [anon_sym_PLUS] = ACTIONS(1213),
-    [anon_sym_STAR] = ACTIONS(1215),
-    [anon_sym_AMP] = ACTIONS(1215),
-    [anon_sym_SEMI] = ACTIONS(1215),
-    [anon_sym___extension__] = ACTIONS(1213),
-    [anon_sym_typedef] = ACTIONS(1213),
-    [anon_sym_extern] = ACTIONS(1213),
-    [anon_sym___attribute__] = ACTIONS(1213),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1215),
-    [anon_sym___declspec] = ACTIONS(1213),
-    [anon_sym___cdecl] = ACTIONS(1213),
-    [anon_sym___clrcall] = ACTIONS(1213),
-    [anon_sym___stdcall] = ACTIONS(1213),
-    [anon_sym___fastcall] = ACTIONS(1213),
-    [anon_sym___thiscall] = ACTIONS(1213),
-    [anon_sym___vectorcall] = ACTIONS(1213),
-    [anon_sym_LBRACE] = ACTIONS(1215),
-    [anon_sym_signed] = ACTIONS(1213),
-    [anon_sym_unsigned] = ACTIONS(1213),
-    [anon_sym_long] = ACTIONS(1213),
-    [anon_sym_short] = ACTIONS(1213),
-    [anon_sym_static] = ACTIONS(1213),
-    [anon_sym_auto] = ACTIONS(1213),
-    [anon_sym_register] = ACTIONS(1213),
-    [anon_sym_inline] = ACTIONS(1213),
-    [anon_sym___inline] = ACTIONS(1213),
-    [anon_sym___inline__] = ACTIONS(1213),
-    [anon_sym___forceinline] = ACTIONS(1213),
-    [anon_sym_thread_local] = ACTIONS(1213),
-    [anon_sym___thread] = ACTIONS(1213),
-    [anon_sym_const] = ACTIONS(1213),
-    [anon_sym_constexpr] = ACTIONS(1213),
-    [anon_sym_volatile] = ACTIONS(1213),
-    [anon_sym_restrict] = ACTIONS(1213),
-    [anon_sym___restrict__] = ACTIONS(1213),
-    [anon_sym__Atomic] = ACTIONS(1213),
-    [anon_sym__Noreturn] = ACTIONS(1213),
-    [anon_sym_noreturn] = ACTIONS(1213),
-    [anon_sym__Nonnull] = ACTIONS(1213),
-    [anon_sym_alignas] = ACTIONS(1213),
-    [anon_sym__Alignas] = ACTIONS(1213),
-    [sym_primitive_type] = ACTIONS(1213),
-    [anon_sym_enum] = ACTIONS(1213),
-    [anon_sym_struct] = ACTIONS(1213),
-    [anon_sym_union] = ACTIONS(1213),
-    [anon_sym_if] = ACTIONS(1213),
-    [anon_sym_else] = ACTIONS(1213),
-    [anon_sym_switch] = ACTIONS(1213),
-    [anon_sym_case] = ACTIONS(1213),
-    [anon_sym_default] = ACTIONS(1213),
-    [anon_sym_while] = ACTIONS(1213),
-    [anon_sym_do] = ACTIONS(1213),
-    [anon_sym_for] = ACTIONS(1213),
-    [anon_sym_return] = ACTIONS(1213),
-    [anon_sym_break] = ACTIONS(1213),
-    [anon_sym_continue] = ACTIONS(1213),
-    [anon_sym_goto] = ACTIONS(1213),
-    [anon_sym___try] = ACTIONS(1213),
-    [anon_sym___leave] = ACTIONS(1213),
-    [anon_sym_DASH_DASH] = ACTIONS(1215),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1215),
-    [anon_sym_sizeof] = ACTIONS(1213),
-    [anon_sym___alignof__] = ACTIONS(1213),
-    [anon_sym___alignof] = ACTIONS(1213),
-    [anon_sym__alignof] = ACTIONS(1213),
-    [anon_sym_alignof] = ACTIONS(1213),
-    [anon_sym__Alignof] = ACTIONS(1213),
-    [anon_sym_offsetof] = ACTIONS(1213),
-    [anon_sym__Generic] = ACTIONS(1213),
-    [anon_sym_asm] = ACTIONS(1213),
-    [anon_sym___asm__] = ACTIONS(1213),
-    [anon_sym___asm] = ACTIONS(1213),
-    [sym_number_literal] = ACTIONS(1215),
-    [anon_sym_L_SQUOTE] = ACTIONS(1215),
-    [anon_sym_u_SQUOTE] = ACTIONS(1215),
-    [anon_sym_U_SQUOTE] = ACTIONS(1215),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1215),
-    [anon_sym_SQUOTE] = ACTIONS(1215),
-    [anon_sym_L_DQUOTE] = ACTIONS(1215),
-    [anon_sym_u_DQUOTE] = ACTIONS(1215),
-    [anon_sym_U_DQUOTE] = ACTIONS(1215),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1215),
-    [anon_sym_DQUOTE] = ACTIONS(1215),
-    [sym_true] = ACTIONS(1213),
-    [sym_false] = ACTIONS(1213),
-    [anon_sym_NULL] = ACTIONS(1213),
-    [anon_sym_nullptr] = ACTIONS(1213),
+    [ts_builtin_sym_end] = ACTIONS(1140),
+    [sym_identifier] = ACTIONS(1138),
+    [aux_sym_preproc_include_token1] = ACTIONS(1138),
+    [aux_sym_preproc_def_token1] = ACTIONS(1138),
+    [aux_sym_preproc_if_token1] = ACTIONS(1138),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1138),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1138),
+    [sym_preproc_directive] = ACTIONS(1138),
+    [anon_sym_LPAREN2] = ACTIONS(1140),
+    [anon_sym_BANG] = ACTIONS(1140),
+    [anon_sym_TILDE] = ACTIONS(1140),
+    [anon_sym_DASH] = ACTIONS(1138),
+    [anon_sym_PLUS] = ACTIONS(1138),
+    [anon_sym_STAR] = ACTIONS(1140),
+    [anon_sym_AMP] = ACTIONS(1140),
+    [anon_sym_SEMI] = ACTIONS(1140),
+    [anon_sym___extension__] = ACTIONS(1138),
+    [anon_sym_typedef] = ACTIONS(1138),
+    [anon_sym_extern] = ACTIONS(1138),
+    [anon_sym___attribute__] = ACTIONS(1138),
+    [anon_sym___attribute] = ACTIONS(1138),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1140),
+    [anon_sym___declspec] = ACTIONS(1138),
+    [anon_sym___cdecl] = ACTIONS(1138),
+    [anon_sym___clrcall] = ACTIONS(1138),
+    [anon_sym___stdcall] = ACTIONS(1138),
+    [anon_sym___fastcall] = ACTIONS(1138),
+    [anon_sym___thiscall] = ACTIONS(1138),
+    [anon_sym___vectorcall] = ACTIONS(1138),
+    [anon_sym_LBRACE] = ACTIONS(1140),
+    [anon_sym_signed] = ACTIONS(1138),
+    [anon_sym_unsigned] = ACTIONS(1138),
+    [anon_sym_long] = ACTIONS(1138),
+    [anon_sym_short] = ACTIONS(1138),
+    [anon_sym_static] = ACTIONS(1138),
+    [anon_sym_auto] = ACTIONS(1138),
+    [anon_sym_register] = ACTIONS(1138),
+    [anon_sym_inline] = ACTIONS(1138),
+    [anon_sym___inline] = ACTIONS(1138),
+    [anon_sym___inline__] = ACTIONS(1138),
+    [anon_sym___forceinline] = ACTIONS(1138),
+    [anon_sym_thread_local] = ACTIONS(1138),
+    [anon_sym___thread] = ACTIONS(1138),
+    [anon_sym_const] = ACTIONS(1138),
+    [anon_sym_constexpr] = ACTIONS(1138),
+    [anon_sym_volatile] = ACTIONS(1138),
+    [anon_sym_restrict] = ACTIONS(1138),
+    [anon_sym___restrict__] = ACTIONS(1138),
+    [anon_sym__Atomic] = ACTIONS(1138),
+    [anon_sym__Noreturn] = ACTIONS(1138),
+    [anon_sym_noreturn] = ACTIONS(1138),
+    [anon_sym__Nonnull] = ACTIONS(1138),
+    [anon_sym_alignas] = ACTIONS(1138),
+    [anon_sym__Alignas] = ACTIONS(1138),
+    [sym_primitive_type] = ACTIONS(1138),
+    [anon_sym_enum] = ACTIONS(1138),
+    [anon_sym_struct] = ACTIONS(1138),
+    [anon_sym_union] = ACTIONS(1138),
+    [anon_sym_if] = ACTIONS(1138),
+    [anon_sym_else] = ACTIONS(1138),
+    [anon_sym_switch] = ACTIONS(1138),
+    [anon_sym_case] = ACTIONS(1138),
+    [anon_sym_default] = ACTIONS(1138),
+    [anon_sym_while] = ACTIONS(1138),
+    [anon_sym_do] = ACTIONS(1138),
+    [anon_sym_for] = ACTIONS(1138),
+    [anon_sym_return] = ACTIONS(1138),
+    [anon_sym_break] = ACTIONS(1138),
+    [anon_sym_continue] = ACTIONS(1138),
+    [anon_sym_goto] = ACTIONS(1138),
+    [anon_sym___try] = ACTIONS(1138),
+    [anon_sym___leave] = ACTIONS(1138),
+    [anon_sym_DASH_DASH] = ACTIONS(1140),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1140),
+    [anon_sym_sizeof] = ACTIONS(1138),
+    [anon_sym___alignof__] = ACTIONS(1138),
+    [anon_sym___alignof] = ACTIONS(1138),
+    [anon_sym__alignof] = ACTIONS(1138),
+    [anon_sym_alignof] = ACTIONS(1138),
+    [anon_sym__Alignof] = ACTIONS(1138),
+    [anon_sym_offsetof] = ACTIONS(1138),
+    [anon_sym__Generic] = ACTIONS(1138),
+    [anon_sym_asm] = ACTIONS(1138),
+    [anon_sym___asm__] = ACTIONS(1138),
+    [anon_sym___asm] = ACTIONS(1138),
+    [sym_number_literal] = ACTIONS(1140),
+    [anon_sym_L_SQUOTE] = ACTIONS(1140),
+    [anon_sym_u_SQUOTE] = ACTIONS(1140),
+    [anon_sym_U_SQUOTE] = ACTIONS(1140),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1140),
+    [anon_sym_SQUOTE] = ACTIONS(1140),
+    [anon_sym_L_DQUOTE] = ACTIONS(1140),
+    [anon_sym_u_DQUOTE] = ACTIONS(1140),
+    [anon_sym_U_DQUOTE] = ACTIONS(1140),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1140),
+    [anon_sym_DQUOTE] = ACTIONS(1140),
+    [sym_true] = ACTIONS(1138),
+    [sym_false] = ACTIONS(1138),
+    [anon_sym_NULL] = ACTIONS(1138),
+    [anon_sym_nullptr] = ACTIONS(1138),
     [sym_comment] = ACTIONS(3),
   },
   [225] = {
-    [sym_identifier] = ACTIONS(1217),
-    [aux_sym_preproc_include_token1] = ACTIONS(1217),
-    [aux_sym_preproc_def_token1] = ACTIONS(1217),
-    [aux_sym_preproc_if_token1] = ACTIONS(1217),
-    [aux_sym_preproc_if_token2] = ACTIONS(1217),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1217),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1217),
-    [sym_preproc_directive] = ACTIONS(1217),
-    [anon_sym_LPAREN2] = ACTIONS(1219),
-    [anon_sym_BANG] = ACTIONS(1219),
-    [anon_sym_TILDE] = ACTIONS(1219),
-    [anon_sym_DASH] = ACTIONS(1217),
-    [anon_sym_PLUS] = ACTIONS(1217),
-    [anon_sym_STAR] = ACTIONS(1219),
-    [anon_sym_AMP] = ACTIONS(1219),
-    [anon_sym_SEMI] = ACTIONS(1219),
-    [anon_sym___extension__] = ACTIONS(1217),
-    [anon_sym_typedef] = ACTIONS(1217),
-    [anon_sym_extern] = ACTIONS(1217),
-    [anon_sym___attribute__] = ACTIONS(1217),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1219),
-    [anon_sym___declspec] = ACTIONS(1217),
-    [anon_sym___cdecl] = ACTIONS(1217),
-    [anon_sym___clrcall] = ACTIONS(1217),
-    [anon_sym___stdcall] = ACTIONS(1217),
-    [anon_sym___fastcall] = ACTIONS(1217),
-    [anon_sym___thiscall] = ACTIONS(1217),
-    [anon_sym___vectorcall] = ACTIONS(1217),
-    [anon_sym_LBRACE] = ACTIONS(1219),
-    [anon_sym_signed] = ACTIONS(1217),
-    [anon_sym_unsigned] = ACTIONS(1217),
-    [anon_sym_long] = ACTIONS(1217),
-    [anon_sym_short] = ACTIONS(1217),
-    [anon_sym_static] = ACTIONS(1217),
-    [anon_sym_auto] = ACTIONS(1217),
-    [anon_sym_register] = ACTIONS(1217),
-    [anon_sym_inline] = ACTIONS(1217),
-    [anon_sym___inline] = ACTIONS(1217),
-    [anon_sym___inline__] = ACTIONS(1217),
-    [anon_sym___forceinline] = ACTIONS(1217),
-    [anon_sym_thread_local] = ACTIONS(1217),
-    [anon_sym___thread] = ACTIONS(1217),
-    [anon_sym_const] = ACTIONS(1217),
-    [anon_sym_constexpr] = ACTIONS(1217),
-    [anon_sym_volatile] = ACTIONS(1217),
-    [anon_sym_restrict] = ACTIONS(1217),
-    [anon_sym___restrict__] = ACTIONS(1217),
-    [anon_sym__Atomic] = ACTIONS(1217),
-    [anon_sym__Noreturn] = ACTIONS(1217),
-    [anon_sym_noreturn] = ACTIONS(1217),
-    [anon_sym__Nonnull] = ACTIONS(1217),
-    [anon_sym_alignas] = ACTIONS(1217),
-    [anon_sym__Alignas] = ACTIONS(1217),
-    [sym_primitive_type] = ACTIONS(1217),
-    [anon_sym_enum] = ACTIONS(1217),
-    [anon_sym_struct] = ACTIONS(1217),
-    [anon_sym_union] = ACTIONS(1217),
-    [anon_sym_if] = ACTIONS(1217),
-    [anon_sym_else] = ACTIONS(1217),
-    [anon_sym_switch] = ACTIONS(1217),
-    [anon_sym_case] = ACTIONS(1217),
-    [anon_sym_default] = ACTIONS(1217),
-    [anon_sym_while] = ACTIONS(1217),
-    [anon_sym_do] = ACTIONS(1217),
-    [anon_sym_for] = ACTIONS(1217),
-    [anon_sym_return] = ACTIONS(1217),
-    [anon_sym_break] = ACTIONS(1217),
-    [anon_sym_continue] = ACTIONS(1217),
-    [anon_sym_goto] = ACTIONS(1217),
-    [anon_sym___try] = ACTIONS(1217),
-    [anon_sym___leave] = ACTIONS(1217),
-    [anon_sym_DASH_DASH] = ACTIONS(1219),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1219),
-    [anon_sym_sizeof] = ACTIONS(1217),
-    [anon_sym___alignof__] = ACTIONS(1217),
-    [anon_sym___alignof] = ACTIONS(1217),
-    [anon_sym__alignof] = ACTIONS(1217),
-    [anon_sym_alignof] = ACTIONS(1217),
-    [anon_sym__Alignof] = ACTIONS(1217),
-    [anon_sym_offsetof] = ACTIONS(1217),
-    [anon_sym__Generic] = ACTIONS(1217),
-    [anon_sym_asm] = ACTIONS(1217),
-    [anon_sym___asm__] = ACTIONS(1217),
-    [anon_sym___asm] = ACTIONS(1217),
-    [sym_number_literal] = ACTIONS(1219),
-    [anon_sym_L_SQUOTE] = ACTIONS(1219),
-    [anon_sym_u_SQUOTE] = ACTIONS(1219),
-    [anon_sym_U_SQUOTE] = ACTIONS(1219),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1219),
-    [anon_sym_SQUOTE] = ACTIONS(1219),
-    [anon_sym_L_DQUOTE] = ACTIONS(1219),
-    [anon_sym_u_DQUOTE] = ACTIONS(1219),
-    [anon_sym_U_DQUOTE] = ACTIONS(1219),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1219),
-    [anon_sym_DQUOTE] = ACTIONS(1219),
-    [sym_true] = ACTIONS(1217),
-    [sym_false] = ACTIONS(1217),
-    [anon_sym_NULL] = ACTIONS(1217),
-    [anon_sym_nullptr] = ACTIONS(1217),
+    [ts_builtin_sym_end] = ACTIONS(1144),
+    [sym_identifier] = ACTIONS(1142),
+    [aux_sym_preproc_include_token1] = ACTIONS(1142),
+    [aux_sym_preproc_def_token1] = ACTIONS(1142),
+    [aux_sym_preproc_if_token1] = ACTIONS(1142),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1142),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1142),
+    [sym_preproc_directive] = ACTIONS(1142),
+    [anon_sym_LPAREN2] = ACTIONS(1144),
+    [anon_sym_BANG] = ACTIONS(1144),
+    [anon_sym_TILDE] = ACTIONS(1144),
+    [anon_sym_DASH] = ACTIONS(1142),
+    [anon_sym_PLUS] = ACTIONS(1142),
+    [anon_sym_STAR] = ACTIONS(1144),
+    [anon_sym_AMP] = ACTIONS(1144),
+    [anon_sym_SEMI] = ACTIONS(1144),
+    [anon_sym___extension__] = ACTIONS(1142),
+    [anon_sym_typedef] = ACTIONS(1142),
+    [anon_sym_extern] = ACTIONS(1142),
+    [anon_sym___attribute__] = ACTIONS(1142),
+    [anon_sym___attribute] = ACTIONS(1142),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1144),
+    [anon_sym___declspec] = ACTIONS(1142),
+    [anon_sym___cdecl] = ACTIONS(1142),
+    [anon_sym___clrcall] = ACTIONS(1142),
+    [anon_sym___stdcall] = ACTIONS(1142),
+    [anon_sym___fastcall] = ACTIONS(1142),
+    [anon_sym___thiscall] = ACTIONS(1142),
+    [anon_sym___vectorcall] = ACTIONS(1142),
+    [anon_sym_LBRACE] = ACTIONS(1144),
+    [anon_sym_signed] = ACTIONS(1142),
+    [anon_sym_unsigned] = ACTIONS(1142),
+    [anon_sym_long] = ACTIONS(1142),
+    [anon_sym_short] = ACTIONS(1142),
+    [anon_sym_static] = ACTIONS(1142),
+    [anon_sym_auto] = ACTIONS(1142),
+    [anon_sym_register] = ACTIONS(1142),
+    [anon_sym_inline] = ACTIONS(1142),
+    [anon_sym___inline] = ACTIONS(1142),
+    [anon_sym___inline__] = ACTIONS(1142),
+    [anon_sym___forceinline] = ACTIONS(1142),
+    [anon_sym_thread_local] = ACTIONS(1142),
+    [anon_sym___thread] = ACTIONS(1142),
+    [anon_sym_const] = ACTIONS(1142),
+    [anon_sym_constexpr] = ACTIONS(1142),
+    [anon_sym_volatile] = ACTIONS(1142),
+    [anon_sym_restrict] = ACTIONS(1142),
+    [anon_sym___restrict__] = ACTIONS(1142),
+    [anon_sym__Atomic] = ACTIONS(1142),
+    [anon_sym__Noreturn] = ACTIONS(1142),
+    [anon_sym_noreturn] = ACTIONS(1142),
+    [anon_sym__Nonnull] = ACTIONS(1142),
+    [anon_sym_alignas] = ACTIONS(1142),
+    [anon_sym__Alignas] = ACTIONS(1142),
+    [sym_primitive_type] = ACTIONS(1142),
+    [anon_sym_enum] = ACTIONS(1142),
+    [anon_sym_struct] = ACTIONS(1142),
+    [anon_sym_union] = ACTIONS(1142),
+    [anon_sym_if] = ACTIONS(1142),
+    [anon_sym_else] = ACTIONS(1142),
+    [anon_sym_switch] = ACTIONS(1142),
+    [anon_sym_case] = ACTIONS(1142),
+    [anon_sym_default] = ACTIONS(1142),
+    [anon_sym_while] = ACTIONS(1142),
+    [anon_sym_do] = ACTIONS(1142),
+    [anon_sym_for] = ACTIONS(1142),
+    [anon_sym_return] = ACTIONS(1142),
+    [anon_sym_break] = ACTIONS(1142),
+    [anon_sym_continue] = ACTIONS(1142),
+    [anon_sym_goto] = ACTIONS(1142),
+    [anon_sym___try] = ACTIONS(1142),
+    [anon_sym___leave] = ACTIONS(1142),
+    [anon_sym_DASH_DASH] = ACTIONS(1144),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1144),
+    [anon_sym_sizeof] = ACTIONS(1142),
+    [anon_sym___alignof__] = ACTIONS(1142),
+    [anon_sym___alignof] = ACTIONS(1142),
+    [anon_sym__alignof] = ACTIONS(1142),
+    [anon_sym_alignof] = ACTIONS(1142),
+    [anon_sym__Alignof] = ACTIONS(1142),
+    [anon_sym_offsetof] = ACTIONS(1142),
+    [anon_sym__Generic] = ACTIONS(1142),
+    [anon_sym_asm] = ACTIONS(1142),
+    [anon_sym___asm__] = ACTIONS(1142),
+    [anon_sym___asm] = ACTIONS(1142),
+    [sym_number_literal] = ACTIONS(1144),
+    [anon_sym_L_SQUOTE] = ACTIONS(1144),
+    [anon_sym_u_SQUOTE] = ACTIONS(1144),
+    [anon_sym_U_SQUOTE] = ACTIONS(1144),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1144),
+    [anon_sym_SQUOTE] = ACTIONS(1144),
+    [anon_sym_L_DQUOTE] = ACTIONS(1144),
+    [anon_sym_u_DQUOTE] = ACTIONS(1144),
+    [anon_sym_U_DQUOTE] = ACTIONS(1144),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1144),
+    [anon_sym_DQUOTE] = ACTIONS(1144),
+    [sym_true] = ACTIONS(1142),
+    [sym_false] = ACTIONS(1142),
+    [anon_sym_NULL] = ACTIONS(1142),
+    [anon_sym_nullptr] = ACTIONS(1142),
     [sym_comment] = ACTIONS(3),
   },
   [226] = {
-    [sym_identifier] = ACTIONS(1221),
-    [aux_sym_preproc_include_token1] = ACTIONS(1221),
-    [aux_sym_preproc_def_token1] = ACTIONS(1221),
-    [aux_sym_preproc_if_token1] = ACTIONS(1221),
-    [aux_sym_preproc_if_token2] = ACTIONS(1221),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1221),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1221),
-    [sym_preproc_directive] = ACTIONS(1221),
-    [anon_sym_LPAREN2] = ACTIONS(1223),
-    [anon_sym_BANG] = ACTIONS(1223),
-    [anon_sym_TILDE] = ACTIONS(1223),
-    [anon_sym_DASH] = ACTIONS(1221),
-    [anon_sym_PLUS] = ACTIONS(1221),
-    [anon_sym_STAR] = ACTIONS(1223),
-    [anon_sym_AMP] = ACTIONS(1223),
-    [anon_sym_SEMI] = ACTIONS(1223),
-    [anon_sym___extension__] = ACTIONS(1221),
-    [anon_sym_typedef] = ACTIONS(1221),
-    [anon_sym_extern] = ACTIONS(1221),
-    [anon_sym___attribute__] = ACTIONS(1221),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1223),
-    [anon_sym___declspec] = ACTIONS(1221),
-    [anon_sym___cdecl] = ACTIONS(1221),
-    [anon_sym___clrcall] = ACTIONS(1221),
-    [anon_sym___stdcall] = ACTIONS(1221),
-    [anon_sym___fastcall] = ACTIONS(1221),
-    [anon_sym___thiscall] = ACTIONS(1221),
-    [anon_sym___vectorcall] = ACTIONS(1221),
-    [anon_sym_LBRACE] = ACTIONS(1223),
-    [anon_sym_signed] = ACTIONS(1221),
-    [anon_sym_unsigned] = ACTIONS(1221),
-    [anon_sym_long] = ACTIONS(1221),
-    [anon_sym_short] = ACTIONS(1221),
-    [anon_sym_static] = ACTIONS(1221),
-    [anon_sym_auto] = ACTIONS(1221),
-    [anon_sym_register] = ACTIONS(1221),
-    [anon_sym_inline] = ACTIONS(1221),
-    [anon_sym___inline] = ACTIONS(1221),
-    [anon_sym___inline__] = ACTIONS(1221),
-    [anon_sym___forceinline] = ACTIONS(1221),
-    [anon_sym_thread_local] = ACTIONS(1221),
-    [anon_sym___thread] = ACTIONS(1221),
-    [anon_sym_const] = ACTIONS(1221),
-    [anon_sym_constexpr] = ACTIONS(1221),
-    [anon_sym_volatile] = ACTIONS(1221),
-    [anon_sym_restrict] = ACTIONS(1221),
-    [anon_sym___restrict__] = ACTIONS(1221),
-    [anon_sym__Atomic] = ACTIONS(1221),
-    [anon_sym__Noreturn] = ACTIONS(1221),
-    [anon_sym_noreturn] = ACTIONS(1221),
-    [anon_sym__Nonnull] = ACTIONS(1221),
-    [anon_sym_alignas] = ACTIONS(1221),
-    [anon_sym__Alignas] = ACTIONS(1221),
-    [sym_primitive_type] = ACTIONS(1221),
-    [anon_sym_enum] = ACTIONS(1221),
-    [anon_sym_struct] = ACTIONS(1221),
-    [anon_sym_union] = ACTIONS(1221),
-    [anon_sym_if] = ACTIONS(1221),
-    [anon_sym_else] = ACTIONS(1221),
-    [anon_sym_switch] = ACTIONS(1221),
-    [anon_sym_case] = ACTIONS(1221),
-    [anon_sym_default] = ACTIONS(1221),
-    [anon_sym_while] = ACTIONS(1221),
-    [anon_sym_do] = ACTIONS(1221),
-    [anon_sym_for] = ACTIONS(1221),
-    [anon_sym_return] = ACTIONS(1221),
-    [anon_sym_break] = ACTIONS(1221),
-    [anon_sym_continue] = ACTIONS(1221),
-    [anon_sym_goto] = ACTIONS(1221),
-    [anon_sym___try] = ACTIONS(1221),
-    [anon_sym___leave] = ACTIONS(1221),
-    [anon_sym_DASH_DASH] = ACTIONS(1223),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1223),
-    [anon_sym_sizeof] = ACTIONS(1221),
-    [anon_sym___alignof__] = ACTIONS(1221),
-    [anon_sym___alignof] = ACTIONS(1221),
-    [anon_sym__alignof] = ACTIONS(1221),
-    [anon_sym_alignof] = ACTIONS(1221),
-    [anon_sym__Alignof] = ACTIONS(1221),
-    [anon_sym_offsetof] = ACTIONS(1221),
-    [anon_sym__Generic] = ACTIONS(1221),
-    [anon_sym_asm] = ACTIONS(1221),
-    [anon_sym___asm__] = ACTIONS(1221),
-    [anon_sym___asm] = ACTIONS(1221),
-    [sym_number_literal] = ACTIONS(1223),
-    [anon_sym_L_SQUOTE] = ACTIONS(1223),
-    [anon_sym_u_SQUOTE] = ACTIONS(1223),
-    [anon_sym_U_SQUOTE] = ACTIONS(1223),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1223),
-    [anon_sym_SQUOTE] = ACTIONS(1223),
-    [anon_sym_L_DQUOTE] = ACTIONS(1223),
-    [anon_sym_u_DQUOTE] = ACTIONS(1223),
-    [anon_sym_U_DQUOTE] = ACTIONS(1223),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1223),
-    [anon_sym_DQUOTE] = ACTIONS(1223),
-    [sym_true] = ACTIONS(1221),
-    [sym_false] = ACTIONS(1221),
-    [anon_sym_NULL] = ACTIONS(1221),
-    [anon_sym_nullptr] = ACTIONS(1221),
+    [ts_builtin_sym_end] = ACTIONS(1148),
+    [sym_identifier] = ACTIONS(1146),
+    [aux_sym_preproc_include_token1] = ACTIONS(1146),
+    [aux_sym_preproc_def_token1] = ACTIONS(1146),
+    [aux_sym_preproc_if_token1] = ACTIONS(1146),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1146),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1146),
+    [sym_preproc_directive] = ACTIONS(1146),
+    [anon_sym_LPAREN2] = ACTIONS(1148),
+    [anon_sym_BANG] = ACTIONS(1148),
+    [anon_sym_TILDE] = ACTIONS(1148),
+    [anon_sym_DASH] = ACTIONS(1146),
+    [anon_sym_PLUS] = ACTIONS(1146),
+    [anon_sym_STAR] = ACTIONS(1148),
+    [anon_sym_AMP] = ACTIONS(1148),
+    [anon_sym_SEMI] = ACTIONS(1148),
+    [anon_sym___extension__] = ACTIONS(1146),
+    [anon_sym_typedef] = ACTIONS(1146),
+    [anon_sym_extern] = ACTIONS(1146),
+    [anon_sym___attribute__] = ACTIONS(1146),
+    [anon_sym___attribute] = ACTIONS(1146),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1148),
+    [anon_sym___declspec] = ACTIONS(1146),
+    [anon_sym___cdecl] = ACTIONS(1146),
+    [anon_sym___clrcall] = ACTIONS(1146),
+    [anon_sym___stdcall] = ACTIONS(1146),
+    [anon_sym___fastcall] = ACTIONS(1146),
+    [anon_sym___thiscall] = ACTIONS(1146),
+    [anon_sym___vectorcall] = ACTIONS(1146),
+    [anon_sym_LBRACE] = ACTIONS(1148),
+    [anon_sym_signed] = ACTIONS(1146),
+    [anon_sym_unsigned] = ACTIONS(1146),
+    [anon_sym_long] = ACTIONS(1146),
+    [anon_sym_short] = ACTIONS(1146),
+    [anon_sym_static] = ACTIONS(1146),
+    [anon_sym_auto] = ACTIONS(1146),
+    [anon_sym_register] = ACTIONS(1146),
+    [anon_sym_inline] = ACTIONS(1146),
+    [anon_sym___inline] = ACTIONS(1146),
+    [anon_sym___inline__] = ACTIONS(1146),
+    [anon_sym___forceinline] = ACTIONS(1146),
+    [anon_sym_thread_local] = ACTIONS(1146),
+    [anon_sym___thread] = ACTIONS(1146),
+    [anon_sym_const] = ACTIONS(1146),
+    [anon_sym_constexpr] = ACTIONS(1146),
+    [anon_sym_volatile] = ACTIONS(1146),
+    [anon_sym_restrict] = ACTIONS(1146),
+    [anon_sym___restrict__] = ACTIONS(1146),
+    [anon_sym__Atomic] = ACTIONS(1146),
+    [anon_sym__Noreturn] = ACTIONS(1146),
+    [anon_sym_noreturn] = ACTIONS(1146),
+    [anon_sym__Nonnull] = ACTIONS(1146),
+    [anon_sym_alignas] = ACTIONS(1146),
+    [anon_sym__Alignas] = ACTIONS(1146),
+    [sym_primitive_type] = ACTIONS(1146),
+    [anon_sym_enum] = ACTIONS(1146),
+    [anon_sym_struct] = ACTIONS(1146),
+    [anon_sym_union] = ACTIONS(1146),
+    [anon_sym_if] = ACTIONS(1146),
+    [anon_sym_else] = ACTIONS(1146),
+    [anon_sym_switch] = ACTIONS(1146),
+    [anon_sym_case] = ACTIONS(1146),
+    [anon_sym_default] = ACTIONS(1146),
+    [anon_sym_while] = ACTIONS(1146),
+    [anon_sym_do] = ACTIONS(1146),
+    [anon_sym_for] = ACTIONS(1146),
+    [anon_sym_return] = ACTIONS(1146),
+    [anon_sym_break] = ACTIONS(1146),
+    [anon_sym_continue] = ACTIONS(1146),
+    [anon_sym_goto] = ACTIONS(1146),
+    [anon_sym___try] = ACTIONS(1146),
+    [anon_sym___leave] = ACTIONS(1146),
+    [anon_sym_DASH_DASH] = ACTIONS(1148),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1148),
+    [anon_sym_sizeof] = ACTIONS(1146),
+    [anon_sym___alignof__] = ACTIONS(1146),
+    [anon_sym___alignof] = ACTIONS(1146),
+    [anon_sym__alignof] = ACTIONS(1146),
+    [anon_sym_alignof] = ACTIONS(1146),
+    [anon_sym__Alignof] = ACTIONS(1146),
+    [anon_sym_offsetof] = ACTIONS(1146),
+    [anon_sym__Generic] = ACTIONS(1146),
+    [anon_sym_asm] = ACTIONS(1146),
+    [anon_sym___asm__] = ACTIONS(1146),
+    [anon_sym___asm] = ACTIONS(1146),
+    [sym_number_literal] = ACTIONS(1148),
+    [anon_sym_L_SQUOTE] = ACTIONS(1148),
+    [anon_sym_u_SQUOTE] = ACTIONS(1148),
+    [anon_sym_U_SQUOTE] = ACTIONS(1148),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1148),
+    [anon_sym_SQUOTE] = ACTIONS(1148),
+    [anon_sym_L_DQUOTE] = ACTIONS(1148),
+    [anon_sym_u_DQUOTE] = ACTIONS(1148),
+    [anon_sym_U_DQUOTE] = ACTIONS(1148),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1148),
+    [anon_sym_DQUOTE] = ACTIONS(1148),
+    [sym_true] = ACTIONS(1146),
+    [sym_false] = ACTIONS(1146),
+    [anon_sym_NULL] = ACTIONS(1146),
+    [anon_sym_nullptr] = ACTIONS(1146),
     [sym_comment] = ACTIONS(3),
   },
   [227] = {
-    [sym_identifier] = ACTIONS(1225),
-    [aux_sym_preproc_include_token1] = ACTIONS(1225),
-    [aux_sym_preproc_def_token1] = ACTIONS(1225),
-    [aux_sym_preproc_if_token1] = ACTIONS(1225),
-    [aux_sym_preproc_if_token2] = ACTIONS(1225),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1225),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1225),
-    [sym_preproc_directive] = ACTIONS(1225),
-    [anon_sym_LPAREN2] = ACTIONS(1227),
-    [anon_sym_BANG] = ACTIONS(1227),
-    [anon_sym_TILDE] = ACTIONS(1227),
-    [anon_sym_DASH] = ACTIONS(1225),
-    [anon_sym_PLUS] = ACTIONS(1225),
-    [anon_sym_STAR] = ACTIONS(1227),
-    [anon_sym_AMP] = ACTIONS(1227),
-    [anon_sym_SEMI] = ACTIONS(1227),
-    [anon_sym___extension__] = ACTIONS(1225),
-    [anon_sym_typedef] = ACTIONS(1225),
-    [anon_sym_extern] = ACTIONS(1225),
-    [anon_sym___attribute__] = ACTIONS(1225),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1227),
-    [anon_sym___declspec] = ACTIONS(1225),
-    [anon_sym___cdecl] = ACTIONS(1225),
-    [anon_sym___clrcall] = ACTIONS(1225),
-    [anon_sym___stdcall] = ACTIONS(1225),
-    [anon_sym___fastcall] = ACTIONS(1225),
-    [anon_sym___thiscall] = ACTIONS(1225),
-    [anon_sym___vectorcall] = ACTIONS(1225),
-    [anon_sym_LBRACE] = ACTIONS(1227),
-    [anon_sym_signed] = ACTIONS(1225),
-    [anon_sym_unsigned] = ACTIONS(1225),
-    [anon_sym_long] = ACTIONS(1225),
-    [anon_sym_short] = ACTIONS(1225),
-    [anon_sym_static] = ACTIONS(1225),
-    [anon_sym_auto] = ACTIONS(1225),
-    [anon_sym_register] = ACTIONS(1225),
-    [anon_sym_inline] = ACTIONS(1225),
-    [anon_sym___inline] = ACTIONS(1225),
-    [anon_sym___inline__] = ACTIONS(1225),
-    [anon_sym___forceinline] = ACTIONS(1225),
-    [anon_sym_thread_local] = ACTIONS(1225),
-    [anon_sym___thread] = ACTIONS(1225),
-    [anon_sym_const] = ACTIONS(1225),
-    [anon_sym_constexpr] = ACTIONS(1225),
-    [anon_sym_volatile] = ACTIONS(1225),
-    [anon_sym_restrict] = ACTIONS(1225),
-    [anon_sym___restrict__] = ACTIONS(1225),
-    [anon_sym__Atomic] = ACTIONS(1225),
-    [anon_sym__Noreturn] = ACTIONS(1225),
-    [anon_sym_noreturn] = ACTIONS(1225),
-    [anon_sym__Nonnull] = ACTIONS(1225),
-    [anon_sym_alignas] = ACTIONS(1225),
-    [anon_sym__Alignas] = ACTIONS(1225),
-    [sym_primitive_type] = ACTIONS(1225),
-    [anon_sym_enum] = ACTIONS(1225),
-    [anon_sym_struct] = ACTIONS(1225),
-    [anon_sym_union] = ACTIONS(1225),
-    [anon_sym_if] = ACTIONS(1225),
-    [anon_sym_else] = ACTIONS(1225),
-    [anon_sym_switch] = ACTIONS(1225),
-    [anon_sym_case] = ACTIONS(1225),
-    [anon_sym_default] = ACTIONS(1225),
-    [anon_sym_while] = ACTIONS(1225),
-    [anon_sym_do] = ACTIONS(1225),
-    [anon_sym_for] = ACTIONS(1225),
-    [anon_sym_return] = ACTIONS(1225),
-    [anon_sym_break] = ACTIONS(1225),
-    [anon_sym_continue] = ACTIONS(1225),
-    [anon_sym_goto] = ACTIONS(1225),
-    [anon_sym___try] = ACTIONS(1225),
-    [anon_sym___leave] = ACTIONS(1225),
-    [anon_sym_DASH_DASH] = ACTIONS(1227),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1227),
-    [anon_sym_sizeof] = ACTIONS(1225),
-    [anon_sym___alignof__] = ACTIONS(1225),
-    [anon_sym___alignof] = ACTIONS(1225),
-    [anon_sym__alignof] = ACTIONS(1225),
-    [anon_sym_alignof] = ACTIONS(1225),
-    [anon_sym__Alignof] = ACTIONS(1225),
-    [anon_sym_offsetof] = ACTIONS(1225),
-    [anon_sym__Generic] = ACTIONS(1225),
-    [anon_sym_asm] = ACTIONS(1225),
-    [anon_sym___asm__] = ACTIONS(1225),
-    [anon_sym___asm] = ACTIONS(1225),
-    [sym_number_literal] = ACTIONS(1227),
-    [anon_sym_L_SQUOTE] = ACTIONS(1227),
-    [anon_sym_u_SQUOTE] = ACTIONS(1227),
-    [anon_sym_U_SQUOTE] = ACTIONS(1227),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1227),
-    [anon_sym_SQUOTE] = ACTIONS(1227),
-    [anon_sym_L_DQUOTE] = ACTIONS(1227),
-    [anon_sym_u_DQUOTE] = ACTIONS(1227),
-    [anon_sym_U_DQUOTE] = ACTIONS(1227),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1227),
-    [anon_sym_DQUOTE] = ACTIONS(1227),
-    [sym_true] = ACTIONS(1225),
-    [sym_false] = ACTIONS(1225),
-    [anon_sym_NULL] = ACTIONS(1225),
-    [anon_sym_nullptr] = ACTIONS(1225),
+    [ts_builtin_sym_end] = ACTIONS(1152),
+    [sym_identifier] = ACTIONS(1150),
+    [aux_sym_preproc_include_token1] = ACTIONS(1150),
+    [aux_sym_preproc_def_token1] = ACTIONS(1150),
+    [aux_sym_preproc_if_token1] = ACTIONS(1150),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1150),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1150),
+    [sym_preproc_directive] = ACTIONS(1150),
+    [anon_sym_LPAREN2] = ACTIONS(1152),
+    [anon_sym_BANG] = ACTIONS(1152),
+    [anon_sym_TILDE] = ACTIONS(1152),
+    [anon_sym_DASH] = ACTIONS(1150),
+    [anon_sym_PLUS] = ACTIONS(1150),
+    [anon_sym_STAR] = ACTIONS(1152),
+    [anon_sym_AMP] = ACTIONS(1152),
+    [anon_sym_SEMI] = ACTIONS(1152),
+    [anon_sym___extension__] = ACTIONS(1150),
+    [anon_sym_typedef] = ACTIONS(1150),
+    [anon_sym_extern] = ACTIONS(1150),
+    [anon_sym___attribute__] = ACTIONS(1150),
+    [anon_sym___attribute] = ACTIONS(1150),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1152),
+    [anon_sym___declspec] = ACTIONS(1150),
+    [anon_sym___cdecl] = ACTIONS(1150),
+    [anon_sym___clrcall] = ACTIONS(1150),
+    [anon_sym___stdcall] = ACTIONS(1150),
+    [anon_sym___fastcall] = ACTIONS(1150),
+    [anon_sym___thiscall] = ACTIONS(1150),
+    [anon_sym___vectorcall] = ACTIONS(1150),
+    [anon_sym_LBRACE] = ACTIONS(1152),
+    [anon_sym_signed] = ACTIONS(1150),
+    [anon_sym_unsigned] = ACTIONS(1150),
+    [anon_sym_long] = ACTIONS(1150),
+    [anon_sym_short] = ACTIONS(1150),
+    [anon_sym_static] = ACTIONS(1150),
+    [anon_sym_auto] = ACTIONS(1150),
+    [anon_sym_register] = ACTIONS(1150),
+    [anon_sym_inline] = ACTIONS(1150),
+    [anon_sym___inline] = ACTIONS(1150),
+    [anon_sym___inline__] = ACTIONS(1150),
+    [anon_sym___forceinline] = ACTIONS(1150),
+    [anon_sym_thread_local] = ACTIONS(1150),
+    [anon_sym___thread] = ACTIONS(1150),
+    [anon_sym_const] = ACTIONS(1150),
+    [anon_sym_constexpr] = ACTIONS(1150),
+    [anon_sym_volatile] = ACTIONS(1150),
+    [anon_sym_restrict] = ACTIONS(1150),
+    [anon_sym___restrict__] = ACTIONS(1150),
+    [anon_sym__Atomic] = ACTIONS(1150),
+    [anon_sym__Noreturn] = ACTIONS(1150),
+    [anon_sym_noreturn] = ACTIONS(1150),
+    [anon_sym__Nonnull] = ACTIONS(1150),
+    [anon_sym_alignas] = ACTIONS(1150),
+    [anon_sym__Alignas] = ACTIONS(1150),
+    [sym_primitive_type] = ACTIONS(1150),
+    [anon_sym_enum] = ACTIONS(1150),
+    [anon_sym_struct] = ACTIONS(1150),
+    [anon_sym_union] = ACTIONS(1150),
+    [anon_sym_if] = ACTIONS(1150),
+    [anon_sym_else] = ACTIONS(1150),
+    [anon_sym_switch] = ACTIONS(1150),
+    [anon_sym_case] = ACTIONS(1150),
+    [anon_sym_default] = ACTIONS(1150),
+    [anon_sym_while] = ACTIONS(1150),
+    [anon_sym_do] = ACTIONS(1150),
+    [anon_sym_for] = ACTIONS(1150),
+    [anon_sym_return] = ACTIONS(1150),
+    [anon_sym_break] = ACTIONS(1150),
+    [anon_sym_continue] = ACTIONS(1150),
+    [anon_sym_goto] = ACTIONS(1150),
+    [anon_sym___try] = ACTIONS(1150),
+    [anon_sym___leave] = ACTIONS(1150),
+    [anon_sym_DASH_DASH] = ACTIONS(1152),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1152),
+    [anon_sym_sizeof] = ACTIONS(1150),
+    [anon_sym___alignof__] = ACTIONS(1150),
+    [anon_sym___alignof] = ACTIONS(1150),
+    [anon_sym__alignof] = ACTIONS(1150),
+    [anon_sym_alignof] = ACTIONS(1150),
+    [anon_sym__Alignof] = ACTIONS(1150),
+    [anon_sym_offsetof] = ACTIONS(1150),
+    [anon_sym__Generic] = ACTIONS(1150),
+    [anon_sym_asm] = ACTIONS(1150),
+    [anon_sym___asm__] = ACTIONS(1150),
+    [anon_sym___asm] = ACTIONS(1150),
+    [sym_number_literal] = ACTIONS(1152),
+    [anon_sym_L_SQUOTE] = ACTIONS(1152),
+    [anon_sym_u_SQUOTE] = ACTIONS(1152),
+    [anon_sym_U_SQUOTE] = ACTIONS(1152),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1152),
+    [anon_sym_SQUOTE] = ACTIONS(1152),
+    [anon_sym_L_DQUOTE] = ACTIONS(1152),
+    [anon_sym_u_DQUOTE] = ACTIONS(1152),
+    [anon_sym_U_DQUOTE] = ACTIONS(1152),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1152),
+    [anon_sym_DQUOTE] = ACTIONS(1152),
+    [sym_true] = ACTIONS(1150),
+    [sym_false] = ACTIONS(1150),
+    [anon_sym_NULL] = ACTIONS(1150),
+    [anon_sym_nullptr] = ACTIONS(1150),
     [sym_comment] = ACTIONS(3),
   },
   [228] = {
-    [sym_identifier] = ACTIONS(1229),
-    [aux_sym_preproc_include_token1] = ACTIONS(1229),
-    [aux_sym_preproc_def_token1] = ACTIONS(1229),
-    [aux_sym_preproc_if_token1] = ACTIONS(1229),
-    [aux_sym_preproc_if_token2] = ACTIONS(1229),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1229),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1229),
-    [sym_preproc_directive] = ACTIONS(1229),
-    [anon_sym_LPAREN2] = ACTIONS(1231),
-    [anon_sym_BANG] = ACTIONS(1231),
-    [anon_sym_TILDE] = ACTIONS(1231),
-    [anon_sym_DASH] = ACTIONS(1229),
-    [anon_sym_PLUS] = ACTIONS(1229),
-    [anon_sym_STAR] = ACTIONS(1231),
-    [anon_sym_AMP] = ACTIONS(1231),
-    [anon_sym_SEMI] = ACTIONS(1231),
-    [anon_sym___extension__] = ACTIONS(1229),
-    [anon_sym_typedef] = ACTIONS(1229),
-    [anon_sym_extern] = ACTIONS(1229),
-    [anon_sym___attribute__] = ACTIONS(1229),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1231),
-    [anon_sym___declspec] = ACTIONS(1229),
-    [anon_sym___cdecl] = ACTIONS(1229),
-    [anon_sym___clrcall] = ACTIONS(1229),
-    [anon_sym___stdcall] = ACTIONS(1229),
-    [anon_sym___fastcall] = ACTIONS(1229),
-    [anon_sym___thiscall] = ACTIONS(1229),
-    [anon_sym___vectorcall] = ACTIONS(1229),
-    [anon_sym_LBRACE] = ACTIONS(1231),
-    [anon_sym_signed] = ACTIONS(1229),
-    [anon_sym_unsigned] = ACTIONS(1229),
-    [anon_sym_long] = ACTIONS(1229),
-    [anon_sym_short] = ACTIONS(1229),
-    [anon_sym_static] = ACTIONS(1229),
-    [anon_sym_auto] = ACTIONS(1229),
-    [anon_sym_register] = ACTIONS(1229),
-    [anon_sym_inline] = ACTIONS(1229),
-    [anon_sym___inline] = ACTIONS(1229),
-    [anon_sym___inline__] = ACTIONS(1229),
-    [anon_sym___forceinline] = ACTIONS(1229),
-    [anon_sym_thread_local] = ACTIONS(1229),
-    [anon_sym___thread] = ACTIONS(1229),
-    [anon_sym_const] = ACTIONS(1229),
-    [anon_sym_constexpr] = ACTIONS(1229),
-    [anon_sym_volatile] = ACTIONS(1229),
-    [anon_sym_restrict] = ACTIONS(1229),
-    [anon_sym___restrict__] = ACTIONS(1229),
-    [anon_sym__Atomic] = ACTIONS(1229),
-    [anon_sym__Noreturn] = ACTIONS(1229),
-    [anon_sym_noreturn] = ACTIONS(1229),
-    [anon_sym__Nonnull] = ACTIONS(1229),
-    [anon_sym_alignas] = ACTIONS(1229),
-    [anon_sym__Alignas] = ACTIONS(1229),
-    [sym_primitive_type] = ACTIONS(1229),
-    [anon_sym_enum] = ACTIONS(1229),
-    [anon_sym_struct] = ACTIONS(1229),
-    [anon_sym_union] = ACTIONS(1229),
-    [anon_sym_if] = ACTIONS(1229),
-    [anon_sym_else] = ACTIONS(1229),
-    [anon_sym_switch] = ACTIONS(1229),
-    [anon_sym_case] = ACTIONS(1229),
-    [anon_sym_default] = ACTIONS(1229),
-    [anon_sym_while] = ACTIONS(1229),
-    [anon_sym_do] = ACTIONS(1229),
-    [anon_sym_for] = ACTIONS(1229),
-    [anon_sym_return] = ACTIONS(1229),
-    [anon_sym_break] = ACTIONS(1229),
-    [anon_sym_continue] = ACTIONS(1229),
-    [anon_sym_goto] = ACTIONS(1229),
-    [anon_sym___try] = ACTIONS(1229),
-    [anon_sym___leave] = ACTIONS(1229),
-    [anon_sym_DASH_DASH] = ACTIONS(1231),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1231),
-    [anon_sym_sizeof] = ACTIONS(1229),
-    [anon_sym___alignof__] = ACTIONS(1229),
-    [anon_sym___alignof] = ACTIONS(1229),
-    [anon_sym__alignof] = ACTIONS(1229),
-    [anon_sym_alignof] = ACTIONS(1229),
-    [anon_sym__Alignof] = ACTIONS(1229),
-    [anon_sym_offsetof] = ACTIONS(1229),
-    [anon_sym__Generic] = ACTIONS(1229),
-    [anon_sym_asm] = ACTIONS(1229),
-    [anon_sym___asm__] = ACTIONS(1229),
-    [anon_sym___asm] = ACTIONS(1229),
-    [sym_number_literal] = ACTIONS(1231),
-    [anon_sym_L_SQUOTE] = ACTIONS(1231),
-    [anon_sym_u_SQUOTE] = ACTIONS(1231),
-    [anon_sym_U_SQUOTE] = ACTIONS(1231),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1231),
-    [anon_sym_SQUOTE] = ACTIONS(1231),
-    [anon_sym_L_DQUOTE] = ACTIONS(1231),
-    [anon_sym_u_DQUOTE] = ACTIONS(1231),
-    [anon_sym_U_DQUOTE] = ACTIONS(1231),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1231),
-    [anon_sym_DQUOTE] = ACTIONS(1231),
-    [sym_true] = ACTIONS(1229),
-    [sym_false] = ACTIONS(1229),
-    [anon_sym_NULL] = ACTIONS(1229),
-    [anon_sym_nullptr] = ACTIONS(1229),
+    [ts_builtin_sym_end] = ACTIONS(1156),
+    [sym_identifier] = ACTIONS(1154),
+    [aux_sym_preproc_include_token1] = ACTIONS(1154),
+    [aux_sym_preproc_def_token1] = ACTIONS(1154),
+    [aux_sym_preproc_if_token1] = ACTIONS(1154),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1154),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1154),
+    [sym_preproc_directive] = ACTIONS(1154),
+    [anon_sym_LPAREN2] = ACTIONS(1156),
+    [anon_sym_BANG] = ACTIONS(1156),
+    [anon_sym_TILDE] = ACTIONS(1156),
+    [anon_sym_DASH] = ACTIONS(1154),
+    [anon_sym_PLUS] = ACTIONS(1154),
+    [anon_sym_STAR] = ACTIONS(1156),
+    [anon_sym_AMP] = ACTIONS(1156),
+    [anon_sym_SEMI] = ACTIONS(1156),
+    [anon_sym___extension__] = ACTIONS(1154),
+    [anon_sym_typedef] = ACTIONS(1154),
+    [anon_sym_extern] = ACTIONS(1154),
+    [anon_sym___attribute__] = ACTIONS(1154),
+    [anon_sym___attribute] = ACTIONS(1154),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1156),
+    [anon_sym___declspec] = ACTIONS(1154),
+    [anon_sym___cdecl] = ACTIONS(1154),
+    [anon_sym___clrcall] = ACTIONS(1154),
+    [anon_sym___stdcall] = ACTIONS(1154),
+    [anon_sym___fastcall] = ACTIONS(1154),
+    [anon_sym___thiscall] = ACTIONS(1154),
+    [anon_sym___vectorcall] = ACTIONS(1154),
+    [anon_sym_LBRACE] = ACTIONS(1156),
+    [anon_sym_signed] = ACTIONS(1154),
+    [anon_sym_unsigned] = ACTIONS(1154),
+    [anon_sym_long] = ACTIONS(1154),
+    [anon_sym_short] = ACTIONS(1154),
+    [anon_sym_static] = ACTIONS(1154),
+    [anon_sym_auto] = ACTIONS(1154),
+    [anon_sym_register] = ACTIONS(1154),
+    [anon_sym_inline] = ACTIONS(1154),
+    [anon_sym___inline] = ACTIONS(1154),
+    [anon_sym___inline__] = ACTIONS(1154),
+    [anon_sym___forceinline] = ACTIONS(1154),
+    [anon_sym_thread_local] = ACTIONS(1154),
+    [anon_sym___thread] = ACTIONS(1154),
+    [anon_sym_const] = ACTIONS(1154),
+    [anon_sym_constexpr] = ACTIONS(1154),
+    [anon_sym_volatile] = ACTIONS(1154),
+    [anon_sym_restrict] = ACTIONS(1154),
+    [anon_sym___restrict__] = ACTIONS(1154),
+    [anon_sym__Atomic] = ACTIONS(1154),
+    [anon_sym__Noreturn] = ACTIONS(1154),
+    [anon_sym_noreturn] = ACTIONS(1154),
+    [anon_sym__Nonnull] = ACTIONS(1154),
+    [anon_sym_alignas] = ACTIONS(1154),
+    [anon_sym__Alignas] = ACTIONS(1154),
+    [sym_primitive_type] = ACTIONS(1154),
+    [anon_sym_enum] = ACTIONS(1154),
+    [anon_sym_struct] = ACTIONS(1154),
+    [anon_sym_union] = ACTIONS(1154),
+    [anon_sym_if] = ACTIONS(1154),
+    [anon_sym_else] = ACTIONS(1154),
+    [anon_sym_switch] = ACTIONS(1154),
+    [anon_sym_case] = ACTIONS(1154),
+    [anon_sym_default] = ACTIONS(1154),
+    [anon_sym_while] = ACTIONS(1154),
+    [anon_sym_do] = ACTIONS(1154),
+    [anon_sym_for] = ACTIONS(1154),
+    [anon_sym_return] = ACTIONS(1154),
+    [anon_sym_break] = ACTIONS(1154),
+    [anon_sym_continue] = ACTIONS(1154),
+    [anon_sym_goto] = ACTIONS(1154),
+    [anon_sym___try] = ACTIONS(1154),
+    [anon_sym___leave] = ACTIONS(1154),
+    [anon_sym_DASH_DASH] = ACTIONS(1156),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1156),
+    [anon_sym_sizeof] = ACTIONS(1154),
+    [anon_sym___alignof__] = ACTIONS(1154),
+    [anon_sym___alignof] = ACTIONS(1154),
+    [anon_sym__alignof] = ACTIONS(1154),
+    [anon_sym_alignof] = ACTIONS(1154),
+    [anon_sym__Alignof] = ACTIONS(1154),
+    [anon_sym_offsetof] = ACTIONS(1154),
+    [anon_sym__Generic] = ACTIONS(1154),
+    [anon_sym_asm] = ACTIONS(1154),
+    [anon_sym___asm__] = ACTIONS(1154),
+    [anon_sym___asm] = ACTIONS(1154),
+    [sym_number_literal] = ACTIONS(1156),
+    [anon_sym_L_SQUOTE] = ACTIONS(1156),
+    [anon_sym_u_SQUOTE] = ACTIONS(1156),
+    [anon_sym_U_SQUOTE] = ACTIONS(1156),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1156),
+    [anon_sym_SQUOTE] = ACTIONS(1156),
+    [anon_sym_L_DQUOTE] = ACTIONS(1156),
+    [anon_sym_u_DQUOTE] = ACTIONS(1156),
+    [anon_sym_U_DQUOTE] = ACTIONS(1156),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1156),
+    [anon_sym_DQUOTE] = ACTIONS(1156),
+    [sym_true] = ACTIONS(1154),
+    [sym_false] = ACTIONS(1154),
+    [anon_sym_NULL] = ACTIONS(1154),
+    [anon_sym_nullptr] = ACTIONS(1154),
     [sym_comment] = ACTIONS(3),
   },
   [229] = {
-    [sym_identifier] = ACTIONS(1241),
-    [aux_sym_preproc_include_token1] = ACTIONS(1241),
-    [aux_sym_preproc_def_token1] = ACTIONS(1241),
-    [aux_sym_preproc_if_token1] = ACTIONS(1241),
-    [aux_sym_preproc_if_token2] = ACTIONS(1241),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1241),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1241),
-    [sym_preproc_directive] = ACTIONS(1241),
-    [anon_sym_LPAREN2] = ACTIONS(1243),
-    [anon_sym_BANG] = ACTIONS(1243),
-    [anon_sym_TILDE] = ACTIONS(1243),
-    [anon_sym_DASH] = ACTIONS(1241),
-    [anon_sym_PLUS] = ACTIONS(1241),
-    [anon_sym_STAR] = ACTIONS(1243),
-    [anon_sym_AMP] = ACTIONS(1243),
-    [anon_sym_SEMI] = ACTIONS(1243),
-    [anon_sym___extension__] = ACTIONS(1241),
-    [anon_sym_typedef] = ACTIONS(1241),
-    [anon_sym_extern] = ACTIONS(1241),
-    [anon_sym___attribute__] = ACTIONS(1241),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1243),
-    [anon_sym___declspec] = ACTIONS(1241),
-    [anon_sym___cdecl] = ACTIONS(1241),
-    [anon_sym___clrcall] = ACTIONS(1241),
-    [anon_sym___stdcall] = ACTIONS(1241),
-    [anon_sym___fastcall] = ACTIONS(1241),
-    [anon_sym___thiscall] = ACTIONS(1241),
-    [anon_sym___vectorcall] = ACTIONS(1241),
-    [anon_sym_LBRACE] = ACTIONS(1243),
-    [anon_sym_signed] = ACTIONS(1241),
-    [anon_sym_unsigned] = ACTIONS(1241),
-    [anon_sym_long] = ACTIONS(1241),
-    [anon_sym_short] = ACTIONS(1241),
-    [anon_sym_static] = ACTIONS(1241),
-    [anon_sym_auto] = ACTIONS(1241),
-    [anon_sym_register] = ACTIONS(1241),
-    [anon_sym_inline] = ACTIONS(1241),
-    [anon_sym___inline] = ACTIONS(1241),
-    [anon_sym___inline__] = ACTIONS(1241),
-    [anon_sym___forceinline] = ACTIONS(1241),
-    [anon_sym_thread_local] = ACTIONS(1241),
-    [anon_sym___thread] = ACTIONS(1241),
-    [anon_sym_const] = ACTIONS(1241),
-    [anon_sym_constexpr] = ACTIONS(1241),
-    [anon_sym_volatile] = ACTIONS(1241),
-    [anon_sym_restrict] = ACTIONS(1241),
-    [anon_sym___restrict__] = ACTIONS(1241),
-    [anon_sym__Atomic] = ACTIONS(1241),
-    [anon_sym__Noreturn] = ACTIONS(1241),
-    [anon_sym_noreturn] = ACTIONS(1241),
-    [anon_sym__Nonnull] = ACTIONS(1241),
-    [anon_sym_alignas] = ACTIONS(1241),
-    [anon_sym__Alignas] = ACTIONS(1241),
-    [sym_primitive_type] = ACTIONS(1241),
-    [anon_sym_enum] = ACTIONS(1241),
-    [anon_sym_struct] = ACTIONS(1241),
-    [anon_sym_union] = ACTIONS(1241),
-    [anon_sym_if] = ACTIONS(1241),
-    [anon_sym_else] = ACTIONS(1241),
-    [anon_sym_switch] = ACTIONS(1241),
-    [anon_sym_case] = ACTIONS(1241),
-    [anon_sym_default] = ACTIONS(1241),
-    [anon_sym_while] = ACTIONS(1241),
-    [anon_sym_do] = ACTIONS(1241),
-    [anon_sym_for] = ACTIONS(1241),
-    [anon_sym_return] = ACTIONS(1241),
-    [anon_sym_break] = ACTIONS(1241),
-    [anon_sym_continue] = ACTIONS(1241),
-    [anon_sym_goto] = ACTIONS(1241),
-    [anon_sym___try] = ACTIONS(1241),
-    [anon_sym___leave] = ACTIONS(1241),
-    [anon_sym_DASH_DASH] = ACTIONS(1243),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1243),
-    [anon_sym_sizeof] = ACTIONS(1241),
-    [anon_sym___alignof__] = ACTIONS(1241),
-    [anon_sym___alignof] = ACTIONS(1241),
-    [anon_sym__alignof] = ACTIONS(1241),
-    [anon_sym_alignof] = ACTIONS(1241),
-    [anon_sym__Alignof] = ACTIONS(1241),
-    [anon_sym_offsetof] = ACTIONS(1241),
-    [anon_sym__Generic] = ACTIONS(1241),
-    [anon_sym_asm] = ACTIONS(1241),
-    [anon_sym___asm__] = ACTIONS(1241),
-    [anon_sym___asm] = ACTIONS(1241),
-    [sym_number_literal] = ACTIONS(1243),
-    [anon_sym_L_SQUOTE] = ACTIONS(1243),
-    [anon_sym_u_SQUOTE] = ACTIONS(1243),
-    [anon_sym_U_SQUOTE] = ACTIONS(1243),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1243),
-    [anon_sym_SQUOTE] = ACTIONS(1243),
-    [anon_sym_L_DQUOTE] = ACTIONS(1243),
-    [anon_sym_u_DQUOTE] = ACTIONS(1243),
-    [anon_sym_U_DQUOTE] = ACTIONS(1243),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1243),
-    [anon_sym_DQUOTE] = ACTIONS(1243),
-    [sym_true] = ACTIONS(1241),
-    [sym_false] = ACTIONS(1241),
-    [anon_sym_NULL] = ACTIONS(1241),
-    [anon_sym_nullptr] = ACTIONS(1241),
+    [ts_builtin_sym_end] = ACTIONS(1216),
+    [sym_identifier] = ACTIONS(1214),
+    [aux_sym_preproc_include_token1] = ACTIONS(1214),
+    [aux_sym_preproc_def_token1] = ACTIONS(1214),
+    [aux_sym_preproc_if_token1] = ACTIONS(1214),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1214),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1214),
+    [sym_preproc_directive] = ACTIONS(1214),
+    [anon_sym_LPAREN2] = ACTIONS(1216),
+    [anon_sym_BANG] = ACTIONS(1216),
+    [anon_sym_TILDE] = ACTIONS(1216),
+    [anon_sym_DASH] = ACTIONS(1214),
+    [anon_sym_PLUS] = ACTIONS(1214),
+    [anon_sym_STAR] = ACTIONS(1216),
+    [anon_sym_AMP] = ACTIONS(1216),
+    [anon_sym_SEMI] = ACTIONS(1216),
+    [anon_sym___extension__] = ACTIONS(1214),
+    [anon_sym_typedef] = ACTIONS(1214),
+    [anon_sym_extern] = ACTIONS(1214),
+    [anon_sym___attribute__] = ACTIONS(1214),
+    [anon_sym___attribute] = ACTIONS(1214),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1216),
+    [anon_sym___declspec] = ACTIONS(1214),
+    [anon_sym___cdecl] = ACTIONS(1214),
+    [anon_sym___clrcall] = ACTIONS(1214),
+    [anon_sym___stdcall] = ACTIONS(1214),
+    [anon_sym___fastcall] = ACTIONS(1214),
+    [anon_sym___thiscall] = ACTIONS(1214),
+    [anon_sym___vectorcall] = ACTIONS(1214),
+    [anon_sym_LBRACE] = ACTIONS(1216),
+    [anon_sym_signed] = ACTIONS(1214),
+    [anon_sym_unsigned] = ACTIONS(1214),
+    [anon_sym_long] = ACTIONS(1214),
+    [anon_sym_short] = ACTIONS(1214),
+    [anon_sym_static] = ACTIONS(1214),
+    [anon_sym_auto] = ACTIONS(1214),
+    [anon_sym_register] = ACTIONS(1214),
+    [anon_sym_inline] = ACTIONS(1214),
+    [anon_sym___inline] = ACTIONS(1214),
+    [anon_sym___inline__] = ACTIONS(1214),
+    [anon_sym___forceinline] = ACTIONS(1214),
+    [anon_sym_thread_local] = ACTIONS(1214),
+    [anon_sym___thread] = ACTIONS(1214),
+    [anon_sym_const] = ACTIONS(1214),
+    [anon_sym_constexpr] = ACTIONS(1214),
+    [anon_sym_volatile] = ACTIONS(1214),
+    [anon_sym_restrict] = ACTIONS(1214),
+    [anon_sym___restrict__] = ACTIONS(1214),
+    [anon_sym__Atomic] = ACTIONS(1214),
+    [anon_sym__Noreturn] = ACTIONS(1214),
+    [anon_sym_noreturn] = ACTIONS(1214),
+    [anon_sym__Nonnull] = ACTIONS(1214),
+    [anon_sym_alignas] = ACTIONS(1214),
+    [anon_sym__Alignas] = ACTIONS(1214),
+    [sym_primitive_type] = ACTIONS(1214),
+    [anon_sym_enum] = ACTIONS(1214),
+    [anon_sym_struct] = ACTIONS(1214),
+    [anon_sym_union] = ACTIONS(1214),
+    [anon_sym_if] = ACTIONS(1214),
+    [anon_sym_else] = ACTIONS(1214),
+    [anon_sym_switch] = ACTIONS(1214),
+    [anon_sym_case] = ACTIONS(1214),
+    [anon_sym_default] = ACTIONS(1214),
+    [anon_sym_while] = ACTIONS(1214),
+    [anon_sym_do] = ACTIONS(1214),
+    [anon_sym_for] = ACTIONS(1214),
+    [anon_sym_return] = ACTIONS(1214),
+    [anon_sym_break] = ACTIONS(1214),
+    [anon_sym_continue] = ACTIONS(1214),
+    [anon_sym_goto] = ACTIONS(1214),
+    [anon_sym___try] = ACTIONS(1214),
+    [anon_sym___leave] = ACTIONS(1214),
+    [anon_sym_DASH_DASH] = ACTIONS(1216),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1216),
+    [anon_sym_sizeof] = ACTIONS(1214),
+    [anon_sym___alignof__] = ACTIONS(1214),
+    [anon_sym___alignof] = ACTIONS(1214),
+    [anon_sym__alignof] = ACTIONS(1214),
+    [anon_sym_alignof] = ACTIONS(1214),
+    [anon_sym__Alignof] = ACTIONS(1214),
+    [anon_sym_offsetof] = ACTIONS(1214),
+    [anon_sym__Generic] = ACTIONS(1214),
+    [anon_sym_asm] = ACTIONS(1214),
+    [anon_sym___asm__] = ACTIONS(1214),
+    [anon_sym___asm] = ACTIONS(1214),
+    [sym_number_literal] = ACTIONS(1216),
+    [anon_sym_L_SQUOTE] = ACTIONS(1216),
+    [anon_sym_u_SQUOTE] = ACTIONS(1216),
+    [anon_sym_U_SQUOTE] = ACTIONS(1216),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1216),
+    [anon_sym_SQUOTE] = ACTIONS(1216),
+    [anon_sym_L_DQUOTE] = ACTIONS(1216),
+    [anon_sym_u_DQUOTE] = ACTIONS(1216),
+    [anon_sym_U_DQUOTE] = ACTIONS(1216),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1216),
+    [anon_sym_DQUOTE] = ACTIONS(1216),
+    [sym_true] = ACTIONS(1214),
+    [sym_false] = ACTIONS(1214),
+    [anon_sym_NULL] = ACTIONS(1214),
+    [anon_sym_nullptr] = ACTIONS(1214),
     [sym_comment] = ACTIONS(3),
   },
   [230] = {
-    [sym_identifier] = ACTIONS(1245),
-    [aux_sym_preproc_include_token1] = ACTIONS(1245),
-    [aux_sym_preproc_def_token1] = ACTIONS(1245),
-    [aux_sym_preproc_if_token1] = ACTIONS(1245),
-    [aux_sym_preproc_if_token2] = ACTIONS(1245),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1245),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1245),
-    [sym_preproc_directive] = ACTIONS(1245),
-    [anon_sym_LPAREN2] = ACTIONS(1247),
-    [anon_sym_BANG] = ACTIONS(1247),
-    [anon_sym_TILDE] = ACTIONS(1247),
-    [anon_sym_DASH] = ACTIONS(1245),
-    [anon_sym_PLUS] = ACTIONS(1245),
-    [anon_sym_STAR] = ACTIONS(1247),
-    [anon_sym_AMP] = ACTIONS(1247),
-    [anon_sym_SEMI] = ACTIONS(1247),
-    [anon_sym___extension__] = ACTIONS(1245),
-    [anon_sym_typedef] = ACTIONS(1245),
-    [anon_sym_extern] = ACTIONS(1245),
-    [anon_sym___attribute__] = ACTIONS(1245),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1247),
-    [anon_sym___declspec] = ACTIONS(1245),
-    [anon_sym___cdecl] = ACTIONS(1245),
-    [anon_sym___clrcall] = ACTIONS(1245),
-    [anon_sym___stdcall] = ACTIONS(1245),
-    [anon_sym___fastcall] = ACTIONS(1245),
-    [anon_sym___thiscall] = ACTIONS(1245),
-    [anon_sym___vectorcall] = ACTIONS(1245),
-    [anon_sym_LBRACE] = ACTIONS(1247),
-    [anon_sym_signed] = ACTIONS(1245),
-    [anon_sym_unsigned] = ACTIONS(1245),
-    [anon_sym_long] = ACTIONS(1245),
-    [anon_sym_short] = ACTIONS(1245),
-    [anon_sym_static] = ACTIONS(1245),
-    [anon_sym_auto] = ACTIONS(1245),
-    [anon_sym_register] = ACTIONS(1245),
-    [anon_sym_inline] = ACTIONS(1245),
-    [anon_sym___inline] = ACTIONS(1245),
-    [anon_sym___inline__] = ACTIONS(1245),
-    [anon_sym___forceinline] = ACTIONS(1245),
-    [anon_sym_thread_local] = ACTIONS(1245),
-    [anon_sym___thread] = ACTIONS(1245),
-    [anon_sym_const] = ACTIONS(1245),
-    [anon_sym_constexpr] = ACTIONS(1245),
-    [anon_sym_volatile] = ACTIONS(1245),
-    [anon_sym_restrict] = ACTIONS(1245),
-    [anon_sym___restrict__] = ACTIONS(1245),
-    [anon_sym__Atomic] = ACTIONS(1245),
-    [anon_sym__Noreturn] = ACTIONS(1245),
-    [anon_sym_noreturn] = ACTIONS(1245),
-    [anon_sym__Nonnull] = ACTIONS(1245),
-    [anon_sym_alignas] = ACTIONS(1245),
-    [anon_sym__Alignas] = ACTIONS(1245),
-    [sym_primitive_type] = ACTIONS(1245),
-    [anon_sym_enum] = ACTIONS(1245),
-    [anon_sym_struct] = ACTIONS(1245),
-    [anon_sym_union] = ACTIONS(1245),
-    [anon_sym_if] = ACTIONS(1245),
-    [anon_sym_else] = ACTIONS(1245),
-    [anon_sym_switch] = ACTIONS(1245),
-    [anon_sym_case] = ACTIONS(1245),
-    [anon_sym_default] = ACTIONS(1245),
-    [anon_sym_while] = ACTIONS(1245),
-    [anon_sym_do] = ACTIONS(1245),
-    [anon_sym_for] = ACTIONS(1245),
-    [anon_sym_return] = ACTIONS(1245),
-    [anon_sym_break] = ACTIONS(1245),
-    [anon_sym_continue] = ACTIONS(1245),
-    [anon_sym_goto] = ACTIONS(1245),
-    [anon_sym___try] = ACTIONS(1245),
-    [anon_sym___leave] = ACTIONS(1245),
-    [anon_sym_DASH_DASH] = ACTIONS(1247),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1247),
-    [anon_sym_sizeof] = ACTIONS(1245),
-    [anon_sym___alignof__] = ACTIONS(1245),
-    [anon_sym___alignof] = ACTIONS(1245),
-    [anon_sym__alignof] = ACTIONS(1245),
-    [anon_sym_alignof] = ACTIONS(1245),
-    [anon_sym__Alignof] = ACTIONS(1245),
-    [anon_sym_offsetof] = ACTIONS(1245),
-    [anon_sym__Generic] = ACTIONS(1245),
-    [anon_sym_asm] = ACTIONS(1245),
-    [anon_sym___asm__] = ACTIONS(1245),
-    [anon_sym___asm] = ACTIONS(1245),
-    [sym_number_literal] = ACTIONS(1247),
-    [anon_sym_L_SQUOTE] = ACTIONS(1247),
-    [anon_sym_u_SQUOTE] = ACTIONS(1247),
-    [anon_sym_U_SQUOTE] = ACTIONS(1247),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1247),
-    [anon_sym_SQUOTE] = ACTIONS(1247),
-    [anon_sym_L_DQUOTE] = ACTIONS(1247),
-    [anon_sym_u_DQUOTE] = ACTIONS(1247),
-    [anon_sym_U_DQUOTE] = ACTIONS(1247),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1247),
-    [anon_sym_DQUOTE] = ACTIONS(1247),
-    [sym_true] = ACTIONS(1245),
-    [sym_false] = ACTIONS(1245),
-    [anon_sym_NULL] = ACTIONS(1245),
-    [anon_sym_nullptr] = ACTIONS(1245),
+    [ts_builtin_sym_end] = ACTIONS(1224),
+    [sym_identifier] = ACTIONS(1222),
+    [aux_sym_preproc_include_token1] = ACTIONS(1222),
+    [aux_sym_preproc_def_token1] = ACTIONS(1222),
+    [aux_sym_preproc_if_token1] = ACTIONS(1222),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1222),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1222),
+    [sym_preproc_directive] = ACTIONS(1222),
+    [anon_sym_LPAREN2] = ACTIONS(1224),
+    [anon_sym_BANG] = ACTIONS(1224),
+    [anon_sym_TILDE] = ACTIONS(1224),
+    [anon_sym_DASH] = ACTIONS(1222),
+    [anon_sym_PLUS] = ACTIONS(1222),
+    [anon_sym_STAR] = ACTIONS(1224),
+    [anon_sym_AMP] = ACTIONS(1224),
+    [anon_sym_SEMI] = ACTIONS(1224),
+    [anon_sym___extension__] = ACTIONS(1222),
+    [anon_sym_typedef] = ACTIONS(1222),
+    [anon_sym_extern] = ACTIONS(1222),
+    [anon_sym___attribute__] = ACTIONS(1222),
+    [anon_sym___attribute] = ACTIONS(1222),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1224),
+    [anon_sym___declspec] = ACTIONS(1222),
+    [anon_sym___cdecl] = ACTIONS(1222),
+    [anon_sym___clrcall] = ACTIONS(1222),
+    [anon_sym___stdcall] = ACTIONS(1222),
+    [anon_sym___fastcall] = ACTIONS(1222),
+    [anon_sym___thiscall] = ACTIONS(1222),
+    [anon_sym___vectorcall] = ACTIONS(1222),
+    [anon_sym_LBRACE] = ACTIONS(1224),
+    [anon_sym_signed] = ACTIONS(1222),
+    [anon_sym_unsigned] = ACTIONS(1222),
+    [anon_sym_long] = ACTIONS(1222),
+    [anon_sym_short] = ACTIONS(1222),
+    [anon_sym_static] = ACTIONS(1222),
+    [anon_sym_auto] = ACTIONS(1222),
+    [anon_sym_register] = ACTIONS(1222),
+    [anon_sym_inline] = ACTIONS(1222),
+    [anon_sym___inline] = ACTIONS(1222),
+    [anon_sym___inline__] = ACTIONS(1222),
+    [anon_sym___forceinline] = ACTIONS(1222),
+    [anon_sym_thread_local] = ACTIONS(1222),
+    [anon_sym___thread] = ACTIONS(1222),
+    [anon_sym_const] = ACTIONS(1222),
+    [anon_sym_constexpr] = ACTIONS(1222),
+    [anon_sym_volatile] = ACTIONS(1222),
+    [anon_sym_restrict] = ACTIONS(1222),
+    [anon_sym___restrict__] = ACTIONS(1222),
+    [anon_sym__Atomic] = ACTIONS(1222),
+    [anon_sym__Noreturn] = ACTIONS(1222),
+    [anon_sym_noreturn] = ACTIONS(1222),
+    [anon_sym__Nonnull] = ACTIONS(1222),
+    [anon_sym_alignas] = ACTIONS(1222),
+    [anon_sym__Alignas] = ACTIONS(1222),
+    [sym_primitive_type] = ACTIONS(1222),
+    [anon_sym_enum] = ACTIONS(1222),
+    [anon_sym_struct] = ACTIONS(1222),
+    [anon_sym_union] = ACTIONS(1222),
+    [anon_sym_if] = ACTIONS(1222),
+    [anon_sym_else] = ACTIONS(1222),
+    [anon_sym_switch] = ACTIONS(1222),
+    [anon_sym_case] = ACTIONS(1222),
+    [anon_sym_default] = ACTIONS(1222),
+    [anon_sym_while] = ACTIONS(1222),
+    [anon_sym_do] = ACTIONS(1222),
+    [anon_sym_for] = ACTIONS(1222),
+    [anon_sym_return] = ACTIONS(1222),
+    [anon_sym_break] = ACTIONS(1222),
+    [anon_sym_continue] = ACTIONS(1222),
+    [anon_sym_goto] = ACTIONS(1222),
+    [anon_sym___try] = ACTIONS(1222),
+    [anon_sym___leave] = ACTIONS(1222),
+    [anon_sym_DASH_DASH] = ACTIONS(1224),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1224),
+    [anon_sym_sizeof] = ACTIONS(1222),
+    [anon_sym___alignof__] = ACTIONS(1222),
+    [anon_sym___alignof] = ACTIONS(1222),
+    [anon_sym__alignof] = ACTIONS(1222),
+    [anon_sym_alignof] = ACTIONS(1222),
+    [anon_sym__Alignof] = ACTIONS(1222),
+    [anon_sym_offsetof] = ACTIONS(1222),
+    [anon_sym__Generic] = ACTIONS(1222),
+    [anon_sym_asm] = ACTIONS(1222),
+    [anon_sym___asm__] = ACTIONS(1222),
+    [anon_sym___asm] = ACTIONS(1222),
+    [sym_number_literal] = ACTIONS(1224),
+    [anon_sym_L_SQUOTE] = ACTIONS(1224),
+    [anon_sym_u_SQUOTE] = ACTIONS(1224),
+    [anon_sym_U_SQUOTE] = ACTIONS(1224),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1224),
+    [anon_sym_SQUOTE] = ACTIONS(1224),
+    [anon_sym_L_DQUOTE] = ACTIONS(1224),
+    [anon_sym_u_DQUOTE] = ACTIONS(1224),
+    [anon_sym_U_DQUOTE] = ACTIONS(1224),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1224),
+    [anon_sym_DQUOTE] = ACTIONS(1224),
+    [sym_true] = ACTIONS(1222),
+    [sym_false] = ACTIONS(1222),
+    [anon_sym_NULL] = ACTIONS(1222),
+    [anon_sym_nullptr] = ACTIONS(1222),
     [sym_comment] = ACTIONS(3),
   },
   [231] = {
-    [sym_identifier] = ACTIONS(1189),
-    [aux_sym_preproc_include_token1] = ACTIONS(1189),
-    [aux_sym_preproc_def_token1] = ACTIONS(1189),
-    [aux_sym_preproc_if_token1] = ACTIONS(1189),
-    [aux_sym_preproc_if_token2] = ACTIONS(1189),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1189),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1189),
-    [sym_preproc_directive] = ACTIONS(1189),
-    [anon_sym_LPAREN2] = ACTIONS(1191),
-    [anon_sym_BANG] = ACTIONS(1191),
-    [anon_sym_TILDE] = ACTIONS(1191),
-    [anon_sym_DASH] = ACTIONS(1189),
-    [anon_sym_PLUS] = ACTIONS(1189),
-    [anon_sym_STAR] = ACTIONS(1191),
-    [anon_sym_AMP] = ACTIONS(1191),
-    [anon_sym_SEMI] = ACTIONS(1191),
-    [anon_sym___extension__] = ACTIONS(1189),
-    [anon_sym_typedef] = ACTIONS(1189),
-    [anon_sym_extern] = ACTIONS(1189),
-    [anon_sym___attribute__] = ACTIONS(1189),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1191),
-    [anon_sym___declspec] = ACTIONS(1189),
-    [anon_sym___cdecl] = ACTIONS(1189),
-    [anon_sym___clrcall] = ACTIONS(1189),
-    [anon_sym___stdcall] = ACTIONS(1189),
-    [anon_sym___fastcall] = ACTIONS(1189),
-    [anon_sym___thiscall] = ACTIONS(1189),
-    [anon_sym___vectorcall] = ACTIONS(1189),
-    [anon_sym_LBRACE] = ACTIONS(1191),
-    [anon_sym_signed] = ACTIONS(1189),
-    [anon_sym_unsigned] = ACTIONS(1189),
-    [anon_sym_long] = ACTIONS(1189),
-    [anon_sym_short] = ACTIONS(1189),
-    [anon_sym_static] = ACTIONS(1189),
-    [anon_sym_auto] = ACTIONS(1189),
-    [anon_sym_register] = ACTIONS(1189),
-    [anon_sym_inline] = ACTIONS(1189),
-    [anon_sym___inline] = ACTIONS(1189),
-    [anon_sym___inline__] = ACTIONS(1189),
-    [anon_sym___forceinline] = ACTIONS(1189),
-    [anon_sym_thread_local] = ACTIONS(1189),
-    [anon_sym___thread] = ACTIONS(1189),
-    [anon_sym_const] = ACTIONS(1189),
-    [anon_sym_constexpr] = ACTIONS(1189),
-    [anon_sym_volatile] = ACTIONS(1189),
-    [anon_sym_restrict] = ACTIONS(1189),
-    [anon_sym___restrict__] = ACTIONS(1189),
-    [anon_sym__Atomic] = ACTIONS(1189),
-    [anon_sym__Noreturn] = ACTIONS(1189),
-    [anon_sym_noreturn] = ACTIONS(1189),
-    [anon_sym__Nonnull] = ACTIONS(1189),
-    [anon_sym_alignas] = ACTIONS(1189),
-    [anon_sym__Alignas] = ACTIONS(1189),
-    [sym_primitive_type] = ACTIONS(1189),
-    [anon_sym_enum] = ACTIONS(1189),
-    [anon_sym_struct] = ACTIONS(1189),
-    [anon_sym_union] = ACTIONS(1189),
-    [anon_sym_if] = ACTIONS(1189),
-    [anon_sym_else] = ACTIONS(1189),
-    [anon_sym_switch] = ACTIONS(1189),
-    [anon_sym_case] = ACTIONS(1189),
-    [anon_sym_default] = ACTIONS(1189),
-    [anon_sym_while] = ACTIONS(1189),
-    [anon_sym_do] = ACTIONS(1189),
-    [anon_sym_for] = ACTIONS(1189),
-    [anon_sym_return] = ACTIONS(1189),
-    [anon_sym_break] = ACTIONS(1189),
-    [anon_sym_continue] = ACTIONS(1189),
-    [anon_sym_goto] = ACTIONS(1189),
-    [anon_sym___try] = ACTIONS(1189),
-    [anon_sym___leave] = ACTIONS(1189),
-    [anon_sym_DASH_DASH] = ACTIONS(1191),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1191),
-    [anon_sym_sizeof] = ACTIONS(1189),
-    [anon_sym___alignof__] = ACTIONS(1189),
-    [anon_sym___alignof] = ACTIONS(1189),
-    [anon_sym__alignof] = ACTIONS(1189),
-    [anon_sym_alignof] = ACTIONS(1189),
-    [anon_sym__Alignof] = ACTIONS(1189),
-    [anon_sym_offsetof] = ACTIONS(1189),
-    [anon_sym__Generic] = ACTIONS(1189),
-    [anon_sym_asm] = ACTIONS(1189),
-    [anon_sym___asm__] = ACTIONS(1189),
-    [anon_sym___asm] = ACTIONS(1189),
-    [sym_number_literal] = ACTIONS(1191),
-    [anon_sym_L_SQUOTE] = ACTIONS(1191),
-    [anon_sym_u_SQUOTE] = ACTIONS(1191),
-    [anon_sym_U_SQUOTE] = ACTIONS(1191),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1191),
-    [anon_sym_SQUOTE] = ACTIONS(1191),
-    [anon_sym_L_DQUOTE] = ACTIONS(1191),
-    [anon_sym_u_DQUOTE] = ACTIONS(1191),
-    [anon_sym_U_DQUOTE] = ACTIONS(1191),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1191),
-    [anon_sym_DQUOTE] = ACTIONS(1191),
-    [sym_true] = ACTIONS(1189),
-    [sym_false] = ACTIONS(1189),
-    [anon_sym_NULL] = ACTIONS(1189),
-    [anon_sym_nullptr] = ACTIONS(1189),
+    [sym_identifier] = ACTIONS(1170),
+    [aux_sym_preproc_include_token1] = ACTIONS(1170),
+    [aux_sym_preproc_def_token1] = ACTIONS(1170),
+    [aux_sym_preproc_if_token1] = ACTIONS(1170),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1170),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1170),
+    [sym_preproc_directive] = ACTIONS(1170),
+    [anon_sym_LPAREN2] = ACTIONS(1172),
+    [anon_sym_BANG] = ACTIONS(1172),
+    [anon_sym_TILDE] = ACTIONS(1172),
+    [anon_sym_DASH] = ACTIONS(1170),
+    [anon_sym_PLUS] = ACTIONS(1170),
+    [anon_sym_STAR] = ACTIONS(1172),
+    [anon_sym_AMP] = ACTIONS(1172),
+    [anon_sym_SEMI] = ACTIONS(1172),
+    [anon_sym___extension__] = ACTIONS(1170),
+    [anon_sym_typedef] = ACTIONS(1170),
+    [anon_sym_extern] = ACTIONS(1170),
+    [anon_sym___attribute__] = ACTIONS(1170),
+    [anon_sym___attribute] = ACTIONS(1170),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1172),
+    [anon_sym___declspec] = ACTIONS(1170),
+    [anon_sym___cdecl] = ACTIONS(1170),
+    [anon_sym___clrcall] = ACTIONS(1170),
+    [anon_sym___stdcall] = ACTIONS(1170),
+    [anon_sym___fastcall] = ACTIONS(1170),
+    [anon_sym___thiscall] = ACTIONS(1170),
+    [anon_sym___vectorcall] = ACTIONS(1170),
+    [anon_sym_LBRACE] = ACTIONS(1172),
+    [anon_sym_RBRACE] = ACTIONS(1172),
+    [anon_sym_signed] = ACTIONS(1170),
+    [anon_sym_unsigned] = ACTIONS(1170),
+    [anon_sym_long] = ACTIONS(1170),
+    [anon_sym_short] = ACTIONS(1170),
+    [anon_sym_static] = ACTIONS(1170),
+    [anon_sym_auto] = ACTIONS(1170),
+    [anon_sym_register] = ACTIONS(1170),
+    [anon_sym_inline] = ACTIONS(1170),
+    [anon_sym___inline] = ACTIONS(1170),
+    [anon_sym___inline__] = ACTIONS(1170),
+    [anon_sym___forceinline] = ACTIONS(1170),
+    [anon_sym_thread_local] = ACTIONS(1170),
+    [anon_sym___thread] = ACTIONS(1170),
+    [anon_sym_const] = ACTIONS(1170),
+    [anon_sym_constexpr] = ACTIONS(1170),
+    [anon_sym_volatile] = ACTIONS(1170),
+    [anon_sym_restrict] = ACTIONS(1170),
+    [anon_sym___restrict__] = ACTIONS(1170),
+    [anon_sym__Atomic] = ACTIONS(1170),
+    [anon_sym__Noreturn] = ACTIONS(1170),
+    [anon_sym_noreturn] = ACTIONS(1170),
+    [anon_sym__Nonnull] = ACTIONS(1170),
+    [anon_sym_alignas] = ACTIONS(1170),
+    [anon_sym__Alignas] = ACTIONS(1170),
+    [sym_primitive_type] = ACTIONS(1170),
+    [anon_sym_enum] = ACTIONS(1170),
+    [anon_sym_struct] = ACTIONS(1170),
+    [anon_sym_union] = ACTIONS(1170),
+    [anon_sym_if] = ACTIONS(1170),
+    [anon_sym_else] = ACTIONS(1170),
+    [anon_sym_switch] = ACTIONS(1170),
+    [anon_sym_case] = ACTIONS(1170),
+    [anon_sym_default] = ACTIONS(1170),
+    [anon_sym_while] = ACTIONS(1170),
+    [anon_sym_do] = ACTIONS(1170),
+    [anon_sym_for] = ACTIONS(1170),
+    [anon_sym_return] = ACTIONS(1170),
+    [anon_sym_break] = ACTIONS(1170),
+    [anon_sym_continue] = ACTIONS(1170),
+    [anon_sym_goto] = ACTIONS(1170),
+    [anon_sym___try] = ACTIONS(1170),
+    [anon_sym___leave] = ACTIONS(1170),
+    [anon_sym_DASH_DASH] = ACTIONS(1172),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1172),
+    [anon_sym_sizeof] = ACTIONS(1170),
+    [anon_sym___alignof__] = ACTIONS(1170),
+    [anon_sym___alignof] = ACTIONS(1170),
+    [anon_sym__alignof] = ACTIONS(1170),
+    [anon_sym_alignof] = ACTIONS(1170),
+    [anon_sym__Alignof] = ACTIONS(1170),
+    [anon_sym_offsetof] = ACTIONS(1170),
+    [anon_sym__Generic] = ACTIONS(1170),
+    [anon_sym_asm] = ACTIONS(1170),
+    [anon_sym___asm__] = ACTIONS(1170),
+    [anon_sym___asm] = ACTIONS(1170),
+    [sym_number_literal] = ACTIONS(1172),
+    [anon_sym_L_SQUOTE] = ACTIONS(1172),
+    [anon_sym_u_SQUOTE] = ACTIONS(1172),
+    [anon_sym_U_SQUOTE] = ACTIONS(1172),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1172),
+    [anon_sym_SQUOTE] = ACTIONS(1172),
+    [anon_sym_L_DQUOTE] = ACTIONS(1172),
+    [anon_sym_u_DQUOTE] = ACTIONS(1172),
+    [anon_sym_U_DQUOTE] = ACTIONS(1172),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1172),
+    [anon_sym_DQUOTE] = ACTIONS(1172),
+    [sym_true] = ACTIONS(1170),
+    [sym_false] = ACTIONS(1170),
+    [anon_sym_NULL] = ACTIONS(1170),
+    [anon_sym_nullptr] = ACTIONS(1170),
     [sym_comment] = ACTIONS(3),
   },
   [232] = {
-    [sym_identifier] = ACTIONS(1189),
-    [aux_sym_preproc_include_token1] = ACTIONS(1189),
-    [aux_sym_preproc_def_token1] = ACTIONS(1189),
-    [aux_sym_preproc_if_token1] = ACTIONS(1189),
-    [aux_sym_preproc_if_token2] = ACTIONS(1189),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1189),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1189),
-    [sym_preproc_directive] = ACTIONS(1189),
-    [anon_sym_LPAREN2] = ACTIONS(1191),
-    [anon_sym_BANG] = ACTIONS(1191),
-    [anon_sym_TILDE] = ACTIONS(1191),
-    [anon_sym_DASH] = ACTIONS(1189),
-    [anon_sym_PLUS] = ACTIONS(1189),
-    [anon_sym_STAR] = ACTIONS(1191),
-    [anon_sym_AMP] = ACTIONS(1191),
-    [anon_sym_SEMI] = ACTIONS(1191),
-    [anon_sym___extension__] = ACTIONS(1189),
-    [anon_sym_typedef] = ACTIONS(1189),
-    [anon_sym_extern] = ACTIONS(1189),
-    [anon_sym___attribute__] = ACTIONS(1189),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1191),
-    [anon_sym___declspec] = ACTIONS(1189),
-    [anon_sym___cdecl] = ACTIONS(1189),
-    [anon_sym___clrcall] = ACTIONS(1189),
-    [anon_sym___stdcall] = ACTIONS(1189),
-    [anon_sym___fastcall] = ACTIONS(1189),
-    [anon_sym___thiscall] = ACTIONS(1189),
-    [anon_sym___vectorcall] = ACTIONS(1189),
-    [anon_sym_LBRACE] = ACTIONS(1191),
-    [anon_sym_signed] = ACTIONS(1189),
-    [anon_sym_unsigned] = ACTIONS(1189),
-    [anon_sym_long] = ACTIONS(1189),
-    [anon_sym_short] = ACTIONS(1189),
-    [anon_sym_static] = ACTIONS(1189),
-    [anon_sym_auto] = ACTIONS(1189),
-    [anon_sym_register] = ACTIONS(1189),
-    [anon_sym_inline] = ACTIONS(1189),
-    [anon_sym___inline] = ACTIONS(1189),
-    [anon_sym___inline__] = ACTIONS(1189),
-    [anon_sym___forceinline] = ACTIONS(1189),
-    [anon_sym_thread_local] = ACTIONS(1189),
-    [anon_sym___thread] = ACTIONS(1189),
-    [anon_sym_const] = ACTIONS(1189),
-    [anon_sym_constexpr] = ACTIONS(1189),
-    [anon_sym_volatile] = ACTIONS(1189),
-    [anon_sym_restrict] = ACTIONS(1189),
-    [anon_sym___restrict__] = ACTIONS(1189),
-    [anon_sym__Atomic] = ACTIONS(1189),
-    [anon_sym__Noreturn] = ACTIONS(1189),
-    [anon_sym_noreturn] = ACTIONS(1189),
-    [anon_sym__Nonnull] = ACTIONS(1189),
-    [anon_sym_alignas] = ACTIONS(1189),
-    [anon_sym__Alignas] = ACTIONS(1189),
-    [sym_primitive_type] = ACTIONS(1189),
-    [anon_sym_enum] = ACTIONS(1189),
-    [anon_sym_struct] = ACTIONS(1189),
-    [anon_sym_union] = ACTIONS(1189),
-    [anon_sym_if] = ACTIONS(1189),
-    [anon_sym_else] = ACTIONS(1189),
-    [anon_sym_switch] = ACTIONS(1189),
-    [anon_sym_case] = ACTIONS(1189),
-    [anon_sym_default] = ACTIONS(1189),
-    [anon_sym_while] = ACTIONS(1189),
-    [anon_sym_do] = ACTIONS(1189),
-    [anon_sym_for] = ACTIONS(1189),
-    [anon_sym_return] = ACTIONS(1189),
-    [anon_sym_break] = ACTIONS(1189),
-    [anon_sym_continue] = ACTIONS(1189),
-    [anon_sym_goto] = ACTIONS(1189),
-    [anon_sym___try] = ACTIONS(1189),
-    [anon_sym___leave] = ACTIONS(1189),
-    [anon_sym_DASH_DASH] = ACTIONS(1191),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1191),
-    [anon_sym_sizeof] = ACTIONS(1189),
-    [anon_sym___alignof__] = ACTIONS(1189),
-    [anon_sym___alignof] = ACTIONS(1189),
-    [anon_sym__alignof] = ACTIONS(1189),
-    [anon_sym_alignof] = ACTIONS(1189),
-    [anon_sym__Alignof] = ACTIONS(1189),
-    [anon_sym_offsetof] = ACTIONS(1189),
-    [anon_sym__Generic] = ACTIONS(1189),
-    [anon_sym_asm] = ACTIONS(1189),
-    [anon_sym___asm__] = ACTIONS(1189),
-    [anon_sym___asm] = ACTIONS(1189),
-    [sym_number_literal] = ACTIONS(1191),
-    [anon_sym_L_SQUOTE] = ACTIONS(1191),
-    [anon_sym_u_SQUOTE] = ACTIONS(1191),
-    [anon_sym_U_SQUOTE] = ACTIONS(1191),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1191),
-    [anon_sym_SQUOTE] = ACTIONS(1191),
-    [anon_sym_L_DQUOTE] = ACTIONS(1191),
-    [anon_sym_u_DQUOTE] = ACTIONS(1191),
-    [anon_sym_U_DQUOTE] = ACTIONS(1191),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1191),
-    [anon_sym_DQUOTE] = ACTIONS(1191),
-    [sym_true] = ACTIONS(1189),
-    [sym_false] = ACTIONS(1189),
-    [anon_sym_NULL] = ACTIONS(1189),
-    [anon_sym_nullptr] = ACTIONS(1189),
+    [sym_identifier] = ACTIONS(1170),
+    [aux_sym_preproc_include_token1] = ACTIONS(1170),
+    [aux_sym_preproc_def_token1] = ACTIONS(1170),
+    [aux_sym_preproc_if_token1] = ACTIONS(1170),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1170),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1170),
+    [sym_preproc_directive] = ACTIONS(1170),
+    [anon_sym_LPAREN2] = ACTIONS(1172),
+    [anon_sym_BANG] = ACTIONS(1172),
+    [anon_sym_TILDE] = ACTIONS(1172),
+    [anon_sym_DASH] = ACTIONS(1170),
+    [anon_sym_PLUS] = ACTIONS(1170),
+    [anon_sym_STAR] = ACTIONS(1172),
+    [anon_sym_AMP] = ACTIONS(1172),
+    [anon_sym_SEMI] = ACTIONS(1172),
+    [anon_sym___extension__] = ACTIONS(1170),
+    [anon_sym_typedef] = ACTIONS(1170),
+    [anon_sym_extern] = ACTIONS(1170),
+    [anon_sym___attribute__] = ACTIONS(1170),
+    [anon_sym___attribute] = ACTIONS(1170),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1172),
+    [anon_sym___declspec] = ACTIONS(1170),
+    [anon_sym___cdecl] = ACTIONS(1170),
+    [anon_sym___clrcall] = ACTIONS(1170),
+    [anon_sym___stdcall] = ACTIONS(1170),
+    [anon_sym___fastcall] = ACTIONS(1170),
+    [anon_sym___thiscall] = ACTIONS(1170),
+    [anon_sym___vectorcall] = ACTIONS(1170),
+    [anon_sym_LBRACE] = ACTIONS(1172),
+    [anon_sym_RBRACE] = ACTIONS(1172),
+    [anon_sym_signed] = ACTIONS(1170),
+    [anon_sym_unsigned] = ACTIONS(1170),
+    [anon_sym_long] = ACTIONS(1170),
+    [anon_sym_short] = ACTIONS(1170),
+    [anon_sym_static] = ACTIONS(1170),
+    [anon_sym_auto] = ACTIONS(1170),
+    [anon_sym_register] = ACTIONS(1170),
+    [anon_sym_inline] = ACTIONS(1170),
+    [anon_sym___inline] = ACTIONS(1170),
+    [anon_sym___inline__] = ACTIONS(1170),
+    [anon_sym___forceinline] = ACTIONS(1170),
+    [anon_sym_thread_local] = ACTIONS(1170),
+    [anon_sym___thread] = ACTIONS(1170),
+    [anon_sym_const] = ACTIONS(1170),
+    [anon_sym_constexpr] = ACTIONS(1170),
+    [anon_sym_volatile] = ACTIONS(1170),
+    [anon_sym_restrict] = ACTIONS(1170),
+    [anon_sym___restrict__] = ACTIONS(1170),
+    [anon_sym__Atomic] = ACTIONS(1170),
+    [anon_sym__Noreturn] = ACTIONS(1170),
+    [anon_sym_noreturn] = ACTIONS(1170),
+    [anon_sym__Nonnull] = ACTIONS(1170),
+    [anon_sym_alignas] = ACTIONS(1170),
+    [anon_sym__Alignas] = ACTIONS(1170),
+    [sym_primitive_type] = ACTIONS(1170),
+    [anon_sym_enum] = ACTIONS(1170),
+    [anon_sym_struct] = ACTIONS(1170),
+    [anon_sym_union] = ACTIONS(1170),
+    [anon_sym_if] = ACTIONS(1170),
+    [anon_sym_else] = ACTIONS(1170),
+    [anon_sym_switch] = ACTIONS(1170),
+    [anon_sym_case] = ACTIONS(1170),
+    [anon_sym_default] = ACTIONS(1170),
+    [anon_sym_while] = ACTIONS(1170),
+    [anon_sym_do] = ACTIONS(1170),
+    [anon_sym_for] = ACTIONS(1170),
+    [anon_sym_return] = ACTIONS(1170),
+    [anon_sym_break] = ACTIONS(1170),
+    [anon_sym_continue] = ACTIONS(1170),
+    [anon_sym_goto] = ACTIONS(1170),
+    [anon_sym___try] = ACTIONS(1170),
+    [anon_sym___leave] = ACTIONS(1170),
+    [anon_sym_DASH_DASH] = ACTIONS(1172),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1172),
+    [anon_sym_sizeof] = ACTIONS(1170),
+    [anon_sym___alignof__] = ACTIONS(1170),
+    [anon_sym___alignof] = ACTIONS(1170),
+    [anon_sym__alignof] = ACTIONS(1170),
+    [anon_sym_alignof] = ACTIONS(1170),
+    [anon_sym__Alignof] = ACTIONS(1170),
+    [anon_sym_offsetof] = ACTIONS(1170),
+    [anon_sym__Generic] = ACTIONS(1170),
+    [anon_sym_asm] = ACTIONS(1170),
+    [anon_sym___asm__] = ACTIONS(1170),
+    [anon_sym___asm] = ACTIONS(1170),
+    [sym_number_literal] = ACTIONS(1172),
+    [anon_sym_L_SQUOTE] = ACTIONS(1172),
+    [anon_sym_u_SQUOTE] = ACTIONS(1172),
+    [anon_sym_U_SQUOTE] = ACTIONS(1172),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1172),
+    [anon_sym_SQUOTE] = ACTIONS(1172),
+    [anon_sym_L_DQUOTE] = ACTIONS(1172),
+    [anon_sym_u_DQUOTE] = ACTIONS(1172),
+    [anon_sym_U_DQUOTE] = ACTIONS(1172),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1172),
+    [anon_sym_DQUOTE] = ACTIONS(1172),
+    [sym_true] = ACTIONS(1170),
+    [sym_false] = ACTIONS(1170),
+    [anon_sym_NULL] = ACTIONS(1170),
+    [anon_sym_nullptr] = ACTIONS(1170),
     [sym_comment] = ACTIONS(3),
   },
   [233] = {
-    [sym_identifier] = ACTIONS(1201),
-    [aux_sym_preproc_include_token1] = ACTIONS(1201),
-    [aux_sym_preproc_def_token1] = ACTIONS(1201),
-    [aux_sym_preproc_if_token1] = ACTIONS(1201),
-    [aux_sym_preproc_if_token2] = ACTIONS(1201),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1201),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1201),
-    [sym_preproc_directive] = ACTIONS(1201),
-    [anon_sym_LPAREN2] = ACTIONS(1203),
-    [anon_sym_BANG] = ACTIONS(1203),
-    [anon_sym_TILDE] = ACTIONS(1203),
-    [anon_sym_DASH] = ACTIONS(1201),
-    [anon_sym_PLUS] = ACTIONS(1201),
-    [anon_sym_STAR] = ACTIONS(1203),
-    [anon_sym_AMP] = ACTIONS(1203),
-    [anon_sym_SEMI] = ACTIONS(1203),
-    [anon_sym___extension__] = ACTIONS(1201),
-    [anon_sym_typedef] = ACTIONS(1201),
-    [anon_sym_extern] = ACTIONS(1201),
-    [anon_sym___attribute__] = ACTIONS(1201),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1203),
-    [anon_sym___declspec] = ACTIONS(1201),
-    [anon_sym___cdecl] = ACTIONS(1201),
-    [anon_sym___clrcall] = ACTIONS(1201),
-    [anon_sym___stdcall] = ACTIONS(1201),
-    [anon_sym___fastcall] = ACTIONS(1201),
-    [anon_sym___thiscall] = ACTIONS(1201),
-    [anon_sym___vectorcall] = ACTIONS(1201),
-    [anon_sym_LBRACE] = ACTIONS(1203),
-    [anon_sym_signed] = ACTIONS(1201),
-    [anon_sym_unsigned] = ACTIONS(1201),
-    [anon_sym_long] = ACTIONS(1201),
-    [anon_sym_short] = ACTIONS(1201),
-    [anon_sym_static] = ACTIONS(1201),
-    [anon_sym_auto] = ACTIONS(1201),
-    [anon_sym_register] = ACTIONS(1201),
-    [anon_sym_inline] = ACTIONS(1201),
-    [anon_sym___inline] = ACTIONS(1201),
-    [anon_sym___inline__] = ACTIONS(1201),
-    [anon_sym___forceinline] = ACTIONS(1201),
-    [anon_sym_thread_local] = ACTIONS(1201),
-    [anon_sym___thread] = ACTIONS(1201),
-    [anon_sym_const] = ACTIONS(1201),
-    [anon_sym_constexpr] = ACTIONS(1201),
-    [anon_sym_volatile] = ACTIONS(1201),
-    [anon_sym_restrict] = ACTIONS(1201),
-    [anon_sym___restrict__] = ACTIONS(1201),
-    [anon_sym__Atomic] = ACTIONS(1201),
-    [anon_sym__Noreturn] = ACTIONS(1201),
-    [anon_sym_noreturn] = ACTIONS(1201),
-    [anon_sym__Nonnull] = ACTIONS(1201),
-    [anon_sym_alignas] = ACTIONS(1201),
-    [anon_sym__Alignas] = ACTIONS(1201),
-    [sym_primitive_type] = ACTIONS(1201),
-    [anon_sym_enum] = ACTIONS(1201),
-    [anon_sym_struct] = ACTIONS(1201),
-    [anon_sym_union] = ACTIONS(1201),
-    [anon_sym_if] = ACTIONS(1201),
-    [anon_sym_else] = ACTIONS(1201),
-    [anon_sym_switch] = ACTIONS(1201),
-    [anon_sym_case] = ACTIONS(1201),
-    [anon_sym_default] = ACTIONS(1201),
-    [anon_sym_while] = ACTIONS(1201),
-    [anon_sym_do] = ACTIONS(1201),
-    [anon_sym_for] = ACTIONS(1201),
-    [anon_sym_return] = ACTIONS(1201),
-    [anon_sym_break] = ACTIONS(1201),
-    [anon_sym_continue] = ACTIONS(1201),
-    [anon_sym_goto] = ACTIONS(1201),
-    [anon_sym___try] = ACTIONS(1201),
-    [anon_sym___leave] = ACTIONS(1201),
-    [anon_sym_DASH_DASH] = ACTIONS(1203),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1203),
-    [anon_sym_sizeof] = ACTIONS(1201),
-    [anon_sym___alignof__] = ACTIONS(1201),
-    [anon_sym___alignof] = ACTIONS(1201),
-    [anon_sym__alignof] = ACTIONS(1201),
-    [anon_sym_alignof] = ACTIONS(1201),
-    [anon_sym__Alignof] = ACTIONS(1201),
-    [anon_sym_offsetof] = ACTIONS(1201),
-    [anon_sym__Generic] = ACTIONS(1201),
-    [anon_sym_asm] = ACTIONS(1201),
-    [anon_sym___asm__] = ACTIONS(1201),
-    [anon_sym___asm] = ACTIONS(1201),
-    [sym_number_literal] = ACTIONS(1203),
-    [anon_sym_L_SQUOTE] = ACTIONS(1203),
-    [anon_sym_u_SQUOTE] = ACTIONS(1203),
-    [anon_sym_U_SQUOTE] = ACTIONS(1203),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1203),
-    [anon_sym_SQUOTE] = ACTIONS(1203),
-    [anon_sym_L_DQUOTE] = ACTIONS(1203),
-    [anon_sym_u_DQUOTE] = ACTIONS(1203),
-    [anon_sym_U_DQUOTE] = ACTIONS(1203),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1203),
-    [anon_sym_DQUOTE] = ACTIONS(1203),
-    [sym_true] = ACTIONS(1201),
-    [sym_false] = ACTIONS(1201),
-    [anon_sym_NULL] = ACTIONS(1201),
-    [anon_sym_nullptr] = ACTIONS(1201),
+    [sym_identifier] = ACTIONS(1174),
+    [aux_sym_preproc_include_token1] = ACTIONS(1174),
+    [aux_sym_preproc_def_token1] = ACTIONS(1174),
+    [aux_sym_preproc_if_token1] = ACTIONS(1174),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1174),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1174),
+    [sym_preproc_directive] = ACTIONS(1174),
+    [anon_sym_LPAREN2] = ACTIONS(1176),
+    [anon_sym_BANG] = ACTIONS(1176),
+    [anon_sym_TILDE] = ACTIONS(1176),
+    [anon_sym_DASH] = ACTIONS(1174),
+    [anon_sym_PLUS] = ACTIONS(1174),
+    [anon_sym_STAR] = ACTIONS(1176),
+    [anon_sym_AMP] = ACTIONS(1176),
+    [anon_sym_SEMI] = ACTIONS(1176),
+    [anon_sym___extension__] = ACTIONS(1174),
+    [anon_sym_typedef] = ACTIONS(1174),
+    [anon_sym_extern] = ACTIONS(1174),
+    [anon_sym___attribute__] = ACTIONS(1174),
+    [anon_sym___attribute] = ACTIONS(1174),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1176),
+    [anon_sym___declspec] = ACTIONS(1174),
+    [anon_sym___cdecl] = ACTIONS(1174),
+    [anon_sym___clrcall] = ACTIONS(1174),
+    [anon_sym___stdcall] = ACTIONS(1174),
+    [anon_sym___fastcall] = ACTIONS(1174),
+    [anon_sym___thiscall] = ACTIONS(1174),
+    [anon_sym___vectorcall] = ACTIONS(1174),
+    [anon_sym_LBRACE] = ACTIONS(1176),
+    [anon_sym_RBRACE] = ACTIONS(1176),
+    [anon_sym_signed] = ACTIONS(1174),
+    [anon_sym_unsigned] = ACTIONS(1174),
+    [anon_sym_long] = ACTIONS(1174),
+    [anon_sym_short] = ACTIONS(1174),
+    [anon_sym_static] = ACTIONS(1174),
+    [anon_sym_auto] = ACTIONS(1174),
+    [anon_sym_register] = ACTIONS(1174),
+    [anon_sym_inline] = ACTIONS(1174),
+    [anon_sym___inline] = ACTIONS(1174),
+    [anon_sym___inline__] = ACTIONS(1174),
+    [anon_sym___forceinline] = ACTIONS(1174),
+    [anon_sym_thread_local] = ACTIONS(1174),
+    [anon_sym___thread] = ACTIONS(1174),
+    [anon_sym_const] = ACTIONS(1174),
+    [anon_sym_constexpr] = ACTIONS(1174),
+    [anon_sym_volatile] = ACTIONS(1174),
+    [anon_sym_restrict] = ACTIONS(1174),
+    [anon_sym___restrict__] = ACTIONS(1174),
+    [anon_sym__Atomic] = ACTIONS(1174),
+    [anon_sym__Noreturn] = ACTIONS(1174),
+    [anon_sym_noreturn] = ACTIONS(1174),
+    [anon_sym__Nonnull] = ACTIONS(1174),
+    [anon_sym_alignas] = ACTIONS(1174),
+    [anon_sym__Alignas] = ACTIONS(1174),
+    [sym_primitive_type] = ACTIONS(1174),
+    [anon_sym_enum] = ACTIONS(1174),
+    [anon_sym_struct] = ACTIONS(1174),
+    [anon_sym_union] = ACTIONS(1174),
+    [anon_sym_if] = ACTIONS(1174),
+    [anon_sym_else] = ACTIONS(1174),
+    [anon_sym_switch] = ACTIONS(1174),
+    [anon_sym_case] = ACTIONS(1174),
+    [anon_sym_default] = ACTIONS(1174),
+    [anon_sym_while] = ACTIONS(1174),
+    [anon_sym_do] = ACTIONS(1174),
+    [anon_sym_for] = ACTIONS(1174),
+    [anon_sym_return] = ACTIONS(1174),
+    [anon_sym_break] = ACTIONS(1174),
+    [anon_sym_continue] = ACTIONS(1174),
+    [anon_sym_goto] = ACTIONS(1174),
+    [anon_sym___try] = ACTIONS(1174),
+    [anon_sym___leave] = ACTIONS(1174),
+    [anon_sym_DASH_DASH] = ACTIONS(1176),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1176),
+    [anon_sym_sizeof] = ACTIONS(1174),
+    [anon_sym___alignof__] = ACTIONS(1174),
+    [anon_sym___alignof] = ACTIONS(1174),
+    [anon_sym__alignof] = ACTIONS(1174),
+    [anon_sym_alignof] = ACTIONS(1174),
+    [anon_sym__Alignof] = ACTIONS(1174),
+    [anon_sym_offsetof] = ACTIONS(1174),
+    [anon_sym__Generic] = ACTIONS(1174),
+    [anon_sym_asm] = ACTIONS(1174),
+    [anon_sym___asm__] = ACTIONS(1174),
+    [anon_sym___asm] = ACTIONS(1174),
+    [sym_number_literal] = ACTIONS(1176),
+    [anon_sym_L_SQUOTE] = ACTIONS(1176),
+    [anon_sym_u_SQUOTE] = ACTIONS(1176),
+    [anon_sym_U_SQUOTE] = ACTIONS(1176),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1176),
+    [anon_sym_SQUOTE] = ACTIONS(1176),
+    [anon_sym_L_DQUOTE] = ACTIONS(1176),
+    [anon_sym_u_DQUOTE] = ACTIONS(1176),
+    [anon_sym_U_DQUOTE] = ACTIONS(1176),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1176),
+    [anon_sym_DQUOTE] = ACTIONS(1176),
+    [sym_true] = ACTIONS(1174),
+    [sym_false] = ACTIONS(1174),
+    [anon_sym_NULL] = ACTIONS(1174),
+    [anon_sym_nullptr] = ACTIONS(1174),
     [sym_comment] = ACTIONS(3),
   },
   [234] = {
-    [sym_identifier] = ACTIONS(1201),
-    [aux_sym_preproc_include_token1] = ACTIONS(1201),
-    [aux_sym_preproc_def_token1] = ACTIONS(1201),
-    [aux_sym_preproc_if_token1] = ACTIONS(1201),
-    [aux_sym_preproc_if_token2] = ACTIONS(1201),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1201),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1201),
-    [sym_preproc_directive] = ACTIONS(1201),
-    [anon_sym_LPAREN2] = ACTIONS(1203),
-    [anon_sym_BANG] = ACTIONS(1203),
-    [anon_sym_TILDE] = ACTIONS(1203),
-    [anon_sym_DASH] = ACTIONS(1201),
-    [anon_sym_PLUS] = ACTIONS(1201),
-    [anon_sym_STAR] = ACTIONS(1203),
-    [anon_sym_AMP] = ACTIONS(1203),
-    [anon_sym_SEMI] = ACTIONS(1203),
-    [anon_sym___extension__] = ACTIONS(1201),
-    [anon_sym_typedef] = ACTIONS(1201),
-    [anon_sym_extern] = ACTIONS(1201),
-    [anon_sym___attribute__] = ACTIONS(1201),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1203),
-    [anon_sym___declspec] = ACTIONS(1201),
-    [anon_sym___cdecl] = ACTIONS(1201),
-    [anon_sym___clrcall] = ACTIONS(1201),
-    [anon_sym___stdcall] = ACTIONS(1201),
-    [anon_sym___fastcall] = ACTIONS(1201),
-    [anon_sym___thiscall] = ACTIONS(1201),
-    [anon_sym___vectorcall] = ACTIONS(1201),
-    [anon_sym_LBRACE] = ACTIONS(1203),
-    [anon_sym_signed] = ACTIONS(1201),
-    [anon_sym_unsigned] = ACTIONS(1201),
-    [anon_sym_long] = ACTIONS(1201),
-    [anon_sym_short] = ACTIONS(1201),
-    [anon_sym_static] = ACTIONS(1201),
-    [anon_sym_auto] = ACTIONS(1201),
-    [anon_sym_register] = ACTIONS(1201),
-    [anon_sym_inline] = ACTIONS(1201),
-    [anon_sym___inline] = ACTIONS(1201),
-    [anon_sym___inline__] = ACTIONS(1201),
-    [anon_sym___forceinline] = ACTIONS(1201),
-    [anon_sym_thread_local] = ACTIONS(1201),
-    [anon_sym___thread] = ACTIONS(1201),
-    [anon_sym_const] = ACTIONS(1201),
-    [anon_sym_constexpr] = ACTIONS(1201),
-    [anon_sym_volatile] = ACTIONS(1201),
-    [anon_sym_restrict] = ACTIONS(1201),
-    [anon_sym___restrict__] = ACTIONS(1201),
-    [anon_sym__Atomic] = ACTIONS(1201),
-    [anon_sym__Noreturn] = ACTIONS(1201),
-    [anon_sym_noreturn] = ACTIONS(1201),
-    [anon_sym__Nonnull] = ACTIONS(1201),
-    [anon_sym_alignas] = ACTIONS(1201),
-    [anon_sym__Alignas] = ACTIONS(1201),
-    [sym_primitive_type] = ACTIONS(1201),
-    [anon_sym_enum] = ACTIONS(1201),
-    [anon_sym_struct] = ACTIONS(1201),
-    [anon_sym_union] = ACTIONS(1201),
-    [anon_sym_if] = ACTIONS(1201),
-    [anon_sym_else] = ACTIONS(1201),
-    [anon_sym_switch] = ACTIONS(1201),
-    [anon_sym_case] = ACTIONS(1201),
-    [anon_sym_default] = ACTIONS(1201),
-    [anon_sym_while] = ACTIONS(1201),
-    [anon_sym_do] = ACTIONS(1201),
-    [anon_sym_for] = ACTIONS(1201),
-    [anon_sym_return] = ACTIONS(1201),
-    [anon_sym_break] = ACTIONS(1201),
-    [anon_sym_continue] = ACTIONS(1201),
-    [anon_sym_goto] = ACTIONS(1201),
-    [anon_sym___try] = ACTIONS(1201),
-    [anon_sym___leave] = ACTIONS(1201),
-    [anon_sym_DASH_DASH] = ACTIONS(1203),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1203),
-    [anon_sym_sizeof] = ACTIONS(1201),
-    [anon_sym___alignof__] = ACTIONS(1201),
-    [anon_sym___alignof] = ACTIONS(1201),
-    [anon_sym__alignof] = ACTIONS(1201),
-    [anon_sym_alignof] = ACTIONS(1201),
-    [anon_sym__Alignof] = ACTIONS(1201),
-    [anon_sym_offsetof] = ACTIONS(1201),
-    [anon_sym__Generic] = ACTIONS(1201),
-    [anon_sym_asm] = ACTIONS(1201),
-    [anon_sym___asm__] = ACTIONS(1201),
-    [anon_sym___asm] = ACTIONS(1201),
-    [sym_number_literal] = ACTIONS(1203),
-    [anon_sym_L_SQUOTE] = ACTIONS(1203),
-    [anon_sym_u_SQUOTE] = ACTIONS(1203),
-    [anon_sym_U_SQUOTE] = ACTIONS(1203),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1203),
-    [anon_sym_SQUOTE] = ACTIONS(1203),
-    [anon_sym_L_DQUOTE] = ACTIONS(1203),
-    [anon_sym_u_DQUOTE] = ACTIONS(1203),
-    [anon_sym_U_DQUOTE] = ACTIONS(1203),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1203),
-    [anon_sym_DQUOTE] = ACTIONS(1203),
-    [sym_true] = ACTIONS(1201),
-    [sym_false] = ACTIONS(1201),
-    [anon_sym_NULL] = ACTIONS(1201),
-    [anon_sym_nullptr] = ACTIONS(1201),
+    [sym_identifier] = ACTIONS(1174),
+    [aux_sym_preproc_include_token1] = ACTIONS(1174),
+    [aux_sym_preproc_def_token1] = ACTIONS(1174),
+    [aux_sym_preproc_if_token1] = ACTIONS(1174),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1174),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1174),
+    [sym_preproc_directive] = ACTIONS(1174),
+    [anon_sym_LPAREN2] = ACTIONS(1176),
+    [anon_sym_BANG] = ACTIONS(1176),
+    [anon_sym_TILDE] = ACTIONS(1176),
+    [anon_sym_DASH] = ACTIONS(1174),
+    [anon_sym_PLUS] = ACTIONS(1174),
+    [anon_sym_STAR] = ACTIONS(1176),
+    [anon_sym_AMP] = ACTIONS(1176),
+    [anon_sym_SEMI] = ACTIONS(1176),
+    [anon_sym___extension__] = ACTIONS(1174),
+    [anon_sym_typedef] = ACTIONS(1174),
+    [anon_sym_extern] = ACTIONS(1174),
+    [anon_sym___attribute__] = ACTIONS(1174),
+    [anon_sym___attribute] = ACTIONS(1174),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1176),
+    [anon_sym___declspec] = ACTIONS(1174),
+    [anon_sym___cdecl] = ACTIONS(1174),
+    [anon_sym___clrcall] = ACTIONS(1174),
+    [anon_sym___stdcall] = ACTIONS(1174),
+    [anon_sym___fastcall] = ACTIONS(1174),
+    [anon_sym___thiscall] = ACTIONS(1174),
+    [anon_sym___vectorcall] = ACTIONS(1174),
+    [anon_sym_LBRACE] = ACTIONS(1176),
+    [anon_sym_RBRACE] = ACTIONS(1176),
+    [anon_sym_signed] = ACTIONS(1174),
+    [anon_sym_unsigned] = ACTIONS(1174),
+    [anon_sym_long] = ACTIONS(1174),
+    [anon_sym_short] = ACTIONS(1174),
+    [anon_sym_static] = ACTIONS(1174),
+    [anon_sym_auto] = ACTIONS(1174),
+    [anon_sym_register] = ACTIONS(1174),
+    [anon_sym_inline] = ACTIONS(1174),
+    [anon_sym___inline] = ACTIONS(1174),
+    [anon_sym___inline__] = ACTIONS(1174),
+    [anon_sym___forceinline] = ACTIONS(1174),
+    [anon_sym_thread_local] = ACTIONS(1174),
+    [anon_sym___thread] = ACTIONS(1174),
+    [anon_sym_const] = ACTIONS(1174),
+    [anon_sym_constexpr] = ACTIONS(1174),
+    [anon_sym_volatile] = ACTIONS(1174),
+    [anon_sym_restrict] = ACTIONS(1174),
+    [anon_sym___restrict__] = ACTIONS(1174),
+    [anon_sym__Atomic] = ACTIONS(1174),
+    [anon_sym__Noreturn] = ACTIONS(1174),
+    [anon_sym_noreturn] = ACTIONS(1174),
+    [anon_sym__Nonnull] = ACTIONS(1174),
+    [anon_sym_alignas] = ACTIONS(1174),
+    [anon_sym__Alignas] = ACTIONS(1174),
+    [sym_primitive_type] = ACTIONS(1174),
+    [anon_sym_enum] = ACTIONS(1174),
+    [anon_sym_struct] = ACTIONS(1174),
+    [anon_sym_union] = ACTIONS(1174),
+    [anon_sym_if] = ACTIONS(1174),
+    [anon_sym_else] = ACTIONS(1174),
+    [anon_sym_switch] = ACTIONS(1174),
+    [anon_sym_case] = ACTIONS(1174),
+    [anon_sym_default] = ACTIONS(1174),
+    [anon_sym_while] = ACTIONS(1174),
+    [anon_sym_do] = ACTIONS(1174),
+    [anon_sym_for] = ACTIONS(1174),
+    [anon_sym_return] = ACTIONS(1174),
+    [anon_sym_break] = ACTIONS(1174),
+    [anon_sym_continue] = ACTIONS(1174),
+    [anon_sym_goto] = ACTIONS(1174),
+    [anon_sym___try] = ACTIONS(1174),
+    [anon_sym___leave] = ACTIONS(1174),
+    [anon_sym_DASH_DASH] = ACTIONS(1176),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1176),
+    [anon_sym_sizeof] = ACTIONS(1174),
+    [anon_sym___alignof__] = ACTIONS(1174),
+    [anon_sym___alignof] = ACTIONS(1174),
+    [anon_sym__alignof] = ACTIONS(1174),
+    [anon_sym_alignof] = ACTIONS(1174),
+    [anon_sym__Alignof] = ACTIONS(1174),
+    [anon_sym_offsetof] = ACTIONS(1174),
+    [anon_sym__Generic] = ACTIONS(1174),
+    [anon_sym_asm] = ACTIONS(1174),
+    [anon_sym___asm__] = ACTIONS(1174),
+    [anon_sym___asm] = ACTIONS(1174),
+    [sym_number_literal] = ACTIONS(1176),
+    [anon_sym_L_SQUOTE] = ACTIONS(1176),
+    [anon_sym_u_SQUOTE] = ACTIONS(1176),
+    [anon_sym_U_SQUOTE] = ACTIONS(1176),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1176),
+    [anon_sym_SQUOTE] = ACTIONS(1176),
+    [anon_sym_L_DQUOTE] = ACTIONS(1176),
+    [anon_sym_u_DQUOTE] = ACTIONS(1176),
+    [anon_sym_U_DQUOTE] = ACTIONS(1176),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1176),
+    [anon_sym_DQUOTE] = ACTIONS(1176),
+    [sym_true] = ACTIONS(1174),
+    [sym_false] = ACTIONS(1174),
+    [anon_sym_NULL] = ACTIONS(1174),
+    [anon_sym_nullptr] = ACTIONS(1174),
     [sym_comment] = ACTIONS(3),
   },
   [235] = {
-    [sym_identifier] = ACTIONS(1205),
-    [aux_sym_preproc_include_token1] = ACTIONS(1205),
-    [aux_sym_preproc_def_token1] = ACTIONS(1205),
-    [aux_sym_preproc_if_token1] = ACTIONS(1205),
-    [aux_sym_preproc_if_token2] = ACTIONS(1205),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1205),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1205),
-    [sym_preproc_directive] = ACTIONS(1205),
-    [anon_sym_LPAREN2] = ACTIONS(1207),
-    [anon_sym_BANG] = ACTIONS(1207),
-    [anon_sym_TILDE] = ACTIONS(1207),
-    [anon_sym_DASH] = ACTIONS(1205),
-    [anon_sym_PLUS] = ACTIONS(1205),
-    [anon_sym_STAR] = ACTIONS(1207),
-    [anon_sym_AMP] = ACTIONS(1207),
-    [anon_sym_SEMI] = ACTIONS(1207),
-    [anon_sym___extension__] = ACTIONS(1205),
-    [anon_sym_typedef] = ACTIONS(1205),
-    [anon_sym_extern] = ACTIONS(1205),
-    [anon_sym___attribute__] = ACTIONS(1205),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1207),
-    [anon_sym___declspec] = ACTIONS(1205),
-    [anon_sym___cdecl] = ACTIONS(1205),
-    [anon_sym___clrcall] = ACTIONS(1205),
-    [anon_sym___stdcall] = ACTIONS(1205),
-    [anon_sym___fastcall] = ACTIONS(1205),
-    [anon_sym___thiscall] = ACTIONS(1205),
-    [anon_sym___vectorcall] = ACTIONS(1205),
-    [anon_sym_LBRACE] = ACTIONS(1207),
-    [anon_sym_signed] = ACTIONS(1205),
-    [anon_sym_unsigned] = ACTIONS(1205),
-    [anon_sym_long] = ACTIONS(1205),
-    [anon_sym_short] = ACTIONS(1205),
-    [anon_sym_static] = ACTIONS(1205),
-    [anon_sym_auto] = ACTIONS(1205),
-    [anon_sym_register] = ACTIONS(1205),
-    [anon_sym_inline] = ACTIONS(1205),
-    [anon_sym___inline] = ACTIONS(1205),
-    [anon_sym___inline__] = ACTIONS(1205),
-    [anon_sym___forceinline] = ACTIONS(1205),
-    [anon_sym_thread_local] = ACTIONS(1205),
-    [anon_sym___thread] = ACTIONS(1205),
-    [anon_sym_const] = ACTIONS(1205),
-    [anon_sym_constexpr] = ACTIONS(1205),
-    [anon_sym_volatile] = ACTIONS(1205),
-    [anon_sym_restrict] = ACTIONS(1205),
-    [anon_sym___restrict__] = ACTIONS(1205),
-    [anon_sym__Atomic] = ACTIONS(1205),
-    [anon_sym__Noreturn] = ACTIONS(1205),
-    [anon_sym_noreturn] = ACTIONS(1205),
-    [anon_sym__Nonnull] = ACTIONS(1205),
-    [anon_sym_alignas] = ACTIONS(1205),
-    [anon_sym__Alignas] = ACTIONS(1205),
-    [sym_primitive_type] = ACTIONS(1205),
-    [anon_sym_enum] = ACTIONS(1205),
-    [anon_sym_struct] = ACTIONS(1205),
-    [anon_sym_union] = ACTIONS(1205),
-    [anon_sym_if] = ACTIONS(1205),
-    [anon_sym_else] = ACTIONS(1205),
-    [anon_sym_switch] = ACTIONS(1205),
-    [anon_sym_case] = ACTIONS(1205),
-    [anon_sym_default] = ACTIONS(1205),
-    [anon_sym_while] = ACTIONS(1205),
-    [anon_sym_do] = ACTIONS(1205),
-    [anon_sym_for] = ACTIONS(1205),
-    [anon_sym_return] = ACTIONS(1205),
-    [anon_sym_break] = ACTIONS(1205),
-    [anon_sym_continue] = ACTIONS(1205),
-    [anon_sym_goto] = ACTIONS(1205),
-    [anon_sym___try] = ACTIONS(1205),
-    [anon_sym___leave] = ACTIONS(1205),
-    [anon_sym_DASH_DASH] = ACTIONS(1207),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1207),
-    [anon_sym_sizeof] = ACTIONS(1205),
-    [anon_sym___alignof__] = ACTIONS(1205),
-    [anon_sym___alignof] = ACTIONS(1205),
-    [anon_sym__alignof] = ACTIONS(1205),
-    [anon_sym_alignof] = ACTIONS(1205),
-    [anon_sym__Alignof] = ACTIONS(1205),
-    [anon_sym_offsetof] = ACTIONS(1205),
-    [anon_sym__Generic] = ACTIONS(1205),
-    [anon_sym_asm] = ACTIONS(1205),
-    [anon_sym___asm__] = ACTIONS(1205),
-    [anon_sym___asm] = ACTIONS(1205),
-    [sym_number_literal] = ACTIONS(1207),
-    [anon_sym_L_SQUOTE] = ACTIONS(1207),
-    [anon_sym_u_SQUOTE] = ACTIONS(1207),
-    [anon_sym_U_SQUOTE] = ACTIONS(1207),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1207),
-    [anon_sym_SQUOTE] = ACTIONS(1207),
-    [anon_sym_L_DQUOTE] = ACTIONS(1207),
-    [anon_sym_u_DQUOTE] = ACTIONS(1207),
-    [anon_sym_U_DQUOTE] = ACTIONS(1207),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1207),
-    [anon_sym_DQUOTE] = ACTIONS(1207),
-    [sym_true] = ACTIONS(1205),
-    [sym_false] = ACTIONS(1205),
-    [anon_sym_NULL] = ACTIONS(1205),
-    [anon_sym_nullptr] = ACTIONS(1205),
+    [ts_builtin_sym_end] = ACTIONS(1156),
+    [sym_identifier] = ACTIONS(1154),
+    [aux_sym_preproc_include_token1] = ACTIONS(1154),
+    [aux_sym_preproc_def_token1] = ACTIONS(1154),
+    [aux_sym_preproc_if_token1] = ACTIONS(1154),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1154),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1154),
+    [sym_preproc_directive] = ACTIONS(1154),
+    [anon_sym_LPAREN2] = ACTIONS(1156),
+    [anon_sym_BANG] = ACTIONS(1156),
+    [anon_sym_TILDE] = ACTIONS(1156),
+    [anon_sym_DASH] = ACTIONS(1154),
+    [anon_sym_PLUS] = ACTIONS(1154),
+    [anon_sym_STAR] = ACTIONS(1156),
+    [anon_sym_AMP] = ACTIONS(1156),
+    [anon_sym_SEMI] = ACTIONS(1156),
+    [anon_sym___extension__] = ACTIONS(1154),
+    [anon_sym_typedef] = ACTIONS(1154),
+    [anon_sym_extern] = ACTIONS(1154),
+    [anon_sym___attribute__] = ACTIONS(1154),
+    [anon_sym___attribute] = ACTIONS(1154),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1156),
+    [anon_sym___declspec] = ACTIONS(1154),
+    [anon_sym___cdecl] = ACTIONS(1154),
+    [anon_sym___clrcall] = ACTIONS(1154),
+    [anon_sym___stdcall] = ACTIONS(1154),
+    [anon_sym___fastcall] = ACTIONS(1154),
+    [anon_sym___thiscall] = ACTIONS(1154),
+    [anon_sym___vectorcall] = ACTIONS(1154),
+    [anon_sym_LBRACE] = ACTIONS(1156),
+    [anon_sym_signed] = ACTIONS(1154),
+    [anon_sym_unsigned] = ACTIONS(1154),
+    [anon_sym_long] = ACTIONS(1154),
+    [anon_sym_short] = ACTIONS(1154),
+    [anon_sym_static] = ACTIONS(1154),
+    [anon_sym_auto] = ACTIONS(1154),
+    [anon_sym_register] = ACTIONS(1154),
+    [anon_sym_inline] = ACTIONS(1154),
+    [anon_sym___inline] = ACTIONS(1154),
+    [anon_sym___inline__] = ACTIONS(1154),
+    [anon_sym___forceinline] = ACTIONS(1154),
+    [anon_sym_thread_local] = ACTIONS(1154),
+    [anon_sym___thread] = ACTIONS(1154),
+    [anon_sym_const] = ACTIONS(1154),
+    [anon_sym_constexpr] = ACTIONS(1154),
+    [anon_sym_volatile] = ACTIONS(1154),
+    [anon_sym_restrict] = ACTIONS(1154),
+    [anon_sym___restrict__] = ACTIONS(1154),
+    [anon_sym__Atomic] = ACTIONS(1154),
+    [anon_sym__Noreturn] = ACTIONS(1154),
+    [anon_sym_noreturn] = ACTIONS(1154),
+    [anon_sym__Nonnull] = ACTIONS(1154),
+    [anon_sym_alignas] = ACTIONS(1154),
+    [anon_sym__Alignas] = ACTIONS(1154),
+    [sym_primitive_type] = ACTIONS(1154),
+    [anon_sym_enum] = ACTIONS(1154),
+    [anon_sym_struct] = ACTIONS(1154),
+    [anon_sym_union] = ACTIONS(1154),
+    [anon_sym_if] = ACTIONS(1154),
+    [anon_sym_else] = ACTIONS(1154),
+    [anon_sym_switch] = ACTIONS(1154),
+    [anon_sym_case] = ACTIONS(1154),
+    [anon_sym_default] = ACTIONS(1154),
+    [anon_sym_while] = ACTIONS(1154),
+    [anon_sym_do] = ACTIONS(1154),
+    [anon_sym_for] = ACTIONS(1154),
+    [anon_sym_return] = ACTIONS(1154),
+    [anon_sym_break] = ACTIONS(1154),
+    [anon_sym_continue] = ACTIONS(1154),
+    [anon_sym_goto] = ACTIONS(1154),
+    [anon_sym___try] = ACTIONS(1154),
+    [anon_sym___leave] = ACTIONS(1154),
+    [anon_sym_DASH_DASH] = ACTIONS(1156),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1156),
+    [anon_sym_sizeof] = ACTIONS(1154),
+    [anon_sym___alignof__] = ACTIONS(1154),
+    [anon_sym___alignof] = ACTIONS(1154),
+    [anon_sym__alignof] = ACTIONS(1154),
+    [anon_sym_alignof] = ACTIONS(1154),
+    [anon_sym__Alignof] = ACTIONS(1154),
+    [anon_sym_offsetof] = ACTIONS(1154),
+    [anon_sym__Generic] = ACTIONS(1154),
+    [anon_sym_asm] = ACTIONS(1154),
+    [anon_sym___asm__] = ACTIONS(1154),
+    [anon_sym___asm] = ACTIONS(1154),
+    [sym_number_literal] = ACTIONS(1156),
+    [anon_sym_L_SQUOTE] = ACTIONS(1156),
+    [anon_sym_u_SQUOTE] = ACTIONS(1156),
+    [anon_sym_U_SQUOTE] = ACTIONS(1156),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1156),
+    [anon_sym_SQUOTE] = ACTIONS(1156),
+    [anon_sym_L_DQUOTE] = ACTIONS(1156),
+    [anon_sym_u_DQUOTE] = ACTIONS(1156),
+    [anon_sym_U_DQUOTE] = ACTIONS(1156),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1156),
+    [anon_sym_DQUOTE] = ACTIONS(1156),
+    [sym_true] = ACTIONS(1154),
+    [sym_false] = ACTIONS(1154),
+    [anon_sym_NULL] = ACTIONS(1154),
+    [anon_sym_nullptr] = ACTIONS(1154),
     [sym_comment] = ACTIONS(3),
   },
   [236] = {
-    [sym_identifier] = ACTIONS(1205),
-    [aux_sym_preproc_include_token1] = ACTIONS(1205),
-    [aux_sym_preproc_def_token1] = ACTIONS(1205),
-    [aux_sym_preproc_if_token1] = ACTIONS(1205),
-    [aux_sym_preproc_if_token2] = ACTIONS(1205),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1205),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1205),
-    [sym_preproc_directive] = ACTIONS(1205),
-    [anon_sym_LPAREN2] = ACTIONS(1207),
-    [anon_sym_BANG] = ACTIONS(1207),
-    [anon_sym_TILDE] = ACTIONS(1207),
-    [anon_sym_DASH] = ACTIONS(1205),
-    [anon_sym_PLUS] = ACTIONS(1205),
-    [anon_sym_STAR] = ACTIONS(1207),
-    [anon_sym_AMP] = ACTIONS(1207),
-    [anon_sym_SEMI] = ACTIONS(1207),
-    [anon_sym___extension__] = ACTIONS(1205),
-    [anon_sym_typedef] = ACTIONS(1205),
-    [anon_sym_extern] = ACTIONS(1205),
-    [anon_sym___attribute__] = ACTIONS(1205),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1207),
-    [anon_sym___declspec] = ACTIONS(1205),
-    [anon_sym___cdecl] = ACTIONS(1205),
-    [anon_sym___clrcall] = ACTIONS(1205),
-    [anon_sym___stdcall] = ACTIONS(1205),
-    [anon_sym___fastcall] = ACTIONS(1205),
-    [anon_sym___thiscall] = ACTIONS(1205),
-    [anon_sym___vectorcall] = ACTIONS(1205),
-    [anon_sym_LBRACE] = ACTIONS(1207),
-    [anon_sym_signed] = ACTIONS(1205),
-    [anon_sym_unsigned] = ACTIONS(1205),
-    [anon_sym_long] = ACTIONS(1205),
-    [anon_sym_short] = ACTIONS(1205),
-    [anon_sym_static] = ACTIONS(1205),
-    [anon_sym_auto] = ACTIONS(1205),
-    [anon_sym_register] = ACTIONS(1205),
-    [anon_sym_inline] = ACTIONS(1205),
-    [anon_sym___inline] = ACTIONS(1205),
-    [anon_sym___inline__] = ACTIONS(1205),
-    [anon_sym___forceinline] = ACTIONS(1205),
-    [anon_sym_thread_local] = ACTIONS(1205),
-    [anon_sym___thread] = ACTIONS(1205),
-    [anon_sym_const] = ACTIONS(1205),
-    [anon_sym_constexpr] = ACTIONS(1205),
-    [anon_sym_volatile] = ACTIONS(1205),
-    [anon_sym_restrict] = ACTIONS(1205),
-    [anon_sym___restrict__] = ACTIONS(1205),
-    [anon_sym__Atomic] = ACTIONS(1205),
-    [anon_sym__Noreturn] = ACTIONS(1205),
-    [anon_sym_noreturn] = ACTIONS(1205),
-    [anon_sym__Nonnull] = ACTIONS(1205),
-    [anon_sym_alignas] = ACTIONS(1205),
-    [anon_sym__Alignas] = ACTIONS(1205),
-    [sym_primitive_type] = ACTIONS(1205),
-    [anon_sym_enum] = ACTIONS(1205),
-    [anon_sym_struct] = ACTIONS(1205),
-    [anon_sym_union] = ACTIONS(1205),
-    [anon_sym_if] = ACTIONS(1205),
-    [anon_sym_else] = ACTIONS(1205),
-    [anon_sym_switch] = ACTIONS(1205),
-    [anon_sym_case] = ACTIONS(1205),
-    [anon_sym_default] = ACTIONS(1205),
-    [anon_sym_while] = ACTIONS(1205),
-    [anon_sym_do] = ACTIONS(1205),
-    [anon_sym_for] = ACTIONS(1205),
-    [anon_sym_return] = ACTIONS(1205),
-    [anon_sym_break] = ACTIONS(1205),
-    [anon_sym_continue] = ACTIONS(1205),
-    [anon_sym_goto] = ACTIONS(1205),
-    [anon_sym___try] = ACTIONS(1205),
-    [anon_sym___leave] = ACTIONS(1205),
-    [anon_sym_DASH_DASH] = ACTIONS(1207),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1207),
-    [anon_sym_sizeof] = ACTIONS(1205),
-    [anon_sym___alignof__] = ACTIONS(1205),
-    [anon_sym___alignof] = ACTIONS(1205),
-    [anon_sym__alignof] = ACTIONS(1205),
-    [anon_sym_alignof] = ACTIONS(1205),
-    [anon_sym__Alignof] = ACTIONS(1205),
-    [anon_sym_offsetof] = ACTIONS(1205),
-    [anon_sym__Generic] = ACTIONS(1205),
-    [anon_sym_asm] = ACTIONS(1205),
-    [anon_sym___asm__] = ACTIONS(1205),
-    [anon_sym___asm] = ACTIONS(1205),
-    [sym_number_literal] = ACTIONS(1207),
-    [anon_sym_L_SQUOTE] = ACTIONS(1207),
-    [anon_sym_u_SQUOTE] = ACTIONS(1207),
-    [anon_sym_U_SQUOTE] = ACTIONS(1207),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1207),
-    [anon_sym_SQUOTE] = ACTIONS(1207),
-    [anon_sym_L_DQUOTE] = ACTIONS(1207),
-    [anon_sym_u_DQUOTE] = ACTIONS(1207),
-    [anon_sym_U_DQUOTE] = ACTIONS(1207),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1207),
-    [anon_sym_DQUOTE] = ACTIONS(1207),
-    [sym_true] = ACTIONS(1205),
-    [sym_false] = ACTIONS(1205),
-    [anon_sym_NULL] = ACTIONS(1205),
-    [anon_sym_nullptr] = ACTIONS(1205),
+    [ts_builtin_sym_end] = ACTIONS(1248),
+    [sym_identifier] = ACTIONS(1246),
+    [aux_sym_preproc_include_token1] = ACTIONS(1246),
+    [aux_sym_preproc_def_token1] = ACTIONS(1246),
+    [aux_sym_preproc_if_token1] = ACTIONS(1246),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1246),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1246),
+    [sym_preproc_directive] = ACTIONS(1246),
+    [anon_sym_LPAREN2] = ACTIONS(1248),
+    [anon_sym_BANG] = ACTIONS(1248),
+    [anon_sym_TILDE] = ACTIONS(1248),
+    [anon_sym_DASH] = ACTIONS(1246),
+    [anon_sym_PLUS] = ACTIONS(1246),
+    [anon_sym_STAR] = ACTIONS(1248),
+    [anon_sym_AMP] = ACTIONS(1248),
+    [anon_sym_SEMI] = ACTIONS(1248),
+    [anon_sym___extension__] = ACTIONS(1246),
+    [anon_sym_typedef] = ACTIONS(1246),
+    [anon_sym_extern] = ACTIONS(1246),
+    [anon_sym___attribute__] = ACTIONS(1246),
+    [anon_sym___attribute] = ACTIONS(1246),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1248),
+    [anon_sym___declspec] = ACTIONS(1246),
+    [anon_sym___cdecl] = ACTIONS(1246),
+    [anon_sym___clrcall] = ACTIONS(1246),
+    [anon_sym___stdcall] = ACTIONS(1246),
+    [anon_sym___fastcall] = ACTIONS(1246),
+    [anon_sym___thiscall] = ACTIONS(1246),
+    [anon_sym___vectorcall] = ACTIONS(1246),
+    [anon_sym_LBRACE] = ACTIONS(1248),
+    [anon_sym_signed] = ACTIONS(1246),
+    [anon_sym_unsigned] = ACTIONS(1246),
+    [anon_sym_long] = ACTIONS(1246),
+    [anon_sym_short] = ACTIONS(1246),
+    [anon_sym_static] = ACTIONS(1246),
+    [anon_sym_auto] = ACTIONS(1246),
+    [anon_sym_register] = ACTIONS(1246),
+    [anon_sym_inline] = ACTIONS(1246),
+    [anon_sym___inline] = ACTIONS(1246),
+    [anon_sym___inline__] = ACTIONS(1246),
+    [anon_sym___forceinline] = ACTIONS(1246),
+    [anon_sym_thread_local] = ACTIONS(1246),
+    [anon_sym___thread] = ACTIONS(1246),
+    [anon_sym_const] = ACTIONS(1246),
+    [anon_sym_constexpr] = ACTIONS(1246),
+    [anon_sym_volatile] = ACTIONS(1246),
+    [anon_sym_restrict] = ACTIONS(1246),
+    [anon_sym___restrict__] = ACTIONS(1246),
+    [anon_sym__Atomic] = ACTIONS(1246),
+    [anon_sym__Noreturn] = ACTIONS(1246),
+    [anon_sym_noreturn] = ACTIONS(1246),
+    [anon_sym__Nonnull] = ACTIONS(1246),
+    [anon_sym_alignas] = ACTIONS(1246),
+    [anon_sym__Alignas] = ACTIONS(1246),
+    [sym_primitive_type] = ACTIONS(1246),
+    [anon_sym_enum] = ACTIONS(1246),
+    [anon_sym_struct] = ACTIONS(1246),
+    [anon_sym_union] = ACTIONS(1246),
+    [anon_sym_if] = ACTIONS(1246),
+    [anon_sym_else] = ACTIONS(1246),
+    [anon_sym_switch] = ACTIONS(1246),
+    [anon_sym_case] = ACTIONS(1246),
+    [anon_sym_default] = ACTIONS(1246),
+    [anon_sym_while] = ACTIONS(1246),
+    [anon_sym_do] = ACTIONS(1246),
+    [anon_sym_for] = ACTIONS(1246),
+    [anon_sym_return] = ACTIONS(1246),
+    [anon_sym_break] = ACTIONS(1246),
+    [anon_sym_continue] = ACTIONS(1246),
+    [anon_sym_goto] = ACTIONS(1246),
+    [anon_sym___try] = ACTIONS(1246),
+    [anon_sym___leave] = ACTIONS(1246),
+    [anon_sym_DASH_DASH] = ACTIONS(1248),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1248),
+    [anon_sym_sizeof] = ACTIONS(1246),
+    [anon_sym___alignof__] = ACTIONS(1246),
+    [anon_sym___alignof] = ACTIONS(1246),
+    [anon_sym__alignof] = ACTIONS(1246),
+    [anon_sym_alignof] = ACTIONS(1246),
+    [anon_sym__Alignof] = ACTIONS(1246),
+    [anon_sym_offsetof] = ACTIONS(1246),
+    [anon_sym__Generic] = ACTIONS(1246),
+    [anon_sym_asm] = ACTIONS(1246),
+    [anon_sym___asm__] = ACTIONS(1246),
+    [anon_sym___asm] = ACTIONS(1246),
+    [sym_number_literal] = ACTIONS(1248),
+    [anon_sym_L_SQUOTE] = ACTIONS(1248),
+    [anon_sym_u_SQUOTE] = ACTIONS(1248),
+    [anon_sym_U_SQUOTE] = ACTIONS(1248),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1248),
+    [anon_sym_SQUOTE] = ACTIONS(1248),
+    [anon_sym_L_DQUOTE] = ACTIONS(1248),
+    [anon_sym_u_DQUOTE] = ACTIONS(1248),
+    [anon_sym_U_DQUOTE] = ACTIONS(1248),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1248),
+    [anon_sym_DQUOTE] = ACTIONS(1248),
+    [sym_true] = ACTIONS(1246),
+    [sym_false] = ACTIONS(1246),
+    [anon_sym_NULL] = ACTIONS(1246),
+    [anon_sym_nullptr] = ACTIONS(1246),
     [sym_comment] = ACTIONS(3),
   },
   [237] = {
-    [ts_builtin_sym_end] = ACTIONS(1207),
-    [sym_identifier] = ACTIONS(1205),
-    [aux_sym_preproc_include_token1] = ACTIONS(1205),
-    [aux_sym_preproc_def_token1] = ACTIONS(1205),
-    [aux_sym_preproc_if_token1] = ACTIONS(1205),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1205),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1205),
-    [sym_preproc_directive] = ACTIONS(1205),
-    [anon_sym_LPAREN2] = ACTIONS(1207),
-    [anon_sym_BANG] = ACTIONS(1207),
-    [anon_sym_TILDE] = ACTIONS(1207),
-    [anon_sym_DASH] = ACTIONS(1205),
-    [anon_sym_PLUS] = ACTIONS(1205),
-    [anon_sym_STAR] = ACTIONS(1207),
-    [anon_sym_AMP] = ACTIONS(1207),
-    [anon_sym_SEMI] = ACTIONS(1207),
-    [anon_sym___extension__] = ACTIONS(1205),
-    [anon_sym_typedef] = ACTIONS(1205),
-    [anon_sym_extern] = ACTIONS(1205),
-    [anon_sym___attribute__] = ACTIONS(1205),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1207),
-    [anon_sym___declspec] = ACTIONS(1205),
-    [anon_sym___cdecl] = ACTIONS(1205),
-    [anon_sym___clrcall] = ACTIONS(1205),
-    [anon_sym___stdcall] = ACTIONS(1205),
-    [anon_sym___fastcall] = ACTIONS(1205),
-    [anon_sym___thiscall] = ACTIONS(1205),
-    [anon_sym___vectorcall] = ACTIONS(1205),
-    [anon_sym_LBRACE] = ACTIONS(1207),
-    [anon_sym_signed] = ACTIONS(1205),
-    [anon_sym_unsigned] = ACTIONS(1205),
-    [anon_sym_long] = ACTIONS(1205),
-    [anon_sym_short] = ACTIONS(1205),
-    [anon_sym_static] = ACTIONS(1205),
-    [anon_sym_auto] = ACTIONS(1205),
-    [anon_sym_register] = ACTIONS(1205),
-    [anon_sym_inline] = ACTIONS(1205),
-    [anon_sym___inline] = ACTIONS(1205),
-    [anon_sym___inline__] = ACTIONS(1205),
-    [anon_sym___forceinline] = ACTIONS(1205),
-    [anon_sym_thread_local] = ACTIONS(1205),
-    [anon_sym___thread] = ACTIONS(1205),
-    [anon_sym_const] = ACTIONS(1205),
-    [anon_sym_constexpr] = ACTIONS(1205),
-    [anon_sym_volatile] = ACTIONS(1205),
-    [anon_sym_restrict] = ACTIONS(1205),
-    [anon_sym___restrict__] = ACTIONS(1205),
-    [anon_sym__Atomic] = ACTIONS(1205),
-    [anon_sym__Noreturn] = ACTIONS(1205),
-    [anon_sym_noreturn] = ACTIONS(1205),
-    [anon_sym__Nonnull] = ACTIONS(1205),
-    [anon_sym_alignas] = ACTIONS(1205),
-    [anon_sym__Alignas] = ACTIONS(1205),
-    [sym_primitive_type] = ACTIONS(1205),
-    [anon_sym_enum] = ACTIONS(1205),
-    [anon_sym_struct] = ACTIONS(1205),
-    [anon_sym_union] = ACTIONS(1205),
-    [anon_sym_if] = ACTIONS(1205),
-    [anon_sym_else] = ACTIONS(1205),
-    [anon_sym_switch] = ACTIONS(1205),
-    [anon_sym_case] = ACTIONS(1205),
-    [anon_sym_default] = ACTIONS(1205),
-    [anon_sym_while] = ACTIONS(1205),
-    [anon_sym_do] = ACTIONS(1205),
-    [anon_sym_for] = ACTIONS(1205),
-    [anon_sym_return] = ACTIONS(1205),
-    [anon_sym_break] = ACTIONS(1205),
-    [anon_sym_continue] = ACTIONS(1205),
-    [anon_sym_goto] = ACTIONS(1205),
-    [anon_sym___try] = ACTIONS(1205),
-    [anon_sym___leave] = ACTIONS(1205),
-    [anon_sym_DASH_DASH] = ACTIONS(1207),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1207),
-    [anon_sym_sizeof] = ACTIONS(1205),
-    [anon_sym___alignof__] = ACTIONS(1205),
-    [anon_sym___alignof] = ACTIONS(1205),
-    [anon_sym__alignof] = ACTIONS(1205),
-    [anon_sym_alignof] = ACTIONS(1205),
-    [anon_sym__Alignof] = ACTIONS(1205),
-    [anon_sym_offsetof] = ACTIONS(1205),
-    [anon_sym__Generic] = ACTIONS(1205),
-    [anon_sym_asm] = ACTIONS(1205),
-    [anon_sym___asm__] = ACTIONS(1205),
-    [anon_sym___asm] = ACTIONS(1205),
-    [sym_number_literal] = ACTIONS(1207),
-    [anon_sym_L_SQUOTE] = ACTIONS(1207),
-    [anon_sym_u_SQUOTE] = ACTIONS(1207),
-    [anon_sym_U_SQUOTE] = ACTIONS(1207),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1207),
-    [anon_sym_SQUOTE] = ACTIONS(1207),
-    [anon_sym_L_DQUOTE] = ACTIONS(1207),
-    [anon_sym_u_DQUOTE] = ACTIONS(1207),
-    [anon_sym_U_DQUOTE] = ACTIONS(1207),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1207),
-    [anon_sym_DQUOTE] = ACTIONS(1207),
-    [sym_true] = ACTIONS(1205),
-    [sym_false] = ACTIONS(1205),
-    [anon_sym_NULL] = ACTIONS(1205),
-    [anon_sym_nullptr] = ACTIONS(1205),
+    [sym_identifier] = ACTIONS(1178),
+    [aux_sym_preproc_include_token1] = ACTIONS(1178),
+    [aux_sym_preproc_def_token1] = ACTIONS(1178),
+    [aux_sym_preproc_if_token1] = ACTIONS(1178),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1178),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1178),
+    [sym_preproc_directive] = ACTIONS(1178),
+    [anon_sym_LPAREN2] = ACTIONS(1180),
+    [anon_sym_BANG] = ACTIONS(1180),
+    [anon_sym_TILDE] = ACTIONS(1180),
+    [anon_sym_DASH] = ACTIONS(1178),
+    [anon_sym_PLUS] = ACTIONS(1178),
+    [anon_sym_STAR] = ACTIONS(1180),
+    [anon_sym_AMP] = ACTIONS(1180),
+    [anon_sym_SEMI] = ACTIONS(1180),
+    [anon_sym___extension__] = ACTIONS(1178),
+    [anon_sym_typedef] = ACTIONS(1178),
+    [anon_sym_extern] = ACTIONS(1178),
+    [anon_sym___attribute__] = ACTIONS(1178),
+    [anon_sym___attribute] = ACTIONS(1178),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1180),
+    [anon_sym___declspec] = ACTIONS(1178),
+    [anon_sym___cdecl] = ACTIONS(1178),
+    [anon_sym___clrcall] = ACTIONS(1178),
+    [anon_sym___stdcall] = ACTIONS(1178),
+    [anon_sym___fastcall] = ACTIONS(1178),
+    [anon_sym___thiscall] = ACTIONS(1178),
+    [anon_sym___vectorcall] = ACTIONS(1178),
+    [anon_sym_LBRACE] = ACTIONS(1180),
+    [anon_sym_RBRACE] = ACTIONS(1180),
+    [anon_sym_signed] = ACTIONS(1178),
+    [anon_sym_unsigned] = ACTIONS(1178),
+    [anon_sym_long] = ACTIONS(1178),
+    [anon_sym_short] = ACTIONS(1178),
+    [anon_sym_static] = ACTIONS(1178),
+    [anon_sym_auto] = ACTIONS(1178),
+    [anon_sym_register] = ACTIONS(1178),
+    [anon_sym_inline] = ACTIONS(1178),
+    [anon_sym___inline] = ACTIONS(1178),
+    [anon_sym___inline__] = ACTIONS(1178),
+    [anon_sym___forceinline] = ACTIONS(1178),
+    [anon_sym_thread_local] = ACTIONS(1178),
+    [anon_sym___thread] = ACTIONS(1178),
+    [anon_sym_const] = ACTIONS(1178),
+    [anon_sym_constexpr] = ACTIONS(1178),
+    [anon_sym_volatile] = ACTIONS(1178),
+    [anon_sym_restrict] = ACTIONS(1178),
+    [anon_sym___restrict__] = ACTIONS(1178),
+    [anon_sym__Atomic] = ACTIONS(1178),
+    [anon_sym__Noreturn] = ACTIONS(1178),
+    [anon_sym_noreturn] = ACTIONS(1178),
+    [anon_sym__Nonnull] = ACTIONS(1178),
+    [anon_sym_alignas] = ACTIONS(1178),
+    [anon_sym__Alignas] = ACTIONS(1178),
+    [sym_primitive_type] = ACTIONS(1178),
+    [anon_sym_enum] = ACTIONS(1178),
+    [anon_sym_struct] = ACTIONS(1178),
+    [anon_sym_union] = ACTIONS(1178),
+    [anon_sym_if] = ACTIONS(1178),
+    [anon_sym_else] = ACTIONS(1178),
+    [anon_sym_switch] = ACTIONS(1178),
+    [anon_sym_case] = ACTIONS(1178),
+    [anon_sym_default] = ACTIONS(1178),
+    [anon_sym_while] = ACTIONS(1178),
+    [anon_sym_do] = ACTIONS(1178),
+    [anon_sym_for] = ACTIONS(1178),
+    [anon_sym_return] = ACTIONS(1178),
+    [anon_sym_break] = ACTIONS(1178),
+    [anon_sym_continue] = ACTIONS(1178),
+    [anon_sym_goto] = ACTIONS(1178),
+    [anon_sym___try] = ACTIONS(1178),
+    [anon_sym___leave] = ACTIONS(1178),
+    [anon_sym_DASH_DASH] = ACTIONS(1180),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1180),
+    [anon_sym_sizeof] = ACTIONS(1178),
+    [anon_sym___alignof__] = ACTIONS(1178),
+    [anon_sym___alignof] = ACTIONS(1178),
+    [anon_sym__alignof] = ACTIONS(1178),
+    [anon_sym_alignof] = ACTIONS(1178),
+    [anon_sym__Alignof] = ACTIONS(1178),
+    [anon_sym_offsetof] = ACTIONS(1178),
+    [anon_sym__Generic] = ACTIONS(1178),
+    [anon_sym_asm] = ACTIONS(1178),
+    [anon_sym___asm__] = ACTIONS(1178),
+    [anon_sym___asm] = ACTIONS(1178),
+    [sym_number_literal] = ACTIONS(1180),
+    [anon_sym_L_SQUOTE] = ACTIONS(1180),
+    [anon_sym_u_SQUOTE] = ACTIONS(1180),
+    [anon_sym_U_SQUOTE] = ACTIONS(1180),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1180),
+    [anon_sym_SQUOTE] = ACTIONS(1180),
+    [anon_sym_L_DQUOTE] = ACTIONS(1180),
+    [anon_sym_u_DQUOTE] = ACTIONS(1180),
+    [anon_sym_U_DQUOTE] = ACTIONS(1180),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1180),
+    [anon_sym_DQUOTE] = ACTIONS(1180),
+    [sym_true] = ACTIONS(1178),
+    [sym_false] = ACTIONS(1178),
+    [anon_sym_NULL] = ACTIONS(1178),
+    [anon_sym_nullptr] = ACTIONS(1178),
     [sym_comment] = ACTIONS(3),
   },
   [238] = {
-    [sym_identifier] = ACTIONS(1237),
-    [aux_sym_preproc_include_token1] = ACTIONS(1237),
-    [aux_sym_preproc_def_token1] = ACTIONS(1237),
-    [aux_sym_preproc_if_token1] = ACTIONS(1237),
-    [aux_sym_preproc_if_token2] = ACTIONS(1237),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1237),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1237),
-    [sym_preproc_directive] = ACTIONS(1237),
-    [anon_sym_LPAREN2] = ACTIONS(1239),
-    [anon_sym_BANG] = ACTIONS(1239),
-    [anon_sym_TILDE] = ACTIONS(1239),
-    [anon_sym_DASH] = ACTIONS(1237),
-    [anon_sym_PLUS] = ACTIONS(1237),
-    [anon_sym_STAR] = ACTIONS(1239),
-    [anon_sym_AMP] = ACTIONS(1239),
-    [anon_sym_SEMI] = ACTIONS(1239),
-    [anon_sym___extension__] = ACTIONS(1237),
-    [anon_sym_typedef] = ACTIONS(1237),
-    [anon_sym_extern] = ACTIONS(1237),
-    [anon_sym___attribute__] = ACTIONS(1237),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1239),
-    [anon_sym___declspec] = ACTIONS(1237),
-    [anon_sym___cdecl] = ACTIONS(1237),
-    [anon_sym___clrcall] = ACTIONS(1237),
-    [anon_sym___stdcall] = ACTIONS(1237),
-    [anon_sym___fastcall] = ACTIONS(1237),
-    [anon_sym___thiscall] = ACTIONS(1237),
-    [anon_sym___vectorcall] = ACTIONS(1237),
-    [anon_sym_LBRACE] = ACTIONS(1239),
-    [anon_sym_signed] = ACTIONS(1237),
-    [anon_sym_unsigned] = ACTIONS(1237),
-    [anon_sym_long] = ACTIONS(1237),
-    [anon_sym_short] = ACTIONS(1237),
-    [anon_sym_static] = ACTIONS(1237),
-    [anon_sym_auto] = ACTIONS(1237),
-    [anon_sym_register] = ACTIONS(1237),
-    [anon_sym_inline] = ACTIONS(1237),
-    [anon_sym___inline] = ACTIONS(1237),
-    [anon_sym___inline__] = ACTIONS(1237),
-    [anon_sym___forceinline] = ACTIONS(1237),
-    [anon_sym_thread_local] = ACTIONS(1237),
-    [anon_sym___thread] = ACTIONS(1237),
-    [anon_sym_const] = ACTIONS(1237),
-    [anon_sym_constexpr] = ACTIONS(1237),
-    [anon_sym_volatile] = ACTIONS(1237),
-    [anon_sym_restrict] = ACTIONS(1237),
-    [anon_sym___restrict__] = ACTIONS(1237),
-    [anon_sym__Atomic] = ACTIONS(1237),
-    [anon_sym__Noreturn] = ACTIONS(1237),
-    [anon_sym_noreturn] = ACTIONS(1237),
-    [anon_sym__Nonnull] = ACTIONS(1237),
-    [anon_sym_alignas] = ACTIONS(1237),
-    [anon_sym__Alignas] = ACTIONS(1237),
-    [sym_primitive_type] = ACTIONS(1237),
-    [anon_sym_enum] = ACTIONS(1237),
-    [anon_sym_struct] = ACTIONS(1237),
-    [anon_sym_union] = ACTIONS(1237),
-    [anon_sym_if] = ACTIONS(1237),
-    [anon_sym_else] = ACTIONS(1237),
-    [anon_sym_switch] = ACTIONS(1237),
-    [anon_sym_case] = ACTIONS(1237),
-    [anon_sym_default] = ACTIONS(1237),
-    [anon_sym_while] = ACTIONS(1237),
-    [anon_sym_do] = ACTIONS(1237),
-    [anon_sym_for] = ACTIONS(1237),
-    [anon_sym_return] = ACTIONS(1237),
-    [anon_sym_break] = ACTIONS(1237),
-    [anon_sym_continue] = ACTIONS(1237),
-    [anon_sym_goto] = ACTIONS(1237),
-    [anon_sym___try] = ACTIONS(1237),
-    [anon_sym___leave] = ACTIONS(1237),
-    [anon_sym_DASH_DASH] = ACTIONS(1239),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1239),
-    [anon_sym_sizeof] = ACTIONS(1237),
-    [anon_sym___alignof__] = ACTIONS(1237),
-    [anon_sym___alignof] = ACTIONS(1237),
-    [anon_sym__alignof] = ACTIONS(1237),
-    [anon_sym_alignof] = ACTIONS(1237),
-    [anon_sym__Alignof] = ACTIONS(1237),
-    [anon_sym_offsetof] = ACTIONS(1237),
-    [anon_sym__Generic] = ACTIONS(1237),
-    [anon_sym_asm] = ACTIONS(1237),
-    [anon_sym___asm__] = ACTIONS(1237),
-    [anon_sym___asm] = ACTIONS(1237),
-    [sym_number_literal] = ACTIONS(1239),
-    [anon_sym_L_SQUOTE] = ACTIONS(1239),
-    [anon_sym_u_SQUOTE] = ACTIONS(1239),
-    [anon_sym_U_SQUOTE] = ACTIONS(1239),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1239),
-    [anon_sym_SQUOTE] = ACTIONS(1239),
-    [anon_sym_L_DQUOTE] = ACTIONS(1239),
-    [anon_sym_u_DQUOTE] = ACTIONS(1239),
-    [anon_sym_U_DQUOTE] = ACTIONS(1239),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1239),
-    [anon_sym_DQUOTE] = ACTIONS(1239),
-    [sym_true] = ACTIONS(1237),
-    [sym_false] = ACTIONS(1237),
-    [anon_sym_NULL] = ACTIONS(1237),
-    [anon_sym_nullptr] = ACTIONS(1237),
+    [sym_identifier] = ACTIONS(1182),
+    [aux_sym_preproc_include_token1] = ACTIONS(1182),
+    [aux_sym_preproc_def_token1] = ACTIONS(1182),
+    [aux_sym_preproc_if_token1] = ACTIONS(1182),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1182),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1182),
+    [sym_preproc_directive] = ACTIONS(1182),
+    [anon_sym_LPAREN2] = ACTIONS(1184),
+    [anon_sym_BANG] = ACTIONS(1184),
+    [anon_sym_TILDE] = ACTIONS(1184),
+    [anon_sym_DASH] = ACTIONS(1182),
+    [anon_sym_PLUS] = ACTIONS(1182),
+    [anon_sym_STAR] = ACTIONS(1184),
+    [anon_sym_AMP] = ACTIONS(1184),
+    [anon_sym_SEMI] = ACTIONS(1184),
+    [anon_sym___extension__] = ACTIONS(1182),
+    [anon_sym_typedef] = ACTIONS(1182),
+    [anon_sym_extern] = ACTIONS(1182),
+    [anon_sym___attribute__] = ACTIONS(1182),
+    [anon_sym___attribute] = ACTIONS(1182),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1184),
+    [anon_sym___declspec] = ACTIONS(1182),
+    [anon_sym___cdecl] = ACTIONS(1182),
+    [anon_sym___clrcall] = ACTIONS(1182),
+    [anon_sym___stdcall] = ACTIONS(1182),
+    [anon_sym___fastcall] = ACTIONS(1182),
+    [anon_sym___thiscall] = ACTIONS(1182),
+    [anon_sym___vectorcall] = ACTIONS(1182),
+    [anon_sym_LBRACE] = ACTIONS(1184),
+    [anon_sym_RBRACE] = ACTIONS(1184),
+    [anon_sym_signed] = ACTIONS(1182),
+    [anon_sym_unsigned] = ACTIONS(1182),
+    [anon_sym_long] = ACTIONS(1182),
+    [anon_sym_short] = ACTIONS(1182),
+    [anon_sym_static] = ACTIONS(1182),
+    [anon_sym_auto] = ACTIONS(1182),
+    [anon_sym_register] = ACTIONS(1182),
+    [anon_sym_inline] = ACTIONS(1182),
+    [anon_sym___inline] = ACTIONS(1182),
+    [anon_sym___inline__] = ACTIONS(1182),
+    [anon_sym___forceinline] = ACTIONS(1182),
+    [anon_sym_thread_local] = ACTIONS(1182),
+    [anon_sym___thread] = ACTIONS(1182),
+    [anon_sym_const] = ACTIONS(1182),
+    [anon_sym_constexpr] = ACTIONS(1182),
+    [anon_sym_volatile] = ACTIONS(1182),
+    [anon_sym_restrict] = ACTIONS(1182),
+    [anon_sym___restrict__] = ACTIONS(1182),
+    [anon_sym__Atomic] = ACTIONS(1182),
+    [anon_sym__Noreturn] = ACTIONS(1182),
+    [anon_sym_noreturn] = ACTIONS(1182),
+    [anon_sym__Nonnull] = ACTIONS(1182),
+    [anon_sym_alignas] = ACTIONS(1182),
+    [anon_sym__Alignas] = ACTIONS(1182),
+    [sym_primitive_type] = ACTIONS(1182),
+    [anon_sym_enum] = ACTIONS(1182),
+    [anon_sym_struct] = ACTIONS(1182),
+    [anon_sym_union] = ACTIONS(1182),
+    [anon_sym_if] = ACTIONS(1182),
+    [anon_sym_else] = ACTIONS(1182),
+    [anon_sym_switch] = ACTIONS(1182),
+    [anon_sym_case] = ACTIONS(1182),
+    [anon_sym_default] = ACTIONS(1182),
+    [anon_sym_while] = ACTIONS(1182),
+    [anon_sym_do] = ACTIONS(1182),
+    [anon_sym_for] = ACTIONS(1182),
+    [anon_sym_return] = ACTIONS(1182),
+    [anon_sym_break] = ACTIONS(1182),
+    [anon_sym_continue] = ACTIONS(1182),
+    [anon_sym_goto] = ACTIONS(1182),
+    [anon_sym___try] = ACTIONS(1182),
+    [anon_sym___leave] = ACTIONS(1182),
+    [anon_sym_DASH_DASH] = ACTIONS(1184),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1184),
+    [anon_sym_sizeof] = ACTIONS(1182),
+    [anon_sym___alignof__] = ACTIONS(1182),
+    [anon_sym___alignof] = ACTIONS(1182),
+    [anon_sym__alignof] = ACTIONS(1182),
+    [anon_sym_alignof] = ACTIONS(1182),
+    [anon_sym__Alignof] = ACTIONS(1182),
+    [anon_sym_offsetof] = ACTIONS(1182),
+    [anon_sym__Generic] = ACTIONS(1182),
+    [anon_sym_asm] = ACTIONS(1182),
+    [anon_sym___asm__] = ACTIONS(1182),
+    [anon_sym___asm] = ACTIONS(1182),
+    [sym_number_literal] = ACTIONS(1184),
+    [anon_sym_L_SQUOTE] = ACTIONS(1184),
+    [anon_sym_u_SQUOTE] = ACTIONS(1184),
+    [anon_sym_U_SQUOTE] = ACTIONS(1184),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1184),
+    [anon_sym_SQUOTE] = ACTIONS(1184),
+    [anon_sym_L_DQUOTE] = ACTIONS(1184),
+    [anon_sym_u_DQUOTE] = ACTIONS(1184),
+    [anon_sym_U_DQUOTE] = ACTIONS(1184),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1184),
+    [anon_sym_DQUOTE] = ACTIONS(1184),
+    [sym_true] = ACTIONS(1182),
+    [sym_false] = ACTIONS(1182),
+    [anon_sym_NULL] = ACTIONS(1182),
+    [anon_sym_nullptr] = ACTIONS(1182),
     [sym_comment] = ACTIONS(3),
   },
   [239] = {
-    [sym_identifier] = ACTIONS(1237),
-    [aux_sym_preproc_include_token1] = ACTIONS(1237),
-    [aux_sym_preproc_def_token1] = ACTIONS(1237),
-    [aux_sym_preproc_if_token1] = ACTIONS(1237),
-    [aux_sym_preproc_if_token2] = ACTIONS(1237),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1237),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1237),
-    [sym_preproc_directive] = ACTIONS(1237),
-    [anon_sym_LPAREN2] = ACTIONS(1239),
-    [anon_sym_BANG] = ACTIONS(1239),
-    [anon_sym_TILDE] = ACTIONS(1239),
-    [anon_sym_DASH] = ACTIONS(1237),
-    [anon_sym_PLUS] = ACTIONS(1237),
-    [anon_sym_STAR] = ACTIONS(1239),
-    [anon_sym_AMP] = ACTIONS(1239),
-    [anon_sym_SEMI] = ACTIONS(1239),
-    [anon_sym___extension__] = ACTIONS(1237),
-    [anon_sym_typedef] = ACTIONS(1237),
-    [anon_sym_extern] = ACTIONS(1237),
-    [anon_sym___attribute__] = ACTIONS(1237),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1239),
-    [anon_sym___declspec] = ACTIONS(1237),
-    [anon_sym___cdecl] = ACTIONS(1237),
-    [anon_sym___clrcall] = ACTIONS(1237),
-    [anon_sym___stdcall] = ACTIONS(1237),
-    [anon_sym___fastcall] = ACTIONS(1237),
-    [anon_sym___thiscall] = ACTIONS(1237),
-    [anon_sym___vectorcall] = ACTIONS(1237),
-    [anon_sym_LBRACE] = ACTIONS(1239),
-    [anon_sym_signed] = ACTIONS(1237),
-    [anon_sym_unsigned] = ACTIONS(1237),
-    [anon_sym_long] = ACTIONS(1237),
-    [anon_sym_short] = ACTIONS(1237),
-    [anon_sym_static] = ACTIONS(1237),
-    [anon_sym_auto] = ACTIONS(1237),
-    [anon_sym_register] = ACTIONS(1237),
-    [anon_sym_inline] = ACTIONS(1237),
-    [anon_sym___inline] = ACTIONS(1237),
-    [anon_sym___inline__] = ACTIONS(1237),
-    [anon_sym___forceinline] = ACTIONS(1237),
-    [anon_sym_thread_local] = ACTIONS(1237),
-    [anon_sym___thread] = ACTIONS(1237),
-    [anon_sym_const] = ACTIONS(1237),
-    [anon_sym_constexpr] = ACTIONS(1237),
-    [anon_sym_volatile] = ACTIONS(1237),
-    [anon_sym_restrict] = ACTIONS(1237),
-    [anon_sym___restrict__] = ACTIONS(1237),
-    [anon_sym__Atomic] = ACTIONS(1237),
-    [anon_sym__Noreturn] = ACTIONS(1237),
-    [anon_sym_noreturn] = ACTIONS(1237),
-    [anon_sym__Nonnull] = ACTIONS(1237),
-    [anon_sym_alignas] = ACTIONS(1237),
-    [anon_sym__Alignas] = ACTIONS(1237),
-    [sym_primitive_type] = ACTIONS(1237),
-    [anon_sym_enum] = ACTIONS(1237),
-    [anon_sym_struct] = ACTIONS(1237),
-    [anon_sym_union] = ACTIONS(1237),
-    [anon_sym_if] = ACTIONS(1237),
-    [anon_sym_else] = ACTIONS(1237),
-    [anon_sym_switch] = ACTIONS(1237),
-    [anon_sym_case] = ACTIONS(1237),
-    [anon_sym_default] = ACTIONS(1237),
-    [anon_sym_while] = ACTIONS(1237),
-    [anon_sym_do] = ACTIONS(1237),
-    [anon_sym_for] = ACTIONS(1237),
-    [anon_sym_return] = ACTIONS(1237),
-    [anon_sym_break] = ACTIONS(1237),
-    [anon_sym_continue] = ACTIONS(1237),
-    [anon_sym_goto] = ACTIONS(1237),
-    [anon_sym___try] = ACTIONS(1237),
-    [anon_sym___leave] = ACTIONS(1237),
-    [anon_sym_DASH_DASH] = ACTIONS(1239),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1239),
-    [anon_sym_sizeof] = ACTIONS(1237),
-    [anon_sym___alignof__] = ACTIONS(1237),
-    [anon_sym___alignof] = ACTIONS(1237),
-    [anon_sym__alignof] = ACTIONS(1237),
-    [anon_sym_alignof] = ACTIONS(1237),
-    [anon_sym__Alignof] = ACTIONS(1237),
-    [anon_sym_offsetof] = ACTIONS(1237),
-    [anon_sym__Generic] = ACTIONS(1237),
-    [anon_sym_asm] = ACTIONS(1237),
-    [anon_sym___asm__] = ACTIONS(1237),
-    [anon_sym___asm] = ACTIONS(1237),
-    [sym_number_literal] = ACTIONS(1239),
-    [anon_sym_L_SQUOTE] = ACTIONS(1239),
-    [anon_sym_u_SQUOTE] = ACTIONS(1239),
-    [anon_sym_U_SQUOTE] = ACTIONS(1239),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1239),
-    [anon_sym_SQUOTE] = ACTIONS(1239),
-    [anon_sym_L_DQUOTE] = ACTIONS(1239),
-    [anon_sym_u_DQUOTE] = ACTIONS(1239),
-    [anon_sym_U_DQUOTE] = ACTIONS(1239),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1239),
-    [anon_sym_DQUOTE] = ACTIONS(1239),
-    [sym_true] = ACTIONS(1237),
-    [sym_false] = ACTIONS(1237),
-    [anon_sym_NULL] = ACTIONS(1237),
-    [anon_sym_nullptr] = ACTIONS(1237),
+    [ts_builtin_sym_end] = ACTIONS(1136),
+    [sym_identifier] = ACTIONS(1134),
+    [aux_sym_preproc_include_token1] = ACTIONS(1134),
+    [aux_sym_preproc_def_token1] = ACTIONS(1134),
+    [aux_sym_preproc_if_token1] = ACTIONS(1134),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1134),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1134),
+    [sym_preproc_directive] = ACTIONS(1134),
+    [anon_sym_LPAREN2] = ACTIONS(1136),
+    [anon_sym_BANG] = ACTIONS(1136),
+    [anon_sym_TILDE] = ACTIONS(1136),
+    [anon_sym_DASH] = ACTIONS(1134),
+    [anon_sym_PLUS] = ACTIONS(1134),
+    [anon_sym_STAR] = ACTIONS(1136),
+    [anon_sym_AMP] = ACTIONS(1136),
+    [anon_sym_SEMI] = ACTIONS(1136),
+    [anon_sym___extension__] = ACTIONS(1134),
+    [anon_sym_typedef] = ACTIONS(1134),
+    [anon_sym_extern] = ACTIONS(1134),
+    [anon_sym___attribute__] = ACTIONS(1134),
+    [anon_sym___attribute] = ACTIONS(1134),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1136),
+    [anon_sym___declspec] = ACTIONS(1134),
+    [anon_sym___cdecl] = ACTIONS(1134),
+    [anon_sym___clrcall] = ACTIONS(1134),
+    [anon_sym___stdcall] = ACTIONS(1134),
+    [anon_sym___fastcall] = ACTIONS(1134),
+    [anon_sym___thiscall] = ACTIONS(1134),
+    [anon_sym___vectorcall] = ACTIONS(1134),
+    [anon_sym_LBRACE] = ACTIONS(1136),
+    [anon_sym_signed] = ACTIONS(1134),
+    [anon_sym_unsigned] = ACTIONS(1134),
+    [anon_sym_long] = ACTIONS(1134),
+    [anon_sym_short] = ACTIONS(1134),
+    [anon_sym_static] = ACTIONS(1134),
+    [anon_sym_auto] = ACTIONS(1134),
+    [anon_sym_register] = ACTIONS(1134),
+    [anon_sym_inline] = ACTIONS(1134),
+    [anon_sym___inline] = ACTIONS(1134),
+    [anon_sym___inline__] = ACTIONS(1134),
+    [anon_sym___forceinline] = ACTIONS(1134),
+    [anon_sym_thread_local] = ACTIONS(1134),
+    [anon_sym___thread] = ACTIONS(1134),
+    [anon_sym_const] = ACTIONS(1134),
+    [anon_sym_constexpr] = ACTIONS(1134),
+    [anon_sym_volatile] = ACTIONS(1134),
+    [anon_sym_restrict] = ACTIONS(1134),
+    [anon_sym___restrict__] = ACTIONS(1134),
+    [anon_sym__Atomic] = ACTIONS(1134),
+    [anon_sym__Noreturn] = ACTIONS(1134),
+    [anon_sym_noreturn] = ACTIONS(1134),
+    [anon_sym__Nonnull] = ACTIONS(1134),
+    [anon_sym_alignas] = ACTIONS(1134),
+    [anon_sym__Alignas] = ACTIONS(1134),
+    [sym_primitive_type] = ACTIONS(1134),
+    [anon_sym_enum] = ACTIONS(1134),
+    [anon_sym_struct] = ACTIONS(1134),
+    [anon_sym_union] = ACTIONS(1134),
+    [anon_sym_if] = ACTIONS(1134),
+    [anon_sym_else] = ACTIONS(1134),
+    [anon_sym_switch] = ACTIONS(1134),
+    [anon_sym_case] = ACTIONS(1134),
+    [anon_sym_default] = ACTIONS(1134),
+    [anon_sym_while] = ACTIONS(1134),
+    [anon_sym_do] = ACTIONS(1134),
+    [anon_sym_for] = ACTIONS(1134),
+    [anon_sym_return] = ACTIONS(1134),
+    [anon_sym_break] = ACTIONS(1134),
+    [anon_sym_continue] = ACTIONS(1134),
+    [anon_sym_goto] = ACTIONS(1134),
+    [anon_sym___try] = ACTIONS(1134),
+    [anon_sym___leave] = ACTIONS(1134),
+    [anon_sym_DASH_DASH] = ACTIONS(1136),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1136),
+    [anon_sym_sizeof] = ACTIONS(1134),
+    [anon_sym___alignof__] = ACTIONS(1134),
+    [anon_sym___alignof] = ACTIONS(1134),
+    [anon_sym__alignof] = ACTIONS(1134),
+    [anon_sym_alignof] = ACTIONS(1134),
+    [anon_sym__Alignof] = ACTIONS(1134),
+    [anon_sym_offsetof] = ACTIONS(1134),
+    [anon_sym__Generic] = ACTIONS(1134),
+    [anon_sym_asm] = ACTIONS(1134),
+    [anon_sym___asm__] = ACTIONS(1134),
+    [anon_sym___asm] = ACTIONS(1134),
+    [sym_number_literal] = ACTIONS(1136),
+    [anon_sym_L_SQUOTE] = ACTIONS(1136),
+    [anon_sym_u_SQUOTE] = ACTIONS(1136),
+    [anon_sym_U_SQUOTE] = ACTIONS(1136),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1136),
+    [anon_sym_SQUOTE] = ACTIONS(1136),
+    [anon_sym_L_DQUOTE] = ACTIONS(1136),
+    [anon_sym_u_DQUOTE] = ACTIONS(1136),
+    [anon_sym_U_DQUOTE] = ACTIONS(1136),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1136),
+    [anon_sym_DQUOTE] = ACTIONS(1136),
+    [sym_true] = ACTIONS(1134),
+    [sym_false] = ACTIONS(1134),
+    [anon_sym_NULL] = ACTIONS(1134),
+    [anon_sym_nullptr] = ACTIONS(1134),
     [sym_comment] = ACTIONS(3),
   },
   [240] = {
-    [sym_identifier] = ACTIONS(1249),
-    [aux_sym_preproc_include_token1] = ACTIONS(1249),
-    [aux_sym_preproc_def_token1] = ACTIONS(1249),
-    [aux_sym_preproc_if_token1] = ACTIONS(1249),
-    [aux_sym_preproc_if_token2] = ACTIONS(1249),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1249),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1249),
-    [sym_preproc_directive] = ACTIONS(1249),
-    [anon_sym_LPAREN2] = ACTIONS(1251),
-    [anon_sym_BANG] = ACTIONS(1251),
-    [anon_sym_TILDE] = ACTIONS(1251),
-    [anon_sym_DASH] = ACTIONS(1249),
-    [anon_sym_PLUS] = ACTIONS(1249),
-    [anon_sym_STAR] = ACTIONS(1251),
-    [anon_sym_AMP] = ACTIONS(1251),
-    [anon_sym_SEMI] = ACTIONS(1251),
-    [anon_sym___extension__] = ACTIONS(1249),
-    [anon_sym_typedef] = ACTIONS(1249),
-    [anon_sym_extern] = ACTIONS(1249),
-    [anon_sym___attribute__] = ACTIONS(1249),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1251),
-    [anon_sym___declspec] = ACTIONS(1249),
-    [anon_sym___cdecl] = ACTIONS(1249),
-    [anon_sym___clrcall] = ACTIONS(1249),
-    [anon_sym___stdcall] = ACTIONS(1249),
-    [anon_sym___fastcall] = ACTIONS(1249),
-    [anon_sym___thiscall] = ACTIONS(1249),
-    [anon_sym___vectorcall] = ACTIONS(1249),
-    [anon_sym_LBRACE] = ACTIONS(1251),
-    [anon_sym_signed] = ACTIONS(1249),
-    [anon_sym_unsigned] = ACTIONS(1249),
-    [anon_sym_long] = ACTIONS(1249),
-    [anon_sym_short] = ACTIONS(1249),
-    [anon_sym_static] = ACTIONS(1249),
-    [anon_sym_auto] = ACTIONS(1249),
-    [anon_sym_register] = ACTIONS(1249),
-    [anon_sym_inline] = ACTIONS(1249),
-    [anon_sym___inline] = ACTIONS(1249),
-    [anon_sym___inline__] = ACTIONS(1249),
-    [anon_sym___forceinline] = ACTIONS(1249),
-    [anon_sym_thread_local] = ACTIONS(1249),
-    [anon_sym___thread] = ACTIONS(1249),
-    [anon_sym_const] = ACTIONS(1249),
-    [anon_sym_constexpr] = ACTIONS(1249),
-    [anon_sym_volatile] = ACTIONS(1249),
-    [anon_sym_restrict] = ACTIONS(1249),
-    [anon_sym___restrict__] = ACTIONS(1249),
-    [anon_sym__Atomic] = ACTIONS(1249),
-    [anon_sym__Noreturn] = ACTIONS(1249),
-    [anon_sym_noreturn] = ACTIONS(1249),
-    [anon_sym__Nonnull] = ACTIONS(1249),
-    [anon_sym_alignas] = ACTIONS(1249),
-    [anon_sym__Alignas] = ACTIONS(1249),
-    [sym_primitive_type] = ACTIONS(1249),
-    [anon_sym_enum] = ACTIONS(1249),
-    [anon_sym_struct] = ACTIONS(1249),
-    [anon_sym_union] = ACTIONS(1249),
-    [anon_sym_if] = ACTIONS(1249),
-    [anon_sym_else] = ACTIONS(1249),
-    [anon_sym_switch] = ACTIONS(1249),
-    [anon_sym_case] = ACTIONS(1249),
-    [anon_sym_default] = ACTIONS(1249),
-    [anon_sym_while] = ACTIONS(1249),
-    [anon_sym_do] = ACTIONS(1249),
-    [anon_sym_for] = ACTIONS(1249),
-    [anon_sym_return] = ACTIONS(1249),
-    [anon_sym_break] = ACTIONS(1249),
-    [anon_sym_continue] = ACTIONS(1249),
-    [anon_sym_goto] = ACTIONS(1249),
-    [anon_sym___try] = ACTIONS(1249),
-    [anon_sym___leave] = ACTIONS(1249),
-    [anon_sym_DASH_DASH] = ACTIONS(1251),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1251),
-    [anon_sym_sizeof] = ACTIONS(1249),
-    [anon_sym___alignof__] = ACTIONS(1249),
-    [anon_sym___alignof] = ACTIONS(1249),
-    [anon_sym__alignof] = ACTIONS(1249),
-    [anon_sym_alignof] = ACTIONS(1249),
-    [anon_sym__Alignof] = ACTIONS(1249),
-    [anon_sym_offsetof] = ACTIONS(1249),
-    [anon_sym__Generic] = ACTIONS(1249),
-    [anon_sym_asm] = ACTIONS(1249),
-    [anon_sym___asm__] = ACTIONS(1249),
-    [anon_sym___asm] = ACTIONS(1249),
-    [sym_number_literal] = ACTIONS(1251),
-    [anon_sym_L_SQUOTE] = ACTIONS(1251),
-    [anon_sym_u_SQUOTE] = ACTIONS(1251),
-    [anon_sym_U_SQUOTE] = ACTIONS(1251),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1251),
-    [anon_sym_SQUOTE] = ACTIONS(1251),
-    [anon_sym_L_DQUOTE] = ACTIONS(1251),
-    [anon_sym_u_DQUOTE] = ACTIONS(1251),
-    [anon_sym_U_DQUOTE] = ACTIONS(1251),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1251),
-    [anon_sym_DQUOTE] = ACTIONS(1251),
-    [sym_true] = ACTIONS(1249),
-    [sym_false] = ACTIONS(1249),
-    [anon_sym_NULL] = ACTIONS(1249),
-    [anon_sym_nullptr] = ACTIONS(1249),
+    [ts_builtin_sym_end] = ACTIONS(1160),
+    [sym_identifier] = ACTIONS(1158),
+    [aux_sym_preproc_include_token1] = ACTIONS(1158),
+    [aux_sym_preproc_def_token1] = ACTIONS(1158),
+    [aux_sym_preproc_if_token1] = ACTIONS(1158),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1158),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1158),
+    [sym_preproc_directive] = ACTIONS(1158),
+    [anon_sym_LPAREN2] = ACTIONS(1160),
+    [anon_sym_BANG] = ACTIONS(1160),
+    [anon_sym_TILDE] = ACTIONS(1160),
+    [anon_sym_DASH] = ACTIONS(1158),
+    [anon_sym_PLUS] = ACTIONS(1158),
+    [anon_sym_STAR] = ACTIONS(1160),
+    [anon_sym_AMP] = ACTIONS(1160),
+    [anon_sym_SEMI] = ACTIONS(1160),
+    [anon_sym___extension__] = ACTIONS(1158),
+    [anon_sym_typedef] = ACTIONS(1158),
+    [anon_sym_extern] = ACTIONS(1158),
+    [anon_sym___attribute__] = ACTIONS(1158),
+    [anon_sym___attribute] = ACTIONS(1158),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1160),
+    [anon_sym___declspec] = ACTIONS(1158),
+    [anon_sym___cdecl] = ACTIONS(1158),
+    [anon_sym___clrcall] = ACTIONS(1158),
+    [anon_sym___stdcall] = ACTIONS(1158),
+    [anon_sym___fastcall] = ACTIONS(1158),
+    [anon_sym___thiscall] = ACTIONS(1158),
+    [anon_sym___vectorcall] = ACTIONS(1158),
+    [anon_sym_LBRACE] = ACTIONS(1160),
+    [anon_sym_signed] = ACTIONS(1158),
+    [anon_sym_unsigned] = ACTIONS(1158),
+    [anon_sym_long] = ACTIONS(1158),
+    [anon_sym_short] = ACTIONS(1158),
+    [anon_sym_static] = ACTIONS(1158),
+    [anon_sym_auto] = ACTIONS(1158),
+    [anon_sym_register] = ACTIONS(1158),
+    [anon_sym_inline] = ACTIONS(1158),
+    [anon_sym___inline] = ACTIONS(1158),
+    [anon_sym___inline__] = ACTIONS(1158),
+    [anon_sym___forceinline] = ACTIONS(1158),
+    [anon_sym_thread_local] = ACTIONS(1158),
+    [anon_sym___thread] = ACTIONS(1158),
+    [anon_sym_const] = ACTIONS(1158),
+    [anon_sym_constexpr] = ACTIONS(1158),
+    [anon_sym_volatile] = ACTIONS(1158),
+    [anon_sym_restrict] = ACTIONS(1158),
+    [anon_sym___restrict__] = ACTIONS(1158),
+    [anon_sym__Atomic] = ACTIONS(1158),
+    [anon_sym__Noreturn] = ACTIONS(1158),
+    [anon_sym_noreturn] = ACTIONS(1158),
+    [anon_sym__Nonnull] = ACTIONS(1158),
+    [anon_sym_alignas] = ACTIONS(1158),
+    [anon_sym__Alignas] = ACTIONS(1158),
+    [sym_primitive_type] = ACTIONS(1158),
+    [anon_sym_enum] = ACTIONS(1158),
+    [anon_sym_struct] = ACTIONS(1158),
+    [anon_sym_union] = ACTIONS(1158),
+    [anon_sym_if] = ACTIONS(1158),
+    [anon_sym_else] = ACTIONS(1158),
+    [anon_sym_switch] = ACTIONS(1158),
+    [anon_sym_case] = ACTIONS(1158),
+    [anon_sym_default] = ACTIONS(1158),
+    [anon_sym_while] = ACTIONS(1158),
+    [anon_sym_do] = ACTIONS(1158),
+    [anon_sym_for] = ACTIONS(1158),
+    [anon_sym_return] = ACTIONS(1158),
+    [anon_sym_break] = ACTIONS(1158),
+    [anon_sym_continue] = ACTIONS(1158),
+    [anon_sym_goto] = ACTIONS(1158),
+    [anon_sym___try] = ACTIONS(1158),
+    [anon_sym___leave] = ACTIONS(1158),
+    [anon_sym_DASH_DASH] = ACTIONS(1160),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1160),
+    [anon_sym_sizeof] = ACTIONS(1158),
+    [anon_sym___alignof__] = ACTIONS(1158),
+    [anon_sym___alignof] = ACTIONS(1158),
+    [anon_sym__alignof] = ACTIONS(1158),
+    [anon_sym_alignof] = ACTIONS(1158),
+    [anon_sym__Alignof] = ACTIONS(1158),
+    [anon_sym_offsetof] = ACTIONS(1158),
+    [anon_sym__Generic] = ACTIONS(1158),
+    [anon_sym_asm] = ACTIONS(1158),
+    [anon_sym___asm__] = ACTIONS(1158),
+    [anon_sym___asm] = ACTIONS(1158),
+    [sym_number_literal] = ACTIONS(1160),
+    [anon_sym_L_SQUOTE] = ACTIONS(1160),
+    [anon_sym_u_SQUOTE] = ACTIONS(1160),
+    [anon_sym_U_SQUOTE] = ACTIONS(1160),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1160),
+    [anon_sym_SQUOTE] = ACTIONS(1160),
+    [anon_sym_L_DQUOTE] = ACTIONS(1160),
+    [anon_sym_u_DQUOTE] = ACTIONS(1160),
+    [anon_sym_U_DQUOTE] = ACTIONS(1160),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1160),
+    [anon_sym_DQUOTE] = ACTIONS(1160),
+    [sym_true] = ACTIONS(1158),
+    [sym_false] = ACTIONS(1158),
+    [anon_sym_NULL] = ACTIONS(1158),
+    [anon_sym_nullptr] = ACTIONS(1158),
     [sym_comment] = ACTIONS(3),
   },
   [241] = {
-    [ts_builtin_sym_end] = ACTIONS(1179),
-    [sym_identifier] = ACTIONS(1177),
-    [aux_sym_preproc_include_token1] = ACTIONS(1177),
-    [aux_sym_preproc_def_token1] = ACTIONS(1177),
-    [aux_sym_preproc_if_token1] = ACTIONS(1177),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1177),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1177),
-    [sym_preproc_directive] = ACTIONS(1177),
-    [anon_sym_LPAREN2] = ACTIONS(1179),
-    [anon_sym_BANG] = ACTIONS(1179),
-    [anon_sym_TILDE] = ACTIONS(1179),
-    [anon_sym_DASH] = ACTIONS(1177),
-    [anon_sym_PLUS] = ACTIONS(1177),
-    [anon_sym_STAR] = ACTIONS(1179),
-    [anon_sym_AMP] = ACTIONS(1179),
-    [anon_sym_SEMI] = ACTIONS(1179),
-    [anon_sym___extension__] = ACTIONS(1177),
-    [anon_sym_typedef] = ACTIONS(1177),
-    [anon_sym_extern] = ACTIONS(1177),
-    [anon_sym___attribute__] = ACTIONS(1177),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1179),
-    [anon_sym___declspec] = ACTIONS(1177),
-    [anon_sym___cdecl] = ACTIONS(1177),
-    [anon_sym___clrcall] = ACTIONS(1177),
-    [anon_sym___stdcall] = ACTIONS(1177),
-    [anon_sym___fastcall] = ACTIONS(1177),
-    [anon_sym___thiscall] = ACTIONS(1177),
-    [anon_sym___vectorcall] = ACTIONS(1177),
-    [anon_sym_LBRACE] = ACTIONS(1179),
-    [anon_sym_signed] = ACTIONS(1177),
-    [anon_sym_unsigned] = ACTIONS(1177),
-    [anon_sym_long] = ACTIONS(1177),
-    [anon_sym_short] = ACTIONS(1177),
-    [anon_sym_static] = ACTIONS(1177),
-    [anon_sym_auto] = ACTIONS(1177),
-    [anon_sym_register] = ACTIONS(1177),
-    [anon_sym_inline] = ACTIONS(1177),
-    [anon_sym___inline] = ACTIONS(1177),
-    [anon_sym___inline__] = ACTIONS(1177),
-    [anon_sym___forceinline] = ACTIONS(1177),
-    [anon_sym_thread_local] = ACTIONS(1177),
-    [anon_sym___thread] = ACTIONS(1177),
-    [anon_sym_const] = ACTIONS(1177),
-    [anon_sym_constexpr] = ACTIONS(1177),
-    [anon_sym_volatile] = ACTIONS(1177),
-    [anon_sym_restrict] = ACTIONS(1177),
-    [anon_sym___restrict__] = ACTIONS(1177),
-    [anon_sym__Atomic] = ACTIONS(1177),
-    [anon_sym__Noreturn] = ACTIONS(1177),
-    [anon_sym_noreturn] = ACTIONS(1177),
-    [anon_sym__Nonnull] = ACTIONS(1177),
-    [anon_sym_alignas] = ACTIONS(1177),
-    [anon_sym__Alignas] = ACTIONS(1177),
-    [sym_primitive_type] = ACTIONS(1177),
-    [anon_sym_enum] = ACTIONS(1177),
-    [anon_sym_struct] = ACTIONS(1177),
-    [anon_sym_union] = ACTIONS(1177),
-    [anon_sym_if] = ACTIONS(1177),
-    [anon_sym_else] = ACTIONS(1177),
-    [anon_sym_switch] = ACTIONS(1177),
-    [anon_sym_case] = ACTIONS(1177),
-    [anon_sym_default] = ACTIONS(1177),
-    [anon_sym_while] = ACTIONS(1177),
-    [anon_sym_do] = ACTIONS(1177),
-    [anon_sym_for] = ACTIONS(1177),
-    [anon_sym_return] = ACTIONS(1177),
-    [anon_sym_break] = ACTIONS(1177),
-    [anon_sym_continue] = ACTIONS(1177),
-    [anon_sym_goto] = ACTIONS(1177),
-    [anon_sym___try] = ACTIONS(1177),
-    [anon_sym___leave] = ACTIONS(1177),
-    [anon_sym_DASH_DASH] = ACTIONS(1179),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1179),
-    [anon_sym_sizeof] = ACTIONS(1177),
-    [anon_sym___alignof__] = ACTIONS(1177),
-    [anon_sym___alignof] = ACTIONS(1177),
-    [anon_sym__alignof] = ACTIONS(1177),
-    [anon_sym_alignof] = ACTIONS(1177),
-    [anon_sym__Alignof] = ACTIONS(1177),
-    [anon_sym_offsetof] = ACTIONS(1177),
-    [anon_sym__Generic] = ACTIONS(1177),
-    [anon_sym_asm] = ACTIONS(1177),
-    [anon_sym___asm__] = ACTIONS(1177),
-    [anon_sym___asm] = ACTIONS(1177),
-    [sym_number_literal] = ACTIONS(1179),
-    [anon_sym_L_SQUOTE] = ACTIONS(1179),
-    [anon_sym_u_SQUOTE] = ACTIONS(1179),
-    [anon_sym_U_SQUOTE] = ACTIONS(1179),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1179),
-    [anon_sym_SQUOTE] = ACTIONS(1179),
-    [anon_sym_L_DQUOTE] = ACTIONS(1179),
-    [anon_sym_u_DQUOTE] = ACTIONS(1179),
-    [anon_sym_U_DQUOTE] = ACTIONS(1179),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1179),
-    [anon_sym_DQUOTE] = ACTIONS(1179),
-    [sym_true] = ACTIONS(1177),
-    [sym_false] = ACTIONS(1177),
-    [anon_sym_NULL] = ACTIONS(1177),
-    [anon_sym_nullptr] = ACTIONS(1177),
+    [ts_builtin_sym_end] = ACTIONS(1252),
+    [sym_identifier] = ACTIONS(1250),
+    [aux_sym_preproc_include_token1] = ACTIONS(1250),
+    [aux_sym_preproc_def_token1] = ACTIONS(1250),
+    [aux_sym_preproc_if_token1] = ACTIONS(1250),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1250),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1250),
+    [sym_preproc_directive] = ACTIONS(1250),
+    [anon_sym_LPAREN2] = ACTIONS(1252),
+    [anon_sym_BANG] = ACTIONS(1252),
+    [anon_sym_TILDE] = ACTIONS(1252),
+    [anon_sym_DASH] = ACTIONS(1250),
+    [anon_sym_PLUS] = ACTIONS(1250),
+    [anon_sym_STAR] = ACTIONS(1252),
+    [anon_sym_AMP] = ACTIONS(1252),
+    [anon_sym_SEMI] = ACTIONS(1252),
+    [anon_sym___extension__] = ACTIONS(1250),
+    [anon_sym_typedef] = ACTIONS(1250),
+    [anon_sym_extern] = ACTIONS(1250),
+    [anon_sym___attribute__] = ACTIONS(1250),
+    [anon_sym___attribute] = ACTIONS(1250),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1252),
+    [anon_sym___declspec] = ACTIONS(1250),
+    [anon_sym___cdecl] = ACTIONS(1250),
+    [anon_sym___clrcall] = ACTIONS(1250),
+    [anon_sym___stdcall] = ACTIONS(1250),
+    [anon_sym___fastcall] = ACTIONS(1250),
+    [anon_sym___thiscall] = ACTIONS(1250),
+    [anon_sym___vectorcall] = ACTIONS(1250),
+    [anon_sym_LBRACE] = ACTIONS(1252),
+    [anon_sym_signed] = ACTIONS(1250),
+    [anon_sym_unsigned] = ACTIONS(1250),
+    [anon_sym_long] = ACTIONS(1250),
+    [anon_sym_short] = ACTIONS(1250),
+    [anon_sym_static] = ACTIONS(1250),
+    [anon_sym_auto] = ACTIONS(1250),
+    [anon_sym_register] = ACTIONS(1250),
+    [anon_sym_inline] = ACTIONS(1250),
+    [anon_sym___inline] = ACTIONS(1250),
+    [anon_sym___inline__] = ACTIONS(1250),
+    [anon_sym___forceinline] = ACTIONS(1250),
+    [anon_sym_thread_local] = ACTIONS(1250),
+    [anon_sym___thread] = ACTIONS(1250),
+    [anon_sym_const] = ACTIONS(1250),
+    [anon_sym_constexpr] = ACTIONS(1250),
+    [anon_sym_volatile] = ACTIONS(1250),
+    [anon_sym_restrict] = ACTIONS(1250),
+    [anon_sym___restrict__] = ACTIONS(1250),
+    [anon_sym__Atomic] = ACTIONS(1250),
+    [anon_sym__Noreturn] = ACTIONS(1250),
+    [anon_sym_noreturn] = ACTIONS(1250),
+    [anon_sym__Nonnull] = ACTIONS(1250),
+    [anon_sym_alignas] = ACTIONS(1250),
+    [anon_sym__Alignas] = ACTIONS(1250),
+    [sym_primitive_type] = ACTIONS(1250),
+    [anon_sym_enum] = ACTIONS(1250),
+    [anon_sym_struct] = ACTIONS(1250),
+    [anon_sym_union] = ACTIONS(1250),
+    [anon_sym_if] = ACTIONS(1250),
+    [anon_sym_else] = ACTIONS(1250),
+    [anon_sym_switch] = ACTIONS(1250),
+    [anon_sym_case] = ACTIONS(1250),
+    [anon_sym_default] = ACTIONS(1250),
+    [anon_sym_while] = ACTIONS(1250),
+    [anon_sym_do] = ACTIONS(1250),
+    [anon_sym_for] = ACTIONS(1250),
+    [anon_sym_return] = ACTIONS(1250),
+    [anon_sym_break] = ACTIONS(1250),
+    [anon_sym_continue] = ACTIONS(1250),
+    [anon_sym_goto] = ACTIONS(1250),
+    [anon_sym___try] = ACTIONS(1250),
+    [anon_sym___leave] = ACTIONS(1250),
+    [anon_sym_DASH_DASH] = ACTIONS(1252),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1252),
+    [anon_sym_sizeof] = ACTIONS(1250),
+    [anon_sym___alignof__] = ACTIONS(1250),
+    [anon_sym___alignof] = ACTIONS(1250),
+    [anon_sym__alignof] = ACTIONS(1250),
+    [anon_sym_alignof] = ACTIONS(1250),
+    [anon_sym__Alignof] = ACTIONS(1250),
+    [anon_sym_offsetof] = ACTIONS(1250),
+    [anon_sym__Generic] = ACTIONS(1250),
+    [anon_sym_asm] = ACTIONS(1250),
+    [anon_sym___asm__] = ACTIONS(1250),
+    [anon_sym___asm] = ACTIONS(1250),
+    [sym_number_literal] = ACTIONS(1252),
+    [anon_sym_L_SQUOTE] = ACTIONS(1252),
+    [anon_sym_u_SQUOTE] = ACTIONS(1252),
+    [anon_sym_U_SQUOTE] = ACTIONS(1252),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1252),
+    [anon_sym_SQUOTE] = ACTIONS(1252),
+    [anon_sym_L_DQUOTE] = ACTIONS(1252),
+    [anon_sym_u_DQUOTE] = ACTIONS(1252),
+    [anon_sym_U_DQUOTE] = ACTIONS(1252),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1252),
+    [anon_sym_DQUOTE] = ACTIONS(1252),
+    [sym_true] = ACTIONS(1250),
+    [sym_false] = ACTIONS(1250),
+    [anon_sym_NULL] = ACTIONS(1250),
+    [anon_sym_nullptr] = ACTIONS(1250),
     [sym_comment] = ACTIONS(3),
   },
   [242] = {
-    [ts_builtin_sym_end] = ACTIONS(1183),
-    [sym_identifier] = ACTIONS(1181),
-    [aux_sym_preproc_include_token1] = ACTIONS(1181),
-    [aux_sym_preproc_def_token1] = ACTIONS(1181),
-    [aux_sym_preproc_if_token1] = ACTIONS(1181),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1181),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1181),
-    [sym_preproc_directive] = ACTIONS(1181),
-    [anon_sym_LPAREN2] = ACTIONS(1183),
-    [anon_sym_BANG] = ACTIONS(1183),
-    [anon_sym_TILDE] = ACTIONS(1183),
-    [anon_sym_DASH] = ACTIONS(1181),
-    [anon_sym_PLUS] = ACTIONS(1181),
-    [anon_sym_STAR] = ACTIONS(1183),
-    [anon_sym_AMP] = ACTIONS(1183),
-    [anon_sym_SEMI] = ACTIONS(1183),
-    [anon_sym___extension__] = ACTIONS(1181),
-    [anon_sym_typedef] = ACTIONS(1181),
-    [anon_sym_extern] = ACTIONS(1181),
-    [anon_sym___attribute__] = ACTIONS(1181),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1183),
-    [anon_sym___declspec] = ACTIONS(1181),
-    [anon_sym___cdecl] = ACTIONS(1181),
-    [anon_sym___clrcall] = ACTIONS(1181),
-    [anon_sym___stdcall] = ACTIONS(1181),
-    [anon_sym___fastcall] = ACTIONS(1181),
-    [anon_sym___thiscall] = ACTIONS(1181),
-    [anon_sym___vectorcall] = ACTIONS(1181),
-    [anon_sym_LBRACE] = ACTIONS(1183),
-    [anon_sym_signed] = ACTIONS(1181),
-    [anon_sym_unsigned] = ACTIONS(1181),
-    [anon_sym_long] = ACTIONS(1181),
-    [anon_sym_short] = ACTIONS(1181),
-    [anon_sym_static] = ACTIONS(1181),
-    [anon_sym_auto] = ACTIONS(1181),
-    [anon_sym_register] = ACTIONS(1181),
-    [anon_sym_inline] = ACTIONS(1181),
-    [anon_sym___inline] = ACTIONS(1181),
-    [anon_sym___inline__] = ACTIONS(1181),
-    [anon_sym___forceinline] = ACTIONS(1181),
-    [anon_sym_thread_local] = ACTIONS(1181),
-    [anon_sym___thread] = ACTIONS(1181),
-    [anon_sym_const] = ACTIONS(1181),
-    [anon_sym_constexpr] = ACTIONS(1181),
-    [anon_sym_volatile] = ACTIONS(1181),
-    [anon_sym_restrict] = ACTIONS(1181),
-    [anon_sym___restrict__] = ACTIONS(1181),
-    [anon_sym__Atomic] = ACTIONS(1181),
-    [anon_sym__Noreturn] = ACTIONS(1181),
-    [anon_sym_noreturn] = ACTIONS(1181),
-    [anon_sym__Nonnull] = ACTIONS(1181),
-    [anon_sym_alignas] = ACTIONS(1181),
-    [anon_sym__Alignas] = ACTIONS(1181),
-    [sym_primitive_type] = ACTIONS(1181),
-    [anon_sym_enum] = ACTIONS(1181),
-    [anon_sym_struct] = ACTIONS(1181),
-    [anon_sym_union] = ACTIONS(1181),
-    [anon_sym_if] = ACTIONS(1181),
-    [anon_sym_else] = ACTIONS(1181),
-    [anon_sym_switch] = ACTIONS(1181),
-    [anon_sym_case] = ACTIONS(1181),
-    [anon_sym_default] = ACTIONS(1181),
-    [anon_sym_while] = ACTIONS(1181),
-    [anon_sym_do] = ACTIONS(1181),
-    [anon_sym_for] = ACTIONS(1181),
-    [anon_sym_return] = ACTIONS(1181),
-    [anon_sym_break] = ACTIONS(1181),
-    [anon_sym_continue] = ACTIONS(1181),
-    [anon_sym_goto] = ACTIONS(1181),
-    [anon_sym___try] = ACTIONS(1181),
-    [anon_sym___leave] = ACTIONS(1181),
-    [anon_sym_DASH_DASH] = ACTIONS(1183),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1183),
-    [anon_sym_sizeof] = ACTIONS(1181),
-    [anon_sym___alignof__] = ACTIONS(1181),
-    [anon_sym___alignof] = ACTIONS(1181),
-    [anon_sym__alignof] = ACTIONS(1181),
-    [anon_sym_alignof] = ACTIONS(1181),
-    [anon_sym__Alignof] = ACTIONS(1181),
-    [anon_sym_offsetof] = ACTIONS(1181),
-    [anon_sym__Generic] = ACTIONS(1181),
-    [anon_sym_asm] = ACTIONS(1181),
-    [anon_sym___asm__] = ACTIONS(1181),
-    [anon_sym___asm] = ACTIONS(1181),
-    [sym_number_literal] = ACTIONS(1183),
-    [anon_sym_L_SQUOTE] = ACTIONS(1183),
-    [anon_sym_u_SQUOTE] = ACTIONS(1183),
-    [anon_sym_U_SQUOTE] = ACTIONS(1183),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1183),
-    [anon_sym_SQUOTE] = ACTIONS(1183),
-    [anon_sym_L_DQUOTE] = ACTIONS(1183),
-    [anon_sym_u_DQUOTE] = ACTIONS(1183),
-    [anon_sym_U_DQUOTE] = ACTIONS(1183),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1183),
-    [anon_sym_DQUOTE] = ACTIONS(1183),
-    [sym_true] = ACTIONS(1181),
-    [sym_false] = ACTIONS(1181),
-    [anon_sym_NULL] = ACTIONS(1181),
-    [anon_sym_nullptr] = ACTIONS(1181),
+    [sym_identifier] = ACTIONS(1162),
+    [aux_sym_preproc_include_token1] = ACTIONS(1162),
+    [aux_sym_preproc_def_token1] = ACTIONS(1162),
+    [aux_sym_preproc_if_token1] = ACTIONS(1162),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1162),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1162),
+    [sym_preproc_directive] = ACTIONS(1162),
+    [anon_sym_LPAREN2] = ACTIONS(1164),
+    [anon_sym_BANG] = ACTIONS(1164),
+    [anon_sym_TILDE] = ACTIONS(1164),
+    [anon_sym_DASH] = ACTIONS(1162),
+    [anon_sym_PLUS] = ACTIONS(1162),
+    [anon_sym_STAR] = ACTIONS(1164),
+    [anon_sym_AMP] = ACTIONS(1164),
+    [anon_sym_SEMI] = ACTIONS(1164),
+    [anon_sym___extension__] = ACTIONS(1162),
+    [anon_sym_typedef] = ACTIONS(1162),
+    [anon_sym_extern] = ACTIONS(1162),
+    [anon_sym___attribute__] = ACTIONS(1162),
+    [anon_sym___attribute] = ACTIONS(1162),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1164),
+    [anon_sym___declspec] = ACTIONS(1162),
+    [anon_sym___cdecl] = ACTIONS(1162),
+    [anon_sym___clrcall] = ACTIONS(1162),
+    [anon_sym___stdcall] = ACTIONS(1162),
+    [anon_sym___fastcall] = ACTIONS(1162),
+    [anon_sym___thiscall] = ACTIONS(1162),
+    [anon_sym___vectorcall] = ACTIONS(1162),
+    [anon_sym_LBRACE] = ACTIONS(1164),
+    [anon_sym_RBRACE] = ACTIONS(1164),
+    [anon_sym_signed] = ACTIONS(1162),
+    [anon_sym_unsigned] = ACTIONS(1162),
+    [anon_sym_long] = ACTIONS(1162),
+    [anon_sym_short] = ACTIONS(1162),
+    [anon_sym_static] = ACTIONS(1162),
+    [anon_sym_auto] = ACTIONS(1162),
+    [anon_sym_register] = ACTIONS(1162),
+    [anon_sym_inline] = ACTIONS(1162),
+    [anon_sym___inline] = ACTIONS(1162),
+    [anon_sym___inline__] = ACTIONS(1162),
+    [anon_sym___forceinline] = ACTIONS(1162),
+    [anon_sym_thread_local] = ACTIONS(1162),
+    [anon_sym___thread] = ACTIONS(1162),
+    [anon_sym_const] = ACTIONS(1162),
+    [anon_sym_constexpr] = ACTIONS(1162),
+    [anon_sym_volatile] = ACTIONS(1162),
+    [anon_sym_restrict] = ACTIONS(1162),
+    [anon_sym___restrict__] = ACTIONS(1162),
+    [anon_sym__Atomic] = ACTIONS(1162),
+    [anon_sym__Noreturn] = ACTIONS(1162),
+    [anon_sym_noreturn] = ACTIONS(1162),
+    [anon_sym__Nonnull] = ACTIONS(1162),
+    [anon_sym_alignas] = ACTIONS(1162),
+    [anon_sym__Alignas] = ACTIONS(1162),
+    [sym_primitive_type] = ACTIONS(1162),
+    [anon_sym_enum] = ACTIONS(1162),
+    [anon_sym_struct] = ACTIONS(1162),
+    [anon_sym_union] = ACTIONS(1162),
+    [anon_sym_if] = ACTIONS(1162),
+    [anon_sym_else] = ACTIONS(1162),
+    [anon_sym_switch] = ACTIONS(1162),
+    [anon_sym_case] = ACTIONS(1162),
+    [anon_sym_default] = ACTIONS(1162),
+    [anon_sym_while] = ACTIONS(1162),
+    [anon_sym_do] = ACTIONS(1162),
+    [anon_sym_for] = ACTIONS(1162),
+    [anon_sym_return] = ACTIONS(1162),
+    [anon_sym_break] = ACTIONS(1162),
+    [anon_sym_continue] = ACTIONS(1162),
+    [anon_sym_goto] = ACTIONS(1162),
+    [anon_sym___try] = ACTIONS(1162),
+    [anon_sym___leave] = ACTIONS(1162),
+    [anon_sym_DASH_DASH] = ACTIONS(1164),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1164),
+    [anon_sym_sizeof] = ACTIONS(1162),
+    [anon_sym___alignof__] = ACTIONS(1162),
+    [anon_sym___alignof] = ACTIONS(1162),
+    [anon_sym__alignof] = ACTIONS(1162),
+    [anon_sym_alignof] = ACTIONS(1162),
+    [anon_sym__Alignof] = ACTIONS(1162),
+    [anon_sym_offsetof] = ACTIONS(1162),
+    [anon_sym__Generic] = ACTIONS(1162),
+    [anon_sym_asm] = ACTIONS(1162),
+    [anon_sym___asm__] = ACTIONS(1162),
+    [anon_sym___asm] = ACTIONS(1162),
+    [sym_number_literal] = ACTIONS(1164),
+    [anon_sym_L_SQUOTE] = ACTIONS(1164),
+    [anon_sym_u_SQUOTE] = ACTIONS(1164),
+    [anon_sym_U_SQUOTE] = ACTIONS(1164),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1164),
+    [anon_sym_SQUOTE] = ACTIONS(1164),
+    [anon_sym_L_DQUOTE] = ACTIONS(1164),
+    [anon_sym_u_DQUOTE] = ACTIONS(1164),
+    [anon_sym_U_DQUOTE] = ACTIONS(1164),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1164),
+    [anon_sym_DQUOTE] = ACTIONS(1164),
+    [sym_true] = ACTIONS(1162),
+    [sym_false] = ACTIONS(1162),
+    [anon_sym_NULL] = ACTIONS(1162),
+    [anon_sym_nullptr] = ACTIONS(1162),
     [sym_comment] = ACTIONS(3),
   },
   [243] = {
-    [ts_builtin_sym_end] = ACTIONS(1187),
-    [sym_identifier] = ACTIONS(1185),
-    [aux_sym_preproc_include_token1] = ACTIONS(1185),
-    [aux_sym_preproc_def_token1] = ACTIONS(1185),
-    [aux_sym_preproc_if_token1] = ACTIONS(1185),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1185),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1185),
-    [sym_preproc_directive] = ACTIONS(1185),
-    [anon_sym_LPAREN2] = ACTIONS(1187),
-    [anon_sym_BANG] = ACTIONS(1187),
-    [anon_sym_TILDE] = ACTIONS(1187),
-    [anon_sym_DASH] = ACTIONS(1185),
-    [anon_sym_PLUS] = ACTIONS(1185),
-    [anon_sym_STAR] = ACTIONS(1187),
-    [anon_sym_AMP] = ACTIONS(1187),
-    [anon_sym_SEMI] = ACTIONS(1187),
-    [anon_sym___extension__] = ACTIONS(1185),
-    [anon_sym_typedef] = ACTIONS(1185),
-    [anon_sym_extern] = ACTIONS(1185),
-    [anon_sym___attribute__] = ACTIONS(1185),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1187),
-    [anon_sym___declspec] = ACTIONS(1185),
-    [anon_sym___cdecl] = ACTIONS(1185),
-    [anon_sym___clrcall] = ACTIONS(1185),
-    [anon_sym___stdcall] = ACTIONS(1185),
-    [anon_sym___fastcall] = ACTIONS(1185),
-    [anon_sym___thiscall] = ACTIONS(1185),
-    [anon_sym___vectorcall] = ACTIONS(1185),
-    [anon_sym_LBRACE] = ACTIONS(1187),
-    [anon_sym_signed] = ACTIONS(1185),
-    [anon_sym_unsigned] = ACTIONS(1185),
-    [anon_sym_long] = ACTIONS(1185),
-    [anon_sym_short] = ACTIONS(1185),
-    [anon_sym_static] = ACTIONS(1185),
-    [anon_sym_auto] = ACTIONS(1185),
-    [anon_sym_register] = ACTIONS(1185),
-    [anon_sym_inline] = ACTIONS(1185),
-    [anon_sym___inline] = ACTIONS(1185),
-    [anon_sym___inline__] = ACTIONS(1185),
-    [anon_sym___forceinline] = ACTIONS(1185),
-    [anon_sym_thread_local] = ACTIONS(1185),
-    [anon_sym___thread] = ACTIONS(1185),
-    [anon_sym_const] = ACTIONS(1185),
-    [anon_sym_constexpr] = ACTIONS(1185),
-    [anon_sym_volatile] = ACTIONS(1185),
-    [anon_sym_restrict] = ACTIONS(1185),
-    [anon_sym___restrict__] = ACTIONS(1185),
-    [anon_sym__Atomic] = ACTIONS(1185),
-    [anon_sym__Noreturn] = ACTIONS(1185),
-    [anon_sym_noreturn] = ACTIONS(1185),
-    [anon_sym__Nonnull] = ACTIONS(1185),
-    [anon_sym_alignas] = ACTIONS(1185),
-    [anon_sym__Alignas] = ACTIONS(1185),
-    [sym_primitive_type] = ACTIONS(1185),
-    [anon_sym_enum] = ACTIONS(1185),
-    [anon_sym_struct] = ACTIONS(1185),
-    [anon_sym_union] = ACTIONS(1185),
-    [anon_sym_if] = ACTIONS(1185),
-    [anon_sym_else] = ACTIONS(1185),
-    [anon_sym_switch] = ACTIONS(1185),
-    [anon_sym_case] = ACTIONS(1185),
-    [anon_sym_default] = ACTIONS(1185),
-    [anon_sym_while] = ACTIONS(1185),
-    [anon_sym_do] = ACTIONS(1185),
-    [anon_sym_for] = ACTIONS(1185),
-    [anon_sym_return] = ACTIONS(1185),
-    [anon_sym_break] = ACTIONS(1185),
-    [anon_sym_continue] = ACTIONS(1185),
-    [anon_sym_goto] = ACTIONS(1185),
-    [anon_sym___try] = ACTIONS(1185),
-    [anon_sym___leave] = ACTIONS(1185),
-    [anon_sym_DASH_DASH] = ACTIONS(1187),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1187),
-    [anon_sym_sizeof] = ACTIONS(1185),
-    [anon_sym___alignof__] = ACTIONS(1185),
-    [anon_sym___alignof] = ACTIONS(1185),
-    [anon_sym__alignof] = ACTIONS(1185),
-    [anon_sym_alignof] = ACTIONS(1185),
-    [anon_sym__Alignof] = ACTIONS(1185),
-    [anon_sym_offsetof] = ACTIONS(1185),
-    [anon_sym__Generic] = ACTIONS(1185),
-    [anon_sym_asm] = ACTIONS(1185),
-    [anon_sym___asm__] = ACTIONS(1185),
-    [anon_sym___asm] = ACTIONS(1185),
-    [sym_number_literal] = ACTIONS(1187),
-    [anon_sym_L_SQUOTE] = ACTIONS(1187),
-    [anon_sym_u_SQUOTE] = ACTIONS(1187),
-    [anon_sym_U_SQUOTE] = ACTIONS(1187),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1187),
-    [anon_sym_SQUOTE] = ACTIONS(1187),
-    [anon_sym_L_DQUOTE] = ACTIONS(1187),
-    [anon_sym_u_DQUOTE] = ACTIONS(1187),
-    [anon_sym_U_DQUOTE] = ACTIONS(1187),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1187),
-    [anon_sym_DQUOTE] = ACTIONS(1187),
-    [sym_true] = ACTIONS(1185),
-    [sym_false] = ACTIONS(1185),
-    [anon_sym_NULL] = ACTIONS(1185),
-    [anon_sym_nullptr] = ACTIONS(1185),
+    [ts_builtin_sym_end] = ACTIONS(1168),
+    [sym_identifier] = ACTIONS(1166),
+    [aux_sym_preproc_include_token1] = ACTIONS(1166),
+    [aux_sym_preproc_def_token1] = ACTIONS(1166),
+    [aux_sym_preproc_if_token1] = ACTIONS(1166),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1166),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1166),
+    [sym_preproc_directive] = ACTIONS(1166),
+    [anon_sym_LPAREN2] = ACTIONS(1168),
+    [anon_sym_BANG] = ACTIONS(1168),
+    [anon_sym_TILDE] = ACTIONS(1168),
+    [anon_sym_DASH] = ACTIONS(1166),
+    [anon_sym_PLUS] = ACTIONS(1166),
+    [anon_sym_STAR] = ACTIONS(1168),
+    [anon_sym_AMP] = ACTIONS(1168),
+    [anon_sym_SEMI] = ACTIONS(1168),
+    [anon_sym___extension__] = ACTIONS(1166),
+    [anon_sym_typedef] = ACTIONS(1166),
+    [anon_sym_extern] = ACTIONS(1166),
+    [anon_sym___attribute__] = ACTIONS(1166),
+    [anon_sym___attribute] = ACTIONS(1166),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1168),
+    [anon_sym___declspec] = ACTIONS(1166),
+    [anon_sym___cdecl] = ACTIONS(1166),
+    [anon_sym___clrcall] = ACTIONS(1166),
+    [anon_sym___stdcall] = ACTIONS(1166),
+    [anon_sym___fastcall] = ACTIONS(1166),
+    [anon_sym___thiscall] = ACTIONS(1166),
+    [anon_sym___vectorcall] = ACTIONS(1166),
+    [anon_sym_LBRACE] = ACTIONS(1168),
+    [anon_sym_signed] = ACTIONS(1166),
+    [anon_sym_unsigned] = ACTIONS(1166),
+    [anon_sym_long] = ACTIONS(1166),
+    [anon_sym_short] = ACTIONS(1166),
+    [anon_sym_static] = ACTIONS(1166),
+    [anon_sym_auto] = ACTIONS(1166),
+    [anon_sym_register] = ACTIONS(1166),
+    [anon_sym_inline] = ACTIONS(1166),
+    [anon_sym___inline] = ACTIONS(1166),
+    [anon_sym___inline__] = ACTIONS(1166),
+    [anon_sym___forceinline] = ACTIONS(1166),
+    [anon_sym_thread_local] = ACTIONS(1166),
+    [anon_sym___thread] = ACTIONS(1166),
+    [anon_sym_const] = ACTIONS(1166),
+    [anon_sym_constexpr] = ACTIONS(1166),
+    [anon_sym_volatile] = ACTIONS(1166),
+    [anon_sym_restrict] = ACTIONS(1166),
+    [anon_sym___restrict__] = ACTIONS(1166),
+    [anon_sym__Atomic] = ACTIONS(1166),
+    [anon_sym__Noreturn] = ACTIONS(1166),
+    [anon_sym_noreturn] = ACTIONS(1166),
+    [anon_sym__Nonnull] = ACTIONS(1166),
+    [anon_sym_alignas] = ACTIONS(1166),
+    [anon_sym__Alignas] = ACTIONS(1166),
+    [sym_primitive_type] = ACTIONS(1166),
+    [anon_sym_enum] = ACTIONS(1166),
+    [anon_sym_struct] = ACTIONS(1166),
+    [anon_sym_union] = ACTIONS(1166),
+    [anon_sym_if] = ACTIONS(1166),
+    [anon_sym_else] = ACTIONS(1166),
+    [anon_sym_switch] = ACTIONS(1166),
+    [anon_sym_case] = ACTIONS(1166),
+    [anon_sym_default] = ACTIONS(1166),
+    [anon_sym_while] = ACTIONS(1166),
+    [anon_sym_do] = ACTIONS(1166),
+    [anon_sym_for] = ACTIONS(1166),
+    [anon_sym_return] = ACTIONS(1166),
+    [anon_sym_break] = ACTIONS(1166),
+    [anon_sym_continue] = ACTIONS(1166),
+    [anon_sym_goto] = ACTIONS(1166),
+    [anon_sym___try] = ACTIONS(1166),
+    [anon_sym___leave] = ACTIONS(1166),
+    [anon_sym_DASH_DASH] = ACTIONS(1168),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1168),
+    [anon_sym_sizeof] = ACTIONS(1166),
+    [anon_sym___alignof__] = ACTIONS(1166),
+    [anon_sym___alignof] = ACTIONS(1166),
+    [anon_sym__alignof] = ACTIONS(1166),
+    [anon_sym_alignof] = ACTIONS(1166),
+    [anon_sym__Alignof] = ACTIONS(1166),
+    [anon_sym_offsetof] = ACTIONS(1166),
+    [anon_sym__Generic] = ACTIONS(1166),
+    [anon_sym_asm] = ACTIONS(1166),
+    [anon_sym___asm__] = ACTIONS(1166),
+    [anon_sym___asm] = ACTIONS(1166),
+    [sym_number_literal] = ACTIONS(1168),
+    [anon_sym_L_SQUOTE] = ACTIONS(1168),
+    [anon_sym_u_SQUOTE] = ACTIONS(1168),
+    [anon_sym_U_SQUOTE] = ACTIONS(1168),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1168),
+    [anon_sym_SQUOTE] = ACTIONS(1168),
+    [anon_sym_L_DQUOTE] = ACTIONS(1168),
+    [anon_sym_u_DQUOTE] = ACTIONS(1168),
+    [anon_sym_U_DQUOTE] = ACTIONS(1168),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1168),
+    [anon_sym_DQUOTE] = ACTIONS(1168),
+    [sym_true] = ACTIONS(1166),
+    [sym_false] = ACTIONS(1166),
+    [anon_sym_NULL] = ACTIONS(1166),
+    [anon_sym_nullptr] = ACTIONS(1166),
     [sym_comment] = ACTIONS(3),
   },
   [244] = {
-    [ts_builtin_sym_end] = ACTIONS(1255),
-    [sym_identifier] = ACTIONS(1253),
-    [aux_sym_preproc_include_token1] = ACTIONS(1253),
-    [aux_sym_preproc_def_token1] = ACTIONS(1253),
-    [aux_sym_preproc_if_token1] = ACTIONS(1253),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1253),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1253),
-    [sym_preproc_directive] = ACTIONS(1253),
-    [anon_sym_LPAREN2] = ACTIONS(1255),
-    [anon_sym_BANG] = ACTIONS(1255),
-    [anon_sym_TILDE] = ACTIONS(1255),
-    [anon_sym_DASH] = ACTIONS(1253),
-    [anon_sym_PLUS] = ACTIONS(1253),
-    [anon_sym_STAR] = ACTIONS(1255),
-    [anon_sym_AMP] = ACTIONS(1255),
-    [anon_sym_SEMI] = ACTIONS(1255),
-    [anon_sym___extension__] = ACTIONS(1253),
-    [anon_sym_typedef] = ACTIONS(1253),
-    [anon_sym_extern] = ACTIONS(1253),
-    [anon_sym___attribute__] = ACTIONS(1253),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1255),
-    [anon_sym___declspec] = ACTIONS(1253),
-    [anon_sym___cdecl] = ACTIONS(1253),
-    [anon_sym___clrcall] = ACTIONS(1253),
-    [anon_sym___stdcall] = ACTIONS(1253),
-    [anon_sym___fastcall] = ACTIONS(1253),
-    [anon_sym___thiscall] = ACTIONS(1253),
-    [anon_sym___vectorcall] = ACTIONS(1253),
-    [anon_sym_LBRACE] = ACTIONS(1255),
-    [anon_sym_signed] = ACTIONS(1253),
-    [anon_sym_unsigned] = ACTIONS(1253),
-    [anon_sym_long] = ACTIONS(1253),
-    [anon_sym_short] = ACTIONS(1253),
-    [anon_sym_static] = ACTIONS(1253),
-    [anon_sym_auto] = ACTIONS(1253),
-    [anon_sym_register] = ACTIONS(1253),
-    [anon_sym_inline] = ACTIONS(1253),
-    [anon_sym___inline] = ACTIONS(1253),
-    [anon_sym___inline__] = ACTIONS(1253),
-    [anon_sym___forceinline] = ACTIONS(1253),
-    [anon_sym_thread_local] = ACTIONS(1253),
-    [anon_sym___thread] = ACTIONS(1253),
-    [anon_sym_const] = ACTIONS(1253),
-    [anon_sym_constexpr] = ACTIONS(1253),
-    [anon_sym_volatile] = ACTIONS(1253),
-    [anon_sym_restrict] = ACTIONS(1253),
-    [anon_sym___restrict__] = ACTIONS(1253),
-    [anon_sym__Atomic] = ACTIONS(1253),
-    [anon_sym__Noreturn] = ACTIONS(1253),
-    [anon_sym_noreturn] = ACTIONS(1253),
-    [anon_sym__Nonnull] = ACTIONS(1253),
-    [anon_sym_alignas] = ACTIONS(1253),
-    [anon_sym__Alignas] = ACTIONS(1253),
-    [sym_primitive_type] = ACTIONS(1253),
-    [anon_sym_enum] = ACTIONS(1253),
-    [anon_sym_struct] = ACTIONS(1253),
-    [anon_sym_union] = ACTIONS(1253),
-    [anon_sym_if] = ACTIONS(1253),
-    [anon_sym_else] = ACTIONS(1253),
-    [anon_sym_switch] = ACTIONS(1253),
-    [anon_sym_case] = ACTIONS(1253),
-    [anon_sym_default] = ACTIONS(1253),
-    [anon_sym_while] = ACTIONS(1253),
-    [anon_sym_do] = ACTIONS(1253),
-    [anon_sym_for] = ACTIONS(1253),
-    [anon_sym_return] = ACTIONS(1253),
-    [anon_sym_break] = ACTIONS(1253),
-    [anon_sym_continue] = ACTIONS(1253),
-    [anon_sym_goto] = ACTIONS(1253),
-    [anon_sym___try] = ACTIONS(1253),
-    [anon_sym___leave] = ACTIONS(1253),
-    [anon_sym_DASH_DASH] = ACTIONS(1255),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1255),
-    [anon_sym_sizeof] = ACTIONS(1253),
-    [anon_sym___alignof__] = ACTIONS(1253),
-    [anon_sym___alignof] = ACTIONS(1253),
-    [anon_sym__alignof] = ACTIONS(1253),
-    [anon_sym_alignof] = ACTIONS(1253),
-    [anon_sym__Alignof] = ACTIONS(1253),
-    [anon_sym_offsetof] = ACTIONS(1253),
-    [anon_sym__Generic] = ACTIONS(1253),
-    [anon_sym_asm] = ACTIONS(1253),
-    [anon_sym___asm__] = ACTIONS(1253),
-    [anon_sym___asm] = ACTIONS(1253),
-    [sym_number_literal] = ACTIONS(1255),
-    [anon_sym_L_SQUOTE] = ACTIONS(1255),
-    [anon_sym_u_SQUOTE] = ACTIONS(1255),
-    [anon_sym_U_SQUOTE] = ACTIONS(1255),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1255),
-    [anon_sym_SQUOTE] = ACTIONS(1255),
-    [anon_sym_L_DQUOTE] = ACTIONS(1255),
-    [anon_sym_u_DQUOTE] = ACTIONS(1255),
-    [anon_sym_U_DQUOTE] = ACTIONS(1255),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1255),
-    [anon_sym_DQUOTE] = ACTIONS(1255),
-    [sym_true] = ACTIONS(1253),
-    [sym_false] = ACTIONS(1253),
-    [anon_sym_NULL] = ACTIONS(1253),
-    [anon_sym_nullptr] = ACTIONS(1253),
+    [sym_identifier] = ACTIONS(1186),
+    [aux_sym_preproc_include_token1] = ACTIONS(1186),
+    [aux_sym_preproc_def_token1] = ACTIONS(1186),
+    [aux_sym_preproc_if_token1] = ACTIONS(1186),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1186),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1186),
+    [sym_preproc_directive] = ACTIONS(1186),
+    [anon_sym_LPAREN2] = ACTIONS(1188),
+    [anon_sym_BANG] = ACTIONS(1188),
+    [anon_sym_TILDE] = ACTIONS(1188),
+    [anon_sym_DASH] = ACTIONS(1186),
+    [anon_sym_PLUS] = ACTIONS(1186),
+    [anon_sym_STAR] = ACTIONS(1188),
+    [anon_sym_AMP] = ACTIONS(1188),
+    [anon_sym_SEMI] = ACTIONS(1188),
+    [anon_sym___extension__] = ACTIONS(1186),
+    [anon_sym_typedef] = ACTIONS(1186),
+    [anon_sym_extern] = ACTIONS(1186),
+    [anon_sym___attribute__] = ACTIONS(1186),
+    [anon_sym___attribute] = ACTIONS(1186),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1188),
+    [anon_sym___declspec] = ACTIONS(1186),
+    [anon_sym___cdecl] = ACTIONS(1186),
+    [anon_sym___clrcall] = ACTIONS(1186),
+    [anon_sym___stdcall] = ACTIONS(1186),
+    [anon_sym___fastcall] = ACTIONS(1186),
+    [anon_sym___thiscall] = ACTIONS(1186),
+    [anon_sym___vectorcall] = ACTIONS(1186),
+    [anon_sym_LBRACE] = ACTIONS(1188),
+    [anon_sym_RBRACE] = ACTIONS(1188),
+    [anon_sym_signed] = ACTIONS(1186),
+    [anon_sym_unsigned] = ACTIONS(1186),
+    [anon_sym_long] = ACTIONS(1186),
+    [anon_sym_short] = ACTIONS(1186),
+    [anon_sym_static] = ACTIONS(1186),
+    [anon_sym_auto] = ACTIONS(1186),
+    [anon_sym_register] = ACTIONS(1186),
+    [anon_sym_inline] = ACTIONS(1186),
+    [anon_sym___inline] = ACTIONS(1186),
+    [anon_sym___inline__] = ACTIONS(1186),
+    [anon_sym___forceinline] = ACTIONS(1186),
+    [anon_sym_thread_local] = ACTIONS(1186),
+    [anon_sym___thread] = ACTIONS(1186),
+    [anon_sym_const] = ACTIONS(1186),
+    [anon_sym_constexpr] = ACTIONS(1186),
+    [anon_sym_volatile] = ACTIONS(1186),
+    [anon_sym_restrict] = ACTIONS(1186),
+    [anon_sym___restrict__] = ACTIONS(1186),
+    [anon_sym__Atomic] = ACTIONS(1186),
+    [anon_sym__Noreturn] = ACTIONS(1186),
+    [anon_sym_noreturn] = ACTIONS(1186),
+    [anon_sym__Nonnull] = ACTIONS(1186),
+    [anon_sym_alignas] = ACTIONS(1186),
+    [anon_sym__Alignas] = ACTIONS(1186),
+    [sym_primitive_type] = ACTIONS(1186),
+    [anon_sym_enum] = ACTIONS(1186),
+    [anon_sym_struct] = ACTIONS(1186),
+    [anon_sym_union] = ACTIONS(1186),
+    [anon_sym_if] = ACTIONS(1186),
+    [anon_sym_else] = ACTIONS(1186),
+    [anon_sym_switch] = ACTIONS(1186),
+    [anon_sym_case] = ACTIONS(1186),
+    [anon_sym_default] = ACTIONS(1186),
+    [anon_sym_while] = ACTIONS(1186),
+    [anon_sym_do] = ACTIONS(1186),
+    [anon_sym_for] = ACTIONS(1186),
+    [anon_sym_return] = ACTIONS(1186),
+    [anon_sym_break] = ACTIONS(1186),
+    [anon_sym_continue] = ACTIONS(1186),
+    [anon_sym_goto] = ACTIONS(1186),
+    [anon_sym___try] = ACTIONS(1186),
+    [anon_sym___leave] = ACTIONS(1186),
+    [anon_sym_DASH_DASH] = ACTIONS(1188),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1188),
+    [anon_sym_sizeof] = ACTIONS(1186),
+    [anon_sym___alignof__] = ACTIONS(1186),
+    [anon_sym___alignof] = ACTIONS(1186),
+    [anon_sym__alignof] = ACTIONS(1186),
+    [anon_sym_alignof] = ACTIONS(1186),
+    [anon_sym__Alignof] = ACTIONS(1186),
+    [anon_sym_offsetof] = ACTIONS(1186),
+    [anon_sym__Generic] = ACTIONS(1186),
+    [anon_sym_asm] = ACTIONS(1186),
+    [anon_sym___asm__] = ACTIONS(1186),
+    [anon_sym___asm] = ACTIONS(1186),
+    [sym_number_literal] = ACTIONS(1188),
+    [anon_sym_L_SQUOTE] = ACTIONS(1188),
+    [anon_sym_u_SQUOTE] = ACTIONS(1188),
+    [anon_sym_U_SQUOTE] = ACTIONS(1188),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1188),
+    [anon_sym_SQUOTE] = ACTIONS(1188),
+    [anon_sym_L_DQUOTE] = ACTIONS(1188),
+    [anon_sym_u_DQUOTE] = ACTIONS(1188),
+    [anon_sym_U_DQUOTE] = ACTIONS(1188),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1188),
+    [anon_sym_DQUOTE] = ACTIONS(1188),
+    [sym_true] = ACTIONS(1186),
+    [sym_false] = ACTIONS(1186),
+    [anon_sym_NULL] = ACTIONS(1186),
+    [anon_sym_nullptr] = ACTIONS(1186),
     [sym_comment] = ACTIONS(3),
   },
   [245] = {
-    [ts_builtin_sym_end] = ACTIONS(1191),
-    [sym_identifier] = ACTIONS(1189),
-    [aux_sym_preproc_include_token1] = ACTIONS(1189),
-    [aux_sym_preproc_def_token1] = ACTIONS(1189),
-    [aux_sym_preproc_if_token1] = ACTIONS(1189),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1189),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1189),
-    [sym_preproc_directive] = ACTIONS(1189),
-    [anon_sym_LPAREN2] = ACTIONS(1191),
-    [anon_sym_BANG] = ACTIONS(1191),
-    [anon_sym_TILDE] = ACTIONS(1191),
-    [anon_sym_DASH] = ACTIONS(1189),
-    [anon_sym_PLUS] = ACTIONS(1189),
-    [anon_sym_STAR] = ACTIONS(1191),
-    [anon_sym_AMP] = ACTIONS(1191),
-    [anon_sym_SEMI] = ACTIONS(1191),
-    [anon_sym___extension__] = ACTIONS(1189),
-    [anon_sym_typedef] = ACTIONS(1189),
-    [anon_sym_extern] = ACTIONS(1189),
-    [anon_sym___attribute__] = ACTIONS(1189),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1191),
-    [anon_sym___declspec] = ACTIONS(1189),
-    [anon_sym___cdecl] = ACTIONS(1189),
-    [anon_sym___clrcall] = ACTIONS(1189),
-    [anon_sym___stdcall] = ACTIONS(1189),
-    [anon_sym___fastcall] = ACTIONS(1189),
-    [anon_sym___thiscall] = ACTIONS(1189),
-    [anon_sym___vectorcall] = ACTIONS(1189),
-    [anon_sym_LBRACE] = ACTIONS(1191),
-    [anon_sym_signed] = ACTIONS(1189),
-    [anon_sym_unsigned] = ACTIONS(1189),
-    [anon_sym_long] = ACTIONS(1189),
-    [anon_sym_short] = ACTIONS(1189),
-    [anon_sym_static] = ACTIONS(1189),
-    [anon_sym_auto] = ACTIONS(1189),
-    [anon_sym_register] = ACTIONS(1189),
-    [anon_sym_inline] = ACTIONS(1189),
-    [anon_sym___inline] = ACTIONS(1189),
-    [anon_sym___inline__] = ACTIONS(1189),
-    [anon_sym___forceinline] = ACTIONS(1189),
-    [anon_sym_thread_local] = ACTIONS(1189),
-    [anon_sym___thread] = ACTIONS(1189),
-    [anon_sym_const] = ACTIONS(1189),
-    [anon_sym_constexpr] = ACTIONS(1189),
-    [anon_sym_volatile] = ACTIONS(1189),
-    [anon_sym_restrict] = ACTIONS(1189),
-    [anon_sym___restrict__] = ACTIONS(1189),
-    [anon_sym__Atomic] = ACTIONS(1189),
-    [anon_sym__Noreturn] = ACTIONS(1189),
-    [anon_sym_noreturn] = ACTIONS(1189),
-    [anon_sym__Nonnull] = ACTIONS(1189),
-    [anon_sym_alignas] = ACTIONS(1189),
-    [anon_sym__Alignas] = ACTIONS(1189),
-    [sym_primitive_type] = ACTIONS(1189),
-    [anon_sym_enum] = ACTIONS(1189),
-    [anon_sym_struct] = ACTIONS(1189),
-    [anon_sym_union] = ACTIONS(1189),
-    [anon_sym_if] = ACTIONS(1189),
-    [anon_sym_else] = ACTIONS(1189),
-    [anon_sym_switch] = ACTIONS(1189),
-    [anon_sym_case] = ACTIONS(1189),
-    [anon_sym_default] = ACTIONS(1189),
-    [anon_sym_while] = ACTIONS(1189),
-    [anon_sym_do] = ACTIONS(1189),
-    [anon_sym_for] = ACTIONS(1189),
-    [anon_sym_return] = ACTIONS(1189),
-    [anon_sym_break] = ACTIONS(1189),
-    [anon_sym_continue] = ACTIONS(1189),
-    [anon_sym_goto] = ACTIONS(1189),
-    [anon_sym___try] = ACTIONS(1189),
-    [anon_sym___leave] = ACTIONS(1189),
-    [anon_sym_DASH_DASH] = ACTIONS(1191),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1191),
-    [anon_sym_sizeof] = ACTIONS(1189),
-    [anon_sym___alignof__] = ACTIONS(1189),
-    [anon_sym___alignof] = ACTIONS(1189),
-    [anon_sym__alignof] = ACTIONS(1189),
-    [anon_sym_alignof] = ACTIONS(1189),
-    [anon_sym__Alignof] = ACTIONS(1189),
-    [anon_sym_offsetof] = ACTIONS(1189),
-    [anon_sym__Generic] = ACTIONS(1189),
-    [anon_sym_asm] = ACTIONS(1189),
-    [anon_sym___asm__] = ACTIONS(1189),
-    [anon_sym___asm] = ACTIONS(1189),
-    [sym_number_literal] = ACTIONS(1191),
-    [anon_sym_L_SQUOTE] = ACTIONS(1191),
-    [anon_sym_u_SQUOTE] = ACTIONS(1191),
-    [anon_sym_U_SQUOTE] = ACTIONS(1191),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1191),
-    [anon_sym_SQUOTE] = ACTIONS(1191),
-    [anon_sym_L_DQUOTE] = ACTIONS(1191),
-    [anon_sym_u_DQUOTE] = ACTIONS(1191),
-    [anon_sym_U_DQUOTE] = ACTIONS(1191),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1191),
-    [anon_sym_DQUOTE] = ACTIONS(1191),
-    [sym_true] = ACTIONS(1189),
-    [sym_false] = ACTIONS(1189),
-    [anon_sym_NULL] = ACTIONS(1189),
-    [anon_sym_nullptr] = ACTIONS(1189),
+    [ts_builtin_sym_end] = ACTIONS(1244),
+    [sym_identifier] = ACTIONS(1242),
+    [aux_sym_preproc_include_token1] = ACTIONS(1242),
+    [aux_sym_preproc_def_token1] = ACTIONS(1242),
+    [aux_sym_preproc_if_token1] = ACTIONS(1242),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1242),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1242),
+    [sym_preproc_directive] = ACTIONS(1242),
+    [anon_sym_LPAREN2] = ACTIONS(1244),
+    [anon_sym_BANG] = ACTIONS(1244),
+    [anon_sym_TILDE] = ACTIONS(1244),
+    [anon_sym_DASH] = ACTIONS(1242),
+    [anon_sym_PLUS] = ACTIONS(1242),
+    [anon_sym_STAR] = ACTIONS(1244),
+    [anon_sym_AMP] = ACTIONS(1244),
+    [anon_sym_SEMI] = ACTIONS(1244),
+    [anon_sym___extension__] = ACTIONS(1242),
+    [anon_sym_typedef] = ACTIONS(1242),
+    [anon_sym_extern] = ACTIONS(1242),
+    [anon_sym___attribute__] = ACTIONS(1242),
+    [anon_sym___attribute] = ACTIONS(1242),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1244),
+    [anon_sym___declspec] = ACTIONS(1242),
+    [anon_sym___cdecl] = ACTIONS(1242),
+    [anon_sym___clrcall] = ACTIONS(1242),
+    [anon_sym___stdcall] = ACTIONS(1242),
+    [anon_sym___fastcall] = ACTIONS(1242),
+    [anon_sym___thiscall] = ACTIONS(1242),
+    [anon_sym___vectorcall] = ACTIONS(1242),
+    [anon_sym_LBRACE] = ACTIONS(1244),
+    [anon_sym_signed] = ACTIONS(1242),
+    [anon_sym_unsigned] = ACTIONS(1242),
+    [anon_sym_long] = ACTIONS(1242),
+    [anon_sym_short] = ACTIONS(1242),
+    [anon_sym_static] = ACTIONS(1242),
+    [anon_sym_auto] = ACTIONS(1242),
+    [anon_sym_register] = ACTIONS(1242),
+    [anon_sym_inline] = ACTIONS(1242),
+    [anon_sym___inline] = ACTIONS(1242),
+    [anon_sym___inline__] = ACTIONS(1242),
+    [anon_sym___forceinline] = ACTIONS(1242),
+    [anon_sym_thread_local] = ACTIONS(1242),
+    [anon_sym___thread] = ACTIONS(1242),
+    [anon_sym_const] = ACTIONS(1242),
+    [anon_sym_constexpr] = ACTIONS(1242),
+    [anon_sym_volatile] = ACTIONS(1242),
+    [anon_sym_restrict] = ACTIONS(1242),
+    [anon_sym___restrict__] = ACTIONS(1242),
+    [anon_sym__Atomic] = ACTIONS(1242),
+    [anon_sym__Noreturn] = ACTIONS(1242),
+    [anon_sym_noreturn] = ACTIONS(1242),
+    [anon_sym__Nonnull] = ACTIONS(1242),
+    [anon_sym_alignas] = ACTIONS(1242),
+    [anon_sym__Alignas] = ACTIONS(1242),
+    [sym_primitive_type] = ACTIONS(1242),
+    [anon_sym_enum] = ACTIONS(1242),
+    [anon_sym_struct] = ACTIONS(1242),
+    [anon_sym_union] = ACTIONS(1242),
+    [anon_sym_if] = ACTIONS(1242),
+    [anon_sym_else] = ACTIONS(1242),
+    [anon_sym_switch] = ACTIONS(1242),
+    [anon_sym_case] = ACTIONS(1242),
+    [anon_sym_default] = ACTIONS(1242),
+    [anon_sym_while] = ACTIONS(1242),
+    [anon_sym_do] = ACTIONS(1242),
+    [anon_sym_for] = ACTIONS(1242),
+    [anon_sym_return] = ACTIONS(1242),
+    [anon_sym_break] = ACTIONS(1242),
+    [anon_sym_continue] = ACTIONS(1242),
+    [anon_sym_goto] = ACTIONS(1242),
+    [anon_sym___try] = ACTIONS(1242),
+    [anon_sym___leave] = ACTIONS(1242),
+    [anon_sym_DASH_DASH] = ACTIONS(1244),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1244),
+    [anon_sym_sizeof] = ACTIONS(1242),
+    [anon_sym___alignof__] = ACTIONS(1242),
+    [anon_sym___alignof] = ACTIONS(1242),
+    [anon_sym__alignof] = ACTIONS(1242),
+    [anon_sym_alignof] = ACTIONS(1242),
+    [anon_sym__Alignof] = ACTIONS(1242),
+    [anon_sym_offsetof] = ACTIONS(1242),
+    [anon_sym__Generic] = ACTIONS(1242),
+    [anon_sym_asm] = ACTIONS(1242),
+    [anon_sym___asm__] = ACTIONS(1242),
+    [anon_sym___asm] = ACTIONS(1242),
+    [sym_number_literal] = ACTIONS(1244),
+    [anon_sym_L_SQUOTE] = ACTIONS(1244),
+    [anon_sym_u_SQUOTE] = ACTIONS(1244),
+    [anon_sym_U_SQUOTE] = ACTIONS(1244),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1244),
+    [anon_sym_SQUOTE] = ACTIONS(1244),
+    [anon_sym_L_DQUOTE] = ACTIONS(1244),
+    [anon_sym_u_DQUOTE] = ACTIONS(1244),
+    [anon_sym_U_DQUOTE] = ACTIONS(1244),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1244),
+    [anon_sym_DQUOTE] = ACTIONS(1244),
+    [sym_true] = ACTIONS(1242),
+    [sym_false] = ACTIONS(1242),
+    [anon_sym_NULL] = ACTIONS(1242),
+    [anon_sym_nullptr] = ACTIONS(1242),
     [sym_comment] = ACTIONS(3),
   },
   [246] = {
-    [ts_builtin_sym_end] = ACTIONS(1191),
-    [sym_identifier] = ACTIONS(1189),
-    [aux_sym_preproc_include_token1] = ACTIONS(1189),
-    [aux_sym_preproc_def_token1] = ACTIONS(1189),
-    [aux_sym_preproc_if_token1] = ACTIONS(1189),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1189),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1189),
-    [sym_preproc_directive] = ACTIONS(1189),
-    [anon_sym_LPAREN2] = ACTIONS(1191),
-    [anon_sym_BANG] = ACTIONS(1191),
-    [anon_sym_TILDE] = ACTIONS(1191),
-    [anon_sym_DASH] = ACTIONS(1189),
-    [anon_sym_PLUS] = ACTIONS(1189),
-    [anon_sym_STAR] = ACTIONS(1191),
-    [anon_sym_AMP] = ACTIONS(1191),
-    [anon_sym_SEMI] = ACTIONS(1191),
-    [anon_sym___extension__] = ACTIONS(1189),
-    [anon_sym_typedef] = ACTIONS(1189),
-    [anon_sym_extern] = ACTIONS(1189),
-    [anon_sym___attribute__] = ACTIONS(1189),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1191),
-    [anon_sym___declspec] = ACTIONS(1189),
-    [anon_sym___cdecl] = ACTIONS(1189),
-    [anon_sym___clrcall] = ACTIONS(1189),
-    [anon_sym___stdcall] = ACTIONS(1189),
-    [anon_sym___fastcall] = ACTIONS(1189),
-    [anon_sym___thiscall] = ACTIONS(1189),
-    [anon_sym___vectorcall] = ACTIONS(1189),
-    [anon_sym_LBRACE] = ACTIONS(1191),
-    [anon_sym_signed] = ACTIONS(1189),
-    [anon_sym_unsigned] = ACTIONS(1189),
-    [anon_sym_long] = ACTIONS(1189),
-    [anon_sym_short] = ACTIONS(1189),
-    [anon_sym_static] = ACTIONS(1189),
-    [anon_sym_auto] = ACTIONS(1189),
-    [anon_sym_register] = ACTIONS(1189),
-    [anon_sym_inline] = ACTIONS(1189),
-    [anon_sym___inline] = ACTIONS(1189),
-    [anon_sym___inline__] = ACTIONS(1189),
-    [anon_sym___forceinline] = ACTIONS(1189),
-    [anon_sym_thread_local] = ACTIONS(1189),
-    [anon_sym___thread] = ACTIONS(1189),
-    [anon_sym_const] = ACTIONS(1189),
-    [anon_sym_constexpr] = ACTIONS(1189),
-    [anon_sym_volatile] = ACTIONS(1189),
-    [anon_sym_restrict] = ACTIONS(1189),
-    [anon_sym___restrict__] = ACTIONS(1189),
-    [anon_sym__Atomic] = ACTIONS(1189),
-    [anon_sym__Noreturn] = ACTIONS(1189),
-    [anon_sym_noreturn] = ACTIONS(1189),
-    [anon_sym__Nonnull] = ACTIONS(1189),
-    [anon_sym_alignas] = ACTIONS(1189),
-    [anon_sym__Alignas] = ACTIONS(1189),
-    [sym_primitive_type] = ACTIONS(1189),
-    [anon_sym_enum] = ACTIONS(1189),
-    [anon_sym_struct] = ACTIONS(1189),
-    [anon_sym_union] = ACTIONS(1189),
-    [anon_sym_if] = ACTIONS(1189),
-    [anon_sym_else] = ACTIONS(1189),
-    [anon_sym_switch] = ACTIONS(1189),
-    [anon_sym_case] = ACTIONS(1189),
-    [anon_sym_default] = ACTIONS(1189),
-    [anon_sym_while] = ACTIONS(1189),
-    [anon_sym_do] = ACTIONS(1189),
-    [anon_sym_for] = ACTIONS(1189),
-    [anon_sym_return] = ACTIONS(1189),
-    [anon_sym_break] = ACTIONS(1189),
-    [anon_sym_continue] = ACTIONS(1189),
-    [anon_sym_goto] = ACTIONS(1189),
-    [anon_sym___try] = ACTIONS(1189),
-    [anon_sym___leave] = ACTIONS(1189),
-    [anon_sym_DASH_DASH] = ACTIONS(1191),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1191),
-    [anon_sym_sizeof] = ACTIONS(1189),
-    [anon_sym___alignof__] = ACTIONS(1189),
-    [anon_sym___alignof] = ACTIONS(1189),
-    [anon_sym__alignof] = ACTIONS(1189),
-    [anon_sym_alignof] = ACTIONS(1189),
-    [anon_sym__Alignof] = ACTIONS(1189),
-    [anon_sym_offsetof] = ACTIONS(1189),
-    [anon_sym__Generic] = ACTIONS(1189),
-    [anon_sym_asm] = ACTIONS(1189),
-    [anon_sym___asm__] = ACTIONS(1189),
-    [anon_sym___asm] = ACTIONS(1189),
-    [sym_number_literal] = ACTIONS(1191),
-    [anon_sym_L_SQUOTE] = ACTIONS(1191),
-    [anon_sym_u_SQUOTE] = ACTIONS(1191),
-    [anon_sym_U_SQUOTE] = ACTIONS(1191),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1191),
-    [anon_sym_SQUOTE] = ACTIONS(1191),
-    [anon_sym_L_DQUOTE] = ACTIONS(1191),
-    [anon_sym_u_DQUOTE] = ACTIONS(1191),
-    [anon_sym_U_DQUOTE] = ACTIONS(1191),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1191),
-    [anon_sym_DQUOTE] = ACTIONS(1191),
-    [sym_true] = ACTIONS(1189),
-    [sym_false] = ACTIONS(1189),
-    [anon_sym_NULL] = ACTIONS(1189),
-    [anon_sym_nullptr] = ACTIONS(1189),
+    [ts_builtin_sym_end] = ACTIONS(1184),
+    [sym_identifier] = ACTIONS(1182),
+    [aux_sym_preproc_include_token1] = ACTIONS(1182),
+    [aux_sym_preproc_def_token1] = ACTIONS(1182),
+    [aux_sym_preproc_if_token1] = ACTIONS(1182),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1182),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1182),
+    [sym_preproc_directive] = ACTIONS(1182),
+    [anon_sym_LPAREN2] = ACTIONS(1184),
+    [anon_sym_BANG] = ACTIONS(1184),
+    [anon_sym_TILDE] = ACTIONS(1184),
+    [anon_sym_DASH] = ACTIONS(1182),
+    [anon_sym_PLUS] = ACTIONS(1182),
+    [anon_sym_STAR] = ACTIONS(1184),
+    [anon_sym_AMP] = ACTIONS(1184),
+    [anon_sym_SEMI] = ACTIONS(1184),
+    [anon_sym___extension__] = ACTIONS(1182),
+    [anon_sym_typedef] = ACTIONS(1182),
+    [anon_sym_extern] = ACTIONS(1182),
+    [anon_sym___attribute__] = ACTIONS(1182),
+    [anon_sym___attribute] = ACTIONS(1182),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1184),
+    [anon_sym___declspec] = ACTIONS(1182),
+    [anon_sym___cdecl] = ACTIONS(1182),
+    [anon_sym___clrcall] = ACTIONS(1182),
+    [anon_sym___stdcall] = ACTIONS(1182),
+    [anon_sym___fastcall] = ACTIONS(1182),
+    [anon_sym___thiscall] = ACTIONS(1182),
+    [anon_sym___vectorcall] = ACTIONS(1182),
+    [anon_sym_LBRACE] = ACTIONS(1184),
+    [anon_sym_signed] = ACTIONS(1182),
+    [anon_sym_unsigned] = ACTIONS(1182),
+    [anon_sym_long] = ACTIONS(1182),
+    [anon_sym_short] = ACTIONS(1182),
+    [anon_sym_static] = ACTIONS(1182),
+    [anon_sym_auto] = ACTIONS(1182),
+    [anon_sym_register] = ACTIONS(1182),
+    [anon_sym_inline] = ACTIONS(1182),
+    [anon_sym___inline] = ACTIONS(1182),
+    [anon_sym___inline__] = ACTIONS(1182),
+    [anon_sym___forceinline] = ACTIONS(1182),
+    [anon_sym_thread_local] = ACTIONS(1182),
+    [anon_sym___thread] = ACTIONS(1182),
+    [anon_sym_const] = ACTIONS(1182),
+    [anon_sym_constexpr] = ACTIONS(1182),
+    [anon_sym_volatile] = ACTIONS(1182),
+    [anon_sym_restrict] = ACTIONS(1182),
+    [anon_sym___restrict__] = ACTIONS(1182),
+    [anon_sym__Atomic] = ACTIONS(1182),
+    [anon_sym__Noreturn] = ACTIONS(1182),
+    [anon_sym_noreturn] = ACTIONS(1182),
+    [anon_sym__Nonnull] = ACTIONS(1182),
+    [anon_sym_alignas] = ACTIONS(1182),
+    [anon_sym__Alignas] = ACTIONS(1182),
+    [sym_primitive_type] = ACTIONS(1182),
+    [anon_sym_enum] = ACTIONS(1182),
+    [anon_sym_struct] = ACTIONS(1182),
+    [anon_sym_union] = ACTIONS(1182),
+    [anon_sym_if] = ACTIONS(1182),
+    [anon_sym_else] = ACTIONS(1182),
+    [anon_sym_switch] = ACTIONS(1182),
+    [anon_sym_case] = ACTIONS(1182),
+    [anon_sym_default] = ACTIONS(1182),
+    [anon_sym_while] = ACTIONS(1182),
+    [anon_sym_do] = ACTIONS(1182),
+    [anon_sym_for] = ACTIONS(1182),
+    [anon_sym_return] = ACTIONS(1182),
+    [anon_sym_break] = ACTIONS(1182),
+    [anon_sym_continue] = ACTIONS(1182),
+    [anon_sym_goto] = ACTIONS(1182),
+    [anon_sym___try] = ACTIONS(1182),
+    [anon_sym___leave] = ACTIONS(1182),
+    [anon_sym_DASH_DASH] = ACTIONS(1184),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1184),
+    [anon_sym_sizeof] = ACTIONS(1182),
+    [anon_sym___alignof__] = ACTIONS(1182),
+    [anon_sym___alignof] = ACTIONS(1182),
+    [anon_sym__alignof] = ACTIONS(1182),
+    [anon_sym_alignof] = ACTIONS(1182),
+    [anon_sym__Alignof] = ACTIONS(1182),
+    [anon_sym_offsetof] = ACTIONS(1182),
+    [anon_sym__Generic] = ACTIONS(1182),
+    [anon_sym_asm] = ACTIONS(1182),
+    [anon_sym___asm__] = ACTIONS(1182),
+    [anon_sym___asm] = ACTIONS(1182),
+    [sym_number_literal] = ACTIONS(1184),
+    [anon_sym_L_SQUOTE] = ACTIONS(1184),
+    [anon_sym_u_SQUOTE] = ACTIONS(1184),
+    [anon_sym_U_SQUOTE] = ACTIONS(1184),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1184),
+    [anon_sym_SQUOTE] = ACTIONS(1184),
+    [anon_sym_L_DQUOTE] = ACTIONS(1184),
+    [anon_sym_u_DQUOTE] = ACTIONS(1184),
+    [anon_sym_U_DQUOTE] = ACTIONS(1184),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1184),
+    [anon_sym_DQUOTE] = ACTIONS(1184),
+    [sym_true] = ACTIONS(1182),
+    [sym_false] = ACTIONS(1182),
+    [anon_sym_NULL] = ACTIONS(1182),
+    [anon_sym_nullptr] = ACTIONS(1182),
     [sym_comment] = ACTIONS(3),
   },
   [247] = {
-    [ts_builtin_sym_end] = ACTIONS(1195),
-    [sym_identifier] = ACTIONS(1193),
-    [aux_sym_preproc_include_token1] = ACTIONS(1193),
-    [aux_sym_preproc_def_token1] = ACTIONS(1193),
-    [aux_sym_preproc_if_token1] = ACTIONS(1193),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1193),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1193),
-    [sym_preproc_directive] = ACTIONS(1193),
-    [anon_sym_LPAREN2] = ACTIONS(1195),
-    [anon_sym_BANG] = ACTIONS(1195),
-    [anon_sym_TILDE] = ACTIONS(1195),
-    [anon_sym_DASH] = ACTIONS(1193),
-    [anon_sym_PLUS] = ACTIONS(1193),
-    [anon_sym_STAR] = ACTIONS(1195),
-    [anon_sym_AMP] = ACTIONS(1195),
-    [anon_sym_SEMI] = ACTIONS(1195),
-    [anon_sym___extension__] = ACTIONS(1193),
-    [anon_sym_typedef] = ACTIONS(1193),
-    [anon_sym_extern] = ACTIONS(1193),
-    [anon_sym___attribute__] = ACTIONS(1193),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1195),
-    [anon_sym___declspec] = ACTIONS(1193),
-    [anon_sym___cdecl] = ACTIONS(1193),
-    [anon_sym___clrcall] = ACTIONS(1193),
-    [anon_sym___stdcall] = ACTIONS(1193),
-    [anon_sym___fastcall] = ACTIONS(1193),
-    [anon_sym___thiscall] = ACTIONS(1193),
-    [anon_sym___vectorcall] = ACTIONS(1193),
-    [anon_sym_LBRACE] = ACTIONS(1195),
-    [anon_sym_signed] = ACTIONS(1193),
-    [anon_sym_unsigned] = ACTIONS(1193),
-    [anon_sym_long] = ACTIONS(1193),
-    [anon_sym_short] = ACTIONS(1193),
-    [anon_sym_static] = ACTIONS(1193),
-    [anon_sym_auto] = ACTIONS(1193),
-    [anon_sym_register] = ACTIONS(1193),
-    [anon_sym_inline] = ACTIONS(1193),
-    [anon_sym___inline] = ACTIONS(1193),
-    [anon_sym___inline__] = ACTIONS(1193),
-    [anon_sym___forceinline] = ACTIONS(1193),
-    [anon_sym_thread_local] = ACTIONS(1193),
-    [anon_sym___thread] = ACTIONS(1193),
-    [anon_sym_const] = ACTIONS(1193),
-    [anon_sym_constexpr] = ACTIONS(1193),
-    [anon_sym_volatile] = ACTIONS(1193),
-    [anon_sym_restrict] = ACTIONS(1193),
-    [anon_sym___restrict__] = ACTIONS(1193),
-    [anon_sym__Atomic] = ACTIONS(1193),
-    [anon_sym__Noreturn] = ACTIONS(1193),
-    [anon_sym_noreturn] = ACTIONS(1193),
-    [anon_sym__Nonnull] = ACTIONS(1193),
-    [anon_sym_alignas] = ACTIONS(1193),
-    [anon_sym__Alignas] = ACTIONS(1193),
-    [sym_primitive_type] = ACTIONS(1193),
-    [anon_sym_enum] = ACTIONS(1193),
-    [anon_sym_struct] = ACTIONS(1193),
-    [anon_sym_union] = ACTIONS(1193),
-    [anon_sym_if] = ACTIONS(1193),
-    [anon_sym_else] = ACTIONS(1193),
-    [anon_sym_switch] = ACTIONS(1193),
-    [anon_sym_case] = ACTIONS(1193),
-    [anon_sym_default] = ACTIONS(1193),
-    [anon_sym_while] = ACTIONS(1193),
-    [anon_sym_do] = ACTIONS(1193),
-    [anon_sym_for] = ACTIONS(1193),
-    [anon_sym_return] = ACTIONS(1193),
-    [anon_sym_break] = ACTIONS(1193),
-    [anon_sym_continue] = ACTIONS(1193),
-    [anon_sym_goto] = ACTIONS(1193),
-    [anon_sym___try] = ACTIONS(1193),
-    [anon_sym___leave] = ACTIONS(1193),
-    [anon_sym_DASH_DASH] = ACTIONS(1195),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1195),
-    [anon_sym_sizeof] = ACTIONS(1193),
-    [anon_sym___alignof__] = ACTIONS(1193),
-    [anon_sym___alignof] = ACTIONS(1193),
-    [anon_sym__alignof] = ACTIONS(1193),
-    [anon_sym_alignof] = ACTIONS(1193),
-    [anon_sym__Alignof] = ACTIONS(1193),
-    [anon_sym_offsetof] = ACTIONS(1193),
-    [anon_sym__Generic] = ACTIONS(1193),
-    [anon_sym_asm] = ACTIONS(1193),
-    [anon_sym___asm__] = ACTIONS(1193),
-    [anon_sym___asm] = ACTIONS(1193),
-    [sym_number_literal] = ACTIONS(1195),
-    [anon_sym_L_SQUOTE] = ACTIONS(1195),
-    [anon_sym_u_SQUOTE] = ACTIONS(1195),
-    [anon_sym_U_SQUOTE] = ACTIONS(1195),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1195),
-    [anon_sym_SQUOTE] = ACTIONS(1195),
-    [anon_sym_L_DQUOTE] = ACTIONS(1195),
-    [anon_sym_u_DQUOTE] = ACTIONS(1195),
-    [anon_sym_U_DQUOTE] = ACTIONS(1195),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1195),
-    [anon_sym_DQUOTE] = ACTIONS(1195),
-    [sym_true] = ACTIONS(1193),
-    [sym_false] = ACTIONS(1193),
-    [anon_sym_NULL] = ACTIONS(1193),
-    [anon_sym_nullptr] = ACTIONS(1193),
+    [ts_builtin_sym_end] = ACTIONS(1172),
+    [sym_identifier] = ACTIONS(1170),
+    [aux_sym_preproc_include_token1] = ACTIONS(1170),
+    [aux_sym_preproc_def_token1] = ACTIONS(1170),
+    [aux_sym_preproc_if_token1] = ACTIONS(1170),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1170),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1170),
+    [sym_preproc_directive] = ACTIONS(1170),
+    [anon_sym_LPAREN2] = ACTIONS(1172),
+    [anon_sym_BANG] = ACTIONS(1172),
+    [anon_sym_TILDE] = ACTIONS(1172),
+    [anon_sym_DASH] = ACTIONS(1170),
+    [anon_sym_PLUS] = ACTIONS(1170),
+    [anon_sym_STAR] = ACTIONS(1172),
+    [anon_sym_AMP] = ACTIONS(1172),
+    [anon_sym_SEMI] = ACTIONS(1172),
+    [anon_sym___extension__] = ACTIONS(1170),
+    [anon_sym_typedef] = ACTIONS(1170),
+    [anon_sym_extern] = ACTIONS(1170),
+    [anon_sym___attribute__] = ACTIONS(1170),
+    [anon_sym___attribute] = ACTIONS(1170),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1172),
+    [anon_sym___declspec] = ACTIONS(1170),
+    [anon_sym___cdecl] = ACTIONS(1170),
+    [anon_sym___clrcall] = ACTIONS(1170),
+    [anon_sym___stdcall] = ACTIONS(1170),
+    [anon_sym___fastcall] = ACTIONS(1170),
+    [anon_sym___thiscall] = ACTIONS(1170),
+    [anon_sym___vectorcall] = ACTIONS(1170),
+    [anon_sym_LBRACE] = ACTIONS(1172),
+    [anon_sym_signed] = ACTIONS(1170),
+    [anon_sym_unsigned] = ACTIONS(1170),
+    [anon_sym_long] = ACTIONS(1170),
+    [anon_sym_short] = ACTIONS(1170),
+    [anon_sym_static] = ACTIONS(1170),
+    [anon_sym_auto] = ACTIONS(1170),
+    [anon_sym_register] = ACTIONS(1170),
+    [anon_sym_inline] = ACTIONS(1170),
+    [anon_sym___inline] = ACTIONS(1170),
+    [anon_sym___inline__] = ACTIONS(1170),
+    [anon_sym___forceinline] = ACTIONS(1170),
+    [anon_sym_thread_local] = ACTIONS(1170),
+    [anon_sym___thread] = ACTIONS(1170),
+    [anon_sym_const] = ACTIONS(1170),
+    [anon_sym_constexpr] = ACTIONS(1170),
+    [anon_sym_volatile] = ACTIONS(1170),
+    [anon_sym_restrict] = ACTIONS(1170),
+    [anon_sym___restrict__] = ACTIONS(1170),
+    [anon_sym__Atomic] = ACTIONS(1170),
+    [anon_sym__Noreturn] = ACTIONS(1170),
+    [anon_sym_noreturn] = ACTIONS(1170),
+    [anon_sym__Nonnull] = ACTIONS(1170),
+    [anon_sym_alignas] = ACTIONS(1170),
+    [anon_sym__Alignas] = ACTIONS(1170),
+    [sym_primitive_type] = ACTIONS(1170),
+    [anon_sym_enum] = ACTIONS(1170),
+    [anon_sym_struct] = ACTIONS(1170),
+    [anon_sym_union] = ACTIONS(1170),
+    [anon_sym_if] = ACTIONS(1170),
+    [anon_sym_else] = ACTIONS(1170),
+    [anon_sym_switch] = ACTIONS(1170),
+    [anon_sym_case] = ACTIONS(1170),
+    [anon_sym_default] = ACTIONS(1170),
+    [anon_sym_while] = ACTIONS(1170),
+    [anon_sym_do] = ACTIONS(1170),
+    [anon_sym_for] = ACTIONS(1170),
+    [anon_sym_return] = ACTIONS(1170),
+    [anon_sym_break] = ACTIONS(1170),
+    [anon_sym_continue] = ACTIONS(1170),
+    [anon_sym_goto] = ACTIONS(1170),
+    [anon_sym___try] = ACTIONS(1170),
+    [anon_sym___leave] = ACTIONS(1170),
+    [anon_sym_DASH_DASH] = ACTIONS(1172),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1172),
+    [anon_sym_sizeof] = ACTIONS(1170),
+    [anon_sym___alignof__] = ACTIONS(1170),
+    [anon_sym___alignof] = ACTIONS(1170),
+    [anon_sym__alignof] = ACTIONS(1170),
+    [anon_sym_alignof] = ACTIONS(1170),
+    [anon_sym__Alignof] = ACTIONS(1170),
+    [anon_sym_offsetof] = ACTIONS(1170),
+    [anon_sym__Generic] = ACTIONS(1170),
+    [anon_sym_asm] = ACTIONS(1170),
+    [anon_sym___asm__] = ACTIONS(1170),
+    [anon_sym___asm] = ACTIONS(1170),
+    [sym_number_literal] = ACTIONS(1172),
+    [anon_sym_L_SQUOTE] = ACTIONS(1172),
+    [anon_sym_u_SQUOTE] = ACTIONS(1172),
+    [anon_sym_U_SQUOTE] = ACTIONS(1172),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1172),
+    [anon_sym_SQUOTE] = ACTIONS(1172),
+    [anon_sym_L_DQUOTE] = ACTIONS(1172),
+    [anon_sym_u_DQUOTE] = ACTIONS(1172),
+    [anon_sym_U_DQUOTE] = ACTIONS(1172),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1172),
+    [anon_sym_DQUOTE] = ACTIONS(1172),
+    [sym_true] = ACTIONS(1170),
+    [sym_false] = ACTIONS(1170),
+    [anon_sym_NULL] = ACTIONS(1170),
+    [anon_sym_nullptr] = ACTIONS(1170),
     [sym_comment] = ACTIONS(3),
   },
   [248] = {
-    [ts_builtin_sym_end] = ACTIONS(1147),
-    [sym_identifier] = ACTIONS(1145),
-    [aux_sym_preproc_include_token1] = ACTIONS(1145),
-    [aux_sym_preproc_def_token1] = ACTIONS(1145),
-    [aux_sym_preproc_if_token1] = ACTIONS(1145),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1145),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1145),
-    [sym_preproc_directive] = ACTIONS(1145),
-    [anon_sym_LPAREN2] = ACTIONS(1147),
-    [anon_sym_BANG] = ACTIONS(1147),
-    [anon_sym_TILDE] = ACTIONS(1147),
-    [anon_sym_DASH] = ACTIONS(1145),
-    [anon_sym_PLUS] = ACTIONS(1145),
-    [anon_sym_STAR] = ACTIONS(1147),
-    [anon_sym_AMP] = ACTIONS(1147),
-    [anon_sym_SEMI] = ACTIONS(1147),
-    [anon_sym___extension__] = ACTIONS(1145),
-    [anon_sym_typedef] = ACTIONS(1145),
-    [anon_sym_extern] = ACTIONS(1145),
-    [anon_sym___attribute__] = ACTIONS(1145),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1147),
-    [anon_sym___declspec] = ACTIONS(1145),
-    [anon_sym___cdecl] = ACTIONS(1145),
-    [anon_sym___clrcall] = ACTIONS(1145),
-    [anon_sym___stdcall] = ACTIONS(1145),
-    [anon_sym___fastcall] = ACTIONS(1145),
-    [anon_sym___thiscall] = ACTIONS(1145),
-    [anon_sym___vectorcall] = ACTIONS(1145),
-    [anon_sym_LBRACE] = ACTIONS(1147),
-    [anon_sym_signed] = ACTIONS(1145),
-    [anon_sym_unsigned] = ACTIONS(1145),
-    [anon_sym_long] = ACTIONS(1145),
-    [anon_sym_short] = ACTIONS(1145),
-    [anon_sym_static] = ACTIONS(1145),
-    [anon_sym_auto] = ACTIONS(1145),
-    [anon_sym_register] = ACTIONS(1145),
-    [anon_sym_inline] = ACTIONS(1145),
-    [anon_sym___inline] = ACTIONS(1145),
-    [anon_sym___inline__] = ACTIONS(1145),
-    [anon_sym___forceinline] = ACTIONS(1145),
-    [anon_sym_thread_local] = ACTIONS(1145),
-    [anon_sym___thread] = ACTIONS(1145),
-    [anon_sym_const] = ACTIONS(1145),
-    [anon_sym_constexpr] = ACTIONS(1145),
-    [anon_sym_volatile] = ACTIONS(1145),
-    [anon_sym_restrict] = ACTIONS(1145),
-    [anon_sym___restrict__] = ACTIONS(1145),
-    [anon_sym__Atomic] = ACTIONS(1145),
-    [anon_sym__Noreturn] = ACTIONS(1145),
-    [anon_sym_noreturn] = ACTIONS(1145),
-    [anon_sym__Nonnull] = ACTIONS(1145),
-    [anon_sym_alignas] = ACTIONS(1145),
-    [anon_sym__Alignas] = ACTIONS(1145),
-    [sym_primitive_type] = ACTIONS(1145),
-    [anon_sym_enum] = ACTIONS(1145),
-    [anon_sym_struct] = ACTIONS(1145),
-    [anon_sym_union] = ACTIONS(1145),
-    [anon_sym_if] = ACTIONS(1145),
-    [anon_sym_else] = ACTIONS(1145),
-    [anon_sym_switch] = ACTIONS(1145),
-    [anon_sym_case] = ACTIONS(1145),
-    [anon_sym_default] = ACTIONS(1145),
-    [anon_sym_while] = ACTIONS(1145),
-    [anon_sym_do] = ACTIONS(1145),
-    [anon_sym_for] = ACTIONS(1145),
-    [anon_sym_return] = ACTIONS(1145),
-    [anon_sym_break] = ACTIONS(1145),
-    [anon_sym_continue] = ACTIONS(1145),
-    [anon_sym_goto] = ACTIONS(1145),
-    [anon_sym___try] = ACTIONS(1145),
-    [anon_sym___leave] = ACTIONS(1145),
-    [anon_sym_DASH_DASH] = ACTIONS(1147),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1147),
-    [anon_sym_sizeof] = ACTIONS(1145),
-    [anon_sym___alignof__] = ACTIONS(1145),
-    [anon_sym___alignof] = ACTIONS(1145),
-    [anon_sym__alignof] = ACTIONS(1145),
-    [anon_sym_alignof] = ACTIONS(1145),
-    [anon_sym__Alignof] = ACTIONS(1145),
-    [anon_sym_offsetof] = ACTIONS(1145),
-    [anon_sym__Generic] = ACTIONS(1145),
-    [anon_sym_asm] = ACTIONS(1145),
-    [anon_sym___asm__] = ACTIONS(1145),
-    [anon_sym___asm] = ACTIONS(1145),
-    [sym_number_literal] = ACTIONS(1147),
-    [anon_sym_L_SQUOTE] = ACTIONS(1147),
-    [anon_sym_u_SQUOTE] = ACTIONS(1147),
-    [anon_sym_U_SQUOTE] = ACTIONS(1147),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1147),
-    [anon_sym_SQUOTE] = ACTIONS(1147),
-    [anon_sym_L_DQUOTE] = ACTIONS(1147),
-    [anon_sym_u_DQUOTE] = ACTIONS(1147),
-    [anon_sym_U_DQUOTE] = ACTIONS(1147),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1147),
-    [anon_sym_DQUOTE] = ACTIONS(1147),
-    [sym_true] = ACTIONS(1145),
-    [sym_false] = ACTIONS(1145),
-    [anon_sym_NULL] = ACTIONS(1145),
-    [anon_sym_nullptr] = ACTIONS(1145),
+    [ts_builtin_sym_end] = ACTIONS(1176),
+    [sym_identifier] = ACTIONS(1174),
+    [aux_sym_preproc_include_token1] = ACTIONS(1174),
+    [aux_sym_preproc_def_token1] = ACTIONS(1174),
+    [aux_sym_preproc_if_token1] = ACTIONS(1174),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1174),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1174),
+    [sym_preproc_directive] = ACTIONS(1174),
+    [anon_sym_LPAREN2] = ACTIONS(1176),
+    [anon_sym_BANG] = ACTIONS(1176),
+    [anon_sym_TILDE] = ACTIONS(1176),
+    [anon_sym_DASH] = ACTIONS(1174),
+    [anon_sym_PLUS] = ACTIONS(1174),
+    [anon_sym_STAR] = ACTIONS(1176),
+    [anon_sym_AMP] = ACTIONS(1176),
+    [anon_sym_SEMI] = ACTIONS(1176),
+    [anon_sym___extension__] = ACTIONS(1174),
+    [anon_sym_typedef] = ACTIONS(1174),
+    [anon_sym_extern] = ACTIONS(1174),
+    [anon_sym___attribute__] = ACTIONS(1174),
+    [anon_sym___attribute] = ACTIONS(1174),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1176),
+    [anon_sym___declspec] = ACTIONS(1174),
+    [anon_sym___cdecl] = ACTIONS(1174),
+    [anon_sym___clrcall] = ACTIONS(1174),
+    [anon_sym___stdcall] = ACTIONS(1174),
+    [anon_sym___fastcall] = ACTIONS(1174),
+    [anon_sym___thiscall] = ACTIONS(1174),
+    [anon_sym___vectorcall] = ACTIONS(1174),
+    [anon_sym_LBRACE] = ACTIONS(1176),
+    [anon_sym_signed] = ACTIONS(1174),
+    [anon_sym_unsigned] = ACTIONS(1174),
+    [anon_sym_long] = ACTIONS(1174),
+    [anon_sym_short] = ACTIONS(1174),
+    [anon_sym_static] = ACTIONS(1174),
+    [anon_sym_auto] = ACTIONS(1174),
+    [anon_sym_register] = ACTIONS(1174),
+    [anon_sym_inline] = ACTIONS(1174),
+    [anon_sym___inline] = ACTIONS(1174),
+    [anon_sym___inline__] = ACTIONS(1174),
+    [anon_sym___forceinline] = ACTIONS(1174),
+    [anon_sym_thread_local] = ACTIONS(1174),
+    [anon_sym___thread] = ACTIONS(1174),
+    [anon_sym_const] = ACTIONS(1174),
+    [anon_sym_constexpr] = ACTIONS(1174),
+    [anon_sym_volatile] = ACTIONS(1174),
+    [anon_sym_restrict] = ACTIONS(1174),
+    [anon_sym___restrict__] = ACTIONS(1174),
+    [anon_sym__Atomic] = ACTIONS(1174),
+    [anon_sym__Noreturn] = ACTIONS(1174),
+    [anon_sym_noreturn] = ACTIONS(1174),
+    [anon_sym__Nonnull] = ACTIONS(1174),
+    [anon_sym_alignas] = ACTIONS(1174),
+    [anon_sym__Alignas] = ACTIONS(1174),
+    [sym_primitive_type] = ACTIONS(1174),
+    [anon_sym_enum] = ACTIONS(1174),
+    [anon_sym_struct] = ACTIONS(1174),
+    [anon_sym_union] = ACTIONS(1174),
+    [anon_sym_if] = ACTIONS(1174),
+    [anon_sym_else] = ACTIONS(1174),
+    [anon_sym_switch] = ACTIONS(1174),
+    [anon_sym_case] = ACTIONS(1174),
+    [anon_sym_default] = ACTIONS(1174),
+    [anon_sym_while] = ACTIONS(1174),
+    [anon_sym_do] = ACTIONS(1174),
+    [anon_sym_for] = ACTIONS(1174),
+    [anon_sym_return] = ACTIONS(1174),
+    [anon_sym_break] = ACTIONS(1174),
+    [anon_sym_continue] = ACTIONS(1174),
+    [anon_sym_goto] = ACTIONS(1174),
+    [anon_sym___try] = ACTIONS(1174),
+    [anon_sym___leave] = ACTIONS(1174),
+    [anon_sym_DASH_DASH] = ACTIONS(1176),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1176),
+    [anon_sym_sizeof] = ACTIONS(1174),
+    [anon_sym___alignof__] = ACTIONS(1174),
+    [anon_sym___alignof] = ACTIONS(1174),
+    [anon_sym__alignof] = ACTIONS(1174),
+    [anon_sym_alignof] = ACTIONS(1174),
+    [anon_sym__Alignof] = ACTIONS(1174),
+    [anon_sym_offsetof] = ACTIONS(1174),
+    [anon_sym__Generic] = ACTIONS(1174),
+    [anon_sym_asm] = ACTIONS(1174),
+    [anon_sym___asm__] = ACTIONS(1174),
+    [anon_sym___asm] = ACTIONS(1174),
+    [sym_number_literal] = ACTIONS(1176),
+    [anon_sym_L_SQUOTE] = ACTIONS(1176),
+    [anon_sym_u_SQUOTE] = ACTIONS(1176),
+    [anon_sym_U_SQUOTE] = ACTIONS(1176),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1176),
+    [anon_sym_SQUOTE] = ACTIONS(1176),
+    [anon_sym_L_DQUOTE] = ACTIONS(1176),
+    [anon_sym_u_DQUOTE] = ACTIONS(1176),
+    [anon_sym_U_DQUOTE] = ACTIONS(1176),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1176),
+    [anon_sym_DQUOTE] = ACTIONS(1176),
+    [sym_true] = ACTIONS(1174),
+    [sym_false] = ACTIONS(1174),
+    [anon_sym_NULL] = ACTIONS(1174),
+    [anon_sym_nullptr] = ACTIONS(1174),
     [sym_comment] = ACTIONS(3),
   },
   [249] = {
-    [sym_identifier] = ACTIONS(1197),
-    [aux_sym_preproc_include_token1] = ACTIONS(1197),
-    [aux_sym_preproc_def_token1] = ACTIONS(1197),
-    [aux_sym_preproc_if_token1] = ACTIONS(1197),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1197),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1197),
-    [sym_preproc_directive] = ACTIONS(1197),
-    [anon_sym_LPAREN2] = ACTIONS(1199),
-    [anon_sym_BANG] = ACTIONS(1199),
-    [anon_sym_TILDE] = ACTIONS(1199),
-    [anon_sym_DASH] = ACTIONS(1197),
-    [anon_sym_PLUS] = ACTIONS(1197),
-    [anon_sym_STAR] = ACTIONS(1199),
-    [anon_sym_AMP] = ACTIONS(1199),
-    [anon_sym_SEMI] = ACTIONS(1199),
-    [anon_sym___extension__] = ACTIONS(1197),
-    [anon_sym_typedef] = ACTIONS(1197),
-    [anon_sym_extern] = ACTIONS(1197),
-    [anon_sym___attribute__] = ACTIONS(1197),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1199),
-    [anon_sym___declspec] = ACTIONS(1197),
-    [anon_sym___cdecl] = ACTIONS(1197),
-    [anon_sym___clrcall] = ACTIONS(1197),
-    [anon_sym___stdcall] = ACTIONS(1197),
-    [anon_sym___fastcall] = ACTIONS(1197),
-    [anon_sym___thiscall] = ACTIONS(1197),
-    [anon_sym___vectorcall] = ACTIONS(1197),
-    [anon_sym_LBRACE] = ACTIONS(1199),
-    [anon_sym_RBRACE] = ACTIONS(1199),
-    [anon_sym_signed] = ACTIONS(1197),
-    [anon_sym_unsigned] = ACTIONS(1197),
-    [anon_sym_long] = ACTIONS(1197),
-    [anon_sym_short] = ACTIONS(1197),
-    [anon_sym_static] = ACTIONS(1197),
-    [anon_sym_auto] = ACTIONS(1197),
-    [anon_sym_register] = ACTIONS(1197),
-    [anon_sym_inline] = ACTIONS(1197),
-    [anon_sym___inline] = ACTIONS(1197),
-    [anon_sym___inline__] = ACTIONS(1197),
-    [anon_sym___forceinline] = ACTIONS(1197),
-    [anon_sym_thread_local] = ACTIONS(1197),
-    [anon_sym___thread] = ACTIONS(1197),
-    [anon_sym_const] = ACTIONS(1197),
-    [anon_sym_constexpr] = ACTIONS(1197),
-    [anon_sym_volatile] = ACTIONS(1197),
-    [anon_sym_restrict] = ACTIONS(1197),
-    [anon_sym___restrict__] = ACTIONS(1197),
-    [anon_sym__Atomic] = ACTIONS(1197),
-    [anon_sym__Noreturn] = ACTIONS(1197),
-    [anon_sym_noreturn] = ACTIONS(1197),
-    [anon_sym__Nonnull] = ACTIONS(1197),
-    [anon_sym_alignas] = ACTIONS(1197),
-    [anon_sym__Alignas] = ACTIONS(1197),
-    [sym_primitive_type] = ACTIONS(1197),
-    [anon_sym_enum] = ACTIONS(1197),
-    [anon_sym_struct] = ACTIONS(1197),
-    [anon_sym_union] = ACTIONS(1197),
-    [anon_sym_if] = ACTIONS(1197),
-    [anon_sym_else] = ACTIONS(1197),
-    [anon_sym_switch] = ACTIONS(1197),
-    [anon_sym_case] = ACTIONS(1197),
-    [anon_sym_default] = ACTIONS(1197),
-    [anon_sym_while] = ACTIONS(1197),
-    [anon_sym_do] = ACTIONS(1197),
-    [anon_sym_for] = ACTIONS(1197),
-    [anon_sym_return] = ACTIONS(1197),
-    [anon_sym_break] = ACTIONS(1197),
-    [anon_sym_continue] = ACTIONS(1197),
-    [anon_sym_goto] = ACTIONS(1197),
-    [anon_sym___try] = ACTIONS(1197),
-    [anon_sym___leave] = ACTIONS(1197),
-    [anon_sym_DASH_DASH] = ACTIONS(1199),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1199),
-    [anon_sym_sizeof] = ACTIONS(1197),
-    [anon_sym___alignof__] = ACTIONS(1197),
-    [anon_sym___alignof] = ACTIONS(1197),
-    [anon_sym__alignof] = ACTIONS(1197),
-    [anon_sym_alignof] = ACTIONS(1197),
-    [anon_sym__Alignof] = ACTIONS(1197),
-    [anon_sym_offsetof] = ACTIONS(1197),
-    [anon_sym__Generic] = ACTIONS(1197),
-    [anon_sym_asm] = ACTIONS(1197),
-    [anon_sym___asm__] = ACTIONS(1197),
-    [anon_sym___asm] = ACTIONS(1197),
-    [sym_number_literal] = ACTIONS(1199),
-    [anon_sym_L_SQUOTE] = ACTIONS(1199),
-    [anon_sym_u_SQUOTE] = ACTIONS(1199),
-    [anon_sym_U_SQUOTE] = ACTIONS(1199),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1199),
-    [anon_sym_SQUOTE] = ACTIONS(1199),
-    [anon_sym_L_DQUOTE] = ACTIONS(1199),
-    [anon_sym_u_DQUOTE] = ACTIONS(1199),
-    [anon_sym_U_DQUOTE] = ACTIONS(1199),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1199),
-    [anon_sym_DQUOTE] = ACTIONS(1199),
-    [sym_true] = ACTIONS(1197),
-    [sym_false] = ACTIONS(1197),
-    [anon_sym_NULL] = ACTIONS(1197),
-    [anon_sym_nullptr] = ACTIONS(1197),
+    [ts_builtin_sym_end] = ACTIONS(1176),
+    [sym_identifier] = ACTIONS(1174),
+    [aux_sym_preproc_include_token1] = ACTIONS(1174),
+    [aux_sym_preproc_def_token1] = ACTIONS(1174),
+    [aux_sym_preproc_if_token1] = ACTIONS(1174),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1174),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1174),
+    [sym_preproc_directive] = ACTIONS(1174),
+    [anon_sym_LPAREN2] = ACTIONS(1176),
+    [anon_sym_BANG] = ACTIONS(1176),
+    [anon_sym_TILDE] = ACTIONS(1176),
+    [anon_sym_DASH] = ACTIONS(1174),
+    [anon_sym_PLUS] = ACTIONS(1174),
+    [anon_sym_STAR] = ACTIONS(1176),
+    [anon_sym_AMP] = ACTIONS(1176),
+    [anon_sym_SEMI] = ACTIONS(1176),
+    [anon_sym___extension__] = ACTIONS(1174),
+    [anon_sym_typedef] = ACTIONS(1174),
+    [anon_sym_extern] = ACTIONS(1174),
+    [anon_sym___attribute__] = ACTIONS(1174),
+    [anon_sym___attribute] = ACTIONS(1174),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1176),
+    [anon_sym___declspec] = ACTIONS(1174),
+    [anon_sym___cdecl] = ACTIONS(1174),
+    [anon_sym___clrcall] = ACTIONS(1174),
+    [anon_sym___stdcall] = ACTIONS(1174),
+    [anon_sym___fastcall] = ACTIONS(1174),
+    [anon_sym___thiscall] = ACTIONS(1174),
+    [anon_sym___vectorcall] = ACTIONS(1174),
+    [anon_sym_LBRACE] = ACTIONS(1176),
+    [anon_sym_signed] = ACTIONS(1174),
+    [anon_sym_unsigned] = ACTIONS(1174),
+    [anon_sym_long] = ACTIONS(1174),
+    [anon_sym_short] = ACTIONS(1174),
+    [anon_sym_static] = ACTIONS(1174),
+    [anon_sym_auto] = ACTIONS(1174),
+    [anon_sym_register] = ACTIONS(1174),
+    [anon_sym_inline] = ACTIONS(1174),
+    [anon_sym___inline] = ACTIONS(1174),
+    [anon_sym___inline__] = ACTIONS(1174),
+    [anon_sym___forceinline] = ACTIONS(1174),
+    [anon_sym_thread_local] = ACTIONS(1174),
+    [anon_sym___thread] = ACTIONS(1174),
+    [anon_sym_const] = ACTIONS(1174),
+    [anon_sym_constexpr] = ACTIONS(1174),
+    [anon_sym_volatile] = ACTIONS(1174),
+    [anon_sym_restrict] = ACTIONS(1174),
+    [anon_sym___restrict__] = ACTIONS(1174),
+    [anon_sym__Atomic] = ACTIONS(1174),
+    [anon_sym__Noreturn] = ACTIONS(1174),
+    [anon_sym_noreturn] = ACTIONS(1174),
+    [anon_sym__Nonnull] = ACTIONS(1174),
+    [anon_sym_alignas] = ACTIONS(1174),
+    [anon_sym__Alignas] = ACTIONS(1174),
+    [sym_primitive_type] = ACTIONS(1174),
+    [anon_sym_enum] = ACTIONS(1174),
+    [anon_sym_struct] = ACTIONS(1174),
+    [anon_sym_union] = ACTIONS(1174),
+    [anon_sym_if] = ACTIONS(1174),
+    [anon_sym_else] = ACTIONS(1174),
+    [anon_sym_switch] = ACTIONS(1174),
+    [anon_sym_case] = ACTIONS(1174),
+    [anon_sym_default] = ACTIONS(1174),
+    [anon_sym_while] = ACTIONS(1174),
+    [anon_sym_do] = ACTIONS(1174),
+    [anon_sym_for] = ACTIONS(1174),
+    [anon_sym_return] = ACTIONS(1174),
+    [anon_sym_break] = ACTIONS(1174),
+    [anon_sym_continue] = ACTIONS(1174),
+    [anon_sym_goto] = ACTIONS(1174),
+    [anon_sym___try] = ACTIONS(1174),
+    [anon_sym___leave] = ACTIONS(1174),
+    [anon_sym_DASH_DASH] = ACTIONS(1176),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1176),
+    [anon_sym_sizeof] = ACTIONS(1174),
+    [anon_sym___alignof__] = ACTIONS(1174),
+    [anon_sym___alignof] = ACTIONS(1174),
+    [anon_sym__alignof] = ACTIONS(1174),
+    [anon_sym_alignof] = ACTIONS(1174),
+    [anon_sym__Alignof] = ACTIONS(1174),
+    [anon_sym_offsetof] = ACTIONS(1174),
+    [anon_sym__Generic] = ACTIONS(1174),
+    [anon_sym_asm] = ACTIONS(1174),
+    [anon_sym___asm__] = ACTIONS(1174),
+    [anon_sym___asm] = ACTIONS(1174),
+    [sym_number_literal] = ACTIONS(1176),
+    [anon_sym_L_SQUOTE] = ACTIONS(1176),
+    [anon_sym_u_SQUOTE] = ACTIONS(1176),
+    [anon_sym_U_SQUOTE] = ACTIONS(1176),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1176),
+    [anon_sym_SQUOTE] = ACTIONS(1176),
+    [anon_sym_L_DQUOTE] = ACTIONS(1176),
+    [anon_sym_u_DQUOTE] = ACTIONS(1176),
+    [anon_sym_U_DQUOTE] = ACTIONS(1176),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1176),
+    [anon_sym_DQUOTE] = ACTIONS(1176),
+    [sym_true] = ACTIONS(1174),
+    [sym_false] = ACTIONS(1174),
+    [anon_sym_NULL] = ACTIONS(1174),
+    [anon_sym_nullptr] = ACTIONS(1174),
     [sym_comment] = ACTIONS(3),
   },
   [250] = {
-    [ts_builtin_sym_end] = ACTIONS(1131),
-    [sym_identifier] = ACTIONS(1129),
-    [aux_sym_preproc_include_token1] = ACTIONS(1129),
-    [aux_sym_preproc_def_token1] = ACTIONS(1129),
-    [aux_sym_preproc_if_token1] = ACTIONS(1129),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1129),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1129),
-    [sym_preproc_directive] = ACTIONS(1129),
-    [anon_sym_LPAREN2] = ACTIONS(1131),
-    [anon_sym_BANG] = ACTIONS(1131),
-    [anon_sym_TILDE] = ACTIONS(1131),
-    [anon_sym_DASH] = ACTIONS(1129),
-    [anon_sym_PLUS] = ACTIONS(1129),
-    [anon_sym_STAR] = ACTIONS(1131),
-    [anon_sym_AMP] = ACTIONS(1131),
-    [anon_sym_SEMI] = ACTIONS(1131),
-    [anon_sym___extension__] = ACTIONS(1129),
-    [anon_sym_typedef] = ACTIONS(1129),
-    [anon_sym_extern] = ACTIONS(1129),
-    [anon_sym___attribute__] = ACTIONS(1129),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1131),
-    [anon_sym___declspec] = ACTIONS(1129),
-    [anon_sym___cdecl] = ACTIONS(1129),
-    [anon_sym___clrcall] = ACTIONS(1129),
-    [anon_sym___stdcall] = ACTIONS(1129),
-    [anon_sym___fastcall] = ACTIONS(1129),
-    [anon_sym___thiscall] = ACTIONS(1129),
-    [anon_sym___vectorcall] = ACTIONS(1129),
-    [anon_sym_LBRACE] = ACTIONS(1131),
-    [anon_sym_signed] = ACTIONS(1129),
-    [anon_sym_unsigned] = ACTIONS(1129),
-    [anon_sym_long] = ACTIONS(1129),
-    [anon_sym_short] = ACTIONS(1129),
-    [anon_sym_static] = ACTIONS(1129),
-    [anon_sym_auto] = ACTIONS(1129),
-    [anon_sym_register] = ACTIONS(1129),
-    [anon_sym_inline] = ACTIONS(1129),
-    [anon_sym___inline] = ACTIONS(1129),
-    [anon_sym___inline__] = ACTIONS(1129),
-    [anon_sym___forceinline] = ACTIONS(1129),
-    [anon_sym_thread_local] = ACTIONS(1129),
-    [anon_sym___thread] = ACTIONS(1129),
-    [anon_sym_const] = ACTIONS(1129),
-    [anon_sym_constexpr] = ACTIONS(1129),
-    [anon_sym_volatile] = ACTIONS(1129),
-    [anon_sym_restrict] = ACTIONS(1129),
-    [anon_sym___restrict__] = ACTIONS(1129),
-    [anon_sym__Atomic] = ACTIONS(1129),
-    [anon_sym__Noreturn] = ACTIONS(1129),
-    [anon_sym_noreturn] = ACTIONS(1129),
-    [anon_sym__Nonnull] = ACTIONS(1129),
-    [anon_sym_alignas] = ACTIONS(1129),
-    [anon_sym__Alignas] = ACTIONS(1129),
-    [sym_primitive_type] = ACTIONS(1129),
-    [anon_sym_enum] = ACTIONS(1129),
-    [anon_sym_struct] = ACTIONS(1129),
-    [anon_sym_union] = ACTIONS(1129),
-    [anon_sym_if] = ACTIONS(1129),
-    [anon_sym_else] = ACTIONS(1129),
-    [anon_sym_switch] = ACTIONS(1129),
-    [anon_sym_case] = ACTIONS(1129),
-    [anon_sym_default] = ACTIONS(1129),
-    [anon_sym_while] = ACTIONS(1129),
-    [anon_sym_do] = ACTIONS(1129),
-    [anon_sym_for] = ACTIONS(1129),
-    [anon_sym_return] = ACTIONS(1129),
-    [anon_sym_break] = ACTIONS(1129),
-    [anon_sym_continue] = ACTIONS(1129),
-    [anon_sym_goto] = ACTIONS(1129),
-    [anon_sym___try] = ACTIONS(1129),
-    [anon_sym___leave] = ACTIONS(1129),
-    [anon_sym_DASH_DASH] = ACTIONS(1131),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1131),
-    [anon_sym_sizeof] = ACTIONS(1129),
-    [anon_sym___alignof__] = ACTIONS(1129),
-    [anon_sym___alignof] = ACTIONS(1129),
-    [anon_sym__alignof] = ACTIONS(1129),
-    [anon_sym_alignof] = ACTIONS(1129),
-    [anon_sym__Alignof] = ACTIONS(1129),
-    [anon_sym_offsetof] = ACTIONS(1129),
-    [anon_sym__Generic] = ACTIONS(1129),
-    [anon_sym_asm] = ACTIONS(1129),
-    [anon_sym___asm__] = ACTIONS(1129),
-    [anon_sym___asm] = ACTIONS(1129),
-    [sym_number_literal] = ACTIONS(1131),
-    [anon_sym_L_SQUOTE] = ACTIONS(1131),
-    [anon_sym_u_SQUOTE] = ACTIONS(1131),
-    [anon_sym_U_SQUOTE] = ACTIONS(1131),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1131),
-    [anon_sym_SQUOTE] = ACTIONS(1131),
-    [anon_sym_L_DQUOTE] = ACTIONS(1131),
-    [anon_sym_u_DQUOTE] = ACTIONS(1131),
-    [anon_sym_U_DQUOTE] = ACTIONS(1131),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1131),
-    [anon_sym_DQUOTE] = ACTIONS(1131),
-    [sym_true] = ACTIONS(1129),
-    [sym_false] = ACTIONS(1129),
-    [anon_sym_NULL] = ACTIONS(1129),
-    [anon_sym_nullptr] = ACTIONS(1129),
+    [sym_identifier] = ACTIONS(1234),
+    [aux_sym_preproc_include_token1] = ACTIONS(1234),
+    [aux_sym_preproc_def_token1] = ACTIONS(1234),
+    [aux_sym_preproc_if_token1] = ACTIONS(1234),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1234),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1234),
+    [sym_preproc_directive] = ACTIONS(1234),
+    [anon_sym_LPAREN2] = ACTIONS(1236),
+    [anon_sym_BANG] = ACTIONS(1236),
+    [anon_sym_TILDE] = ACTIONS(1236),
+    [anon_sym_DASH] = ACTIONS(1234),
+    [anon_sym_PLUS] = ACTIONS(1234),
+    [anon_sym_STAR] = ACTIONS(1236),
+    [anon_sym_AMP] = ACTIONS(1236),
+    [anon_sym_SEMI] = ACTIONS(1236),
+    [anon_sym___extension__] = ACTIONS(1234),
+    [anon_sym_typedef] = ACTIONS(1234),
+    [anon_sym_extern] = ACTIONS(1234),
+    [anon_sym___attribute__] = ACTIONS(1234),
+    [anon_sym___attribute] = ACTIONS(1234),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1236),
+    [anon_sym___declspec] = ACTIONS(1234),
+    [anon_sym___cdecl] = ACTIONS(1234),
+    [anon_sym___clrcall] = ACTIONS(1234),
+    [anon_sym___stdcall] = ACTIONS(1234),
+    [anon_sym___fastcall] = ACTIONS(1234),
+    [anon_sym___thiscall] = ACTIONS(1234),
+    [anon_sym___vectorcall] = ACTIONS(1234),
+    [anon_sym_LBRACE] = ACTIONS(1236),
+    [anon_sym_RBRACE] = ACTIONS(1236),
+    [anon_sym_signed] = ACTIONS(1234),
+    [anon_sym_unsigned] = ACTIONS(1234),
+    [anon_sym_long] = ACTIONS(1234),
+    [anon_sym_short] = ACTIONS(1234),
+    [anon_sym_static] = ACTIONS(1234),
+    [anon_sym_auto] = ACTIONS(1234),
+    [anon_sym_register] = ACTIONS(1234),
+    [anon_sym_inline] = ACTIONS(1234),
+    [anon_sym___inline] = ACTIONS(1234),
+    [anon_sym___inline__] = ACTIONS(1234),
+    [anon_sym___forceinline] = ACTIONS(1234),
+    [anon_sym_thread_local] = ACTIONS(1234),
+    [anon_sym___thread] = ACTIONS(1234),
+    [anon_sym_const] = ACTIONS(1234),
+    [anon_sym_constexpr] = ACTIONS(1234),
+    [anon_sym_volatile] = ACTIONS(1234),
+    [anon_sym_restrict] = ACTIONS(1234),
+    [anon_sym___restrict__] = ACTIONS(1234),
+    [anon_sym__Atomic] = ACTIONS(1234),
+    [anon_sym__Noreturn] = ACTIONS(1234),
+    [anon_sym_noreturn] = ACTIONS(1234),
+    [anon_sym__Nonnull] = ACTIONS(1234),
+    [anon_sym_alignas] = ACTIONS(1234),
+    [anon_sym__Alignas] = ACTIONS(1234),
+    [sym_primitive_type] = ACTIONS(1234),
+    [anon_sym_enum] = ACTIONS(1234),
+    [anon_sym_struct] = ACTIONS(1234),
+    [anon_sym_union] = ACTIONS(1234),
+    [anon_sym_if] = ACTIONS(1234),
+    [anon_sym_else] = ACTIONS(1234),
+    [anon_sym_switch] = ACTIONS(1234),
+    [anon_sym_case] = ACTIONS(1234),
+    [anon_sym_default] = ACTIONS(1234),
+    [anon_sym_while] = ACTIONS(1234),
+    [anon_sym_do] = ACTIONS(1234),
+    [anon_sym_for] = ACTIONS(1234),
+    [anon_sym_return] = ACTIONS(1234),
+    [anon_sym_break] = ACTIONS(1234),
+    [anon_sym_continue] = ACTIONS(1234),
+    [anon_sym_goto] = ACTIONS(1234),
+    [anon_sym___try] = ACTIONS(1234),
+    [anon_sym___leave] = ACTIONS(1234),
+    [anon_sym_DASH_DASH] = ACTIONS(1236),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1236),
+    [anon_sym_sizeof] = ACTIONS(1234),
+    [anon_sym___alignof__] = ACTIONS(1234),
+    [anon_sym___alignof] = ACTIONS(1234),
+    [anon_sym__alignof] = ACTIONS(1234),
+    [anon_sym_alignof] = ACTIONS(1234),
+    [anon_sym__Alignof] = ACTIONS(1234),
+    [anon_sym_offsetof] = ACTIONS(1234),
+    [anon_sym__Generic] = ACTIONS(1234),
+    [anon_sym_asm] = ACTIONS(1234),
+    [anon_sym___asm__] = ACTIONS(1234),
+    [anon_sym___asm] = ACTIONS(1234),
+    [sym_number_literal] = ACTIONS(1236),
+    [anon_sym_L_SQUOTE] = ACTIONS(1236),
+    [anon_sym_u_SQUOTE] = ACTIONS(1236),
+    [anon_sym_U_SQUOTE] = ACTIONS(1236),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1236),
+    [anon_sym_SQUOTE] = ACTIONS(1236),
+    [anon_sym_L_DQUOTE] = ACTIONS(1236),
+    [anon_sym_u_DQUOTE] = ACTIONS(1236),
+    [anon_sym_U_DQUOTE] = ACTIONS(1236),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1236),
+    [anon_sym_DQUOTE] = ACTIONS(1236),
+    [sym_true] = ACTIONS(1234),
+    [sym_false] = ACTIONS(1234),
+    [anon_sym_NULL] = ACTIONS(1234),
+    [anon_sym_nullptr] = ACTIONS(1234),
     [sym_comment] = ACTIONS(3),
   },
   [251] = {
-    [ts_builtin_sym_end] = ACTIONS(1151),
-    [sym_identifier] = ACTIONS(1149),
-    [aux_sym_preproc_include_token1] = ACTIONS(1149),
-    [aux_sym_preproc_def_token1] = ACTIONS(1149),
-    [aux_sym_preproc_if_token1] = ACTIONS(1149),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1149),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1149),
-    [sym_preproc_directive] = ACTIONS(1149),
-    [anon_sym_LPAREN2] = ACTIONS(1151),
-    [anon_sym_BANG] = ACTIONS(1151),
-    [anon_sym_TILDE] = ACTIONS(1151),
-    [anon_sym_DASH] = ACTIONS(1149),
-    [anon_sym_PLUS] = ACTIONS(1149),
-    [anon_sym_STAR] = ACTIONS(1151),
-    [anon_sym_AMP] = ACTIONS(1151),
-    [anon_sym_SEMI] = ACTIONS(1151),
-    [anon_sym___extension__] = ACTIONS(1149),
-    [anon_sym_typedef] = ACTIONS(1149),
-    [anon_sym_extern] = ACTIONS(1149),
-    [anon_sym___attribute__] = ACTIONS(1149),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1151),
-    [anon_sym___declspec] = ACTIONS(1149),
-    [anon_sym___cdecl] = ACTIONS(1149),
-    [anon_sym___clrcall] = ACTIONS(1149),
-    [anon_sym___stdcall] = ACTIONS(1149),
-    [anon_sym___fastcall] = ACTIONS(1149),
-    [anon_sym___thiscall] = ACTIONS(1149),
-    [anon_sym___vectorcall] = ACTIONS(1149),
-    [anon_sym_LBRACE] = ACTIONS(1151),
-    [anon_sym_signed] = ACTIONS(1149),
-    [anon_sym_unsigned] = ACTIONS(1149),
-    [anon_sym_long] = ACTIONS(1149),
-    [anon_sym_short] = ACTIONS(1149),
-    [anon_sym_static] = ACTIONS(1149),
-    [anon_sym_auto] = ACTIONS(1149),
-    [anon_sym_register] = ACTIONS(1149),
-    [anon_sym_inline] = ACTIONS(1149),
-    [anon_sym___inline] = ACTIONS(1149),
-    [anon_sym___inline__] = ACTIONS(1149),
-    [anon_sym___forceinline] = ACTIONS(1149),
-    [anon_sym_thread_local] = ACTIONS(1149),
-    [anon_sym___thread] = ACTIONS(1149),
-    [anon_sym_const] = ACTIONS(1149),
-    [anon_sym_constexpr] = ACTIONS(1149),
-    [anon_sym_volatile] = ACTIONS(1149),
-    [anon_sym_restrict] = ACTIONS(1149),
-    [anon_sym___restrict__] = ACTIONS(1149),
-    [anon_sym__Atomic] = ACTIONS(1149),
-    [anon_sym__Noreturn] = ACTIONS(1149),
-    [anon_sym_noreturn] = ACTIONS(1149),
-    [anon_sym__Nonnull] = ACTIONS(1149),
-    [anon_sym_alignas] = ACTIONS(1149),
-    [anon_sym__Alignas] = ACTIONS(1149),
-    [sym_primitive_type] = ACTIONS(1149),
-    [anon_sym_enum] = ACTIONS(1149),
-    [anon_sym_struct] = ACTIONS(1149),
-    [anon_sym_union] = ACTIONS(1149),
-    [anon_sym_if] = ACTIONS(1149),
-    [anon_sym_else] = ACTIONS(1149),
-    [anon_sym_switch] = ACTIONS(1149),
-    [anon_sym_case] = ACTIONS(1149),
-    [anon_sym_default] = ACTIONS(1149),
-    [anon_sym_while] = ACTIONS(1149),
-    [anon_sym_do] = ACTIONS(1149),
-    [anon_sym_for] = ACTIONS(1149),
-    [anon_sym_return] = ACTIONS(1149),
-    [anon_sym_break] = ACTIONS(1149),
-    [anon_sym_continue] = ACTIONS(1149),
-    [anon_sym_goto] = ACTIONS(1149),
-    [anon_sym___try] = ACTIONS(1149),
-    [anon_sym___leave] = ACTIONS(1149),
-    [anon_sym_DASH_DASH] = ACTIONS(1151),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1151),
-    [anon_sym_sizeof] = ACTIONS(1149),
-    [anon_sym___alignof__] = ACTIONS(1149),
-    [anon_sym___alignof] = ACTIONS(1149),
-    [anon_sym__alignof] = ACTIONS(1149),
-    [anon_sym_alignof] = ACTIONS(1149),
-    [anon_sym__Alignof] = ACTIONS(1149),
-    [anon_sym_offsetof] = ACTIONS(1149),
-    [anon_sym__Generic] = ACTIONS(1149),
-    [anon_sym_asm] = ACTIONS(1149),
-    [anon_sym___asm__] = ACTIONS(1149),
-    [anon_sym___asm] = ACTIONS(1149),
-    [sym_number_literal] = ACTIONS(1151),
-    [anon_sym_L_SQUOTE] = ACTIONS(1151),
-    [anon_sym_u_SQUOTE] = ACTIONS(1151),
-    [anon_sym_U_SQUOTE] = ACTIONS(1151),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1151),
-    [anon_sym_SQUOTE] = ACTIONS(1151),
-    [anon_sym_L_DQUOTE] = ACTIONS(1151),
-    [anon_sym_u_DQUOTE] = ACTIONS(1151),
-    [anon_sym_U_DQUOTE] = ACTIONS(1151),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1151),
-    [anon_sym_DQUOTE] = ACTIONS(1151),
-    [sym_true] = ACTIONS(1149),
-    [sym_false] = ACTIONS(1149),
-    [anon_sym_NULL] = ACTIONS(1149),
-    [anon_sym_nullptr] = ACTIONS(1149),
+    [sym_identifier] = ACTIONS(1222),
+    [aux_sym_preproc_include_token1] = ACTIONS(1222),
+    [aux_sym_preproc_def_token1] = ACTIONS(1222),
+    [aux_sym_preproc_if_token1] = ACTIONS(1222),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1222),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1222),
+    [sym_preproc_directive] = ACTIONS(1222),
+    [anon_sym_LPAREN2] = ACTIONS(1224),
+    [anon_sym_BANG] = ACTIONS(1224),
+    [anon_sym_TILDE] = ACTIONS(1224),
+    [anon_sym_DASH] = ACTIONS(1222),
+    [anon_sym_PLUS] = ACTIONS(1222),
+    [anon_sym_STAR] = ACTIONS(1224),
+    [anon_sym_AMP] = ACTIONS(1224),
+    [anon_sym_SEMI] = ACTIONS(1224),
+    [anon_sym___extension__] = ACTIONS(1222),
+    [anon_sym_typedef] = ACTIONS(1222),
+    [anon_sym_extern] = ACTIONS(1222),
+    [anon_sym___attribute__] = ACTIONS(1222),
+    [anon_sym___attribute] = ACTIONS(1222),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1224),
+    [anon_sym___declspec] = ACTIONS(1222),
+    [anon_sym___cdecl] = ACTIONS(1222),
+    [anon_sym___clrcall] = ACTIONS(1222),
+    [anon_sym___stdcall] = ACTIONS(1222),
+    [anon_sym___fastcall] = ACTIONS(1222),
+    [anon_sym___thiscall] = ACTIONS(1222),
+    [anon_sym___vectorcall] = ACTIONS(1222),
+    [anon_sym_LBRACE] = ACTIONS(1224),
+    [anon_sym_RBRACE] = ACTIONS(1224),
+    [anon_sym_signed] = ACTIONS(1222),
+    [anon_sym_unsigned] = ACTIONS(1222),
+    [anon_sym_long] = ACTIONS(1222),
+    [anon_sym_short] = ACTIONS(1222),
+    [anon_sym_static] = ACTIONS(1222),
+    [anon_sym_auto] = ACTIONS(1222),
+    [anon_sym_register] = ACTIONS(1222),
+    [anon_sym_inline] = ACTIONS(1222),
+    [anon_sym___inline] = ACTIONS(1222),
+    [anon_sym___inline__] = ACTIONS(1222),
+    [anon_sym___forceinline] = ACTIONS(1222),
+    [anon_sym_thread_local] = ACTIONS(1222),
+    [anon_sym___thread] = ACTIONS(1222),
+    [anon_sym_const] = ACTIONS(1222),
+    [anon_sym_constexpr] = ACTIONS(1222),
+    [anon_sym_volatile] = ACTIONS(1222),
+    [anon_sym_restrict] = ACTIONS(1222),
+    [anon_sym___restrict__] = ACTIONS(1222),
+    [anon_sym__Atomic] = ACTIONS(1222),
+    [anon_sym__Noreturn] = ACTIONS(1222),
+    [anon_sym_noreturn] = ACTIONS(1222),
+    [anon_sym__Nonnull] = ACTIONS(1222),
+    [anon_sym_alignas] = ACTIONS(1222),
+    [anon_sym__Alignas] = ACTIONS(1222),
+    [sym_primitive_type] = ACTIONS(1222),
+    [anon_sym_enum] = ACTIONS(1222),
+    [anon_sym_struct] = ACTIONS(1222),
+    [anon_sym_union] = ACTIONS(1222),
+    [anon_sym_if] = ACTIONS(1222),
+    [anon_sym_else] = ACTIONS(1222),
+    [anon_sym_switch] = ACTIONS(1222),
+    [anon_sym_case] = ACTIONS(1222),
+    [anon_sym_default] = ACTIONS(1222),
+    [anon_sym_while] = ACTIONS(1222),
+    [anon_sym_do] = ACTIONS(1222),
+    [anon_sym_for] = ACTIONS(1222),
+    [anon_sym_return] = ACTIONS(1222),
+    [anon_sym_break] = ACTIONS(1222),
+    [anon_sym_continue] = ACTIONS(1222),
+    [anon_sym_goto] = ACTIONS(1222),
+    [anon_sym___try] = ACTIONS(1222),
+    [anon_sym___leave] = ACTIONS(1222),
+    [anon_sym_DASH_DASH] = ACTIONS(1224),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1224),
+    [anon_sym_sizeof] = ACTIONS(1222),
+    [anon_sym___alignof__] = ACTIONS(1222),
+    [anon_sym___alignof] = ACTIONS(1222),
+    [anon_sym__alignof] = ACTIONS(1222),
+    [anon_sym_alignof] = ACTIONS(1222),
+    [anon_sym__Alignof] = ACTIONS(1222),
+    [anon_sym_offsetof] = ACTIONS(1222),
+    [anon_sym__Generic] = ACTIONS(1222),
+    [anon_sym_asm] = ACTIONS(1222),
+    [anon_sym___asm__] = ACTIONS(1222),
+    [anon_sym___asm] = ACTIONS(1222),
+    [sym_number_literal] = ACTIONS(1224),
+    [anon_sym_L_SQUOTE] = ACTIONS(1224),
+    [anon_sym_u_SQUOTE] = ACTIONS(1224),
+    [anon_sym_U_SQUOTE] = ACTIONS(1224),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1224),
+    [anon_sym_SQUOTE] = ACTIONS(1224),
+    [anon_sym_L_DQUOTE] = ACTIONS(1224),
+    [anon_sym_u_DQUOTE] = ACTIONS(1224),
+    [anon_sym_U_DQUOTE] = ACTIONS(1224),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1224),
+    [anon_sym_DQUOTE] = ACTIONS(1224),
+    [sym_true] = ACTIONS(1222),
+    [sym_false] = ACTIONS(1222),
+    [anon_sym_NULL] = ACTIONS(1222),
+    [anon_sym_nullptr] = ACTIONS(1222),
     [sym_comment] = ACTIONS(3),
   },
   [252] = {
-    [ts_builtin_sym_end] = ACTIONS(1155),
-    [sym_identifier] = ACTIONS(1153),
-    [aux_sym_preproc_include_token1] = ACTIONS(1153),
-    [aux_sym_preproc_def_token1] = ACTIONS(1153),
-    [aux_sym_preproc_if_token1] = ACTIONS(1153),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1153),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1153),
-    [sym_preproc_directive] = ACTIONS(1153),
-    [anon_sym_LPAREN2] = ACTIONS(1155),
-    [anon_sym_BANG] = ACTIONS(1155),
-    [anon_sym_TILDE] = ACTIONS(1155),
-    [anon_sym_DASH] = ACTIONS(1153),
-    [anon_sym_PLUS] = ACTIONS(1153),
-    [anon_sym_STAR] = ACTIONS(1155),
-    [anon_sym_AMP] = ACTIONS(1155),
-    [anon_sym_SEMI] = ACTIONS(1155),
-    [anon_sym___extension__] = ACTIONS(1153),
-    [anon_sym_typedef] = ACTIONS(1153),
-    [anon_sym_extern] = ACTIONS(1153),
-    [anon_sym___attribute__] = ACTIONS(1153),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1155),
-    [anon_sym___declspec] = ACTIONS(1153),
-    [anon_sym___cdecl] = ACTIONS(1153),
-    [anon_sym___clrcall] = ACTIONS(1153),
-    [anon_sym___stdcall] = ACTIONS(1153),
-    [anon_sym___fastcall] = ACTIONS(1153),
-    [anon_sym___thiscall] = ACTIONS(1153),
-    [anon_sym___vectorcall] = ACTIONS(1153),
-    [anon_sym_LBRACE] = ACTIONS(1155),
-    [anon_sym_signed] = ACTIONS(1153),
-    [anon_sym_unsigned] = ACTIONS(1153),
-    [anon_sym_long] = ACTIONS(1153),
-    [anon_sym_short] = ACTIONS(1153),
-    [anon_sym_static] = ACTIONS(1153),
-    [anon_sym_auto] = ACTIONS(1153),
-    [anon_sym_register] = ACTIONS(1153),
-    [anon_sym_inline] = ACTIONS(1153),
-    [anon_sym___inline] = ACTIONS(1153),
-    [anon_sym___inline__] = ACTIONS(1153),
-    [anon_sym___forceinline] = ACTIONS(1153),
-    [anon_sym_thread_local] = ACTIONS(1153),
-    [anon_sym___thread] = ACTIONS(1153),
-    [anon_sym_const] = ACTIONS(1153),
-    [anon_sym_constexpr] = ACTIONS(1153),
-    [anon_sym_volatile] = ACTIONS(1153),
-    [anon_sym_restrict] = ACTIONS(1153),
-    [anon_sym___restrict__] = ACTIONS(1153),
-    [anon_sym__Atomic] = ACTIONS(1153),
-    [anon_sym__Noreturn] = ACTIONS(1153),
-    [anon_sym_noreturn] = ACTIONS(1153),
-    [anon_sym__Nonnull] = ACTIONS(1153),
-    [anon_sym_alignas] = ACTIONS(1153),
-    [anon_sym__Alignas] = ACTIONS(1153),
-    [sym_primitive_type] = ACTIONS(1153),
-    [anon_sym_enum] = ACTIONS(1153),
-    [anon_sym_struct] = ACTIONS(1153),
-    [anon_sym_union] = ACTIONS(1153),
-    [anon_sym_if] = ACTIONS(1153),
-    [anon_sym_else] = ACTIONS(1153),
-    [anon_sym_switch] = ACTIONS(1153),
-    [anon_sym_case] = ACTIONS(1153),
-    [anon_sym_default] = ACTIONS(1153),
-    [anon_sym_while] = ACTIONS(1153),
-    [anon_sym_do] = ACTIONS(1153),
-    [anon_sym_for] = ACTIONS(1153),
-    [anon_sym_return] = ACTIONS(1153),
-    [anon_sym_break] = ACTIONS(1153),
-    [anon_sym_continue] = ACTIONS(1153),
-    [anon_sym_goto] = ACTIONS(1153),
-    [anon_sym___try] = ACTIONS(1153),
-    [anon_sym___leave] = ACTIONS(1153),
-    [anon_sym_DASH_DASH] = ACTIONS(1155),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1155),
-    [anon_sym_sizeof] = ACTIONS(1153),
-    [anon_sym___alignof__] = ACTIONS(1153),
-    [anon_sym___alignof] = ACTIONS(1153),
-    [anon_sym__alignof] = ACTIONS(1153),
-    [anon_sym_alignof] = ACTIONS(1153),
-    [anon_sym__Alignof] = ACTIONS(1153),
-    [anon_sym_offsetof] = ACTIONS(1153),
-    [anon_sym__Generic] = ACTIONS(1153),
-    [anon_sym_asm] = ACTIONS(1153),
-    [anon_sym___asm__] = ACTIONS(1153),
-    [anon_sym___asm] = ACTIONS(1153),
-    [sym_number_literal] = ACTIONS(1155),
-    [anon_sym_L_SQUOTE] = ACTIONS(1155),
-    [anon_sym_u_SQUOTE] = ACTIONS(1155),
-    [anon_sym_U_SQUOTE] = ACTIONS(1155),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1155),
-    [anon_sym_SQUOTE] = ACTIONS(1155),
-    [anon_sym_L_DQUOTE] = ACTIONS(1155),
-    [anon_sym_u_DQUOTE] = ACTIONS(1155),
-    [anon_sym_U_DQUOTE] = ACTIONS(1155),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1155),
-    [anon_sym_DQUOTE] = ACTIONS(1155),
-    [sym_true] = ACTIONS(1153),
-    [sym_false] = ACTIONS(1153),
-    [anon_sym_NULL] = ACTIONS(1153),
-    [anon_sym_nullptr] = ACTIONS(1153),
+    [sym_identifier] = ACTIONS(1190),
+    [aux_sym_preproc_include_token1] = ACTIONS(1190),
+    [aux_sym_preproc_def_token1] = ACTIONS(1190),
+    [aux_sym_preproc_if_token1] = ACTIONS(1190),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1190),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1190),
+    [sym_preproc_directive] = ACTIONS(1190),
+    [anon_sym_LPAREN2] = ACTIONS(1192),
+    [anon_sym_BANG] = ACTIONS(1192),
+    [anon_sym_TILDE] = ACTIONS(1192),
+    [anon_sym_DASH] = ACTIONS(1190),
+    [anon_sym_PLUS] = ACTIONS(1190),
+    [anon_sym_STAR] = ACTIONS(1192),
+    [anon_sym_AMP] = ACTIONS(1192),
+    [anon_sym_SEMI] = ACTIONS(1192),
+    [anon_sym___extension__] = ACTIONS(1190),
+    [anon_sym_typedef] = ACTIONS(1190),
+    [anon_sym_extern] = ACTIONS(1190),
+    [anon_sym___attribute__] = ACTIONS(1190),
+    [anon_sym___attribute] = ACTIONS(1190),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1192),
+    [anon_sym___declspec] = ACTIONS(1190),
+    [anon_sym___cdecl] = ACTIONS(1190),
+    [anon_sym___clrcall] = ACTIONS(1190),
+    [anon_sym___stdcall] = ACTIONS(1190),
+    [anon_sym___fastcall] = ACTIONS(1190),
+    [anon_sym___thiscall] = ACTIONS(1190),
+    [anon_sym___vectorcall] = ACTIONS(1190),
+    [anon_sym_LBRACE] = ACTIONS(1192),
+    [anon_sym_RBRACE] = ACTIONS(1192),
+    [anon_sym_signed] = ACTIONS(1190),
+    [anon_sym_unsigned] = ACTIONS(1190),
+    [anon_sym_long] = ACTIONS(1190),
+    [anon_sym_short] = ACTIONS(1190),
+    [anon_sym_static] = ACTIONS(1190),
+    [anon_sym_auto] = ACTIONS(1190),
+    [anon_sym_register] = ACTIONS(1190),
+    [anon_sym_inline] = ACTIONS(1190),
+    [anon_sym___inline] = ACTIONS(1190),
+    [anon_sym___inline__] = ACTIONS(1190),
+    [anon_sym___forceinline] = ACTIONS(1190),
+    [anon_sym_thread_local] = ACTIONS(1190),
+    [anon_sym___thread] = ACTIONS(1190),
+    [anon_sym_const] = ACTIONS(1190),
+    [anon_sym_constexpr] = ACTIONS(1190),
+    [anon_sym_volatile] = ACTIONS(1190),
+    [anon_sym_restrict] = ACTIONS(1190),
+    [anon_sym___restrict__] = ACTIONS(1190),
+    [anon_sym__Atomic] = ACTIONS(1190),
+    [anon_sym__Noreturn] = ACTIONS(1190),
+    [anon_sym_noreturn] = ACTIONS(1190),
+    [anon_sym__Nonnull] = ACTIONS(1190),
+    [anon_sym_alignas] = ACTIONS(1190),
+    [anon_sym__Alignas] = ACTIONS(1190),
+    [sym_primitive_type] = ACTIONS(1190),
+    [anon_sym_enum] = ACTIONS(1190),
+    [anon_sym_struct] = ACTIONS(1190),
+    [anon_sym_union] = ACTIONS(1190),
+    [anon_sym_if] = ACTIONS(1190),
+    [anon_sym_else] = ACTIONS(1190),
+    [anon_sym_switch] = ACTIONS(1190),
+    [anon_sym_case] = ACTIONS(1190),
+    [anon_sym_default] = ACTIONS(1190),
+    [anon_sym_while] = ACTIONS(1190),
+    [anon_sym_do] = ACTIONS(1190),
+    [anon_sym_for] = ACTIONS(1190),
+    [anon_sym_return] = ACTIONS(1190),
+    [anon_sym_break] = ACTIONS(1190),
+    [anon_sym_continue] = ACTIONS(1190),
+    [anon_sym_goto] = ACTIONS(1190),
+    [anon_sym___try] = ACTIONS(1190),
+    [anon_sym___leave] = ACTIONS(1190),
+    [anon_sym_DASH_DASH] = ACTIONS(1192),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1192),
+    [anon_sym_sizeof] = ACTIONS(1190),
+    [anon_sym___alignof__] = ACTIONS(1190),
+    [anon_sym___alignof] = ACTIONS(1190),
+    [anon_sym__alignof] = ACTIONS(1190),
+    [anon_sym_alignof] = ACTIONS(1190),
+    [anon_sym__Alignof] = ACTIONS(1190),
+    [anon_sym_offsetof] = ACTIONS(1190),
+    [anon_sym__Generic] = ACTIONS(1190),
+    [anon_sym_asm] = ACTIONS(1190),
+    [anon_sym___asm__] = ACTIONS(1190),
+    [anon_sym___asm] = ACTIONS(1190),
+    [sym_number_literal] = ACTIONS(1192),
+    [anon_sym_L_SQUOTE] = ACTIONS(1192),
+    [anon_sym_u_SQUOTE] = ACTIONS(1192),
+    [anon_sym_U_SQUOTE] = ACTIONS(1192),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1192),
+    [anon_sym_SQUOTE] = ACTIONS(1192),
+    [anon_sym_L_DQUOTE] = ACTIONS(1192),
+    [anon_sym_u_DQUOTE] = ACTIONS(1192),
+    [anon_sym_U_DQUOTE] = ACTIONS(1192),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1192),
+    [anon_sym_DQUOTE] = ACTIONS(1192),
+    [sym_true] = ACTIONS(1190),
+    [sym_false] = ACTIONS(1190),
+    [anon_sym_NULL] = ACTIONS(1190),
+    [anon_sym_nullptr] = ACTIONS(1190),
     [sym_comment] = ACTIONS(3),
   },
   [253] = {
-    [ts_builtin_sym_end] = ACTIONS(1203),
-    [sym_identifier] = ACTIONS(1201),
-    [aux_sym_preproc_include_token1] = ACTIONS(1201),
-    [aux_sym_preproc_def_token1] = ACTIONS(1201),
-    [aux_sym_preproc_if_token1] = ACTIONS(1201),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1201),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1201),
-    [sym_preproc_directive] = ACTIONS(1201),
-    [anon_sym_LPAREN2] = ACTIONS(1203),
-    [anon_sym_BANG] = ACTIONS(1203),
-    [anon_sym_TILDE] = ACTIONS(1203),
-    [anon_sym_DASH] = ACTIONS(1201),
-    [anon_sym_PLUS] = ACTIONS(1201),
-    [anon_sym_STAR] = ACTIONS(1203),
-    [anon_sym_AMP] = ACTIONS(1203),
-    [anon_sym_SEMI] = ACTIONS(1203),
-    [anon_sym___extension__] = ACTIONS(1201),
-    [anon_sym_typedef] = ACTIONS(1201),
-    [anon_sym_extern] = ACTIONS(1201),
-    [anon_sym___attribute__] = ACTIONS(1201),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1203),
-    [anon_sym___declspec] = ACTIONS(1201),
-    [anon_sym___cdecl] = ACTIONS(1201),
-    [anon_sym___clrcall] = ACTIONS(1201),
-    [anon_sym___stdcall] = ACTIONS(1201),
-    [anon_sym___fastcall] = ACTIONS(1201),
-    [anon_sym___thiscall] = ACTIONS(1201),
-    [anon_sym___vectorcall] = ACTIONS(1201),
-    [anon_sym_LBRACE] = ACTIONS(1203),
-    [anon_sym_signed] = ACTIONS(1201),
-    [anon_sym_unsigned] = ACTIONS(1201),
-    [anon_sym_long] = ACTIONS(1201),
-    [anon_sym_short] = ACTIONS(1201),
-    [anon_sym_static] = ACTIONS(1201),
-    [anon_sym_auto] = ACTIONS(1201),
-    [anon_sym_register] = ACTIONS(1201),
-    [anon_sym_inline] = ACTIONS(1201),
-    [anon_sym___inline] = ACTIONS(1201),
-    [anon_sym___inline__] = ACTIONS(1201),
-    [anon_sym___forceinline] = ACTIONS(1201),
-    [anon_sym_thread_local] = ACTIONS(1201),
-    [anon_sym___thread] = ACTIONS(1201),
-    [anon_sym_const] = ACTIONS(1201),
-    [anon_sym_constexpr] = ACTIONS(1201),
-    [anon_sym_volatile] = ACTIONS(1201),
-    [anon_sym_restrict] = ACTIONS(1201),
-    [anon_sym___restrict__] = ACTIONS(1201),
-    [anon_sym__Atomic] = ACTIONS(1201),
-    [anon_sym__Noreturn] = ACTIONS(1201),
-    [anon_sym_noreturn] = ACTIONS(1201),
-    [anon_sym__Nonnull] = ACTIONS(1201),
-    [anon_sym_alignas] = ACTIONS(1201),
-    [anon_sym__Alignas] = ACTIONS(1201),
-    [sym_primitive_type] = ACTIONS(1201),
-    [anon_sym_enum] = ACTIONS(1201),
-    [anon_sym_struct] = ACTIONS(1201),
-    [anon_sym_union] = ACTIONS(1201),
-    [anon_sym_if] = ACTIONS(1201),
-    [anon_sym_else] = ACTIONS(1201),
-    [anon_sym_switch] = ACTIONS(1201),
-    [anon_sym_case] = ACTIONS(1201),
-    [anon_sym_default] = ACTIONS(1201),
-    [anon_sym_while] = ACTIONS(1201),
-    [anon_sym_do] = ACTIONS(1201),
-    [anon_sym_for] = ACTIONS(1201),
-    [anon_sym_return] = ACTIONS(1201),
-    [anon_sym_break] = ACTIONS(1201),
-    [anon_sym_continue] = ACTIONS(1201),
-    [anon_sym_goto] = ACTIONS(1201),
-    [anon_sym___try] = ACTIONS(1201),
-    [anon_sym___leave] = ACTIONS(1201),
-    [anon_sym_DASH_DASH] = ACTIONS(1203),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1203),
-    [anon_sym_sizeof] = ACTIONS(1201),
-    [anon_sym___alignof__] = ACTIONS(1201),
-    [anon_sym___alignof] = ACTIONS(1201),
-    [anon_sym__alignof] = ACTIONS(1201),
-    [anon_sym_alignof] = ACTIONS(1201),
-    [anon_sym__Alignof] = ACTIONS(1201),
-    [anon_sym_offsetof] = ACTIONS(1201),
-    [anon_sym__Generic] = ACTIONS(1201),
-    [anon_sym_asm] = ACTIONS(1201),
-    [anon_sym___asm__] = ACTIONS(1201),
-    [anon_sym___asm] = ACTIONS(1201),
-    [sym_number_literal] = ACTIONS(1203),
-    [anon_sym_L_SQUOTE] = ACTIONS(1203),
-    [anon_sym_u_SQUOTE] = ACTIONS(1203),
-    [anon_sym_U_SQUOTE] = ACTIONS(1203),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1203),
-    [anon_sym_SQUOTE] = ACTIONS(1203),
-    [anon_sym_L_DQUOTE] = ACTIONS(1203),
-    [anon_sym_u_DQUOTE] = ACTIONS(1203),
-    [anon_sym_U_DQUOTE] = ACTIONS(1203),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1203),
-    [anon_sym_DQUOTE] = ACTIONS(1203),
-    [sym_true] = ACTIONS(1201),
-    [sym_false] = ACTIONS(1201),
-    [anon_sym_NULL] = ACTIONS(1201),
-    [anon_sym_nullptr] = ACTIONS(1201),
+    [sym_identifier] = ACTIONS(1194),
+    [aux_sym_preproc_include_token1] = ACTIONS(1194),
+    [aux_sym_preproc_def_token1] = ACTIONS(1194),
+    [aux_sym_preproc_if_token1] = ACTIONS(1194),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1194),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1194),
+    [sym_preproc_directive] = ACTIONS(1194),
+    [anon_sym_LPAREN2] = ACTIONS(1196),
+    [anon_sym_BANG] = ACTIONS(1196),
+    [anon_sym_TILDE] = ACTIONS(1196),
+    [anon_sym_DASH] = ACTIONS(1194),
+    [anon_sym_PLUS] = ACTIONS(1194),
+    [anon_sym_STAR] = ACTIONS(1196),
+    [anon_sym_AMP] = ACTIONS(1196),
+    [anon_sym_SEMI] = ACTIONS(1196),
+    [anon_sym___extension__] = ACTIONS(1194),
+    [anon_sym_typedef] = ACTIONS(1194),
+    [anon_sym_extern] = ACTIONS(1194),
+    [anon_sym___attribute__] = ACTIONS(1194),
+    [anon_sym___attribute] = ACTIONS(1194),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1196),
+    [anon_sym___declspec] = ACTIONS(1194),
+    [anon_sym___cdecl] = ACTIONS(1194),
+    [anon_sym___clrcall] = ACTIONS(1194),
+    [anon_sym___stdcall] = ACTIONS(1194),
+    [anon_sym___fastcall] = ACTIONS(1194),
+    [anon_sym___thiscall] = ACTIONS(1194),
+    [anon_sym___vectorcall] = ACTIONS(1194),
+    [anon_sym_LBRACE] = ACTIONS(1196),
+    [anon_sym_RBRACE] = ACTIONS(1196),
+    [anon_sym_signed] = ACTIONS(1194),
+    [anon_sym_unsigned] = ACTIONS(1194),
+    [anon_sym_long] = ACTIONS(1194),
+    [anon_sym_short] = ACTIONS(1194),
+    [anon_sym_static] = ACTIONS(1194),
+    [anon_sym_auto] = ACTIONS(1194),
+    [anon_sym_register] = ACTIONS(1194),
+    [anon_sym_inline] = ACTIONS(1194),
+    [anon_sym___inline] = ACTIONS(1194),
+    [anon_sym___inline__] = ACTIONS(1194),
+    [anon_sym___forceinline] = ACTIONS(1194),
+    [anon_sym_thread_local] = ACTIONS(1194),
+    [anon_sym___thread] = ACTIONS(1194),
+    [anon_sym_const] = ACTIONS(1194),
+    [anon_sym_constexpr] = ACTIONS(1194),
+    [anon_sym_volatile] = ACTIONS(1194),
+    [anon_sym_restrict] = ACTIONS(1194),
+    [anon_sym___restrict__] = ACTIONS(1194),
+    [anon_sym__Atomic] = ACTIONS(1194),
+    [anon_sym__Noreturn] = ACTIONS(1194),
+    [anon_sym_noreturn] = ACTIONS(1194),
+    [anon_sym__Nonnull] = ACTIONS(1194),
+    [anon_sym_alignas] = ACTIONS(1194),
+    [anon_sym__Alignas] = ACTIONS(1194),
+    [sym_primitive_type] = ACTIONS(1194),
+    [anon_sym_enum] = ACTIONS(1194),
+    [anon_sym_struct] = ACTIONS(1194),
+    [anon_sym_union] = ACTIONS(1194),
+    [anon_sym_if] = ACTIONS(1194),
+    [anon_sym_else] = ACTIONS(1194),
+    [anon_sym_switch] = ACTIONS(1194),
+    [anon_sym_case] = ACTIONS(1194),
+    [anon_sym_default] = ACTIONS(1194),
+    [anon_sym_while] = ACTIONS(1194),
+    [anon_sym_do] = ACTIONS(1194),
+    [anon_sym_for] = ACTIONS(1194),
+    [anon_sym_return] = ACTIONS(1194),
+    [anon_sym_break] = ACTIONS(1194),
+    [anon_sym_continue] = ACTIONS(1194),
+    [anon_sym_goto] = ACTIONS(1194),
+    [anon_sym___try] = ACTIONS(1194),
+    [anon_sym___leave] = ACTIONS(1194),
+    [anon_sym_DASH_DASH] = ACTIONS(1196),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1196),
+    [anon_sym_sizeof] = ACTIONS(1194),
+    [anon_sym___alignof__] = ACTIONS(1194),
+    [anon_sym___alignof] = ACTIONS(1194),
+    [anon_sym__alignof] = ACTIONS(1194),
+    [anon_sym_alignof] = ACTIONS(1194),
+    [anon_sym__Alignof] = ACTIONS(1194),
+    [anon_sym_offsetof] = ACTIONS(1194),
+    [anon_sym__Generic] = ACTIONS(1194),
+    [anon_sym_asm] = ACTIONS(1194),
+    [anon_sym___asm__] = ACTIONS(1194),
+    [anon_sym___asm] = ACTIONS(1194),
+    [sym_number_literal] = ACTIONS(1196),
+    [anon_sym_L_SQUOTE] = ACTIONS(1196),
+    [anon_sym_u_SQUOTE] = ACTIONS(1196),
+    [anon_sym_U_SQUOTE] = ACTIONS(1196),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1196),
+    [anon_sym_SQUOTE] = ACTIONS(1196),
+    [anon_sym_L_DQUOTE] = ACTIONS(1196),
+    [anon_sym_u_DQUOTE] = ACTIONS(1196),
+    [anon_sym_U_DQUOTE] = ACTIONS(1196),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1196),
+    [anon_sym_DQUOTE] = ACTIONS(1196),
+    [sym_true] = ACTIONS(1194),
+    [sym_false] = ACTIONS(1194),
+    [anon_sym_NULL] = ACTIONS(1194),
+    [anon_sym_nullptr] = ACTIONS(1194),
     [sym_comment] = ACTIONS(3),
   },
   [254] = {
-    [ts_builtin_sym_end] = ACTIONS(1203),
-    [sym_identifier] = ACTIONS(1201),
-    [aux_sym_preproc_include_token1] = ACTIONS(1201),
-    [aux_sym_preproc_def_token1] = ACTIONS(1201),
-    [aux_sym_preproc_if_token1] = ACTIONS(1201),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1201),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1201),
-    [sym_preproc_directive] = ACTIONS(1201),
-    [anon_sym_LPAREN2] = ACTIONS(1203),
-    [anon_sym_BANG] = ACTIONS(1203),
-    [anon_sym_TILDE] = ACTIONS(1203),
-    [anon_sym_DASH] = ACTIONS(1201),
-    [anon_sym_PLUS] = ACTIONS(1201),
-    [anon_sym_STAR] = ACTIONS(1203),
-    [anon_sym_AMP] = ACTIONS(1203),
-    [anon_sym_SEMI] = ACTIONS(1203),
-    [anon_sym___extension__] = ACTIONS(1201),
-    [anon_sym_typedef] = ACTIONS(1201),
-    [anon_sym_extern] = ACTIONS(1201),
-    [anon_sym___attribute__] = ACTIONS(1201),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1203),
-    [anon_sym___declspec] = ACTIONS(1201),
-    [anon_sym___cdecl] = ACTIONS(1201),
-    [anon_sym___clrcall] = ACTIONS(1201),
-    [anon_sym___stdcall] = ACTIONS(1201),
-    [anon_sym___fastcall] = ACTIONS(1201),
-    [anon_sym___thiscall] = ACTIONS(1201),
-    [anon_sym___vectorcall] = ACTIONS(1201),
-    [anon_sym_LBRACE] = ACTIONS(1203),
-    [anon_sym_signed] = ACTIONS(1201),
-    [anon_sym_unsigned] = ACTIONS(1201),
-    [anon_sym_long] = ACTIONS(1201),
-    [anon_sym_short] = ACTIONS(1201),
-    [anon_sym_static] = ACTIONS(1201),
-    [anon_sym_auto] = ACTIONS(1201),
-    [anon_sym_register] = ACTIONS(1201),
-    [anon_sym_inline] = ACTIONS(1201),
-    [anon_sym___inline] = ACTIONS(1201),
-    [anon_sym___inline__] = ACTIONS(1201),
-    [anon_sym___forceinline] = ACTIONS(1201),
-    [anon_sym_thread_local] = ACTIONS(1201),
-    [anon_sym___thread] = ACTIONS(1201),
-    [anon_sym_const] = ACTIONS(1201),
-    [anon_sym_constexpr] = ACTIONS(1201),
-    [anon_sym_volatile] = ACTIONS(1201),
-    [anon_sym_restrict] = ACTIONS(1201),
-    [anon_sym___restrict__] = ACTIONS(1201),
-    [anon_sym__Atomic] = ACTIONS(1201),
-    [anon_sym__Noreturn] = ACTIONS(1201),
-    [anon_sym_noreturn] = ACTIONS(1201),
-    [anon_sym__Nonnull] = ACTIONS(1201),
-    [anon_sym_alignas] = ACTIONS(1201),
-    [anon_sym__Alignas] = ACTIONS(1201),
-    [sym_primitive_type] = ACTIONS(1201),
-    [anon_sym_enum] = ACTIONS(1201),
-    [anon_sym_struct] = ACTIONS(1201),
-    [anon_sym_union] = ACTIONS(1201),
-    [anon_sym_if] = ACTIONS(1201),
-    [anon_sym_else] = ACTIONS(1201),
-    [anon_sym_switch] = ACTIONS(1201),
-    [anon_sym_case] = ACTIONS(1201),
-    [anon_sym_default] = ACTIONS(1201),
-    [anon_sym_while] = ACTIONS(1201),
-    [anon_sym_do] = ACTIONS(1201),
-    [anon_sym_for] = ACTIONS(1201),
-    [anon_sym_return] = ACTIONS(1201),
-    [anon_sym_break] = ACTIONS(1201),
-    [anon_sym_continue] = ACTIONS(1201),
-    [anon_sym_goto] = ACTIONS(1201),
-    [anon_sym___try] = ACTIONS(1201),
-    [anon_sym___leave] = ACTIONS(1201),
-    [anon_sym_DASH_DASH] = ACTIONS(1203),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1203),
-    [anon_sym_sizeof] = ACTIONS(1201),
-    [anon_sym___alignof__] = ACTIONS(1201),
-    [anon_sym___alignof] = ACTIONS(1201),
-    [anon_sym__alignof] = ACTIONS(1201),
-    [anon_sym_alignof] = ACTIONS(1201),
-    [anon_sym__Alignof] = ACTIONS(1201),
-    [anon_sym_offsetof] = ACTIONS(1201),
-    [anon_sym__Generic] = ACTIONS(1201),
-    [anon_sym_asm] = ACTIONS(1201),
-    [anon_sym___asm__] = ACTIONS(1201),
-    [anon_sym___asm] = ACTIONS(1201),
-    [sym_number_literal] = ACTIONS(1203),
-    [anon_sym_L_SQUOTE] = ACTIONS(1203),
-    [anon_sym_u_SQUOTE] = ACTIONS(1203),
-    [anon_sym_U_SQUOTE] = ACTIONS(1203),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1203),
-    [anon_sym_SQUOTE] = ACTIONS(1203),
-    [anon_sym_L_DQUOTE] = ACTIONS(1203),
-    [anon_sym_u_DQUOTE] = ACTIONS(1203),
-    [anon_sym_U_DQUOTE] = ACTIONS(1203),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1203),
-    [anon_sym_DQUOTE] = ACTIONS(1203),
-    [sym_true] = ACTIONS(1201),
-    [sym_false] = ACTIONS(1201),
-    [anon_sym_NULL] = ACTIONS(1201),
-    [anon_sym_nullptr] = ACTIONS(1201),
+    [sym_identifier] = ACTIONS(1198),
+    [aux_sym_preproc_include_token1] = ACTIONS(1198),
+    [aux_sym_preproc_def_token1] = ACTIONS(1198),
+    [aux_sym_preproc_if_token1] = ACTIONS(1198),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1198),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1198),
+    [sym_preproc_directive] = ACTIONS(1198),
+    [anon_sym_LPAREN2] = ACTIONS(1200),
+    [anon_sym_BANG] = ACTIONS(1200),
+    [anon_sym_TILDE] = ACTIONS(1200),
+    [anon_sym_DASH] = ACTIONS(1198),
+    [anon_sym_PLUS] = ACTIONS(1198),
+    [anon_sym_STAR] = ACTIONS(1200),
+    [anon_sym_AMP] = ACTIONS(1200),
+    [anon_sym_SEMI] = ACTIONS(1200),
+    [anon_sym___extension__] = ACTIONS(1198),
+    [anon_sym_typedef] = ACTIONS(1198),
+    [anon_sym_extern] = ACTIONS(1198),
+    [anon_sym___attribute__] = ACTIONS(1198),
+    [anon_sym___attribute] = ACTIONS(1198),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1200),
+    [anon_sym___declspec] = ACTIONS(1198),
+    [anon_sym___cdecl] = ACTIONS(1198),
+    [anon_sym___clrcall] = ACTIONS(1198),
+    [anon_sym___stdcall] = ACTIONS(1198),
+    [anon_sym___fastcall] = ACTIONS(1198),
+    [anon_sym___thiscall] = ACTIONS(1198),
+    [anon_sym___vectorcall] = ACTIONS(1198),
+    [anon_sym_LBRACE] = ACTIONS(1200),
+    [anon_sym_RBRACE] = ACTIONS(1200),
+    [anon_sym_signed] = ACTIONS(1198),
+    [anon_sym_unsigned] = ACTIONS(1198),
+    [anon_sym_long] = ACTIONS(1198),
+    [anon_sym_short] = ACTIONS(1198),
+    [anon_sym_static] = ACTIONS(1198),
+    [anon_sym_auto] = ACTIONS(1198),
+    [anon_sym_register] = ACTIONS(1198),
+    [anon_sym_inline] = ACTIONS(1198),
+    [anon_sym___inline] = ACTIONS(1198),
+    [anon_sym___inline__] = ACTIONS(1198),
+    [anon_sym___forceinline] = ACTIONS(1198),
+    [anon_sym_thread_local] = ACTIONS(1198),
+    [anon_sym___thread] = ACTIONS(1198),
+    [anon_sym_const] = ACTIONS(1198),
+    [anon_sym_constexpr] = ACTIONS(1198),
+    [anon_sym_volatile] = ACTIONS(1198),
+    [anon_sym_restrict] = ACTIONS(1198),
+    [anon_sym___restrict__] = ACTIONS(1198),
+    [anon_sym__Atomic] = ACTIONS(1198),
+    [anon_sym__Noreturn] = ACTIONS(1198),
+    [anon_sym_noreturn] = ACTIONS(1198),
+    [anon_sym__Nonnull] = ACTIONS(1198),
+    [anon_sym_alignas] = ACTIONS(1198),
+    [anon_sym__Alignas] = ACTIONS(1198),
+    [sym_primitive_type] = ACTIONS(1198),
+    [anon_sym_enum] = ACTIONS(1198),
+    [anon_sym_struct] = ACTIONS(1198),
+    [anon_sym_union] = ACTIONS(1198),
+    [anon_sym_if] = ACTIONS(1198),
+    [anon_sym_else] = ACTIONS(1198),
+    [anon_sym_switch] = ACTIONS(1198),
+    [anon_sym_case] = ACTIONS(1198),
+    [anon_sym_default] = ACTIONS(1198),
+    [anon_sym_while] = ACTIONS(1198),
+    [anon_sym_do] = ACTIONS(1198),
+    [anon_sym_for] = ACTIONS(1198),
+    [anon_sym_return] = ACTIONS(1198),
+    [anon_sym_break] = ACTIONS(1198),
+    [anon_sym_continue] = ACTIONS(1198),
+    [anon_sym_goto] = ACTIONS(1198),
+    [anon_sym___try] = ACTIONS(1198),
+    [anon_sym___leave] = ACTIONS(1198),
+    [anon_sym_DASH_DASH] = ACTIONS(1200),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1200),
+    [anon_sym_sizeof] = ACTIONS(1198),
+    [anon_sym___alignof__] = ACTIONS(1198),
+    [anon_sym___alignof] = ACTIONS(1198),
+    [anon_sym__alignof] = ACTIONS(1198),
+    [anon_sym_alignof] = ACTIONS(1198),
+    [anon_sym__Alignof] = ACTIONS(1198),
+    [anon_sym_offsetof] = ACTIONS(1198),
+    [anon_sym__Generic] = ACTIONS(1198),
+    [anon_sym_asm] = ACTIONS(1198),
+    [anon_sym___asm__] = ACTIONS(1198),
+    [anon_sym___asm] = ACTIONS(1198),
+    [sym_number_literal] = ACTIONS(1200),
+    [anon_sym_L_SQUOTE] = ACTIONS(1200),
+    [anon_sym_u_SQUOTE] = ACTIONS(1200),
+    [anon_sym_U_SQUOTE] = ACTIONS(1200),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1200),
+    [anon_sym_SQUOTE] = ACTIONS(1200),
+    [anon_sym_L_DQUOTE] = ACTIONS(1200),
+    [anon_sym_u_DQUOTE] = ACTIONS(1200),
+    [anon_sym_U_DQUOTE] = ACTIONS(1200),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1200),
+    [anon_sym_DQUOTE] = ACTIONS(1200),
+    [sym_true] = ACTIONS(1198),
+    [sym_false] = ACTIONS(1198),
+    [anon_sym_NULL] = ACTIONS(1198),
+    [anon_sym_nullptr] = ACTIONS(1198),
     [sym_comment] = ACTIONS(3),
   },
   [255] = {
-    [ts_builtin_sym_end] = ACTIONS(1207),
-    [sym_identifier] = ACTIONS(1205),
-    [aux_sym_preproc_include_token1] = ACTIONS(1205),
-    [aux_sym_preproc_def_token1] = ACTIONS(1205),
-    [aux_sym_preproc_if_token1] = ACTIONS(1205),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1205),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1205),
-    [sym_preproc_directive] = ACTIONS(1205),
-    [anon_sym_LPAREN2] = ACTIONS(1207),
-    [anon_sym_BANG] = ACTIONS(1207),
-    [anon_sym_TILDE] = ACTIONS(1207),
-    [anon_sym_DASH] = ACTIONS(1205),
-    [anon_sym_PLUS] = ACTIONS(1205),
-    [anon_sym_STAR] = ACTIONS(1207),
-    [anon_sym_AMP] = ACTIONS(1207),
-    [anon_sym_SEMI] = ACTIONS(1207),
-    [anon_sym___extension__] = ACTIONS(1205),
-    [anon_sym_typedef] = ACTIONS(1205),
-    [anon_sym_extern] = ACTIONS(1205),
-    [anon_sym___attribute__] = ACTIONS(1205),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1207),
-    [anon_sym___declspec] = ACTIONS(1205),
-    [anon_sym___cdecl] = ACTIONS(1205),
-    [anon_sym___clrcall] = ACTIONS(1205),
-    [anon_sym___stdcall] = ACTIONS(1205),
-    [anon_sym___fastcall] = ACTIONS(1205),
-    [anon_sym___thiscall] = ACTIONS(1205),
-    [anon_sym___vectorcall] = ACTIONS(1205),
-    [anon_sym_LBRACE] = ACTIONS(1207),
-    [anon_sym_signed] = ACTIONS(1205),
-    [anon_sym_unsigned] = ACTIONS(1205),
-    [anon_sym_long] = ACTIONS(1205),
-    [anon_sym_short] = ACTIONS(1205),
-    [anon_sym_static] = ACTIONS(1205),
-    [anon_sym_auto] = ACTIONS(1205),
-    [anon_sym_register] = ACTIONS(1205),
-    [anon_sym_inline] = ACTIONS(1205),
-    [anon_sym___inline] = ACTIONS(1205),
-    [anon_sym___inline__] = ACTIONS(1205),
-    [anon_sym___forceinline] = ACTIONS(1205),
-    [anon_sym_thread_local] = ACTIONS(1205),
-    [anon_sym___thread] = ACTIONS(1205),
-    [anon_sym_const] = ACTIONS(1205),
-    [anon_sym_constexpr] = ACTIONS(1205),
-    [anon_sym_volatile] = ACTIONS(1205),
-    [anon_sym_restrict] = ACTIONS(1205),
-    [anon_sym___restrict__] = ACTIONS(1205),
-    [anon_sym__Atomic] = ACTIONS(1205),
-    [anon_sym__Noreturn] = ACTIONS(1205),
-    [anon_sym_noreturn] = ACTIONS(1205),
-    [anon_sym__Nonnull] = ACTIONS(1205),
-    [anon_sym_alignas] = ACTIONS(1205),
-    [anon_sym__Alignas] = ACTIONS(1205),
-    [sym_primitive_type] = ACTIONS(1205),
-    [anon_sym_enum] = ACTIONS(1205),
-    [anon_sym_struct] = ACTIONS(1205),
-    [anon_sym_union] = ACTIONS(1205),
-    [anon_sym_if] = ACTIONS(1205),
-    [anon_sym_else] = ACTIONS(1205),
-    [anon_sym_switch] = ACTIONS(1205),
-    [anon_sym_case] = ACTIONS(1205),
-    [anon_sym_default] = ACTIONS(1205),
-    [anon_sym_while] = ACTIONS(1205),
-    [anon_sym_do] = ACTIONS(1205),
-    [anon_sym_for] = ACTIONS(1205),
-    [anon_sym_return] = ACTIONS(1205),
-    [anon_sym_break] = ACTIONS(1205),
-    [anon_sym_continue] = ACTIONS(1205),
-    [anon_sym_goto] = ACTIONS(1205),
-    [anon_sym___try] = ACTIONS(1205),
-    [anon_sym___leave] = ACTIONS(1205),
-    [anon_sym_DASH_DASH] = ACTIONS(1207),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1207),
-    [anon_sym_sizeof] = ACTIONS(1205),
-    [anon_sym___alignof__] = ACTIONS(1205),
-    [anon_sym___alignof] = ACTIONS(1205),
-    [anon_sym__alignof] = ACTIONS(1205),
-    [anon_sym_alignof] = ACTIONS(1205),
-    [anon_sym__Alignof] = ACTIONS(1205),
-    [anon_sym_offsetof] = ACTIONS(1205),
-    [anon_sym__Generic] = ACTIONS(1205),
-    [anon_sym_asm] = ACTIONS(1205),
-    [anon_sym___asm__] = ACTIONS(1205),
-    [anon_sym___asm] = ACTIONS(1205),
-    [sym_number_literal] = ACTIONS(1207),
-    [anon_sym_L_SQUOTE] = ACTIONS(1207),
-    [anon_sym_u_SQUOTE] = ACTIONS(1207),
-    [anon_sym_U_SQUOTE] = ACTIONS(1207),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1207),
-    [anon_sym_SQUOTE] = ACTIONS(1207),
-    [anon_sym_L_DQUOTE] = ACTIONS(1207),
-    [anon_sym_u_DQUOTE] = ACTIONS(1207),
-    [anon_sym_U_DQUOTE] = ACTIONS(1207),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1207),
-    [anon_sym_DQUOTE] = ACTIONS(1207),
-    [sym_true] = ACTIONS(1205),
-    [sym_false] = ACTIONS(1205),
-    [anon_sym_NULL] = ACTIONS(1205),
-    [anon_sym_nullptr] = ACTIONS(1205),
+    [ts_builtin_sym_end] = ACTIONS(1180),
+    [sym_identifier] = ACTIONS(1178),
+    [aux_sym_preproc_include_token1] = ACTIONS(1178),
+    [aux_sym_preproc_def_token1] = ACTIONS(1178),
+    [aux_sym_preproc_if_token1] = ACTIONS(1178),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1178),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1178),
+    [sym_preproc_directive] = ACTIONS(1178),
+    [anon_sym_LPAREN2] = ACTIONS(1180),
+    [anon_sym_BANG] = ACTIONS(1180),
+    [anon_sym_TILDE] = ACTIONS(1180),
+    [anon_sym_DASH] = ACTIONS(1178),
+    [anon_sym_PLUS] = ACTIONS(1178),
+    [anon_sym_STAR] = ACTIONS(1180),
+    [anon_sym_AMP] = ACTIONS(1180),
+    [anon_sym_SEMI] = ACTIONS(1180),
+    [anon_sym___extension__] = ACTIONS(1178),
+    [anon_sym_typedef] = ACTIONS(1178),
+    [anon_sym_extern] = ACTIONS(1178),
+    [anon_sym___attribute__] = ACTIONS(1178),
+    [anon_sym___attribute] = ACTIONS(1178),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1180),
+    [anon_sym___declspec] = ACTIONS(1178),
+    [anon_sym___cdecl] = ACTIONS(1178),
+    [anon_sym___clrcall] = ACTIONS(1178),
+    [anon_sym___stdcall] = ACTIONS(1178),
+    [anon_sym___fastcall] = ACTIONS(1178),
+    [anon_sym___thiscall] = ACTIONS(1178),
+    [anon_sym___vectorcall] = ACTIONS(1178),
+    [anon_sym_LBRACE] = ACTIONS(1180),
+    [anon_sym_signed] = ACTIONS(1178),
+    [anon_sym_unsigned] = ACTIONS(1178),
+    [anon_sym_long] = ACTIONS(1178),
+    [anon_sym_short] = ACTIONS(1178),
+    [anon_sym_static] = ACTIONS(1178),
+    [anon_sym_auto] = ACTIONS(1178),
+    [anon_sym_register] = ACTIONS(1178),
+    [anon_sym_inline] = ACTIONS(1178),
+    [anon_sym___inline] = ACTIONS(1178),
+    [anon_sym___inline__] = ACTIONS(1178),
+    [anon_sym___forceinline] = ACTIONS(1178),
+    [anon_sym_thread_local] = ACTIONS(1178),
+    [anon_sym___thread] = ACTIONS(1178),
+    [anon_sym_const] = ACTIONS(1178),
+    [anon_sym_constexpr] = ACTIONS(1178),
+    [anon_sym_volatile] = ACTIONS(1178),
+    [anon_sym_restrict] = ACTIONS(1178),
+    [anon_sym___restrict__] = ACTIONS(1178),
+    [anon_sym__Atomic] = ACTIONS(1178),
+    [anon_sym__Noreturn] = ACTIONS(1178),
+    [anon_sym_noreturn] = ACTIONS(1178),
+    [anon_sym__Nonnull] = ACTIONS(1178),
+    [anon_sym_alignas] = ACTIONS(1178),
+    [anon_sym__Alignas] = ACTIONS(1178),
+    [sym_primitive_type] = ACTIONS(1178),
+    [anon_sym_enum] = ACTIONS(1178),
+    [anon_sym_struct] = ACTIONS(1178),
+    [anon_sym_union] = ACTIONS(1178),
+    [anon_sym_if] = ACTIONS(1178),
+    [anon_sym_else] = ACTIONS(1178),
+    [anon_sym_switch] = ACTIONS(1178),
+    [anon_sym_case] = ACTIONS(1178),
+    [anon_sym_default] = ACTIONS(1178),
+    [anon_sym_while] = ACTIONS(1178),
+    [anon_sym_do] = ACTIONS(1178),
+    [anon_sym_for] = ACTIONS(1178),
+    [anon_sym_return] = ACTIONS(1178),
+    [anon_sym_break] = ACTIONS(1178),
+    [anon_sym_continue] = ACTIONS(1178),
+    [anon_sym_goto] = ACTIONS(1178),
+    [anon_sym___try] = ACTIONS(1178),
+    [anon_sym___leave] = ACTIONS(1178),
+    [anon_sym_DASH_DASH] = ACTIONS(1180),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1180),
+    [anon_sym_sizeof] = ACTIONS(1178),
+    [anon_sym___alignof__] = ACTIONS(1178),
+    [anon_sym___alignof] = ACTIONS(1178),
+    [anon_sym__alignof] = ACTIONS(1178),
+    [anon_sym_alignof] = ACTIONS(1178),
+    [anon_sym__Alignof] = ACTIONS(1178),
+    [anon_sym_offsetof] = ACTIONS(1178),
+    [anon_sym__Generic] = ACTIONS(1178),
+    [anon_sym_asm] = ACTIONS(1178),
+    [anon_sym___asm__] = ACTIONS(1178),
+    [anon_sym___asm] = ACTIONS(1178),
+    [sym_number_literal] = ACTIONS(1180),
+    [anon_sym_L_SQUOTE] = ACTIONS(1180),
+    [anon_sym_u_SQUOTE] = ACTIONS(1180),
+    [anon_sym_U_SQUOTE] = ACTIONS(1180),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1180),
+    [anon_sym_SQUOTE] = ACTIONS(1180),
+    [anon_sym_L_DQUOTE] = ACTIONS(1180),
+    [anon_sym_u_DQUOTE] = ACTIONS(1180),
+    [anon_sym_U_DQUOTE] = ACTIONS(1180),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1180),
+    [anon_sym_DQUOTE] = ACTIONS(1180),
+    [sym_true] = ACTIONS(1178),
+    [sym_false] = ACTIONS(1178),
+    [anon_sym_NULL] = ACTIONS(1178),
+    [anon_sym_nullptr] = ACTIONS(1178),
     [sym_comment] = ACTIONS(3),
   },
   [256] = {
-    [sym_identifier] = ACTIONS(1213),
-    [aux_sym_preproc_include_token1] = ACTIONS(1213),
-    [aux_sym_preproc_def_token1] = ACTIONS(1213),
-    [aux_sym_preproc_if_token1] = ACTIONS(1213),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1213),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1213),
-    [sym_preproc_directive] = ACTIONS(1213),
-    [anon_sym_LPAREN2] = ACTIONS(1215),
-    [anon_sym_BANG] = ACTIONS(1215),
-    [anon_sym_TILDE] = ACTIONS(1215),
-    [anon_sym_DASH] = ACTIONS(1213),
-    [anon_sym_PLUS] = ACTIONS(1213),
-    [anon_sym_STAR] = ACTIONS(1215),
-    [anon_sym_AMP] = ACTIONS(1215),
-    [anon_sym_SEMI] = ACTIONS(1215),
-    [anon_sym___extension__] = ACTIONS(1213),
-    [anon_sym_typedef] = ACTIONS(1213),
-    [anon_sym_extern] = ACTIONS(1213),
-    [anon_sym___attribute__] = ACTIONS(1213),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1215),
-    [anon_sym___declspec] = ACTIONS(1213),
-    [anon_sym___cdecl] = ACTIONS(1213),
-    [anon_sym___clrcall] = ACTIONS(1213),
-    [anon_sym___stdcall] = ACTIONS(1213),
-    [anon_sym___fastcall] = ACTIONS(1213),
-    [anon_sym___thiscall] = ACTIONS(1213),
-    [anon_sym___vectorcall] = ACTIONS(1213),
-    [anon_sym_LBRACE] = ACTIONS(1215),
-    [anon_sym_RBRACE] = ACTIONS(1215),
-    [anon_sym_signed] = ACTIONS(1213),
-    [anon_sym_unsigned] = ACTIONS(1213),
-    [anon_sym_long] = ACTIONS(1213),
-    [anon_sym_short] = ACTIONS(1213),
-    [anon_sym_static] = ACTIONS(1213),
-    [anon_sym_auto] = ACTIONS(1213),
-    [anon_sym_register] = ACTIONS(1213),
-    [anon_sym_inline] = ACTIONS(1213),
-    [anon_sym___inline] = ACTIONS(1213),
-    [anon_sym___inline__] = ACTIONS(1213),
-    [anon_sym___forceinline] = ACTIONS(1213),
-    [anon_sym_thread_local] = ACTIONS(1213),
-    [anon_sym___thread] = ACTIONS(1213),
-    [anon_sym_const] = ACTIONS(1213),
-    [anon_sym_constexpr] = ACTIONS(1213),
-    [anon_sym_volatile] = ACTIONS(1213),
-    [anon_sym_restrict] = ACTIONS(1213),
-    [anon_sym___restrict__] = ACTIONS(1213),
-    [anon_sym__Atomic] = ACTIONS(1213),
-    [anon_sym__Noreturn] = ACTIONS(1213),
-    [anon_sym_noreturn] = ACTIONS(1213),
-    [anon_sym__Nonnull] = ACTIONS(1213),
-    [anon_sym_alignas] = ACTIONS(1213),
-    [anon_sym__Alignas] = ACTIONS(1213),
-    [sym_primitive_type] = ACTIONS(1213),
-    [anon_sym_enum] = ACTIONS(1213),
-    [anon_sym_struct] = ACTIONS(1213),
-    [anon_sym_union] = ACTIONS(1213),
-    [anon_sym_if] = ACTIONS(1213),
-    [anon_sym_else] = ACTIONS(1213),
-    [anon_sym_switch] = ACTIONS(1213),
-    [anon_sym_case] = ACTIONS(1213),
-    [anon_sym_default] = ACTIONS(1213),
-    [anon_sym_while] = ACTIONS(1213),
-    [anon_sym_do] = ACTIONS(1213),
-    [anon_sym_for] = ACTIONS(1213),
-    [anon_sym_return] = ACTIONS(1213),
-    [anon_sym_break] = ACTIONS(1213),
-    [anon_sym_continue] = ACTIONS(1213),
-    [anon_sym_goto] = ACTIONS(1213),
-    [anon_sym___try] = ACTIONS(1213),
-    [anon_sym___leave] = ACTIONS(1213),
-    [anon_sym_DASH_DASH] = ACTIONS(1215),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1215),
-    [anon_sym_sizeof] = ACTIONS(1213),
-    [anon_sym___alignof__] = ACTIONS(1213),
-    [anon_sym___alignof] = ACTIONS(1213),
-    [anon_sym__alignof] = ACTIONS(1213),
-    [anon_sym_alignof] = ACTIONS(1213),
-    [anon_sym__Alignof] = ACTIONS(1213),
-    [anon_sym_offsetof] = ACTIONS(1213),
-    [anon_sym__Generic] = ACTIONS(1213),
-    [anon_sym_asm] = ACTIONS(1213),
-    [anon_sym___asm__] = ACTIONS(1213),
-    [anon_sym___asm] = ACTIONS(1213),
-    [sym_number_literal] = ACTIONS(1215),
-    [anon_sym_L_SQUOTE] = ACTIONS(1215),
-    [anon_sym_u_SQUOTE] = ACTIONS(1215),
-    [anon_sym_U_SQUOTE] = ACTIONS(1215),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1215),
-    [anon_sym_SQUOTE] = ACTIONS(1215),
-    [anon_sym_L_DQUOTE] = ACTIONS(1215),
-    [anon_sym_u_DQUOTE] = ACTIONS(1215),
-    [anon_sym_U_DQUOTE] = ACTIONS(1215),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1215),
-    [anon_sym_DQUOTE] = ACTIONS(1215),
-    [sym_true] = ACTIONS(1213),
-    [sym_false] = ACTIONS(1213),
-    [anon_sym_NULL] = ACTIONS(1213),
-    [anon_sym_nullptr] = ACTIONS(1213),
+    [sym_identifier] = ACTIONS(1194),
+    [aux_sym_preproc_include_token1] = ACTIONS(1194),
+    [aux_sym_preproc_def_token1] = ACTIONS(1194),
+    [aux_sym_preproc_if_token1] = ACTIONS(1194),
+    [aux_sym_preproc_if_token2] = ACTIONS(1194),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1194),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1194),
+    [sym_preproc_directive] = ACTIONS(1194),
+    [anon_sym_LPAREN2] = ACTIONS(1196),
+    [anon_sym_BANG] = ACTIONS(1196),
+    [anon_sym_TILDE] = ACTIONS(1196),
+    [anon_sym_DASH] = ACTIONS(1194),
+    [anon_sym_PLUS] = ACTIONS(1194),
+    [anon_sym_STAR] = ACTIONS(1196),
+    [anon_sym_AMP] = ACTIONS(1196),
+    [anon_sym_SEMI] = ACTIONS(1196),
+    [anon_sym___extension__] = ACTIONS(1194),
+    [anon_sym_typedef] = ACTIONS(1194),
+    [anon_sym_extern] = ACTIONS(1194),
+    [anon_sym___attribute__] = ACTIONS(1194),
+    [anon_sym___attribute] = ACTIONS(1194),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1196),
+    [anon_sym___declspec] = ACTIONS(1194),
+    [anon_sym___cdecl] = ACTIONS(1194),
+    [anon_sym___clrcall] = ACTIONS(1194),
+    [anon_sym___stdcall] = ACTIONS(1194),
+    [anon_sym___fastcall] = ACTIONS(1194),
+    [anon_sym___thiscall] = ACTIONS(1194),
+    [anon_sym___vectorcall] = ACTIONS(1194),
+    [anon_sym_LBRACE] = ACTIONS(1196),
+    [anon_sym_signed] = ACTIONS(1194),
+    [anon_sym_unsigned] = ACTIONS(1194),
+    [anon_sym_long] = ACTIONS(1194),
+    [anon_sym_short] = ACTIONS(1194),
+    [anon_sym_static] = ACTIONS(1194),
+    [anon_sym_auto] = ACTIONS(1194),
+    [anon_sym_register] = ACTIONS(1194),
+    [anon_sym_inline] = ACTIONS(1194),
+    [anon_sym___inline] = ACTIONS(1194),
+    [anon_sym___inline__] = ACTIONS(1194),
+    [anon_sym___forceinline] = ACTIONS(1194),
+    [anon_sym_thread_local] = ACTIONS(1194),
+    [anon_sym___thread] = ACTIONS(1194),
+    [anon_sym_const] = ACTIONS(1194),
+    [anon_sym_constexpr] = ACTIONS(1194),
+    [anon_sym_volatile] = ACTIONS(1194),
+    [anon_sym_restrict] = ACTIONS(1194),
+    [anon_sym___restrict__] = ACTIONS(1194),
+    [anon_sym__Atomic] = ACTIONS(1194),
+    [anon_sym__Noreturn] = ACTIONS(1194),
+    [anon_sym_noreturn] = ACTIONS(1194),
+    [anon_sym__Nonnull] = ACTIONS(1194),
+    [anon_sym_alignas] = ACTIONS(1194),
+    [anon_sym__Alignas] = ACTIONS(1194),
+    [sym_primitive_type] = ACTIONS(1194),
+    [anon_sym_enum] = ACTIONS(1194),
+    [anon_sym_struct] = ACTIONS(1194),
+    [anon_sym_union] = ACTIONS(1194),
+    [anon_sym_if] = ACTIONS(1194),
+    [anon_sym_else] = ACTIONS(1194),
+    [anon_sym_switch] = ACTIONS(1194),
+    [anon_sym_case] = ACTIONS(1194),
+    [anon_sym_default] = ACTIONS(1194),
+    [anon_sym_while] = ACTIONS(1194),
+    [anon_sym_do] = ACTIONS(1194),
+    [anon_sym_for] = ACTIONS(1194),
+    [anon_sym_return] = ACTIONS(1194),
+    [anon_sym_break] = ACTIONS(1194),
+    [anon_sym_continue] = ACTIONS(1194),
+    [anon_sym_goto] = ACTIONS(1194),
+    [anon_sym___try] = ACTIONS(1194),
+    [anon_sym___leave] = ACTIONS(1194),
+    [anon_sym_DASH_DASH] = ACTIONS(1196),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1196),
+    [anon_sym_sizeof] = ACTIONS(1194),
+    [anon_sym___alignof__] = ACTIONS(1194),
+    [anon_sym___alignof] = ACTIONS(1194),
+    [anon_sym__alignof] = ACTIONS(1194),
+    [anon_sym_alignof] = ACTIONS(1194),
+    [anon_sym__Alignof] = ACTIONS(1194),
+    [anon_sym_offsetof] = ACTIONS(1194),
+    [anon_sym__Generic] = ACTIONS(1194),
+    [anon_sym_asm] = ACTIONS(1194),
+    [anon_sym___asm__] = ACTIONS(1194),
+    [anon_sym___asm] = ACTIONS(1194),
+    [sym_number_literal] = ACTIONS(1196),
+    [anon_sym_L_SQUOTE] = ACTIONS(1196),
+    [anon_sym_u_SQUOTE] = ACTIONS(1196),
+    [anon_sym_U_SQUOTE] = ACTIONS(1196),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1196),
+    [anon_sym_SQUOTE] = ACTIONS(1196),
+    [anon_sym_L_DQUOTE] = ACTIONS(1196),
+    [anon_sym_u_DQUOTE] = ACTIONS(1196),
+    [anon_sym_U_DQUOTE] = ACTIONS(1196),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1196),
+    [anon_sym_DQUOTE] = ACTIONS(1196),
+    [sym_true] = ACTIONS(1194),
+    [sym_false] = ACTIONS(1194),
+    [anon_sym_NULL] = ACTIONS(1194),
+    [anon_sym_nullptr] = ACTIONS(1194),
     [sym_comment] = ACTIONS(3),
   },
   [257] = {
-    [sym_identifier] = ACTIONS(1325),
-    [aux_sym_preproc_include_token1] = ACTIONS(1325),
-    [aux_sym_preproc_def_token1] = ACTIONS(1325),
-    [aux_sym_preproc_if_token1] = ACTIONS(1325),
-    [aux_sym_preproc_if_token2] = ACTIONS(1325),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1325),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1325),
-    [sym_preproc_directive] = ACTIONS(1325),
-    [anon_sym_LPAREN2] = ACTIONS(1327),
-    [anon_sym_BANG] = ACTIONS(1327),
-    [anon_sym_TILDE] = ACTIONS(1327),
-    [anon_sym_DASH] = ACTIONS(1325),
-    [anon_sym_PLUS] = ACTIONS(1325),
-    [anon_sym_STAR] = ACTIONS(1327),
-    [anon_sym_AMP] = ACTIONS(1327),
-    [anon_sym_SEMI] = ACTIONS(1327),
-    [anon_sym___extension__] = ACTIONS(1325),
-    [anon_sym_typedef] = ACTIONS(1325),
-    [anon_sym_extern] = ACTIONS(1325),
-    [anon_sym___attribute__] = ACTIONS(1325),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1327),
-    [anon_sym___declspec] = ACTIONS(1325),
-    [anon_sym___cdecl] = ACTIONS(1325),
-    [anon_sym___clrcall] = ACTIONS(1325),
-    [anon_sym___stdcall] = ACTIONS(1325),
-    [anon_sym___fastcall] = ACTIONS(1325),
-    [anon_sym___thiscall] = ACTIONS(1325),
-    [anon_sym___vectorcall] = ACTIONS(1325),
-    [anon_sym_LBRACE] = ACTIONS(1327),
-    [anon_sym_signed] = ACTIONS(1325),
-    [anon_sym_unsigned] = ACTIONS(1325),
-    [anon_sym_long] = ACTIONS(1325),
-    [anon_sym_short] = ACTIONS(1325),
-    [anon_sym_static] = ACTIONS(1325),
-    [anon_sym_auto] = ACTIONS(1325),
-    [anon_sym_register] = ACTIONS(1325),
-    [anon_sym_inline] = ACTIONS(1325),
-    [anon_sym___inline] = ACTIONS(1325),
-    [anon_sym___inline__] = ACTIONS(1325),
-    [anon_sym___forceinline] = ACTIONS(1325),
-    [anon_sym_thread_local] = ACTIONS(1325),
-    [anon_sym___thread] = ACTIONS(1325),
-    [anon_sym_const] = ACTIONS(1325),
-    [anon_sym_constexpr] = ACTIONS(1325),
-    [anon_sym_volatile] = ACTIONS(1325),
-    [anon_sym_restrict] = ACTIONS(1325),
-    [anon_sym___restrict__] = ACTIONS(1325),
-    [anon_sym__Atomic] = ACTIONS(1325),
-    [anon_sym__Noreturn] = ACTIONS(1325),
-    [anon_sym_noreturn] = ACTIONS(1325),
-    [anon_sym__Nonnull] = ACTIONS(1325),
-    [anon_sym_alignas] = ACTIONS(1325),
-    [anon_sym__Alignas] = ACTIONS(1325),
-    [sym_primitive_type] = ACTIONS(1325),
-    [anon_sym_enum] = ACTIONS(1325),
-    [anon_sym_struct] = ACTIONS(1325),
-    [anon_sym_union] = ACTIONS(1325),
-    [anon_sym_if] = ACTIONS(1325),
-    [anon_sym_switch] = ACTIONS(1325),
-    [anon_sym_case] = ACTIONS(1325),
-    [anon_sym_default] = ACTIONS(1325),
-    [anon_sym_while] = ACTIONS(1325),
-    [anon_sym_do] = ACTIONS(1325),
-    [anon_sym_for] = ACTIONS(1325),
-    [anon_sym_return] = ACTIONS(1325),
-    [anon_sym_break] = ACTIONS(1325),
-    [anon_sym_continue] = ACTIONS(1325),
-    [anon_sym_goto] = ACTIONS(1325),
-    [anon_sym___try] = ACTIONS(1325),
-    [anon_sym___leave] = ACTIONS(1325),
-    [anon_sym_DASH_DASH] = ACTIONS(1327),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1327),
-    [anon_sym_sizeof] = ACTIONS(1325),
-    [anon_sym___alignof__] = ACTIONS(1325),
-    [anon_sym___alignof] = ACTIONS(1325),
-    [anon_sym__alignof] = ACTIONS(1325),
-    [anon_sym_alignof] = ACTIONS(1325),
-    [anon_sym__Alignof] = ACTIONS(1325),
-    [anon_sym_offsetof] = ACTIONS(1325),
-    [anon_sym__Generic] = ACTIONS(1325),
-    [anon_sym_asm] = ACTIONS(1325),
-    [anon_sym___asm__] = ACTIONS(1325),
-    [anon_sym___asm] = ACTIONS(1325),
-    [sym_number_literal] = ACTIONS(1327),
-    [anon_sym_L_SQUOTE] = ACTIONS(1327),
-    [anon_sym_u_SQUOTE] = ACTIONS(1327),
-    [anon_sym_U_SQUOTE] = ACTIONS(1327),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1327),
-    [anon_sym_SQUOTE] = ACTIONS(1327),
-    [anon_sym_L_DQUOTE] = ACTIONS(1327),
-    [anon_sym_u_DQUOTE] = ACTIONS(1327),
-    [anon_sym_U_DQUOTE] = ACTIONS(1327),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1327),
-    [anon_sym_DQUOTE] = ACTIONS(1327),
-    [sym_true] = ACTIONS(1325),
-    [sym_false] = ACTIONS(1325),
-    [anon_sym_NULL] = ACTIONS(1325),
-    [anon_sym_nullptr] = ACTIONS(1325),
+    [ts_builtin_sym_end] = ACTIONS(1370),
+    [sym_identifier] = ACTIONS(1368),
+    [aux_sym_preproc_include_token1] = ACTIONS(1368),
+    [aux_sym_preproc_def_token1] = ACTIONS(1368),
+    [anon_sym_COMMA] = ACTIONS(1370),
+    [aux_sym_preproc_if_token1] = ACTIONS(1368),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1368),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1368),
+    [sym_preproc_directive] = ACTIONS(1368),
+    [anon_sym_LPAREN2] = ACTIONS(1370),
+    [anon_sym_BANG] = ACTIONS(1370),
+    [anon_sym_TILDE] = ACTIONS(1370),
+    [anon_sym_DASH] = ACTIONS(1368),
+    [anon_sym_PLUS] = ACTIONS(1368),
+    [anon_sym_STAR] = ACTIONS(1370),
+    [anon_sym_AMP] = ACTIONS(1370),
+    [anon_sym_SEMI] = ACTIONS(1370),
+    [anon_sym___extension__] = ACTIONS(1368),
+    [anon_sym_typedef] = ACTIONS(1368),
+    [anon_sym_extern] = ACTIONS(1368),
+    [anon_sym___attribute__] = ACTIONS(1368),
+    [anon_sym___attribute] = ACTIONS(1368),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1370),
+    [anon_sym___declspec] = ACTIONS(1368),
+    [anon_sym___cdecl] = ACTIONS(1368),
+    [anon_sym___clrcall] = ACTIONS(1368),
+    [anon_sym___stdcall] = ACTIONS(1368),
+    [anon_sym___fastcall] = ACTIONS(1368),
+    [anon_sym___thiscall] = ACTIONS(1368),
+    [anon_sym___vectorcall] = ACTIONS(1368),
+    [anon_sym_LBRACE] = ACTIONS(1370),
+    [anon_sym_RBRACE] = ACTIONS(1370),
+    [anon_sym_signed] = ACTIONS(1368),
+    [anon_sym_unsigned] = ACTIONS(1368),
+    [anon_sym_long] = ACTIONS(1368),
+    [anon_sym_short] = ACTIONS(1368),
+    [anon_sym_static] = ACTIONS(1368),
+    [anon_sym_auto] = ACTIONS(1368),
+    [anon_sym_register] = ACTIONS(1368),
+    [anon_sym_inline] = ACTIONS(1368),
+    [anon_sym___inline] = ACTIONS(1368),
+    [anon_sym___inline__] = ACTIONS(1368),
+    [anon_sym___forceinline] = ACTIONS(1368),
+    [anon_sym_thread_local] = ACTIONS(1368),
+    [anon_sym___thread] = ACTIONS(1368),
+    [anon_sym_const] = ACTIONS(1368),
+    [anon_sym_constexpr] = ACTIONS(1368),
+    [anon_sym_volatile] = ACTIONS(1368),
+    [anon_sym_restrict] = ACTIONS(1368),
+    [anon_sym___restrict__] = ACTIONS(1368),
+    [anon_sym__Atomic] = ACTIONS(1368),
+    [anon_sym__Noreturn] = ACTIONS(1368),
+    [anon_sym_noreturn] = ACTIONS(1368),
+    [anon_sym__Nonnull] = ACTIONS(1368),
+    [anon_sym_alignas] = ACTIONS(1368),
+    [anon_sym__Alignas] = ACTIONS(1368),
+    [sym_primitive_type] = ACTIONS(1368),
+    [anon_sym_enum] = ACTIONS(1368),
+    [anon_sym_struct] = ACTIONS(1368),
+    [anon_sym_union] = ACTIONS(1368),
+    [anon_sym_if] = ACTIONS(1368),
+    [anon_sym_switch] = ACTIONS(1368),
+    [anon_sym_case] = ACTIONS(1368),
+    [anon_sym_default] = ACTIONS(1368),
+    [anon_sym_while] = ACTIONS(1368),
+    [anon_sym_do] = ACTIONS(1368),
+    [anon_sym_for] = ACTIONS(1368),
+    [anon_sym_return] = ACTIONS(1368),
+    [anon_sym_break] = ACTIONS(1368),
+    [anon_sym_continue] = ACTIONS(1368),
+    [anon_sym_goto] = ACTIONS(1368),
+    [anon_sym_DASH_DASH] = ACTIONS(1370),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1370),
+    [anon_sym_sizeof] = ACTIONS(1368),
+    [anon_sym___alignof__] = ACTIONS(1368),
+    [anon_sym___alignof] = ACTIONS(1368),
+    [anon_sym__alignof] = ACTIONS(1368),
+    [anon_sym_alignof] = ACTIONS(1368),
+    [anon_sym__Alignof] = ACTIONS(1368),
+    [anon_sym_offsetof] = ACTIONS(1368),
+    [anon_sym__Generic] = ACTIONS(1368),
+    [anon_sym_asm] = ACTIONS(1368),
+    [anon_sym___asm__] = ACTIONS(1368),
+    [anon_sym___asm] = ACTIONS(1368),
+    [sym_number_literal] = ACTIONS(1370),
+    [anon_sym_L_SQUOTE] = ACTIONS(1370),
+    [anon_sym_u_SQUOTE] = ACTIONS(1370),
+    [anon_sym_U_SQUOTE] = ACTIONS(1370),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1370),
+    [anon_sym_SQUOTE] = ACTIONS(1370),
+    [anon_sym_L_DQUOTE] = ACTIONS(1370),
+    [anon_sym_u_DQUOTE] = ACTIONS(1370),
+    [anon_sym_U_DQUOTE] = ACTIONS(1370),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1370),
+    [anon_sym_DQUOTE] = ACTIONS(1370),
+    [sym_true] = ACTIONS(1368),
+    [sym_false] = ACTIONS(1368),
+    [anon_sym_NULL] = ACTIONS(1368),
+    [anon_sym_nullptr] = ACTIONS(1368),
     [sym_comment] = ACTIONS(3),
   },
   [258] = {
-    [sym_identifier] = ACTIONS(1341),
-    [aux_sym_preproc_include_token1] = ACTIONS(1341),
-    [aux_sym_preproc_def_token1] = ACTIONS(1341),
-    [aux_sym_preproc_if_token1] = ACTIONS(1341),
-    [aux_sym_preproc_if_token2] = ACTIONS(1341),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1341),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1341),
-    [sym_preproc_directive] = ACTIONS(1341),
-    [anon_sym_LPAREN2] = ACTIONS(1343),
-    [anon_sym_BANG] = ACTIONS(1343),
-    [anon_sym_TILDE] = ACTIONS(1343),
-    [anon_sym_DASH] = ACTIONS(1341),
-    [anon_sym_PLUS] = ACTIONS(1341),
-    [anon_sym_STAR] = ACTIONS(1343),
-    [anon_sym_AMP] = ACTIONS(1343),
-    [anon_sym_SEMI] = ACTIONS(1343),
-    [anon_sym___extension__] = ACTIONS(1341),
-    [anon_sym_typedef] = ACTIONS(1341),
-    [anon_sym_extern] = ACTIONS(1341),
-    [anon_sym___attribute__] = ACTIONS(1341),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1343),
-    [anon_sym___declspec] = ACTIONS(1341),
-    [anon_sym___cdecl] = ACTIONS(1341),
-    [anon_sym___clrcall] = ACTIONS(1341),
-    [anon_sym___stdcall] = ACTIONS(1341),
-    [anon_sym___fastcall] = ACTIONS(1341),
-    [anon_sym___thiscall] = ACTIONS(1341),
-    [anon_sym___vectorcall] = ACTIONS(1341),
-    [anon_sym_LBRACE] = ACTIONS(1343),
-    [anon_sym_signed] = ACTIONS(1341),
-    [anon_sym_unsigned] = ACTIONS(1341),
-    [anon_sym_long] = ACTIONS(1341),
-    [anon_sym_short] = ACTIONS(1341),
-    [anon_sym_static] = ACTIONS(1341),
-    [anon_sym_auto] = ACTIONS(1341),
-    [anon_sym_register] = ACTIONS(1341),
-    [anon_sym_inline] = ACTIONS(1341),
-    [anon_sym___inline] = ACTIONS(1341),
-    [anon_sym___inline__] = ACTIONS(1341),
-    [anon_sym___forceinline] = ACTIONS(1341),
-    [anon_sym_thread_local] = ACTIONS(1341),
-    [anon_sym___thread] = ACTIONS(1341),
-    [anon_sym_const] = ACTIONS(1341),
-    [anon_sym_constexpr] = ACTIONS(1341),
-    [anon_sym_volatile] = ACTIONS(1341),
-    [anon_sym_restrict] = ACTIONS(1341),
-    [anon_sym___restrict__] = ACTIONS(1341),
-    [anon_sym__Atomic] = ACTIONS(1341),
-    [anon_sym__Noreturn] = ACTIONS(1341),
-    [anon_sym_noreturn] = ACTIONS(1341),
-    [anon_sym__Nonnull] = ACTIONS(1341),
-    [anon_sym_alignas] = ACTIONS(1341),
-    [anon_sym__Alignas] = ACTIONS(1341),
-    [sym_primitive_type] = ACTIONS(1341),
-    [anon_sym_enum] = ACTIONS(1341),
-    [anon_sym_struct] = ACTIONS(1341),
-    [anon_sym_union] = ACTIONS(1341),
-    [anon_sym_if] = ACTIONS(1341),
-    [anon_sym_switch] = ACTIONS(1341),
-    [anon_sym_case] = ACTIONS(1341),
-    [anon_sym_default] = ACTIONS(1341),
-    [anon_sym_while] = ACTIONS(1341),
-    [anon_sym_do] = ACTIONS(1341),
-    [anon_sym_for] = ACTIONS(1341),
-    [anon_sym_return] = ACTIONS(1341),
-    [anon_sym_break] = ACTIONS(1341),
-    [anon_sym_continue] = ACTIONS(1341),
-    [anon_sym_goto] = ACTIONS(1341),
-    [anon_sym___try] = ACTIONS(1341),
-    [anon_sym___leave] = ACTIONS(1341),
-    [anon_sym_DASH_DASH] = ACTIONS(1343),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1343),
-    [anon_sym_sizeof] = ACTIONS(1341),
-    [anon_sym___alignof__] = ACTIONS(1341),
-    [anon_sym___alignof] = ACTIONS(1341),
-    [anon_sym__alignof] = ACTIONS(1341),
-    [anon_sym_alignof] = ACTIONS(1341),
-    [anon_sym__Alignof] = ACTIONS(1341),
-    [anon_sym_offsetof] = ACTIONS(1341),
-    [anon_sym__Generic] = ACTIONS(1341),
-    [anon_sym_asm] = ACTIONS(1341),
-    [anon_sym___asm__] = ACTIONS(1341),
-    [anon_sym___asm] = ACTIONS(1341),
-    [sym_number_literal] = ACTIONS(1343),
-    [anon_sym_L_SQUOTE] = ACTIONS(1343),
-    [anon_sym_u_SQUOTE] = ACTIONS(1343),
-    [anon_sym_U_SQUOTE] = ACTIONS(1343),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1343),
-    [anon_sym_SQUOTE] = ACTIONS(1343),
-    [anon_sym_L_DQUOTE] = ACTIONS(1343),
-    [anon_sym_u_DQUOTE] = ACTIONS(1343),
-    [anon_sym_U_DQUOTE] = ACTIONS(1343),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1343),
-    [anon_sym_DQUOTE] = ACTIONS(1343),
-    [sym_true] = ACTIONS(1341),
-    [sym_false] = ACTIONS(1341),
-    [anon_sym_NULL] = ACTIONS(1341),
-    [anon_sym_nullptr] = ACTIONS(1341),
+    [sym_identifier] = ACTIONS(1352),
+    [aux_sym_preproc_include_token1] = ACTIONS(1352),
+    [aux_sym_preproc_def_token1] = ACTIONS(1352),
+    [aux_sym_preproc_if_token1] = ACTIONS(1352),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1352),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1352),
+    [sym_preproc_directive] = ACTIONS(1352),
+    [anon_sym_LPAREN2] = ACTIONS(1354),
+    [anon_sym_BANG] = ACTIONS(1354),
+    [anon_sym_TILDE] = ACTIONS(1354),
+    [anon_sym_DASH] = ACTIONS(1352),
+    [anon_sym_PLUS] = ACTIONS(1352),
+    [anon_sym_STAR] = ACTIONS(1354),
+    [anon_sym_AMP] = ACTIONS(1354),
+    [anon_sym_SEMI] = ACTIONS(1354),
+    [anon_sym___extension__] = ACTIONS(1352),
+    [anon_sym_typedef] = ACTIONS(1352),
+    [anon_sym_extern] = ACTIONS(1352),
+    [anon_sym___attribute__] = ACTIONS(1352),
+    [anon_sym___attribute] = ACTIONS(1352),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1354),
+    [anon_sym___declspec] = ACTIONS(1352),
+    [anon_sym___cdecl] = ACTIONS(1352),
+    [anon_sym___clrcall] = ACTIONS(1352),
+    [anon_sym___stdcall] = ACTIONS(1352),
+    [anon_sym___fastcall] = ACTIONS(1352),
+    [anon_sym___thiscall] = ACTIONS(1352),
+    [anon_sym___vectorcall] = ACTIONS(1352),
+    [anon_sym_LBRACE] = ACTIONS(1354),
+    [anon_sym_RBRACE] = ACTIONS(1354),
+    [anon_sym_signed] = ACTIONS(1352),
+    [anon_sym_unsigned] = ACTIONS(1352),
+    [anon_sym_long] = ACTIONS(1352),
+    [anon_sym_short] = ACTIONS(1352),
+    [anon_sym_static] = ACTIONS(1352),
+    [anon_sym_auto] = ACTIONS(1352),
+    [anon_sym_register] = ACTIONS(1352),
+    [anon_sym_inline] = ACTIONS(1352),
+    [anon_sym___inline] = ACTIONS(1352),
+    [anon_sym___inline__] = ACTIONS(1352),
+    [anon_sym___forceinline] = ACTIONS(1352),
+    [anon_sym_thread_local] = ACTIONS(1352),
+    [anon_sym___thread] = ACTIONS(1352),
+    [anon_sym_const] = ACTIONS(1352),
+    [anon_sym_constexpr] = ACTIONS(1352),
+    [anon_sym_volatile] = ACTIONS(1352),
+    [anon_sym_restrict] = ACTIONS(1352),
+    [anon_sym___restrict__] = ACTIONS(1352),
+    [anon_sym__Atomic] = ACTIONS(1352),
+    [anon_sym__Noreturn] = ACTIONS(1352),
+    [anon_sym_noreturn] = ACTIONS(1352),
+    [anon_sym__Nonnull] = ACTIONS(1352),
+    [anon_sym_alignas] = ACTIONS(1352),
+    [anon_sym__Alignas] = ACTIONS(1352),
+    [sym_primitive_type] = ACTIONS(1352),
+    [anon_sym_enum] = ACTIONS(1352),
+    [anon_sym_struct] = ACTIONS(1352),
+    [anon_sym_union] = ACTIONS(1352),
+    [anon_sym_if] = ACTIONS(1352),
+    [anon_sym_switch] = ACTIONS(1352),
+    [anon_sym_case] = ACTIONS(1352),
+    [anon_sym_default] = ACTIONS(1352),
+    [anon_sym_while] = ACTIONS(1352),
+    [anon_sym_do] = ACTIONS(1352),
+    [anon_sym_for] = ACTIONS(1352),
+    [anon_sym_return] = ACTIONS(1352),
+    [anon_sym_break] = ACTIONS(1352),
+    [anon_sym_continue] = ACTIONS(1352),
+    [anon_sym_goto] = ACTIONS(1352),
+    [anon_sym___try] = ACTIONS(1352),
+    [anon_sym___leave] = ACTIONS(1352),
+    [anon_sym_DASH_DASH] = ACTIONS(1354),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1354),
+    [anon_sym_sizeof] = ACTIONS(1352),
+    [anon_sym___alignof__] = ACTIONS(1352),
+    [anon_sym___alignof] = ACTIONS(1352),
+    [anon_sym__alignof] = ACTIONS(1352),
+    [anon_sym_alignof] = ACTIONS(1352),
+    [anon_sym__Alignof] = ACTIONS(1352),
+    [anon_sym_offsetof] = ACTIONS(1352),
+    [anon_sym__Generic] = ACTIONS(1352),
+    [anon_sym_asm] = ACTIONS(1352),
+    [anon_sym___asm__] = ACTIONS(1352),
+    [anon_sym___asm] = ACTIONS(1352),
+    [sym_number_literal] = ACTIONS(1354),
+    [anon_sym_L_SQUOTE] = ACTIONS(1354),
+    [anon_sym_u_SQUOTE] = ACTIONS(1354),
+    [anon_sym_U_SQUOTE] = ACTIONS(1354),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1354),
+    [anon_sym_SQUOTE] = ACTIONS(1354),
+    [anon_sym_L_DQUOTE] = ACTIONS(1354),
+    [anon_sym_u_DQUOTE] = ACTIONS(1354),
+    [anon_sym_U_DQUOTE] = ACTIONS(1354),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1354),
+    [anon_sym_DQUOTE] = ACTIONS(1354),
+    [sym_true] = ACTIONS(1352),
+    [sym_false] = ACTIONS(1352),
+    [anon_sym_NULL] = ACTIONS(1352),
+    [anon_sym_nullptr] = ACTIONS(1352),
     [sym_comment] = ACTIONS(3),
   },
   [259] = {
-    [sym_identifier] = ACTIONS(1357),
-    [aux_sym_preproc_include_token1] = ACTIONS(1357),
-    [aux_sym_preproc_def_token1] = ACTIONS(1357),
-    [aux_sym_preproc_if_token1] = ACTIONS(1357),
-    [aux_sym_preproc_if_token2] = ACTIONS(1357),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1357),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1357),
-    [sym_preproc_directive] = ACTIONS(1357),
-    [anon_sym_LPAREN2] = ACTIONS(1359),
-    [anon_sym_BANG] = ACTIONS(1359),
-    [anon_sym_TILDE] = ACTIONS(1359),
-    [anon_sym_DASH] = ACTIONS(1357),
-    [anon_sym_PLUS] = ACTIONS(1357),
-    [anon_sym_STAR] = ACTIONS(1359),
-    [anon_sym_AMP] = ACTIONS(1359),
-    [anon_sym_SEMI] = ACTIONS(1359),
-    [anon_sym___extension__] = ACTIONS(1357),
-    [anon_sym_typedef] = ACTIONS(1357),
-    [anon_sym_extern] = ACTIONS(1357),
-    [anon_sym___attribute__] = ACTIONS(1357),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1359),
-    [anon_sym___declspec] = ACTIONS(1357),
-    [anon_sym___cdecl] = ACTIONS(1357),
-    [anon_sym___clrcall] = ACTIONS(1357),
-    [anon_sym___stdcall] = ACTIONS(1357),
-    [anon_sym___fastcall] = ACTIONS(1357),
-    [anon_sym___thiscall] = ACTIONS(1357),
-    [anon_sym___vectorcall] = ACTIONS(1357),
-    [anon_sym_LBRACE] = ACTIONS(1359),
-    [anon_sym_signed] = ACTIONS(1357),
-    [anon_sym_unsigned] = ACTIONS(1357),
-    [anon_sym_long] = ACTIONS(1357),
-    [anon_sym_short] = ACTIONS(1357),
-    [anon_sym_static] = ACTIONS(1357),
-    [anon_sym_auto] = ACTIONS(1357),
-    [anon_sym_register] = ACTIONS(1357),
-    [anon_sym_inline] = ACTIONS(1357),
-    [anon_sym___inline] = ACTIONS(1357),
-    [anon_sym___inline__] = ACTIONS(1357),
-    [anon_sym___forceinline] = ACTIONS(1357),
-    [anon_sym_thread_local] = ACTIONS(1357),
-    [anon_sym___thread] = ACTIONS(1357),
-    [anon_sym_const] = ACTIONS(1357),
-    [anon_sym_constexpr] = ACTIONS(1357),
-    [anon_sym_volatile] = ACTIONS(1357),
-    [anon_sym_restrict] = ACTIONS(1357),
-    [anon_sym___restrict__] = ACTIONS(1357),
-    [anon_sym__Atomic] = ACTIONS(1357),
-    [anon_sym__Noreturn] = ACTIONS(1357),
-    [anon_sym_noreturn] = ACTIONS(1357),
-    [anon_sym__Nonnull] = ACTIONS(1357),
-    [anon_sym_alignas] = ACTIONS(1357),
-    [anon_sym__Alignas] = ACTIONS(1357),
-    [sym_primitive_type] = ACTIONS(1357),
-    [anon_sym_enum] = ACTIONS(1357),
-    [anon_sym_struct] = ACTIONS(1357),
-    [anon_sym_union] = ACTIONS(1357),
-    [anon_sym_if] = ACTIONS(1357),
-    [anon_sym_switch] = ACTIONS(1357),
-    [anon_sym_case] = ACTIONS(1357),
-    [anon_sym_default] = ACTIONS(1357),
-    [anon_sym_while] = ACTIONS(1357),
-    [anon_sym_do] = ACTIONS(1357),
-    [anon_sym_for] = ACTIONS(1357),
-    [anon_sym_return] = ACTIONS(1357),
-    [anon_sym_break] = ACTIONS(1357),
-    [anon_sym_continue] = ACTIONS(1357),
-    [anon_sym_goto] = ACTIONS(1357),
-    [anon_sym___try] = ACTIONS(1357),
-    [anon_sym___leave] = ACTIONS(1357),
-    [anon_sym_DASH_DASH] = ACTIONS(1359),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1359),
-    [anon_sym_sizeof] = ACTIONS(1357),
-    [anon_sym___alignof__] = ACTIONS(1357),
-    [anon_sym___alignof] = ACTIONS(1357),
-    [anon_sym__alignof] = ACTIONS(1357),
-    [anon_sym_alignof] = ACTIONS(1357),
-    [anon_sym__Alignof] = ACTIONS(1357),
-    [anon_sym_offsetof] = ACTIONS(1357),
-    [anon_sym__Generic] = ACTIONS(1357),
-    [anon_sym_asm] = ACTIONS(1357),
-    [anon_sym___asm__] = ACTIONS(1357),
-    [anon_sym___asm] = ACTIONS(1357),
-    [sym_number_literal] = ACTIONS(1359),
-    [anon_sym_L_SQUOTE] = ACTIONS(1359),
-    [anon_sym_u_SQUOTE] = ACTIONS(1359),
-    [anon_sym_U_SQUOTE] = ACTIONS(1359),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1359),
-    [anon_sym_SQUOTE] = ACTIONS(1359),
-    [anon_sym_L_DQUOTE] = ACTIONS(1359),
-    [anon_sym_u_DQUOTE] = ACTIONS(1359),
-    [anon_sym_U_DQUOTE] = ACTIONS(1359),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1359),
-    [anon_sym_DQUOTE] = ACTIONS(1359),
-    [sym_true] = ACTIONS(1357),
-    [sym_false] = ACTIONS(1357),
-    [anon_sym_NULL] = ACTIONS(1357),
-    [anon_sym_nullptr] = ACTIONS(1357),
+    [sym_identifier] = ACTIONS(1356),
+    [aux_sym_preproc_include_token1] = ACTIONS(1356),
+    [aux_sym_preproc_def_token1] = ACTIONS(1356),
+    [aux_sym_preproc_if_token1] = ACTIONS(1356),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1356),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1356),
+    [sym_preproc_directive] = ACTIONS(1356),
+    [anon_sym_LPAREN2] = ACTIONS(1358),
+    [anon_sym_BANG] = ACTIONS(1358),
+    [anon_sym_TILDE] = ACTIONS(1358),
+    [anon_sym_DASH] = ACTIONS(1356),
+    [anon_sym_PLUS] = ACTIONS(1356),
+    [anon_sym_STAR] = ACTIONS(1358),
+    [anon_sym_AMP] = ACTIONS(1358),
+    [anon_sym_SEMI] = ACTIONS(1358),
+    [anon_sym___extension__] = ACTIONS(1356),
+    [anon_sym_typedef] = ACTIONS(1356),
+    [anon_sym_extern] = ACTIONS(1356),
+    [anon_sym___attribute__] = ACTIONS(1356),
+    [anon_sym___attribute] = ACTIONS(1356),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1358),
+    [anon_sym___declspec] = ACTIONS(1356),
+    [anon_sym___cdecl] = ACTIONS(1356),
+    [anon_sym___clrcall] = ACTIONS(1356),
+    [anon_sym___stdcall] = ACTIONS(1356),
+    [anon_sym___fastcall] = ACTIONS(1356),
+    [anon_sym___thiscall] = ACTIONS(1356),
+    [anon_sym___vectorcall] = ACTIONS(1356),
+    [anon_sym_LBRACE] = ACTIONS(1358),
+    [anon_sym_RBRACE] = ACTIONS(1358),
+    [anon_sym_signed] = ACTIONS(1356),
+    [anon_sym_unsigned] = ACTIONS(1356),
+    [anon_sym_long] = ACTIONS(1356),
+    [anon_sym_short] = ACTIONS(1356),
+    [anon_sym_static] = ACTIONS(1356),
+    [anon_sym_auto] = ACTIONS(1356),
+    [anon_sym_register] = ACTIONS(1356),
+    [anon_sym_inline] = ACTIONS(1356),
+    [anon_sym___inline] = ACTIONS(1356),
+    [anon_sym___inline__] = ACTIONS(1356),
+    [anon_sym___forceinline] = ACTIONS(1356),
+    [anon_sym_thread_local] = ACTIONS(1356),
+    [anon_sym___thread] = ACTIONS(1356),
+    [anon_sym_const] = ACTIONS(1356),
+    [anon_sym_constexpr] = ACTIONS(1356),
+    [anon_sym_volatile] = ACTIONS(1356),
+    [anon_sym_restrict] = ACTIONS(1356),
+    [anon_sym___restrict__] = ACTIONS(1356),
+    [anon_sym__Atomic] = ACTIONS(1356),
+    [anon_sym__Noreturn] = ACTIONS(1356),
+    [anon_sym_noreturn] = ACTIONS(1356),
+    [anon_sym__Nonnull] = ACTIONS(1356),
+    [anon_sym_alignas] = ACTIONS(1356),
+    [anon_sym__Alignas] = ACTIONS(1356),
+    [sym_primitive_type] = ACTIONS(1356),
+    [anon_sym_enum] = ACTIONS(1356),
+    [anon_sym_struct] = ACTIONS(1356),
+    [anon_sym_union] = ACTIONS(1356),
+    [anon_sym_if] = ACTIONS(1356),
+    [anon_sym_switch] = ACTIONS(1356),
+    [anon_sym_case] = ACTIONS(1356),
+    [anon_sym_default] = ACTIONS(1356),
+    [anon_sym_while] = ACTIONS(1356),
+    [anon_sym_do] = ACTIONS(1356),
+    [anon_sym_for] = ACTIONS(1356),
+    [anon_sym_return] = ACTIONS(1356),
+    [anon_sym_break] = ACTIONS(1356),
+    [anon_sym_continue] = ACTIONS(1356),
+    [anon_sym_goto] = ACTIONS(1356),
+    [anon_sym___try] = ACTIONS(1356),
+    [anon_sym___leave] = ACTIONS(1356),
+    [anon_sym_DASH_DASH] = ACTIONS(1358),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1358),
+    [anon_sym_sizeof] = ACTIONS(1356),
+    [anon_sym___alignof__] = ACTIONS(1356),
+    [anon_sym___alignof] = ACTIONS(1356),
+    [anon_sym__alignof] = ACTIONS(1356),
+    [anon_sym_alignof] = ACTIONS(1356),
+    [anon_sym__Alignof] = ACTIONS(1356),
+    [anon_sym_offsetof] = ACTIONS(1356),
+    [anon_sym__Generic] = ACTIONS(1356),
+    [anon_sym_asm] = ACTIONS(1356),
+    [anon_sym___asm__] = ACTIONS(1356),
+    [anon_sym___asm] = ACTIONS(1356),
+    [sym_number_literal] = ACTIONS(1358),
+    [anon_sym_L_SQUOTE] = ACTIONS(1358),
+    [anon_sym_u_SQUOTE] = ACTIONS(1358),
+    [anon_sym_U_SQUOTE] = ACTIONS(1358),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1358),
+    [anon_sym_SQUOTE] = ACTIONS(1358),
+    [anon_sym_L_DQUOTE] = ACTIONS(1358),
+    [anon_sym_u_DQUOTE] = ACTIONS(1358),
+    [anon_sym_U_DQUOTE] = ACTIONS(1358),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1358),
+    [anon_sym_DQUOTE] = ACTIONS(1358),
+    [sym_true] = ACTIONS(1356),
+    [sym_false] = ACTIONS(1356),
+    [anon_sym_NULL] = ACTIONS(1356),
+    [anon_sym_nullptr] = ACTIONS(1356),
     [sym_comment] = ACTIONS(3),
   },
   [260] = {
-    [sym_identifier] = ACTIONS(1261),
-    [aux_sym_preproc_include_token1] = ACTIONS(1261),
-    [aux_sym_preproc_def_token1] = ACTIONS(1261),
-    [aux_sym_preproc_if_token1] = ACTIONS(1261),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1261),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1261),
-    [sym_preproc_directive] = ACTIONS(1261),
-    [anon_sym_LPAREN2] = ACTIONS(1263),
-    [anon_sym_BANG] = ACTIONS(1263),
-    [anon_sym_TILDE] = ACTIONS(1263),
-    [anon_sym_DASH] = ACTIONS(1261),
-    [anon_sym_PLUS] = ACTIONS(1261),
-    [anon_sym_STAR] = ACTIONS(1263),
-    [anon_sym_AMP] = ACTIONS(1263),
-    [anon_sym_SEMI] = ACTIONS(1263),
-    [anon_sym___extension__] = ACTIONS(1261),
-    [anon_sym_typedef] = ACTIONS(1261),
-    [anon_sym_extern] = ACTIONS(1261),
-    [anon_sym___attribute__] = ACTIONS(1261),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1263),
-    [anon_sym___declspec] = ACTIONS(1261),
-    [anon_sym___cdecl] = ACTIONS(1261),
-    [anon_sym___clrcall] = ACTIONS(1261),
-    [anon_sym___stdcall] = ACTIONS(1261),
-    [anon_sym___fastcall] = ACTIONS(1261),
-    [anon_sym___thiscall] = ACTIONS(1261),
-    [anon_sym___vectorcall] = ACTIONS(1261),
-    [anon_sym_LBRACE] = ACTIONS(1263),
-    [anon_sym_RBRACE] = ACTIONS(1263),
-    [anon_sym_signed] = ACTIONS(1261),
-    [anon_sym_unsigned] = ACTIONS(1261),
-    [anon_sym_long] = ACTIONS(1261),
-    [anon_sym_short] = ACTIONS(1261),
-    [anon_sym_static] = ACTIONS(1261),
-    [anon_sym_auto] = ACTIONS(1261),
-    [anon_sym_register] = ACTIONS(1261),
-    [anon_sym_inline] = ACTIONS(1261),
-    [anon_sym___inline] = ACTIONS(1261),
-    [anon_sym___inline__] = ACTIONS(1261),
-    [anon_sym___forceinline] = ACTIONS(1261),
-    [anon_sym_thread_local] = ACTIONS(1261),
-    [anon_sym___thread] = ACTIONS(1261),
-    [anon_sym_const] = ACTIONS(1261),
-    [anon_sym_constexpr] = ACTIONS(1261),
-    [anon_sym_volatile] = ACTIONS(1261),
-    [anon_sym_restrict] = ACTIONS(1261),
-    [anon_sym___restrict__] = ACTIONS(1261),
-    [anon_sym__Atomic] = ACTIONS(1261),
-    [anon_sym__Noreturn] = ACTIONS(1261),
-    [anon_sym_noreturn] = ACTIONS(1261),
-    [anon_sym__Nonnull] = ACTIONS(1261),
-    [anon_sym_alignas] = ACTIONS(1261),
-    [anon_sym__Alignas] = ACTIONS(1261),
-    [sym_primitive_type] = ACTIONS(1261),
-    [anon_sym_enum] = ACTIONS(1261),
-    [anon_sym_struct] = ACTIONS(1261),
-    [anon_sym_union] = ACTIONS(1261),
-    [anon_sym_if] = ACTIONS(1261),
-    [anon_sym_switch] = ACTIONS(1261),
-    [anon_sym_case] = ACTIONS(1261),
-    [anon_sym_default] = ACTIONS(1261),
-    [anon_sym_while] = ACTIONS(1261),
-    [anon_sym_do] = ACTIONS(1261),
-    [anon_sym_for] = ACTIONS(1261),
-    [anon_sym_return] = ACTIONS(1261),
-    [anon_sym_break] = ACTIONS(1261),
-    [anon_sym_continue] = ACTIONS(1261),
-    [anon_sym_goto] = ACTIONS(1261),
-    [anon_sym___try] = ACTIONS(1261),
-    [anon_sym___leave] = ACTIONS(1261),
-    [anon_sym_DASH_DASH] = ACTIONS(1263),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1263),
-    [anon_sym_sizeof] = ACTIONS(1261),
-    [anon_sym___alignof__] = ACTIONS(1261),
-    [anon_sym___alignof] = ACTIONS(1261),
-    [anon_sym__alignof] = ACTIONS(1261),
-    [anon_sym_alignof] = ACTIONS(1261),
-    [anon_sym__Alignof] = ACTIONS(1261),
-    [anon_sym_offsetof] = ACTIONS(1261),
-    [anon_sym__Generic] = ACTIONS(1261),
-    [anon_sym_asm] = ACTIONS(1261),
-    [anon_sym___asm__] = ACTIONS(1261),
-    [anon_sym___asm] = ACTIONS(1261),
-    [sym_number_literal] = ACTIONS(1263),
-    [anon_sym_L_SQUOTE] = ACTIONS(1263),
-    [anon_sym_u_SQUOTE] = ACTIONS(1263),
-    [anon_sym_U_SQUOTE] = ACTIONS(1263),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1263),
-    [anon_sym_SQUOTE] = ACTIONS(1263),
-    [anon_sym_L_DQUOTE] = ACTIONS(1263),
-    [anon_sym_u_DQUOTE] = ACTIONS(1263),
-    [anon_sym_U_DQUOTE] = ACTIONS(1263),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1263),
-    [anon_sym_DQUOTE] = ACTIONS(1263),
-    [sym_true] = ACTIONS(1261),
-    [sym_false] = ACTIONS(1261),
-    [anon_sym_NULL] = ACTIONS(1261),
-    [anon_sym_nullptr] = ACTIONS(1261),
+    [sym_identifier] = ACTIONS(1364),
+    [aux_sym_preproc_include_token1] = ACTIONS(1364),
+    [aux_sym_preproc_def_token1] = ACTIONS(1364),
+    [aux_sym_preproc_if_token1] = ACTIONS(1364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1364),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1364),
+    [sym_preproc_directive] = ACTIONS(1364),
+    [anon_sym_LPAREN2] = ACTIONS(1366),
+    [anon_sym_BANG] = ACTIONS(1366),
+    [anon_sym_TILDE] = ACTIONS(1366),
+    [anon_sym_DASH] = ACTIONS(1364),
+    [anon_sym_PLUS] = ACTIONS(1364),
+    [anon_sym_STAR] = ACTIONS(1366),
+    [anon_sym_AMP] = ACTIONS(1366),
+    [anon_sym_SEMI] = ACTIONS(1366),
+    [anon_sym___extension__] = ACTIONS(1364),
+    [anon_sym_typedef] = ACTIONS(1364),
+    [anon_sym_extern] = ACTIONS(1364),
+    [anon_sym___attribute__] = ACTIONS(1364),
+    [anon_sym___attribute] = ACTIONS(1364),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1366),
+    [anon_sym___declspec] = ACTIONS(1364),
+    [anon_sym___cdecl] = ACTIONS(1364),
+    [anon_sym___clrcall] = ACTIONS(1364),
+    [anon_sym___stdcall] = ACTIONS(1364),
+    [anon_sym___fastcall] = ACTIONS(1364),
+    [anon_sym___thiscall] = ACTIONS(1364),
+    [anon_sym___vectorcall] = ACTIONS(1364),
+    [anon_sym_LBRACE] = ACTIONS(1366),
+    [anon_sym_RBRACE] = ACTIONS(1366),
+    [anon_sym_signed] = ACTIONS(1364),
+    [anon_sym_unsigned] = ACTIONS(1364),
+    [anon_sym_long] = ACTIONS(1364),
+    [anon_sym_short] = ACTIONS(1364),
+    [anon_sym_static] = ACTIONS(1364),
+    [anon_sym_auto] = ACTIONS(1364),
+    [anon_sym_register] = ACTIONS(1364),
+    [anon_sym_inline] = ACTIONS(1364),
+    [anon_sym___inline] = ACTIONS(1364),
+    [anon_sym___inline__] = ACTIONS(1364),
+    [anon_sym___forceinline] = ACTIONS(1364),
+    [anon_sym_thread_local] = ACTIONS(1364),
+    [anon_sym___thread] = ACTIONS(1364),
+    [anon_sym_const] = ACTIONS(1364),
+    [anon_sym_constexpr] = ACTIONS(1364),
+    [anon_sym_volatile] = ACTIONS(1364),
+    [anon_sym_restrict] = ACTIONS(1364),
+    [anon_sym___restrict__] = ACTIONS(1364),
+    [anon_sym__Atomic] = ACTIONS(1364),
+    [anon_sym__Noreturn] = ACTIONS(1364),
+    [anon_sym_noreturn] = ACTIONS(1364),
+    [anon_sym__Nonnull] = ACTIONS(1364),
+    [anon_sym_alignas] = ACTIONS(1364),
+    [anon_sym__Alignas] = ACTIONS(1364),
+    [sym_primitive_type] = ACTIONS(1364),
+    [anon_sym_enum] = ACTIONS(1364),
+    [anon_sym_struct] = ACTIONS(1364),
+    [anon_sym_union] = ACTIONS(1364),
+    [anon_sym_if] = ACTIONS(1364),
+    [anon_sym_switch] = ACTIONS(1364),
+    [anon_sym_case] = ACTIONS(1364),
+    [anon_sym_default] = ACTIONS(1364),
+    [anon_sym_while] = ACTIONS(1364),
+    [anon_sym_do] = ACTIONS(1364),
+    [anon_sym_for] = ACTIONS(1364),
+    [anon_sym_return] = ACTIONS(1364),
+    [anon_sym_break] = ACTIONS(1364),
+    [anon_sym_continue] = ACTIONS(1364),
+    [anon_sym_goto] = ACTIONS(1364),
+    [anon_sym___try] = ACTIONS(1364),
+    [anon_sym___leave] = ACTIONS(1364),
+    [anon_sym_DASH_DASH] = ACTIONS(1366),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1366),
+    [anon_sym_sizeof] = ACTIONS(1364),
+    [anon_sym___alignof__] = ACTIONS(1364),
+    [anon_sym___alignof] = ACTIONS(1364),
+    [anon_sym__alignof] = ACTIONS(1364),
+    [anon_sym_alignof] = ACTIONS(1364),
+    [anon_sym__Alignof] = ACTIONS(1364),
+    [anon_sym_offsetof] = ACTIONS(1364),
+    [anon_sym__Generic] = ACTIONS(1364),
+    [anon_sym_asm] = ACTIONS(1364),
+    [anon_sym___asm__] = ACTIONS(1364),
+    [anon_sym___asm] = ACTIONS(1364),
+    [sym_number_literal] = ACTIONS(1366),
+    [anon_sym_L_SQUOTE] = ACTIONS(1366),
+    [anon_sym_u_SQUOTE] = ACTIONS(1366),
+    [anon_sym_U_SQUOTE] = ACTIONS(1366),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1366),
+    [anon_sym_SQUOTE] = ACTIONS(1366),
+    [anon_sym_L_DQUOTE] = ACTIONS(1366),
+    [anon_sym_u_DQUOTE] = ACTIONS(1366),
+    [anon_sym_U_DQUOTE] = ACTIONS(1366),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1366),
+    [anon_sym_DQUOTE] = ACTIONS(1366),
+    [sym_true] = ACTIONS(1364),
+    [sym_false] = ACTIONS(1364),
+    [anon_sym_NULL] = ACTIONS(1364),
+    [anon_sym_nullptr] = ACTIONS(1364),
     [sym_comment] = ACTIONS(3),
   },
   [261] = {
-    [sym_identifier] = ACTIONS(1367),
-    [aux_sym_preproc_include_token1] = ACTIONS(1367),
-    [aux_sym_preproc_def_token1] = ACTIONS(1367),
-    [aux_sym_preproc_if_token1] = ACTIONS(1367),
-    [aux_sym_preproc_if_token2] = ACTIONS(1367),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1367),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1367),
-    [sym_preproc_directive] = ACTIONS(1367),
-    [anon_sym_LPAREN2] = ACTIONS(1369),
-    [anon_sym_BANG] = ACTIONS(1369),
-    [anon_sym_TILDE] = ACTIONS(1369),
-    [anon_sym_DASH] = ACTIONS(1367),
-    [anon_sym_PLUS] = ACTIONS(1367),
-    [anon_sym_STAR] = ACTIONS(1369),
-    [anon_sym_AMP] = ACTIONS(1369),
-    [anon_sym_SEMI] = ACTIONS(1369),
-    [anon_sym___extension__] = ACTIONS(1367),
-    [anon_sym_typedef] = ACTIONS(1367),
-    [anon_sym_extern] = ACTIONS(1367),
-    [anon_sym___attribute__] = ACTIONS(1367),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1369),
-    [anon_sym___declspec] = ACTIONS(1367),
-    [anon_sym___cdecl] = ACTIONS(1367),
-    [anon_sym___clrcall] = ACTIONS(1367),
-    [anon_sym___stdcall] = ACTIONS(1367),
-    [anon_sym___fastcall] = ACTIONS(1367),
-    [anon_sym___thiscall] = ACTIONS(1367),
-    [anon_sym___vectorcall] = ACTIONS(1367),
-    [anon_sym_LBRACE] = ACTIONS(1369),
-    [anon_sym_signed] = ACTIONS(1367),
-    [anon_sym_unsigned] = ACTIONS(1367),
-    [anon_sym_long] = ACTIONS(1367),
-    [anon_sym_short] = ACTIONS(1367),
-    [anon_sym_static] = ACTIONS(1367),
-    [anon_sym_auto] = ACTIONS(1367),
-    [anon_sym_register] = ACTIONS(1367),
-    [anon_sym_inline] = ACTIONS(1367),
-    [anon_sym___inline] = ACTIONS(1367),
-    [anon_sym___inline__] = ACTIONS(1367),
-    [anon_sym___forceinline] = ACTIONS(1367),
-    [anon_sym_thread_local] = ACTIONS(1367),
-    [anon_sym___thread] = ACTIONS(1367),
-    [anon_sym_const] = ACTIONS(1367),
-    [anon_sym_constexpr] = ACTIONS(1367),
-    [anon_sym_volatile] = ACTIONS(1367),
-    [anon_sym_restrict] = ACTIONS(1367),
-    [anon_sym___restrict__] = ACTIONS(1367),
-    [anon_sym__Atomic] = ACTIONS(1367),
-    [anon_sym__Noreturn] = ACTIONS(1367),
-    [anon_sym_noreturn] = ACTIONS(1367),
-    [anon_sym__Nonnull] = ACTIONS(1367),
-    [anon_sym_alignas] = ACTIONS(1367),
-    [anon_sym__Alignas] = ACTIONS(1367),
-    [sym_primitive_type] = ACTIONS(1367),
-    [anon_sym_enum] = ACTIONS(1367),
-    [anon_sym_struct] = ACTIONS(1367),
-    [anon_sym_union] = ACTIONS(1367),
-    [anon_sym_if] = ACTIONS(1367),
-    [anon_sym_switch] = ACTIONS(1367),
-    [anon_sym_case] = ACTIONS(1367),
-    [anon_sym_default] = ACTIONS(1367),
-    [anon_sym_while] = ACTIONS(1367),
-    [anon_sym_do] = ACTIONS(1367),
-    [anon_sym_for] = ACTIONS(1367),
-    [anon_sym_return] = ACTIONS(1367),
-    [anon_sym_break] = ACTIONS(1367),
-    [anon_sym_continue] = ACTIONS(1367),
-    [anon_sym_goto] = ACTIONS(1367),
-    [anon_sym___try] = ACTIONS(1367),
-    [anon_sym___leave] = ACTIONS(1367),
-    [anon_sym_DASH_DASH] = ACTIONS(1369),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1369),
-    [anon_sym_sizeof] = ACTIONS(1367),
-    [anon_sym___alignof__] = ACTIONS(1367),
-    [anon_sym___alignof] = ACTIONS(1367),
-    [anon_sym__alignof] = ACTIONS(1367),
-    [anon_sym_alignof] = ACTIONS(1367),
-    [anon_sym__Alignof] = ACTIONS(1367),
-    [anon_sym_offsetof] = ACTIONS(1367),
-    [anon_sym__Generic] = ACTIONS(1367),
-    [anon_sym_asm] = ACTIONS(1367),
-    [anon_sym___asm__] = ACTIONS(1367),
-    [anon_sym___asm] = ACTIONS(1367),
-    [sym_number_literal] = ACTIONS(1369),
-    [anon_sym_L_SQUOTE] = ACTIONS(1369),
-    [anon_sym_u_SQUOTE] = ACTIONS(1369),
-    [anon_sym_U_SQUOTE] = ACTIONS(1369),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1369),
-    [anon_sym_SQUOTE] = ACTIONS(1369),
-    [anon_sym_L_DQUOTE] = ACTIONS(1369),
-    [anon_sym_u_DQUOTE] = ACTIONS(1369),
-    [anon_sym_U_DQUOTE] = ACTIONS(1369),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1369),
-    [anon_sym_DQUOTE] = ACTIONS(1369),
-    [sym_true] = ACTIONS(1367),
-    [sym_false] = ACTIONS(1367),
-    [anon_sym_NULL] = ACTIONS(1367),
-    [anon_sym_nullptr] = ACTIONS(1367),
+    [sym_identifier] = ACTIONS(1368),
+    [aux_sym_preproc_include_token1] = ACTIONS(1368),
+    [aux_sym_preproc_def_token1] = ACTIONS(1368),
+    [aux_sym_preproc_if_token1] = ACTIONS(1368),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1368),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1368),
+    [sym_preproc_directive] = ACTIONS(1368),
+    [anon_sym_LPAREN2] = ACTIONS(1370),
+    [anon_sym_BANG] = ACTIONS(1370),
+    [anon_sym_TILDE] = ACTIONS(1370),
+    [anon_sym_DASH] = ACTIONS(1368),
+    [anon_sym_PLUS] = ACTIONS(1368),
+    [anon_sym_STAR] = ACTIONS(1370),
+    [anon_sym_AMP] = ACTIONS(1370),
+    [anon_sym_SEMI] = ACTIONS(1370),
+    [anon_sym___extension__] = ACTIONS(1368),
+    [anon_sym_typedef] = ACTIONS(1368),
+    [anon_sym_extern] = ACTIONS(1368),
+    [anon_sym___attribute__] = ACTIONS(1368),
+    [anon_sym___attribute] = ACTIONS(1368),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1370),
+    [anon_sym___declspec] = ACTIONS(1368),
+    [anon_sym___cdecl] = ACTIONS(1368),
+    [anon_sym___clrcall] = ACTIONS(1368),
+    [anon_sym___stdcall] = ACTIONS(1368),
+    [anon_sym___fastcall] = ACTIONS(1368),
+    [anon_sym___thiscall] = ACTIONS(1368),
+    [anon_sym___vectorcall] = ACTIONS(1368),
+    [anon_sym_LBRACE] = ACTIONS(1370),
+    [anon_sym_RBRACE] = ACTIONS(1370),
+    [anon_sym_signed] = ACTIONS(1368),
+    [anon_sym_unsigned] = ACTIONS(1368),
+    [anon_sym_long] = ACTIONS(1368),
+    [anon_sym_short] = ACTIONS(1368),
+    [anon_sym_static] = ACTIONS(1368),
+    [anon_sym_auto] = ACTIONS(1368),
+    [anon_sym_register] = ACTIONS(1368),
+    [anon_sym_inline] = ACTIONS(1368),
+    [anon_sym___inline] = ACTIONS(1368),
+    [anon_sym___inline__] = ACTIONS(1368),
+    [anon_sym___forceinline] = ACTIONS(1368),
+    [anon_sym_thread_local] = ACTIONS(1368),
+    [anon_sym___thread] = ACTIONS(1368),
+    [anon_sym_const] = ACTIONS(1368),
+    [anon_sym_constexpr] = ACTIONS(1368),
+    [anon_sym_volatile] = ACTIONS(1368),
+    [anon_sym_restrict] = ACTIONS(1368),
+    [anon_sym___restrict__] = ACTIONS(1368),
+    [anon_sym__Atomic] = ACTIONS(1368),
+    [anon_sym__Noreturn] = ACTIONS(1368),
+    [anon_sym_noreturn] = ACTIONS(1368),
+    [anon_sym__Nonnull] = ACTIONS(1368),
+    [anon_sym_alignas] = ACTIONS(1368),
+    [anon_sym__Alignas] = ACTIONS(1368),
+    [sym_primitive_type] = ACTIONS(1368),
+    [anon_sym_enum] = ACTIONS(1368),
+    [anon_sym_struct] = ACTIONS(1368),
+    [anon_sym_union] = ACTIONS(1368),
+    [anon_sym_if] = ACTIONS(1368),
+    [anon_sym_switch] = ACTIONS(1368),
+    [anon_sym_case] = ACTIONS(1368),
+    [anon_sym_default] = ACTIONS(1368),
+    [anon_sym_while] = ACTIONS(1368),
+    [anon_sym_do] = ACTIONS(1368),
+    [anon_sym_for] = ACTIONS(1368),
+    [anon_sym_return] = ACTIONS(1368),
+    [anon_sym_break] = ACTIONS(1368),
+    [anon_sym_continue] = ACTIONS(1368),
+    [anon_sym_goto] = ACTIONS(1368),
+    [anon_sym___try] = ACTIONS(1368),
+    [anon_sym___leave] = ACTIONS(1368),
+    [anon_sym_DASH_DASH] = ACTIONS(1370),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1370),
+    [anon_sym_sizeof] = ACTIONS(1368),
+    [anon_sym___alignof__] = ACTIONS(1368),
+    [anon_sym___alignof] = ACTIONS(1368),
+    [anon_sym__alignof] = ACTIONS(1368),
+    [anon_sym_alignof] = ACTIONS(1368),
+    [anon_sym__Alignof] = ACTIONS(1368),
+    [anon_sym_offsetof] = ACTIONS(1368),
+    [anon_sym__Generic] = ACTIONS(1368),
+    [anon_sym_asm] = ACTIONS(1368),
+    [anon_sym___asm__] = ACTIONS(1368),
+    [anon_sym___asm] = ACTIONS(1368),
+    [sym_number_literal] = ACTIONS(1370),
+    [anon_sym_L_SQUOTE] = ACTIONS(1370),
+    [anon_sym_u_SQUOTE] = ACTIONS(1370),
+    [anon_sym_U_SQUOTE] = ACTIONS(1370),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1370),
+    [anon_sym_SQUOTE] = ACTIONS(1370),
+    [anon_sym_L_DQUOTE] = ACTIONS(1370),
+    [anon_sym_u_DQUOTE] = ACTIONS(1370),
+    [anon_sym_U_DQUOTE] = ACTIONS(1370),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1370),
+    [anon_sym_DQUOTE] = ACTIONS(1370),
+    [sym_true] = ACTIONS(1368),
+    [sym_false] = ACTIONS(1368),
+    [anon_sym_NULL] = ACTIONS(1368),
+    [anon_sym_nullptr] = ACTIONS(1368),
     [sym_comment] = ACTIONS(3),
   },
   [262] = {
-    [sym_identifier] = ACTIONS(1371),
-    [aux_sym_preproc_include_token1] = ACTIONS(1371),
-    [aux_sym_preproc_def_token1] = ACTIONS(1371),
-    [aux_sym_preproc_if_token1] = ACTIONS(1371),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1371),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1371),
-    [sym_preproc_directive] = ACTIONS(1371),
-    [anon_sym_LPAREN2] = ACTIONS(1373),
-    [anon_sym_BANG] = ACTIONS(1373),
-    [anon_sym_TILDE] = ACTIONS(1373),
-    [anon_sym_DASH] = ACTIONS(1371),
-    [anon_sym_PLUS] = ACTIONS(1371),
-    [anon_sym_STAR] = ACTIONS(1373),
-    [anon_sym_AMP] = ACTIONS(1373),
-    [anon_sym_SEMI] = ACTIONS(1373),
-    [anon_sym___extension__] = ACTIONS(1371),
-    [anon_sym_typedef] = ACTIONS(1371),
-    [anon_sym_extern] = ACTIONS(1371),
-    [anon_sym___attribute__] = ACTIONS(1371),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1373),
-    [anon_sym___declspec] = ACTIONS(1371),
-    [anon_sym___cdecl] = ACTIONS(1371),
-    [anon_sym___clrcall] = ACTIONS(1371),
-    [anon_sym___stdcall] = ACTIONS(1371),
-    [anon_sym___fastcall] = ACTIONS(1371),
-    [anon_sym___thiscall] = ACTIONS(1371),
-    [anon_sym___vectorcall] = ACTIONS(1371),
-    [anon_sym_LBRACE] = ACTIONS(1373),
-    [anon_sym_RBRACE] = ACTIONS(1373),
-    [anon_sym_signed] = ACTIONS(1371),
-    [anon_sym_unsigned] = ACTIONS(1371),
-    [anon_sym_long] = ACTIONS(1371),
-    [anon_sym_short] = ACTIONS(1371),
-    [anon_sym_static] = ACTIONS(1371),
-    [anon_sym_auto] = ACTIONS(1371),
-    [anon_sym_register] = ACTIONS(1371),
-    [anon_sym_inline] = ACTIONS(1371),
-    [anon_sym___inline] = ACTIONS(1371),
-    [anon_sym___inline__] = ACTIONS(1371),
-    [anon_sym___forceinline] = ACTIONS(1371),
-    [anon_sym_thread_local] = ACTIONS(1371),
-    [anon_sym___thread] = ACTIONS(1371),
-    [anon_sym_const] = ACTIONS(1371),
-    [anon_sym_constexpr] = ACTIONS(1371),
-    [anon_sym_volatile] = ACTIONS(1371),
-    [anon_sym_restrict] = ACTIONS(1371),
-    [anon_sym___restrict__] = ACTIONS(1371),
-    [anon_sym__Atomic] = ACTIONS(1371),
-    [anon_sym__Noreturn] = ACTIONS(1371),
-    [anon_sym_noreturn] = ACTIONS(1371),
-    [anon_sym__Nonnull] = ACTIONS(1371),
-    [anon_sym_alignas] = ACTIONS(1371),
-    [anon_sym__Alignas] = ACTIONS(1371),
-    [sym_primitive_type] = ACTIONS(1371),
-    [anon_sym_enum] = ACTIONS(1371),
-    [anon_sym_struct] = ACTIONS(1371),
-    [anon_sym_union] = ACTIONS(1371),
-    [anon_sym_if] = ACTIONS(1371),
-    [anon_sym_switch] = ACTIONS(1371),
-    [anon_sym_case] = ACTIONS(1371),
-    [anon_sym_default] = ACTIONS(1371),
-    [anon_sym_while] = ACTIONS(1371),
-    [anon_sym_do] = ACTIONS(1371),
-    [anon_sym_for] = ACTIONS(1371),
-    [anon_sym_return] = ACTIONS(1371),
-    [anon_sym_break] = ACTIONS(1371),
-    [anon_sym_continue] = ACTIONS(1371),
-    [anon_sym_goto] = ACTIONS(1371),
-    [anon_sym___try] = ACTIONS(1371),
-    [anon_sym___leave] = ACTIONS(1371),
-    [anon_sym_DASH_DASH] = ACTIONS(1373),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1373),
-    [anon_sym_sizeof] = ACTIONS(1371),
-    [anon_sym___alignof__] = ACTIONS(1371),
-    [anon_sym___alignof] = ACTIONS(1371),
-    [anon_sym__alignof] = ACTIONS(1371),
-    [anon_sym_alignof] = ACTIONS(1371),
-    [anon_sym__Alignof] = ACTIONS(1371),
-    [anon_sym_offsetof] = ACTIONS(1371),
-    [anon_sym__Generic] = ACTIONS(1371),
-    [anon_sym_asm] = ACTIONS(1371),
-    [anon_sym___asm__] = ACTIONS(1371),
-    [anon_sym___asm] = ACTIONS(1371),
-    [sym_number_literal] = ACTIONS(1373),
-    [anon_sym_L_SQUOTE] = ACTIONS(1373),
-    [anon_sym_u_SQUOTE] = ACTIONS(1373),
-    [anon_sym_U_SQUOTE] = ACTIONS(1373),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1373),
-    [anon_sym_SQUOTE] = ACTIONS(1373),
-    [anon_sym_L_DQUOTE] = ACTIONS(1373),
-    [anon_sym_u_DQUOTE] = ACTIONS(1373),
-    [anon_sym_U_DQUOTE] = ACTIONS(1373),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1373),
-    [anon_sym_DQUOTE] = ACTIONS(1373),
-    [sym_true] = ACTIONS(1371),
-    [sym_false] = ACTIONS(1371),
-    [anon_sym_NULL] = ACTIONS(1371),
-    [anon_sym_nullptr] = ACTIONS(1371),
+    [sym_identifier] = ACTIONS(1360),
+    [aux_sym_preproc_include_token1] = ACTIONS(1360),
+    [aux_sym_preproc_def_token1] = ACTIONS(1360),
+    [aux_sym_preproc_if_token1] = ACTIONS(1360),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1360),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1360),
+    [sym_preproc_directive] = ACTIONS(1360),
+    [anon_sym_LPAREN2] = ACTIONS(1362),
+    [anon_sym_BANG] = ACTIONS(1362),
+    [anon_sym_TILDE] = ACTIONS(1362),
+    [anon_sym_DASH] = ACTIONS(1360),
+    [anon_sym_PLUS] = ACTIONS(1360),
+    [anon_sym_STAR] = ACTIONS(1362),
+    [anon_sym_AMP] = ACTIONS(1362),
+    [anon_sym_SEMI] = ACTIONS(1362),
+    [anon_sym___extension__] = ACTIONS(1360),
+    [anon_sym_typedef] = ACTIONS(1360),
+    [anon_sym_extern] = ACTIONS(1360),
+    [anon_sym___attribute__] = ACTIONS(1360),
+    [anon_sym___attribute] = ACTIONS(1360),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1362),
+    [anon_sym___declspec] = ACTIONS(1360),
+    [anon_sym___cdecl] = ACTIONS(1360),
+    [anon_sym___clrcall] = ACTIONS(1360),
+    [anon_sym___stdcall] = ACTIONS(1360),
+    [anon_sym___fastcall] = ACTIONS(1360),
+    [anon_sym___thiscall] = ACTIONS(1360),
+    [anon_sym___vectorcall] = ACTIONS(1360),
+    [anon_sym_LBRACE] = ACTIONS(1362),
+    [anon_sym_RBRACE] = ACTIONS(1362),
+    [anon_sym_signed] = ACTIONS(1360),
+    [anon_sym_unsigned] = ACTIONS(1360),
+    [anon_sym_long] = ACTIONS(1360),
+    [anon_sym_short] = ACTIONS(1360),
+    [anon_sym_static] = ACTIONS(1360),
+    [anon_sym_auto] = ACTIONS(1360),
+    [anon_sym_register] = ACTIONS(1360),
+    [anon_sym_inline] = ACTIONS(1360),
+    [anon_sym___inline] = ACTIONS(1360),
+    [anon_sym___inline__] = ACTIONS(1360),
+    [anon_sym___forceinline] = ACTIONS(1360),
+    [anon_sym_thread_local] = ACTIONS(1360),
+    [anon_sym___thread] = ACTIONS(1360),
+    [anon_sym_const] = ACTIONS(1360),
+    [anon_sym_constexpr] = ACTIONS(1360),
+    [anon_sym_volatile] = ACTIONS(1360),
+    [anon_sym_restrict] = ACTIONS(1360),
+    [anon_sym___restrict__] = ACTIONS(1360),
+    [anon_sym__Atomic] = ACTIONS(1360),
+    [anon_sym__Noreturn] = ACTIONS(1360),
+    [anon_sym_noreturn] = ACTIONS(1360),
+    [anon_sym__Nonnull] = ACTIONS(1360),
+    [anon_sym_alignas] = ACTIONS(1360),
+    [anon_sym__Alignas] = ACTIONS(1360),
+    [sym_primitive_type] = ACTIONS(1360),
+    [anon_sym_enum] = ACTIONS(1360),
+    [anon_sym_struct] = ACTIONS(1360),
+    [anon_sym_union] = ACTIONS(1360),
+    [anon_sym_if] = ACTIONS(1360),
+    [anon_sym_switch] = ACTIONS(1360),
+    [anon_sym_case] = ACTIONS(1360),
+    [anon_sym_default] = ACTIONS(1360),
+    [anon_sym_while] = ACTIONS(1360),
+    [anon_sym_do] = ACTIONS(1360),
+    [anon_sym_for] = ACTIONS(1360),
+    [anon_sym_return] = ACTIONS(1360),
+    [anon_sym_break] = ACTIONS(1360),
+    [anon_sym_continue] = ACTIONS(1360),
+    [anon_sym_goto] = ACTIONS(1360),
+    [anon_sym___try] = ACTIONS(1360),
+    [anon_sym___leave] = ACTIONS(1360),
+    [anon_sym_DASH_DASH] = ACTIONS(1362),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1362),
+    [anon_sym_sizeof] = ACTIONS(1360),
+    [anon_sym___alignof__] = ACTIONS(1360),
+    [anon_sym___alignof] = ACTIONS(1360),
+    [anon_sym__alignof] = ACTIONS(1360),
+    [anon_sym_alignof] = ACTIONS(1360),
+    [anon_sym__Alignof] = ACTIONS(1360),
+    [anon_sym_offsetof] = ACTIONS(1360),
+    [anon_sym__Generic] = ACTIONS(1360),
+    [anon_sym_asm] = ACTIONS(1360),
+    [anon_sym___asm__] = ACTIONS(1360),
+    [anon_sym___asm] = ACTIONS(1360),
+    [sym_number_literal] = ACTIONS(1362),
+    [anon_sym_L_SQUOTE] = ACTIONS(1362),
+    [anon_sym_u_SQUOTE] = ACTIONS(1362),
+    [anon_sym_U_SQUOTE] = ACTIONS(1362),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1362),
+    [anon_sym_SQUOTE] = ACTIONS(1362),
+    [anon_sym_L_DQUOTE] = ACTIONS(1362),
+    [anon_sym_u_DQUOTE] = ACTIONS(1362),
+    [anon_sym_U_DQUOTE] = ACTIONS(1362),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1362),
+    [anon_sym_DQUOTE] = ACTIONS(1362),
+    [sym_true] = ACTIONS(1360),
+    [sym_false] = ACTIONS(1360),
+    [anon_sym_NULL] = ACTIONS(1360),
+    [anon_sym_nullptr] = ACTIONS(1360),
     [sym_comment] = ACTIONS(3),
   },
   [263] = {
-    [sym_identifier] = ACTIONS(1261),
-    [aux_sym_preproc_include_token1] = ACTIONS(1261),
-    [aux_sym_preproc_def_token1] = ACTIONS(1261),
-    [aux_sym_preproc_if_token1] = ACTIONS(1261),
-    [aux_sym_preproc_if_token2] = ACTIONS(1261),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1261),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1261),
-    [sym_preproc_directive] = ACTIONS(1261),
-    [anon_sym_LPAREN2] = ACTIONS(1263),
-    [anon_sym_BANG] = ACTIONS(1263),
-    [anon_sym_TILDE] = ACTIONS(1263),
-    [anon_sym_DASH] = ACTIONS(1261),
-    [anon_sym_PLUS] = ACTIONS(1261),
-    [anon_sym_STAR] = ACTIONS(1263),
-    [anon_sym_AMP] = ACTIONS(1263),
-    [anon_sym_SEMI] = ACTIONS(1263),
-    [anon_sym___extension__] = ACTIONS(1261),
-    [anon_sym_typedef] = ACTIONS(1261),
-    [anon_sym_extern] = ACTIONS(1261),
-    [anon_sym___attribute__] = ACTIONS(1261),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1263),
-    [anon_sym___declspec] = ACTIONS(1261),
-    [anon_sym___cdecl] = ACTIONS(1261),
-    [anon_sym___clrcall] = ACTIONS(1261),
-    [anon_sym___stdcall] = ACTIONS(1261),
-    [anon_sym___fastcall] = ACTIONS(1261),
-    [anon_sym___thiscall] = ACTIONS(1261),
-    [anon_sym___vectorcall] = ACTIONS(1261),
-    [anon_sym_LBRACE] = ACTIONS(1263),
-    [anon_sym_signed] = ACTIONS(1261),
-    [anon_sym_unsigned] = ACTIONS(1261),
-    [anon_sym_long] = ACTIONS(1261),
-    [anon_sym_short] = ACTIONS(1261),
-    [anon_sym_static] = ACTIONS(1261),
-    [anon_sym_auto] = ACTIONS(1261),
-    [anon_sym_register] = ACTIONS(1261),
-    [anon_sym_inline] = ACTIONS(1261),
-    [anon_sym___inline] = ACTIONS(1261),
-    [anon_sym___inline__] = ACTIONS(1261),
-    [anon_sym___forceinline] = ACTIONS(1261),
-    [anon_sym_thread_local] = ACTIONS(1261),
-    [anon_sym___thread] = ACTIONS(1261),
-    [anon_sym_const] = ACTIONS(1261),
-    [anon_sym_constexpr] = ACTIONS(1261),
-    [anon_sym_volatile] = ACTIONS(1261),
-    [anon_sym_restrict] = ACTIONS(1261),
-    [anon_sym___restrict__] = ACTIONS(1261),
-    [anon_sym__Atomic] = ACTIONS(1261),
-    [anon_sym__Noreturn] = ACTIONS(1261),
-    [anon_sym_noreturn] = ACTIONS(1261),
-    [anon_sym__Nonnull] = ACTIONS(1261),
-    [anon_sym_alignas] = ACTIONS(1261),
-    [anon_sym__Alignas] = ACTIONS(1261),
-    [sym_primitive_type] = ACTIONS(1261),
-    [anon_sym_enum] = ACTIONS(1261),
-    [anon_sym_struct] = ACTIONS(1261),
-    [anon_sym_union] = ACTIONS(1261),
-    [anon_sym_if] = ACTIONS(1261),
-    [anon_sym_switch] = ACTIONS(1261),
-    [anon_sym_case] = ACTIONS(1261),
-    [anon_sym_default] = ACTIONS(1261),
-    [anon_sym_while] = ACTIONS(1261),
-    [anon_sym_do] = ACTIONS(1261),
-    [anon_sym_for] = ACTIONS(1261),
-    [anon_sym_return] = ACTIONS(1261),
-    [anon_sym_break] = ACTIONS(1261),
-    [anon_sym_continue] = ACTIONS(1261),
-    [anon_sym_goto] = ACTIONS(1261),
-    [anon_sym___try] = ACTIONS(1261),
-    [anon_sym___leave] = ACTIONS(1261),
-    [anon_sym_DASH_DASH] = ACTIONS(1263),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1263),
-    [anon_sym_sizeof] = ACTIONS(1261),
-    [anon_sym___alignof__] = ACTIONS(1261),
-    [anon_sym___alignof] = ACTIONS(1261),
-    [anon_sym__alignof] = ACTIONS(1261),
-    [anon_sym_alignof] = ACTIONS(1261),
-    [anon_sym__Alignof] = ACTIONS(1261),
-    [anon_sym_offsetof] = ACTIONS(1261),
-    [anon_sym__Generic] = ACTIONS(1261),
-    [anon_sym_asm] = ACTIONS(1261),
-    [anon_sym___asm__] = ACTIONS(1261),
-    [anon_sym___asm] = ACTIONS(1261),
-    [sym_number_literal] = ACTIONS(1263),
-    [anon_sym_L_SQUOTE] = ACTIONS(1263),
-    [anon_sym_u_SQUOTE] = ACTIONS(1263),
-    [anon_sym_U_SQUOTE] = ACTIONS(1263),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1263),
-    [anon_sym_SQUOTE] = ACTIONS(1263),
-    [anon_sym_L_DQUOTE] = ACTIONS(1263),
-    [anon_sym_u_DQUOTE] = ACTIONS(1263),
-    [anon_sym_U_DQUOTE] = ACTIONS(1263),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1263),
-    [anon_sym_DQUOTE] = ACTIONS(1263),
-    [sym_true] = ACTIONS(1261),
-    [sym_false] = ACTIONS(1261),
-    [anon_sym_NULL] = ACTIONS(1261),
-    [anon_sym_nullptr] = ACTIONS(1261),
+    [sym_identifier] = ACTIONS(1372),
+    [aux_sym_preproc_include_token1] = ACTIONS(1372),
+    [aux_sym_preproc_def_token1] = ACTIONS(1372),
+    [aux_sym_preproc_if_token1] = ACTIONS(1372),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1372),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1372),
+    [sym_preproc_directive] = ACTIONS(1372),
+    [anon_sym_LPAREN2] = ACTIONS(1374),
+    [anon_sym_BANG] = ACTIONS(1374),
+    [anon_sym_TILDE] = ACTIONS(1374),
+    [anon_sym_DASH] = ACTIONS(1372),
+    [anon_sym_PLUS] = ACTIONS(1372),
+    [anon_sym_STAR] = ACTIONS(1374),
+    [anon_sym_AMP] = ACTIONS(1374),
+    [anon_sym_SEMI] = ACTIONS(1374),
+    [anon_sym___extension__] = ACTIONS(1372),
+    [anon_sym_typedef] = ACTIONS(1372),
+    [anon_sym_extern] = ACTIONS(1372),
+    [anon_sym___attribute__] = ACTIONS(1372),
+    [anon_sym___attribute] = ACTIONS(1372),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1374),
+    [anon_sym___declspec] = ACTIONS(1372),
+    [anon_sym___cdecl] = ACTIONS(1372),
+    [anon_sym___clrcall] = ACTIONS(1372),
+    [anon_sym___stdcall] = ACTIONS(1372),
+    [anon_sym___fastcall] = ACTIONS(1372),
+    [anon_sym___thiscall] = ACTIONS(1372),
+    [anon_sym___vectorcall] = ACTIONS(1372),
+    [anon_sym_LBRACE] = ACTIONS(1374),
+    [anon_sym_RBRACE] = ACTIONS(1374),
+    [anon_sym_signed] = ACTIONS(1372),
+    [anon_sym_unsigned] = ACTIONS(1372),
+    [anon_sym_long] = ACTIONS(1372),
+    [anon_sym_short] = ACTIONS(1372),
+    [anon_sym_static] = ACTIONS(1372),
+    [anon_sym_auto] = ACTIONS(1372),
+    [anon_sym_register] = ACTIONS(1372),
+    [anon_sym_inline] = ACTIONS(1372),
+    [anon_sym___inline] = ACTIONS(1372),
+    [anon_sym___inline__] = ACTIONS(1372),
+    [anon_sym___forceinline] = ACTIONS(1372),
+    [anon_sym_thread_local] = ACTIONS(1372),
+    [anon_sym___thread] = ACTIONS(1372),
+    [anon_sym_const] = ACTIONS(1372),
+    [anon_sym_constexpr] = ACTIONS(1372),
+    [anon_sym_volatile] = ACTIONS(1372),
+    [anon_sym_restrict] = ACTIONS(1372),
+    [anon_sym___restrict__] = ACTIONS(1372),
+    [anon_sym__Atomic] = ACTIONS(1372),
+    [anon_sym__Noreturn] = ACTIONS(1372),
+    [anon_sym_noreturn] = ACTIONS(1372),
+    [anon_sym__Nonnull] = ACTIONS(1372),
+    [anon_sym_alignas] = ACTIONS(1372),
+    [anon_sym__Alignas] = ACTIONS(1372),
+    [sym_primitive_type] = ACTIONS(1372),
+    [anon_sym_enum] = ACTIONS(1372),
+    [anon_sym_struct] = ACTIONS(1372),
+    [anon_sym_union] = ACTIONS(1372),
+    [anon_sym_if] = ACTIONS(1372),
+    [anon_sym_switch] = ACTIONS(1372),
+    [anon_sym_case] = ACTIONS(1372),
+    [anon_sym_default] = ACTIONS(1372),
+    [anon_sym_while] = ACTIONS(1372),
+    [anon_sym_do] = ACTIONS(1372),
+    [anon_sym_for] = ACTIONS(1372),
+    [anon_sym_return] = ACTIONS(1372),
+    [anon_sym_break] = ACTIONS(1372),
+    [anon_sym_continue] = ACTIONS(1372),
+    [anon_sym_goto] = ACTIONS(1372),
+    [anon_sym___try] = ACTIONS(1372),
+    [anon_sym___leave] = ACTIONS(1372),
+    [anon_sym_DASH_DASH] = ACTIONS(1374),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1374),
+    [anon_sym_sizeof] = ACTIONS(1372),
+    [anon_sym___alignof__] = ACTIONS(1372),
+    [anon_sym___alignof] = ACTIONS(1372),
+    [anon_sym__alignof] = ACTIONS(1372),
+    [anon_sym_alignof] = ACTIONS(1372),
+    [anon_sym__Alignof] = ACTIONS(1372),
+    [anon_sym_offsetof] = ACTIONS(1372),
+    [anon_sym__Generic] = ACTIONS(1372),
+    [anon_sym_asm] = ACTIONS(1372),
+    [anon_sym___asm__] = ACTIONS(1372),
+    [anon_sym___asm] = ACTIONS(1372),
+    [sym_number_literal] = ACTIONS(1374),
+    [anon_sym_L_SQUOTE] = ACTIONS(1374),
+    [anon_sym_u_SQUOTE] = ACTIONS(1374),
+    [anon_sym_U_SQUOTE] = ACTIONS(1374),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1374),
+    [anon_sym_SQUOTE] = ACTIONS(1374),
+    [anon_sym_L_DQUOTE] = ACTIONS(1374),
+    [anon_sym_u_DQUOTE] = ACTIONS(1374),
+    [anon_sym_U_DQUOTE] = ACTIONS(1374),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1374),
+    [anon_sym_DQUOTE] = ACTIONS(1374),
+    [sym_true] = ACTIONS(1372),
+    [sym_false] = ACTIONS(1372),
+    [anon_sym_NULL] = ACTIONS(1372),
+    [anon_sym_nullptr] = ACTIONS(1372),
     [sym_comment] = ACTIONS(3),
   },
   [264] = {
-    [sym_identifier] = ACTIONS(1281),
-    [aux_sym_preproc_include_token1] = ACTIONS(1281),
-    [aux_sym_preproc_def_token1] = ACTIONS(1281),
-    [aux_sym_preproc_if_token1] = ACTIONS(1281),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1281),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1281),
-    [sym_preproc_directive] = ACTIONS(1281),
-    [anon_sym_LPAREN2] = ACTIONS(1283),
-    [anon_sym_BANG] = ACTIONS(1283),
-    [anon_sym_TILDE] = ACTIONS(1283),
-    [anon_sym_DASH] = ACTIONS(1281),
-    [anon_sym_PLUS] = ACTIONS(1281),
-    [anon_sym_STAR] = ACTIONS(1283),
-    [anon_sym_AMP] = ACTIONS(1283),
-    [anon_sym_SEMI] = ACTIONS(1283),
-    [anon_sym___extension__] = ACTIONS(1281),
-    [anon_sym_typedef] = ACTIONS(1281),
-    [anon_sym_extern] = ACTIONS(1281),
-    [anon_sym___attribute__] = ACTIONS(1281),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1283),
-    [anon_sym___declspec] = ACTIONS(1281),
-    [anon_sym___cdecl] = ACTIONS(1281),
-    [anon_sym___clrcall] = ACTIONS(1281),
-    [anon_sym___stdcall] = ACTIONS(1281),
-    [anon_sym___fastcall] = ACTIONS(1281),
-    [anon_sym___thiscall] = ACTIONS(1281),
-    [anon_sym___vectorcall] = ACTIONS(1281),
-    [anon_sym_LBRACE] = ACTIONS(1283),
-    [anon_sym_RBRACE] = ACTIONS(1283),
-    [anon_sym_signed] = ACTIONS(1281),
-    [anon_sym_unsigned] = ACTIONS(1281),
-    [anon_sym_long] = ACTIONS(1281),
-    [anon_sym_short] = ACTIONS(1281),
-    [anon_sym_static] = ACTIONS(1281),
-    [anon_sym_auto] = ACTIONS(1281),
-    [anon_sym_register] = ACTIONS(1281),
-    [anon_sym_inline] = ACTIONS(1281),
-    [anon_sym___inline] = ACTIONS(1281),
-    [anon_sym___inline__] = ACTIONS(1281),
-    [anon_sym___forceinline] = ACTIONS(1281),
-    [anon_sym_thread_local] = ACTIONS(1281),
-    [anon_sym___thread] = ACTIONS(1281),
-    [anon_sym_const] = ACTIONS(1281),
-    [anon_sym_constexpr] = ACTIONS(1281),
-    [anon_sym_volatile] = ACTIONS(1281),
-    [anon_sym_restrict] = ACTIONS(1281),
-    [anon_sym___restrict__] = ACTIONS(1281),
-    [anon_sym__Atomic] = ACTIONS(1281),
-    [anon_sym__Noreturn] = ACTIONS(1281),
-    [anon_sym_noreturn] = ACTIONS(1281),
-    [anon_sym__Nonnull] = ACTIONS(1281),
-    [anon_sym_alignas] = ACTIONS(1281),
-    [anon_sym__Alignas] = ACTIONS(1281),
-    [sym_primitive_type] = ACTIONS(1281),
-    [anon_sym_enum] = ACTIONS(1281),
-    [anon_sym_struct] = ACTIONS(1281),
-    [anon_sym_union] = ACTIONS(1281),
-    [anon_sym_if] = ACTIONS(1281),
-    [anon_sym_switch] = ACTIONS(1281),
-    [anon_sym_case] = ACTIONS(1281),
-    [anon_sym_default] = ACTIONS(1281),
-    [anon_sym_while] = ACTIONS(1281),
-    [anon_sym_do] = ACTIONS(1281),
-    [anon_sym_for] = ACTIONS(1281),
-    [anon_sym_return] = ACTIONS(1281),
-    [anon_sym_break] = ACTIONS(1281),
-    [anon_sym_continue] = ACTIONS(1281),
-    [anon_sym_goto] = ACTIONS(1281),
-    [anon_sym___try] = ACTIONS(1281),
-    [anon_sym___leave] = ACTIONS(1281),
-    [anon_sym_DASH_DASH] = ACTIONS(1283),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1283),
-    [anon_sym_sizeof] = ACTIONS(1281),
-    [anon_sym___alignof__] = ACTIONS(1281),
-    [anon_sym___alignof] = ACTIONS(1281),
-    [anon_sym__alignof] = ACTIONS(1281),
-    [anon_sym_alignof] = ACTIONS(1281),
-    [anon_sym__Alignof] = ACTIONS(1281),
-    [anon_sym_offsetof] = ACTIONS(1281),
-    [anon_sym__Generic] = ACTIONS(1281),
-    [anon_sym_asm] = ACTIONS(1281),
-    [anon_sym___asm__] = ACTIONS(1281),
-    [anon_sym___asm] = ACTIONS(1281),
-    [sym_number_literal] = ACTIONS(1283),
-    [anon_sym_L_SQUOTE] = ACTIONS(1283),
-    [anon_sym_u_SQUOTE] = ACTIONS(1283),
-    [anon_sym_U_SQUOTE] = ACTIONS(1283),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1283),
-    [anon_sym_SQUOTE] = ACTIONS(1283),
-    [anon_sym_L_DQUOTE] = ACTIONS(1283),
-    [anon_sym_u_DQUOTE] = ACTIONS(1283),
-    [anon_sym_U_DQUOTE] = ACTIONS(1283),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1283),
-    [anon_sym_DQUOTE] = ACTIONS(1283),
-    [sym_true] = ACTIONS(1281),
-    [sym_false] = ACTIONS(1281),
-    [anon_sym_NULL] = ACTIONS(1281),
-    [anon_sym_nullptr] = ACTIONS(1281),
+    [sym_identifier] = ACTIONS(1336),
+    [aux_sym_preproc_include_token1] = ACTIONS(1336),
+    [aux_sym_preproc_def_token1] = ACTIONS(1336),
+    [aux_sym_preproc_if_token1] = ACTIONS(1336),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1336),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1336),
+    [sym_preproc_directive] = ACTIONS(1336),
+    [anon_sym_LPAREN2] = ACTIONS(1338),
+    [anon_sym_BANG] = ACTIONS(1338),
+    [anon_sym_TILDE] = ACTIONS(1338),
+    [anon_sym_DASH] = ACTIONS(1336),
+    [anon_sym_PLUS] = ACTIONS(1336),
+    [anon_sym_STAR] = ACTIONS(1338),
+    [anon_sym_AMP] = ACTIONS(1338),
+    [anon_sym_SEMI] = ACTIONS(1338),
+    [anon_sym___extension__] = ACTIONS(1336),
+    [anon_sym_typedef] = ACTIONS(1336),
+    [anon_sym_extern] = ACTIONS(1336),
+    [anon_sym___attribute__] = ACTIONS(1336),
+    [anon_sym___attribute] = ACTIONS(1336),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1338),
+    [anon_sym___declspec] = ACTIONS(1336),
+    [anon_sym___cdecl] = ACTIONS(1336),
+    [anon_sym___clrcall] = ACTIONS(1336),
+    [anon_sym___stdcall] = ACTIONS(1336),
+    [anon_sym___fastcall] = ACTIONS(1336),
+    [anon_sym___thiscall] = ACTIONS(1336),
+    [anon_sym___vectorcall] = ACTIONS(1336),
+    [anon_sym_LBRACE] = ACTIONS(1338),
+    [anon_sym_RBRACE] = ACTIONS(1338),
+    [anon_sym_signed] = ACTIONS(1336),
+    [anon_sym_unsigned] = ACTIONS(1336),
+    [anon_sym_long] = ACTIONS(1336),
+    [anon_sym_short] = ACTIONS(1336),
+    [anon_sym_static] = ACTIONS(1336),
+    [anon_sym_auto] = ACTIONS(1336),
+    [anon_sym_register] = ACTIONS(1336),
+    [anon_sym_inline] = ACTIONS(1336),
+    [anon_sym___inline] = ACTIONS(1336),
+    [anon_sym___inline__] = ACTIONS(1336),
+    [anon_sym___forceinline] = ACTIONS(1336),
+    [anon_sym_thread_local] = ACTIONS(1336),
+    [anon_sym___thread] = ACTIONS(1336),
+    [anon_sym_const] = ACTIONS(1336),
+    [anon_sym_constexpr] = ACTIONS(1336),
+    [anon_sym_volatile] = ACTIONS(1336),
+    [anon_sym_restrict] = ACTIONS(1336),
+    [anon_sym___restrict__] = ACTIONS(1336),
+    [anon_sym__Atomic] = ACTIONS(1336),
+    [anon_sym__Noreturn] = ACTIONS(1336),
+    [anon_sym_noreturn] = ACTIONS(1336),
+    [anon_sym__Nonnull] = ACTIONS(1336),
+    [anon_sym_alignas] = ACTIONS(1336),
+    [anon_sym__Alignas] = ACTIONS(1336),
+    [sym_primitive_type] = ACTIONS(1336),
+    [anon_sym_enum] = ACTIONS(1336),
+    [anon_sym_struct] = ACTIONS(1336),
+    [anon_sym_union] = ACTIONS(1336),
+    [anon_sym_if] = ACTIONS(1336),
+    [anon_sym_switch] = ACTIONS(1336),
+    [anon_sym_case] = ACTIONS(1336),
+    [anon_sym_default] = ACTIONS(1336),
+    [anon_sym_while] = ACTIONS(1336),
+    [anon_sym_do] = ACTIONS(1336),
+    [anon_sym_for] = ACTIONS(1336),
+    [anon_sym_return] = ACTIONS(1336),
+    [anon_sym_break] = ACTIONS(1336),
+    [anon_sym_continue] = ACTIONS(1336),
+    [anon_sym_goto] = ACTIONS(1336),
+    [anon_sym___try] = ACTIONS(1336),
+    [anon_sym___leave] = ACTIONS(1336),
+    [anon_sym_DASH_DASH] = ACTIONS(1338),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1338),
+    [anon_sym_sizeof] = ACTIONS(1336),
+    [anon_sym___alignof__] = ACTIONS(1336),
+    [anon_sym___alignof] = ACTIONS(1336),
+    [anon_sym__alignof] = ACTIONS(1336),
+    [anon_sym_alignof] = ACTIONS(1336),
+    [anon_sym__Alignof] = ACTIONS(1336),
+    [anon_sym_offsetof] = ACTIONS(1336),
+    [anon_sym__Generic] = ACTIONS(1336),
+    [anon_sym_asm] = ACTIONS(1336),
+    [anon_sym___asm__] = ACTIONS(1336),
+    [anon_sym___asm] = ACTIONS(1336),
+    [sym_number_literal] = ACTIONS(1338),
+    [anon_sym_L_SQUOTE] = ACTIONS(1338),
+    [anon_sym_u_SQUOTE] = ACTIONS(1338),
+    [anon_sym_U_SQUOTE] = ACTIONS(1338),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1338),
+    [anon_sym_SQUOTE] = ACTIONS(1338),
+    [anon_sym_L_DQUOTE] = ACTIONS(1338),
+    [anon_sym_u_DQUOTE] = ACTIONS(1338),
+    [anon_sym_U_DQUOTE] = ACTIONS(1338),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1338),
+    [anon_sym_DQUOTE] = ACTIONS(1338),
+    [sym_true] = ACTIONS(1336),
+    [sym_false] = ACTIONS(1336),
+    [anon_sym_NULL] = ACTIONS(1336),
+    [anon_sym_nullptr] = ACTIONS(1336),
     [sym_comment] = ACTIONS(3),
   },
   [265] = {
-    [sym_identifier] = ACTIONS(1257),
-    [aux_sym_preproc_include_token1] = ACTIONS(1257),
-    [aux_sym_preproc_def_token1] = ACTIONS(1257),
-    [aux_sym_preproc_if_token1] = ACTIONS(1257),
-    [aux_sym_preproc_if_token2] = ACTIONS(1257),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1257),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1257),
-    [sym_preproc_directive] = ACTIONS(1257),
-    [anon_sym_LPAREN2] = ACTIONS(1259),
-    [anon_sym_BANG] = ACTIONS(1259),
-    [anon_sym_TILDE] = ACTIONS(1259),
-    [anon_sym_DASH] = ACTIONS(1257),
-    [anon_sym_PLUS] = ACTIONS(1257),
-    [anon_sym_STAR] = ACTIONS(1259),
-    [anon_sym_AMP] = ACTIONS(1259),
-    [anon_sym_SEMI] = ACTIONS(1259),
-    [anon_sym___extension__] = ACTIONS(1257),
-    [anon_sym_typedef] = ACTIONS(1257),
-    [anon_sym_extern] = ACTIONS(1257),
-    [anon_sym___attribute__] = ACTIONS(1257),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1259),
-    [anon_sym___declspec] = ACTIONS(1257),
-    [anon_sym___cdecl] = ACTIONS(1257),
-    [anon_sym___clrcall] = ACTIONS(1257),
-    [anon_sym___stdcall] = ACTIONS(1257),
-    [anon_sym___fastcall] = ACTIONS(1257),
-    [anon_sym___thiscall] = ACTIONS(1257),
-    [anon_sym___vectorcall] = ACTIONS(1257),
-    [anon_sym_LBRACE] = ACTIONS(1259),
-    [anon_sym_signed] = ACTIONS(1257),
-    [anon_sym_unsigned] = ACTIONS(1257),
-    [anon_sym_long] = ACTIONS(1257),
-    [anon_sym_short] = ACTIONS(1257),
-    [anon_sym_static] = ACTIONS(1257),
-    [anon_sym_auto] = ACTIONS(1257),
-    [anon_sym_register] = ACTIONS(1257),
-    [anon_sym_inline] = ACTIONS(1257),
-    [anon_sym___inline] = ACTIONS(1257),
-    [anon_sym___inline__] = ACTIONS(1257),
-    [anon_sym___forceinline] = ACTIONS(1257),
-    [anon_sym_thread_local] = ACTIONS(1257),
-    [anon_sym___thread] = ACTIONS(1257),
-    [anon_sym_const] = ACTIONS(1257),
-    [anon_sym_constexpr] = ACTIONS(1257),
-    [anon_sym_volatile] = ACTIONS(1257),
-    [anon_sym_restrict] = ACTIONS(1257),
-    [anon_sym___restrict__] = ACTIONS(1257),
-    [anon_sym__Atomic] = ACTIONS(1257),
-    [anon_sym__Noreturn] = ACTIONS(1257),
-    [anon_sym_noreturn] = ACTIONS(1257),
-    [anon_sym__Nonnull] = ACTIONS(1257),
-    [anon_sym_alignas] = ACTIONS(1257),
-    [anon_sym__Alignas] = ACTIONS(1257),
-    [sym_primitive_type] = ACTIONS(1257),
-    [anon_sym_enum] = ACTIONS(1257),
-    [anon_sym_struct] = ACTIONS(1257),
-    [anon_sym_union] = ACTIONS(1257),
-    [anon_sym_if] = ACTIONS(1257),
-    [anon_sym_switch] = ACTIONS(1257),
-    [anon_sym_case] = ACTIONS(1257),
-    [anon_sym_default] = ACTIONS(1257),
-    [anon_sym_while] = ACTIONS(1257),
-    [anon_sym_do] = ACTIONS(1257),
-    [anon_sym_for] = ACTIONS(1257),
-    [anon_sym_return] = ACTIONS(1257),
-    [anon_sym_break] = ACTIONS(1257),
-    [anon_sym_continue] = ACTIONS(1257),
-    [anon_sym_goto] = ACTIONS(1257),
-    [anon_sym___try] = ACTIONS(1257),
-    [anon_sym___leave] = ACTIONS(1257),
-    [anon_sym_DASH_DASH] = ACTIONS(1259),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1259),
-    [anon_sym_sizeof] = ACTIONS(1257),
-    [anon_sym___alignof__] = ACTIONS(1257),
-    [anon_sym___alignof] = ACTIONS(1257),
-    [anon_sym__alignof] = ACTIONS(1257),
-    [anon_sym_alignof] = ACTIONS(1257),
-    [anon_sym__Alignof] = ACTIONS(1257),
-    [anon_sym_offsetof] = ACTIONS(1257),
-    [anon_sym__Generic] = ACTIONS(1257),
-    [anon_sym_asm] = ACTIONS(1257),
-    [anon_sym___asm__] = ACTIONS(1257),
-    [anon_sym___asm] = ACTIONS(1257),
-    [sym_number_literal] = ACTIONS(1259),
-    [anon_sym_L_SQUOTE] = ACTIONS(1259),
-    [anon_sym_u_SQUOTE] = ACTIONS(1259),
-    [anon_sym_U_SQUOTE] = ACTIONS(1259),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1259),
-    [anon_sym_SQUOTE] = ACTIONS(1259),
-    [anon_sym_L_DQUOTE] = ACTIONS(1259),
-    [anon_sym_u_DQUOTE] = ACTIONS(1259),
-    [anon_sym_U_DQUOTE] = ACTIONS(1259),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1259),
-    [anon_sym_DQUOTE] = ACTIONS(1259),
-    [sym_true] = ACTIONS(1257),
-    [sym_false] = ACTIONS(1257),
-    [anon_sym_NULL] = ACTIONS(1257),
-    [anon_sym_nullptr] = ACTIONS(1257),
+    [sym_identifier] = ACTIONS(1376),
+    [aux_sym_preproc_include_token1] = ACTIONS(1376),
+    [aux_sym_preproc_def_token1] = ACTIONS(1376),
+    [aux_sym_preproc_if_token1] = ACTIONS(1376),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1376),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1376),
+    [sym_preproc_directive] = ACTIONS(1376),
+    [anon_sym_LPAREN2] = ACTIONS(1378),
+    [anon_sym_BANG] = ACTIONS(1378),
+    [anon_sym_TILDE] = ACTIONS(1378),
+    [anon_sym_DASH] = ACTIONS(1376),
+    [anon_sym_PLUS] = ACTIONS(1376),
+    [anon_sym_STAR] = ACTIONS(1378),
+    [anon_sym_AMP] = ACTIONS(1378),
+    [anon_sym_SEMI] = ACTIONS(1378),
+    [anon_sym___extension__] = ACTIONS(1376),
+    [anon_sym_typedef] = ACTIONS(1376),
+    [anon_sym_extern] = ACTIONS(1376),
+    [anon_sym___attribute__] = ACTIONS(1376),
+    [anon_sym___attribute] = ACTIONS(1376),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1378),
+    [anon_sym___declspec] = ACTIONS(1376),
+    [anon_sym___cdecl] = ACTIONS(1376),
+    [anon_sym___clrcall] = ACTIONS(1376),
+    [anon_sym___stdcall] = ACTIONS(1376),
+    [anon_sym___fastcall] = ACTIONS(1376),
+    [anon_sym___thiscall] = ACTIONS(1376),
+    [anon_sym___vectorcall] = ACTIONS(1376),
+    [anon_sym_LBRACE] = ACTIONS(1378),
+    [anon_sym_RBRACE] = ACTIONS(1378),
+    [anon_sym_signed] = ACTIONS(1376),
+    [anon_sym_unsigned] = ACTIONS(1376),
+    [anon_sym_long] = ACTIONS(1376),
+    [anon_sym_short] = ACTIONS(1376),
+    [anon_sym_static] = ACTIONS(1376),
+    [anon_sym_auto] = ACTIONS(1376),
+    [anon_sym_register] = ACTIONS(1376),
+    [anon_sym_inline] = ACTIONS(1376),
+    [anon_sym___inline] = ACTIONS(1376),
+    [anon_sym___inline__] = ACTIONS(1376),
+    [anon_sym___forceinline] = ACTIONS(1376),
+    [anon_sym_thread_local] = ACTIONS(1376),
+    [anon_sym___thread] = ACTIONS(1376),
+    [anon_sym_const] = ACTIONS(1376),
+    [anon_sym_constexpr] = ACTIONS(1376),
+    [anon_sym_volatile] = ACTIONS(1376),
+    [anon_sym_restrict] = ACTIONS(1376),
+    [anon_sym___restrict__] = ACTIONS(1376),
+    [anon_sym__Atomic] = ACTIONS(1376),
+    [anon_sym__Noreturn] = ACTIONS(1376),
+    [anon_sym_noreturn] = ACTIONS(1376),
+    [anon_sym__Nonnull] = ACTIONS(1376),
+    [anon_sym_alignas] = ACTIONS(1376),
+    [anon_sym__Alignas] = ACTIONS(1376),
+    [sym_primitive_type] = ACTIONS(1376),
+    [anon_sym_enum] = ACTIONS(1376),
+    [anon_sym_struct] = ACTIONS(1376),
+    [anon_sym_union] = ACTIONS(1376),
+    [anon_sym_if] = ACTIONS(1376),
+    [anon_sym_switch] = ACTIONS(1376),
+    [anon_sym_case] = ACTIONS(1376),
+    [anon_sym_default] = ACTIONS(1376),
+    [anon_sym_while] = ACTIONS(1376),
+    [anon_sym_do] = ACTIONS(1376),
+    [anon_sym_for] = ACTIONS(1376),
+    [anon_sym_return] = ACTIONS(1376),
+    [anon_sym_break] = ACTIONS(1376),
+    [anon_sym_continue] = ACTIONS(1376),
+    [anon_sym_goto] = ACTIONS(1376),
+    [anon_sym___try] = ACTIONS(1376),
+    [anon_sym___leave] = ACTIONS(1376),
+    [anon_sym_DASH_DASH] = ACTIONS(1378),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1378),
+    [anon_sym_sizeof] = ACTIONS(1376),
+    [anon_sym___alignof__] = ACTIONS(1376),
+    [anon_sym___alignof] = ACTIONS(1376),
+    [anon_sym__alignof] = ACTIONS(1376),
+    [anon_sym_alignof] = ACTIONS(1376),
+    [anon_sym__Alignof] = ACTIONS(1376),
+    [anon_sym_offsetof] = ACTIONS(1376),
+    [anon_sym__Generic] = ACTIONS(1376),
+    [anon_sym_asm] = ACTIONS(1376),
+    [anon_sym___asm__] = ACTIONS(1376),
+    [anon_sym___asm] = ACTIONS(1376),
+    [sym_number_literal] = ACTIONS(1378),
+    [anon_sym_L_SQUOTE] = ACTIONS(1378),
+    [anon_sym_u_SQUOTE] = ACTIONS(1378),
+    [anon_sym_U_SQUOTE] = ACTIONS(1378),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1378),
+    [anon_sym_SQUOTE] = ACTIONS(1378),
+    [anon_sym_L_DQUOTE] = ACTIONS(1378),
+    [anon_sym_u_DQUOTE] = ACTIONS(1378),
+    [anon_sym_U_DQUOTE] = ACTIONS(1378),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1378),
+    [anon_sym_DQUOTE] = ACTIONS(1378),
+    [sym_true] = ACTIONS(1376),
+    [sym_false] = ACTIONS(1376),
+    [anon_sym_NULL] = ACTIONS(1376),
+    [anon_sym_nullptr] = ACTIONS(1376),
     [sym_comment] = ACTIONS(3),
   },
   [266] = {
-    [sym_identifier] = ACTIONS(1281),
-    [aux_sym_preproc_include_token1] = ACTIONS(1281),
-    [aux_sym_preproc_def_token1] = ACTIONS(1281),
-    [aux_sym_preproc_if_token1] = ACTIONS(1281),
-    [aux_sym_preproc_if_token2] = ACTIONS(1281),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1281),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1281),
-    [sym_preproc_directive] = ACTIONS(1281),
-    [anon_sym_LPAREN2] = ACTIONS(1283),
-    [anon_sym_BANG] = ACTIONS(1283),
-    [anon_sym_TILDE] = ACTIONS(1283),
-    [anon_sym_DASH] = ACTIONS(1281),
-    [anon_sym_PLUS] = ACTIONS(1281),
-    [anon_sym_STAR] = ACTIONS(1283),
-    [anon_sym_AMP] = ACTIONS(1283),
-    [anon_sym_SEMI] = ACTIONS(1283),
-    [anon_sym___extension__] = ACTIONS(1281),
-    [anon_sym_typedef] = ACTIONS(1281),
-    [anon_sym_extern] = ACTIONS(1281),
-    [anon_sym___attribute__] = ACTIONS(1281),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1283),
-    [anon_sym___declspec] = ACTIONS(1281),
-    [anon_sym___cdecl] = ACTIONS(1281),
-    [anon_sym___clrcall] = ACTIONS(1281),
-    [anon_sym___stdcall] = ACTIONS(1281),
-    [anon_sym___fastcall] = ACTIONS(1281),
-    [anon_sym___thiscall] = ACTIONS(1281),
-    [anon_sym___vectorcall] = ACTIONS(1281),
-    [anon_sym_LBRACE] = ACTIONS(1283),
-    [anon_sym_signed] = ACTIONS(1281),
-    [anon_sym_unsigned] = ACTIONS(1281),
-    [anon_sym_long] = ACTIONS(1281),
-    [anon_sym_short] = ACTIONS(1281),
-    [anon_sym_static] = ACTIONS(1281),
-    [anon_sym_auto] = ACTIONS(1281),
-    [anon_sym_register] = ACTIONS(1281),
-    [anon_sym_inline] = ACTIONS(1281),
-    [anon_sym___inline] = ACTIONS(1281),
-    [anon_sym___inline__] = ACTIONS(1281),
-    [anon_sym___forceinline] = ACTIONS(1281),
-    [anon_sym_thread_local] = ACTIONS(1281),
-    [anon_sym___thread] = ACTIONS(1281),
-    [anon_sym_const] = ACTIONS(1281),
-    [anon_sym_constexpr] = ACTIONS(1281),
-    [anon_sym_volatile] = ACTIONS(1281),
-    [anon_sym_restrict] = ACTIONS(1281),
-    [anon_sym___restrict__] = ACTIONS(1281),
-    [anon_sym__Atomic] = ACTIONS(1281),
-    [anon_sym__Noreturn] = ACTIONS(1281),
-    [anon_sym_noreturn] = ACTIONS(1281),
-    [anon_sym__Nonnull] = ACTIONS(1281),
-    [anon_sym_alignas] = ACTIONS(1281),
-    [anon_sym__Alignas] = ACTIONS(1281),
-    [sym_primitive_type] = ACTIONS(1281),
-    [anon_sym_enum] = ACTIONS(1281),
-    [anon_sym_struct] = ACTIONS(1281),
-    [anon_sym_union] = ACTIONS(1281),
-    [anon_sym_if] = ACTIONS(1281),
-    [anon_sym_switch] = ACTIONS(1281),
-    [anon_sym_case] = ACTIONS(1281),
-    [anon_sym_default] = ACTIONS(1281),
-    [anon_sym_while] = ACTIONS(1281),
-    [anon_sym_do] = ACTIONS(1281),
-    [anon_sym_for] = ACTIONS(1281),
-    [anon_sym_return] = ACTIONS(1281),
-    [anon_sym_break] = ACTIONS(1281),
-    [anon_sym_continue] = ACTIONS(1281),
-    [anon_sym_goto] = ACTIONS(1281),
-    [anon_sym___try] = ACTIONS(1281),
-    [anon_sym___leave] = ACTIONS(1281),
-    [anon_sym_DASH_DASH] = ACTIONS(1283),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1283),
-    [anon_sym_sizeof] = ACTIONS(1281),
-    [anon_sym___alignof__] = ACTIONS(1281),
-    [anon_sym___alignof] = ACTIONS(1281),
-    [anon_sym__alignof] = ACTIONS(1281),
-    [anon_sym_alignof] = ACTIONS(1281),
-    [anon_sym__Alignof] = ACTIONS(1281),
-    [anon_sym_offsetof] = ACTIONS(1281),
-    [anon_sym__Generic] = ACTIONS(1281),
-    [anon_sym_asm] = ACTIONS(1281),
-    [anon_sym___asm__] = ACTIONS(1281),
-    [anon_sym___asm] = ACTIONS(1281),
-    [sym_number_literal] = ACTIONS(1283),
-    [anon_sym_L_SQUOTE] = ACTIONS(1283),
-    [anon_sym_u_SQUOTE] = ACTIONS(1283),
-    [anon_sym_U_SQUOTE] = ACTIONS(1283),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1283),
-    [anon_sym_SQUOTE] = ACTIONS(1283),
-    [anon_sym_L_DQUOTE] = ACTIONS(1283),
-    [anon_sym_u_DQUOTE] = ACTIONS(1283),
-    [anon_sym_U_DQUOTE] = ACTIONS(1283),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1283),
-    [anon_sym_DQUOTE] = ACTIONS(1283),
-    [sym_true] = ACTIONS(1281),
-    [sym_false] = ACTIONS(1281),
-    [anon_sym_NULL] = ACTIONS(1281),
-    [anon_sym_nullptr] = ACTIONS(1281),
+    [sym_identifier] = ACTIONS(1272),
+    [aux_sym_preproc_include_token1] = ACTIONS(1272),
+    [aux_sym_preproc_def_token1] = ACTIONS(1272),
+    [aux_sym_preproc_if_token1] = ACTIONS(1272),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1272),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1272),
+    [sym_preproc_directive] = ACTIONS(1272),
+    [anon_sym_LPAREN2] = ACTIONS(1274),
+    [anon_sym_BANG] = ACTIONS(1274),
+    [anon_sym_TILDE] = ACTIONS(1274),
+    [anon_sym_DASH] = ACTIONS(1272),
+    [anon_sym_PLUS] = ACTIONS(1272),
+    [anon_sym_STAR] = ACTIONS(1274),
+    [anon_sym_AMP] = ACTIONS(1274),
+    [anon_sym_SEMI] = ACTIONS(1274),
+    [anon_sym___extension__] = ACTIONS(1272),
+    [anon_sym_typedef] = ACTIONS(1272),
+    [anon_sym_extern] = ACTIONS(1272),
+    [anon_sym___attribute__] = ACTIONS(1272),
+    [anon_sym___attribute] = ACTIONS(1272),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1274),
+    [anon_sym___declspec] = ACTIONS(1272),
+    [anon_sym___cdecl] = ACTIONS(1272),
+    [anon_sym___clrcall] = ACTIONS(1272),
+    [anon_sym___stdcall] = ACTIONS(1272),
+    [anon_sym___fastcall] = ACTIONS(1272),
+    [anon_sym___thiscall] = ACTIONS(1272),
+    [anon_sym___vectorcall] = ACTIONS(1272),
+    [anon_sym_LBRACE] = ACTIONS(1274),
+    [anon_sym_RBRACE] = ACTIONS(1274),
+    [anon_sym_signed] = ACTIONS(1272),
+    [anon_sym_unsigned] = ACTIONS(1272),
+    [anon_sym_long] = ACTIONS(1272),
+    [anon_sym_short] = ACTIONS(1272),
+    [anon_sym_static] = ACTIONS(1272),
+    [anon_sym_auto] = ACTIONS(1272),
+    [anon_sym_register] = ACTIONS(1272),
+    [anon_sym_inline] = ACTIONS(1272),
+    [anon_sym___inline] = ACTIONS(1272),
+    [anon_sym___inline__] = ACTIONS(1272),
+    [anon_sym___forceinline] = ACTIONS(1272),
+    [anon_sym_thread_local] = ACTIONS(1272),
+    [anon_sym___thread] = ACTIONS(1272),
+    [anon_sym_const] = ACTIONS(1272),
+    [anon_sym_constexpr] = ACTIONS(1272),
+    [anon_sym_volatile] = ACTIONS(1272),
+    [anon_sym_restrict] = ACTIONS(1272),
+    [anon_sym___restrict__] = ACTIONS(1272),
+    [anon_sym__Atomic] = ACTIONS(1272),
+    [anon_sym__Noreturn] = ACTIONS(1272),
+    [anon_sym_noreturn] = ACTIONS(1272),
+    [anon_sym__Nonnull] = ACTIONS(1272),
+    [anon_sym_alignas] = ACTIONS(1272),
+    [anon_sym__Alignas] = ACTIONS(1272),
+    [sym_primitive_type] = ACTIONS(1272),
+    [anon_sym_enum] = ACTIONS(1272),
+    [anon_sym_struct] = ACTIONS(1272),
+    [anon_sym_union] = ACTIONS(1272),
+    [anon_sym_if] = ACTIONS(1272),
+    [anon_sym_switch] = ACTIONS(1272),
+    [anon_sym_case] = ACTIONS(1272),
+    [anon_sym_default] = ACTIONS(1272),
+    [anon_sym_while] = ACTIONS(1272),
+    [anon_sym_do] = ACTIONS(1272),
+    [anon_sym_for] = ACTIONS(1272),
+    [anon_sym_return] = ACTIONS(1272),
+    [anon_sym_break] = ACTIONS(1272),
+    [anon_sym_continue] = ACTIONS(1272),
+    [anon_sym_goto] = ACTIONS(1272),
+    [anon_sym___try] = ACTIONS(1272),
+    [anon_sym___leave] = ACTIONS(1272),
+    [anon_sym_DASH_DASH] = ACTIONS(1274),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1274),
+    [anon_sym_sizeof] = ACTIONS(1272),
+    [anon_sym___alignof__] = ACTIONS(1272),
+    [anon_sym___alignof] = ACTIONS(1272),
+    [anon_sym__alignof] = ACTIONS(1272),
+    [anon_sym_alignof] = ACTIONS(1272),
+    [anon_sym__Alignof] = ACTIONS(1272),
+    [anon_sym_offsetof] = ACTIONS(1272),
+    [anon_sym__Generic] = ACTIONS(1272),
+    [anon_sym_asm] = ACTIONS(1272),
+    [anon_sym___asm__] = ACTIONS(1272),
+    [anon_sym___asm] = ACTIONS(1272),
+    [sym_number_literal] = ACTIONS(1274),
+    [anon_sym_L_SQUOTE] = ACTIONS(1274),
+    [anon_sym_u_SQUOTE] = ACTIONS(1274),
+    [anon_sym_U_SQUOTE] = ACTIONS(1274),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1274),
+    [anon_sym_SQUOTE] = ACTIONS(1274),
+    [anon_sym_L_DQUOTE] = ACTIONS(1274),
+    [anon_sym_u_DQUOTE] = ACTIONS(1274),
+    [anon_sym_U_DQUOTE] = ACTIONS(1274),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1274),
+    [anon_sym_DQUOTE] = ACTIONS(1274),
+    [sym_true] = ACTIONS(1272),
+    [sym_false] = ACTIONS(1272),
+    [anon_sym_NULL] = ACTIONS(1272),
+    [anon_sym_nullptr] = ACTIONS(1272),
     [sym_comment] = ACTIONS(3),
   },
   [267] = {
-    [sym_identifier] = ACTIONS(1289),
-    [aux_sym_preproc_include_token1] = ACTIONS(1289),
-    [aux_sym_preproc_def_token1] = ACTIONS(1289),
-    [aux_sym_preproc_if_token1] = ACTIONS(1289),
-    [aux_sym_preproc_if_token2] = ACTIONS(1289),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1289),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1289),
-    [sym_preproc_directive] = ACTIONS(1289),
-    [anon_sym_LPAREN2] = ACTIONS(1291),
-    [anon_sym_BANG] = ACTIONS(1291),
-    [anon_sym_TILDE] = ACTIONS(1291),
-    [anon_sym_DASH] = ACTIONS(1289),
-    [anon_sym_PLUS] = ACTIONS(1289),
-    [anon_sym_STAR] = ACTIONS(1291),
-    [anon_sym_AMP] = ACTIONS(1291),
-    [anon_sym_SEMI] = ACTIONS(1291),
-    [anon_sym___extension__] = ACTIONS(1289),
-    [anon_sym_typedef] = ACTIONS(1289),
-    [anon_sym_extern] = ACTIONS(1289),
-    [anon_sym___attribute__] = ACTIONS(1289),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1291),
-    [anon_sym___declspec] = ACTIONS(1289),
-    [anon_sym___cdecl] = ACTIONS(1289),
-    [anon_sym___clrcall] = ACTIONS(1289),
-    [anon_sym___stdcall] = ACTIONS(1289),
-    [anon_sym___fastcall] = ACTIONS(1289),
-    [anon_sym___thiscall] = ACTIONS(1289),
-    [anon_sym___vectorcall] = ACTIONS(1289),
-    [anon_sym_LBRACE] = ACTIONS(1291),
-    [anon_sym_signed] = ACTIONS(1289),
-    [anon_sym_unsigned] = ACTIONS(1289),
-    [anon_sym_long] = ACTIONS(1289),
-    [anon_sym_short] = ACTIONS(1289),
-    [anon_sym_static] = ACTIONS(1289),
-    [anon_sym_auto] = ACTIONS(1289),
-    [anon_sym_register] = ACTIONS(1289),
-    [anon_sym_inline] = ACTIONS(1289),
-    [anon_sym___inline] = ACTIONS(1289),
-    [anon_sym___inline__] = ACTIONS(1289),
-    [anon_sym___forceinline] = ACTIONS(1289),
-    [anon_sym_thread_local] = ACTIONS(1289),
-    [anon_sym___thread] = ACTIONS(1289),
-    [anon_sym_const] = ACTIONS(1289),
-    [anon_sym_constexpr] = ACTIONS(1289),
-    [anon_sym_volatile] = ACTIONS(1289),
-    [anon_sym_restrict] = ACTIONS(1289),
-    [anon_sym___restrict__] = ACTIONS(1289),
-    [anon_sym__Atomic] = ACTIONS(1289),
-    [anon_sym__Noreturn] = ACTIONS(1289),
-    [anon_sym_noreturn] = ACTIONS(1289),
-    [anon_sym__Nonnull] = ACTIONS(1289),
-    [anon_sym_alignas] = ACTIONS(1289),
-    [anon_sym__Alignas] = ACTIONS(1289),
-    [sym_primitive_type] = ACTIONS(1289),
-    [anon_sym_enum] = ACTIONS(1289),
-    [anon_sym_struct] = ACTIONS(1289),
-    [anon_sym_union] = ACTIONS(1289),
-    [anon_sym_if] = ACTIONS(1289),
-    [anon_sym_switch] = ACTIONS(1289),
-    [anon_sym_case] = ACTIONS(1289),
-    [anon_sym_default] = ACTIONS(1289),
-    [anon_sym_while] = ACTIONS(1289),
-    [anon_sym_do] = ACTIONS(1289),
-    [anon_sym_for] = ACTIONS(1289),
-    [anon_sym_return] = ACTIONS(1289),
-    [anon_sym_break] = ACTIONS(1289),
-    [anon_sym_continue] = ACTIONS(1289),
-    [anon_sym_goto] = ACTIONS(1289),
-    [anon_sym___try] = ACTIONS(1289),
-    [anon_sym___leave] = ACTIONS(1289),
-    [anon_sym_DASH_DASH] = ACTIONS(1291),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1291),
-    [anon_sym_sizeof] = ACTIONS(1289),
-    [anon_sym___alignof__] = ACTIONS(1289),
-    [anon_sym___alignof] = ACTIONS(1289),
-    [anon_sym__alignof] = ACTIONS(1289),
-    [anon_sym_alignof] = ACTIONS(1289),
-    [anon_sym__Alignof] = ACTIONS(1289),
-    [anon_sym_offsetof] = ACTIONS(1289),
-    [anon_sym__Generic] = ACTIONS(1289),
-    [anon_sym_asm] = ACTIONS(1289),
-    [anon_sym___asm__] = ACTIONS(1289),
-    [anon_sym___asm] = ACTIONS(1289),
-    [sym_number_literal] = ACTIONS(1291),
-    [anon_sym_L_SQUOTE] = ACTIONS(1291),
-    [anon_sym_u_SQUOTE] = ACTIONS(1291),
-    [anon_sym_U_SQUOTE] = ACTIONS(1291),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1291),
-    [anon_sym_SQUOTE] = ACTIONS(1291),
-    [anon_sym_L_DQUOTE] = ACTIONS(1291),
-    [anon_sym_u_DQUOTE] = ACTIONS(1291),
-    [anon_sym_U_DQUOTE] = ACTIONS(1291),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1291),
-    [anon_sym_DQUOTE] = ACTIONS(1291),
-    [sym_true] = ACTIONS(1289),
-    [sym_false] = ACTIONS(1289),
-    [anon_sym_NULL] = ACTIONS(1289),
-    [anon_sym_nullptr] = ACTIONS(1289),
+    [sym_identifier] = ACTIONS(1276),
+    [aux_sym_preproc_include_token1] = ACTIONS(1276),
+    [aux_sym_preproc_def_token1] = ACTIONS(1276),
+    [aux_sym_preproc_if_token1] = ACTIONS(1276),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1276),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1276),
+    [sym_preproc_directive] = ACTIONS(1276),
+    [anon_sym_LPAREN2] = ACTIONS(1278),
+    [anon_sym_BANG] = ACTIONS(1278),
+    [anon_sym_TILDE] = ACTIONS(1278),
+    [anon_sym_DASH] = ACTIONS(1276),
+    [anon_sym_PLUS] = ACTIONS(1276),
+    [anon_sym_STAR] = ACTIONS(1278),
+    [anon_sym_AMP] = ACTIONS(1278),
+    [anon_sym_SEMI] = ACTIONS(1278),
+    [anon_sym___extension__] = ACTIONS(1276),
+    [anon_sym_typedef] = ACTIONS(1276),
+    [anon_sym_extern] = ACTIONS(1276),
+    [anon_sym___attribute__] = ACTIONS(1276),
+    [anon_sym___attribute] = ACTIONS(1276),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1278),
+    [anon_sym___declspec] = ACTIONS(1276),
+    [anon_sym___cdecl] = ACTIONS(1276),
+    [anon_sym___clrcall] = ACTIONS(1276),
+    [anon_sym___stdcall] = ACTIONS(1276),
+    [anon_sym___fastcall] = ACTIONS(1276),
+    [anon_sym___thiscall] = ACTIONS(1276),
+    [anon_sym___vectorcall] = ACTIONS(1276),
+    [anon_sym_LBRACE] = ACTIONS(1278),
+    [anon_sym_RBRACE] = ACTIONS(1278),
+    [anon_sym_signed] = ACTIONS(1276),
+    [anon_sym_unsigned] = ACTIONS(1276),
+    [anon_sym_long] = ACTIONS(1276),
+    [anon_sym_short] = ACTIONS(1276),
+    [anon_sym_static] = ACTIONS(1276),
+    [anon_sym_auto] = ACTIONS(1276),
+    [anon_sym_register] = ACTIONS(1276),
+    [anon_sym_inline] = ACTIONS(1276),
+    [anon_sym___inline] = ACTIONS(1276),
+    [anon_sym___inline__] = ACTIONS(1276),
+    [anon_sym___forceinline] = ACTIONS(1276),
+    [anon_sym_thread_local] = ACTIONS(1276),
+    [anon_sym___thread] = ACTIONS(1276),
+    [anon_sym_const] = ACTIONS(1276),
+    [anon_sym_constexpr] = ACTIONS(1276),
+    [anon_sym_volatile] = ACTIONS(1276),
+    [anon_sym_restrict] = ACTIONS(1276),
+    [anon_sym___restrict__] = ACTIONS(1276),
+    [anon_sym__Atomic] = ACTIONS(1276),
+    [anon_sym__Noreturn] = ACTIONS(1276),
+    [anon_sym_noreturn] = ACTIONS(1276),
+    [anon_sym__Nonnull] = ACTIONS(1276),
+    [anon_sym_alignas] = ACTIONS(1276),
+    [anon_sym__Alignas] = ACTIONS(1276),
+    [sym_primitive_type] = ACTIONS(1276),
+    [anon_sym_enum] = ACTIONS(1276),
+    [anon_sym_struct] = ACTIONS(1276),
+    [anon_sym_union] = ACTIONS(1276),
+    [anon_sym_if] = ACTIONS(1276),
+    [anon_sym_switch] = ACTIONS(1276),
+    [anon_sym_case] = ACTIONS(1276),
+    [anon_sym_default] = ACTIONS(1276),
+    [anon_sym_while] = ACTIONS(1276),
+    [anon_sym_do] = ACTIONS(1276),
+    [anon_sym_for] = ACTIONS(1276),
+    [anon_sym_return] = ACTIONS(1276),
+    [anon_sym_break] = ACTIONS(1276),
+    [anon_sym_continue] = ACTIONS(1276),
+    [anon_sym_goto] = ACTIONS(1276),
+    [anon_sym___try] = ACTIONS(1276),
+    [anon_sym___leave] = ACTIONS(1276),
+    [anon_sym_DASH_DASH] = ACTIONS(1278),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1278),
+    [anon_sym_sizeof] = ACTIONS(1276),
+    [anon_sym___alignof__] = ACTIONS(1276),
+    [anon_sym___alignof] = ACTIONS(1276),
+    [anon_sym__alignof] = ACTIONS(1276),
+    [anon_sym_alignof] = ACTIONS(1276),
+    [anon_sym__Alignof] = ACTIONS(1276),
+    [anon_sym_offsetof] = ACTIONS(1276),
+    [anon_sym__Generic] = ACTIONS(1276),
+    [anon_sym_asm] = ACTIONS(1276),
+    [anon_sym___asm__] = ACTIONS(1276),
+    [anon_sym___asm] = ACTIONS(1276),
+    [sym_number_literal] = ACTIONS(1278),
+    [anon_sym_L_SQUOTE] = ACTIONS(1278),
+    [anon_sym_u_SQUOTE] = ACTIONS(1278),
+    [anon_sym_U_SQUOTE] = ACTIONS(1278),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1278),
+    [anon_sym_SQUOTE] = ACTIONS(1278),
+    [anon_sym_L_DQUOTE] = ACTIONS(1278),
+    [anon_sym_u_DQUOTE] = ACTIONS(1278),
+    [anon_sym_U_DQUOTE] = ACTIONS(1278),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1278),
+    [anon_sym_DQUOTE] = ACTIONS(1278),
+    [sym_true] = ACTIONS(1276),
+    [sym_false] = ACTIONS(1276),
+    [anon_sym_NULL] = ACTIONS(1276),
+    [anon_sym_nullptr] = ACTIONS(1276),
     [sym_comment] = ACTIONS(3),
   },
   [268] = {
-    [sym_identifier] = ACTIONS(1293),
-    [aux_sym_preproc_include_token1] = ACTIONS(1293),
-    [aux_sym_preproc_def_token1] = ACTIONS(1293),
-    [aux_sym_preproc_if_token1] = ACTIONS(1293),
-    [aux_sym_preproc_if_token2] = ACTIONS(1293),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1293),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1293),
-    [sym_preproc_directive] = ACTIONS(1293),
-    [anon_sym_LPAREN2] = ACTIONS(1295),
-    [anon_sym_BANG] = ACTIONS(1295),
-    [anon_sym_TILDE] = ACTIONS(1295),
-    [anon_sym_DASH] = ACTIONS(1293),
-    [anon_sym_PLUS] = ACTIONS(1293),
-    [anon_sym_STAR] = ACTIONS(1295),
-    [anon_sym_AMP] = ACTIONS(1295),
-    [anon_sym_SEMI] = ACTIONS(1295),
-    [anon_sym___extension__] = ACTIONS(1293),
-    [anon_sym_typedef] = ACTIONS(1293),
-    [anon_sym_extern] = ACTIONS(1293),
-    [anon_sym___attribute__] = ACTIONS(1293),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1295),
-    [anon_sym___declspec] = ACTIONS(1293),
-    [anon_sym___cdecl] = ACTIONS(1293),
-    [anon_sym___clrcall] = ACTIONS(1293),
-    [anon_sym___stdcall] = ACTIONS(1293),
-    [anon_sym___fastcall] = ACTIONS(1293),
-    [anon_sym___thiscall] = ACTIONS(1293),
-    [anon_sym___vectorcall] = ACTIONS(1293),
-    [anon_sym_LBRACE] = ACTIONS(1295),
-    [anon_sym_signed] = ACTIONS(1293),
-    [anon_sym_unsigned] = ACTIONS(1293),
-    [anon_sym_long] = ACTIONS(1293),
-    [anon_sym_short] = ACTIONS(1293),
-    [anon_sym_static] = ACTIONS(1293),
-    [anon_sym_auto] = ACTIONS(1293),
-    [anon_sym_register] = ACTIONS(1293),
-    [anon_sym_inline] = ACTIONS(1293),
-    [anon_sym___inline] = ACTIONS(1293),
-    [anon_sym___inline__] = ACTIONS(1293),
-    [anon_sym___forceinline] = ACTIONS(1293),
-    [anon_sym_thread_local] = ACTIONS(1293),
-    [anon_sym___thread] = ACTIONS(1293),
-    [anon_sym_const] = ACTIONS(1293),
-    [anon_sym_constexpr] = ACTIONS(1293),
-    [anon_sym_volatile] = ACTIONS(1293),
-    [anon_sym_restrict] = ACTIONS(1293),
-    [anon_sym___restrict__] = ACTIONS(1293),
-    [anon_sym__Atomic] = ACTIONS(1293),
-    [anon_sym__Noreturn] = ACTIONS(1293),
-    [anon_sym_noreturn] = ACTIONS(1293),
-    [anon_sym__Nonnull] = ACTIONS(1293),
-    [anon_sym_alignas] = ACTIONS(1293),
-    [anon_sym__Alignas] = ACTIONS(1293),
-    [sym_primitive_type] = ACTIONS(1293),
-    [anon_sym_enum] = ACTIONS(1293),
-    [anon_sym_struct] = ACTIONS(1293),
-    [anon_sym_union] = ACTIONS(1293),
-    [anon_sym_if] = ACTIONS(1293),
-    [anon_sym_switch] = ACTIONS(1293),
-    [anon_sym_case] = ACTIONS(1293),
-    [anon_sym_default] = ACTIONS(1293),
-    [anon_sym_while] = ACTIONS(1293),
-    [anon_sym_do] = ACTIONS(1293),
-    [anon_sym_for] = ACTIONS(1293),
-    [anon_sym_return] = ACTIONS(1293),
-    [anon_sym_break] = ACTIONS(1293),
-    [anon_sym_continue] = ACTIONS(1293),
-    [anon_sym_goto] = ACTIONS(1293),
-    [anon_sym___try] = ACTIONS(1293),
-    [anon_sym___leave] = ACTIONS(1293),
-    [anon_sym_DASH_DASH] = ACTIONS(1295),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1295),
-    [anon_sym_sizeof] = ACTIONS(1293),
-    [anon_sym___alignof__] = ACTIONS(1293),
-    [anon_sym___alignof] = ACTIONS(1293),
-    [anon_sym__alignof] = ACTIONS(1293),
-    [anon_sym_alignof] = ACTIONS(1293),
-    [anon_sym__Alignof] = ACTIONS(1293),
-    [anon_sym_offsetof] = ACTIONS(1293),
-    [anon_sym__Generic] = ACTIONS(1293),
-    [anon_sym_asm] = ACTIONS(1293),
-    [anon_sym___asm__] = ACTIONS(1293),
-    [anon_sym___asm] = ACTIONS(1293),
-    [sym_number_literal] = ACTIONS(1295),
-    [anon_sym_L_SQUOTE] = ACTIONS(1295),
-    [anon_sym_u_SQUOTE] = ACTIONS(1295),
-    [anon_sym_U_SQUOTE] = ACTIONS(1295),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1295),
-    [anon_sym_SQUOTE] = ACTIONS(1295),
-    [anon_sym_L_DQUOTE] = ACTIONS(1295),
-    [anon_sym_u_DQUOTE] = ACTIONS(1295),
-    [anon_sym_U_DQUOTE] = ACTIONS(1295),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1295),
-    [anon_sym_DQUOTE] = ACTIONS(1295),
-    [sym_true] = ACTIONS(1293),
-    [sym_false] = ACTIONS(1293),
-    [anon_sym_NULL] = ACTIONS(1293),
-    [anon_sym_nullptr] = ACTIONS(1293),
+    [sym_identifier] = ACTIONS(1292),
+    [aux_sym_preproc_include_token1] = ACTIONS(1292),
+    [aux_sym_preproc_def_token1] = ACTIONS(1292),
+    [aux_sym_preproc_if_token1] = ACTIONS(1292),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1292),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1292),
+    [sym_preproc_directive] = ACTIONS(1292),
+    [anon_sym_LPAREN2] = ACTIONS(1294),
+    [anon_sym_BANG] = ACTIONS(1294),
+    [anon_sym_TILDE] = ACTIONS(1294),
+    [anon_sym_DASH] = ACTIONS(1292),
+    [anon_sym_PLUS] = ACTIONS(1292),
+    [anon_sym_STAR] = ACTIONS(1294),
+    [anon_sym_AMP] = ACTIONS(1294),
+    [anon_sym_SEMI] = ACTIONS(1294),
+    [anon_sym___extension__] = ACTIONS(1292),
+    [anon_sym_typedef] = ACTIONS(1292),
+    [anon_sym_extern] = ACTIONS(1292),
+    [anon_sym___attribute__] = ACTIONS(1292),
+    [anon_sym___attribute] = ACTIONS(1292),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1294),
+    [anon_sym___declspec] = ACTIONS(1292),
+    [anon_sym___cdecl] = ACTIONS(1292),
+    [anon_sym___clrcall] = ACTIONS(1292),
+    [anon_sym___stdcall] = ACTIONS(1292),
+    [anon_sym___fastcall] = ACTIONS(1292),
+    [anon_sym___thiscall] = ACTIONS(1292),
+    [anon_sym___vectorcall] = ACTIONS(1292),
+    [anon_sym_LBRACE] = ACTIONS(1294),
+    [anon_sym_RBRACE] = ACTIONS(1294),
+    [anon_sym_signed] = ACTIONS(1292),
+    [anon_sym_unsigned] = ACTIONS(1292),
+    [anon_sym_long] = ACTIONS(1292),
+    [anon_sym_short] = ACTIONS(1292),
+    [anon_sym_static] = ACTIONS(1292),
+    [anon_sym_auto] = ACTIONS(1292),
+    [anon_sym_register] = ACTIONS(1292),
+    [anon_sym_inline] = ACTIONS(1292),
+    [anon_sym___inline] = ACTIONS(1292),
+    [anon_sym___inline__] = ACTIONS(1292),
+    [anon_sym___forceinline] = ACTIONS(1292),
+    [anon_sym_thread_local] = ACTIONS(1292),
+    [anon_sym___thread] = ACTIONS(1292),
+    [anon_sym_const] = ACTIONS(1292),
+    [anon_sym_constexpr] = ACTIONS(1292),
+    [anon_sym_volatile] = ACTIONS(1292),
+    [anon_sym_restrict] = ACTIONS(1292),
+    [anon_sym___restrict__] = ACTIONS(1292),
+    [anon_sym__Atomic] = ACTIONS(1292),
+    [anon_sym__Noreturn] = ACTIONS(1292),
+    [anon_sym_noreturn] = ACTIONS(1292),
+    [anon_sym__Nonnull] = ACTIONS(1292),
+    [anon_sym_alignas] = ACTIONS(1292),
+    [anon_sym__Alignas] = ACTIONS(1292),
+    [sym_primitive_type] = ACTIONS(1292),
+    [anon_sym_enum] = ACTIONS(1292),
+    [anon_sym_struct] = ACTIONS(1292),
+    [anon_sym_union] = ACTIONS(1292),
+    [anon_sym_if] = ACTIONS(1292),
+    [anon_sym_switch] = ACTIONS(1292),
+    [anon_sym_case] = ACTIONS(1292),
+    [anon_sym_default] = ACTIONS(1292),
+    [anon_sym_while] = ACTIONS(1292),
+    [anon_sym_do] = ACTIONS(1292),
+    [anon_sym_for] = ACTIONS(1292),
+    [anon_sym_return] = ACTIONS(1292),
+    [anon_sym_break] = ACTIONS(1292),
+    [anon_sym_continue] = ACTIONS(1292),
+    [anon_sym_goto] = ACTIONS(1292),
+    [anon_sym___try] = ACTIONS(1292),
+    [anon_sym___leave] = ACTIONS(1292),
+    [anon_sym_DASH_DASH] = ACTIONS(1294),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1294),
+    [anon_sym_sizeof] = ACTIONS(1292),
+    [anon_sym___alignof__] = ACTIONS(1292),
+    [anon_sym___alignof] = ACTIONS(1292),
+    [anon_sym__alignof] = ACTIONS(1292),
+    [anon_sym_alignof] = ACTIONS(1292),
+    [anon_sym__Alignof] = ACTIONS(1292),
+    [anon_sym_offsetof] = ACTIONS(1292),
+    [anon_sym__Generic] = ACTIONS(1292),
+    [anon_sym_asm] = ACTIONS(1292),
+    [anon_sym___asm__] = ACTIONS(1292),
+    [anon_sym___asm] = ACTIONS(1292),
+    [sym_number_literal] = ACTIONS(1294),
+    [anon_sym_L_SQUOTE] = ACTIONS(1294),
+    [anon_sym_u_SQUOTE] = ACTIONS(1294),
+    [anon_sym_U_SQUOTE] = ACTIONS(1294),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1294),
+    [anon_sym_SQUOTE] = ACTIONS(1294),
+    [anon_sym_L_DQUOTE] = ACTIONS(1294),
+    [anon_sym_u_DQUOTE] = ACTIONS(1294),
+    [anon_sym_U_DQUOTE] = ACTIONS(1294),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1294),
+    [anon_sym_DQUOTE] = ACTIONS(1294),
+    [sym_true] = ACTIONS(1292),
+    [sym_false] = ACTIONS(1292),
+    [anon_sym_NULL] = ACTIONS(1292),
+    [anon_sym_nullptr] = ACTIONS(1292),
     [sym_comment] = ACTIONS(3),
   },
   [269] = {
-    [sym_identifier] = ACTIONS(1265),
-    [aux_sym_preproc_include_token1] = ACTIONS(1265),
-    [aux_sym_preproc_def_token1] = ACTIONS(1265),
-    [aux_sym_preproc_if_token1] = ACTIONS(1265),
-    [aux_sym_preproc_if_token2] = ACTIONS(1265),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1265),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1265),
-    [sym_preproc_directive] = ACTIONS(1265),
-    [anon_sym_LPAREN2] = ACTIONS(1267),
-    [anon_sym_BANG] = ACTIONS(1267),
-    [anon_sym_TILDE] = ACTIONS(1267),
-    [anon_sym_DASH] = ACTIONS(1265),
-    [anon_sym_PLUS] = ACTIONS(1265),
-    [anon_sym_STAR] = ACTIONS(1267),
-    [anon_sym_AMP] = ACTIONS(1267),
-    [anon_sym_SEMI] = ACTIONS(1267),
-    [anon_sym___extension__] = ACTIONS(1265),
-    [anon_sym_typedef] = ACTIONS(1265),
-    [anon_sym_extern] = ACTIONS(1265),
-    [anon_sym___attribute__] = ACTIONS(1265),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1267),
-    [anon_sym___declspec] = ACTIONS(1265),
-    [anon_sym___cdecl] = ACTIONS(1265),
-    [anon_sym___clrcall] = ACTIONS(1265),
-    [anon_sym___stdcall] = ACTIONS(1265),
-    [anon_sym___fastcall] = ACTIONS(1265),
-    [anon_sym___thiscall] = ACTIONS(1265),
-    [anon_sym___vectorcall] = ACTIONS(1265),
-    [anon_sym_LBRACE] = ACTIONS(1267),
-    [anon_sym_signed] = ACTIONS(1265),
-    [anon_sym_unsigned] = ACTIONS(1265),
-    [anon_sym_long] = ACTIONS(1265),
-    [anon_sym_short] = ACTIONS(1265),
-    [anon_sym_static] = ACTIONS(1265),
-    [anon_sym_auto] = ACTIONS(1265),
-    [anon_sym_register] = ACTIONS(1265),
-    [anon_sym_inline] = ACTIONS(1265),
-    [anon_sym___inline] = ACTIONS(1265),
-    [anon_sym___inline__] = ACTIONS(1265),
-    [anon_sym___forceinline] = ACTIONS(1265),
-    [anon_sym_thread_local] = ACTIONS(1265),
-    [anon_sym___thread] = ACTIONS(1265),
-    [anon_sym_const] = ACTIONS(1265),
-    [anon_sym_constexpr] = ACTIONS(1265),
-    [anon_sym_volatile] = ACTIONS(1265),
-    [anon_sym_restrict] = ACTIONS(1265),
-    [anon_sym___restrict__] = ACTIONS(1265),
-    [anon_sym__Atomic] = ACTIONS(1265),
-    [anon_sym__Noreturn] = ACTIONS(1265),
-    [anon_sym_noreturn] = ACTIONS(1265),
-    [anon_sym__Nonnull] = ACTIONS(1265),
-    [anon_sym_alignas] = ACTIONS(1265),
-    [anon_sym__Alignas] = ACTIONS(1265),
-    [sym_primitive_type] = ACTIONS(1265),
-    [anon_sym_enum] = ACTIONS(1265),
-    [anon_sym_struct] = ACTIONS(1265),
-    [anon_sym_union] = ACTIONS(1265),
-    [anon_sym_if] = ACTIONS(1265),
-    [anon_sym_switch] = ACTIONS(1265),
-    [anon_sym_case] = ACTIONS(1265),
-    [anon_sym_default] = ACTIONS(1265),
-    [anon_sym_while] = ACTIONS(1265),
-    [anon_sym_do] = ACTIONS(1265),
-    [anon_sym_for] = ACTIONS(1265),
-    [anon_sym_return] = ACTIONS(1265),
-    [anon_sym_break] = ACTIONS(1265),
-    [anon_sym_continue] = ACTIONS(1265),
-    [anon_sym_goto] = ACTIONS(1265),
-    [anon_sym___try] = ACTIONS(1265),
-    [anon_sym___leave] = ACTIONS(1265),
-    [anon_sym_DASH_DASH] = ACTIONS(1267),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1267),
-    [anon_sym_sizeof] = ACTIONS(1265),
-    [anon_sym___alignof__] = ACTIONS(1265),
-    [anon_sym___alignof] = ACTIONS(1265),
-    [anon_sym__alignof] = ACTIONS(1265),
-    [anon_sym_alignof] = ACTIONS(1265),
-    [anon_sym__Alignof] = ACTIONS(1265),
-    [anon_sym_offsetof] = ACTIONS(1265),
-    [anon_sym__Generic] = ACTIONS(1265),
-    [anon_sym_asm] = ACTIONS(1265),
-    [anon_sym___asm__] = ACTIONS(1265),
-    [anon_sym___asm] = ACTIONS(1265),
-    [sym_number_literal] = ACTIONS(1267),
-    [anon_sym_L_SQUOTE] = ACTIONS(1267),
-    [anon_sym_u_SQUOTE] = ACTIONS(1267),
-    [anon_sym_U_SQUOTE] = ACTIONS(1267),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1267),
-    [anon_sym_SQUOTE] = ACTIONS(1267),
-    [anon_sym_L_DQUOTE] = ACTIONS(1267),
-    [anon_sym_u_DQUOTE] = ACTIONS(1267),
-    [anon_sym_U_DQUOTE] = ACTIONS(1267),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1267),
-    [anon_sym_DQUOTE] = ACTIONS(1267),
-    [sym_true] = ACTIONS(1265),
-    [sym_false] = ACTIONS(1265),
-    [anon_sym_NULL] = ACTIONS(1265),
-    [anon_sym_nullptr] = ACTIONS(1265),
+    [sym_identifier] = ACTIONS(1300),
+    [aux_sym_preproc_include_token1] = ACTIONS(1300),
+    [aux_sym_preproc_def_token1] = ACTIONS(1300),
+    [aux_sym_preproc_if_token1] = ACTIONS(1300),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1300),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1300),
+    [sym_preproc_directive] = ACTIONS(1300),
+    [anon_sym_LPAREN2] = ACTIONS(1302),
+    [anon_sym_BANG] = ACTIONS(1302),
+    [anon_sym_TILDE] = ACTIONS(1302),
+    [anon_sym_DASH] = ACTIONS(1300),
+    [anon_sym_PLUS] = ACTIONS(1300),
+    [anon_sym_STAR] = ACTIONS(1302),
+    [anon_sym_AMP] = ACTIONS(1302),
+    [anon_sym_SEMI] = ACTIONS(1302),
+    [anon_sym___extension__] = ACTIONS(1300),
+    [anon_sym_typedef] = ACTIONS(1300),
+    [anon_sym_extern] = ACTIONS(1300),
+    [anon_sym___attribute__] = ACTIONS(1300),
+    [anon_sym___attribute] = ACTIONS(1300),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1302),
+    [anon_sym___declspec] = ACTIONS(1300),
+    [anon_sym___cdecl] = ACTIONS(1300),
+    [anon_sym___clrcall] = ACTIONS(1300),
+    [anon_sym___stdcall] = ACTIONS(1300),
+    [anon_sym___fastcall] = ACTIONS(1300),
+    [anon_sym___thiscall] = ACTIONS(1300),
+    [anon_sym___vectorcall] = ACTIONS(1300),
+    [anon_sym_LBRACE] = ACTIONS(1302),
+    [anon_sym_RBRACE] = ACTIONS(1302),
+    [anon_sym_signed] = ACTIONS(1300),
+    [anon_sym_unsigned] = ACTIONS(1300),
+    [anon_sym_long] = ACTIONS(1300),
+    [anon_sym_short] = ACTIONS(1300),
+    [anon_sym_static] = ACTIONS(1300),
+    [anon_sym_auto] = ACTIONS(1300),
+    [anon_sym_register] = ACTIONS(1300),
+    [anon_sym_inline] = ACTIONS(1300),
+    [anon_sym___inline] = ACTIONS(1300),
+    [anon_sym___inline__] = ACTIONS(1300),
+    [anon_sym___forceinline] = ACTIONS(1300),
+    [anon_sym_thread_local] = ACTIONS(1300),
+    [anon_sym___thread] = ACTIONS(1300),
+    [anon_sym_const] = ACTIONS(1300),
+    [anon_sym_constexpr] = ACTIONS(1300),
+    [anon_sym_volatile] = ACTIONS(1300),
+    [anon_sym_restrict] = ACTIONS(1300),
+    [anon_sym___restrict__] = ACTIONS(1300),
+    [anon_sym__Atomic] = ACTIONS(1300),
+    [anon_sym__Noreturn] = ACTIONS(1300),
+    [anon_sym_noreturn] = ACTIONS(1300),
+    [anon_sym__Nonnull] = ACTIONS(1300),
+    [anon_sym_alignas] = ACTIONS(1300),
+    [anon_sym__Alignas] = ACTIONS(1300),
+    [sym_primitive_type] = ACTIONS(1300),
+    [anon_sym_enum] = ACTIONS(1300),
+    [anon_sym_struct] = ACTIONS(1300),
+    [anon_sym_union] = ACTIONS(1300),
+    [anon_sym_if] = ACTIONS(1300),
+    [anon_sym_switch] = ACTIONS(1300),
+    [anon_sym_case] = ACTIONS(1300),
+    [anon_sym_default] = ACTIONS(1300),
+    [anon_sym_while] = ACTIONS(1300),
+    [anon_sym_do] = ACTIONS(1300),
+    [anon_sym_for] = ACTIONS(1300),
+    [anon_sym_return] = ACTIONS(1300),
+    [anon_sym_break] = ACTIONS(1300),
+    [anon_sym_continue] = ACTIONS(1300),
+    [anon_sym_goto] = ACTIONS(1300),
+    [anon_sym___try] = ACTIONS(1300),
+    [anon_sym___leave] = ACTIONS(1300),
+    [anon_sym_DASH_DASH] = ACTIONS(1302),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1302),
+    [anon_sym_sizeof] = ACTIONS(1300),
+    [anon_sym___alignof__] = ACTIONS(1300),
+    [anon_sym___alignof] = ACTIONS(1300),
+    [anon_sym__alignof] = ACTIONS(1300),
+    [anon_sym_alignof] = ACTIONS(1300),
+    [anon_sym__Alignof] = ACTIONS(1300),
+    [anon_sym_offsetof] = ACTIONS(1300),
+    [anon_sym__Generic] = ACTIONS(1300),
+    [anon_sym_asm] = ACTIONS(1300),
+    [anon_sym___asm__] = ACTIONS(1300),
+    [anon_sym___asm] = ACTIONS(1300),
+    [sym_number_literal] = ACTIONS(1302),
+    [anon_sym_L_SQUOTE] = ACTIONS(1302),
+    [anon_sym_u_SQUOTE] = ACTIONS(1302),
+    [anon_sym_U_SQUOTE] = ACTIONS(1302),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1302),
+    [anon_sym_SQUOTE] = ACTIONS(1302),
+    [anon_sym_L_DQUOTE] = ACTIONS(1302),
+    [anon_sym_u_DQUOTE] = ACTIONS(1302),
+    [anon_sym_U_DQUOTE] = ACTIONS(1302),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1302),
+    [anon_sym_DQUOTE] = ACTIONS(1302),
+    [sym_true] = ACTIONS(1300),
+    [sym_false] = ACTIONS(1300),
+    [anon_sym_NULL] = ACTIONS(1300),
+    [anon_sym_nullptr] = ACTIONS(1300),
     [sym_comment] = ACTIONS(3),
   },
   [270] = {
-    [sym_identifier] = ACTIONS(1301),
-    [aux_sym_preproc_include_token1] = ACTIONS(1301),
-    [aux_sym_preproc_def_token1] = ACTIONS(1301),
-    [aux_sym_preproc_if_token1] = ACTIONS(1301),
-    [aux_sym_preproc_if_token2] = ACTIONS(1301),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1301),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1301),
-    [sym_preproc_directive] = ACTIONS(1301),
-    [anon_sym_LPAREN2] = ACTIONS(1303),
-    [anon_sym_BANG] = ACTIONS(1303),
-    [anon_sym_TILDE] = ACTIONS(1303),
-    [anon_sym_DASH] = ACTIONS(1301),
-    [anon_sym_PLUS] = ACTIONS(1301),
-    [anon_sym_STAR] = ACTIONS(1303),
-    [anon_sym_AMP] = ACTIONS(1303),
-    [anon_sym_SEMI] = ACTIONS(1303),
-    [anon_sym___extension__] = ACTIONS(1301),
-    [anon_sym_typedef] = ACTIONS(1301),
-    [anon_sym_extern] = ACTIONS(1301),
-    [anon_sym___attribute__] = ACTIONS(1301),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1303),
-    [anon_sym___declspec] = ACTIONS(1301),
-    [anon_sym___cdecl] = ACTIONS(1301),
-    [anon_sym___clrcall] = ACTIONS(1301),
-    [anon_sym___stdcall] = ACTIONS(1301),
-    [anon_sym___fastcall] = ACTIONS(1301),
-    [anon_sym___thiscall] = ACTIONS(1301),
-    [anon_sym___vectorcall] = ACTIONS(1301),
-    [anon_sym_LBRACE] = ACTIONS(1303),
-    [anon_sym_signed] = ACTIONS(1301),
-    [anon_sym_unsigned] = ACTIONS(1301),
-    [anon_sym_long] = ACTIONS(1301),
-    [anon_sym_short] = ACTIONS(1301),
-    [anon_sym_static] = ACTIONS(1301),
-    [anon_sym_auto] = ACTIONS(1301),
-    [anon_sym_register] = ACTIONS(1301),
-    [anon_sym_inline] = ACTIONS(1301),
-    [anon_sym___inline] = ACTIONS(1301),
-    [anon_sym___inline__] = ACTIONS(1301),
-    [anon_sym___forceinline] = ACTIONS(1301),
-    [anon_sym_thread_local] = ACTIONS(1301),
-    [anon_sym___thread] = ACTIONS(1301),
-    [anon_sym_const] = ACTIONS(1301),
-    [anon_sym_constexpr] = ACTIONS(1301),
-    [anon_sym_volatile] = ACTIONS(1301),
-    [anon_sym_restrict] = ACTIONS(1301),
-    [anon_sym___restrict__] = ACTIONS(1301),
-    [anon_sym__Atomic] = ACTIONS(1301),
-    [anon_sym__Noreturn] = ACTIONS(1301),
-    [anon_sym_noreturn] = ACTIONS(1301),
-    [anon_sym__Nonnull] = ACTIONS(1301),
-    [anon_sym_alignas] = ACTIONS(1301),
-    [anon_sym__Alignas] = ACTIONS(1301),
-    [sym_primitive_type] = ACTIONS(1301),
-    [anon_sym_enum] = ACTIONS(1301),
-    [anon_sym_struct] = ACTIONS(1301),
-    [anon_sym_union] = ACTIONS(1301),
-    [anon_sym_if] = ACTIONS(1301),
-    [anon_sym_switch] = ACTIONS(1301),
-    [anon_sym_case] = ACTIONS(1301),
-    [anon_sym_default] = ACTIONS(1301),
-    [anon_sym_while] = ACTIONS(1301),
-    [anon_sym_do] = ACTIONS(1301),
-    [anon_sym_for] = ACTIONS(1301),
-    [anon_sym_return] = ACTIONS(1301),
-    [anon_sym_break] = ACTIONS(1301),
-    [anon_sym_continue] = ACTIONS(1301),
-    [anon_sym_goto] = ACTIONS(1301),
-    [anon_sym___try] = ACTIONS(1301),
-    [anon_sym___leave] = ACTIONS(1301),
-    [anon_sym_DASH_DASH] = ACTIONS(1303),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1303),
-    [anon_sym_sizeof] = ACTIONS(1301),
-    [anon_sym___alignof__] = ACTIONS(1301),
-    [anon_sym___alignof] = ACTIONS(1301),
-    [anon_sym__alignof] = ACTIONS(1301),
-    [anon_sym_alignof] = ACTIONS(1301),
-    [anon_sym__Alignof] = ACTIONS(1301),
-    [anon_sym_offsetof] = ACTIONS(1301),
-    [anon_sym__Generic] = ACTIONS(1301),
-    [anon_sym_asm] = ACTIONS(1301),
-    [anon_sym___asm__] = ACTIONS(1301),
-    [anon_sym___asm] = ACTIONS(1301),
-    [sym_number_literal] = ACTIONS(1303),
-    [anon_sym_L_SQUOTE] = ACTIONS(1303),
-    [anon_sym_u_SQUOTE] = ACTIONS(1303),
-    [anon_sym_U_SQUOTE] = ACTIONS(1303),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1303),
-    [anon_sym_SQUOTE] = ACTIONS(1303),
-    [anon_sym_L_DQUOTE] = ACTIONS(1303),
-    [anon_sym_u_DQUOTE] = ACTIONS(1303),
-    [anon_sym_U_DQUOTE] = ACTIONS(1303),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1303),
-    [anon_sym_DQUOTE] = ACTIONS(1303),
-    [sym_true] = ACTIONS(1301),
-    [sym_false] = ACTIONS(1301),
-    [anon_sym_NULL] = ACTIONS(1301),
-    [anon_sym_nullptr] = ACTIONS(1301),
+    [sym_identifier] = ACTIONS(1340),
+    [aux_sym_preproc_include_token1] = ACTIONS(1340),
+    [aux_sym_preproc_def_token1] = ACTIONS(1340),
+    [aux_sym_preproc_if_token1] = ACTIONS(1340),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1340),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1340),
+    [sym_preproc_directive] = ACTIONS(1340),
+    [anon_sym_LPAREN2] = ACTIONS(1342),
+    [anon_sym_BANG] = ACTIONS(1342),
+    [anon_sym_TILDE] = ACTIONS(1342),
+    [anon_sym_DASH] = ACTIONS(1340),
+    [anon_sym_PLUS] = ACTIONS(1340),
+    [anon_sym_STAR] = ACTIONS(1342),
+    [anon_sym_AMP] = ACTIONS(1342),
+    [anon_sym_SEMI] = ACTIONS(1342),
+    [anon_sym___extension__] = ACTIONS(1340),
+    [anon_sym_typedef] = ACTIONS(1340),
+    [anon_sym_extern] = ACTIONS(1340),
+    [anon_sym___attribute__] = ACTIONS(1340),
+    [anon_sym___attribute] = ACTIONS(1340),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1342),
+    [anon_sym___declspec] = ACTIONS(1340),
+    [anon_sym___cdecl] = ACTIONS(1340),
+    [anon_sym___clrcall] = ACTIONS(1340),
+    [anon_sym___stdcall] = ACTIONS(1340),
+    [anon_sym___fastcall] = ACTIONS(1340),
+    [anon_sym___thiscall] = ACTIONS(1340),
+    [anon_sym___vectorcall] = ACTIONS(1340),
+    [anon_sym_LBRACE] = ACTIONS(1342),
+    [anon_sym_RBRACE] = ACTIONS(1342),
+    [anon_sym_signed] = ACTIONS(1340),
+    [anon_sym_unsigned] = ACTIONS(1340),
+    [anon_sym_long] = ACTIONS(1340),
+    [anon_sym_short] = ACTIONS(1340),
+    [anon_sym_static] = ACTIONS(1340),
+    [anon_sym_auto] = ACTIONS(1340),
+    [anon_sym_register] = ACTIONS(1340),
+    [anon_sym_inline] = ACTIONS(1340),
+    [anon_sym___inline] = ACTIONS(1340),
+    [anon_sym___inline__] = ACTIONS(1340),
+    [anon_sym___forceinline] = ACTIONS(1340),
+    [anon_sym_thread_local] = ACTIONS(1340),
+    [anon_sym___thread] = ACTIONS(1340),
+    [anon_sym_const] = ACTIONS(1340),
+    [anon_sym_constexpr] = ACTIONS(1340),
+    [anon_sym_volatile] = ACTIONS(1340),
+    [anon_sym_restrict] = ACTIONS(1340),
+    [anon_sym___restrict__] = ACTIONS(1340),
+    [anon_sym__Atomic] = ACTIONS(1340),
+    [anon_sym__Noreturn] = ACTIONS(1340),
+    [anon_sym_noreturn] = ACTIONS(1340),
+    [anon_sym__Nonnull] = ACTIONS(1340),
+    [anon_sym_alignas] = ACTIONS(1340),
+    [anon_sym__Alignas] = ACTIONS(1340),
+    [sym_primitive_type] = ACTIONS(1340),
+    [anon_sym_enum] = ACTIONS(1340),
+    [anon_sym_struct] = ACTIONS(1340),
+    [anon_sym_union] = ACTIONS(1340),
+    [anon_sym_if] = ACTIONS(1340),
+    [anon_sym_switch] = ACTIONS(1340),
+    [anon_sym_case] = ACTIONS(1340),
+    [anon_sym_default] = ACTIONS(1340),
+    [anon_sym_while] = ACTIONS(1340),
+    [anon_sym_do] = ACTIONS(1340),
+    [anon_sym_for] = ACTIONS(1340),
+    [anon_sym_return] = ACTIONS(1340),
+    [anon_sym_break] = ACTIONS(1340),
+    [anon_sym_continue] = ACTIONS(1340),
+    [anon_sym_goto] = ACTIONS(1340),
+    [anon_sym___try] = ACTIONS(1340),
+    [anon_sym___leave] = ACTIONS(1340),
+    [anon_sym_DASH_DASH] = ACTIONS(1342),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1342),
+    [anon_sym_sizeof] = ACTIONS(1340),
+    [anon_sym___alignof__] = ACTIONS(1340),
+    [anon_sym___alignof] = ACTIONS(1340),
+    [anon_sym__alignof] = ACTIONS(1340),
+    [anon_sym_alignof] = ACTIONS(1340),
+    [anon_sym__Alignof] = ACTIONS(1340),
+    [anon_sym_offsetof] = ACTIONS(1340),
+    [anon_sym__Generic] = ACTIONS(1340),
+    [anon_sym_asm] = ACTIONS(1340),
+    [anon_sym___asm__] = ACTIONS(1340),
+    [anon_sym___asm] = ACTIONS(1340),
+    [sym_number_literal] = ACTIONS(1342),
+    [anon_sym_L_SQUOTE] = ACTIONS(1342),
+    [anon_sym_u_SQUOTE] = ACTIONS(1342),
+    [anon_sym_U_SQUOTE] = ACTIONS(1342),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1342),
+    [anon_sym_SQUOTE] = ACTIONS(1342),
+    [anon_sym_L_DQUOTE] = ACTIONS(1342),
+    [anon_sym_u_DQUOTE] = ACTIONS(1342),
+    [anon_sym_U_DQUOTE] = ACTIONS(1342),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1342),
+    [anon_sym_DQUOTE] = ACTIONS(1342),
+    [sym_true] = ACTIONS(1340),
+    [sym_false] = ACTIONS(1340),
+    [anon_sym_NULL] = ACTIONS(1340),
+    [anon_sym_nullptr] = ACTIONS(1340),
     [sym_comment] = ACTIONS(3),
   },
   [271] = {
-    [sym_identifier] = ACTIONS(1297),
-    [aux_sym_preproc_include_token1] = ACTIONS(1297),
-    [aux_sym_preproc_def_token1] = ACTIONS(1297),
-    [aux_sym_preproc_if_token1] = ACTIONS(1297),
-    [aux_sym_preproc_if_token2] = ACTIONS(1297),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1297),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1297),
-    [sym_preproc_directive] = ACTIONS(1297),
-    [anon_sym_LPAREN2] = ACTIONS(1299),
-    [anon_sym_BANG] = ACTIONS(1299),
-    [anon_sym_TILDE] = ACTIONS(1299),
-    [anon_sym_DASH] = ACTIONS(1297),
-    [anon_sym_PLUS] = ACTIONS(1297),
-    [anon_sym_STAR] = ACTIONS(1299),
-    [anon_sym_AMP] = ACTIONS(1299),
-    [anon_sym_SEMI] = ACTIONS(1299),
-    [anon_sym___extension__] = ACTIONS(1297),
-    [anon_sym_typedef] = ACTIONS(1297),
-    [anon_sym_extern] = ACTIONS(1297),
-    [anon_sym___attribute__] = ACTIONS(1297),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1299),
-    [anon_sym___declspec] = ACTIONS(1297),
-    [anon_sym___cdecl] = ACTIONS(1297),
-    [anon_sym___clrcall] = ACTIONS(1297),
-    [anon_sym___stdcall] = ACTIONS(1297),
-    [anon_sym___fastcall] = ACTIONS(1297),
-    [anon_sym___thiscall] = ACTIONS(1297),
-    [anon_sym___vectorcall] = ACTIONS(1297),
-    [anon_sym_LBRACE] = ACTIONS(1299),
-    [anon_sym_signed] = ACTIONS(1297),
-    [anon_sym_unsigned] = ACTIONS(1297),
-    [anon_sym_long] = ACTIONS(1297),
-    [anon_sym_short] = ACTIONS(1297),
-    [anon_sym_static] = ACTIONS(1297),
-    [anon_sym_auto] = ACTIONS(1297),
-    [anon_sym_register] = ACTIONS(1297),
-    [anon_sym_inline] = ACTIONS(1297),
-    [anon_sym___inline] = ACTIONS(1297),
-    [anon_sym___inline__] = ACTIONS(1297),
-    [anon_sym___forceinline] = ACTIONS(1297),
-    [anon_sym_thread_local] = ACTIONS(1297),
-    [anon_sym___thread] = ACTIONS(1297),
-    [anon_sym_const] = ACTIONS(1297),
-    [anon_sym_constexpr] = ACTIONS(1297),
-    [anon_sym_volatile] = ACTIONS(1297),
-    [anon_sym_restrict] = ACTIONS(1297),
-    [anon_sym___restrict__] = ACTIONS(1297),
-    [anon_sym__Atomic] = ACTIONS(1297),
-    [anon_sym__Noreturn] = ACTIONS(1297),
-    [anon_sym_noreturn] = ACTIONS(1297),
-    [anon_sym__Nonnull] = ACTIONS(1297),
-    [anon_sym_alignas] = ACTIONS(1297),
-    [anon_sym__Alignas] = ACTIONS(1297),
-    [sym_primitive_type] = ACTIONS(1297),
-    [anon_sym_enum] = ACTIONS(1297),
-    [anon_sym_struct] = ACTIONS(1297),
-    [anon_sym_union] = ACTIONS(1297),
-    [anon_sym_if] = ACTIONS(1297),
-    [anon_sym_switch] = ACTIONS(1297),
-    [anon_sym_case] = ACTIONS(1297),
-    [anon_sym_default] = ACTIONS(1297),
-    [anon_sym_while] = ACTIONS(1297),
-    [anon_sym_do] = ACTIONS(1297),
-    [anon_sym_for] = ACTIONS(1297),
-    [anon_sym_return] = ACTIONS(1297),
-    [anon_sym_break] = ACTIONS(1297),
-    [anon_sym_continue] = ACTIONS(1297),
-    [anon_sym_goto] = ACTIONS(1297),
-    [anon_sym___try] = ACTIONS(1297),
-    [anon_sym___leave] = ACTIONS(1297),
-    [anon_sym_DASH_DASH] = ACTIONS(1299),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1299),
-    [anon_sym_sizeof] = ACTIONS(1297),
-    [anon_sym___alignof__] = ACTIONS(1297),
-    [anon_sym___alignof] = ACTIONS(1297),
-    [anon_sym__alignof] = ACTIONS(1297),
-    [anon_sym_alignof] = ACTIONS(1297),
-    [anon_sym__Alignof] = ACTIONS(1297),
-    [anon_sym_offsetof] = ACTIONS(1297),
-    [anon_sym__Generic] = ACTIONS(1297),
-    [anon_sym_asm] = ACTIONS(1297),
-    [anon_sym___asm__] = ACTIONS(1297),
-    [anon_sym___asm] = ACTIONS(1297),
-    [sym_number_literal] = ACTIONS(1299),
-    [anon_sym_L_SQUOTE] = ACTIONS(1299),
-    [anon_sym_u_SQUOTE] = ACTIONS(1299),
-    [anon_sym_U_SQUOTE] = ACTIONS(1299),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1299),
-    [anon_sym_SQUOTE] = ACTIONS(1299),
-    [anon_sym_L_DQUOTE] = ACTIONS(1299),
-    [anon_sym_u_DQUOTE] = ACTIONS(1299),
-    [anon_sym_U_DQUOTE] = ACTIONS(1299),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1299),
-    [anon_sym_DQUOTE] = ACTIONS(1299),
-    [sym_true] = ACTIONS(1297),
-    [sym_false] = ACTIONS(1297),
-    [anon_sym_NULL] = ACTIONS(1297),
-    [anon_sym_nullptr] = ACTIONS(1297),
+    [sym_identifier] = ACTIONS(1304),
+    [aux_sym_preproc_include_token1] = ACTIONS(1304),
+    [aux_sym_preproc_def_token1] = ACTIONS(1304),
+    [aux_sym_preproc_if_token1] = ACTIONS(1304),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1304),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1304),
+    [sym_preproc_directive] = ACTIONS(1304),
+    [anon_sym_LPAREN2] = ACTIONS(1306),
+    [anon_sym_BANG] = ACTIONS(1306),
+    [anon_sym_TILDE] = ACTIONS(1306),
+    [anon_sym_DASH] = ACTIONS(1304),
+    [anon_sym_PLUS] = ACTIONS(1304),
+    [anon_sym_STAR] = ACTIONS(1306),
+    [anon_sym_AMP] = ACTIONS(1306),
+    [anon_sym_SEMI] = ACTIONS(1306),
+    [anon_sym___extension__] = ACTIONS(1304),
+    [anon_sym_typedef] = ACTIONS(1304),
+    [anon_sym_extern] = ACTIONS(1304),
+    [anon_sym___attribute__] = ACTIONS(1304),
+    [anon_sym___attribute] = ACTIONS(1304),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1306),
+    [anon_sym___declspec] = ACTIONS(1304),
+    [anon_sym___cdecl] = ACTIONS(1304),
+    [anon_sym___clrcall] = ACTIONS(1304),
+    [anon_sym___stdcall] = ACTIONS(1304),
+    [anon_sym___fastcall] = ACTIONS(1304),
+    [anon_sym___thiscall] = ACTIONS(1304),
+    [anon_sym___vectorcall] = ACTIONS(1304),
+    [anon_sym_LBRACE] = ACTIONS(1306),
+    [anon_sym_RBRACE] = ACTIONS(1306),
+    [anon_sym_signed] = ACTIONS(1304),
+    [anon_sym_unsigned] = ACTIONS(1304),
+    [anon_sym_long] = ACTIONS(1304),
+    [anon_sym_short] = ACTIONS(1304),
+    [anon_sym_static] = ACTIONS(1304),
+    [anon_sym_auto] = ACTIONS(1304),
+    [anon_sym_register] = ACTIONS(1304),
+    [anon_sym_inline] = ACTIONS(1304),
+    [anon_sym___inline] = ACTIONS(1304),
+    [anon_sym___inline__] = ACTIONS(1304),
+    [anon_sym___forceinline] = ACTIONS(1304),
+    [anon_sym_thread_local] = ACTIONS(1304),
+    [anon_sym___thread] = ACTIONS(1304),
+    [anon_sym_const] = ACTIONS(1304),
+    [anon_sym_constexpr] = ACTIONS(1304),
+    [anon_sym_volatile] = ACTIONS(1304),
+    [anon_sym_restrict] = ACTIONS(1304),
+    [anon_sym___restrict__] = ACTIONS(1304),
+    [anon_sym__Atomic] = ACTIONS(1304),
+    [anon_sym__Noreturn] = ACTIONS(1304),
+    [anon_sym_noreturn] = ACTIONS(1304),
+    [anon_sym__Nonnull] = ACTIONS(1304),
+    [anon_sym_alignas] = ACTIONS(1304),
+    [anon_sym__Alignas] = ACTIONS(1304),
+    [sym_primitive_type] = ACTIONS(1304),
+    [anon_sym_enum] = ACTIONS(1304),
+    [anon_sym_struct] = ACTIONS(1304),
+    [anon_sym_union] = ACTIONS(1304),
+    [anon_sym_if] = ACTIONS(1304),
+    [anon_sym_switch] = ACTIONS(1304),
+    [anon_sym_case] = ACTIONS(1304),
+    [anon_sym_default] = ACTIONS(1304),
+    [anon_sym_while] = ACTIONS(1304),
+    [anon_sym_do] = ACTIONS(1304),
+    [anon_sym_for] = ACTIONS(1304),
+    [anon_sym_return] = ACTIONS(1304),
+    [anon_sym_break] = ACTIONS(1304),
+    [anon_sym_continue] = ACTIONS(1304),
+    [anon_sym_goto] = ACTIONS(1304),
+    [anon_sym___try] = ACTIONS(1304),
+    [anon_sym___leave] = ACTIONS(1304),
+    [anon_sym_DASH_DASH] = ACTIONS(1306),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1306),
+    [anon_sym_sizeof] = ACTIONS(1304),
+    [anon_sym___alignof__] = ACTIONS(1304),
+    [anon_sym___alignof] = ACTIONS(1304),
+    [anon_sym__alignof] = ACTIONS(1304),
+    [anon_sym_alignof] = ACTIONS(1304),
+    [anon_sym__Alignof] = ACTIONS(1304),
+    [anon_sym_offsetof] = ACTIONS(1304),
+    [anon_sym__Generic] = ACTIONS(1304),
+    [anon_sym_asm] = ACTIONS(1304),
+    [anon_sym___asm__] = ACTIONS(1304),
+    [anon_sym___asm] = ACTIONS(1304),
+    [sym_number_literal] = ACTIONS(1306),
+    [anon_sym_L_SQUOTE] = ACTIONS(1306),
+    [anon_sym_u_SQUOTE] = ACTIONS(1306),
+    [anon_sym_U_SQUOTE] = ACTIONS(1306),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1306),
+    [anon_sym_SQUOTE] = ACTIONS(1306),
+    [anon_sym_L_DQUOTE] = ACTIONS(1306),
+    [anon_sym_u_DQUOTE] = ACTIONS(1306),
+    [anon_sym_U_DQUOTE] = ACTIONS(1306),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1306),
+    [anon_sym_DQUOTE] = ACTIONS(1306),
+    [sym_true] = ACTIONS(1304),
+    [sym_false] = ACTIONS(1304),
+    [anon_sym_NULL] = ACTIONS(1304),
+    [anon_sym_nullptr] = ACTIONS(1304),
     [sym_comment] = ACTIONS(3),
   },
   [272] = {
-    [sym_identifier] = ACTIONS(1345),
-    [aux_sym_preproc_include_token1] = ACTIONS(1345),
-    [aux_sym_preproc_def_token1] = ACTIONS(1345),
-    [aux_sym_preproc_if_token1] = ACTIONS(1345),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1345),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1345),
-    [sym_preproc_directive] = ACTIONS(1345),
-    [anon_sym_LPAREN2] = ACTIONS(1347),
-    [anon_sym_BANG] = ACTIONS(1347),
-    [anon_sym_TILDE] = ACTIONS(1347),
-    [anon_sym_DASH] = ACTIONS(1345),
-    [anon_sym_PLUS] = ACTIONS(1345),
-    [anon_sym_STAR] = ACTIONS(1347),
-    [anon_sym_AMP] = ACTIONS(1347),
-    [anon_sym_SEMI] = ACTIONS(1347),
-    [anon_sym___extension__] = ACTIONS(1345),
-    [anon_sym_typedef] = ACTIONS(1345),
-    [anon_sym_extern] = ACTIONS(1345),
-    [anon_sym___attribute__] = ACTIONS(1345),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1347),
-    [anon_sym___declspec] = ACTIONS(1345),
-    [anon_sym___cdecl] = ACTIONS(1345),
-    [anon_sym___clrcall] = ACTIONS(1345),
-    [anon_sym___stdcall] = ACTIONS(1345),
-    [anon_sym___fastcall] = ACTIONS(1345),
-    [anon_sym___thiscall] = ACTIONS(1345),
-    [anon_sym___vectorcall] = ACTIONS(1345),
-    [anon_sym_LBRACE] = ACTIONS(1347),
-    [anon_sym_RBRACE] = ACTIONS(1347),
-    [anon_sym_signed] = ACTIONS(1345),
-    [anon_sym_unsigned] = ACTIONS(1345),
-    [anon_sym_long] = ACTIONS(1345),
-    [anon_sym_short] = ACTIONS(1345),
-    [anon_sym_static] = ACTIONS(1345),
-    [anon_sym_auto] = ACTIONS(1345),
-    [anon_sym_register] = ACTIONS(1345),
-    [anon_sym_inline] = ACTIONS(1345),
-    [anon_sym___inline] = ACTIONS(1345),
-    [anon_sym___inline__] = ACTIONS(1345),
-    [anon_sym___forceinline] = ACTIONS(1345),
-    [anon_sym_thread_local] = ACTIONS(1345),
-    [anon_sym___thread] = ACTIONS(1345),
-    [anon_sym_const] = ACTIONS(1345),
-    [anon_sym_constexpr] = ACTIONS(1345),
-    [anon_sym_volatile] = ACTIONS(1345),
-    [anon_sym_restrict] = ACTIONS(1345),
-    [anon_sym___restrict__] = ACTIONS(1345),
-    [anon_sym__Atomic] = ACTIONS(1345),
-    [anon_sym__Noreturn] = ACTIONS(1345),
-    [anon_sym_noreturn] = ACTIONS(1345),
-    [anon_sym__Nonnull] = ACTIONS(1345),
-    [anon_sym_alignas] = ACTIONS(1345),
-    [anon_sym__Alignas] = ACTIONS(1345),
-    [sym_primitive_type] = ACTIONS(1345),
-    [anon_sym_enum] = ACTIONS(1345),
-    [anon_sym_struct] = ACTIONS(1345),
-    [anon_sym_union] = ACTIONS(1345),
-    [anon_sym_if] = ACTIONS(1345),
-    [anon_sym_switch] = ACTIONS(1345),
-    [anon_sym_case] = ACTIONS(1345),
-    [anon_sym_default] = ACTIONS(1345),
-    [anon_sym_while] = ACTIONS(1345),
-    [anon_sym_do] = ACTIONS(1345),
-    [anon_sym_for] = ACTIONS(1345),
-    [anon_sym_return] = ACTIONS(1345),
-    [anon_sym_break] = ACTIONS(1345),
-    [anon_sym_continue] = ACTIONS(1345),
-    [anon_sym_goto] = ACTIONS(1345),
-    [anon_sym___try] = ACTIONS(1345),
-    [anon_sym___leave] = ACTIONS(1345),
-    [anon_sym_DASH_DASH] = ACTIONS(1347),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1347),
-    [anon_sym_sizeof] = ACTIONS(1345),
-    [anon_sym___alignof__] = ACTIONS(1345),
-    [anon_sym___alignof] = ACTIONS(1345),
-    [anon_sym__alignof] = ACTIONS(1345),
-    [anon_sym_alignof] = ACTIONS(1345),
-    [anon_sym__Alignof] = ACTIONS(1345),
-    [anon_sym_offsetof] = ACTIONS(1345),
-    [anon_sym__Generic] = ACTIONS(1345),
-    [anon_sym_asm] = ACTIONS(1345),
-    [anon_sym___asm__] = ACTIONS(1345),
-    [anon_sym___asm] = ACTIONS(1345),
-    [sym_number_literal] = ACTIONS(1347),
-    [anon_sym_L_SQUOTE] = ACTIONS(1347),
-    [anon_sym_u_SQUOTE] = ACTIONS(1347),
-    [anon_sym_U_SQUOTE] = ACTIONS(1347),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1347),
-    [anon_sym_SQUOTE] = ACTIONS(1347),
-    [anon_sym_L_DQUOTE] = ACTIONS(1347),
-    [anon_sym_u_DQUOTE] = ACTIONS(1347),
-    [anon_sym_U_DQUOTE] = ACTIONS(1347),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1347),
-    [anon_sym_DQUOTE] = ACTIONS(1347),
-    [sym_true] = ACTIONS(1345),
-    [sym_false] = ACTIONS(1345),
-    [anon_sym_NULL] = ACTIONS(1345),
-    [anon_sym_nullptr] = ACTIONS(1345),
+    [sym_identifier] = ACTIONS(1262),
+    [aux_sym_preproc_include_token1] = ACTIONS(1262),
+    [aux_sym_preproc_def_token1] = ACTIONS(1262),
+    [aux_sym_preproc_if_token1] = ACTIONS(1262),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1262),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1262),
+    [sym_preproc_directive] = ACTIONS(1262),
+    [anon_sym_LPAREN2] = ACTIONS(1265),
+    [anon_sym_BANG] = ACTIONS(1265),
+    [anon_sym_TILDE] = ACTIONS(1265),
+    [anon_sym_DASH] = ACTIONS(1262),
+    [anon_sym_PLUS] = ACTIONS(1262),
+    [anon_sym_STAR] = ACTIONS(1265),
+    [anon_sym_AMP] = ACTIONS(1265),
+    [anon_sym_SEMI] = ACTIONS(1265),
+    [anon_sym___extension__] = ACTIONS(1262),
+    [anon_sym_typedef] = ACTIONS(1262),
+    [anon_sym_extern] = ACTIONS(1262),
+    [anon_sym___attribute__] = ACTIONS(1262),
+    [anon_sym___attribute] = ACTIONS(1262),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1265),
+    [anon_sym___declspec] = ACTIONS(1262),
+    [anon_sym___cdecl] = ACTIONS(1262),
+    [anon_sym___clrcall] = ACTIONS(1262),
+    [anon_sym___stdcall] = ACTIONS(1262),
+    [anon_sym___fastcall] = ACTIONS(1262),
+    [anon_sym___thiscall] = ACTIONS(1262),
+    [anon_sym___vectorcall] = ACTIONS(1262),
+    [anon_sym_LBRACE] = ACTIONS(1265),
+    [anon_sym_RBRACE] = ACTIONS(1265),
+    [anon_sym_signed] = ACTIONS(1262),
+    [anon_sym_unsigned] = ACTIONS(1262),
+    [anon_sym_long] = ACTIONS(1262),
+    [anon_sym_short] = ACTIONS(1262),
+    [anon_sym_static] = ACTIONS(1262),
+    [anon_sym_auto] = ACTIONS(1262),
+    [anon_sym_register] = ACTIONS(1262),
+    [anon_sym_inline] = ACTIONS(1262),
+    [anon_sym___inline] = ACTIONS(1262),
+    [anon_sym___inline__] = ACTIONS(1262),
+    [anon_sym___forceinline] = ACTIONS(1262),
+    [anon_sym_thread_local] = ACTIONS(1262),
+    [anon_sym___thread] = ACTIONS(1262),
+    [anon_sym_const] = ACTIONS(1262),
+    [anon_sym_constexpr] = ACTIONS(1262),
+    [anon_sym_volatile] = ACTIONS(1262),
+    [anon_sym_restrict] = ACTIONS(1262),
+    [anon_sym___restrict__] = ACTIONS(1262),
+    [anon_sym__Atomic] = ACTIONS(1262),
+    [anon_sym__Noreturn] = ACTIONS(1262),
+    [anon_sym_noreturn] = ACTIONS(1262),
+    [anon_sym__Nonnull] = ACTIONS(1262),
+    [anon_sym_alignas] = ACTIONS(1262),
+    [anon_sym__Alignas] = ACTIONS(1262),
+    [sym_primitive_type] = ACTIONS(1262),
+    [anon_sym_enum] = ACTIONS(1262),
+    [anon_sym_struct] = ACTIONS(1262),
+    [anon_sym_union] = ACTIONS(1262),
+    [anon_sym_if] = ACTIONS(1262),
+    [anon_sym_switch] = ACTIONS(1262),
+    [anon_sym_case] = ACTIONS(1262),
+    [anon_sym_default] = ACTIONS(1262),
+    [anon_sym_while] = ACTIONS(1262),
+    [anon_sym_do] = ACTIONS(1262),
+    [anon_sym_for] = ACTIONS(1262),
+    [anon_sym_return] = ACTIONS(1262),
+    [anon_sym_break] = ACTIONS(1262),
+    [anon_sym_continue] = ACTIONS(1262),
+    [anon_sym_goto] = ACTIONS(1262),
+    [anon_sym___try] = ACTIONS(1262),
+    [anon_sym___leave] = ACTIONS(1262),
+    [anon_sym_DASH_DASH] = ACTIONS(1265),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1265),
+    [anon_sym_sizeof] = ACTIONS(1262),
+    [anon_sym___alignof__] = ACTIONS(1262),
+    [anon_sym___alignof] = ACTIONS(1262),
+    [anon_sym__alignof] = ACTIONS(1262),
+    [anon_sym_alignof] = ACTIONS(1262),
+    [anon_sym__Alignof] = ACTIONS(1262),
+    [anon_sym_offsetof] = ACTIONS(1262),
+    [anon_sym__Generic] = ACTIONS(1262),
+    [anon_sym_asm] = ACTIONS(1262),
+    [anon_sym___asm__] = ACTIONS(1262),
+    [anon_sym___asm] = ACTIONS(1262),
+    [sym_number_literal] = ACTIONS(1265),
+    [anon_sym_L_SQUOTE] = ACTIONS(1265),
+    [anon_sym_u_SQUOTE] = ACTIONS(1265),
+    [anon_sym_U_SQUOTE] = ACTIONS(1265),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1265),
+    [anon_sym_SQUOTE] = ACTIONS(1265),
+    [anon_sym_L_DQUOTE] = ACTIONS(1265),
+    [anon_sym_u_DQUOTE] = ACTIONS(1265),
+    [anon_sym_U_DQUOTE] = ACTIONS(1265),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1265),
+    [anon_sym_DQUOTE] = ACTIONS(1265),
+    [sym_true] = ACTIONS(1262),
+    [sym_false] = ACTIONS(1262),
+    [anon_sym_NULL] = ACTIONS(1262),
+    [anon_sym_nullptr] = ACTIONS(1262),
     [sym_comment] = ACTIONS(3),
   },
   [273] = {
-    [sym_identifier] = ACTIONS(1289),
-    [aux_sym_preproc_include_token1] = ACTIONS(1289),
-    [aux_sym_preproc_def_token1] = ACTIONS(1289),
-    [aux_sym_preproc_if_token1] = ACTIONS(1289),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1289),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1289),
-    [sym_preproc_directive] = ACTIONS(1289),
-    [anon_sym_LPAREN2] = ACTIONS(1291),
-    [anon_sym_BANG] = ACTIONS(1291),
-    [anon_sym_TILDE] = ACTIONS(1291),
-    [anon_sym_DASH] = ACTIONS(1289),
-    [anon_sym_PLUS] = ACTIONS(1289),
-    [anon_sym_STAR] = ACTIONS(1291),
-    [anon_sym_AMP] = ACTIONS(1291),
-    [anon_sym_SEMI] = ACTIONS(1291),
-    [anon_sym___extension__] = ACTIONS(1289),
-    [anon_sym_typedef] = ACTIONS(1289),
-    [anon_sym_extern] = ACTIONS(1289),
-    [anon_sym___attribute__] = ACTIONS(1289),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1291),
-    [anon_sym___declspec] = ACTIONS(1289),
-    [anon_sym___cdecl] = ACTIONS(1289),
-    [anon_sym___clrcall] = ACTIONS(1289),
-    [anon_sym___stdcall] = ACTIONS(1289),
-    [anon_sym___fastcall] = ACTIONS(1289),
-    [anon_sym___thiscall] = ACTIONS(1289),
-    [anon_sym___vectorcall] = ACTIONS(1289),
-    [anon_sym_LBRACE] = ACTIONS(1291),
-    [anon_sym_RBRACE] = ACTIONS(1291),
-    [anon_sym_signed] = ACTIONS(1289),
-    [anon_sym_unsigned] = ACTIONS(1289),
-    [anon_sym_long] = ACTIONS(1289),
-    [anon_sym_short] = ACTIONS(1289),
-    [anon_sym_static] = ACTIONS(1289),
-    [anon_sym_auto] = ACTIONS(1289),
-    [anon_sym_register] = ACTIONS(1289),
-    [anon_sym_inline] = ACTIONS(1289),
-    [anon_sym___inline] = ACTIONS(1289),
-    [anon_sym___inline__] = ACTIONS(1289),
-    [anon_sym___forceinline] = ACTIONS(1289),
-    [anon_sym_thread_local] = ACTIONS(1289),
-    [anon_sym___thread] = ACTIONS(1289),
-    [anon_sym_const] = ACTIONS(1289),
-    [anon_sym_constexpr] = ACTIONS(1289),
-    [anon_sym_volatile] = ACTIONS(1289),
-    [anon_sym_restrict] = ACTIONS(1289),
-    [anon_sym___restrict__] = ACTIONS(1289),
-    [anon_sym__Atomic] = ACTIONS(1289),
-    [anon_sym__Noreturn] = ACTIONS(1289),
-    [anon_sym_noreturn] = ACTIONS(1289),
-    [anon_sym__Nonnull] = ACTIONS(1289),
-    [anon_sym_alignas] = ACTIONS(1289),
-    [anon_sym__Alignas] = ACTIONS(1289),
-    [sym_primitive_type] = ACTIONS(1289),
-    [anon_sym_enum] = ACTIONS(1289),
-    [anon_sym_struct] = ACTIONS(1289),
-    [anon_sym_union] = ACTIONS(1289),
-    [anon_sym_if] = ACTIONS(1289),
-    [anon_sym_switch] = ACTIONS(1289),
-    [anon_sym_case] = ACTIONS(1289),
-    [anon_sym_default] = ACTIONS(1289),
-    [anon_sym_while] = ACTIONS(1289),
-    [anon_sym_do] = ACTIONS(1289),
-    [anon_sym_for] = ACTIONS(1289),
-    [anon_sym_return] = ACTIONS(1289),
-    [anon_sym_break] = ACTIONS(1289),
-    [anon_sym_continue] = ACTIONS(1289),
-    [anon_sym_goto] = ACTIONS(1289),
-    [anon_sym___try] = ACTIONS(1289),
-    [anon_sym___leave] = ACTIONS(1289),
-    [anon_sym_DASH_DASH] = ACTIONS(1291),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1291),
-    [anon_sym_sizeof] = ACTIONS(1289),
-    [anon_sym___alignof__] = ACTIONS(1289),
-    [anon_sym___alignof] = ACTIONS(1289),
-    [anon_sym__alignof] = ACTIONS(1289),
-    [anon_sym_alignof] = ACTIONS(1289),
-    [anon_sym__Alignof] = ACTIONS(1289),
-    [anon_sym_offsetof] = ACTIONS(1289),
-    [anon_sym__Generic] = ACTIONS(1289),
-    [anon_sym_asm] = ACTIONS(1289),
-    [anon_sym___asm__] = ACTIONS(1289),
-    [anon_sym___asm] = ACTIONS(1289),
-    [sym_number_literal] = ACTIONS(1291),
-    [anon_sym_L_SQUOTE] = ACTIONS(1291),
-    [anon_sym_u_SQUOTE] = ACTIONS(1291),
-    [anon_sym_U_SQUOTE] = ACTIONS(1291),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1291),
-    [anon_sym_SQUOTE] = ACTIONS(1291),
-    [anon_sym_L_DQUOTE] = ACTIONS(1291),
-    [anon_sym_u_DQUOTE] = ACTIONS(1291),
-    [anon_sym_U_DQUOTE] = ACTIONS(1291),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1291),
-    [anon_sym_DQUOTE] = ACTIONS(1291),
-    [sym_true] = ACTIONS(1289),
-    [sym_false] = ACTIONS(1289),
-    [anon_sym_NULL] = ACTIONS(1289),
-    [anon_sym_nullptr] = ACTIONS(1289),
+    [sym_expression] = STATE(700),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(682),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(682),
+    [sym_call_expression] = STATE(682),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(682),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(682),
+    [sym_initializer_list] = STATE(686),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_identifier] = ACTIONS(1386),
+    [anon_sym_COMMA] = ACTIONS(1388),
+    [anon_sym_RPAREN] = ACTIONS(1388),
+    [anon_sym_LPAREN2] = ACTIONS(1388),
+    [anon_sym_BANG] = ACTIONS(1390),
+    [anon_sym_TILDE] = ACTIONS(1392),
+    [anon_sym_DASH] = ACTIONS(1394),
+    [anon_sym_PLUS] = ACTIONS(1394),
+    [anon_sym_STAR] = ACTIONS(1394),
+    [anon_sym_SLASH] = ACTIONS(1394),
+    [anon_sym_PERCENT] = ACTIONS(1394),
+    [anon_sym_PIPE_PIPE] = ACTIONS(1388),
+    [anon_sym_AMP_AMP] = ACTIONS(1388),
+    [anon_sym_PIPE] = ACTIONS(1394),
+    [anon_sym_CARET] = ACTIONS(1394),
+    [anon_sym_AMP] = ACTIONS(1394),
+    [anon_sym_EQ_EQ] = ACTIONS(1388),
+    [anon_sym_BANG_EQ] = ACTIONS(1388),
+    [anon_sym_GT] = ACTIONS(1394),
+    [anon_sym_GT_EQ] = ACTIONS(1388),
+    [anon_sym_LT_EQ] = ACTIONS(1388),
+    [anon_sym_LT] = ACTIONS(1394),
+    [anon_sym_LT_LT] = ACTIONS(1394),
+    [anon_sym_GT_GT] = ACTIONS(1394),
+    [anon_sym_SEMI] = ACTIONS(1388),
+    [anon_sym___extension__] = ACTIONS(1396),
+    [anon_sym___attribute__] = ACTIONS(1394),
+    [anon_sym___attribute] = ACTIONS(1394),
+    [anon_sym_LBRACE] = ACTIONS(1398),
+    [anon_sym_RBRACE] = ACTIONS(1388),
+    [anon_sym_LBRACK] = ACTIONS(1388),
+    [anon_sym_EQ] = ACTIONS(1394),
+    [anon_sym_COLON] = ACTIONS(1388),
+    [anon_sym_QMARK] = ACTIONS(1388),
+    [anon_sym_STAR_EQ] = ACTIONS(1388),
+    [anon_sym_SLASH_EQ] = ACTIONS(1388),
+    [anon_sym_PERCENT_EQ] = ACTIONS(1388),
+    [anon_sym_PLUS_EQ] = ACTIONS(1388),
+    [anon_sym_DASH_EQ] = ACTIONS(1388),
+    [anon_sym_LT_LT_EQ] = ACTIONS(1388),
+    [anon_sym_GT_GT_EQ] = ACTIONS(1388),
+    [anon_sym_AMP_EQ] = ACTIONS(1388),
+    [anon_sym_CARET_EQ] = ACTIONS(1388),
+    [anon_sym_PIPE_EQ] = ACTIONS(1388),
+    [anon_sym_DASH_DASH] = ACTIONS(1388),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1388),
+    [anon_sym_sizeof] = ACTIONS(1400),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [anon_sym_DOT] = ACTIONS(1394),
+    [anon_sym_DASH_GT] = ACTIONS(1388),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [274] = {
-    [sym_identifier] = ACTIONS(1313),
-    [aux_sym_preproc_include_token1] = ACTIONS(1313),
-    [aux_sym_preproc_def_token1] = ACTIONS(1313),
-    [aux_sym_preproc_if_token1] = ACTIONS(1313),
-    [aux_sym_preproc_if_token2] = ACTIONS(1313),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1313),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1313),
-    [sym_preproc_directive] = ACTIONS(1313),
-    [anon_sym_LPAREN2] = ACTIONS(1315),
-    [anon_sym_BANG] = ACTIONS(1315),
-    [anon_sym_TILDE] = ACTIONS(1315),
-    [anon_sym_DASH] = ACTIONS(1313),
-    [anon_sym_PLUS] = ACTIONS(1313),
-    [anon_sym_STAR] = ACTIONS(1315),
-    [anon_sym_AMP] = ACTIONS(1315),
-    [anon_sym_SEMI] = ACTIONS(1315),
-    [anon_sym___extension__] = ACTIONS(1313),
-    [anon_sym_typedef] = ACTIONS(1313),
-    [anon_sym_extern] = ACTIONS(1313),
-    [anon_sym___attribute__] = ACTIONS(1313),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1315),
-    [anon_sym___declspec] = ACTIONS(1313),
-    [anon_sym___cdecl] = ACTIONS(1313),
-    [anon_sym___clrcall] = ACTIONS(1313),
-    [anon_sym___stdcall] = ACTIONS(1313),
-    [anon_sym___fastcall] = ACTIONS(1313),
-    [anon_sym___thiscall] = ACTIONS(1313),
-    [anon_sym___vectorcall] = ACTIONS(1313),
-    [anon_sym_LBRACE] = ACTIONS(1315),
-    [anon_sym_signed] = ACTIONS(1313),
-    [anon_sym_unsigned] = ACTIONS(1313),
-    [anon_sym_long] = ACTIONS(1313),
-    [anon_sym_short] = ACTIONS(1313),
-    [anon_sym_static] = ACTIONS(1313),
-    [anon_sym_auto] = ACTIONS(1313),
-    [anon_sym_register] = ACTIONS(1313),
-    [anon_sym_inline] = ACTIONS(1313),
-    [anon_sym___inline] = ACTIONS(1313),
-    [anon_sym___inline__] = ACTIONS(1313),
-    [anon_sym___forceinline] = ACTIONS(1313),
-    [anon_sym_thread_local] = ACTIONS(1313),
-    [anon_sym___thread] = ACTIONS(1313),
-    [anon_sym_const] = ACTIONS(1313),
-    [anon_sym_constexpr] = ACTIONS(1313),
-    [anon_sym_volatile] = ACTIONS(1313),
-    [anon_sym_restrict] = ACTIONS(1313),
-    [anon_sym___restrict__] = ACTIONS(1313),
-    [anon_sym__Atomic] = ACTIONS(1313),
-    [anon_sym__Noreturn] = ACTIONS(1313),
-    [anon_sym_noreturn] = ACTIONS(1313),
-    [anon_sym__Nonnull] = ACTIONS(1313),
-    [anon_sym_alignas] = ACTIONS(1313),
-    [anon_sym__Alignas] = ACTIONS(1313),
-    [sym_primitive_type] = ACTIONS(1313),
-    [anon_sym_enum] = ACTIONS(1313),
-    [anon_sym_struct] = ACTIONS(1313),
-    [anon_sym_union] = ACTIONS(1313),
-    [anon_sym_if] = ACTIONS(1313),
-    [anon_sym_switch] = ACTIONS(1313),
-    [anon_sym_case] = ACTIONS(1313),
-    [anon_sym_default] = ACTIONS(1313),
-    [anon_sym_while] = ACTIONS(1313),
-    [anon_sym_do] = ACTIONS(1313),
-    [anon_sym_for] = ACTIONS(1313),
-    [anon_sym_return] = ACTIONS(1313),
-    [anon_sym_break] = ACTIONS(1313),
-    [anon_sym_continue] = ACTIONS(1313),
-    [anon_sym_goto] = ACTIONS(1313),
-    [anon_sym___try] = ACTIONS(1313),
-    [anon_sym___leave] = ACTIONS(1313),
-    [anon_sym_DASH_DASH] = ACTIONS(1315),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1315),
-    [anon_sym_sizeof] = ACTIONS(1313),
-    [anon_sym___alignof__] = ACTIONS(1313),
-    [anon_sym___alignof] = ACTIONS(1313),
-    [anon_sym__alignof] = ACTIONS(1313),
-    [anon_sym_alignof] = ACTIONS(1313),
-    [anon_sym__Alignof] = ACTIONS(1313),
-    [anon_sym_offsetof] = ACTIONS(1313),
-    [anon_sym__Generic] = ACTIONS(1313),
-    [anon_sym_asm] = ACTIONS(1313),
-    [anon_sym___asm__] = ACTIONS(1313),
-    [anon_sym___asm] = ACTIONS(1313),
-    [sym_number_literal] = ACTIONS(1315),
-    [anon_sym_L_SQUOTE] = ACTIONS(1315),
-    [anon_sym_u_SQUOTE] = ACTIONS(1315),
-    [anon_sym_U_SQUOTE] = ACTIONS(1315),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1315),
-    [anon_sym_SQUOTE] = ACTIONS(1315),
-    [anon_sym_L_DQUOTE] = ACTIONS(1315),
-    [anon_sym_u_DQUOTE] = ACTIONS(1315),
-    [anon_sym_U_DQUOTE] = ACTIONS(1315),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1315),
-    [anon_sym_DQUOTE] = ACTIONS(1315),
-    [sym_true] = ACTIONS(1313),
-    [sym_false] = ACTIONS(1313),
-    [anon_sym_NULL] = ACTIONS(1313),
-    [anon_sym_nullptr] = ACTIONS(1313),
+    [sym_identifier] = ACTIONS(1268),
+    [aux_sym_preproc_include_token1] = ACTIONS(1268),
+    [aux_sym_preproc_def_token1] = ACTIONS(1268),
+    [aux_sym_preproc_if_token1] = ACTIONS(1268),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1268),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1268),
+    [sym_preproc_directive] = ACTIONS(1268),
+    [anon_sym_LPAREN2] = ACTIONS(1270),
+    [anon_sym_BANG] = ACTIONS(1270),
+    [anon_sym_TILDE] = ACTIONS(1270),
+    [anon_sym_DASH] = ACTIONS(1268),
+    [anon_sym_PLUS] = ACTIONS(1268),
+    [anon_sym_STAR] = ACTIONS(1270),
+    [anon_sym_AMP] = ACTIONS(1270),
+    [anon_sym_SEMI] = ACTIONS(1270),
+    [anon_sym___extension__] = ACTIONS(1268),
+    [anon_sym_typedef] = ACTIONS(1268),
+    [anon_sym_extern] = ACTIONS(1268),
+    [anon_sym___attribute__] = ACTIONS(1268),
+    [anon_sym___attribute] = ACTIONS(1268),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1270),
+    [anon_sym___declspec] = ACTIONS(1268),
+    [anon_sym___cdecl] = ACTIONS(1268),
+    [anon_sym___clrcall] = ACTIONS(1268),
+    [anon_sym___stdcall] = ACTIONS(1268),
+    [anon_sym___fastcall] = ACTIONS(1268),
+    [anon_sym___thiscall] = ACTIONS(1268),
+    [anon_sym___vectorcall] = ACTIONS(1268),
+    [anon_sym_LBRACE] = ACTIONS(1270),
+    [anon_sym_RBRACE] = ACTIONS(1270),
+    [anon_sym_signed] = ACTIONS(1268),
+    [anon_sym_unsigned] = ACTIONS(1268),
+    [anon_sym_long] = ACTIONS(1268),
+    [anon_sym_short] = ACTIONS(1268),
+    [anon_sym_static] = ACTIONS(1268),
+    [anon_sym_auto] = ACTIONS(1268),
+    [anon_sym_register] = ACTIONS(1268),
+    [anon_sym_inline] = ACTIONS(1268),
+    [anon_sym___inline] = ACTIONS(1268),
+    [anon_sym___inline__] = ACTIONS(1268),
+    [anon_sym___forceinline] = ACTIONS(1268),
+    [anon_sym_thread_local] = ACTIONS(1268),
+    [anon_sym___thread] = ACTIONS(1268),
+    [anon_sym_const] = ACTIONS(1268),
+    [anon_sym_constexpr] = ACTIONS(1268),
+    [anon_sym_volatile] = ACTIONS(1268),
+    [anon_sym_restrict] = ACTIONS(1268),
+    [anon_sym___restrict__] = ACTIONS(1268),
+    [anon_sym__Atomic] = ACTIONS(1268),
+    [anon_sym__Noreturn] = ACTIONS(1268),
+    [anon_sym_noreturn] = ACTIONS(1268),
+    [anon_sym__Nonnull] = ACTIONS(1268),
+    [anon_sym_alignas] = ACTIONS(1268),
+    [anon_sym__Alignas] = ACTIONS(1268),
+    [sym_primitive_type] = ACTIONS(1268),
+    [anon_sym_enum] = ACTIONS(1268),
+    [anon_sym_struct] = ACTIONS(1268),
+    [anon_sym_union] = ACTIONS(1268),
+    [anon_sym_if] = ACTIONS(1268),
+    [anon_sym_switch] = ACTIONS(1268),
+    [anon_sym_case] = ACTIONS(1268),
+    [anon_sym_default] = ACTIONS(1268),
+    [anon_sym_while] = ACTIONS(1268),
+    [anon_sym_do] = ACTIONS(1268),
+    [anon_sym_for] = ACTIONS(1268),
+    [anon_sym_return] = ACTIONS(1268),
+    [anon_sym_break] = ACTIONS(1268),
+    [anon_sym_continue] = ACTIONS(1268),
+    [anon_sym_goto] = ACTIONS(1268),
+    [anon_sym___try] = ACTIONS(1268),
+    [anon_sym___leave] = ACTIONS(1268),
+    [anon_sym_DASH_DASH] = ACTIONS(1270),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1270),
+    [anon_sym_sizeof] = ACTIONS(1268),
+    [anon_sym___alignof__] = ACTIONS(1268),
+    [anon_sym___alignof] = ACTIONS(1268),
+    [anon_sym__alignof] = ACTIONS(1268),
+    [anon_sym_alignof] = ACTIONS(1268),
+    [anon_sym__Alignof] = ACTIONS(1268),
+    [anon_sym_offsetof] = ACTIONS(1268),
+    [anon_sym__Generic] = ACTIONS(1268),
+    [anon_sym_asm] = ACTIONS(1268),
+    [anon_sym___asm__] = ACTIONS(1268),
+    [anon_sym___asm] = ACTIONS(1268),
+    [sym_number_literal] = ACTIONS(1270),
+    [anon_sym_L_SQUOTE] = ACTIONS(1270),
+    [anon_sym_u_SQUOTE] = ACTIONS(1270),
+    [anon_sym_U_SQUOTE] = ACTIONS(1270),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1270),
+    [anon_sym_SQUOTE] = ACTIONS(1270),
+    [anon_sym_L_DQUOTE] = ACTIONS(1270),
+    [anon_sym_u_DQUOTE] = ACTIONS(1270),
+    [anon_sym_U_DQUOTE] = ACTIONS(1270),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1270),
+    [anon_sym_DQUOTE] = ACTIONS(1270),
+    [sym_true] = ACTIONS(1268),
+    [sym_false] = ACTIONS(1268),
+    [anon_sym_NULL] = ACTIONS(1268),
+    [anon_sym_nullptr] = ACTIONS(1268),
     [sym_comment] = ACTIONS(3),
   },
   [275] = {
-    [sym_identifier] = ACTIONS(1293),
-    [aux_sym_preproc_include_token1] = ACTIONS(1293),
-    [aux_sym_preproc_def_token1] = ACTIONS(1293),
-    [aux_sym_preproc_if_token1] = ACTIONS(1293),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1293),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1293),
-    [sym_preproc_directive] = ACTIONS(1293),
-    [anon_sym_LPAREN2] = ACTIONS(1295),
-    [anon_sym_BANG] = ACTIONS(1295),
-    [anon_sym_TILDE] = ACTIONS(1295),
-    [anon_sym_DASH] = ACTIONS(1293),
-    [anon_sym_PLUS] = ACTIONS(1293),
-    [anon_sym_STAR] = ACTIONS(1295),
-    [anon_sym_AMP] = ACTIONS(1295),
-    [anon_sym_SEMI] = ACTIONS(1295),
-    [anon_sym___extension__] = ACTIONS(1293),
-    [anon_sym_typedef] = ACTIONS(1293),
-    [anon_sym_extern] = ACTIONS(1293),
-    [anon_sym___attribute__] = ACTIONS(1293),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1295),
-    [anon_sym___declspec] = ACTIONS(1293),
-    [anon_sym___cdecl] = ACTIONS(1293),
-    [anon_sym___clrcall] = ACTIONS(1293),
-    [anon_sym___stdcall] = ACTIONS(1293),
-    [anon_sym___fastcall] = ACTIONS(1293),
-    [anon_sym___thiscall] = ACTIONS(1293),
-    [anon_sym___vectorcall] = ACTIONS(1293),
-    [anon_sym_LBRACE] = ACTIONS(1295),
-    [anon_sym_RBRACE] = ACTIONS(1295),
-    [anon_sym_signed] = ACTIONS(1293),
-    [anon_sym_unsigned] = ACTIONS(1293),
-    [anon_sym_long] = ACTIONS(1293),
-    [anon_sym_short] = ACTIONS(1293),
-    [anon_sym_static] = ACTIONS(1293),
-    [anon_sym_auto] = ACTIONS(1293),
-    [anon_sym_register] = ACTIONS(1293),
-    [anon_sym_inline] = ACTIONS(1293),
-    [anon_sym___inline] = ACTIONS(1293),
-    [anon_sym___inline__] = ACTIONS(1293),
-    [anon_sym___forceinline] = ACTIONS(1293),
-    [anon_sym_thread_local] = ACTIONS(1293),
-    [anon_sym___thread] = ACTIONS(1293),
-    [anon_sym_const] = ACTIONS(1293),
-    [anon_sym_constexpr] = ACTIONS(1293),
-    [anon_sym_volatile] = ACTIONS(1293),
-    [anon_sym_restrict] = ACTIONS(1293),
-    [anon_sym___restrict__] = ACTIONS(1293),
-    [anon_sym__Atomic] = ACTIONS(1293),
-    [anon_sym__Noreturn] = ACTIONS(1293),
-    [anon_sym_noreturn] = ACTIONS(1293),
-    [anon_sym__Nonnull] = ACTIONS(1293),
-    [anon_sym_alignas] = ACTIONS(1293),
-    [anon_sym__Alignas] = ACTIONS(1293),
-    [sym_primitive_type] = ACTIONS(1293),
-    [anon_sym_enum] = ACTIONS(1293),
-    [anon_sym_struct] = ACTIONS(1293),
-    [anon_sym_union] = ACTIONS(1293),
-    [anon_sym_if] = ACTIONS(1293),
-    [anon_sym_switch] = ACTIONS(1293),
-    [anon_sym_case] = ACTIONS(1293),
-    [anon_sym_default] = ACTIONS(1293),
-    [anon_sym_while] = ACTIONS(1293),
-    [anon_sym_do] = ACTIONS(1293),
-    [anon_sym_for] = ACTIONS(1293),
-    [anon_sym_return] = ACTIONS(1293),
-    [anon_sym_break] = ACTIONS(1293),
-    [anon_sym_continue] = ACTIONS(1293),
-    [anon_sym_goto] = ACTIONS(1293),
-    [anon_sym___try] = ACTIONS(1293),
-    [anon_sym___leave] = ACTIONS(1293),
-    [anon_sym_DASH_DASH] = ACTIONS(1295),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1295),
-    [anon_sym_sizeof] = ACTIONS(1293),
-    [anon_sym___alignof__] = ACTIONS(1293),
-    [anon_sym___alignof] = ACTIONS(1293),
-    [anon_sym__alignof] = ACTIONS(1293),
-    [anon_sym_alignof] = ACTIONS(1293),
-    [anon_sym__Alignof] = ACTIONS(1293),
-    [anon_sym_offsetof] = ACTIONS(1293),
-    [anon_sym__Generic] = ACTIONS(1293),
-    [anon_sym_asm] = ACTIONS(1293),
-    [anon_sym___asm__] = ACTIONS(1293),
-    [anon_sym___asm] = ACTIONS(1293),
-    [sym_number_literal] = ACTIONS(1295),
-    [anon_sym_L_SQUOTE] = ACTIONS(1295),
-    [anon_sym_u_SQUOTE] = ACTIONS(1295),
-    [anon_sym_U_SQUOTE] = ACTIONS(1295),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1295),
-    [anon_sym_SQUOTE] = ACTIONS(1295),
-    [anon_sym_L_DQUOTE] = ACTIONS(1295),
-    [anon_sym_u_DQUOTE] = ACTIONS(1295),
-    [anon_sym_U_DQUOTE] = ACTIONS(1295),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1295),
-    [anon_sym_DQUOTE] = ACTIONS(1295),
-    [sym_true] = ACTIONS(1293),
-    [sym_false] = ACTIONS(1293),
-    [anon_sym_NULL] = ACTIONS(1293),
-    [anon_sym_nullptr] = ACTIONS(1293),
+    [sym_identifier] = ACTIONS(1296),
+    [aux_sym_preproc_include_token1] = ACTIONS(1296),
+    [aux_sym_preproc_def_token1] = ACTIONS(1296),
+    [aux_sym_preproc_if_token1] = ACTIONS(1296),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1296),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1296),
+    [sym_preproc_directive] = ACTIONS(1296),
+    [anon_sym_LPAREN2] = ACTIONS(1298),
+    [anon_sym_BANG] = ACTIONS(1298),
+    [anon_sym_TILDE] = ACTIONS(1298),
+    [anon_sym_DASH] = ACTIONS(1296),
+    [anon_sym_PLUS] = ACTIONS(1296),
+    [anon_sym_STAR] = ACTIONS(1298),
+    [anon_sym_AMP] = ACTIONS(1298),
+    [anon_sym_SEMI] = ACTIONS(1298),
+    [anon_sym___extension__] = ACTIONS(1296),
+    [anon_sym_typedef] = ACTIONS(1296),
+    [anon_sym_extern] = ACTIONS(1296),
+    [anon_sym___attribute__] = ACTIONS(1296),
+    [anon_sym___attribute] = ACTIONS(1296),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1298),
+    [anon_sym___declspec] = ACTIONS(1296),
+    [anon_sym___cdecl] = ACTIONS(1296),
+    [anon_sym___clrcall] = ACTIONS(1296),
+    [anon_sym___stdcall] = ACTIONS(1296),
+    [anon_sym___fastcall] = ACTIONS(1296),
+    [anon_sym___thiscall] = ACTIONS(1296),
+    [anon_sym___vectorcall] = ACTIONS(1296),
+    [anon_sym_LBRACE] = ACTIONS(1298),
+    [anon_sym_RBRACE] = ACTIONS(1298),
+    [anon_sym_signed] = ACTIONS(1296),
+    [anon_sym_unsigned] = ACTIONS(1296),
+    [anon_sym_long] = ACTIONS(1296),
+    [anon_sym_short] = ACTIONS(1296),
+    [anon_sym_static] = ACTIONS(1296),
+    [anon_sym_auto] = ACTIONS(1296),
+    [anon_sym_register] = ACTIONS(1296),
+    [anon_sym_inline] = ACTIONS(1296),
+    [anon_sym___inline] = ACTIONS(1296),
+    [anon_sym___inline__] = ACTIONS(1296),
+    [anon_sym___forceinline] = ACTIONS(1296),
+    [anon_sym_thread_local] = ACTIONS(1296),
+    [anon_sym___thread] = ACTIONS(1296),
+    [anon_sym_const] = ACTIONS(1296),
+    [anon_sym_constexpr] = ACTIONS(1296),
+    [anon_sym_volatile] = ACTIONS(1296),
+    [anon_sym_restrict] = ACTIONS(1296),
+    [anon_sym___restrict__] = ACTIONS(1296),
+    [anon_sym__Atomic] = ACTIONS(1296),
+    [anon_sym__Noreturn] = ACTIONS(1296),
+    [anon_sym_noreturn] = ACTIONS(1296),
+    [anon_sym__Nonnull] = ACTIONS(1296),
+    [anon_sym_alignas] = ACTIONS(1296),
+    [anon_sym__Alignas] = ACTIONS(1296),
+    [sym_primitive_type] = ACTIONS(1296),
+    [anon_sym_enum] = ACTIONS(1296),
+    [anon_sym_struct] = ACTIONS(1296),
+    [anon_sym_union] = ACTIONS(1296),
+    [anon_sym_if] = ACTIONS(1296),
+    [anon_sym_switch] = ACTIONS(1296),
+    [anon_sym_case] = ACTIONS(1296),
+    [anon_sym_default] = ACTIONS(1296),
+    [anon_sym_while] = ACTIONS(1296),
+    [anon_sym_do] = ACTIONS(1296),
+    [anon_sym_for] = ACTIONS(1296),
+    [anon_sym_return] = ACTIONS(1296),
+    [anon_sym_break] = ACTIONS(1296),
+    [anon_sym_continue] = ACTIONS(1296),
+    [anon_sym_goto] = ACTIONS(1296),
+    [anon_sym___try] = ACTIONS(1296),
+    [anon_sym___leave] = ACTIONS(1296),
+    [anon_sym_DASH_DASH] = ACTIONS(1298),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1298),
+    [anon_sym_sizeof] = ACTIONS(1296),
+    [anon_sym___alignof__] = ACTIONS(1296),
+    [anon_sym___alignof] = ACTIONS(1296),
+    [anon_sym__alignof] = ACTIONS(1296),
+    [anon_sym_alignof] = ACTIONS(1296),
+    [anon_sym__Alignof] = ACTIONS(1296),
+    [anon_sym_offsetof] = ACTIONS(1296),
+    [anon_sym__Generic] = ACTIONS(1296),
+    [anon_sym_asm] = ACTIONS(1296),
+    [anon_sym___asm__] = ACTIONS(1296),
+    [anon_sym___asm] = ACTIONS(1296),
+    [sym_number_literal] = ACTIONS(1298),
+    [anon_sym_L_SQUOTE] = ACTIONS(1298),
+    [anon_sym_u_SQUOTE] = ACTIONS(1298),
+    [anon_sym_U_SQUOTE] = ACTIONS(1298),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1298),
+    [anon_sym_SQUOTE] = ACTIONS(1298),
+    [anon_sym_L_DQUOTE] = ACTIONS(1298),
+    [anon_sym_u_DQUOTE] = ACTIONS(1298),
+    [anon_sym_U_DQUOTE] = ACTIONS(1298),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1298),
+    [anon_sym_DQUOTE] = ACTIONS(1298),
+    [sym_true] = ACTIONS(1296),
+    [sym_false] = ACTIONS(1296),
+    [anon_sym_NULL] = ACTIONS(1296),
+    [anon_sym_nullptr] = ACTIONS(1296),
     [sym_comment] = ACTIONS(3),
   },
   [276] = {
-    [sym_identifier] = ACTIONS(1269),
-    [aux_sym_preproc_include_token1] = ACTIONS(1269),
-    [aux_sym_preproc_def_token1] = ACTIONS(1269),
-    [aux_sym_preproc_if_token1] = ACTIONS(1269),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1269),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1269),
-    [sym_preproc_directive] = ACTIONS(1269),
-    [anon_sym_LPAREN2] = ACTIONS(1271),
-    [anon_sym_BANG] = ACTIONS(1271),
-    [anon_sym_TILDE] = ACTIONS(1271),
-    [anon_sym_DASH] = ACTIONS(1269),
-    [anon_sym_PLUS] = ACTIONS(1269),
-    [anon_sym_STAR] = ACTIONS(1271),
-    [anon_sym_AMP] = ACTIONS(1271),
-    [anon_sym_SEMI] = ACTIONS(1271),
-    [anon_sym___extension__] = ACTIONS(1269),
-    [anon_sym_typedef] = ACTIONS(1269),
-    [anon_sym_extern] = ACTIONS(1269),
-    [anon_sym___attribute__] = ACTIONS(1269),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1271),
-    [anon_sym___declspec] = ACTIONS(1269),
-    [anon_sym___cdecl] = ACTIONS(1269),
-    [anon_sym___clrcall] = ACTIONS(1269),
-    [anon_sym___stdcall] = ACTIONS(1269),
-    [anon_sym___fastcall] = ACTIONS(1269),
-    [anon_sym___thiscall] = ACTIONS(1269),
-    [anon_sym___vectorcall] = ACTIONS(1269),
-    [anon_sym_LBRACE] = ACTIONS(1271),
-    [anon_sym_RBRACE] = ACTIONS(1271),
-    [anon_sym_signed] = ACTIONS(1269),
-    [anon_sym_unsigned] = ACTIONS(1269),
-    [anon_sym_long] = ACTIONS(1269),
-    [anon_sym_short] = ACTIONS(1269),
-    [anon_sym_static] = ACTIONS(1269),
-    [anon_sym_auto] = ACTIONS(1269),
-    [anon_sym_register] = ACTIONS(1269),
-    [anon_sym_inline] = ACTIONS(1269),
-    [anon_sym___inline] = ACTIONS(1269),
-    [anon_sym___inline__] = ACTIONS(1269),
-    [anon_sym___forceinline] = ACTIONS(1269),
-    [anon_sym_thread_local] = ACTIONS(1269),
-    [anon_sym___thread] = ACTIONS(1269),
-    [anon_sym_const] = ACTIONS(1269),
-    [anon_sym_constexpr] = ACTIONS(1269),
-    [anon_sym_volatile] = ACTIONS(1269),
-    [anon_sym_restrict] = ACTIONS(1269),
-    [anon_sym___restrict__] = ACTIONS(1269),
-    [anon_sym__Atomic] = ACTIONS(1269),
-    [anon_sym__Noreturn] = ACTIONS(1269),
-    [anon_sym_noreturn] = ACTIONS(1269),
-    [anon_sym__Nonnull] = ACTIONS(1269),
-    [anon_sym_alignas] = ACTIONS(1269),
-    [anon_sym__Alignas] = ACTIONS(1269),
-    [sym_primitive_type] = ACTIONS(1269),
-    [anon_sym_enum] = ACTIONS(1269),
-    [anon_sym_struct] = ACTIONS(1269),
-    [anon_sym_union] = ACTIONS(1269),
-    [anon_sym_if] = ACTIONS(1269),
-    [anon_sym_switch] = ACTIONS(1269),
-    [anon_sym_case] = ACTIONS(1269),
-    [anon_sym_default] = ACTIONS(1269),
-    [anon_sym_while] = ACTIONS(1269),
-    [anon_sym_do] = ACTIONS(1269),
-    [anon_sym_for] = ACTIONS(1269),
-    [anon_sym_return] = ACTIONS(1269),
-    [anon_sym_break] = ACTIONS(1269),
-    [anon_sym_continue] = ACTIONS(1269),
-    [anon_sym_goto] = ACTIONS(1269),
-    [anon_sym___try] = ACTIONS(1269),
-    [anon_sym___leave] = ACTIONS(1269),
-    [anon_sym_DASH_DASH] = ACTIONS(1271),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1271),
-    [anon_sym_sizeof] = ACTIONS(1269),
-    [anon_sym___alignof__] = ACTIONS(1269),
-    [anon_sym___alignof] = ACTIONS(1269),
-    [anon_sym__alignof] = ACTIONS(1269),
-    [anon_sym_alignof] = ACTIONS(1269),
-    [anon_sym__Alignof] = ACTIONS(1269),
-    [anon_sym_offsetof] = ACTIONS(1269),
-    [anon_sym__Generic] = ACTIONS(1269),
-    [anon_sym_asm] = ACTIONS(1269),
-    [anon_sym___asm__] = ACTIONS(1269),
-    [anon_sym___asm] = ACTIONS(1269),
-    [sym_number_literal] = ACTIONS(1271),
-    [anon_sym_L_SQUOTE] = ACTIONS(1271),
-    [anon_sym_u_SQUOTE] = ACTIONS(1271),
-    [anon_sym_U_SQUOTE] = ACTIONS(1271),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1271),
-    [anon_sym_SQUOTE] = ACTIONS(1271),
-    [anon_sym_L_DQUOTE] = ACTIONS(1271),
-    [anon_sym_u_DQUOTE] = ACTIONS(1271),
-    [anon_sym_U_DQUOTE] = ACTIONS(1271),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1271),
-    [anon_sym_DQUOTE] = ACTIONS(1271),
-    [sym_true] = ACTIONS(1269),
-    [sym_false] = ACTIONS(1269),
-    [anon_sym_NULL] = ACTIONS(1269),
-    [anon_sym_nullptr] = ACTIONS(1269),
+    [sym_identifier] = ACTIONS(1308),
+    [aux_sym_preproc_include_token1] = ACTIONS(1308),
+    [aux_sym_preproc_def_token1] = ACTIONS(1308),
+    [aux_sym_preproc_if_token1] = ACTIONS(1308),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1308),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1308),
+    [sym_preproc_directive] = ACTIONS(1308),
+    [anon_sym_LPAREN2] = ACTIONS(1310),
+    [anon_sym_BANG] = ACTIONS(1310),
+    [anon_sym_TILDE] = ACTIONS(1310),
+    [anon_sym_DASH] = ACTIONS(1308),
+    [anon_sym_PLUS] = ACTIONS(1308),
+    [anon_sym_STAR] = ACTIONS(1310),
+    [anon_sym_AMP] = ACTIONS(1310),
+    [anon_sym_SEMI] = ACTIONS(1310),
+    [anon_sym___extension__] = ACTIONS(1308),
+    [anon_sym_typedef] = ACTIONS(1308),
+    [anon_sym_extern] = ACTIONS(1308),
+    [anon_sym___attribute__] = ACTIONS(1308),
+    [anon_sym___attribute] = ACTIONS(1308),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1310),
+    [anon_sym___declspec] = ACTIONS(1308),
+    [anon_sym___cdecl] = ACTIONS(1308),
+    [anon_sym___clrcall] = ACTIONS(1308),
+    [anon_sym___stdcall] = ACTIONS(1308),
+    [anon_sym___fastcall] = ACTIONS(1308),
+    [anon_sym___thiscall] = ACTIONS(1308),
+    [anon_sym___vectorcall] = ACTIONS(1308),
+    [anon_sym_LBRACE] = ACTIONS(1310),
+    [anon_sym_RBRACE] = ACTIONS(1310),
+    [anon_sym_signed] = ACTIONS(1308),
+    [anon_sym_unsigned] = ACTIONS(1308),
+    [anon_sym_long] = ACTIONS(1308),
+    [anon_sym_short] = ACTIONS(1308),
+    [anon_sym_static] = ACTIONS(1308),
+    [anon_sym_auto] = ACTIONS(1308),
+    [anon_sym_register] = ACTIONS(1308),
+    [anon_sym_inline] = ACTIONS(1308),
+    [anon_sym___inline] = ACTIONS(1308),
+    [anon_sym___inline__] = ACTIONS(1308),
+    [anon_sym___forceinline] = ACTIONS(1308),
+    [anon_sym_thread_local] = ACTIONS(1308),
+    [anon_sym___thread] = ACTIONS(1308),
+    [anon_sym_const] = ACTIONS(1308),
+    [anon_sym_constexpr] = ACTIONS(1308),
+    [anon_sym_volatile] = ACTIONS(1308),
+    [anon_sym_restrict] = ACTIONS(1308),
+    [anon_sym___restrict__] = ACTIONS(1308),
+    [anon_sym__Atomic] = ACTIONS(1308),
+    [anon_sym__Noreturn] = ACTIONS(1308),
+    [anon_sym_noreturn] = ACTIONS(1308),
+    [anon_sym__Nonnull] = ACTIONS(1308),
+    [anon_sym_alignas] = ACTIONS(1308),
+    [anon_sym__Alignas] = ACTIONS(1308),
+    [sym_primitive_type] = ACTIONS(1308),
+    [anon_sym_enum] = ACTIONS(1308),
+    [anon_sym_struct] = ACTIONS(1308),
+    [anon_sym_union] = ACTIONS(1308),
+    [anon_sym_if] = ACTIONS(1308),
+    [anon_sym_switch] = ACTIONS(1308),
+    [anon_sym_case] = ACTIONS(1308),
+    [anon_sym_default] = ACTIONS(1308),
+    [anon_sym_while] = ACTIONS(1308),
+    [anon_sym_do] = ACTIONS(1308),
+    [anon_sym_for] = ACTIONS(1308),
+    [anon_sym_return] = ACTIONS(1308),
+    [anon_sym_break] = ACTIONS(1308),
+    [anon_sym_continue] = ACTIONS(1308),
+    [anon_sym_goto] = ACTIONS(1308),
+    [anon_sym___try] = ACTIONS(1308),
+    [anon_sym___leave] = ACTIONS(1308),
+    [anon_sym_DASH_DASH] = ACTIONS(1310),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1310),
+    [anon_sym_sizeof] = ACTIONS(1308),
+    [anon_sym___alignof__] = ACTIONS(1308),
+    [anon_sym___alignof] = ACTIONS(1308),
+    [anon_sym__alignof] = ACTIONS(1308),
+    [anon_sym_alignof] = ACTIONS(1308),
+    [anon_sym__Alignof] = ACTIONS(1308),
+    [anon_sym_offsetof] = ACTIONS(1308),
+    [anon_sym__Generic] = ACTIONS(1308),
+    [anon_sym_asm] = ACTIONS(1308),
+    [anon_sym___asm__] = ACTIONS(1308),
+    [anon_sym___asm] = ACTIONS(1308),
+    [sym_number_literal] = ACTIONS(1310),
+    [anon_sym_L_SQUOTE] = ACTIONS(1310),
+    [anon_sym_u_SQUOTE] = ACTIONS(1310),
+    [anon_sym_U_SQUOTE] = ACTIONS(1310),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1310),
+    [anon_sym_SQUOTE] = ACTIONS(1310),
+    [anon_sym_L_DQUOTE] = ACTIONS(1310),
+    [anon_sym_u_DQUOTE] = ACTIONS(1310),
+    [anon_sym_U_DQUOTE] = ACTIONS(1310),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1310),
+    [anon_sym_DQUOTE] = ACTIONS(1310),
+    [sym_true] = ACTIONS(1308),
+    [sym_false] = ACTIONS(1308),
+    [anon_sym_NULL] = ACTIONS(1308),
+    [anon_sym_nullptr] = ACTIONS(1308),
     [sym_comment] = ACTIONS(3),
   },
   [277] = {
-    [sym_identifier] = ACTIONS(1265),
-    [aux_sym_preproc_include_token1] = ACTIONS(1265),
-    [aux_sym_preproc_def_token1] = ACTIONS(1265),
-    [aux_sym_preproc_if_token1] = ACTIONS(1265),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1265),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1265),
-    [sym_preproc_directive] = ACTIONS(1265),
-    [anon_sym_LPAREN2] = ACTIONS(1267),
-    [anon_sym_BANG] = ACTIONS(1267),
-    [anon_sym_TILDE] = ACTIONS(1267),
-    [anon_sym_DASH] = ACTIONS(1265),
-    [anon_sym_PLUS] = ACTIONS(1265),
-    [anon_sym_STAR] = ACTIONS(1267),
-    [anon_sym_AMP] = ACTIONS(1267),
-    [anon_sym_SEMI] = ACTIONS(1267),
-    [anon_sym___extension__] = ACTIONS(1265),
-    [anon_sym_typedef] = ACTIONS(1265),
-    [anon_sym_extern] = ACTIONS(1265),
-    [anon_sym___attribute__] = ACTIONS(1265),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1267),
-    [anon_sym___declspec] = ACTIONS(1265),
-    [anon_sym___cdecl] = ACTIONS(1265),
-    [anon_sym___clrcall] = ACTIONS(1265),
-    [anon_sym___stdcall] = ACTIONS(1265),
-    [anon_sym___fastcall] = ACTIONS(1265),
-    [anon_sym___thiscall] = ACTIONS(1265),
-    [anon_sym___vectorcall] = ACTIONS(1265),
-    [anon_sym_LBRACE] = ACTIONS(1267),
-    [anon_sym_RBRACE] = ACTIONS(1267),
-    [anon_sym_signed] = ACTIONS(1265),
-    [anon_sym_unsigned] = ACTIONS(1265),
-    [anon_sym_long] = ACTIONS(1265),
-    [anon_sym_short] = ACTIONS(1265),
-    [anon_sym_static] = ACTIONS(1265),
-    [anon_sym_auto] = ACTIONS(1265),
-    [anon_sym_register] = ACTIONS(1265),
-    [anon_sym_inline] = ACTIONS(1265),
-    [anon_sym___inline] = ACTIONS(1265),
-    [anon_sym___inline__] = ACTIONS(1265),
-    [anon_sym___forceinline] = ACTIONS(1265),
-    [anon_sym_thread_local] = ACTIONS(1265),
-    [anon_sym___thread] = ACTIONS(1265),
-    [anon_sym_const] = ACTIONS(1265),
-    [anon_sym_constexpr] = ACTIONS(1265),
-    [anon_sym_volatile] = ACTIONS(1265),
-    [anon_sym_restrict] = ACTIONS(1265),
-    [anon_sym___restrict__] = ACTIONS(1265),
-    [anon_sym__Atomic] = ACTIONS(1265),
-    [anon_sym__Noreturn] = ACTIONS(1265),
-    [anon_sym_noreturn] = ACTIONS(1265),
-    [anon_sym__Nonnull] = ACTIONS(1265),
-    [anon_sym_alignas] = ACTIONS(1265),
-    [anon_sym__Alignas] = ACTIONS(1265),
-    [sym_primitive_type] = ACTIONS(1265),
-    [anon_sym_enum] = ACTIONS(1265),
-    [anon_sym_struct] = ACTIONS(1265),
-    [anon_sym_union] = ACTIONS(1265),
-    [anon_sym_if] = ACTIONS(1265),
-    [anon_sym_switch] = ACTIONS(1265),
-    [anon_sym_case] = ACTIONS(1265),
-    [anon_sym_default] = ACTIONS(1265),
-    [anon_sym_while] = ACTIONS(1265),
-    [anon_sym_do] = ACTIONS(1265),
-    [anon_sym_for] = ACTIONS(1265),
-    [anon_sym_return] = ACTIONS(1265),
-    [anon_sym_break] = ACTIONS(1265),
-    [anon_sym_continue] = ACTIONS(1265),
-    [anon_sym_goto] = ACTIONS(1265),
-    [anon_sym___try] = ACTIONS(1265),
-    [anon_sym___leave] = ACTIONS(1265),
-    [anon_sym_DASH_DASH] = ACTIONS(1267),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1267),
-    [anon_sym_sizeof] = ACTIONS(1265),
-    [anon_sym___alignof__] = ACTIONS(1265),
-    [anon_sym___alignof] = ACTIONS(1265),
-    [anon_sym__alignof] = ACTIONS(1265),
-    [anon_sym_alignof] = ACTIONS(1265),
-    [anon_sym__Alignof] = ACTIONS(1265),
-    [anon_sym_offsetof] = ACTIONS(1265),
-    [anon_sym__Generic] = ACTIONS(1265),
-    [anon_sym_asm] = ACTIONS(1265),
-    [anon_sym___asm__] = ACTIONS(1265),
-    [anon_sym___asm] = ACTIONS(1265),
-    [sym_number_literal] = ACTIONS(1267),
-    [anon_sym_L_SQUOTE] = ACTIONS(1267),
-    [anon_sym_u_SQUOTE] = ACTIONS(1267),
-    [anon_sym_U_SQUOTE] = ACTIONS(1267),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1267),
-    [anon_sym_SQUOTE] = ACTIONS(1267),
-    [anon_sym_L_DQUOTE] = ACTIONS(1267),
-    [anon_sym_u_DQUOTE] = ACTIONS(1267),
-    [anon_sym_U_DQUOTE] = ACTIONS(1267),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1267),
-    [anon_sym_DQUOTE] = ACTIONS(1267),
-    [sym_true] = ACTIONS(1265),
-    [sym_false] = ACTIONS(1265),
-    [anon_sym_NULL] = ACTIONS(1265),
-    [anon_sym_nullptr] = ACTIONS(1265),
+    [sym_identifier] = ACTIONS(1316),
+    [aux_sym_preproc_include_token1] = ACTIONS(1316),
+    [aux_sym_preproc_def_token1] = ACTIONS(1316),
+    [aux_sym_preproc_if_token1] = ACTIONS(1316),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1316),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1316),
+    [sym_preproc_directive] = ACTIONS(1316),
+    [anon_sym_LPAREN2] = ACTIONS(1318),
+    [anon_sym_BANG] = ACTIONS(1318),
+    [anon_sym_TILDE] = ACTIONS(1318),
+    [anon_sym_DASH] = ACTIONS(1316),
+    [anon_sym_PLUS] = ACTIONS(1316),
+    [anon_sym_STAR] = ACTIONS(1318),
+    [anon_sym_AMP] = ACTIONS(1318),
+    [anon_sym_SEMI] = ACTIONS(1318),
+    [anon_sym___extension__] = ACTIONS(1316),
+    [anon_sym_typedef] = ACTIONS(1316),
+    [anon_sym_extern] = ACTIONS(1316),
+    [anon_sym___attribute__] = ACTIONS(1316),
+    [anon_sym___attribute] = ACTIONS(1316),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1318),
+    [anon_sym___declspec] = ACTIONS(1316),
+    [anon_sym___cdecl] = ACTIONS(1316),
+    [anon_sym___clrcall] = ACTIONS(1316),
+    [anon_sym___stdcall] = ACTIONS(1316),
+    [anon_sym___fastcall] = ACTIONS(1316),
+    [anon_sym___thiscall] = ACTIONS(1316),
+    [anon_sym___vectorcall] = ACTIONS(1316),
+    [anon_sym_LBRACE] = ACTIONS(1318),
+    [anon_sym_RBRACE] = ACTIONS(1318),
+    [anon_sym_signed] = ACTIONS(1316),
+    [anon_sym_unsigned] = ACTIONS(1316),
+    [anon_sym_long] = ACTIONS(1316),
+    [anon_sym_short] = ACTIONS(1316),
+    [anon_sym_static] = ACTIONS(1316),
+    [anon_sym_auto] = ACTIONS(1316),
+    [anon_sym_register] = ACTIONS(1316),
+    [anon_sym_inline] = ACTIONS(1316),
+    [anon_sym___inline] = ACTIONS(1316),
+    [anon_sym___inline__] = ACTIONS(1316),
+    [anon_sym___forceinline] = ACTIONS(1316),
+    [anon_sym_thread_local] = ACTIONS(1316),
+    [anon_sym___thread] = ACTIONS(1316),
+    [anon_sym_const] = ACTIONS(1316),
+    [anon_sym_constexpr] = ACTIONS(1316),
+    [anon_sym_volatile] = ACTIONS(1316),
+    [anon_sym_restrict] = ACTIONS(1316),
+    [anon_sym___restrict__] = ACTIONS(1316),
+    [anon_sym__Atomic] = ACTIONS(1316),
+    [anon_sym__Noreturn] = ACTIONS(1316),
+    [anon_sym_noreturn] = ACTIONS(1316),
+    [anon_sym__Nonnull] = ACTIONS(1316),
+    [anon_sym_alignas] = ACTIONS(1316),
+    [anon_sym__Alignas] = ACTIONS(1316),
+    [sym_primitive_type] = ACTIONS(1316),
+    [anon_sym_enum] = ACTIONS(1316),
+    [anon_sym_struct] = ACTIONS(1316),
+    [anon_sym_union] = ACTIONS(1316),
+    [anon_sym_if] = ACTIONS(1316),
+    [anon_sym_switch] = ACTIONS(1316),
+    [anon_sym_case] = ACTIONS(1316),
+    [anon_sym_default] = ACTIONS(1316),
+    [anon_sym_while] = ACTIONS(1316),
+    [anon_sym_do] = ACTIONS(1316),
+    [anon_sym_for] = ACTIONS(1316),
+    [anon_sym_return] = ACTIONS(1316),
+    [anon_sym_break] = ACTIONS(1316),
+    [anon_sym_continue] = ACTIONS(1316),
+    [anon_sym_goto] = ACTIONS(1316),
+    [anon_sym___try] = ACTIONS(1316),
+    [anon_sym___leave] = ACTIONS(1316),
+    [anon_sym_DASH_DASH] = ACTIONS(1318),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1318),
+    [anon_sym_sizeof] = ACTIONS(1316),
+    [anon_sym___alignof__] = ACTIONS(1316),
+    [anon_sym___alignof] = ACTIONS(1316),
+    [anon_sym__alignof] = ACTIONS(1316),
+    [anon_sym_alignof] = ACTIONS(1316),
+    [anon_sym__Alignof] = ACTIONS(1316),
+    [anon_sym_offsetof] = ACTIONS(1316),
+    [anon_sym__Generic] = ACTIONS(1316),
+    [anon_sym_asm] = ACTIONS(1316),
+    [anon_sym___asm__] = ACTIONS(1316),
+    [anon_sym___asm] = ACTIONS(1316),
+    [sym_number_literal] = ACTIONS(1318),
+    [anon_sym_L_SQUOTE] = ACTIONS(1318),
+    [anon_sym_u_SQUOTE] = ACTIONS(1318),
+    [anon_sym_U_SQUOTE] = ACTIONS(1318),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1318),
+    [anon_sym_SQUOTE] = ACTIONS(1318),
+    [anon_sym_L_DQUOTE] = ACTIONS(1318),
+    [anon_sym_u_DQUOTE] = ACTIONS(1318),
+    [anon_sym_U_DQUOTE] = ACTIONS(1318),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1318),
+    [anon_sym_DQUOTE] = ACTIONS(1318),
+    [sym_true] = ACTIONS(1316),
+    [sym_false] = ACTIONS(1316),
+    [anon_sym_NULL] = ACTIONS(1316),
+    [anon_sym_nullptr] = ACTIONS(1316),
     [sym_comment] = ACTIONS(3),
   },
   [278] = {
-    [sym_identifier] = ACTIONS(1301),
-    [aux_sym_preproc_include_token1] = ACTIONS(1301),
-    [aux_sym_preproc_def_token1] = ACTIONS(1301),
-    [aux_sym_preproc_if_token1] = ACTIONS(1301),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1301),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1301),
-    [sym_preproc_directive] = ACTIONS(1301),
-    [anon_sym_LPAREN2] = ACTIONS(1303),
-    [anon_sym_BANG] = ACTIONS(1303),
-    [anon_sym_TILDE] = ACTIONS(1303),
-    [anon_sym_DASH] = ACTIONS(1301),
-    [anon_sym_PLUS] = ACTIONS(1301),
-    [anon_sym_STAR] = ACTIONS(1303),
-    [anon_sym_AMP] = ACTIONS(1303),
-    [anon_sym_SEMI] = ACTIONS(1303),
-    [anon_sym___extension__] = ACTIONS(1301),
-    [anon_sym_typedef] = ACTIONS(1301),
-    [anon_sym_extern] = ACTIONS(1301),
-    [anon_sym___attribute__] = ACTIONS(1301),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1303),
-    [anon_sym___declspec] = ACTIONS(1301),
-    [anon_sym___cdecl] = ACTIONS(1301),
-    [anon_sym___clrcall] = ACTIONS(1301),
-    [anon_sym___stdcall] = ACTIONS(1301),
-    [anon_sym___fastcall] = ACTIONS(1301),
-    [anon_sym___thiscall] = ACTIONS(1301),
-    [anon_sym___vectorcall] = ACTIONS(1301),
-    [anon_sym_LBRACE] = ACTIONS(1303),
-    [anon_sym_RBRACE] = ACTIONS(1303),
-    [anon_sym_signed] = ACTIONS(1301),
-    [anon_sym_unsigned] = ACTIONS(1301),
-    [anon_sym_long] = ACTIONS(1301),
-    [anon_sym_short] = ACTIONS(1301),
-    [anon_sym_static] = ACTIONS(1301),
-    [anon_sym_auto] = ACTIONS(1301),
-    [anon_sym_register] = ACTIONS(1301),
-    [anon_sym_inline] = ACTIONS(1301),
-    [anon_sym___inline] = ACTIONS(1301),
-    [anon_sym___inline__] = ACTIONS(1301),
-    [anon_sym___forceinline] = ACTIONS(1301),
-    [anon_sym_thread_local] = ACTIONS(1301),
-    [anon_sym___thread] = ACTIONS(1301),
-    [anon_sym_const] = ACTIONS(1301),
-    [anon_sym_constexpr] = ACTIONS(1301),
-    [anon_sym_volatile] = ACTIONS(1301),
-    [anon_sym_restrict] = ACTIONS(1301),
-    [anon_sym___restrict__] = ACTIONS(1301),
-    [anon_sym__Atomic] = ACTIONS(1301),
-    [anon_sym__Noreturn] = ACTIONS(1301),
-    [anon_sym_noreturn] = ACTIONS(1301),
-    [anon_sym__Nonnull] = ACTIONS(1301),
-    [anon_sym_alignas] = ACTIONS(1301),
-    [anon_sym__Alignas] = ACTIONS(1301),
-    [sym_primitive_type] = ACTIONS(1301),
-    [anon_sym_enum] = ACTIONS(1301),
-    [anon_sym_struct] = ACTIONS(1301),
-    [anon_sym_union] = ACTIONS(1301),
-    [anon_sym_if] = ACTIONS(1301),
-    [anon_sym_switch] = ACTIONS(1301),
-    [anon_sym_case] = ACTIONS(1301),
-    [anon_sym_default] = ACTIONS(1301),
-    [anon_sym_while] = ACTIONS(1301),
-    [anon_sym_do] = ACTIONS(1301),
-    [anon_sym_for] = ACTIONS(1301),
-    [anon_sym_return] = ACTIONS(1301),
-    [anon_sym_break] = ACTIONS(1301),
-    [anon_sym_continue] = ACTIONS(1301),
-    [anon_sym_goto] = ACTIONS(1301),
-    [anon_sym___try] = ACTIONS(1301),
-    [anon_sym___leave] = ACTIONS(1301),
-    [anon_sym_DASH_DASH] = ACTIONS(1303),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1303),
-    [anon_sym_sizeof] = ACTIONS(1301),
-    [anon_sym___alignof__] = ACTIONS(1301),
-    [anon_sym___alignof] = ACTIONS(1301),
-    [anon_sym__alignof] = ACTIONS(1301),
-    [anon_sym_alignof] = ACTIONS(1301),
-    [anon_sym__Alignof] = ACTIONS(1301),
-    [anon_sym_offsetof] = ACTIONS(1301),
-    [anon_sym__Generic] = ACTIONS(1301),
-    [anon_sym_asm] = ACTIONS(1301),
-    [anon_sym___asm__] = ACTIONS(1301),
-    [anon_sym___asm] = ACTIONS(1301),
-    [sym_number_literal] = ACTIONS(1303),
-    [anon_sym_L_SQUOTE] = ACTIONS(1303),
-    [anon_sym_u_SQUOTE] = ACTIONS(1303),
-    [anon_sym_U_SQUOTE] = ACTIONS(1303),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1303),
-    [anon_sym_SQUOTE] = ACTIONS(1303),
-    [anon_sym_L_DQUOTE] = ACTIONS(1303),
-    [anon_sym_u_DQUOTE] = ACTIONS(1303),
-    [anon_sym_U_DQUOTE] = ACTIONS(1303),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1303),
-    [anon_sym_DQUOTE] = ACTIONS(1303),
-    [sym_true] = ACTIONS(1301),
-    [sym_false] = ACTIONS(1301),
-    [anon_sym_NULL] = ACTIONS(1301),
-    [anon_sym_nullptr] = ACTIONS(1301),
+    [sym_identifier] = ACTIONS(1320),
+    [aux_sym_preproc_include_token1] = ACTIONS(1320),
+    [aux_sym_preproc_def_token1] = ACTIONS(1320),
+    [aux_sym_preproc_if_token1] = ACTIONS(1320),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1320),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1320),
+    [sym_preproc_directive] = ACTIONS(1320),
+    [anon_sym_LPAREN2] = ACTIONS(1322),
+    [anon_sym_BANG] = ACTIONS(1322),
+    [anon_sym_TILDE] = ACTIONS(1322),
+    [anon_sym_DASH] = ACTIONS(1320),
+    [anon_sym_PLUS] = ACTIONS(1320),
+    [anon_sym_STAR] = ACTIONS(1322),
+    [anon_sym_AMP] = ACTIONS(1322),
+    [anon_sym_SEMI] = ACTIONS(1322),
+    [anon_sym___extension__] = ACTIONS(1320),
+    [anon_sym_typedef] = ACTIONS(1320),
+    [anon_sym_extern] = ACTIONS(1320),
+    [anon_sym___attribute__] = ACTIONS(1320),
+    [anon_sym___attribute] = ACTIONS(1320),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1322),
+    [anon_sym___declspec] = ACTIONS(1320),
+    [anon_sym___cdecl] = ACTIONS(1320),
+    [anon_sym___clrcall] = ACTIONS(1320),
+    [anon_sym___stdcall] = ACTIONS(1320),
+    [anon_sym___fastcall] = ACTIONS(1320),
+    [anon_sym___thiscall] = ACTIONS(1320),
+    [anon_sym___vectorcall] = ACTIONS(1320),
+    [anon_sym_LBRACE] = ACTIONS(1322),
+    [anon_sym_RBRACE] = ACTIONS(1322),
+    [anon_sym_signed] = ACTIONS(1320),
+    [anon_sym_unsigned] = ACTIONS(1320),
+    [anon_sym_long] = ACTIONS(1320),
+    [anon_sym_short] = ACTIONS(1320),
+    [anon_sym_static] = ACTIONS(1320),
+    [anon_sym_auto] = ACTIONS(1320),
+    [anon_sym_register] = ACTIONS(1320),
+    [anon_sym_inline] = ACTIONS(1320),
+    [anon_sym___inline] = ACTIONS(1320),
+    [anon_sym___inline__] = ACTIONS(1320),
+    [anon_sym___forceinline] = ACTIONS(1320),
+    [anon_sym_thread_local] = ACTIONS(1320),
+    [anon_sym___thread] = ACTIONS(1320),
+    [anon_sym_const] = ACTIONS(1320),
+    [anon_sym_constexpr] = ACTIONS(1320),
+    [anon_sym_volatile] = ACTIONS(1320),
+    [anon_sym_restrict] = ACTIONS(1320),
+    [anon_sym___restrict__] = ACTIONS(1320),
+    [anon_sym__Atomic] = ACTIONS(1320),
+    [anon_sym__Noreturn] = ACTIONS(1320),
+    [anon_sym_noreturn] = ACTIONS(1320),
+    [anon_sym__Nonnull] = ACTIONS(1320),
+    [anon_sym_alignas] = ACTIONS(1320),
+    [anon_sym__Alignas] = ACTIONS(1320),
+    [sym_primitive_type] = ACTIONS(1320),
+    [anon_sym_enum] = ACTIONS(1320),
+    [anon_sym_struct] = ACTIONS(1320),
+    [anon_sym_union] = ACTIONS(1320),
+    [anon_sym_if] = ACTIONS(1320),
+    [anon_sym_switch] = ACTIONS(1320),
+    [anon_sym_case] = ACTIONS(1320),
+    [anon_sym_default] = ACTIONS(1320),
+    [anon_sym_while] = ACTIONS(1320),
+    [anon_sym_do] = ACTIONS(1320),
+    [anon_sym_for] = ACTIONS(1320),
+    [anon_sym_return] = ACTIONS(1320),
+    [anon_sym_break] = ACTIONS(1320),
+    [anon_sym_continue] = ACTIONS(1320),
+    [anon_sym_goto] = ACTIONS(1320),
+    [anon_sym___try] = ACTIONS(1320),
+    [anon_sym___leave] = ACTIONS(1320),
+    [anon_sym_DASH_DASH] = ACTIONS(1322),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1322),
+    [anon_sym_sizeof] = ACTIONS(1320),
+    [anon_sym___alignof__] = ACTIONS(1320),
+    [anon_sym___alignof] = ACTIONS(1320),
+    [anon_sym__alignof] = ACTIONS(1320),
+    [anon_sym_alignof] = ACTIONS(1320),
+    [anon_sym__Alignof] = ACTIONS(1320),
+    [anon_sym_offsetof] = ACTIONS(1320),
+    [anon_sym__Generic] = ACTIONS(1320),
+    [anon_sym_asm] = ACTIONS(1320),
+    [anon_sym___asm__] = ACTIONS(1320),
+    [anon_sym___asm] = ACTIONS(1320),
+    [sym_number_literal] = ACTIONS(1322),
+    [anon_sym_L_SQUOTE] = ACTIONS(1322),
+    [anon_sym_u_SQUOTE] = ACTIONS(1322),
+    [anon_sym_U_SQUOTE] = ACTIONS(1322),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1322),
+    [anon_sym_SQUOTE] = ACTIONS(1322),
+    [anon_sym_L_DQUOTE] = ACTIONS(1322),
+    [anon_sym_u_DQUOTE] = ACTIONS(1322),
+    [anon_sym_U_DQUOTE] = ACTIONS(1322),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1322),
+    [anon_sym_DQUOTE] = ACTIONS(1322),
+    [sym_true] = ACTIONS(1320),
+    [sym_false] = ACTIONS(1320),
+    [anon_sym_NULL] = ACTIONS(1320),
+    [anon_sym_nullptr] = ACTIONS(1320),
     [sym_comment] = ACTIONS(3),
   },
   [279] = {
-    [sym_identifier] = ACTIONS(1345),
-    [aux_sym_preproc_include_token1] = ACTIONS(1345),
-    [aux_sym_preproc_def_token1] = ACTIONS(1345),
-    [aux_sym_preproc_if_token1] = ACTIONS(1345),
-    [aux_sym_preproc_if_token2] = ACTIONS(1345),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1345),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1345),
-    [sym_preproc_directive] = ACTIONS(1345),
-    [anon_sym_LPAREN2] = ACTIONS(1347),
-    [anon_sym_BANG] = ACTIONS(1347),
-    [anon_sym_TILDE] = ACTIONS(1347),
-    [anon_sym_DASH] = ACTIONS(1345),
-    [anon_sym_PLUS] = ACTIONS(1345),
-    [anon_sym_STAR] = ACTIONS(1347),
-    [anon_sym_AMP] = ACTIONS(1347),
-    [anon_sym_SEMI] = ACTIONS(1347),
-    [anon_sym___extension__] = ACTIONS(1345),
-    [anon_sym_typedef] = ACTIONS(1345),
-    [anon_sym_extern] = ACTIONS(1345),
-    [anon_sym___attribute__] = ACTIONS(1345),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1347),
-    [anon_sym___declspec] = ACTIONS(1345),
-    [anon_sym___cdecl] = ACTIONS(1345),
-    [anon_sym___clrcall] = ACTIONS(1345),
-    [anon_sym___stdcall] = ACTIONS(1345),
-    [anon_sym___fastcall] = ACTIONS(1345),
-    [anon_sym___thiscall] = ACTIONS(1345),
-    [anon_sym___vectorcall] = ACTIONS(1345),
-    [anon_sym_LBRACE] = ACTIONS(1347),
-    [anon_sym_signed] = ACTIONS(1345),
-    [anon_sym_unsigned] = ACTIONS(1345),
-    [anon_sym_long] = ACTIONS(1345),
-    [anon_sym_short] = ACTIONS(1345),
-    [anon_sym_static] = ACTIONS(1345),
-    [anon_sym_auto] = ACTIONS(1345),
-    [anon_sym_register] = ACTIONS(1345),
-    [anon_sym_inline] = ACTIONS(1345),
-    [anon_sym___inline] = ACTIONS(1345),
-    [anon_sym___inline__] = ACTIONS(1345),
-    [anon_sym___forceinline] = ACTIONS(1345),
-    [anon_sym_thread_local] = ACTIONS(1345),
-    [anon_sym___thread] = ACTIONS(1345),
-    [anon_sym_const] = ACTIONS(1345),
-    [anon_sym_constexpr] = ACTIONS(1345),
-    [anon_sym_volatile] = ACTIONS(1345),
-    [anon_sym_restrict] = ACTIONS(1345),
-    [anon_sym___restrict__] = ACTIONS(1345),
-    [anon_sym__Atomic] = ACTIONS(1345),
-    [anon_sym__Noreturn] = ACTIONS(1345),
-    [anon_sym_noreturn] = ACTIONS(1345),
-    [anon_sym__Nonnull] = ACTIONS(1345),
-    [anon_sym_alignas] = ACTIONS(1345),
-    [anon_sym__Alignas] = ACTIONS(1345),
-    [sym_primitive_type] = ACTIONS(1345),
-    [anon_sym_enum] = ACTIONS(1345),
-    [anon_sym_struct] = ACTIONS(1345),
-    [anon_sym_union] = ACTIONS(1345),
-    [anon_sym_if] = ACTIONS(1345),
-    [anon_sym_switch] = ACTIONS(1345),
-    [anon_sym_case] = ACTIONS(1345),
-    [anon_sym_default] = ACTIONS(1345),
-    [anon_sym_while] = ACTIONS(1345),
-    [anon_sym_do] = ACTIONS(1345),
-    [anon_sym_for] = ACTIONS(1345),
-    [anon_sym_return] = ACTIONS(1345),
-    [anon_sym_break] = ACTIONS(1345),
-    [anon_sym_continue] = ACTIONS(1345),
-    [anon_sym_goto] = ACTIONS(1345),
-    [anon_sym___try] = ACTIONS(1345),
-    [anon_sym___leave] = ACTIONS(1345),
-    [anon_sym_DASH_DASH] = ACTIONS(1347),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1347),
-    [anon_sym_sizeof] = ACTIONS(1345),
-    [anon_sym___alignof__] = ACTIONS(1345),
-    [anon_sym___alignof] = ACTIONS(1345),
-    [anon_sym__alignof] = ACTIONS(1345),
-    [anon_sym_alignof] = ACTIONS(1345),
-    [anon_sym__Alignof] = ACTIONS(1345),
-    [anon_sym_offsetof] = ACTIONS(1345),
-    [anon_sym__Generic] = ACTIONS(1345),
-    [anon_sym_asm] = ACTIONS(1345),
-    [anon_sym___asm__] = ACTIONS(1345),
-    [anon_sym___asm] = ACTIONS(1345),
-    [sym_number_literal] = ACTIONS(1347),
-    [anon_sym_L_SQUOTE] = ACTIONS(1347),
-    [anon_sym_u_SQUOTE] = ACTIONS(1347),
-    [anon_sym_U_SQUOTE] = ACTIONS(1347),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1347),
-    [anon_sym_SQUOTE] = ACTIONS(1347),
-    [anon_sym_L_DQUOTE] = ACTIONS(1347),
-    [anon_sym_u_DQUOTE] = ACTIONS(1347),
-    [anon_sym_U_DQUOTE] = ACTIONS(1347),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1347),
-    [anon_sym_DQUOTE] = ACTIONS(1347),
-    [sym_true] = ACTIONS(1345),
-    [sym_false] = ACTIONS(1345),
-    [anon_sym_NULL] = ACTIONS(1345),
-    [anon_sym_nullptr] = ACTIONS(1345),
+    [sym_identifier] = ACTIONS(1324),
+    [aux_sym_preproc_include_token1] = ACTIONS(1324),
+    [aux_sym_preproc_def_token1] = ACTIONS(1324),
+    [aux_sym_preproc_if_token1] = ACTIONS(1324),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1324),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1324),
+    [sym_preproc_directive] = ACTIONS(1324),
+    [anon_sym_LPAREN2] = ACTIONS(1326),
+    [anon_sym_BANG] = ACTIONS(1326),
+    [anon_sym_TILDE] = ACTIONS(1326),
+    [anon_sym_DASH] = ACTIONS(1324),
+    [anon_sym_PLUS] = ACTIONS(1324),
+    [anon_sym_STAR] = ACTIONS(1326),
+    [anon_sym_AMP] = ACTIONS(1326),
+    [anon_sym_SEMI] = ACTIONS(1326),
+    [anon_sym___extension__] = ACTIONS(1324),
+    [anon_sym_typedef] = ACTIONS(1324),
+    [anon_sym_extern] = ACTIONS(1324),
+    [anon_sym___attribute__] = ACTIONS(1324),
+    [anon_sym___attribute] = ACTIONS(1324),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1326),
+    [anon_sym___declspec] = ACTIONS(1324),
+    [anon_sym___cdecl] = ACTIONS(1324),
+    [anon_sym___clrcall] = ACTIONS(1324),
+    [anon_sym___stdcall] = ACTIONS(1324),
+    [anon_sym___fastcall] = ACTIONS(1324),
+    [anon_sym___thiscall] = ACTIONS(1324),
+    [anon_sym___vectorcall] = ACTIONS(1324),
+    [anon_sym_LBRACE] = ACTIONS(1326),
+    [anon_sym_RBRACE] = ACTIONS(1326),
+    [anon_sym_signed] = ACTIONS(1324),
+    [anon_sym_unsigned] = ACTIONS(1324),
+    [anon_sym_long] = ACTIONS(1324),
+    [anon_sym_short] = ACTIONS(1324),
+    [anon_sym_static] = ACTIONS(1324),
+    [anon_sym_auto] = ACTIONS(1324),
+    [anon_sym_register] = ACTIONS(1324),
+    [anon_sym_inline] = ACTIONS(1324),
+    [anon_sym___inline] = ACTIONS(1324),
+    [anon_sym___inline__] = ACTIONS(1324),
+    [anon_sym___forceinline] = ACTIONS(1324),
+    [anon_sym_thread_local] = ACTIONS(1324),
+    [anon_sym___thread] = ACTIONS(1324),
+    [anon_sym_const] = ACTIONS(1324),
+    [anon_sym_constexpr] = ACTIONS(1324),
+    [anon_sym_volatile] = ACTIONS(1324),
+    [anon_sym_restrict] = ACTIONS(1324),
+    [anon_sym___restrict__] = ACTIONS(1324),
+    [anon_sym__Atomic] = ACTIONS(1324),
+    [anon_sym__Noreturn] = ACTIONS(1324),
+    [anon_sym_noreturn] = ACTIONS(1324),
+    [anon_sym__Nonnull] = ACTIONS(1324),
+    [anon_sym_alignas] = ACTIONS(1324),
+    [anon_sym__Alignas] = ACTIONS(1324),
+    [sym_primitive_type] = ACTIONS(1324),
+    [anon_sym_enum] = ACTIONS(1324),
+    [anon_sym_struct] = ACTIONS(1324),
+    [anon_sym_union] = ACTIONS(1324),
+    [anon_sym_if] = ACTIONS(1324),
+    [anon_sym_switch] = ACTIONS(1324),
+    [anon_sym_case] = ACTIONS(1324),
+    [anon_sym_default] = ACTIONS(1324),
+    [anon_sym_while] = ACTIONS(1324),
+    [anon_sym_do] = ACTIONS(1324),
+    [anon_sym_for] = ACTIONS(1324),
+    [anon_sym_return] = ACTIONS(1324),
+    [anon_sym_break] = ACTIONS(1324),
+    [anon_sym_continue] = ACTIONS(1324),
+    [anon_sym_goto] = ACTIONS(1324),
+    [anon_sym___try] = ACTIONS(1324),
+    [anon_sym___leave] = ACTIONS(1324),
+    [anon_sym_DASH_DASH] = ACTIONS(1326),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1326),
+    [anon_sym_sizeof] = ACTIONS(1324),
+    [anon_sym___alignof__] = ACTIONS(1324),
+    [anon_sym___alignof] = ACTIONS(1324),
+    [anon_sym__alignof] = ACTIONS(1324),
+    [anon_sym_alignof] = ACTIONS(1324),
+    [anon_sym__Alignof] = ACTIONS(1324),
+    [anon_sym_offsetof] = ACTIONS(1324),
+    [anon_sym__Generic] = ACTIONS(1324),
+    [anon_sym_asm] = ACTIONS(1324),
+    [anon_sym___asm__] = ACTIONS(1324),
+    [anon_sym___asm] = ACTIONS(1324),
+    [sym_number_literal] = ACTIONS(1326),
+    [anon_sym_L_SQUOTE] = ACTIONS(1326),
+    [anon_sym_u_SQUOTE] = ACTIONS(1326),
+    [anon_sym_U_SQUOTE] = ACTIONS(1326),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1326),
+    [anon_sym_SQUOTE] = ACTIONS(1326),
+    [anon_sym_L_DQUOTE] = ACTIONS(1326),
+    [anon_sym_u_DQUOTE] = ACTIONS(1326),
+    [anon_sym_U_DQUOTE] = ACTIONS(1326),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1326),
+    [anon_sym_DQUOTE] = ACTIONS(1326),
+    [sym_true] = ACTIONS(1324),
+    [sym_false] = ACTIONS(1324),
+    [anon_sym_NULL] = ACTIONS(1324),
+    [anon_sym_nullptr] = ACTIONS(1324),
     [sym_comment] = ACTIONS(3),
   },
   [280] = {
-    [sym_identifier] = ACTIONS(1349),
-    [aux_sym_preproc_include_token1] = ACTIONS(1349),
-    [aux_sym_preproc_def_token1] = ACTIONS(1349),
-    [aux_sym_preproc_if_token1] = ACTIONS(1349),
-    [aux_sym_preproc_if_token2] = ACTIONS(1349),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1349),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1349),
-    [sym_preproc_directive] = ACTIONS(1349),
-    [anon_sym_LPAREN2] = ACTIONS(1351),
-    [anon_sym_BANG] = ACTIONS(1351),
-    [anon_sym_TILDE] = ACTIONS(1351),
-    [anon_sym_DASH] = ACTIONS(1349),
-    [anon_sym_PLUS] = ACTIONS(1349),
-    [anon_sym_STAR] = ACTIONS(1351),
-    [anon_sym_AMP] = ACTIONS(1351),
-    [anon_sym_SEMI] = ACTIONS(1351),
-    [anon_sym___extension__] = ACTIONS(1349),
-    [anon_sym_typedef] = ACTIONS(1349),
-    [anon_sym_extern] = ACTIONS(1349),
-    [anon_sym___attribute__] = ACTIONS(1349),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1351),
-    [anon_sym___declspec] = ACTIONS(1349),
-    [anon_sym___cdecl] = ACTIONS(1349),
-    [anon_sym___clrcall] = ACTIONS(1349),
-    [anon_sym___stdcall] = ACTIONS(1349),
-    [anon_sym___fastcall] = ACTIONS(1349),
-    [anon_sym___thiscall] = ACTIONS(1349),
-    [anon_sym___vectorcall] = ACTIONS(1349),
-    [anon_sym_LBRACE] = ACTIONS(1351),
-    [anon_sym_signed] = ACTIONS(1349),
-    [anon_sym_unsigned] = ACTIONS(1349),
-    [anon_sym_long] = ACTIONS(1349),
-    [anon_sym_short] = ACTIONS(1349),
-    [anon_sym_static] = ACTIONS(1349),
-    [anon_sym_auto] = ACTIONS(1349),
-    [anon_sym_register] = ACTIONS(1349),
-    [anon_sym_inline] = ACTIONS(1349),
-    [anon_sym___inline] = ACTIONS(1349),
-    [anon_sym___inline__] = ACTIONS(1349),
-    [anon_sym___forceinline] = ACTIONS(1349),
-    [anon_sym_thread_local] = ACTIONS(1349),
-    [anon_sym___thread] = ACTIONS(1349),
-    [anon_sym_const] = ACTIONS(1349),
-    [anon_sym_constexpr] = ACTIONS(1349),
-    [anon_sym_volatile] = ACTIONS(1349),
-    [anon_sym_restrict] = ACTIONS(1349),
-    [anon_sym___restrict__] = ACTIONS(1349),
-    [anon_sym__Atomic] = ACTIONS(1349),
-    [anon_sym__Noreturn] = ACTIONS(1349),
-    [anon_sym_noreturn] = ACTIONS(1349),
-    [anon_sym__Nonnull] = ACTIONS(1349),
-    [anon_sym_alignas] = ACTIONS(1349),
-    [anon_sym__Alignas] = ACTIONS(1349),
-    [sym_primitive_type] = ACTIONS(1349),
-    [anon_sym_enum] = ACTIONS(1349),
-    [anon_sym_struct] = ACTIONS(1349),
-    [anon_sym_union] = ACTIONS(1349),
-    [anon_sym_if] = ACTIONS(1349),
-    [anon_sym_switch] = ACTIONS(1349),
-    [anon_sym_case] = ACTIONS(1349),
-    [anon_sym_default] = ACTIONS(1349),
-    [anon_sym_while] = ACTIONS(1349),
-    [anon_sym_do] = ACTIONS(1349),
-    [anon_sym_for] = ACTIONS(1349),
-    [anon_sym_return] = ACTIONS(1349),
-    [anon_sym_break] = ACTIONS(1349),
-    [anon_sym_continue] = ACTIONS(1349),
-    [anon_sym_goto] = ACTIONS(1349),
-    [anon_sym___try] = ACTIONS(1349),
-    [anon_sym___leave] = ACTIONS(1349),
-    [anon_sym_DASH_DASH] = ACTIONS(1351),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1351),
-    [anon_sym_sizeof] = ACTIONS(1349),
-    [anon_sym___alignof__] = ACTIONS(1349),
-    [anon_sym___alignof] = ACTIONS(1349),
-    [anon_sym__alignof] = ACTIONS(1349),
-    [anon_sym_alignof] = ACTIONS(1349),
-    [anon_sym__Alignof] = ACTIONS(1349),
-    [anon_sym_offsetof] = ACTIONS(1349),
-    [anon_sym__Generic] = ACTIONS(1349),
-    [anon_sym_asm] = ACTIONS(1349),
-    [anon_sym___asm__] = ACTIONS(1349),
-    [anon_sym___asm] = ACTIONS(1349),
-    [sym_number_literal] = ACTIONS(1351),
-    [anon_sym_L_SQUOTE] = ACTIONS(1351),
-    [anon_sym_u_SQUOTE] = ACTIONS(1351),
-    [anon_sym_U_SQUOTE] = ACTIONS(1351),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1351),
-    [anon_sym_SQUOTE] = ACTIONS(1351),
-    [anon_sym_L_DQUOTE] = ACTIONS(1351),
-    [anon_sym_u_DQUOTE] = ACTIONS(1351),
-    [anon_sym_U_DQUOTE] = ACTIONS(1351),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1351),
-    [anon_sym_DQUOTE] = ACTIONS(1351),
-    [sym_true] = ACTIONS(1349),
-    [sym_false] = ACTIONS(1349),
-    [anon_sym_NULL] = ACTIONS(1349),
-    [anon_sym_nullptr] = ACTIONS(1349),
+    [sym_identifier] = ACTIONS(1328),
+    [aux_sym_preproc_include_token1] = ACTIONS(1328),
+    [aux_sym_preproc_def_token1] = ACTIONS(1328),
+    [aux_sym_preproc_if_token1] = ACTIONS(1328),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1328),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1328),
+    [sym_preproc_directive] = ACTIONS(1328),
+    [anon_sym_LPAREN2] = ACTIONS(1330),
+    [anon_sym_BANG] = ACTIONS(1330),
+    [anon_sym_TILDE] = ACTIONS(1330),
+    [anon_sym_DASH] = ACTIONS(1328),
+    [anon_sym_PLUS] = ACTIONS(1328),
+    [anon_sym_STAR] = ACTIONS(1330),
+    [anon_sym_AMP] = ACTIONS(1330),
+    [anon_sym_SEMI] = ACTIONS(1330),
+    [anon_sym___extension__] = ACTIONS(1328),
+    [anon_sym_typedef] = ACTIONS(1328),
+    [anon_sym_extern] = ACTIONS(1328),
+    [anon_sym___attribute__] = ACTIONS(1328),
+    [anon_sym___attribute] = ACTIONS(1328),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1330),
+    [anon_sym___declspec] = ACTIONS(1328),
+    [anon_sym___cdecl] = ACTIONS(1328),
+    [anon_sym___clrcall] = ACTIONS(1328),
+    [anon_sym___stdcall] = ACTIONS(1328),
+    [anon_sym___fastcall] = ACTIONS(1328),
+    [anon_sym___thiscall] = ACTIONS(1328),
+    [anon_sym___vectorcall] = ACTIONS(1328),
+    [anon_sym_LBRACE] = ACTIONS(1330),
+    [anon_sym_RBRACE] = ACTIONS(1330),
+    [anon_sym_signed] = ACTIONS(1328),
+    [anon_sym_unsigned] = ACTIONS(1328),
+    [anon_sym_long] = ACTIONS(1328),
+    [anon_sym_short] = ACTIONS(1328),
+    [anon_sym_static] = ACTIONS(1328),
+    [anon_sym_auto] = ACTIONS(1328),
+    [anon_sym_register] = ACTIONS(1328),
+    [anon_sym_inline] = ACTIONS(1328),
+    [anon_sym___inline] = ACTIONS(1328),
+    [anon_sym___inline__] = ACTIONS(1328),
+    [anon_sym___forceinline] = ACTIONS(1328),
+    [anon_sym_thread_local] = ACTIONS(1328),
+    [anon_sym___thread] = ACTIONS(1328),
+    [anon_sym_const] = ACTIONS(1328),
+    [anon_sym_constexpr] = ACTIONS(1328),
+    [anon_sym_volatile] = ACTIONS(1328),
+    [anon_sym_restrict] = ACTIONS(1328),
+    [anon_sym___restrict__] = ACTIONS(1328),
+    [anon_sym__Atomic] = ACTIONS(1328),
+    [anon_sym__Noreturn] = ACTIONS(1328),
+    [anon_sym_noreturn] = ACTIONS(1328),
+    [anon_sym__Nonnull] = ACTIONS(1328),
+    [anon_sym_alignas] = ACTIONS(1328),
+    [anon_sym__Alignas] = ACTIONS(1328),
+    [sym_primitive_type] = ACTIONS(1328),
+    [anon_sym_enum] = ACTIONS(1328),
+    [anon_sym_struct] = ACTIONS(1328),
+    [anon_sym_union] = ACTIONS(1328),
+    [anon_sym_if] = ACTIONS(1328),
+    [anon_sym_switch] = ACTIONS(1328),
+    [anon_sym_case] = ACTIONS(1328),
+    [anon_sym_default] = ACTIONS(1328),
+    [anon_sym_while] = ACTIONS(1328),
+    [anon_sym_do] = ACTIONS(1328),
+    [anon_sym_for] = ACTIONS(1328),
+    [anon_sym_return] = ACTIONS(1328),
+    [anon_sym_break] = ACTIONS(1328),
+    [anon_sym_continue] = ACTIONS(1328),
+    [anon_sym_goto] = ACTIONS(1328),
+    [anon_sym___try] = ACTIONS(1328),
+    [anon_sym___leave] = ACTIONS(1328),
+    [anon_sym_DASH_DASH] = ACTIONS(1330),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1330),
+    [anon_sym_sizeof] = ACTIONS(1328),
+    [anon_sym___alignof__] = ACTIONS(1328),
+    [anon_sym___alignof] = ACTIONS(1328),
+    [anon_sym__alignof] = ACTIONS(1328),
+    [anon_sym_alignof] = ACTIONS(1328),
+    [anon_sym__Alignof] = ACTIONS(1328),
+    [anon_sym_offsetof] = ACTIONS(1328),
+    [anon_sym__Generic] = ACTIONS(1328),
+    [anon_sym_asm] = ACTIONS(1328),
+    [anon_sym___asm__] = ACTIONS(1328),
+    [anon_sym___asm] = ACTIONS(1328),
+    [sym_number_literal] = ACTIONS(1330),
+    [anon_sym_L_SQUOTE] = ACTIONS(1330),
+    [anon_sym_u_SQUOTE] = ACTIONS(1330),
+    [anon_sym_U_SQUOTE] = ACTIONS(1330),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1330),
+    [anon_sym_SQUOTE] = ACTIONS(1330),
+    [anon_sym_L_DQUOTE] = ACTIONS(1330),
+    [anon_sym_u_DQUOTE] = ACTIONS(1330),
+    [anon_sym_U_DQUOTE] = ACTIONS(1330),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1330),
+    [anon_sym_DQUOTE] = ACTIONS(1330),
+    [sym_true] = ACTIONS(1328),
+    [sym_false] = ACTIONS(1328),
+    [anon_sym_NULL] = ACTIONS(1328),
+    [anon_sym_nullptr] = ACTIONS(1328),
     [sym_comment] = ACTIONS(3),
   },
   [281] = {
-    [sym_identifier] = ACTIONS(1353),
-    [aux_sym_preproc_include_token1] = ACTIONS(1353),
-    [aux_sym_preproc_def_token1] = ACTIONS(1353),
-    [aux_sym_preproc_if_token1] = ACTIONS(1353),
-    [aux_sym_preproc_if_token2] = ACTIONS(1353),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1353),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1353),
-    [sym_preproc_directive] = ACTIONS(1353),
-    [anon_sym_LPAREN2] = ACTIONS(1355),
-    [anon_sym_BANG] = ACTIONS(1355),
-    [anon_sym_TILDE] = ACTIONS(1355),
-    [anon_sym_DASH] = ACTIONS(1353),
-    [anon_sym_PLUS] = ACTIONS(1353),
-    [anon_sym_STAR] = ACTIONS(1355),
-    [anon_sym_AMP] = ACTIONS(1355),
-    [anon_sym_SEMI] = ACTIONS(1355),
-    [anon_sym___extension__] = ACTIONS(1353),
-    [anon_sym_typedef] = ACTIONS(1353),
-    [anon_sym_extern] = ACTIONS(1353),
-    [anon_sym___attribute__] = ACTIONS(1353),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1355),
-    [anon_sym___declspec] = ACTIONS(1353),
-    [anon_sym___cdecl] = ACTIONS(1353),
-    [anon_sym___clrcall] = ACTIONS(1353),
-    [anon_sym___stdcall] = ACTIONS(1353),
-    [anon_sym___fastcall] = ACTIONS(1353),
-    [anon_sym___thiscall] = ACTIONS(1353),
-    [anon_sym___vectorcall] = ACTIONS(1353),
-    [anon_sym_LBRACE] = ACTIONS(1355),
-    [anon_sym_signed] = ACTIONS(1353),
-    [anon_sym_unsigned] = ACTIONS(1353),
-    [anon_sym_long] = ACTIONS(1353),
-    [anon_sym_short] = ACTIONS(1353),
-    [anon_sym_static] = ACTIONS(1353),
-    [anon_sym_auto] = ACTIONS(1353),
-    [anon_sym_register] = ACTIONS(1353),
-    [anon_sym_inline] = ACTIONS(1353),
-    [anon_sym___inline] = ACTIONS(1353),
-    [anon_sym___inline__] = ACTIONS(1353),
-    [anon_sym___forceinline] = ACTIONS(1353),
-    [anon_sym_thread_local] = ACTIONS(1353),
-    [anon_sym___thread] = ACTIONS(1353),
-    [anon_sym_const] = ACTIONS(1353),
-    [anon_sym_constexpr] = ACTIONS(1353),
-    [anon_sym_volatile] = ACTIONS(1353),
-    [anon_sym_restrict] = ACTIONS(1353),
-    [anon_sym___restrict__] = ACTIONS(1353),
-    [anon_sym__Atomic] = ACTIONS(1353),
-    [anon_sym__Noreturn] = ACTIONS(1353),
-    [anon_sym_noreturn] = ACTIONS(1353),
-    [anon_sym__Nonnull] = ACTIONS(1353),
-    [anon_sym_alignas] = ACTIONS(1353),
-    [anon_sym__Alignas] = ACTIONS(1353),
-    [sym_primitive_type] = ACTIONS(1353),
-    [anon_sym_enum] = ACTIONS(1353),
-    [anon_sym_struct] = ACTIONS(1353),
-    [anon_sym_union] = ACTIONS(1353),
-    [anon_sym_if] = ACTIONS(1353),
-    [anon_sym_switch] = ACTIONS(1353),
-    [anon_sym_case] = ACTIONS(1353),
-    [anon_sym_default] = ACTIONS(1353),
-    [anon_sym_while] = ACTIONS(1353),
-    [anon_sym_do] = ACTIONS(1353),
-    [anon_sym_for] = ACTIONS(1353),
-    [anon_sym_return] = ACTIONS(1353),
-    [anon_sym_break] = ACTIONS(1353),
-    [anon_sym_continue] = ACTIONS(1353),
-    [anon_sym_goto] = ACTIONS(1353),
-    [anon_sym___try] = ACTIONS(1353),
-    [anon_sym___leave] = ACTIONS(1353),
-    [anon_sym_DASH_DASH] = ACTIONS(1355),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1355),
-    [anon_sym_sizeof] = ACTIONS(1353),
-    [anon_sym___alignof__] = ACTIONS(1353),
-    [anon_sym___alignof] = ACTIONS(1353),
-    [anon_sym__alignof] = ACTIONS(1353),
-    [anon_sym_alignof] = ACTIONS(1353),
-    [anon_sym__Alignof] = ACTIONS(1353),
-    [anon_sym_offsetof] = ACTIONS(1353),
-    [anon_sym__Generic] = ACTIONS(1353),
-    [anon_sym_asm] = ACTIONS(1353),
-    [anon_sym___asm__] = ACTIONS(1353),
-    [anon_sym___asm] = ACTIONS(1353),
-    [sym_number_literal] = ACTIONS(1355),
-    [anon_sym_L_SQUOTE] = ACTIONS(1355),
-    [anon_sym_u_SQUOTE] = ACTIONS(1355),
-    [anon_sym_U_SQUOTE] = ACTIONS(1355),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1355),
-    [anon_sym_SQUOTE] = ACTIONS(1355),
-    [anon_sym_L_DQUOTE] = ACTIONS(1355),
-    [anon_sym_u_DQUOTE] = ACTIONS(1355),
-    [anon_sym_U_DQUOTE] = ACTIONS(1355),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1355),
-    [anon_sym_DQUOTE] = ACTIONS(1355),
-    [sym_true] = ACTIONS(1353),
-    [sym_false] = ACTIONS(1353),
-    [anon_sym_NULL] = ACTIONS(1353),
-    [anon_sym_nullptr] = ACTIONS(1353),
+    [sym_identifier] = ACTIONS(1332),
+    [aux_sym_preproc_include_token1] = ACTIONS(1332),
+    [aux_sym_preproc_def_token1] = ACTIONS(1332),
+    [aux_sym_preproc_if_token1] = ACTIONS(1332),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1332),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1332),
+    [sym_preproc_directive] = ACTIONS(1332),
+    [anon_sym_LPAREN2] = ACTIONS(1334),
+    [anon_sym_BANG] = ACTIONS(1334),
+    [anon_sym_TILDE] = ACTIONS(1334),
+    [anon_sym_DASH] = ACTIONS(1332),
+    [anon_sym_PLUS] = ACTIONS(1332),
+    [anon_sym_STAR] = ACTIONS(1334),
+    [anon_sym_AMP] = ACTIONS(1334),
+    [anon_sym_SEMI] = ACTIONS(1334),
+    [anon_sym___extension__] = ACTIONS(1332),
+    [anon_sym_typedef] = ACTIONS(1332),
+    [anon_sym_extern] = ACTIONS(1332),
+    [anon_sym___attribute__] = ACTIONS(1332),
+    [anon_sym___attribute] = ACTIONS(1332),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1334),
+    [anon_sym___declspec] = ACTIONS(1332),
+    [anon_sym___cdecl] = ACTIONS(1332),
+    [anon_sym___clrcall] = ACTIONS(1332),
+    [anon_sym___stdcall] = ACTIONS(1332),
+    [anon_sym___fastcall] = ACTIONS(1332),
+    [anon_sym___thiscall] = ACTIONS(1332),
+    [anon_sym___vectorcall] = ACTIONS(1332),
+    [anon_sym_LBRACE] = ACTIONS(1334),
+    [anon_sym_RBRACE] = ACTIONS(1334),
+    [anon_sym_signed] = ACTIONS(1332),
+    [anon_sym_unsigned] = ACTIONS(1332),
+    [anon_sym_long] = ACTIONS(1332),
+    [anon_sym_short] = ACTIONS(1332),
+    [anon_sym_static] = ACTIONS(1332),
+    [anon_sym_auto] = ACTIONS(1332),
+    [anon_sym_register] = ACTIONS(1332),
+    [anon_sym_inline] = ACTIONS(1332),
+    [anon_sym___inline] = ACTIONS(1332),
+    [anon_sym___inline__] = ACTIONS(1332),
+    [anon_sym___forceinline] = ACTIONS(1332),
+    [anon_sym_thread_local] = ACTIONS(1332),
+    [anon_sym___thread] = ACTIONS(1332),
+    [anon_sym_const] = ACTIONS(1332),
+    [anon_sym_constexpr] = ACTIONS(1332),
+    [anon_sym_volatile] = ACTIONS(1332),
+    [anon_sym_restrict] = ACTIONS(1332),
+    [anon_sym___restrict__] = ACTIONS(1332),
+    [anon_sym__Atomic] = ACTIONS(1332),
+    [anon_sym__Noreturn] = ACTIONS(1332),
+    [anon_sym_noreturn] = ACTIONS(1332),
+    [anon_sym__Nonnull] = ACTIONS(1332),
+    [anon_sym_alignas] = ACTIONS(1332),
+    [anon_sym__Alignas] = ACTIONS(1332),
+    [sym_primitive_type] = ACTIONS(1332),
+    [anon_sym_enum] = ACTIONS(1332),
+    [anon_sym_struct] = ACTIONS(1332),
+    [anon_sym_union] = ACTIONS(1332),
+    [anon_sym_if] = ACTIONS(1332),
+    [anon_sym_switch] = ACTIONS(1332),
+    [anon_sym_case] = ACTIONS(1332),
+    [anon_sym_default] = ACTIONS(1332),
+    [anon_sym_while] = ACTIONS(1332),
+    [anon_sym_do] = ACTIONS(1332),
+    [anon_sym_for] = ACTIONS(1332),
+    [anon_sym_return] = ACTIONS(1332),
+    [anon_sym_break] = ACTIONS(1332),
+    [anon_sym_continue] = ACTIONS(1332),
+    [anon_sym_goto] = ACTIONS(1332),
+    [anon_sym___try] = ACTIONS(1332),
+    [anon_sym___leave] = ACTIONS(1332),
+    [anon_sym_DASH_DASH] = ACTIONS(1334),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1334),
+    [anon_sym_sizeof] = ACTIONS(1332),
+    [anon_sym___alignof__] = ACTIONS(1332),
+    [anon_sym___alignof] = ACTIONS(1332),
+    [anon_sym__alignof] = ACTIONS(1332),
+    [anon_sym_alignof] = ACTIONS(1332),
+    [anon_sym__Alignof] = ACTIONS(1332),
+    [anon_sym_offsetof] = ACTIONS(1332),
+    [anon_sym__Generic] = ACTIONS(1332),
+    [anon_sym_asm] = ACTIONS(1332),
+    [anon_sym___asm__] = ACTIONS(1332),
+    [anon_sym___asm] = ACTIONS(1332),
+    [sym_number_literal] = ACTIONS(1334),
+    [anon_sym_L_SQUOTE] = ACTIONS(1334),
+    [anon_sym_u_SQUOTE] = ACTIONS(1334),
+    [anon_sym_U_SQUOTE] = ACTIONS(1334),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1334),
+    [anon_sym_SQUOTE] = ACTIONS(1334),
+    [anon_sym_L_DQUOTE] = ACTIONS(1334),
+    [anon_sym_u_DQUOTE] = ACTIONS(1334),
+    [anon_sym_U_DQUOTE] = ACTIONS(1334),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1334),
+    [anon_sym_DQUOTE] = ACTIONS(1334),
+    [sym_true] = ACTIONS(1332),
+    [sym_false] = ACTIONS(1332),
+    [anon_sym_NULL] = ACTIONS(1332),
+    [anon_sym_nullptr] = ACTIONS(1332),
     [sym_comment] = ACTIONS(3),
   },
   [282] = {
-    [sym_identifier] = ACTIONS(1297),
-    [aux_sym_preproc_include_token1] = ACTIONS(1297),
-    [aux_sym_preproc_def_token1] = ACTIONS(1297),
-    [aux_sym_preproc_if_token1] = ACTIONS(1297),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1297),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1297),
-    [sym_preproc_directive] = ACTIONS(1297),
-    [anon_sym_LPAREN2] = ACTIONS(1299),
-    [anon_sym_BANG] = ACTIONS(1299),
-    [anon_sym_TILDE] = ACTIONS(1299),
-    [anon_sym_DASH] = ACTIONS(1297),
-    [anon_sym_PLUS] = ACTIONS(1297),
-    [anon_sym_STAR] = ACTIONS(1299),
-    [anon_sym_AMP] = ACTIONS(1299),
-    [anon_sym_SEMI] = ACTIONS(1299),
-    [anon_sym___extension__] = ACTIONS(1297),
-    [anon_sym_typedef] = ACTIONS(1297),
-    [anon_sym_extern] = ACTIONS(1297),
-    [anon_sym___attribute__] = ACTIONS(1297),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1299),
-    [anon_sym___declspec] = ACTIONS(1297),
-    [anon_sym___cdecl] = ACTIONS(1297),
-    [anon_sym___clrcall] = ACTIONS(1297),
-    [anon_sym___stdcall] = ACTIONS(1297),
-    [anon_sym___fastcall] = ACTIONS(1297),
-    [anon_sym___thiscall] = ACTIONS(1297),
-    [anon_sym___vectorcall] = ACTIONS(1297),
-    [anon_sym_LBRACE] = ACTIONS(1299),
-    [anon_sym_RBRACE] = ACTIONS(1299),
-    [anon_sym_signed] = ACTIONS(1297),
-    [anon_sym_unsigned] = ACTIONS(1297),
-    [anon_sym_long] = ACTIONS(1297),
-    [anon_sym_short] = ACTIONS(1297),
-    [anon_sym_static] = ACTIONS(1297),
-    [anon_sym_auto] = ACTIONS(1297),
-    [anon_sym_register] = ACTIONS(1297),
-    [anon_sym_inline] = ACTIONS(1297),
-    [anon_sym___inline] = ACTIONS(1297),
-    [anon_sym___inline__] = ACTIONS(1297),
-    [anon_sym___forceinline] = ACTIONS(1297),
-    [anon_sym_thread_local] = ACTIONS(1297),
-    [anon_sym___thread] = ACTIONS(1297),
-    [anon_sym_const] = ACTIONS(1297),
-    [anon_sym_constexpr] = ACTIONS(1297),
-    [anon_sym_volatile] = ACTIONS(1297),
-    [anon_sym_restrict] = ACTIONS(1297),
-    [anon_sym___restrict__] = ACTIONS(1297),
-    [anon_sym__Atomic] = ACTIONS(1297),
-    [anon_sym__Noreturn] = ACTIONS(1297),
-    [anon_sym_noreturn] = ACTIONS(1297),
-    [anon_sym__Nonnull] = ACTIONS(1297),
-    [anon_sym_alignas] = ACTIONS(1297),
-    [anon_sym__Alignas] = ACTIONS(1297),
-    [sym_primitive_type] = ACTIONS(1297),
-    [anon_sym_enum] = ACTIONS(1297),
-    [anon_sym_struct] = ACTIONS(1297),
-    [anon_sym_union] = ACTIONS(1297),
-    [anon_sym_if] = ACTIONS(1297),
-    [anon_sym_switch] = ACTIONS(1297),
-    [anon_sym_case] = ACTIONS(1297),
-    [anon_sym_default] = ACTIONS(1297),
-    [anon_sym_while] = ACTIONS(1297),
-    [anon_sym_do] = ACTIONS(1297),
-    [anon_sym_for] = ACTIONS(1297),
-    [anon_sym_return] = ACTIONS(1297),
-    [anon_sym_break] = ACTIONS(1297),
-    [anon_sym_continue] = ACTIONS(1297),
-    [anon_sym_goto] = ACTIONS(1297),
-    [anon_sym___try] = ACTIONS(1297),
-    [anon_sym___leave] = ACTIONS(1297),
-    [anon_sym_DASH_DASH] = ACTIONS(1299),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1299),
-    [anon_sym_sizeof] = ACTIONS(1297),
-    [anon_sym___alignof__] = ACTIONS(1297),
-    [anon_sym___alignof] = ACTIONS(1297),
-    [anon_sym__alignof] = ACTIONS(1297),
-    [anon_sym_alignof] = ACTIONS(1297),
-    [anon_sym__Alignof] = ACTIONS(1297),
-    [anon_sym_offsetof] = ACTIONS(1297),
-    [anon_sym__Generic] = ACTIONS(1297),
-    [anon_sym_asm] = ACTIONS(1297),
-    [anon_sym___asm__] = ACTIONS(1297),
-    [anon_sym___asm] = ACTIONS(1297),
-    [sym_number_literal] = ACTIONS(1299),
-    [anon_sym_L_SQUOTE] = ACTIONS(1299),
-    [anon_sym_u_SQUOTE] = ACTIONS(1299),
-    [anon_sym_U_SQUOTE] = ACTIONS(1299),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1299),
-    [anon_sym_SQUOTE] = ACTIONS(1299),
-    [anon_sym_L_DQUOTE] = ACTIONS(1299),
-    [anon_sym_u_DQUOTE] = ACTIONS(1299),
-    [anon_sym_U_DQUOTE] = ACTIONS(1299),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1299),
-    [anon_sym_DQUOTE] = ACTIONS(1299),
-    [sym_true] = ACTIONS(1297),
-    [sym_false] = ACTIONS(1297),
-    [anon_sym_NULL] = ACTIONS(1297),
-    [anon_sym_nullptr] = ACTIONS(1297),
+    [sym_identifier] = ACTIONS(1348),
+    [aux_sym_preproc_include_token1] = ACTIONS(1348),
+    [aux_sym_preproc_def_token1] = ACTIONS(1348),
+    [aux_sym_preproc_if_token1] = ACTIONS(1348),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1348),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1348),
+    [sym_preproc_directive] = ACTIONS(1348),
+    [anon_sym_LPAREN2] = ACTIONS(1350),
+    [anon_sym_BANG] = ACTIONS(1350),
+    [anon_sym_TILDE] = ACTIONS(1350),
+    [anon_sym_DASH] = ACTIONS(1348),
+    [anon_sym_PLUS] = ACTIONS(1348),
+    [anon_sym_STAR] = ACTIONS(1350),
+    [anon_sym_AMP] = ACTIONS(1350),
+    [anon_sym_SEMI] = ACTIONS(1350),
+    [anon_sym___extension__] = ACTIONS(1348),
+    [anon_sym_typedef] = ACTIONS(1348),
+    [anon_sym_extern] = ACTIONS(1348),
+    [anon_sym___attribute__] = ACTIONS(1348),
+    [anon_sym___attribute] = ACTIONS(1348),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1350),
+    [anon_sym___declspec] = ACTIONS(1348),
+    [anon_sym___cdecl] = ACTIONS(1348),
+    [anon_sym___clrcall] = ACTIONS(1348),
+    [anon_sym___stdcall] = ACTIONS(1348),
+    [anon_sym___fastcall] = ACTIONS(1348),
+    [anon_sym___thiscall] = ACTIONS(1348),
+    [anon_sym___vectorcall] = ACTIONS(1348),
+    [anon_sym_LBRACE] = ACTIONS(1350),
+    [anon_sym_RBRACE] = ACTIONS(1350),
+    [anon_sym_signed] = ACTIONS(1348),
+    [anon_sym_unsigned] = ACTIONS(1348),
+    [anon_sym_long] = ACTIONS(1348),
+    [anon_sym_short] = ACTIONS(1348),
+    [anon_sym_static] = ACTIONS(1348),
+    [anon_sym_auto] = ACTIONS(1348),
+    [anon_sym_register] = ACTIONS(1348),
+    [anon_sym_inline] = ACTIONS(1348),
+    [anon_sym___inline] = ACTIONS(1348),
+    [anon_sym___inline__] = ACTIONS(1348),
+    [anon_sym___forceinline] = ACTIONS(1348),
+    [anon_sym_thread_local] = ACTIONS(1348),
+    [anon_sym___thread] = ACTIONS(1348),
+    [anon_sym_const] = ACTIONS(1348),
+    [anon_sym_constexpr] = ACTIONS(1348),
+    [anon_sym_volatile] = ACTIONS(1348),
+    [anon_sym_restrict] = ACTIONS(1348),
+    [anon_sym___restrict__] = ACTIONS(1348),
+    [anon_sym__Atomic] = ACTIONS(1348),
+    [anon_sym__Noreturn] = ACTIONS(1348),
+    [anon_sym_noreturn] = ACTIONS(1348),
+    [anon_sym__Nonnull] = ACTIONS(1348),
+    [anon_sym_alignas] = ACTIONS(1348),
+    [anon_sym__Alignas] = ACTIONS(1348),
+    [sym_primitive_type] = ACTIONS(1348),
+    [anon_sym_enum] = ACTIONS(1348),
+    [anon_sym_struct] = ACTIONS(1348),
+    [anon_sym_union] = ACTIONS(1348),
+    [anon_sym_if] = ACTIONS(1348),
+    [anon_sym_switch] = ACTIONS(1348),
+    [anon_sym_case] = ACTIONS(1348),
+    [anon_sym_default] = ACTIONS(1348),
+    [anon_sym_while] = ACTIONS(1348),
+    [anon_sym_do] = ACTIONS(1348),
+    [anon_sym_for] = ACTIONS(1348),
+    [anon_sym_return] = ACTIONS(1348),
+    [anon_sym_break] = ACTIONS(1348),
+    [anon_sym_continue] = ACTIONS(1348),
+    [anon_sym_goto] = ACTIONS(1348),
+    [anon_sym___try] = ACTIONS(1348),
+    [anon_sym___leave] = ACTIONS(1348),
+    [anon_sym_DASH_DASH] = ACTIONS(1350),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1350),
+    [anon_sym_sizeof] = ACTIONS(1348),
+    [anon_sym___alignof__] = ACTIONS(1348),
+    [anon_sym___alignof] = ACTIONS(1348),
+    [anon_sym__alignof] = ACTIONS(1348),
+    [anon_sym_alignof] = ACTIONS(1348),
+    [anon_sym__Alignof] = ACTIONS(1348),
+    [anon_sym_offsetof] = ACTIONS(1348),
+    [anon_sym__Generic] = ACTIONS(1348),
+    [anon_sym_asm] = ACTIONS(1348),
+    [anon_sym___asm__] = ACTIONS(1348),
+    [anon_sym___asm] = ACTIONS(1348),
+    [sym_number_literal] = ACTIONS(1350),
+    [anon_sym_L_SQUOTE] = ACTIONS(1350),
+    [anon_sym_u_SQUOTE] = ACTIONS(1350),
+    [anon_sym_U_SQUOTE] = ACTIONS(1350),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1350),
+    [anon_sym_SQUOTE] = ACTIONS(1350),
+    [anon_sym_L_DQUOTE] = ACTIONS(1350),
+    [anon_sym_u_DQUOTE] = ACTIONS(1350),
+    [anon_sym_U_DQUOTE] = ACTIONS(1350),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1350),
+    [anon_sym_DQUOTE] = ACTIONS(1350),
+    [sym_true] = ACTIONS(1348),
+    [sym_false] = ACTIONS(1348),
+    [anon_sym_NULL] = ACTIONS(1348),
+    [anon_sym_nullptr] = ACTIONS(1348),
     [sym_comment] = ACTIONS(3),
   },
   [283] = {
-    [sym_identifier] = ACTIONS(1273),
-    [aux_sym_preproc_include_token1] = ACTIONS(1273),
-    [aux_sym_preproc_def_token1] = ACTIONS(1273),
-    [aux_sym_preproc_if_token1] = ACTIONS(1273),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1273),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1273),
-    [sym_preproc_directive] = ACTIONS(1273),
-    [anon_sym_LPAREN2] = ACTIONS(1275),
-    [anon_sym_BANG] = ACTIONS(1275),
-    [anon_sym_TILDE] = ACTIONS(1275),
-    [anon_sym_DASH] = ACTIONS(1273),
-    [anon_sym_PLUS] = ACTIONS(1273),
-    [anon_sym_STAR] = ACTIONS(1275),
-    [anon_sym_AMP] = ACTIONS(1275),
-    [anon_sym_SEMI] = ACTIONS(1275),
-    [anon_sym___extension__] = ACTIONS(1273),
-    [anon_sym_typedef] = ACTIONS(1273),
-    [anon_sym_extern] = ACTIONS(1273),
-    [anon_sym___attribute__] = ACTIONS(1273),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1275),
-    [anon_sym___declspec] = ACTIONS(1273),
-    [anon_sym___cdecl] = ACTIONS(1273),
-    [anon_sym___clrcall] = ACTIONS(1273),
-    [anon_sym___stdcall] = ACTIONS(1273),
-    [anon_sym___fastcall] = ACTIONS(1273),
-    [anon_sym___thiscall] = ACTIONS(1273),
-    [anon_sym___vectorcall] = ACTIONS(1273),
-    [anon_sym_LBRACE] = ACTIONS(1275),
-    [anon_sym_RBRACE] = ACTIONS(1275),
-    [anon_sym_signed] = ACTIONS(1273),
-    [anon_sym_unsigned] = ACTIONS(1273),
-    [anon_sym_long] = ACTIONS(1273),
-    [anon_sym_short] = ACTIONS(1273),
-    [anon_sym_static] = ACTIONS(1273),
-    [anon_sym_auto] = ACTIONS(1273),
-    [anon_sym_register] = ACTIONS(1273),
-    [anon_sym_inline] = ACTIONS(1273),
-    [anon_sym___inline] = ACTIONS(1273),
-    [anon_sym___inline__] = ACTIONS(1273),
-    [anon_sym___forceinline] = ACTIONS(1273),
-    [anon_sym_thread_local] = ACTIONS(1273),
-    [anon_sym___thread] = ACTIONS(1273),
-    [anon_sym_const] = ACTIONS(1273),
-    [anon_sym_constexpr] = ACTIONS(1273),
-    [anon_sym_volatile] = ACTIONS(1273),
-    [anon_sym_restrict] = ACTIONS(1273),
-    [anon_sym___restrict__] = ACTIONS(1273),
-    [anon_sym__Atomic] = ACTIONS(1273),
-    [anon_sym__Noreturn] = ACTIONS(1273),
-    [anon_sym_noreturn] = ACTIONS(1273),
-    [anon_sym__Nonnull] = ACTIONS(1273),
-    [anon_sym_alignas] = ACTIONS(1273),
-    [anon_sym__Alignas] = ACTIONS(1273),
-    [sym_primitive_type] = ACTIONS(1273),
-    [anon_sym_enum] = ACTIONS(1273),
-    [anon_sym_struct] = ACTIONS(1273),
-    [anon_sym_union] = ACTIONS(1273),
-    [anon_sym_if] = ACTIONS(1273),
-    [anon_sym_switch] = ACTIONS(1273),
-    [anon_sym_case] = ACTIONS(1273),
-    [anon_sym_default] = ACTIONS(1273),
-    [anon_sym_while] = ACTIONS(1273),
-    [anon_sym_do] = ACTIONS(1273),
-    [anon_sym_for] = ACTIONS(1273),
-    [anon_sym_return] = ACTIONS(1273),
-    [anon_sym_break] = ACTIONS(1273),
-    [anon_sym_continue] = ACTIONS(1273),
-    [anon_sym_goto] = ACTIONS(1273),
-    [anon_sym___try] = ACTIONS(1273),
-    [anon_sym___leave] = ACTIONS(1273),
-    [anon_sym_DASH_DASH] = ACTIONS(1275),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1275),
-    [anon_sym_sizeof] = ACTIONS(1273),
-    [anon_sym___alignof__] = ACTIONS(1273),
-    [anon_sym___alignof] = ACTIONS(1273),
-    [anon_sym__alignof] = ACTIONS(1273),
-    [anon_sym_alignof] = ACTIONS(1273),
-    [anon_sym__Alignof] = ACTIONS(1273),
-    [anon_sym_offsetof] = ACTIONS(1273),
-    [anon_sym__Generic] = ACTIONS(1273),
-    [anon_sym_asm] = ACTIONS(1273),
-    [anon_sym___asm__] = ACTIONS(1273),
-    [anon_sym___asm] = ACTIONS(1273),
-    [sym_number_literal] = ACTIONS(1275),
-    [anon_sym_L_SQUOTE] = ACTIONS(1275),
-    [anon_sym_u_SQUOTE] = ACTIONS(1275),
-    [anon_sym_U_SQUOTE] = ACTIONS(1275),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1275),
-    [anon_sym_SQUOTE] = ACTIONS(1275),
-    [anon_sym_L_DQUOTE] = ACTIONS(1275),
-    [anon_sym_u_DQUOTE] = ACTIONS(1275),
-    [anon_sym_U_DQUOTE] = ACTIONS(1275),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1275),
-    [anon_sym_DQUOTE] = ACTIONS(1275),
-    [sym_true] = ACTIONS(1273),
-    [sym_false] = ACTIONS(1273),
-    [anon_sym_NULL] = ACTIONS(1273),
-    [anon_sym_nullptr] = ACTIONS(1273),
+    [sym_identifier] = ACTIONS(1280),
+    [aux_sym_preproc_include_token1] = ACTIONS(1280),
+    [aux_sym_preproc_def_token1] = ACTIONS(1280),
+    [aux_sym_preproc_if_token1] = ACTIONS(1280),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1280),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1280),
+    [sym_preproc_directive] = ACTIONS(1280),
+    [anon_sym_LPAREN2] = ACTIONS(1282),
+    [anon_sym_BANG] = ACTIONS(1282),
+    [anon_sym_TILDE] = ACTIONS(1282),
+    [anon_sym_DASH] = ACTIONS(1280),
+    [anon_sym_PLUS] = ACTIONS(1280),
+    [anon_sym_STAR] = ACTIONS(1282),
+    [anon_sym_AMP] = ACTIONS(1282),
+    [anon_sym_SEMI] = ACTIONS(1282),
+    [anon_sym___extension__] = ACTIONS(1280),
+    [anon_sym_typedef] = ACTIONS(1280),
+    [anon_sym_extern] = ACTIONS(1280),
+    [anon_sym___attribute__] = ACTIONS(1280),
+    [anon_sym___attribute] = ACTIONS(1280),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1282),
+    [anon_sym___declspec] = ACTIONS(1280),
+    [anon_sym___cdecl] = ACTIONS(1280),
+    [anon_sym___clrcall] = ACTIONS(1280),
+    [anon_sym___stdcall] = ACTIONS(1280),
+    [anon_sym___fastcall] = ACTIONS(1280),
+    [anon_sym___thiscall] = ACTIONS(1280),
+    [anon_sym___vectorcall] = ACTIONS(1280),
+    [anon_sym_LBRACE] = ACTIONS(1282),
+    [anon_sym_RBRACE] = ACTIONS(1282),
+    [anon_sym_signed] = ACTIONS(1280),
+    [anon_sym_unsigned] = ACTIONS(1280),
+    [anon_sym_long] = ACTIONS(1280),
+    [anon_sym_short] = ACTIONS(1280),
+    [anon_sym_static] = ACTIONS(1280),
+    [anon_sym_auto] = ACTIONS(1280),
+    [anon_sym_register] = ACTIONS(1280),
+    [anon_sym_inline] = ACTIONS(1280),
+    [anon_sym___inline] = ACTIONS(1280),
+    [anon_sym___inline__] = ACTIONS(1280),
+    [anon_sym___forceinline] = ACTIONS(1280),
+    [anon_sym_thread_local] = ACTIONS(1280),
+    [anon_sym___thread] = ACTIONS(1280),
+    [anon_sym_const] = ACTIONS(1280),
+    [anon_sym_constexpr] = ACTIONS(1280),
+    [anon_sym_volatile] = ACTIONS(1280),
+    [anon_sym_restrict] = ACTIONS(1280),
+    [anon_sym___restrict__] = ACTIONS(1280),
+    [anon_sym__Atomic] = ACTIONS(1280),
+    [anon_sym__Noreturn] = ACTIONS(1280),
+    [anon_sym_noreturn] = ACTIONS(1280),
+    [anon_sym__Nonnull] = ACTIONS(1280),
+    [anon_sym_alignas] = ACTIONS(1280),
+    [anon_sym__Alignas] = ACTIONS(1280),
+    [sym_primitive_type] = ACTIONS(1280),
+    [anon_sym_enum] = ACTIONS(1280),
+    [anon_sym_struct] = ACTIONS(1280),
+    [anon_sym_union] = ACTIONS(1280),
+    [anon_sym_if] = ACTIONS(1280),
+    [anon_sym_switch] = ACTIONS(1280),
+    [anon_sym_case] = ACTIONS(1280),
+    [anon_sym_default] = ACTIONS(1280),
+    [anon_sym_while] = ACTIONS(1280),
+    [anon_sym_do] = ACTIONS(1280),
+    [anon_sym_for] = ACTIONS(1280),
+    [anon_sym_return] = ACTIONS(1280),
+    [anon_sym_break] = ACTIONS(1280),
+    [anon_sym_continue] = ACTIONS(1280),
+    [anon_sym_goto] = ACTIONS(1280),
+    [anon_sym___try] = ACTIONS(1280),
+    [anon_sym___leave] = ACTIONS(1280),
+    [anon_sym_DASH_DASH] = ACTIONS(1282),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1282),
+    [anon_sym_sizeof] = ACTIONS(1280),
+    [anon_sym___alignof__] = ACTIONS(1280),
+    [anon_sym___alignof] = ACTIONS(1280),
+    [anon_sym__alignof] = ACTIONS(1280),
+    [anon_sym_alignof] = ACTIONS(1280),
+    [anon_sym__Alignof] = ACTIONS(1280),
+    [anon_sym_offsetof] = ACTIONS(1280),
+    [anon_sym__Generic] = ACTIONS(1280),
+    [anon_sym_asm] = ACTIONS(1280),
+    [anon_sym___asm__] = ACTIONS(1280),
+    [anon_sym___asm] = ACTIONS(1280),
+    [sym_number_literal] = ACTIONS(1282),
+    [anon_sym_L_SQUOTE] = ACTIONS(1282),
+    [anon_sym_u_SQUOTE] = ACTIONS(1282),
+    [anon_sym_U_SQUOTE] = ACTIONS(1282),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1282),
+    [anon_sym_SQUOTE] = ACTIONS(1282),
+    [anon_sym_L_DQUOTE] = ACTIONS(1282),
+    [anon_sym_u_DQUOTE] = ACTIONS(1282),
+    [anon_sym_U_DQUOTE] = ACTIONS(1282),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1282),
+    [anon_sym_DQUOTE] = ACTIONS(1282),
+    [sym_true] = ACTIONS(1280),
+    [sym_false] = ACTIONS(1280),
+    [anon_sym_NULL] = ACTIONS(1280),
+    [anon_sym_nullptr] = ACTIONS(1280),
     [sym_comment] = ACTIONS(3),
   },
   [284] = {
-    [sym_identifier] = ACTIONS(1321),
-    [aux_sym_preproc_include_token1] = ACTIONS(1321),
-    [aux_sym_preproc_def_token1] = ACTIONS(1321),
-    [aux_sym_preproc_if_token1] = ACTIONS(1321),
-    [aux_sym_preproc_if_token2] = ACTIONS(1321),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1321),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1321),
-    [sym_preproc_directive] = ACTIONS(1321),
-    [anon_sym_LPAREN2] = ACTIONS(1323),
-    [anon_sym_BANG] = ACTIONS(1323),
-    [anon_sym_TILDE] = ACTIONS(1323),
-    [anon_sym_DASH] = ACTIONS(1321),
-    [anon_sym_PLUS] = ACTIONS(1321),
-    [anon_sym_STAR] = ACTIONS(1323),
-    [anon_sym_AMP] = ACTIONS(1323),
-    [anon_sym_SEMI] = ACTIONS(1323),
-    [anon_sym___extension__] = ACTIONS(1321),
-    [anon_sym_typedef] = ACTIONS(1321),
-    [anon_sym_extern] = ACTIONS(1321),
-    [anon_sym___attribute__] = ACTIONS(1321),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1323),
-    [anon_sym___declspec] = ACTIONS(1321),
-    [anon_sym___cdecl] = ACTIONS(1321),
-    [anon_sym___clrcall] = ACTIONS(1321),
-    [anon_sym___stdcall] = ACTIONS(1321),
-    [anon_sym___fastcall] = ACTIONS(1321),
-    [anon_sym___thiscall] = ACTIONS(1321),
-    [anon_sym___vectorcall] = ACTIONS(1321),
-    [anon_sym_LBRACE] = ACTIONS(1323),
-    [anon_sym_signed] = ACTIONS(1321),
-    [anon_sym_unsigned] = ACTIONS(1321),
-    [anon_sym_long] = ACTIONS(1321),
-    [anon_sym_short] = ACTIONS(1321),
-    [anon_sym_static] = ACTIONS(1321),
-    [anon_sym_auto] = ACTIONS(1321),
-    [anon_sym_register] = ACTIONS(1321),
-    [anon_sym_inline] = ACTIONS(1321),
-    [anon_sym___inline] = ACTIONS(1321),
-    [anon_sym___inline__] = ACTIONS(1321),
-    [anon_sym___forceinline] = ACTIONS(1321),
-    [anon_sym_thread_local] = ACTIONS(1321),
-    [anon_sym___thread] = ACTIONS(1321),
-    [anon_sym_const] = ACTIONS(1321),
-    [anon_sym_constexpr] = ACTIONS(1321),
-    [anon_sym_volatile] = ACTIONS(1321),
-    [anon_sym_restrict] = ACTIONS(1321),
-    [anon_sym___restrict__] = ACTIONS(1321),
-    [anon_sym__Atomic] = ACTIONS(1321),
-    [anon_sym__Noreturn] = ACTIONS(1321),
-    [anon_sym_noreturn] = ACTIONS(1321),
-    [anon_sym__Nonnull] = ACTIONS(1321),
-    [anon_sym_alignas] = ACTIONS(1321),
-    [anon_sym__Alignas] = ACTIONS(1321),
-    [sym_primitive_type] = ACTIONS(1321),
-    [anon_sym_enum] = ACTIONS(1321),
-    [anon_sym_struct] = ACTIONS(1321),
-    [anon_sym_union] = ACTIONS(1321),
-    [anon_sym_if] = ACTIONS(1321),
-    [anon_sym_switch] = ACTIONS(1321),
-    [anon_sym_case] = ACTIONS(1321),
-    [anon_sym_default] = ACTIONS(1321),
-    [anon_sym_while] = ACTIONS(1321),
-    [anon_sym_do] = ACTIONS(1321),
-    [anon_sym_for] = ACTIONS(1321),
-    [anon_sym_return] = ACTIONS(1321),
-    [anon_sym_break] = ACTIONS(1321),
-    [anon_sym_continue] = ACTIONS(1321),
-    [anon_sym_goto] = ACTIONS(1321),
-    [anon_sym___try] = ACTIONS(1321),
-    [anon_sym___leave] = ACTIONS(1321),
-    [anon_sym_DASH_DASH] = ACTIONS(1323),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
-    [anon_sym_sizeof] = ACTIONS(1321),
-    [anon_sym___alignof__] = ACTIONS(1321),
-    [anon_sym___alignof] = ACTIONS(1321),
-    [anon_sym__alignof] = ACTIONS(1321),
-    [anon_sym_alignof] = ACTIONS(1321),
-    [anon_sym__Alignof] = ACTIONS(1321),
-    [anon_sym_offsetof] = ACTIONS(1321),
-    [anon_sym__Generic] = ACTIONS(1321),
-    [anon_sym_asm] = ACTIONS(1321),
-    [anon_sym___asm__] = ACTIONS(1321),
-    [anon_sym___asm] = ACTIONS(1321),
-    [sym_number_literal] = ACTIONS(1323),
-    [anon_sym_L_SQUOTE] = ACTIONS(1323),
-    [anon_sym_u_SQUOTE] = ACTIONS(1323),
-    [anon_sym_U_SQUOTE] = ACTIONS(1323),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1323),
-    [anon_sym_SQUOTE] = ACTIONS(1323),
-    [anon_sym_L_DQUOTE] = ACTIONS(1323),
-    [anon_sym_u_DQUOTE] = ACTIONS(1323),
-    [anon_sym_U_DQUOTE] = ACTIONS(1323),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1323),
-    [anon_sym_DQUOTE] = ACTIONS(1323),
-    [sym_true] = ACTIONS(1321),
-    [sym_false] = ACTIONS(1321),
-    [anon_sym_NULL] = ACTIONS(1321),
-    [anon_sym_nullptr] = ACTIONS(1321),
+    [sym_identifier] = ACTIONS(1284),
+    [aux_sym_preproc_include_token1] = ACTIONS(1284),
+    [aux_sym_preproc_def_token1] = ACTIONS(1284),
+    [aux_sym_preproc_if_token1] = ACTIONS(1284),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1284),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1284),
+    [sym_preproc_directive] = ACTIONS(1284),
+    [anon_sym_LPAREN2] = ACTIONS(1286),
+    [anon_sym_BANG] = ACTIONS(1286),
+    [anon_sym_TILDE] = ACTIONS(1286),
+    [anon_sym_DASH] = ACTIONS(1284),
+    [anon_sym_PLUS] = ACTIONS(1284),
+    [anon_sym_STAR] = ACTIONS(1286),
+    [anon_sym_AMP] = ACTIONS(1286),
+    [anon_sym_SEMI] = ACTIONS(1286),
+    [anon_sym___extension__] = ACTIONS(1284),
+    [anon_sym_typedef] = ACTIONS(1284),
+    [anon_sym_extern] = ACTIONS(1284),
+    [anon_sym___attribute__] = ACTIONS(1284),
+    [anon_sym___attribute] = ACTIONS(1284),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1286),
+    [anon_sym___declspec] = ACTIONS(1284),
+    [anon_sym___cdecl] = ACTIONS(1284),
+    [anon_sym___clrcall] = ACTIONS(1284),
+    [anon_sym___stdcall] = ACTIONS(1284),
+    [anon_sym___fastcall] = ACTIONS(1284),
+    [anon_sym___thiscall] = ACTIONS(1284),
+    [anon_sym___vectorcall] = ACTIONS(1284),
+    [anon_sym_LBRACE] = ACTIONS(1286),
+    [anon_sym_RBRACE] = ACTIONS(1286),
+    [anon_sym_signed] = ACTIONS(1284),
+    [anon_sym_unsigned] = ACTIONS(1284),
+    [anon_sym_long] = ACTIONS(1284),
+    [anon_sym_short] = ACTIONS(1284),
+    [anon_sym_static] = ACTIONS(1284),
+    [anon_sym_auto] = ACTIONS(1284),
+    [anon_sym_register] = ACTIONS(1284),
+    [anon_sym_inline] = ACTIONS(1284),
+    [anon_sym___inline] = ACTIONS(1284),
+    [anon_sym___inline__] = ACTIONS(1284),
+    [anon_sym___forceinline] = ACTIONS(1284),
+    [anon_sym_thread_local] = ACTIONS(1284),
+    [anon_sym___thread] = ACTIONS(1284),
+    [anon_sym_const] = ACTIONS(1284),
+    [anon_sym_constexpr] = ACTIONS(1284),
+    [anon_sym_volatile] = ACTIONS(1284),
+    [anon_sym_restrict] = ACTIONS(1284),
+    [anon_sym___restrict__] = ACTIONS(1284),
+    [anon_sym__Atomic] = ACTIONS(1284),
+    [anon_sym__Noreturn] = ACTIONS(1284),
+    [anon_sym_noreturn] = ACTIONS(1284),
+    [anon_sym__Nonnull] = ACTIONS(1284),
+    [anon_sym_alignas] = ACTIONS(1284),
+    [anon_sym__Alignas] = ACTIONS(1284),
+    [sym_primitive_type] = ACTIONS(1284),
+    [anon_sym_enum] = ACTIONS(1284),
+    [anon_sym_struct] = ACTIONS(1284),
+    [anon_sym_union] = ACTIONS(1284),
+    [anon_sym_if] = ACTIONS(1284),
+    [anon_sym_switch] = ACTIONS(1284),
+    [anon_sym_case] = ACTIONS(1284),
+    [anon_sym_default] = ACTIONS(1284),
+    [anon_sym_while] = ACTIONS(1284),
+    [anon_sym_do] = ACTIONS(1284),
+    [anon_sym_for] = ACTIONS(1284),
+    [anon_sym_return] = ACTIONS(1284),
+    [anon_sym_break] = ACTIONS(1284),
+    [anon_sym_continue] = ACTIONS(1284),
+    [anon_sym_goto] = ACTIONS(1284),
+    [anon_sym___try] = ACTIONS(1284),
+    [anon_sym___leave] = ACTIONS(1284),
+    [anon_sym_DASH_DASH] = ACTIONS(1286),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1286),
+    [anon_sym_sizeof] = ACTIONS(1284),
+    [anon_sym___alignof__] = ACTIONS(1284),
+    [anon_sym___alignof] = ACTIONS(1284),
+    [anon_sym__alignof] = ACTIONS(1284),
+    [anon_sym_alignof] = ACTIONS(1284),
+    [anon_sym__Alignof] = ACTIONS(1284),
+    [anon_sym_offsetof] = ACTIONS(1284),
+    [anon_sym__Generic] = ACTIONS(1284),
+    [anon_sym_asm] = ACTIONS(1284),
+    [anon_sym___asm__] = ACTIONS(1284),
+    [anon_sym___asm] = ACTIONS(1284),
+    [sym_number_literal] = ACTIONS(1286),
+    [anon_sym_L_SQUOTE] = ACTIONS(1286),
+    [anon_sym_u_SQUOTE] = ACTIONS(1286),
+    [anon_sym_U_SQUOTE] = ACTIONS(1286),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1286),
+    [anon_sym_SQUOTE] = ACTIONS(1286),
+    [anon_sym_L_DQUOTE] = ACTIONS(1286),
+    [anon_sym_u_DQUOTE] = ACTIONS(1286),
+    [anon_sym_U_DQUOTE] = ACTIONS(1286),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1286),
+    [anon_sym_DQUOTE] = ACTIONS(1286),
+    [sym_true] = ACTIONS(1284),
+    [sym_false] = ACTIONS(1284),
+    [anon_sym_NULL] = ACTIONS(1284),
+    [anon_sym_nullptr] = ACTIONS(1284),
     [sym_comment] = ACTIONS(3),
   },
   [285] = {
-    [sym_identifier] = ACTIONS(1337),
-    [aux_sym_preproc_include_token1] = ACTIONS(1337),
-    [aux_sym_preproc_def_token1] = ACTIONS(1337),
-    [aux_sym_preproc_if_token1] = ACTIONS(1337),
-    [aux_sym_preproc_if_token2] = ACTIONS(1337),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1337),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1337),
-    [sym_preproc_directive] = ACTIONS(1337),
-    [anon_sym_LPAREN2] = ACTIONS(1339),
-    [anon_sym_BANG] = ACTIONS(1339),
-    [anon_sym_TILDE] = ACTIONS(1339),
-    [anon_sym_DASH] = ACTIONS(1337),
-    [anon_sym_PLUS] = ACTIONS(1337),
-    [anon_sym_STAR] = ACTIONS(1339),
-    [anon_sym_AMP] = ACTIONS(1339),
-    [anon_sym_SEMI] = ACTIONS(1339),
-    [anon_sym___extension__] = ACTIONS(1337),
-    [anon_sym_typedef] = ACTIONS(1337),
-    [anon_sym_extern] = ACTIONS(1337),
-    [anon_sym___attribute__] = ACTIONS(1337),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1339),
-    [anon_sym___declspec] = ACTIONS(1337),
-    [anon_sym___cdecl] = ACTIONS(1337),
-    [anon_sym___clrcall] = ACTIONS(1337),
-    [anon_sym___stdcall] = ACTIONS(1337),
-    [anon_sym___fastcall] = ACTIONS(1337),
-    [anon_sym___thiscall] = ACTIONS(1337),
-    [anon_sym___vectorcall] = ACTIONS(1337),
-    [anon_sym_LBRACE] = ACTIONS(1339),
-    [anon_sym_signed] = ACTIONS(1337),
-    [anon_sym_unsigned] = ACTIONS(1337),
-    [anon_sym_long] = ACTIONS(1337),
-    [anon_sym_short] = ACTIONS(1337),
-    [anon_sym_static] = ACTIONS(1337),
-    [anon_sym_auto] = ACTIONS(1337),
-    [anon_sym_register] = ACTIONS(1337),
-    [anon_sym_inline] = ACTIONS(1337),
-    [anon_sym___inline] = ACTIONS(1337),
-    [anon_sym___inline__] = ACTIONS(1337),
-    [anon_sym___forceinline] = ACTIONS(1337),
-    [anon_sym_thread_local] = ACTIONS(1337),
-    [anon_sym___thread] = ACTIONS(1337),
-    [anon_sym_const] = ACTIONS(1337),
-    [anon_sym_constexpr] = ACTIONS(1337),
-    [anon_sym_volatile] = ACTIONS(1337),
-    [anon_sym_restrict] = ACTIONS(1337),
-    [anon_sym___restrict__] = ACTIONS(1337),
-    [anon_sym__Atomic] = ACTIONS(1337),
-    [anon_sym__Noreturn] = ACTIONS(1337),
-    [anon_sym_noreturn] = ACTIONS(1337),
-    [anon_sym__Nonnull] = ACTIONS(1337),
-    [anon_sym_alignas] = ACTIONS(1337),
-    [anon_sym__Alignas] = ACTIONS(1337),
-    [sym_primitive_type] = ACTIONS(1337),
-    [anon_sym_enum] = ACTIONS(1337),
-    [anon_sym_struct] = ACTIONS(1337),
-    [anon_sym_union] = ACTIONS(1337),
-    [anon_sym_if] = ACTIONS(1337),
-    [anon_sym_switch] = ACTIONS(1337),
-    [anon_sym_case] = ACTIONS(1337),
-    [anon_sym_default] = ACTIONS(1337),
-    [anon_sym_while] = ACTIONS(1337),
-    [anon_sym_do] = ACTIONS(1337),
-    [anon_sym_for] = ACTIONS(1337),
-    [anon_sym_return] = ACTIONS(1337),
-    [anon_sym_break] = ACTIONS(1337),
-    [anon_sym_continue] = ACTIONS(1337),
-    [anon_sym_goto] = ACTIONS(1337),
-    [anon_sym___try] = ACTIONS(1337),
-    [anon_sym___leave] = ACTIONS(1337),
-    [anon_sym_DASH_DASH] = ACTIONS(1339),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1339),
-    [anon_sym_sizeof] = ACTIONS(1337),
-    [anon_sym___alignof__] = ACTIONS(1337),
-    [anon_sym___alignof] = ACTIONS(1337),
-    [anon_sym__alignof] = ACTIONS(1337),
-    [anon_sym_alignof] = ACTIONS(1337),
-    [anon_sym__Alignof] = ACTIONS(1337),
-    [anon_sym_offsetof] = ACTIONS(1337),
-    [anon_sym__Generic] = ACTIONS(1337),
-    [anon_sym_asm] = ACTIONS(1337),
-    [anon_sym___asm__] = ACTIONS(1337),
-    [anon_sym___asm] = ACTIONS(1337),
-    [sym_number_literal] = ACTIONS(1339),
-    [anon_sym_L_SQUOTE] = ACTIONS(1339),
-    [anon_sym_u_SQUOTE] = ACTIONS(1339),
-    [anon_sym_U_SQUOTE] = ACTIONS(1339),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1339),
-    [anon_sym_SQUOTE] = ACTIONS(1339),
-    [anon_sym_L_DQUOTE] = ACTIONS(1339),
-    [anon_sym_u_DQUOTE] = ACTIONS(1339),
-    [anon_sym_U_DQUOTE] = ACTIONS(1339),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1339),
-    [anon_sym_DQUOTE] = ACTIONS(1339),
-    [sym_true] = ACTIONS(1337),
-    [sym_false] = ACTIONS(1337),
-    [anon_sym_NULL] = ACTIONS(1337),
-    [anon_sym_nullptr] = ACTIONS(1337),
+    [ts_builtin_sym_end] = ACTIONS(1314),
+    [sym_identifier] = ACTIONS(1312),
+    [aux_sym_preproc_include_token1] = ACTIONS(1312),
+    [aux_sym_preproc_def_token1] = ACTIONS(1312),
+    [anon_sym_COMMA] = ACTIONS(1314),
+    [aux_sym_preproc_if_token1] = ACTIONS(1312),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1312),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1312),
+    [sym_preproc_directive] = ACTIONS(1312),
+    [anon_sym_LPAREN2] = ACTIONS(1314),
+    [anon_sym_BANG] = ACTIONS(1314),
+    [anon_sym_TILDE] = ACTIONS(1314),
+    [anon_sym_DASH] = ACTIONS(1312),
+    [anon_sym_PLUS] = ACTIONS(1312),
+    [anon_sym_STAR] = ACTIONS(1314),
+    [anon_sym_AMP] = ACTIONS(1314),
+    [anon_sym_SEMI] = ACTIONS(1314),
+    [anon_sym___extension__] = ACTIONS(1312),
+    [anon_sym_typedef] = ACTIONS(1312),
+    [anon_sym_extern] = ACTIONS(1312),
+    [anon_sym___attribute__] = ACTIONS(1312),
+    [anon_sym___attribute] = ACTIONS(1312),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1314),
+    [anon_sym___declspec] = ACTIONS(1312),
+    [anon_sym___cdecl] = ACTIONS(1312),
+    [anon_sym___clrcall] = ACTIONS(1312),
+    [anon_sym___stdcall] = ACTIONS(1312),
+    [anon_sym___fastcall] = ACTIONS(1312),
+    [anon_sym___thiscall] = ACTIONS(1312),
+    [anon_sym___vectorcall] = ACTIONS(1312),
+    [anon_sym_LBRACE] = ACTIONS(1314),
+    [anon_sym_RBRACE] = ACTIONS(1314),
+    [anon_sym_signed] = ACTIONS(1312),
+    [anon_sym_unsigned] = ACTIONS(1312),
+    [anon_sym_long] = ACTIONS(1312),
+    [anon_sym_short] = ACTIONS(1312),
+    [anon_sym_static] = ACTIONS(1312),
+    [anon_sym_auto] = ACTIONS(1312),
+    [anon_sym_register] = ACTIONS(1312),
+    [anon_sym_inline] = ACTIONS(1312),
+    [anon_sym___inline] = ACTIONS(1312),
+    [anon_sym___inline__] = ACTIONS(1312),
+    [anon_sym___forceinline] = ACTIONS(1312),
+    [anon_sym_thread_local] = ACTIONS(1312),
+    [anon_sym___thread] = ACTIONS(1312),
+    [anon_sym_const] = ACTIONS(1312),
+    [anon_sym_constexpr] = ACTIONS(1312),
+    [anon_sym_volatile] = ACTIONS(1312),
+    [anon_sym_restrict] = ACTIONS(1312),
+    [anon_sym___restrict__] = ACTIONS(1312),
+    [anon_sym__Atomic] = ACTIONS(1312),
+    [anon_sym__Noreturn] = ACTIONS(1312),
+    [anon_sym_noreturn] = ACTIONS(1312),
+    [anon_sym__Nonnull] = ACTIONS(1312),
+    [anon_sym_alignas] = ACTIONS(1312),
+    [anon_sym__Alignas] = ACTIONS(1312),
+    [sym_primitive_type] = ACTIONS(1312),
+    [anon_sym_enum] = ACTIONS(1312),
+    [anon_sym_struct] = ACTIONS(1312),
+    [anon_sym_union] = ACTIONS(1312),
+    [anon_sym_if] = ACTIONS(1312),
+    [anon_sym_switch] = ACTIONS(1312),
+    [anon_sym_case] = ACTIONS(1312),
+    [anon_sym_default] = ACTIONS(1312),
+    [anon_sym_while] = ACTIONS(1312),
+    [anon_sym_do] = ACTIONS(1312),
+    [anon_sym_for] = ACTIONS(1312),
+    [anon_sym_return] = ACTIONS(1312),
+    [anon_sym_break] = ACTIONS(1312),
+    [anon_sym_continue] = ACTIONS(1312),
+    [anon_sym_goto] = ACTIONS(1312),
+    [anon_sym_DASH_DASH] = ACTIONS(1314),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1314),
+    [anon_sym_sizeof] = ACTIONS(1312),
+    [anon_sym___alignof__] = ACTIONS(1312),
+    [anon_sym___alignof] = ACTIONS(1312),
+    [anon_sym__alignof] = ACTIONS(1312),
+    [anon_sym_alignof] = ACTIONS(1312),
+    [anon_sym__Alignof] = ACTIONS(1312),
+    [anon_sym_offsetof] = ACTIONS(1312),
+    [anon_sym__Generic] = ACTIONS(1312),
+    [anon_sym_asm] = ACTIONS(1312),
+    [anon_sym___asm__] = ACTIONS(1312),
+    [anon_sym___asm] = ACTIONS(1312),
+    [sym_number_literal] = ACTIONS(1314),
+    [anon_sym_L_SQUOTE] = ACTIONS(1314),
+    [anon_sym_u_SQUOTE] = ACTIONS(1314),
+    [anon_sym_U_SQUOTE] = ACTIONS(1314),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1314),
+    [anon_sym_SQUOTE] = ACTIONS(1314),
+    [anon_sym_L_DQUOTE] = ACTIONS(1314),
+    [anon_sym_u_DQUOTE] = ACTIONS(1314),
+    [anon_sym_U_DQUOTE] = ACTIONS(1314),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1314),
+    [anon_sym_DQUOTE] = ACTIONS(1314),
+    [sym_true] = ACTIONS(1312),
+    [sym_false] = ACTIONS(1312),
+    [anon_sym_NULL] = ACTIONS(1312),
+    [anon_sym_nullptr] = ACTIONS(1312),
     [sym_comment] = ACTIONS(3),
   },
   [286] = {
-    [sym_identifier] = ACTIONS(1305),
-    [aux_sym_preproc_include_token1] = ACTIONS(1305),
-    [aux_sym_preproc_def_token1] = ACTIONS(1305),
-    [aux_sym_preproc_if_token1] = ACTIONS(1305),
-    [aux_sym_preproc_if_token2] = ACTIONS(1305),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1305),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1305),
-    [sym_preproc_directive] = ACTIONS(1305),
-    [anon_sym_LPAREN2] = ACTIONS(1307),
-    [anon_sym_BANG] = ACTIONS(1307),
-    [anon_sym_TILDE] = ACTIONS(1307),
-    [anon_sym_DASH] = ACTIONS(1305),
-    [anon_sym_PLUS] = ACTIONS(1305),
-    [anon_sym_STAR] = ACTIONS(1307),
-    [anon_sym_AMP] = ACTIONS(1307),
-    [anon_sym_SEMI] = ACTIONS(1307),
-    [anon_sym___extension__] = ACTIONS(1305),
-    [anon_sym_typedef] = ACTIONS(1305),
-    [anon_sym_extern] = ACTIONS(1305),
-    [anon_sym___attribute__] = ACTIONS(1305),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1307),
-    [anon_sym___declspec] = ACTIONS(1305),
-    [anon_sym___cdecl] = ACTIONS(1305),
-    [anon_sym___clrcall] = ACTIONS(1305),
-    [anon_sym___stdcall] = ACTIONS(1305),
-    [anon_sym___fastcall] = ACTIONS(1305),
-    [anon_sym___thiscall] = ACTIONS(1305),
-    [anon_sym___vectorcall] = ACTIONS(1305),
-    [anon_sym_LBRACE] = ACTIONS(1307),
-    [anon_sym_signed] = ACTIONS(1305),
-    [anon_sym_unsigned] = ACTIONS(1305),
-    [anon_sym_long] = ACTIONS(1305),
-    [anon_sym_short] = ACTIONS(1305),
-    [anon_sym_static] = ACTIONS(1305),
-    [anon_sym_auto] = ACTIONS(1305),
-    [anon_sym_register] = ACTIONS(1305),
-    [anon_sym_inline] = ACTIONS(1305),
-    [anon_sym___inline] = ACTIONS(1305),
-    [anon_sym___inline__] = ACTIONS(1305),
-    [anon_sym___forceinline] = ACTIONS(1305),
-    [anon_sym_thread_local] = ACTIONS(1305),
-    [anon_sym___thread] = ACTIONS(1305),
-    [anon_sym_const] = ACTIONS(1305),
-    [anon_sym_constexpr] = ACTIONS(1305),
-    [anon_sym_volatile] = ACTIONS(1305),
-    [anon_sym_restrict] = ACTIONS(1305),
-    [anon_sym___restrict__] = ACTIONS(1305),
-    [anon_sym__Atomic] = ACTIONS(1305),
-    [anon_sym__Noreturn] = ACTIONS(1305),
-    [anon_sym_noreturn] = ACTIONS(1305),
-    [anon_sym__Nonnull] = ACTIONS(1305),
-    [anon_sym_alignas] = ACTIONS(1305),
-    [anon_sym__Alignas] = ACTIONS(1305),
-    [sym_primitive_type] = ACTIONS(1305),
-    [anon_sym_enum] = ACTIONS(1305),
-    [anon_sym_struct] = ACTIONS(1305),
-    [anon_sym_union] = ACTIONS(1305),
-    [anon_sym_if] = ACTIONS(1305),
-    [anon_sym_switch] = ACTIONS(1305),
-    [anon_sym_case] = ACTIONS(1305),
-    [anon_sym_default] = ACTIONS(1305),
-    [anon_sym_while] = ACTIONS(1305),
-    [anon_sym_do] = ACTIONS(1305),
-    [anon_sym_for] = ACTIONS(1305),
-    [anon_sym_return] = ACTIONS(1305),
-    [anon_sym_break] = ACTIONS(1305),
-    [anon_sym_continue] = ACTIONS(1305),
-    [anon_sym_goto] = ACTIONS(1305),
-    [anon_sym___try] = ACTIONS(1305),
-    [anon_sym___leave] = ACTIONS(1305),
-    [anon_sym_DASH_DASH] = ACTIONS(1307),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1307),
-    [anon_sym_sizeof] = ACTIONS(1305),
-    [anon_sym___alignof__] = ACTIONS(1305),
-    [anon_sym___alignof] = ACTIONS(1305),
-    [anon_sym__alignof] = ACTIONS(1305),
-    [anon_sym_alignof] = ACTIONS(1305),
-    [anon_sym__Alignof] = ACTIONS(1305),
-    [anon_sym_offsetof] = ACTIONS(1305),
-    [anon_sym__Generic] = ACTIONS(1305),
-    [anon_sym_asm] = ACTIONS(1305),
-    [anon_sym___asm__] = ACTIONS(1305),
-    [anon_sym___asm] = ACTIONS(1305),
-    [sym_number_literal] = ACTIONS(1307),
-    [anon_sym_L_SQUOTE] = ACTIONS(1307),
-    [anon_sym_u_SQUOTE] = ACTIONS(1307),
-    [anon_sym_U_SQUOTE] = ACTIONS(1307),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1307),
-    [anon_sym_SQUOTE] = ACTIONS(1307),
-    [anon_sym_L_DQUOTE] = ACTIONS(1307),
-    [anon_sym_u_DQUOTE] = ACTIONS(1307),
-    [anon_sym_U_DQUOTE] = ACTIONS(1307),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1307),
-    [anon_sym_DQUOTE] = ACTIONS(1307),
-    [sym_true] = ACTIONS(1305),
-    [sym_false] = ACTIONS(1305),
-    [anon_sym_NULL] = ACTIONS(1305),
-    [anon_sym_nullptr] = ACTIONS(1305),
+    [sym_identifier] = ACTIONS(1304),
+    [aux_sym_preproc_include_token1] = ACTIONS(1304),
+    [aux_sym_preproc_def_token1] = ACTIONS(1304),
+    [aux_sym_preproc_if_token1] = ACTIONS(1304),
+    [aux_sym_preproc_if_token2] = ACTIONS(1304),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1304),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1304),
+    [sym_preproc_directive] = ACTIONS(1304),
+    [anon_sym_LPAREN2] = ACTIONS(1306),
+    [anon_sym_BANG] = ACTIONS(1306),
+    [anon_sym_TILDE] = ACTIONS(1306),
+    [anon_sym_DASH] = ACTIONS(1304),
+    [anon_sym_PLUS] = ACTIONS(1304),
+    [anon_sym_STAR] = ACTIONS(1306),
+    [anon_sym_AMP] = ACTIONS(1306),
+    [anon_sym_SEMI] = ACTIONS(1306),
+    [anon_sym___extension__] = ACTIONS(1304),
+    [anon_sym_typedef] = ACTIONS(1304),
+    [anon_sym_extern] = ACTIONS(1304),
+    [anon_sym___attribute__] = ACTIONS(1304),
+    [anon_sym___attribute] = ACTIONS(1304),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1306),
+    [anon_sym___declspec] = ACTIONS(1304),
+    [anon_sym___cdecl] = ACTIONS(1304),
+    [anon_sym___clrcall] = ACTIONS(1304),
+    [anon_sym___stdcall] = ACTIONS(1304),
+    [anon_sym___fastcall] = ACTIONS(1304),
+    [anon_sym___thiscall] = ACTIONS(1304),
+    [anon_sym___vectorcall] = ACTIONS(1304),
+    [anon_sym_LBRACE] = ACTIONS(1306),
+    [anon_sym_signed] = ACTIONS(1304),
+    [anon_sym_unsigned] = ACTIONS(1304),
+    [anon_sym_long] = ACTIONS(1304),
+    [anon_sym_short] = ACTIONS(1304),
+    [anon_sym_static] = ACTIONS(1304),
+    [anon_sym_auto] = ACTIONS(1304),
+    [anon_sym_register] = ACTIONS(1304),
+    [anon_sym_inline] = ACTIONS(1304),
+    [anon_sym___inline] = ACTIONS(1304),
+    [anon_sym___inline__] = ACTIONS(1304),
+    [anon_sym___forceinline] = ACTIONS(1304),
+    [anon_sym_thread_local] = ACTIONS(1304),
+    [anon_sym___thread] = ACTIONS(1304),
+    [anon_sym_const] = ACTIONS(1304),
+    [anon_sym_constexpr] = ACTIONS(1304),
+    [anon_sym_volatile] = ACTIONS(1304),
+    [anon_sym_restrict] = ACTIONS(1304),
+    [anon_sym___restrict__] = ACTIONS(1304),
+    [anon_sym__Atomic] = ACTIONS(1304),
+    [anon_sym__Noreturn] = ACTIONS(1304),
+    [anon_sym_noreturn] = ACTIONS(1304),
+    [anon_sym__Nonnull] = ACTIONS(1304),
+    [anon_sym_alignas] = ACTIONS(1304),
+    [anon_sym__Alignas] = ACTIONS(1304),
+    [sym_primitive_type] = ACTIONS(1304),
+    [anon_sym_enum] = ACTIONS(1304),
+    [anon_sym_struct] = ACTIONS(1304),
+    [anon_sym_union] = ACTIONS(1304),
+    [anon_sym_if] = ACTIONS(1304),
+    [anon_sym_switch] = ACTIONS(1304),
+    [anon_sym_case] = ACTIONS(1304),
+    [anon_sym_default] = ACTIONS(1304),
+    [anon_sym_while] = ACTIONS(1304),
+    [anon_sym_do] = ACTIONS(1304),
+    [anon_sym_for] = ACTIONS(1304),
+    [anon_sym_return] = ACTIONS(1304),
+    [anon_sym_break] = ACTIONS(1304),
+    [anon_sym_continue] = ACTIONS(1304),
+    [anon_sym_goto] = ACTIONS(1304),
+    [anon_sym___try] = ACTIONS(1304),
+    [anon_sym___leave] = ACTIONS(1304),
+    [anon_sym_DASH_DASH] = ACTIONS(1306),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1306),
+    [anon_sym_sizeof] = ACTIONS(1304),
+    [anon_sym___alignof__] = ACTIONS(1304),
+    [anon_sym___alignof] = ACTIONS(1304),
+    [anon_sym__alignof] = ACTIONS(1304),
+    [anon_sym_alignof] = ACTIONS(1304),
+    [anon_sym__Alignof] = ACTIONS(1304),
+    [anon_sym_offsetof] = ACTIONS(1304),
+    [anon_sym__Generic] = ACTIONS(1304),
+    [anon_sym_asm] = ACTIONS(1304),
+    [anon_sym___asm__] = ACTIONS(1304),
+    [anon_sym___asm] = ACTIONS(1304),
+    [sym_number_literal] = ACTIONS(1306),
+    [anon_sym_L_SQUOTE] = ACTIONS(1306),
+    [anon_sym_u_SQUOTE] = ACTIONS(1306),
+    [anon_sym_U_SQUOTE] = ACTIONS(1306),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1306),
+    [anon_sym_SQUOTE] = ACTIONS(1306),
+    [anon_sym_L_DQUOTE] = ACTIONS(1306),
+    [anon_sym_u_DQUOTE] = ACTIONS(1306),
+    [anon_sym_U_DQUOTE] = ACTIONS(1306),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1306),
+    [anon_sym_DQUOTE] = ACTIONS(1306),
+    [sym_true] = ACTIONS(1304),
+    [sym_false] = ACTIONS(1304),
+    [anon_sym_NULL] = ACTIONS(1304),
+    [anon_sym_nullptr] = ACTIONS(1304),
     [sym_comment] = ACTIONS(3),
   },
   [287] = {
-    [sym_identifier] = ACTIONS(1329),
-    [aux_sym_preproc_include_token1] = ACTIONS(1329),
-    [aux_sym_preproc_def_token1] = ACTIONS(1329),
-    [aux_sym_preproc_if_token1] = ACTIONS(1329),
-    [aux_sym_preproc_if_token2] = ACTIONS(1329),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1329),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1329),
-    [sym_preproc_directive] = ACTIONS(1329),
-    [anon_sym_LPAREN2] = ACTIONS(1331),
-    [anon_sym_BANG] = ACTIONS(1331),
-    [anon_sym_TILDE] = ACTIONS(1331),
-    [anon_sym_DASH] = ACTIONS(1329),
-    [anon_sym_PLUS] = ACTIONS(1329),
-    [anon_sym_STAR] = ACTIONS(1331),
-    [anon_sym_AMP] = ACTIONS(1331),
-    [anon_sym_SEMI] = ACTIONS(1331),
-    [anon_sym___extension__] = ACTIONS(1329),
-    [anon_sym_typedef] = ACTIONS(1329),
-    [anon_sym_extern] = ACTIONS(1329),
-    [anon_sym___attribute__] = ACTIONS(1329),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1331),
-    [anon_sym___declspec] = ACTIONS(1329),
-    [anon_sym___cdecl] = ACTIONS(1329),
-    [anon_sym___clrcall] = ACTIONS(1329),
-    [anon_sym___stdcall] = ACTIONS(1329),
-    [anon_sym___fastcall] = ACTIONS(1329),
-    [anon_sym___thiscall] = ACTIONS(1329),
-    [anon_sym___vectorcall] = ACTIONS(1329),
-    [anon_sym_LBRACE] = ACTIONS(1331),
-    [anon_sym_signed] = ACTIONS(1329),
-    [anon_sym_unsigned] = ACTIONS(1329),
-    [anon_sym_long] = ACTIONS(1329),
-    [anon_sym_short] = ACTIONS(1329),
-    [anon_sym_static] = ACTIONS(1329),
-    [anon_sym_auto] = ACTIONS(1329),
-    [anon_sym_register] = ACTIONS(1329),
-    [anon_sym_inline] = ACTIONS(1329),
-    [anon_sym___inline] = ACTIONS(1329),
-    [anon_sym___inline__] = ACTIONS(1329),
-    [anon_sym___forceinline] = ACTIONS(1329),
-    [anon_sym_thread_local] = ACTIONS(1329),
-    [anon_sym___thread] = ACTIONS(1329),
-    [anon_sym_const] = ACTIONS(1329),
-    [anon_sym_constexpr] = ACTIONS(1329),
-    [anon_sym_volatile] = ACTIONS(1329),
-    [anon_sym_restrict] = ACTIONS(1329),
-    [anon_sym___restrict__] = ACTIONS(1329),
-    [anon_sym__Atomic] = ACTIONS(1329),
-    [anon_sym__Noreturn] = ACTIONS(1329),
-    [anon_sym_noreturn] = ACTIONS(1329),
-    [anon_sym__Nonnull] = ACTIONS(1329),
-    [anon_sym_alignas] = ACTIONS(1329),
-    [anon_sym__Alignas] = ACTIONS(1329),
-    [sym_primitive_type] = ACTIONS(1329),
-    [anon_sym_enum] = ACTIONS(1329),
-    [anon_sym_struct] = ACTIONS(1329),
-    [anon_sym_union] = ACTIONS(1329),
-    [anon_sym_if] = ACTIONS(1329),
-    [anon_sym_switch] = ACTIONS(1329),
-    [anon_sym_case] = ACTIONS(1329),
-    [anon_sym_default] = ACTIONS(1329),
-    [anon_sym_while] = ACTIONS(1329),
-    [anon_sym_do] = ACTIONS(1329),
-    [anon_sym_for] = ACTIONS(1329),
-    [anon_sym_return] = ACTIONS(1329),
-    [anon_sym_break] = ACTIONS(1329),
-    [anon_sym_continue] = ACTIONS(1329),
-    [anon_sym_goto] = ACTIONS(1329),
-    [anon_sym___try] = ACTIONS(1329),
-    [anon_sym___leave] = ACTIONS(1329),
-    [anon_sym_DASH_DASH] = ACTIONS(1331),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1331),
-    [anon_sym_sizeof] = ACTIONS(1329),
-    [anon_sym___alignof__] = ACTIONS(1329),
-    [anon_sym___alignof] = ACTIONS(1329),
-    [anon_sym__alignof] = ACTIONS(1329),
-    [anon_sym_alignof] = ACTIONS(1329),
-    [anon_sym__Alignof] = ACTIONS(1329),
-    [anon_sym_offsetof] = ACTIONS(1329),
-    [anon_sym__Generic] = ACTIONS(1329),
-    [anon_sym_asm] = ACTIONS(1329),
-    [anon_sym___asm__] = ACTIONS(1329),
-    [anon_sym___asm] = ACTIONS(1329),
-    [sym_number_literal] = ACTIONS(1331),
-    [anon_sym_L_SQUOTE] = ACTIONS(1331),
-    [anon_sym_u_SQUOTE] = ACTIONS(1331),
-    [anon_sym_U_SQUOTE] = ACTIONS(1331),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1331),
-    [anon_sym_SQUOTE] = ACTIONS(1331),
-    [anon_sym_L_DQUOTE] = ACTIONS(1331),
-    [anon_sym_u_DQUOTE] = ACTIONS(1331),
-    [anon_sym_U_DQUOTE] = ACTIONS(1331),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1331),
-    [anon_sym_DQUOTE] = ACTIONS(1331),
-    [sym_true] = ACTIONS(1329),
-    [sym_false] = ACTIONS(1329),
-    [anon_sym_NULL] = ACTIONS(1329),
-    [anon_sym_nullptr] = ACTIONS(1329),
+    [sym_identifier] = ACTIONS(1262),
+    [aux_sym_preproc_include_token1] = ACTIONS(1262),
+    [aux_sym_preproc_def_token1] = ACTIONS(1262),
+    [aux_sym_preproc_if_token1] = ACTIONS(1262),
+    [aux_sym_preproc_if_token2] = ACTIONS(1262),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1262),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1262),
+    [sym_preproc_directive] = ACTIONS(1262),
+    [anon_sym_LPAREN2] = ACTIONS(1265),
+    [anon_sym_BANG] = ACTIONS(1265),
+    [anon_sym_TILDE] = ACTIONS(1265),
+    [anon_sym_DASH] = ACTIONS(1262),
+    [anon_sym_PLUS] = ACTIONS(1262),
+    [anon_sym_STAR] = ACTIONS(1265),
+    [anon_sym_AMP] = ACTIONS(1265),
+    [anon_sym_SEMI] = ACTIONS(1265),
+    [anon_sym___extension__] = ACTIONS(1262),
+    [anon_sym_typedef] = ACTIONS(1262),
+    [anon_sym_extern] = ACTIONS(1262),
+    [anon_sym___attribute__] = ACTIONS(1262),
+    [anon_sym___attribute] = ACTIONS(1262),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1265),
+    [anon_sym___declspec] = ACTIONS(1262),
+    [anon_sym___cdecl] = ACTIONS(1262),
+    [anon_sym___clrcall] = ACTIONS(1262),
+    [anon_sym___stdcall] = ACTIONS(1262),
+    [anon_sym___fastcall] = ACTIONS(1262),
+    [anon_sym___thiscall] = ACTIONS(1262),
+    [anon_sym___vectorcall] = ACTIONS(1262),
+    [anon_sym_LBRACE] = ACTIONS(1265),
+    [anon_sym_signed] = ACTIONS(1262),
+    [anon_sym_unsigned] = ACTIONS(1262),
+    [anon_sym_long] = ACTIONS(1262),
+    [anon_sym_short] = ACTIONS(1262),
+    [anon_sym_static] = ACTIONS(1262),
+    [anon_sym_auto] = ACTIONS(1262),
+    [anon_sym_register] = ACTIONS(1262),
+    [anon_sym_inline] = ACTIONS(1262),
+    [anon_sym___inline] = ACTIONS(1262),
+    [anon_sym___inline__] = ACTIONS(1262),
+    [anon_sym___forceinline] = ACTIONS(1262),
+    [anon_sym_thread_local] = ACTIONS(1262),
+    [anon_sym___thread] = ACTIONS(1262),
+    [anon_sym_const] = ACTIONS(1262),
+    [anon_sym_constexpr] = ACTIONS(1262),
+    [anon_sym_volatile] = ACTIONS(1262),
+    [anon_sym_restrict] = ACTIONS(1262),
+    [anon_sym___restrict__] = ACTIONS(1262),
+    [anon_sym__Atomic] = ACTIONS(1262),
+    [anon_sym__Noreturn] = ACTIONS(1262),
+    [anon_sym_noreturn] = ACTIONS(1262),
+    [anon_sym__Nonnull] = ACTIONS(1262),
+    [anon_sym_alignas] = ACTIONS(1262),
+    [anon_sym__Alignas] = ACTIONS(1262),
+    [sym_primitive_type] = ACTIONS(1262),
+    [anon_sym_enum] = ACTIONS(1262),
+    [anon_sym_struct] = ACTIONS(1262),
+    [anon_sym_union] = ACTIONS(1262),
+    [anon_sym_if] = ACTIONS(1262),
+    [anon_sym_switch] = ACTIONS(1262),
+    [anon_sym_case] = ACTIONS(1262),
+    [anon_sym_default] = ACTIONS(1262),
+    [anon_sym_while] = ACTIONS(1262),
+    [anon_sym_do] = ACTIONS(1262),
+    [anon_sym_for] = ACTIONS(1262),
+    [anon_sym_return] = ACTIONS(1262),
+    [anon_sym_break] = ACTIONS(1262),
+    [anon_sym_continue] = ACTIONS(1262),
+    [anon_sym_goto] = ACTIONS(1262),
+    [anon_sym___try] = ACTIONS(1262),
+    [anon_sym___leave] = ACTIONS(1262),
+    [anon_sym_DASH_DASH] = ACTIONS(1265),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1265),
+    [anon_sym_sizeof] = ACTIONS(1262),
+    [anon_sym___alignof__] = ACTIONS(1262),
+    [anon_sym___alignof] = ACTIONS(1262),
+    [anon_sym__alignof] = ACTIONS(1262),
+    [anon_sym_alignof] = ACTIONS(1262),
+    [anon_sym__Alignof] = ACTIONS(1262),
+    [anon_sym_offsetof] = ACTIONS(1262),
+    [anon_sym__Generic] = ACTIONS(1262),
+    [anon_sym_asm] = ACTIONS(1262),
+    [anon_sym___asm__] = ACTIONS(1262),
+    [anon_sym___asm] = ACTIONS(1262),
+    [sym_number_literal] = ACTIONS(1265),
+    [anon_sym_L_SQUOTE] = ACTIONS(1265),
+    [anon_sym_u_SQUOTE] = ACTIONS(1265),
+    [anon_sym_U_SQUOTE] = ACTIONS(1265),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1265),
+    [anon_sym_SQUOTE] = ACTIONS(1265),
+    [anon_sym_L_DQUOTE] = ACTIONS(1265),
+    [anon_sym_u_DQUOTE] = ACTIONS(1265),
+    [anon_sym_U_DQUOTE] = ACTIONS(1265),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1265),
+    [anon_sym_DQUOTE] = ACTIONS(1265),
+    [sym_true] = ACTIONS(1262),
+    [sym_false] = ACTIONS(1262),
+    [anon_sym_NULL] = ACTIONS(1262),
+    [anon_sym_nullptr] = ACTIONS(1262),
     [sym_comment] = ACTIONS(3),
   },
   [288] = {
-    [sym_identifier] = ACTIONS(1333),
-    [aux_sym_preproc_include_token1] = ACTIONS(1333),
-    [aux_sym_preproc_def_token1] = ACTIONS(1333),
-    [aux_sym_preproc_if_token1] = ACTIONS(1333),
-    [aux_sym_preproc_if_token2] = ACTIONS(1333),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1333),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1333),
-    [sym_preproc_directive] = ACTIONS(1333),
-    [anon_sym_LPAREN2] = ACTIONS(1335),
-    [anon_sym_BANG] = ACTIONS(1335),
-    [anon_sym_TILDE] = ACTIONS(1335),
-    [anon_sym_DASH] = ACTIONS(1333),
-    [anon_sym_PLUS] = ACTIONS(1333),
-    [anon_sym_STAR] = ACTIONS(1335),
-    [anon_sym_AMP] = ACTIONS(1335),
-    [anon_sym_SEMI] = ACTIONS(1335),
-    [anon_sym___extension__] = ACTIONS(1333),
-    [anon_sym_typedef] = ACTIONS(1333),
-    [anon_sym_extern] = ACTIONS(1333),
-    [anon_sym___attribute__] = ACTIONS(1333),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1335),
-    [anon_sym___declspec] = ACTIONS(1333),
-    [anon_sym___cdecl] = ACTIONS(1333),
-    [anon_sym___clrcall] = ACTIONS(1333),
-    [anon_sym___stdcall] = ACTIONS(1333),
-    [anon_sym___fastcall] = ACTIONS(1333),
-    [anon_sym___thiscall] = ACTIONS(1333),
-    [anon_sym___vectorcall] = ACTIONS(1333),
-    [anon_sym_LBRACE] = ACTIONS(1335),
-    [anon_sym_signed] = ACTIONS(1333),
-    [anon_sym_unsigned] = ACTIONS(1333),
-    [anon_sym_long] = ACTIONS(1333),
-    [anon_sym_short] = ACTIONS(1333),
-    [anon_sym_static] = ACTIONS(1333),
-    [anon_sym_auto] = ACTIONS(1333),
-    [anon_sym_register] = ACTIONS(1333),
-    [anon_sym_inline] = ACTIONS(1333),
-    [anon_sym___inline] = ACTIONS(1333),
-    [anon_sym___inline__] = ACTIONS(1333),
-    [anon_sym___forceinline] = ACTIONS(1333),
-    [anon_sym_thread_local] = ACTIONS(1333),
-    [anon_sym___thread] = ACTIONS(1333),
-    [anon_sym_const] = ACTIONS(1333),
-    [anon_sym_constexpr] = ACTIONS(1333),
-    [anon_sym_volatile] = ACTIONS(1333),
-    [anon_sym_restrict] = ACTIONS(1333),
-    [anon_sym___restrict__] = ACTIONS(1333),
-    [anon_sym__Atomic] = ACTIONS(1333),
-    [anon_sym__Noreturn] = ACTIONS(1333),
-    [anon_sym_noreturn] = ACTIONS(1333),
-    [anon_sym__Nonnull] = ACTIONS(1333),
-    [anon_sym_alignas] = ACTIONS(1333),
-    [anon_sym__Alignas] = ACTIONS(1333),
-    [sym_primitive_type] = ACTIONS(1333),
-    [anon_sym_enum] = ACTIONS(1333),
-    [anon_sym_struct] = ACTIONS(1333),
-    [anon_sym_union] = ACTIONS(1333),
-    [anon_sym_if] = ACTIONS(1333),
-    [anon_sym_switch] = ACTIONS(1333),
-    [anon_sym_case] = ACTIONS(1333),
-    [anon_sym_default] = ACTIONS(1333),
-    [anon_sym_while] = ACTIONS(1333),
-    [anon_sym_do] = ACTIONS(1333),
-    [anon_sym_for] = ACTIONS(1333),
-    [anon_sym_return] = ACTIONS(1333),
-    [anon_sym_break] = ACTIONS(1333),
-    [anon_sym_continue] = ACTIONS(1333),
-    [anon_sym_goto] = ACTIONS(1333),
-    [anon_sym___try] = ACTIONS(1333),
-    [anon_sym___leave] = ACTIONS(1333),
-    [anon_sym_DASH_DASH] = ACTIONS(1335),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1335),
-    [anon_sym_sizeof] = ACTIONS(1333),
-    [anon_sym___alignof__] = ACTIONS(1333),
-    [anon_sym___alignof] = ACTIONS(1333),
-    [anon_sym__alignof] = ACTIONS(1333),
-    [anon_sym_alignof] = ACTIONS(1333),
-    [anon_sym__Alignof] = ACTIONS(1333),
-    [anon_sym_offsetof] = ACTIONS(1333),
-    [anon_sym__Generic] = ACTIONS(1333),
-    [anon_sym_asm] = ACTIONS(1333),
-    [anon_sym___asm__] = ACTIONS(1333),
-    [anon_sym___asm] = ACTIONS(1333),
-    [sym_number_literal] = ACTIONS(1335),
-    [anon_sym_L_SQUOTE] = ACTIONS(1335),
-    [anon_sym_u_SQUOTE] = ACTIONS(1335),
-    [anon_sym_U_SQUOTE] = ACTIONS(1335),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1335),
-    [anon_sym_SQUOTE] = ACTIONS(1335),
-    [anon_sym_L_DQUOTE] = ACTIONS(1335),
-    [anon_sym_u_DQUOTE] = ACTIONS(1335),
-    [anon_sym_U_DQUOTE] = ACTIONS(1335),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1335),
-    [anon_sym_DQUOTE] = ACTIONS(1335),
-    [sym_true] = ACTIONS(1333),
-    [sym_false] = ACTIONS(1333),
-    [anon_sym_NULL] = ACTIONS(1333),
-    [anon_sym_nullptr] = ACTIONS(1333),
+    [sym_identifier] = ACTIONS(1344),
+    [aux_sym_preproc_include_token1] = ACTIONS(1344),
+    [aux_sym_preproc_def_token1] = ACTIONS(1344),
+    [aux_sym_preproc_if_token1] = ACTIONS(1344),
+    [aux_sym_preproc_if_token2] = ACTIONS(1344),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1344),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1344),
+    [sym_preproc_directive] = ACTIONS(1344),
+    [anon_sym_LPAREN2] = ACTIONS(1346),
+    [anon_sym_BANG] = ACTIONS(1346),
+    [anon_sym_TILDE] = ACTIONS(1346),
+    [anon_sym_DASH] = ACTIONS(1344),
+    [anon_sym_PLUS] = ACTIONS(1344),
+    [anon_sym_STAR] = ACTIONS(1346),
+    [anon_sym_AMP] = ACTIONS(1346),
+    [anon_sym_SEMI] = ACTIONS(1346),
+    [anon_sym___extension__] = ACTIONS(1344),
+    [anon_sym_typedef] = ACTIONS(1344),
+    [anon_sym_extern] = ACTIONS(1344),
+    [anon_sym___attribute__] = ACTIONS(1344),
+    [anon_sym___attribute] = ACTIONS(1344),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1346),
+    [anon_sym___declspec] = ACTIONS(1344),
+    [anon_sym___cdecl] = ACTIONS(1344),
+    [anon_sym___clrcall] = ACTIONS(1344),
+    [anon_sym___stdcall] = ACTIONS(1344),
+    [anon_sym___fastcall] = ACTIONS(1344),
+    [anon_sym___thiscall] = ACTIONS(1344),
+    [anon_sym___vectorcall] = ACTIONS(1344),
+    [anon_sym_LBRACE] = ACTIONS(1346),
+    [anon_sym_signed] = ACTIONS(1344),
+    [anon_sym_unsigned] = ACTIONS(1344),
+    [anon_sym_long] = ACTIONS(1344),
+    [anon_sym_short] = ACTIONS(1344),
+    [anon_sym_static] = ACTIONS(1344),
+    [anon_sym_auto] = ACTIONS(1344),
+    [anon_sym_register] = ACTIONS(1344),
+    [anon_sym_inline] = ACTIONS(1344),
+    [anon_sym___inline] = ACTIONS(1344),
+    [anon_sym___inline__] = ACTIONS(1344),
+    [anon_sym___forceinline] = ACTIONS(1344),
+    [anon_sym_thread_local] = ACTIONS(1344),
+    [anon_sym___thread] = ACTIONS(1344),
+    [anon_sym_const] = ACTIONS(1344),
+    [anon_sym_constexpr] = ACTIONS(1344),
+    [anon_sym_volatile] = ACTIONS(1344),
+    [anon_sym_restrict] = ACTIONS(1344),
+    [anon_sym___restrict__] = ACTIONS(1344),
+    [anon_sym__Atomic] = ACTIONS(1344),
+    [anon_sym__Noreturn] = ACTIONS(1344),
+    [anon_sym_noreturn] = ACTIONS(1344),
+    [anon_sym__Nonnull] = ACTIONS(1344),
+    [anon_sym_alignas] = ACTIONS(1344),
+    [anon_sym__Alignas] = ACTIONS(1344),
+    [sym_primitive_type] = ACTIONS(1344),
+    [anon_sym_enum] = ACTIONS(1344),
+    [anon_sym_struct] = ACTIONS(1344),
+    [anon_sym_union] = ACTIONS(1344),
+    [anon_sym_if] = ACTIONS(1344),
+    [anon_sym_switch] = ACTIONS(1344),
+    [anon_sym_case] = ACTIONS(1344),
+    [anon_sym_default] = ACTIONS(1344),
+    [anon_sym_while] = ACTIONS(1344),
+    [anon_sym_do] = ACTIONS(1344),
+    [anon_sym_for] = ACTIONS(1344),
+    [anon_sym_return] = ACTIONS(1344),
+    [anon_sym_break] = ACTIONS(1344),
+    [anon_sym_continue] = ACTIONS(1344),
+    [anon_sym_goto] = ACTIONS(1344),
+    [anon_sym___try] = ACTIONS(1344),
+    [anon_sym___leave] = ACTIONS(1344),
+    [anon_sym_DASH_DASH] = ACTIONS(1346),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1346),
+    [anon_sym_sizeof] = ACTIONS(1344),
+    [anon_sym___alignof__] = ACTIONS(1344),
+    [anon_sym___alignof] = ACTIONS(1344),
+    [anon_sym__alignof] = ACTIONS(1344),
+    [anon_sym_alignof] = ACTIONS(1344),
+    [anon_sym__Alignof] = ACTIONS(1344),
+    [anon_sym_offsetof] = ACTIONS(1344),
+    [anon_sym__Generic] = ACTIONS(1344),
+    [anon_sym_asm] = ACTIONS(1344),
+    [anon_sym___asm__] = ACTIONS(1344),
+    [anon_sym___asm] = ACTIONS(1344),
+    [sym_number_literal] = ACTIONS(1346),
+    [anon_sym_L_SQUOTE] = ACTIONS(1346),
+    [anon_sym_u_SQUOTE] = ACTIONS(1346),
+    [anon_sym_U_SQUOTE] = ACTIONS(1346),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1346),
+    [anon_sym_SQUOTE] = ACTIONS(1346),
+    [anon_sym_L_DQUOTE] = ACTIONS(1346),
+    [anon_sym_u_DQUOTE] = ACTIONS(1346),
+    [anon_sym_U_DQUOTE] = ACTIONS(1346),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1346),
+    [anon_sym_DQUOTE] = ACTIONS(1346),
+    [sym_true] = ACTIONS(1344),
+    [sym_false] = ACTIONS(1344),
+    [anon_sym_NULL] = ACTIONS(1344),
+    [anon_sym_nullptr] = ACTIONS(1344),
     [sym_comment] = ACTIONS(3),
   },
   [289] = {
-    [sym_identifier] = ACTIONS(1269),
-    [aux_sym_preproc_include_token1] = ACTIONS(1269),
-    [aux_sym_preproc_def_token1] = ACTIONS(1269),
-    [aux_sym_preproc_if_token1] = ACTIONS(1269),
-    [aux_sym_preproc_if_token2] = ACTIONS(1269),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1269),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1269),
-    [sym_preproc_directive] = ACTIONS(1269),
-    [anon_sym_LPAREN2] = ACTIONS(1271),
-    [anon_sym_BANG] = ACTIONS(1271),
-    [anon_sym_TILDE] = ACTIONS(1271),
-    [anon_sym_DASH] = ACTIONS(1269),
-    [anon_sym_PLUS] = ACTIONS(1269),
-    [anon_sym_STAR] = ACTIONS(1271),
-    [anon_sym_AMP] = ACTIONS(1271),
-    [anon_sym_SEMI] = ACTIONS(1271),
-    [anon_sym___extension__] = ACTIONS(1269),
-    [anon_sym_typedef] = ACTIONS(1269),
-    [anon_sym_extern] = ACTIONS(1269),
-    [anon_sym___attribute__] = ACTIONS(1269),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1271),
-    [anon_sym___declspec] = ACTIONS(1269),
-    [anon_sym___cdecl] = ACTIONS(1269),
-    [anon_sym___clrcall] = ACTIONS(1269),
-    [anon_sym___stdcall] = ACTIONS(1269),
-    [anon_sym___fastcall] = ACTIONS(1269),
-    [anon_sym___thiscall] = ACTIONS(1269),
-    [anon_sym___vectorcall] = ACTIONS(1269),
-    [anon_sym_LBRACE] = ACTIONS(1271),
-    [anon_sym_signed] = ACTIONS(1269),
-    [anon_sym_unsigned] = ACTIONS(1269),
-    [anon_sym_long] = ACTIONS(1269),
-    [anon_sym_short] = ACTIONS(1269),
-    [anon_sym_static] = ACTIONS(1269),
-    [anon_sym_auto] = ACTIONS(1269),
-    [anon_sym_register] = ACTIONS(1269),
-    [anon_sym_inline] = ACTIONS(1269),
-    [anon_sym___inline] = ACTIONS(1269),
-    [anon_sym___inline__] = ACTIONS(1269),
-    [anon_sym___forceinline] = ACTIONS(1269),
-    [anon_sym_thread_local] = ACTIONS(1269),
-    [anon_sym___thread] = ACTIONS(1269),
-    [anon_sym_const] = ACTIONS(1269),
-    [anon_sym_constexpr] = ACTIONS(1269),
-    [anon_sym_volatile] = ACTIONS(1269),
-    [anon_sym_restrict] = ACTIONS(1269),
-    [anon_sym___restrict__] = ACTIONS(1269),
-    [anon_sym__Atomic] = ACTIONS(1269),
-    [anon_sym__Noreturn] = ACTIONS(1269),
-    [anon_sym_noreturn] = ACTIONS(1269),
-    [anon_sym__Nonnull] = ACTIONS(1269),
-    [anon_sym_alignas] = ACTIONS(1269),
-    [anon_sym__Alignas] = ACTIONS(1269),
-    [sym_primitive_type] = ACTIONS(1269),
-    [anon_sym_enum] = ACTIONS(1269),
-    [anon_sym_struct] = ACTIONS(1269),
-    [anon_sym_union] = ACTIONS(1269),
-    [anon_sym_if] = ACTIONS(1269),
-    [anon_sym_switch] = ACTIONS(1269),
-    [anon_sym_case] = ACTIONS(1269),
-    [anon_sym_default] = ACTIONS(1269),
-    [anon_sym_while] = ACTIONS(1269),
-    [anon_sym_do] = ACTIONS(1269),
-    [anon_sym_for] = ACTIONS(1269),
-    [anon_sym_return] = ACTIONS(1269),
-    [anon_sym_break] = ACTIONS(1269),
-    [anon_sym_continue] = ACTIONS(1269),
-    [anon_sym_goto] = ACTIONS(1269),
-    [anon_sym___try] = ACTIONS(1269),
-    [anon_sym___leave] = ACTIONS(1269),
-    [anon_sym_DASH_DASH] = ACTIONS(1271),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1271),
-    [anon_sym_sizeof] = ACTIONS(1269),
-    [anon_sym___alignof__] = ACTIONS(1269),
-    [anon_sym___alignof] = ACTIONS(1269),
-    [anon_sym__alignof] = ACTIONS(1269),
-    [anon_sym_alignof] = ACTIONS(1269),
-    [anon_sym__Alignof] = ACTIONS(1269),
-    [anon_sym_offsetof] = ACTIONS(1269),
-    [anon_sym__Generic] = ACTIONS(1269),
-    [anon_sym_asm] = ACTIONS(1269),
-    [anon_sym___asm__] = ACTIONS(1269),
-    [anon_sym___asm] = ACTIONS(1269),
-    [sym_number_literal] = ACTIONS(1271),
-    [anon_sym_L_SQUOTE] = ACTIONS(1271),
-    [anon_sym_u_SQUOTE] = ACTIONS(1271),
-    [anon_sym_U_SQUOTE] = ACTIONS(1271),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1271),
-    [anon_sym_SQUOTE] = ACTIONS(1271),
-    [anon_sym_L_DQUOTE] = ACTIONS(1271),
-    [anon_sym_u_DQUOTE] = ACTIONS(1271),
-    [anon_sym_U_DQUOTE] = ACTIONS(1271),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1271),
-    [anon_sym_DQUOTE] = ACTIONS(1271),
-    [sym_true] = ACTIONS(1269),
-    [sym_false] = ACTIONS(1269),
-    [anon_sym_NULL] = ACTIONS(1269),
-    [anon_sym_nullptr] = ACTIONS(1269),
+    [sym_identifier] = ACTIONS(1352),
+    [aux_sym_preproc_include_token1] = ACTIONS(1352),
+    [aux_sym_preproc_def_token1] = ACTIONS(1352),
+    [aux_sym_preproc_if_token1] = ACTIONS(1352),
+    [aux_sym_preproc_if_token2] = ACTIONS(1352),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1352),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1352),
+    [sym_preproc_directive] = ACTIONS(1352),
+    [anon_sym_LPAREN2] = ACTIONS(1354),
+    [anon_sym_BANG] = ACTIONS(1354),
+    [anon_sym_TILDE] = ACTIONS(1354),
+    [anon_sym_DASH] = ACTIONS(1352),
+    [anon_sym_PLUS] = ACTIONS(1352),
+    [anon_sym_STAR] = ACTIONS(1354),
+    [anon_sym_AMP] = ACTIONS(1354),
+    [anon_sym_SEMI] = ACTIONS(1354),
+    [anon_sym___extension__] = ACTIONS(1352),
+    [anon_sym_typedef] = ACTIONS(1352),
+    [anon_sym_extern] = ACTIONS(1352),
+    [anon_sym___attribute__] = ACTIONS(1352),
+    [anon_sym___attribute] = ACTIONS(1352),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1354),
+    [anon_sym___declspec] = ACTIONS(1352),
+    [anon_sym___cdecl] = ACTIONS(1352),
+    [anon_sym___clrcall] = ACTIONS(1352),
+    [anon_sym___stdcall] = ACTIONS(1352),
+    [anon_sym___fastcall] = ACTIONS(1352),
+    [anon_sym___thiscall] = ACTIONS(1352),
+    [anon_sym___vectorcall] = ACTIONS(1352),
+    [anon_sym_LBRACE] = ACTIONS(1354),
+    [anon_sym_signed] = ACTIONS(1352),
+    [anon_sym_unsigned] = ACTIONS(1352),
+    [anon_sym_long] = ACTIONS(1352),
+    [anon_sym_short] = ACTIONS(1352),
+    [anon_sym_static] = ACTIONS(1352),
+    [anon_sym_auto] = ACTIONS(1352),
+    [anon_sym_register] = ACTIONS(1352),
+    [anon_sym_inline] = ACTIONS(1352),
+    [anon_sym___inline] = ACTIONS(1352),
+    [anon_sym___inline__] = ACTIONS(1352),
+    [anon_sym___forceinline] = ACTIONS(1352),
+    [anon_sym_thread_local] = ACTIONS(1352),
+    [anon_sym___thread] = ACTIONS(1352),
+    [anon_sym_const] = ACTIONS(1352),
+    [anon_sym_constexpr] = ACTIONS(1352),
+    [anon_sym_volatile] = ACTIONS(1352),
+    [anon_sym_restrict] = ACTIONS(1352),
+    [anon_sym___restrict__] = ACTIONS(1352),
+    [anon_sym__Atomic] = ACTIONS(1352),
+    [anon_sym__Noreturn] = ACTIONS(1352),
+    [anon_sym_noreturn] = ACTIONS(1352),
+    [anon_sym__Nonnull] = ACTIONS(1352),
+    [anon_sym_alignas] = ACTIONS(1352),
+    [anon_sym__Alignas] = ACTIONS(1352),
+    [sym_primitive_type] = ACTIONS(1352),
+    [anon_sym_enum] = ACTIONS(1352),
+    [anon_sym_struct] = ACTIONS(1352),
+    [anon_sym_union] = ACTIONS(1352),
+    [anon_sym_if] = ACTIONS(1352),
+    [anon_sym_switch] = ACTIONS(1352),
+    [anon_sym_case] = ACTIONS(1352),
+    [anon_sym_default] = ACTIONS(1352),
+    [anon_sym_while] = ACTIONS(1352),
+    [anon_sym_do] = ACTIONS(1352),
+    [anon_sym_for] = ACTIONS(1352),
+    [anon_sym_return] = ACTIONS(1352),
+    [anon_sym_break] = ACTIONS(1352),
+    [anon_sym_continue] = ACTIONS(1352),
+    [anon_sym_goto] = ACTIONS(1352),
+    [anon_sym___try] = ACTIONS(1352),
+    [anon_sym___leave] = ACTIONS(1352),
+    [anon_sym_DASH_DASH] = ACTIONS(1354),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1354),
+    [anon_sym_sizeof] = ACTIONS(1352),
+    [anon_sym___alignof__] = ACTIONS(1352),
+    [anon_sym___alignof] = ACTIONS(1352),
+    [anon_sym__alignof] = ACTIONS(1352),
+    [anon_sym_alignof] = ACTIONS(1352),
+    [anon_sym__Alignof] = ACTIONS(1352),
+    [anon_sym_offsetof] = ACTIONS(1352),
+    [anon_sym__Generic] = ACTIONS(1352),
+    [anon_sym_asm] = ACTIONS(1352),
+    [anon_sym___asm__] = ACTIONS(1352),
+    [anon_sym___asm] = ACTIONS(1352),
+    [sym_number_literal] = ACTIONS(1354),
+    [anon_sym_L_SQUOTE] = ACTIONS(1354),
+    [anon_sym_u_SQUOTE] = ACTIONS(1354),
+    [anon_sym_U_SQUOTE] = ACTIONS(1354),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1354),
+    [anon_sym_SQUOTE] = ACTIONS(1354),
+    [anon_sym_L_DQUOTE] = ACTIONS(1354),
+    [anon_sym_u_DQUOTE] = ACTIONS(1354),
+    [anon_sym_U_DQUOTE] = ACTIONS(1354),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1354),
+    [anon_sym_DQUOTE] = ACTIONS(1354),
+    [sym_true] = ACTIONS(1352),
+    [sym_false] = ACTIONS(1352),
+    [anon_sym_NULL] = ACTIONS(1352),
+    [anon_sym_nullptr] = ACTIONS(1352),
     [sym_comment] = ACTIONS(3),
   },
   [290] = {
-    [sym_identifier] = ACTIONS(1309),
-    [aux_sym_preproc_include_token1] = ACTIONS(1309),
-    [aux_sym_preproc_def_token1] = ACTIONS(1309),
-    [aux_sym_preproc_if_token1] = ACTIONS(1309),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1309),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1309),
-    [sym_preproc_directive] = ACTIONS(1309),
-    [anon_sym_LPAREN2] = ACTIONS(1311),
-    [anon_sym_BANG] = ACTIONS(1311),
-    [anon_sym_TILDE] = ACTIONS(1311),
-    [anon_sym_DASH] = ACTIONS(1309),
-    [anon_sym_PLUS] = ACTIONS(1309),
-    [anon_sym_STAR] = ACTIONS(1311),
-    [anon_sym_AMP] = ACTIONS(1311),
-    [anon_sym_SEMI] = ACTIONS(1311),
-    [anon_sym___extension__] = ACTIONS(1309),
-    [anon_sym_typedef] = ACTIONS(1309),
-    [anon_sym_extern] = ACTIONS(1309),
-    [anon_sym___attribute__] = ACTIONS(1309),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1311),
-    [anon_sym___declspec] = ACTIONS(1309),
-    [anon_sym___cdecl] = ACTIONS(1309),
-    [anon_sym___clrcall] = ACTIONS(1309),
-    [anon_sym___stdcall] = ACTIONS(1309),
-    [anon_sym___fastcall] = ACTIONS(1309),
-    [anon_sym___thiscall] = ACTIONS(1309),
-    [anon_sym___vectorcall] = ACTIONS(1309),
-    [anon_sym_LBRACE] = ACTIONS(1311),
-    [anon_sym_RBRACE] = ACTIONS(1311),
-    [anon_sym_signed] = ACTIONS(1309),
-    [anon_sym_unsigned] = ACTIONS(1309),
-    [anon_sym_long] = ACTIONS(1309),
-    [anon_sym_short] = ACTIONS(1309),
-    [anon_sym_static] = ACTIONS(1309),
-    [anon_sym_auto] = ACTIONS(1309),
-    [anon_sym_register] = ACTIONS(1309),
-    [anon_sym_inline] = ACTIONS(1309),
-    [anon_sym___inline] = ACTIONS(1309),
-    [anon_sym___inline__] = ACTIONS(1309),
-    [anon_sym___forceinline] = ACTIONS(1309),
-    [anon_sym_thread_local] = ACTIONS(1309),
-    [anon_sym___thread] = ACTIONS(1309),
-    [anon_sym_const] = ACTIONS(1309),
-    [anon_sym_constexpr] = ACTIONS(1309),
-    [anon_sym_volatile] = ACTIONS(1309),
-    [anon_sym_restrict] = ACTIONS(1309),
-    [anon_sym___restrict__] = ACTIONS(1309),
-    [anon_sym__Atomic] = ACTIONS(1309),
-    [anon_sym__Noreturn] = ACTIONS(1309),
-    [anon_sym_noreturn] = ACTIONS(1309),
-    [anon_sym__Nonnull] = ACTIONS(1309),
-    [anon_sym_alignas] = ACTIONS(1309),
-    [anon_sym__Alignas] = ACTIONS(1309),
-    [sym_primitive_type] = ACTIONS(1309),
-    [anon_sym_enum] = ACTIONS(1309),
-    [anon_sym_struct] = ACTIONS(1309),
-    [anon_sym_union] = ACTIONS(1309),
-    [anon_sym_if] = ACTIONS(1309),
-    [anon_sym_switch] = ACTIONS(1309),
-    [anon_sym_case] = ACTIONS(1309),
-    [anon_sym_default] = ACTIONS(1309),
-    [anon_sym_while] = ACTIONS(1309),
-    [anon_sym_do] = ACTIONS(1309),
-    [anon_sym_for] = ACTIONS(1309),
-    [anon_sym_return] = ACTIONS(1309),
-    [anon_sym_break] = ACTIONS(1309),
-    [anon_sym_continue] = ACTIONS(1309),
-    [anon_sym_goto] = ACTIONS(1309),
-    [anon_sym___try] = ACTIONS(1309),
-    [anon_sym___leave] = ACTIONS(1309),
-    [anon_sym_DASH_DASH] = ACTIONS(1311),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1311),
-    [anon_sym_sizeof] = ACTIONS(1309),
-    [anon_sym___alignof__] = ACTIONS(1309),
-    [anon_sym___alignof] = ACTIONS(1309),
-    [anon_sym__alignof] = ACTIONS(1309),
-    [anon_sym_alignof] = ACTIONS(1309),
-    [anon_sym__Alignof] = ACTIONS(1309),
-    [anon_sym_offsetof] = ACTIONS(1309),
-    [anon_sym__Generic] = ACTIONS(1309),
-    [anon_sym_asm] = ACTIONS(1309),
-    [anon_sym___asm__] = ACTIONS(1309),
-    [anon_sym___asm] = ACTIONS(1309),
-    [sym_number_literal] = ACTIONS(1311),
-    [anon_sym_L_SQUOTE] = ACTIONS(1311),
-    [anon_sym_u_SQUOTE] = ACTIONS(1311),
-    [anon_sym_U_SQUOTE] = ACTIONS(1311),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1311),
-    [anon_sym_SQUOTE] = ACTIONS(1311),
-    [anon_sym_L_DQUOTE] = ACTIONS(1311),
-    [anon_sym_u_DQUOTE] = ACTIONS(1311),
-    [anon_sym_U_DQUOTE] = ACTIONS(1311),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1311),
-    [anon_sym_DQUOTE] = ACTIONS(1311),
-    [sym_true] = ACTIONS(1309),
-    [sym_false] = ACTIONS(1309),
-    [anon_sym_NULL] = ACTIONS(1309),
-    [anon_sym_nullptr] = ACTIONS(1309),
+    [sym_identifier] = ACTIONS(1364),
+    [aux_sym_preproc_include_token1] = ACTIONS(1364),
+    [aux_sym_preproc_def_token1] = ACTIONS(1364),
+    [aux_sym_preproc_if_token1] = ACTIONS(1364),
+    [aux_sym_preproc_if_token2] = ACTIONS(1364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1364),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1364),
+    [sym_preproc_directive] = ACTIONS(1364),
+    [anon_sym_LPAREN2] = ACTIONS(1366),
+    [anon_sym_BANG] = ACTIONS(1366),
+    [anon_sym_TILDE] = ACTIONS(1366),
+    [anon_sym_DASH] = ACTIONS(1364),
+    [anon_sym_PLUS] = ACTIONS(1364),
+    [anon_sym_STAR] = ACTIONS(1366),
+    [anon_sym_AMP] = ACTIONS(1366),
+    [anon_sym_SEMI] = ACTIONS(1366),
+    [anon_sym___extension__] = ACTIONS(1364),
+    [anon_sym_typedef] = ACTIONS(1364),
+    [anon_sym_extern] = ACTIONS(1364),
+    [anon_sym___attribute__] = ACTIONS(1364),
+    [anon_sym___attribute] = ACTIONS(1364),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1366),
+    [anon_sym___declspec] = ACTIONS(1364),
+    [anon_sym___cdecl] = ACTIONS(1364),
+    [anon_sym___clrcall] = ACTIONS(1364),
+    [anon_sym___stdcall] = ACTIONS(1364),
+    [anon_sym___fastcall] = ACTIONS(1364),
+    [anon_sym___thiscall] = ACTIONS(1364),
+    [anon_sym___vectorcall] = ACTIONS(1364),
+    [anon_sym_LBRACE] = ACTIONS(1366),
+    [anon_sym_signed] = ACTIONS(1364),
+    [anon_sym_unsigned] = ACTIONS(1364),
+    [anon_sym_long] = ACTIONS(1364),
+    [anon_sym_short] = ACTIONS(1364),
+    [anon_sym_static] = ACTIONS(1364),
+    [anon_sym_auto] = ACTIONS(1364),
+    [anon_sym_register] = ACTIONS(1364),
+    [anon_sym_inline] = ACTIONS(1364),
+    [anon_sym___inline] = ACTIONS(1364),
+    [anon_sym___inline__] = ACTIONS(1364),
+    [anon_sym___forceinline] = ACTIONS(1364),
+    [anon_sym_thread_local] = ACTIONS(1364),
+    [anon_sym___thread] = ACTIONS(1364),
+    [anon_sym_const] = ACTIONS(1364),
+    [anon_sym_constexpr] = ACTIONS(1364),
+    [anon_sym_volatile] = ACTIONS(1364),
+    [anon_sym_restrict] = ACTIONS(1364),
+    [anon_sym___restrict__] = ACTIONS(1364),
+    [anon_sym__Atomic] = ACTIONS(1364),
+    [anon_sym__Noreturn] = ACTIONS(1364),
+    [anon_sym_noreturn] = ACTIONS(1364),
+    [anon_sym__Nonnull] = ACTIONS(1364),
+    [anon_sym_alignas] = ACTIONS(1364),
+    [anon_sym__Alignas] = ACTIONS(1364),
+    [sym_primitive_type] = ACTIONS(1364),
+    [anon_sym_enum] = ACTIONS(1364),
+    [anon_sym_struct] = ACTIONS(1364),
+    [anon_sym_union] = ACTIONS(1364),
+    [anon_sym_if] = ACTIONS(1364),
+    [anon_sym_switch] = ACTIONS(1364),
+    [anon_sym_case] = ACTIONS(1364),
+    [anon_sym_default] = ACTIONS(1364),
+    [anon_sym_while] = ACTIONS(1364),
+    [anon_sym_do] = ACTIONS(1364),
+    [anon_sym_for] = ACTIONS(1364),
+    [anon_sym_return] = ACTIONS(1364),
+    [anon_sym_break] = ACTIONS(1364),
+    [anon_sym_continue] = ACTIONS(1364),
+    [anon_sym_goto] = ACTIONS(1364),
+    [anon_sym___try] = ACTIONS(1364),
+    [anon_sym___leave] = ACTIONS(1364),
+    [anon_sym_DASH_DASH] = ACTIONS(1366),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1366),
+    [anon_sym_sizeof] = ACTIONS(1364),
+    [anon_sym___alignof__] = ACTIONS(1364),
+    [anon_sym___alignof] = ACTIONS(1364),
+    [anon_sym__alignof] = ACTIONS(1364),
+    [anon_sym_alignof] = ACTIONS(1364),
+    [anon_sym__Alignof] = ACTIONS(1364),
+    [anon_sym_offsetof] = ACTIONS(1364),
+    [anon_sym__Generic] = ACTIONS(1364),
+    [anon_sym_asm] = ACTIONS(1364),
+    [anon_sym___asm__] = ACTIONS(1364),
+    [anon_sym___asm] = ACTIONS(1364),
+    [sym_number_literal] = ACTIONS(1366),
+    [anon_sym_L_SQUOTE] = ACTIONS(1366),
+    [anon_sym_u_SQUOTE] = ACTIONS(1366),
+    [anon_sym_U_SQUOTE] = ACTIONS(1366),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1366),
+    [anon_sym_SQUOTE] = ACTIONS(1366),
+    [anon_sym_L_DQUOTE] = ACTIONS(1366),
+    [anon_sym_u_DQUOTE] = ACTIONS(1366),
+    [anon_sym_U_DQUOTE] = ACTIONS(1366),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1366),
+    [anon_sym_DQUOTE] = ACTIONS(1366),
+    [sym_true] = ACTIONS(1364),
+    [sym_false] = ACTIONS(1364),
+    [anon_sym_NULL] = ACTIONS(1364),
+    [anon_sym_nullptr] = ACTIONS(1364),
     [sym_comment] = ACTIONS(3),
   },
   [291] = {
-    [sym_identifier] = ACTIONS(1277),
-    [aux_sym_preproc_include_token1] = ACTIONS(1277),
-    [aux_sym_preproc_def_token1] = ACTIONS(1277),
-    [aux_sym_preproc_if_token1] = ACTIONS(1277),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1277),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1277),
-    [sym_preproc_directive] = ACTIONS(1277),
-    [anon_sym_LPAREN2] = ACTIONS(1279),
-    [anon_sym_BANG] = ACTIONS(1279),
-    [anon_sym_TILDE] = ACTIONS(1279),
-    [anon_sym_DASH] = ACTIONS(1277),
-    [anon_sym_PLUS] = ACTIONS(1277),
-    [anon_sym_STAR] = ACTIONS(1279),
-    [anon_sym_AMP] = ACTIONS(1279),
-    [anon_sym_SEMI] = ACTIONS(1279),
-    [anon_sym___extension__] = ACTIONS(1277),
-    [anon_sym_typedef] = ACTIONS(1277),
-    [anon_sym_extern] = ACTIONS(1277),
-    [anon_sym___attribute__] = ACTIONS(1277),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1279),
-    [anon_sym___declspec] = ACTIONS(1277),
-    [anon_sym___cdecl] = ACTIONS(1277),
-    [anon_sym___clrcall] = ACTIONS(1277),
-    [anon_sym___stdcall] = ACTIONS(1277),
-    [anon_sym___fastcall] = ACTIONS(1277),
-    [anon_sym___thiscall] = ACTIONS(1277),
-    [anon_sym___vectorcall] = ACTIONS(1277),
-    [anon_sym_LBRACE] = ACTIONS(1279),
-    [anon_sym_RBRACE] = ACTIONS(1279),
-    [anon_sym_signed] = ACTIONS(1277),
-    [anon_sym_unsigned] = ACTIONS(1277),
-    [anon_sym_long] = ACTIONS(1277),
-    [anon_sym_short] = ACTIONS(1277),
-    [anon_sym_static] = ACTIONS(1277),
-    [anon_sym_auto] = ACTIONS(1277),
-    [anon_sym_register] = ACTIONS(1277),
-    [anon_sym_inline] = ACTIONS(1277),
-    [anon_sym___inline] = ACTIONS(1277),
-    [anon_sym___inline__] = ACTIONS(1277),
-    [anon_sym___forceinline] = ACTIONS(1277),
-    [anon_sym_thread_local] = ACTIONS(1277),
-    [anon_sym___thread] = ACTIONS(1277),
-    [anon_sym_const] = ACTIONS(1277),
-    [anon_sym_constexpr] = ACTIONS(1277),
-    [anon_sym_volatile] = ACTIONS(1277),
-    [anon_sym_restrict] = ACTIONS(1277),
-    [anon_sym___restrict__] = ACTIONS(1277),
-    [anon_sym__Atomic] = ACTIONS(1277),
-    [anon_sym__Noreturn] = ACTIONS(1277),
-    [anon_sym_noreturn] = ACTIONS(1277),
-    [anon_sym__Nonnull] = ACTIONS(1277),
-    [anon_sym_alignas] = ACTIONS(1277),
-    [anon_sym__Alignas] = ACTIONS(1277),
-    [sym_primitive_type] = ACTIONS(1277),
-    [anon_sym_enum] = ACTIONS(1277),
-    [anon_sym_struct] = ACTIONS(1277),
-    [anon_sym_union] = ACTIONS(1277),
-    [anon_sym_if] = ACTIONS(1277),
-    [anon_sym_switch] = ACTIONS(1277),
-    [anon_sym_case] = ACTIONS(1277),
-    [anon_sym_default] = ACTIONS(1277),
-    [anon_sym_while] = ACTIONS(1277),
-    [anon_sym_do] = ACTIONS(1277),
-    [anon_sym_for] = ACTIONS(1277),
-    [anon_sym_return] = ACTIONS(1277),
-    [anon_sym_break] = ACTIONS(1277),
-    [anon_sym_continue] = ACTIONS(1277),
-    [anon_sym_goto] = ACTIONS(1277),
-    [anon_sym___try] = ACTIONS(1277),
-    [anon_sym___leave] = ACTIONS(1277),
-    [anon_sym_DASH_DASH] = ACTIONS(1279),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1279),
-    [anon_sym_sizeof] = ACTIONS(1277),
-    [anon_sym___alignof__] = ACTIONS(1277),
-    [anon_sym___alignof] = ACTIONS(1277),
-    [anon_sym__alignof] = ACTIONS(1277),
-    [anon_sym_alignof] = ACTIONS(1277),
-    [anon_sym__Alignof] = ACTIONS(1277),
-    [anon_sym_offsetof] = ACTIONS(1277),
-    [anon_sym__Generic] = ACTIONS(1277),
-    [anon_sym_asm] = ACTIONS(1277),
-    [anon_sym___asm__] = ACTIONS(1277),
-    [anon_sym___asm] = ACTIONS(1277),
-    [sym_number_literal] = ACTIONS(1279),
-    [anon_sym_L_SQUOTE] = ACTIONS(1279),
-    [anon_sym_u_SQUOTE] = ACTIONS(1279),
-    [anon_sym_U_SQUOTE] = ACTIONS(1279),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1279),
-    [anon_sym_SQUOTE] = ACTIONS(1279),
-    [anon_sym_L_DQUOTE] = ACTIONS(1279),
-    [anon_sym_u_DQUOTE] = ACTIONS(1279),
-    [anon_sym_U_DQUOTE] = ACTIONS(1279),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1279),
-    [anon_sym_DQUOTE] = ACTIONS(1279),
-    [sym_true] = ACTIONS(1277),
-    [sym_false] = ACTIONS(1277),
-    [anon_sym_NULL] = ACTIONS(1277),
-    [anon_sym_nullptr] = ACTIONS(1277),
+    [sym_identifier] = ACTIONS(1360),
+    [aux_sym_preproc_include_token1] = ACTIONS(1360),
+    [aux_sym_preproc_def_token1] = ACTIONS(1360),
+    [aux_sym_preproc_if_token1] = ACTIONS(1360),
+    [aux_sym_preproc_if_token2] = ACTIONS(1360),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1360),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1360),
+    [sym_preproc_directive] = ACTIONS(1360),
+    [anon_sym_LPAREN2] = ACTIONS(1362),
+    [anon_sym_BANG] = ACTIONS(1362),
+    [anon_sym_TILDE] = ACTIONS(1362),
+    [anon_sym_DASH] = ACTIONS(1360),
+    [anon_sym_PLUS] = ACTIONS(1360),
+    [anon_sym_STAR] = ACTIONS(1362),
+    [anon_sym_AMP] = ACTIONS(1362),
+    [anon_sym_SEMI] = ACTIONS(1362),
+    [anon_sym___extension__] = ACTIONS(1360),
+    [anon_sym_typedef] = ACTIONS(1360),
+    [anon_sym_extern] = ACTIONS(1360),
+    [anon_sym___attribute__] = ACTIONS(1360),
+    [anon_sym___attribute] = ACTIONS(1360),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1362),
+    [anon_sym___declspec] = ACTIONS(1360),
+    [anon_sym___cdecl] = ACTIONS(1360),
+    [anon_sym___clrcall] = ACTIONS(1360),
+    [anon_sym___stdcall] = ACTIONS(1360),
+    [anon_sym___fastcall] = ACTIONS(1360),
+    [anon_sym___thiscall] = ACTIONS(1360),
+    [anon_sym___vectorcall] = ACTIONS(1360),
+    [anon_sym_LBRACE] = ACTIONS(1362),
+    [anon_sym_signed] = ACTIONS(1360),
+    [anon_sym_unsigned] = ACTIONS(1360),
+    [anon_sym_long] = ACTIONS(1360),
+    [anon_sym_short] = ACTIONS(1360),
+    [anon_sym_static] = ACTIONS(1360),
+    [anon_sym_auto] = ACTIONS(1360),
+    [anon_sym_register] = ACTIONS(1360),
+    [anon_sym_inline] = ACTIONS(1360),
+    [anon_sym___inline] = ACTIONS(1360),
+    [anon_sym___inline__] = ACTIONS(1360),
+    [anon_sym___forceinline] = ACTIONS(1360),
+    [anon_sym_thread_local] = ACTIONS(1360),
+    [anon_sym___thread] = ACTIONS(1360),
+    [anon_sym_const] = ACTIONS(1360),
+    [anon_sym_constexpr] = ACTIONS(1360),
+    [anon_sym_volatile] = ACTIONS(1360),
+    [anon_sym_restrict] = ACTIONS(1360),
+    [anon_sym___restrict__] = ACTIONS(1360),
+    [anon_sym__Atomic] = ACTIONS(1360),
+    [anon_sym__Noreturn] = ACTIONS(1360),
+    [anon_sym_noreturn] = ACTIONS(1360),
+    [anon_sym__Nonnull] = ACTIONS(1360),
+    [anon_sym_alignas] = ACTIONS(1360),
+    [anon_sym__Alignas] = ACTIONS(1360),
+    [sym_primitive_type] = ACTIONS(1360),
+    [anon_sym_enum] = ACTIONS(1360),
+    [anon_sym_struct] = ACTIONS(1360),
+    [anon_sym_union] = ACTIONS(1360),
+    [anon_sym_if] = ACTIONS(1360),
+    [anon_sym_switch] = ACTIONS(1360),
+    [anon_sym_case] = ACTIONS(1360),
+    [anon_sym_default] = ACTIONS(1360),
+    [anon_sym_while] = ACTIONS(1360),
+    [anon_sym_do] = ACTIONS(1360),
+    [anon_sym_for] = ACTIONS(1360),
+    [anon_sym_return] = ACTIONS(1360),
+    [anon_sym_break] = ACTIONS(1360),
+    [anon_sym_continue] = ACTIONS(1360),
+    [anon_sym_goto] = ACTIONS(1360),
+    [anon_sym___try] = ACTIONS(1360),
+    [anon_sym___leave] = ACTIONS(1360),
+    [anon_sym_DASH_DASH] = ACTIONS(1362),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1362),
+    [anon_sym_sizeof] = ACTIONS(1360),
+    [anon_sym___alignof__] = ACTIONS(1360),
+    [anon_sym___alignof] = ACTIONS(1360),
+    [anon_sym__alignof] = ACTIONS(1360),
+    [anon_sym_alignof] = ACTIONS(1360),
+    [anon_sym__Alignof] = ACTIONS(1360),
+    [anon_sym_offsetof] = ACTIONS(1360),
+    [anon_sym__Generic] = ACTIONS(1360),
+    [anon_sym_asm] = ACTIONS(1360),
+    [anon_sym___asm__] = ACTIONS(1360),
+    [anon_sym___asm] = ACTIONS(1360),
+    [sym_number_literal] = ACTIONS(1362),
+    [anon_sym_L_SQUOTE] = ACTIONS(1362),
+    [anon_sym_u_SQUOTE] = ACTIONS(1362),
+    [anon_sym_U_SQUOTE] = ACTIONS(1362),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1362),
+    [anon_sym_SQUOTE] = ACTIONS(1362),
+    [anon_sym_L_DQUOTE] = ACTIONS(1362),
+    [anon_sym_u_DQUOTE] = ACTIONS(1362),
+    [anon_sym_U_DQUOTE] = ACTIONS(1362),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1362),
+    [anon_sym_DQUOTE] = ACTIONS(1362),
+    [sym_true] = ACTIONS(1360),
+    [sym_false] = ACTIONS(1360),
+    [anon_sym_NULL] = ACTIONS(1360),
+    [anon_sym_nullptr] = ACTIONS(1360),
     [sym_comment] = ACTIONS(3),
   },
   [292] = {
-    [sym_identifier] = ACTIONS(1285),
-    [aux_sym_preproc_include_token1] = ACTIONS(1285),
-    [aux_sym_preproc_def_token1] = ACTIONS(1285),
-    [aux_sym_preproc_if_token1] = ACTIONS(1285),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1285),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1285),
-    [sym_preproc_directive] = ACTIONS(1285),
-    [anon_sym_LPAREN2] = ACTIONS(1287),
-    [anon_sym_BANG] = ACTIONS(1287),
-    [anon_sym_TILDE] = ACTIONS(1287),
-    [anon_sym_DASH] = ACTIONS(1285),
-    [anon_sym_PLUS] = ACTIONS(1285),
-    [anon_sym_STAR] = ACTIONS(1287),
-    [anon_sym_AMP] = ACTIONS(1287),
-    [anon_sym_SEMI] = ACTIONS(1287),
-    [anon_sym___extension__] = ACTIONS(1285),
-    [anon_sym_typedef] = ACTIONS(1285),
-    [anon_sym_extern] = ACTIONS(1285),
-    [anon_sym___attribute__] = ACTIONS(1285),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1287),
-    [anon_sym___declspec] = ACTIONS(1285),
-    [anon_sym___cdecl] = ACTIONS(1285),
-    [anon_sym___clrcall] = ACTIONS(1285),
-    [anon_sym___stdcall] = ACTIONS(1285),
-    [anon_sym___fastcall] = ACTIONS(1285),
-    [anon_sym___thiscall] = ACTIONS(1285),
-    [anon_sym___vectorcall] = ACTIONS(1285),
-    [anon_sym_LBRACE] = ACTIONS(1287),
-    [anon_sym_RBRACE] = ACTIONS(1287),
-    [anon_sym_signed] = ACTIONS(1285),
-    [anon_sym_unsigned] = ACTIONS(1285),
-    [anon_sym_long] = ACTIONS(1285),
-    [anon_sym_short] = ACTIONS(1285),
-    [anon_sym_static] = ACTIONS(1285),
-    [anon_sym_auto] = ACTIONS(1285),
-    [anon_sym_register] = ACTIONS(1285),
-    [anon_sym_inline] = ACTIONS(1285),
-    [anon_sym___inline] = ACTIONS(1285),
-    [anon_sym___inline__] = ACTIONS(1285),
-    [anon_sym___forceinline] = ACTIONS(1285),
-    [anon_sym_thread_local] = ACTIONS(1285),
-    [anon_sym___thread] = ACTIONS(1285),
-    [anon_sym_const] = ACTIONS(1285),
-    [anon_sym_constexpr] = ACTIONS(1285),
-    [anon_sym_volatile] = ACTIONS(1285),
-    [anon_sym_restrict] = ACTIONS(1285),
-    [anon_sym___restrict__] = ACTIONS(1285),
-    [anon_sym__Atomic] = ACTIONS(1285),
-    [anon_sym__Noreturn] = ACTIONS(1285),
-    [anon_sym_noreturn] = ACTIONS(1285),
-    [anon_sym__Nonnull] = ACTIONS(1285),
-    [anon_sym_alignas] = ACTIONS(1285),
-    [anon_sym__Alignas] = ACTIONS(1285),
-    [sym_primitive_type] = ACTIONS(1285),
-    [anon_sym_enum] = ACTIONS(1285),
-    [anon_sym_struct] = ACTIONS(1285),
-    [anon_sym_union] = ACTIONS(1285),
-    [anon_sym_if] = ACTIONS(1285),
-    [anon_sym_switch] = ACTIONS(1285),
-    [anon_sym_case] = ACTIONS(1285),
-    [anon_sym_default] = ACTIONS(1285),
-    [anon_sym_while] = ACTIONS(1285),
-    [anon_sym_do] = ACTIONS(1285),
-    [anon_sym_for] = ACTIONS(1285),
-    [anon_sym_return] = ACTIONS(1285),
-    [anon_sym_break] = ACTIONS(1285),
-    [anon_sym_continue] = ACTIONS(1285),
-    [anon_sym_goto] = ACTIONS(1285),
-    [anon_sym___try] = ACTIONS(1285),
-    [anon_sym___leave] = ACTIONS(1285),
-    [anon_sym_DASH_DASH] = ACTIONS(1287),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1287),
-    [anon_sym_sizeof] = ACTIONS(1285),
-    [anon_sym___alignof__] = ACTIONS(1285),
-    [anon_sym___alignof] = ACTIONS(1285),
-    [anon_sym__alignof] = ACTIONS(1285),
-    [anon_sym_alignof] = ACTIONS(1285),
-    [anon_sym__Alignof] = ACTIONS(1285),
-    [anon_sym_offsetof] = ACTIONS(1285),
-    [anon_sym__Generic] = ACTIONS(1285),
-    [anon_sym_asm] = ACTIONS(1285),
-    [anon_sym___asm__] = ACTIONS(1285),
-    [anon_sym___asm] = ACTIONS(1285),
-    [sym_number_literal] = ACTIONS(1287),
-    [anon_sym_L_SQUOTE] = ACTIONS(1287),
-    [anon_sym_u_SQUOTE] = ACTIONS(1287),
-    [anon_sym_U_SQUOTE] = ACTIONS(1287),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1287),
-    [anon_sym_SQUOTE] = ACTIONS(1287),
-    [anon_sym_L_DQUOTE] = ACTIONS(1287),
-    [anon_sym_u_DQUOTE] = ACTIONS(1287),
-    [anon_sym_U_DQUOTE] = ACTIONS(1287),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1287),
-    [anon_sym_DQUOTE] = ACTIONS(1287),
-    [sym_true] = ACTIONS(1285),
-    [sym_false] = ACTIONS(1285),
-    [anon_sym_NULL] = ACTIONS(1285),
-    [anon_sym_nullptr] = ACTIONS(1285),
+    [sym_identifier] = ACTIONS(1372),
+    [aux_sym_preproc_include_token1] = ACTIONS(1372),
+    [aux_sym_preproc_def_token1] = ACTIONS(1372),
+    [aux_sym_preproc_if_token1] = ACTIONS(1372),
+    [aux_sym_preproc_if_token2] = ACTIONS(1372),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1372),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1372),
+    [sym_preproc_directive] = ACTIONS(1372),
+    [anon_sym_LPAREN2] = ACTIONS(1374),
+    [anon_sym_BANG] = ACTIONS(1374),
+    [anon_sym_TILDE] = ACTIONS(1374),
+    [anon_sym_DASH] = ACTIONS(1372),
+    [anon_sym_PLUS] = ACTIONS(1372),
+    [anon_sym_STAR] = ACTIONS(1374),
+    [anon_sym_AMP] = ACTIONS(1374),
+    [anon_sym_SEMI] = ACTIONS(1374),
+    [anon_sym___extension__] = ACTIONS(1372),
+    [anon_sym_typedef] = ACTIONS(1372),
+    [anon_sym_extern] = ACTIONS(1372),
+    [anon_sym___attribute__] = ACTIONS(1372),
+    [anon_sym___attribute] = ACTIONS(1372),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1374),
+    [anon_sym___declspec] = ACTIONS(1372),
+    [anon_sym___cdecl] = ACTIONS(1372),
+    [anon_sym___clrcall] = ACTIONS(1372),
+    [anon_sym___stdcall] = ACTIONS(1372),
+    [anon_sym___fastcall] = ACTIONS(1372),
+    [anon_sym___thiscall] = ACTIONS(1372),
+    [anon_sym___vectorcall] = ACTIONS(1372),
+    [anon_sym_LBRACE] = ACTIONS(1374),
+    [anon_sym_signed] = ACTIONS(1372),
+    [anon_sym_unsigned] = ACTIONS(1372),
+    [anon_sym_long] = ACTIONS(1372),
+    [anon_sym_short] = ACTIONS(1372),
+    [anon_sym_static] = ACTIONS(1372),
+    [anon_sym_auto] = ACTIONS(1372),
+    [anon_sym_register] = ACTIONS(1372),
+    [anon_sym_inline] = ACTIONS(1372),
+    [anon_sym___inline] = ACTIONS(1372),
+    [anon_sym___inline__] = ACTIONS(1372),
+    [anon_sym___forceinline] = ACTIONS(1372),
+    [anon_sym_thread_local] = ACTIONS(1372),
+    [anon_sym___thread] = ACTIONS(1372),
+    [anon_sym_const] = ACTIONS(1372),
+    [anon_sym_constexpr] = ACTIONS(1372),
+    [anon_sym_volatile] = ACTIONS(1372),
+    [anon_sym_restrict] = ACTIONS(1372),
+    [anon_sym___restrict__] = ACTIONS(1372),
+    [anon_sym__Atomic] = ACTIONS(1372),
+    [anon_sym__Noreturn] = ACTIONS(1372),
+    [anon_sym_noreturn] = ACTIONS(1372),
+    [anon_sym__Nonnull] = ACTIONS(1372),
+    [anon_sym_alignas] = ACTIONS(1372),
+    [anon_sym__Alignas] = ACTIONS(1372),
+    [sym_primitive_type] = ACTIONS(1372),
+    [anon_sym_enum] = ACTIONS(1372),
+    [anon_sym_struct] = ACTIONS(1372),
+    [anon_sym_union] = ACTIONS(1372),
+    [anon_sym_if] = ACTIONS(1372),
+    [anon_sym_switch] = ACTIONS(1372),
+    [anon_sym_case] = ACTIONS(1372),
+    [anon_sym_default] = ACTIONS(1372),
+    [anon_sym_while] = ACTIONS(1372),
+    [anon_sym_do] = ACTIONS(1372),
+    [anon_sym_for] = ACTIONS(1372),
+    [anon_sym_return] = ACTIONS(1372),
+    [anon_sym_break] = ACTIONS(1372),
+    [anon_sym_continue] = ACTIONS(1372),
+    [anon_sym_goto] = ACTIONS(1372),
+    [anon_sym___try] = ACTIONS(1372),
+    [anon_sym___leave] = ACTIONS(1372),
+    [anon_sym_DASH_DASH] = ACTIONS(1374),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1374),
+    [anon_sym_sizeof] = ACTIONS(1372),
+    [anon_sym___alignof__] = ACTIONS(1372),
+    [anon_sym___alignof] = ACTIONS(1372),
+    [anon_sym__alignof] = ACTIONS(1372),
+    [anon_sym_alignof] = ACTIONS(1372),
+    [anon_sym__Alignof] = ACTIONS(1372),
+    [anon_sym_offsetof] = ACTIONS(1372),
+    [anon_sym__Generic] = ACTIONS(1372),
+    [anon_sym_asm] = ACTIONS(1372),
+    [anon_sym___asm__] = ACTIONS(1372),
+    [anon_sym___asm] = ACTIONS(1372),
+    [sym_number_literal] = ACTIONS(1374),
+    [anon_sym_L_SQUOTE] = ACTIONS(1374),
+    [anon_sym_u_SQUOTE] = ACTIONS(1374),
+    [anon_sym_U_SQUOTE] = ACTIONS(1374),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1374),
+    [anon_sym_SQUOTE] = ACTIONS(1374),
+    [anon_sym_L_DQUOTE] = ACTIONS(1374),
+    [anon_sym_u_DQUOTE] = ACTIONS(1374),
+    [anon_sym_U_DQUOTE] = ACTIONS(1374),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1374),
+    [anon_sym_DQUOTE] = ACTIONS(1374),
+    [sym_true] = ACTIONS(1372),
+    [sym_false] = ACTIONS(1372),
+    [anon_sym_NULL] = ACTIONS(1372),
+    [anon_sym_nullptr] = ACTIONS(1372),
     [sym_comment] = ACTIONS(3),
   },
   [293] = {
-    [sym_identifier] = ACTIONS(1305),
-    [aux_sym_preproc_include_token1] = ACTIONS(1305),
-    [aux_sym_preproc_def_token1] = ACTIONS(1305),
-    [aux_sym_preproc_if_token1] = ACTIONS(1305),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1305),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1305),
-    [sym_preproc_directive] = ACTIONS(1305),
-    [anon_sym_LPAREN2] = ACTIONS(1307),
-    [anon_sym_BANG] = ACTIONS(1307),
-    [anon_sym_TILDE] = ACTIONS(1307),
-    [anon_sym_DASH] = ACTIONS(1305),
-    [anon_sym_PLUS] = ACTIONS(1305),
-    [anon_sym_STAR] = ACTIONS(1307),
-    [anon_sym_AMP] = ACTIONS(1307),
-    [anon_sym_SEMI] = ACTIONS(1307),
-    [anon_sym___extension__] = ACTIONS(1305),
-    [anon_sym_typedef] = ACTIONS(1305),
-    [anon_sym_extern] = ACTIONS(1305),
-    [anon_sym___attribute__] = ACTIONS(1305),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1307),
-    [anon_sym___declspec] = ACTIONS(1305),
-    [anon_sym___cdecl] = ACTIONS(1305),
-    [anon_sym___clrcall] = ACTIONS(1305),
-    [anon_sym___stdcall] = ACTIONS(1305),
-    [anon_sym___fastcall] = ACTIONS(1305),
-    [anon_sym___thiscall] = ACTIONS(1305),
-    [anon_sym___vectorcall] = ACTIONS(1305),
-    [anon_sym_LBRACE] = ACTIONS(1307),
-    [anon_sym_RBRACE] = ACTIONS(1307),
-    [anon_sym_signed] = ACTIONS(1305),
-    [anon_sym_unsigned] = ACTIONS(1305),
-    [anon_sym_long] = ACTIONS(1305),
-    [anon_sym_short] = ACTIONS(1305),
-    [anon_sym_static] = ACTIONS(1305),
-    [anon_sym_auto] = ACTIONS(1305),
-    [anon_sym_register] = ACTIONS(1305),
-    [anon_sym_inline] = ACTIONS(1305),
-    [anon_sym___inline] = ACTIONS(1305),
-    [anon_sym___inline__] = ACTIONS(1305),
-    [anon_sym___forceinline] = ACTIONS(1305),
-    [anon_sym_thread_local] = ACTIONS(1305),
-    [anon_sym___thread] = ACTIONS(1305),
-    [anon_sym_const] = ACTIONS(1305),
-    [anon_sym_constexpr] = ACTIONS(1305),
-    [anon_sym_volatile] = ACTIONS(1305),
-    [anon_sym_restrict] = ACTIONS(1305),
-    [anon_sym___restrict__] = ACTIONS(1305),
-    [anon_sym__Atomic] = ACTIONS(1305),
-    [anon_sym__Noreturn] = ACTIONS(1305),
-    [anon_sym_noreturn] = ACTIONS(1305),
-    [anon_sym__Nonnull] = ACTIONS(1305),
-    [anon_sym_alignas] = ACTIONS(1305),
-    [anon_sym__Alignas] = ACTIONS(1305),
-    [sym_primitive_type] = ACTIONS(1305),
-    [anon_sym_enum] = ACTIONS(1305),
-    [anon_sym_struct] = ACTIONS(1305),
-    [anon_sym_union] = ACTIONS(1305),
-    [anon_sym_if] = ACTIONS(1305),
-    [anon_sym_switch] = ACTIONS(1305),
-    [anon_sym_case] = ACTIONS(1305),
-    [anon_sym_default] = ACTIONS(1305),
-    [anon_sym_while] = ACTIONS(1305),
-    [anon_sym_do] = ACTIONS(1305),
-    [anon_sym_for] = ACTIONS(1305),
-    [anon_sym_return] = ACTIONS(1305),
-    [anon_sym_break] = ACTIONS(1305),
-    [anon_sym_continue] = ACTIONS(1305),
-    [anon_sym_goto] = ACTIONS(1305),
-    [anon_sym___try] = ACTIONS(1305),
-    [anon_sym___leave] = ACTIONS(1305),
-    [anon_sym_DASH_DASH] = ACTIONS(1307),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1307),
-    [anon_sym_sizeof] = ACTIONS(1305),
-    [anon_sym___alignof__] = ACTIONS(1305),
-    [anon_sym___alignof] = ACTIONS(1305),
-    [anon_sym__alignof] = ACTIONS(1305),
-    [anon_sym_alignof] = ACTIONS(1305),
-    [anon_sym__Alignof] = ACTIONS(1305),
-    [anon_sym_offsetof] = ACTIONS(1305),
-    [anon_sym__Generic] = ACTIONS(1305),
-    [anon_sym_asm] = ACTIONS(1305),
-    [anon_sym___asm__] = ACTIONS(1305),
-    [anon_sym___asm] = ACTIONS(1305),
-    [sym_number_literal] = ACTIONS(1307),
-    [anon_sym_L_SQUOTE] = ACTIONS(1307),
-    [anon_sym_u_SQUOTE] = ACTIONS(1307),
-    [anon_sym_U_SQUOTE] = ACTIONS(1307),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1307),
-    [anon_sym_SQUOTE] = ACTIONS(1307),
-    [anon_sym_L_DQUOTE] = ACTIONS(1307),
-    [anon_sym_u_DQUOTE] = ACTIONS(1307),
-    [anon_sym_U_DQUOTE] = ACTIONS(1307),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1307),
-    [anon_sym_DQUOTE] = ACTIONS(1307),
-    [sym_true] = ACTIONS(1305),
-    [sym_false] = ACTIONS(1305),
-    [anon_sym_NULL] = ACTIONS(1305),
-    [anon_sym_nullptr] = ACTIONS(1305),
+    [sym_identifier] = ACTIONS(1336),
+    [aux_sym_preproc_include_token1] = ACTIONS(1336),
+    [aux_sym_preproc_def_token1] = ACTIONS(1336),
+    [aux_sym_preproc_if_token1] = ACTIONS(1336),
+    [aux_sym_preproc_if_token2] = ACTIONS(1336),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1336),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1336),
+    [sym_preproc_directive] = ACTIONS(1336),
+    [anon_sym_LPAREN2] = ACTIONS(1338),
+    [anon_sym_BANG] = ACTIONS(1338),
+    [anon_sym_TILDE] = ACTIONS(1338),
+    [anon_sym_DASH] = ACTIONS(1336),
+    [anon_sym_PLUS] = ACTIONS(1336),
+    [anon_sym_STAR] = ACTIONS(1338),
+    [anon_sym_AMP] = ACTIONS(1338),
+    [anon_sym_SEMI] = ACTIONS(1338),
+    [anon_sym___extension__] = ACTIONS(1336),
+    [anon_sym_typedef] = ACTIONS(1336),
+    [anon_sym_extern] = ACTIONS(1336),
+    [anon_sym___attribute__] = ACTIONS(1336),
+    [anon_sym___attribute] = ACTIONS(1336),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1338),
+    [anon_sym___declspec] = ACTIONS(1336),
+    [anon_sym___cdecl] = ACTIONS(1336),
+    [anon_sym___clrcall] = ACTIONS(1336),
+    [anon_sym___stdcall] = ACTIONS(1336),
+    [anon_sym___fastcall] = ACTIONS(1336),
+    [anon_sym___thiscall] = ACTIONS(1336),
+    [anon_sym___vectorcall] = ACTIONS(1336),
+    [anon_sym_LBRACE] = ACTIONS(1338),
+    [anon_sym_signed] = ACTIONS(1336),
+    [anon_sym_unsigned] = ACTIONS(1336),
+    [anon_sym_long] = ACTIONS(1336),
+    [anon_sym_short] = ACTIONS(1336),
+    [anon_sym_static] = ACTIONS(1336),
+    [anon_sym_auto] = ACTIONS(1336),
+    [anon_sym_register] = ACTIONS(1336),
+    [anon_sym_inline] = ACTIONS(1336),
+    [anon_sym___inline] = ACTIONS(1336),
+    [anon_sym___inline__] = ACTIONS(1336),
+    [anon_sym___forceinline] = ACTIONS(1336),
+    [anon_sym_thread_local] = ACTIONS(1336),
+    [anon_sym___thread] = ACTIONS(1336),
+    [anon_sym_const] = ACTIONS(1336),
+    [anon_sym_constexpr] = ACTIONS(1336),
+    [anon_sym_volatile] = ACTIONS(1336),
+    [anon_sym_restrict] = ACTIONS(1336),
+    [anon_sym___restrict__] = ACTIONS(1336),
+    [anon_sym__Atomic] = ACTIONS(1336),
+    [anon_sym__Noreturn] = ACTIONS(1336),
+    [anon_sym_noreturn] = ACTIONS(1336),
+    [anon_sym__Nonnull] = ACTIONS(1336),
+    [anon_sym_alignas] = ACTIONS(1336),
+    [anon_sym__Alignas] = ACTIONS(1336),
+    [sym_primitive_type] = ACTIONS(1336),
+    [anon_sym_enum] = ACTIONS(1336),
+    [anon_sym_struct] = ACTIONS(1336),
+    [anon_sym_union] = ACTIONS(1336),
+    [anon_sym_if] = ACTIONS(1336),
+    [anon_sym_switch] = ACTIONS(1336),
+    [anon_sym_case] = ACTIONS(1336),
+    [anon_sym_default] = ACTIONS(1336),
+    [anon_sym_while] = ACTIONS(1336),
+    [anon_sym_do] = ACTIONS(1336),
+    [anon_sym_for] = ACTIONS(1336),
+    [anon_sym_return] = ACTIONS(1336),
+    [anon_sym_break] = ACTIONS(1336),
+    [anon_sym_continue] = ACTIONS(1336),
+    [anon_sym_goto] = ACTIONS(1336),
+    [anon_sym___try] = ACTIONS(1336),
+    [anon_sym___leave] = ACTIONS(1336),
+    [anon_sym_DASH_DASH] = ACTIONS(1338),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1338),
+    [anon_sym_sizeof] = ACTIONS(1336),
+    [anon_sym___alignof__] = ACTIONS(1336),
+    [anon_sym___alignof] = ACTIONS(1336),
+    [anon_sym__alignof] = ACTIONS(1336),
+    [anon_sym_alignof] = ACTIONS(1336),
+    [anon_sym__Alignof] = ACTIONS(1336),
+    [anon_sym_offsetof] = ACTIONS(1336),
+    [anon_sym__Generic] = ACTIONS(1336),
+    [anon_sym_asm] = ACTIONS(1336),
+    [anon_sym___asm__] = ACTIONS(1336),
+    [anon_sym___asm] = ACTIONS(1336),
+    [sym_number_literal] = ACTIONS(1338),
+    [anon_sym_L_SQUOTE] = ACTIONS(1338),
+    [anon_sym_u_SQUOTE] = ACTIONS(1338),
+    [anon_sym_U_SQUOTE] = ACTIONS(1338),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1338),
+    [anon_sym_SQUOTE] = ACTIONS(1338),
+    [anon_sym_L_DQUOTE] = ACTIONS(1338),
+    [anon_sym_u_DQUOTE] = ACTIONS(1338),
+    [anon_sym_U_DQUOTE] = ACTIONS(1338),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1338),
+    [anon_sym_DQUOTE] = ACTIONS(1338),
+    [sym_true] = ACTIONS(1336),
+    [sym_false] = ACTIONS(1336),
+    [anon_sym_NULL] = ACTIONS(1336),
+    [anon_sym_nullptr] = ACTIONS(1336),
     [sym_comment] = ACTIONS(3),
   },
   [294] = {
-    [sym_identifier] = ACTIONS(1313),
-    [aux_sym_preproc_include_token1] = ACTIONS(1313),
-    [aux_sym_preproc_def_token1] = ACTIONS(1313),
-    [aux_sym_preproc_if_token1] = ACTIONS(1313),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1313),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1313),
-    [sym_preproc_directive] = ACTIONS(1313),
-    [anon_sym_LPAREN2] = ACTIONS(1315),
-    [anon_sym_BANG] = ACTIONS(1315),
-    [anon_sym_TILDE] = ACTIONS(1315),
-    [anon_sym_DASH] = ACTIONS(1313),
-    [anon_sym_PLUS] = ACTIONS(1313),
-    [anon_sym_STAR] = ACTIONS(1315),
-    [anon_sym_AMP] = ACTIONS(1315),
-    [anon_sym_SEMI] = ACTIONS(1315),
-    [anon_sym___extension__] = ACTIONS(1313),
-    [anon_sym_typedef] = ACTIONS(1313),
-    [anon_sym_extern] = ACTIONS(1313),
-    [anon_sym___attribute__] = ACTIONS(1313),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1315),
-    [anon_sym___declspec] = ACTIONS(1313),
-    [anon_sym___cdecl] = ACTIONS(1313),
-    [anon_sym___clrcall] = ACTIONS(1313),
-    [anon_sym___stdcall] = ACTIONS(1313),
-    [anon_sym___fastcall] = ACTIONS(1313),
-    [anon_sym___thiscall] = ACTIONS(1313),
-    [anon_sym___vectorcall] = ACTIONS(1313),
-    [anon_sym_LBRACE] = ACTIONS(1315),
-    [anon_sym_RBRACE] = ACTIONS(1315),
-    [anon_sym_signed] = ACTIONS(1313),
-    [anon_sym_unsigned] = ACTIONS(1313),
-    [anon_sym_long] = ACTIONS(1313),
-    [anon_sym_short] = ACTIONS(1313),
-    [anon_sym_static] = ACTIONS(1313),
-    [anon_sym_auto] = ACTIONS(1313),
-    [anon_sym_register] = ACTIONS(1313),
-    [anon_sym_inline] = ACTIONS(1313),
-    [anon_sym___inline] = ACTIONS(1313),
-    [anon_sym___inline__] = ACTIONS(1313),
-    [anon_sym___forceinline] = ACTIONS(1313),
-    [anon_sym_thread_local] = ACTIONS(1313),
-    [anon_sym___thread] = ACTIONS(1313),
-    [anon_sym_const] = ACTIONS(1313),
-    [anon_sym_constexpr] = ACTIONS(1313),
-    [anon_sym_volatile] = ACTIONS(1313),
-    [anon_sym_restrict] = ACTIONS(1313),
-    [anon_sym___restrict__] = ACTIONS(1313),
-    [anon_sym__Atomic] = ACTIONS(1313),
-    [anon_sym__Noreturn] = ACTIONS(1313),
-    [anon_sym_noreturn] = ACTIONS(1313),
-    [anon_sym__Nonnull] = ACTIONS(1313),
-    [anon_sym_alignas] = ACTIONS(1313),
-    [anon_sym__Alignas] = ACTIONS(1313),
-    [sym_primitive_type] = ACTIONS(1313),
-    [anon_sym_enum] = ACTIONS(1313),
-    [anon_sym_struct] = ACTIONS(1313),
-    [anon_sym_union] = ACTIONS(1313),
-    [anon_sym_if] = ACTIONS(1313),
-    [anon_sym_switch] = ACTIONS(1313),
-    [anon_sym_case] = ACTIONS(1313),
-    [anon_sym_default] = ACTIONS(1313),
-    [anon_sym_while] = ACTIONS(1313),
-    [anon_sym_do] = ACTIONS(1313),
-    [anon_sym_for] = ACTIONS(1313),
-    [anon_sym_return] = ACTIONS(1313),
-    [anon_sym_break] = ACTIONS(1313),
-    [anon_sym_continue] = ACTIONS(1313),
-    [anon_sym_goto] = ACTIONS(1313),
-    [anon_sym___try] = ACTIONS(1313),
-    [anon_sym___leave] = ACTIONS(1313),
-    [anon_sym_DASH_DASH] = ACTIONS(1315),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1315),
-    [anon_sym_sizeof] = ACTIONS(1313),
-    [anon_sym___alignof__] = ACTIONS(1313),
-    [anon_sym___alignof] = ACTIONS(1313),
-    [anon_sym__alignof] = ACTIONS(1313),
-    [anon_sym_alignof] = ACTIONS(1313),
-    [anon_sym__Alignof] = ACTIONS(1313),
-    [anon_sym_offsetof] = ACTIONS(1313),
-    [anon_sym__Generic] = ACTIONS(1313),
-    [anon_sym_asm] = ACTIONS(1313),
-    [anon_sym___asm__] = ACTIONS(1313),
-    [anon_sym___asm] = ACTIONS(1313),
-    [sym_number_literal] = ACTIONS(1315),
-    [anon_sym_L_SQUOTE] = ACTIONS(1315),
-    [anon_sym_u_SQUOTE] = ACTIONS(1315),
-    [anon_sym_U_SQUOTE] = ACTIONS(1315),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1315),
-    [anon_sym_SQUOTE] = ACTIONS(1315),
-    [anon_sym_L_DQUOTE] = ACTIONS(1315),
-    [anon_sym_u_DQUOTE] = ACTIONS(1315),
-    [anon_sym_U_DQUOTE] = ACTIONS(1315),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1315),
-    [anon_sym_DQUOTE] = ACTIONS(1315),
-    [sym_true] = ACTIONS(1313),
-    [sym_false] = ACTIONS(1313),
-    [anon_sym_NULL] = ACTIONS(1313),
-    [anon_sym_nullptr] = ACTIONS(1313),
+    [sym_identifier] = ACTIONS(1276),
+    [aux_sym_preproc_include_token1] = ACTIONS(1276),
+    [aux_sym_preproc_def_token1] = ACTIONS(1276),
+    [aux_sym_preproc_if_token1] = ACTIONS(1276),
+    [aux_sym_preproc_if_token2] = ACTIONS(1276),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1276),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1276),
+    [sym_preproc_directive] = ACTIONS(1276),
+    [anon_sym_LPAREN2] = ACTIONS(1278),
+    [anon_sym_BANG] = ACTIONS(1278),
+    [anon_sym_TILDE] = ACTIONS(1278),
+    [anon_sym_DASH] = ACTIONS(1276),
+    [anon_sym_PLUS] = ACTIONS(1276),
+    [anon_sym_STAR] = ACTIONS(1278),
+    [anon_sym_AMP] = ACTIONS(1278),
+    [anon_sym_SEMI] = ACTIONS(1278),
+    [anon_sym___extension__] = ACTIONS(1276),
+    [anon_sym_typedef] = ACTIONS(1276),
+    [anon_sym_extern] = ACTIONS(1276),
+    [anon_sym___attribute__] = ACTIONS(1276),
+    [anon_sym___attribute] = ACTIONS(1276),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1278),
+    [anon_sym___declspec] = ACTIONS(1276),
+    [anon_sym___cdecl] = ACTIONS(1276),
+    [anon_sym___clrcall] = ACTIONS(1276),
+    [anon_sym___stdcall] = ACTIONS(1276),
+    [anon_sym___fastcall] = ACTIONS(1276),
+    [anon_sym___thiscall] = ACTIONS(1276),
+    [anon_sym___vectorcall] = ACTIONS(1276),
+    [anon_sym_LBRACE] = ACTIONS(1278),
+    [anon_sym_signed] = ACTIONS(1276),
+    [anon_sym_unsigned] = ACTIONS(1276),
+    [anon_sym_long] = ACTIONS(1276),
+    [anon_sym_short] = ACTIONS(1276),
+    [anon_sym_static] = ACTIONS(1276),
+    [anon_sym_auto] = ACTIONS(1276),
+    [anon_sym_register] = ACTIONS(1276),
+    [anon_sym_inline] = ACTIONS(1276),
+    [anon_sym___inline] = ACTIONS(1276),
+    [anon_sym___inline__] = ACTIONS(1276),
+    [anon_sym___forceinline] = ACTIONS(1276),
+    [anon_sym_thread_local] = ACTIONS(1276),
+    [anon_sym___thread] = ACTIONS(1276),
+    [anon_sym_const] = ACTIONS(1276),
+    [anon_sym_constexpr] = ACTIONS(1276),
+    [anon_sym_volatile] = ACTIONS(1276),
+    [anon_sym_restrict] = ACTIONS(1276),
+    [anon_sym___restrict__] = ACTIONS(1276),
+    [anon_sym__Atomic] = ACTIONS(1276),
+    [anon_sym__Noreturn] = ACTIONS(1276),
+    [anon_sym_noreturn] = ACTIONS(1276),
+    [anon_sym__Nonnull] = ACTIONS(1276),
+    [anon_sym_alignas] = ACTIONS(1276),
+    [anon_sym__Alignas] = ACTIONS(1276),
+    [sym_primitive_type] = ACTIONS(1276),
+    [anon_sym_enum] = ACTIONS(1276),
+    [anon_sym_struct] = ACTIONS(1276),
+    [anon_sym_union] = ACTIONS(1276),
+    [anon_sym_if] = ACTIONS(1276),
+    [anon_sym_switch] = ACTIONS(1276),
+    [anon_sym_case] = ACTIONS(1276),
+    [anon_sym_default] = ACTIONS(1276),
+    [anon_sym_while] = ACTIONS(1276),
+    [anon_sym_do] = ACTIONS(1276),
+    [anon_sym_for] = ACTIONS(1276),
+    [anon_sym_return] = ACTIONS(1276),
+    [anon_sym_break] = ACTIONS(1276),
+    [anon_sym_continue] = ACTIONS(1276),
+    [anon_sym_goto] = ACTIONS(1276),
+    [anon_sym___try] = ACTIONS(1276),
+    [anon_sym___leave] = ACTIONS(1276),
+    [anon_sym_DASH_DASH] = ACTIONS(1278),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1278),
+    [anon_sym_sizeof] = ACTIONS(1276),
+    [anon_sym___alignof__] = ACTIONS(1276),
+    [anon_sym___alignof] = ACTIONS(1276),
+    [anon_sym__alignof] = ACTIONS(1276),
+    [anon_sym_alignof] = ACTIONS(1276),
+    [anon_sym__Alignof] = ACTIONS(1276),
+    [anon_sym_offsetof] = ACTIONS(1276),
+    [anon_sym__Generic] = ACTIONS(1276),
+    [anon_sym_asm] = ACTIONS(1276),
+    [anon_sym___asm__] = ACTIONS(1276),
+    [anon_sym___asm] = ACTIONS(1276),
+    [sym_number_literal] = ACTIONS(1278),
+    [anon_sym_L_SQUOTE] = ACTIONS(1278),
+    [anon_sym_u_SQUOTE] = ACTIONS(1278),
+    [anon_sym_U_SQUOTE] = ACTIONS(1278),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1278),
+    [anon_sym_SQUOTE] = ACTIONS(1278),
+    [anon_sym_L_DQUOTE] = ACTIONS(1278),
+    [anon_sym_u_DQUOTE] = ACTIONS(1278),
+    [anon_sym_U_DQUOTE] = ACTIONS(1278),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1278),
+    [anon_sym_DQUOTE] = ACTIONS(1278),
+    [sym_true] = ACTIONS(1276),
+    [sym_false] = ACTIONS(1276),
+    [anon_sym_NULL] = ACTIONS(1276),
+    [anon_sym_nullptr] = ACTIONS(1276),
     [sym_comment] = ACTIONS(3),
   },
   [295] = {
-    [sym_identifier] = ACTIONS(1321),
-    [aux_sym_preproc_include_token1] = ACTIONS(1321),
-    [aux_sym_preproc_def_token1] = ACTIONS(1321),
-    [aux_sym_preproc_if_token1] = ACTIONS(1321),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1321),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1321),
-    [sym_preproc_directive] = ACTIONS(1321),
-    [anon_sym_LPAREN2] = ACTIONS(1323),
-    [anon_sym_BANG] = ACTIONS(1323),
-    [anon_sym_TILDE] = ACTIONS(1323),
-    [anon_sym_DASH] = ACTIONS(1321),
-    [anon_sym_PLUS] = ACTIONS(1321),
-    [anon_sym_STAR] = ACTIONS(1323),
-    [anon_sym_AMP] = ACTIONS(1323),
-    [anon_sym_SEMI] = ACTIONS(1323),
-    [anon_sym___extension__] = ACTIONS(1321),
-    [anon_sym_typedef] = ACTIONS(1321),
-    [anon_sym_extern] = ACTIONS(1321),
-    [anon_sym___attribute__] = ACTIONS(1321),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1323),
-    [anon_sym___declspec] = ACTIONS(1321),
-    [anon_sym___cdecl] = ACTIONS(1321),
-    [anon_sym___clrcall] = ACTIONS(1321),
-    [anon_sym___stdcall] = ACTIONS(1321),
-    [anon_sym___fastcall] = ACTIONS(1321),
-    [anon_sym___thiscall] = ACTIONS(1321),
-    [anon_sym___vectorcall] = ACTIONS(1321),
-    [anon_sym_LBRACE] = ACTIONS(1323),
-    [anon_sym_RBRACE] = ACTIONS(1323),
-    [anon_sym_signed] = ACTIONS(1321),
-    [anon_sym_unsigned] = ACTIONS(1321),
-    [anon_sym_long] = ACTIONS(1321),
-    [anon_sym_short] = ACTIONS(1321),
-    [anon_sym_static] = ACTIONS(1321),
-    [anon_sym_auto] = ACTIONS(1321),
-    [anon_sym_register] = ACTIONS(1321),
-    [anon_sym_inline] = ACTIONS(1321),
-    [anon_sym___inline] = ACTIONS(1321),
-    [anon_sym___inline__] = ACTIONS(1321),
-    [anon_sym___forceinline] = ACTIONS(1321),
-    [anon_sym_thread_local] = ACTIONS(1321),
-    [anon_sym___thread] = ACTIONS(1321),
-    [anon_sym_const] = ACTIONS(1321),
-    [anon_sym_constexpr] = ACTIONS(1321),
-    [anon_sym_volatile] = ACTIONS(1321),
-    [anon_sym_restrict] = ACTIONS(1321),
-    [anon_sym___restrict__] = ACTIONS(1321),
-    [anon_sym__Atomic] = ACTIONS(1321),
-    [anon_sym__Noreturn] = ACTIONS(1321),
-    [anon_sym_noreturn] = ACTIONS(1321),
-    [anon_sym__Nonnull] = ACTIONS(1321),
-    [anon_sym_alignas] = ACTIONS(1321),
-    [anon_sym__Alignas] = ACTIONS(1321),
-    [sym_primitive_type] = ACTIONS(1321),
-    [anon_sym_enum] = ACTIONS(1321),
-    [anon_sym_struct] = ACTIONS(1321),
-    [anon_sym_union] = ACTIONS(1321),
-    [anon_sym_if] = ACTIONS(1321),
-    [anon_sym_switch] = ACTIONS(1321),
-    [anon_sym_case] = ACTIONS(1321),
-    [anon_sym_default] = ACTIONS(1321),
-    [anon_sym_while] = ACTIONS(1321),
-    [anon_sym_do] = ACTIONS(1321),
-    [anon_sym_for] = ACTIONS(1321),
-    [anon_sym_return] = ACTIONS(1321),
-    [anon_sym_break] = ACTIONS(1321),
-    [anon_sym_continue] = ACTIONS(1321),
-    [anon_sym_goto] = ACTIONS(1321),
-    [anon_sym___try] = ACTIONS(1321),
-    [anon_sym___leave] = ACTIONS(1321),
-    [anon_sym_DASH_DASH] = ACTIONS(1323),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
-    [anon_sym_sizeof] = ACTIONS(1321),
-    [anon_sym___alignof__] = ACTIONS(1321),
-    [anon_sym___alignof] = ACTIONS(1321),
-    [anon_sym__alignof] = ACTIONS(1321),
-    [anon_sym_alignof] = ACTIONS(1321),
-    [anon_sym__Alignof] = ACTIONS(1321),
-    [anon_sym_offsetof] = ACTIONS(1321),
-    [anon_sym__Generic] = ACTIONS(1321),
-    [anon_sym_asm] = ACTIONS(1321),
-    [anon_sym___asm__] = ACTIONS(1321),
-    [anon_sym___asm] = ACTIONS(1321),
-    [sym_number_literal] = ACTIONS(1323),
-    [anon_sym_L_SQUOTE] = ACTIONS(1323),
-    [anon_sym_u_SQUOTE] = ACTIONS(1323),
-    [anon_sym_U_SQUOTE] = ACTIONS(1323),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1323),
-    [anon_sym_SQUOTE] = ACTIONS(1323),
-    [anon_sym_L_DQUOTE] = ACTIONS(1323),
-    [anon_sym_u_DQUOTE] = ACTIONS(1323),
-    [anon_sym_U_DQUOTE] = ACTIONS(1323),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1323),
-    [anon_sym_DQUOTE] = ACTIONS(1323),
-    [sym_true] = ACTIONS(1321),
-    [sym_false] = ACTIONS(1321),
-    [anon_sym_NULL] = ACTIONS(1321),
-    [anon_sym_nullptr] = ACTIONS(1321),
+    [sym_identifier] = ACTIONS(1292),
+    [aux_sym_preproc_include_token1] = ACTIONS(1292),
+    [aux_sym_preproc_def_token1] = ACTIONS(1292),
+    [aux_sym_preproc_if_token1] = ACTIONS(1292),
+    [aux_sym_preproc_if_token2] = ACTIONS(1292),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1292),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1292),
+    [sym_preproc_directive] = ACTIONS(1292),
+    [anon_sym_LPAREN2] = ACTIONS(1294),
+    [anon_sym_BANG] = ACTIONS(1294),
+    [anon_sym_TILDE] = ACTIONS(1294),
+    [anon_sym_DASH] = ACTIONS(1292),
+    [anon_sym_PLUS] = ACTIONS(1292),
+    [anon_sym_STAR] = ACTIONS(1294),
+    [anon_sym_AMP] = ACTIONS(1294),
+    [anon_sym_SEMI] = ACTIONS(1294),
+    [anon_sym___extension__] = ACTIONS(1292),
+    [anon_sym_typedef] = ACTIONS(1292),
+    [anon_sym_extern] = ACTIONS(1292),
+    [anon_sym___attribute__] = ACTIONS(1292),
+    [anon_sym___attribute] = ACTIONS(1292),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1294),
+    [anon_sym___declspec] = ACTIONS(1292),
+    [anon_sym___cdecl] = ACTIONS(1292),
+    [anon_sym___clrcall] = ACTIONS(1292),
+    [anon_sym___stdcall] = ACTIONS(1292),
+    [anon_sym___fastcall] = ACTIONS(1292),
+    [anon_sym___thiscall] = ACTIONS(1292),
+    [anon_sym___vectorcall] = ACTIONS(1292),
+    [anon_sym_LBRACE] = ACTIONS(1294),
+    [anon_sym_signed] = ACTIONS(1292),
+    [anon_sym_unsigned] = ACTIONS(1292),
+    [anon_sym_long] = ACTIONS(1292),
+    [anon_sym_short] = ACTIONS(1292),
+    [anon_sym_static] = ACTIONS(1292),
+    [anon_sym_auto] = ACTIONS(1292),
+    [anon_sym_register] = ACTIONS(1292),
+    [anon_sym_inline] = ACTIONS(1292),
+    [anon_sym___inline] = ACTIONS(1292),
+    [anon_sym___inline__] = ACTIONS(1292),
+    [anon_sym___forceinline] = ACTIONS(1292),
+    [anon_sym_thread_local] = ACTIONS(1292),
+    [anon_sym___thread] = ACTIONS(1292),
+    [anon_sym_const] = ACTIONS(1292),
+    [anon_sym_constexpr] = ACTIONS(1292),
+    [anon_sym_volatile] = ACTIONS(1292),
+    [anon_sym_restrict] = ACTIONS(1292),
+    [anon_sym___restrict__] = ACTIONS(1292),
+    [anon_sym__Atomic] = ACTIONS(1292),
+    [anon_sym__Noreturn] = ACTIONS(1292),
+    [anon_sym_noreturn] = ACTIONS(1292),
+    [anon_sym__Nonnull] = ACTIONS(1292),
+    [anon_sym_alignas] = ACTIONS(1292),
+    [anon_sym__Alignas] = ACTIONS(1292),
+    [sym_primitive_type] = ACTIONS(1292),
+    [anon_sym_enum] = ACTIONS(1292),
+    [anon_sym_struct] = ACTIONS(1292),
+    [anon_sym_union] = ACTIONS(1292),
+    [anon_sym_if] = ACTIONS(1292),
+    [anon_sym_switch] = ACTIONS(1292),
+    [anon_sym_case] = ACTIONS(1292),
+    [anon_sym_default] = ACTIONS(1292),
+    [anon_sym_while] = ACTIONS(1292),
+    [anon_sym_do] = ACTIONS(1292),
+    [anon_sym_for] = ACTIONS(1292),
+    [anon_sym_return] = ACTIONS(1292),
+    [anon_sym_break] = ACTIONS(1292),
+    [anon_sym_continue] = ACTIONS(1292),
+    [anon_sym_goto] = ACTIONS(1292),
+    [anon_sym___try] = ACTIONS(1292),
+    [anon_sym___leave] = ACTIONS(1292),
+    [anon_sym_DASH_DASH] = ACTIONS(1294),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1294),
+    [anon_sym_sizeof] = ACTIONS(1292),
+    [anon_sym___alignof__] = ACTIONS(1292),
+    [anon_sym___alignof] = ACTIONS(1292),
+    [anon_sym__alignof] = ACTIONS(1292),
+    [anon_sym_alignof] = ACTIONS(1292),
+    [anon_sym__Alignof] = ACTIONS(1292),
+    [anon_sym_offsetof] = ACTIONS(1292),
+    [anon_sym__Generic] = ACTIONS(1292),
+    [anon_sym_asm] = ACTIONS(1292),
+    [anon_sym___asm__] = ACTIONS(1292),
+    [anon_sym___asm] = ACTIONS(1292),
+    [sym_number_literal] = ACTIONS(1294),
+    [anon_sym_L_SQUOTE] = ACTIONS(1294),
+    [anon_sym_u_SQUOTE] = ACTIONS(1294),
+    [anon_sym_U_SQUOTE] = ACTIONS(1294),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1294),
+    [anon_sym_SQUOTE] = ACTIONS(1294),
+    [anon_sym_L_DQUOTE] = ACTIONS(1294),
+    [anon_sym_u_DQUOTE] = ACTIONS(1294),
+    [anon_sym_U_DQUOTE] = ACTIONS(1294),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1294),
+    [anon_sym_DQUOTE] = ACTIONS(1294),
+    [sym_true] = ACTIONS(1292),
+    [sym_false] = ACTIONS(1292),
+    [anon_sym_NULL] = ACTIONS(1292),
+    [anon_sym_nullptr] = ACTIONS(1292),
     [sym_comment] = ACTIONS(3),
   },
   [296] = {
-    [sym_identifier] = ACTIONS(1317),
-    [aux_sym_preproc_include_token1] = ACTIONS(1317),
-    [aux_sym_preproc_def_token1] = ACTIONS(1317),
-    [aux_sym_preproc_if_token1] = ACTIONS(1317),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1317),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1317),
-    [sym_preproc_directive] = ACTIONS(1317),
-    [anon_sym_LPAREN2] = ACTIONS(1319),
-    [anon_sym_BANG] = ACTIONS(1319),
-    [anon_sym_TILDE] = ACTIONS(1319),
-    [anon_sym_DASH] = ACTIONS(1317),
-    [anon_sym_PLUS] = ACTIONS(1317),
-    [anon_sym_STAR] = ACTIONS(1319),
-    [anon_sym_AMP] = ACTIONS(1319),
-    [anon_sym_SEMI] = ACTIONS(1319),
-    [anon_sym___extension__] = ACTIONS(1317),
-    [anon_sym_typedef] = ACTIONS(1317),
-    [anon_sym_extern] = ACTIONS(1317),
-    [anon_sym___attribute__] = ACTIONS(1317),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1319),
-    [anon_sym___declspec] = ACTIONS(1317),
-    [anon_sym___cdecl] = ACTIONS(1317),
-    [anon_sym___clrcall] = ACTIONS(1317),
-    [anon_sym___stdcall] = ACTIONS(1317),
-    [anon_sym___fastcall] = ACTIONS(1317),
-    [anon_sym___thiscall] = ACTIONS(1317),
-    [anon_sym___vectorcall] = ACTIONS(1317),
-    [anon_sym_LBRACE] = ACTIONS(1319),
-    [anon_sym_RBRACE] = ACTIONS(1319),
-    [anon_sym_signed] = ACTIONS(1317),
-    [anon_sym_unsigned] = ACTIONS(1317),
-    [anon_sym_long] = ACTIONS(1317),
-    [anon_sym_short] = ACTIONS(1317),
-    [anon_sym_static] = ACTIONS(1317),
-    [anon_sym_auto] = ACTIONS(1317),
-    [anon_sym_register] = ACTIONS(1317),
-    [anon_sym_inline] = ACTIONS(1317),
-    [anon_sym___inline] = ACTIONS(1317),
-    [anon_sym___inline__] = ACTIONS(1317),
-    [anon_sym___forceinline] = ACTIONS(1317),
-    [anon_sym_thread_local] = ACTIONS(1317),
-    [anon_sym___thread] = ACTIONS(1317),
-    [anon_sym_const] = ACTIONS(1317),
-    [anon_sym_constexpr] = ACTIONS(1317),
-    [anon_sym_volatile] = ACTIONS(1317),
-    [anon_sym_restrict] = ACTIONS(1317),
-    [anon_sym___restrict__] = ACTIONS(1317),
-    [anon_sym__Atomic] = ACTIONS(1317),
-    [anon_sym__Noreturn] = ACTIONS(1317),
-    [anon_sym_noreturn] = ACTIONS(1317),
-    [anon_sym__Nonnull] = ACTIONS(1317),
-    [anon_sym_alignas] = ACTIONS(1317),
-    [anon_sym__Alignas] = ACTIONS(1317),
-    [sym_primitive_type] = ACTIONS(1317),
-    [anon_sym_enum] = ACTIONS(1317),
-    [anon_sym_struct] = ACTIONS(1317),
-    [anon_sym_union] = ACTIONS(1317),
-    [anon_sym_if] = ACTIONS(1317),
-    [anon_sym_switch] = ACTIONS(1317),
-    [anon_sym_case] = ACTIONS(1317),
-    [anon_sym_default] = ACTIONS(1317),
-    [anon_sym_while] = ACTIONS(1317),
-    [anon_sym_do] = ACTIONS(1317),
-    [anon_sym_for] = ACTIONS(1317),
-    [anon_sym_return] = ACTIONS(1317),
-    [anon_sym_break] = ACTIONS(1317),
-    [anon_sym_continue] = ACTIONS(1317),
-    [anon_sym_goto] = ACTIONS(1317),
-    [anon_sym___try] = ACTIONS(1317),
-    [anon_sym___leave] = ACTIONS(1317),
-    [anon_sym_DASH_DASH] = ACTIONS(1319),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1319),
-    [anon_sym_sizeof] = ACTIONS(1317),
-    [anon_sym___alignof__] = ACTIONS(1317),
-    [anon_sym___alignof] = ACTIONS(1317),
-    [anon_sym__alignof] = ACTIONS(1317),
-    [anon_sym_alignof] = ACTIONS(1317),
-    [anon_sym__Alignof] = ACTIONS(1317),
-    [anon_sym_offsetof] = ACTIONS(1317),
-    [anon_sym__Generic] = ACTIONS(1317),
-    [anon_sym_asm] = ACTIONS(1317),
-    [anon_sym___asm__] = ACTIONS(1317),
-    [anon_sym___asm] = ACTIONS(1317),
-    [sym_number_literal] = ACTIONS(1319),
-    [anon_sym_L_SQUOTE] = ACTIONS(1319),
-    [anon_sym_u_SQUOTE] = ACTIONS(1319),
-    [anon_sym_U_SQUOTE] = ACTIONS(1319),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1319),
-    [anon_sym_SQUOTE] = ACTIONS(1319),
-    [anon_sym_L_DQUOTE] = ACTIONS(1319),
-    [anon_sym_u_DQUOTE] = ACTIONS(1319),
-    [anon_sym_U_DQUOTE] = ACTIONS(1319),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1319),
-    [anon_sym_DQUOTE] = ACTIONS(1319),
-    [sym_true] = ACTIONS(1317),
-    [sym_false] = ACTIONS(1317),
-    [anon_sym_NULL] = ACTIONS(1317),
-    [anon_sym_nullptr] = ACTIONS(1317),
+    [sym_identifier] = ACTIONS(1300),
+    [aux_sym_preproc_include_token1] = ACTIONS(1300),
+    [aux_sym_preproc_def_token1] = ACTIONS(1300),
+    [aux_sym_preproc_if_token1] = ACTIONS(1300),
+    [aux_sym_preproc_if_token2] = ACTIONS(1300),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1300),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1300),
+    [sym_preproc_directive] = ACTIONS(1300),
+    [anon_sym_LPAREN2] = ACTIONS(1302),
+    [anon_sym_BANG] = ACTIONS(1302),
+    [anon_sym_TILDE] = ACTIONS(1302),
+    [anon_sym_DASH] = ACTIONS(1300),
+    [anon_sym_PLUS] = ACTIONS(1300),
+    [anon_sym_STAR] = ACTIONS(1302),
+    [anon_sym_AMP] = ACTIONS(1302),
+    [anon_sym_SEMI] = ACTIONS(1302),
+    [anon_sym___extension__] = ACTIONS(1300),
+    [anon_sym_typedef] = ACTIONS(1300),
+    [anon_sym_extern] = ACTIONS(1300),
+    [anon_sym___attribute__] = ACTIONS(1300),
+    [anon_sym___attribute] = ACTIONS(1300),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1302),
+    [anon_sym___declspec] = ACTIONS(1300),
+    [anon_sym___cdecl] = ACTIONS(1300),
+    [anon_sym___clrcall] = ACTIONS(1300),
+    [anon_sym___stdcall] = ACTIONS(1300),
+    [anon_sym___fastcall] = ACTIONS(1300),
+    [anon_sym___thiscall] = ACTIONS(1300),
+    [anon_sym___vectorcall] = ACTIONS(1300),
+    [anon_sym_LBRACE] = ACTIONS(1302),
+    [anon_sym_signed] = ACTIONS(1300),
+    [anon_sym_unsigned] = ACTIONS(1300),
+    [anon_sym_long] = ACTIONS(1300),
+    [anon_sym_short] = ACTIONS(1300),
+    [anon_sym_static] = ACTIONS(1300),
+    [anon_sym_auto] = ACTIONS(1300),
+    [anon_sym_register] = ACTIONS(1300),
+    [anon_sym_inline] = ACTIONS(1300),
+    [anon_sym___inline] = ACTIONS(1300),
+    [anon_sym___inline__] = ACTIONS(1300),
+    [anon_sym___forceinline] = ACTIONS(1300),
+    [anon_sym_thread_local] = ACTIONS(1300),
+    [anon_sym___thread] = ACTIONS(1300),
+    [anon_sym_const] = ACTIONS(1300),
+    [anon_sym_constexpr] = ACTIONS(1300),
+    [anon_sym_volatile] = ACTIONS(1300),
+    [anon_sym_restrict] = ACTIONS(1300),
+    [anon_sym___restrict__] = ACTIONS(1300),
+    [anon_sym__Atomic] = ACTIONS(1300),
+    [anon_sym__Noreturn] = ACTIONS(1300),
+    [anon_sym_noreturn] = ACTIONS(1300),
+    [anon_sym__Nonnull] = ACTIONS(1300),
+    [anon_sym_alignas] = ACTIONS(1300),
+    [anon_sym__Alignas] = ACTIONS(1300),
+    [sym_primitive_type] = ACTIONS(1300),
+    [anon_sym_enum] = ACTIONS(1300),
+    [anon_sym_struct] = ACTIONS(1300),
+    [anon_sym_union] = ACTIONS(1300),
+    [anon_sym_if] = ACTIONS(1300),
+    [anon_sym_switch] = ACTIONS(1300),
+    [anon_sym_case] = ACTIONS(1300),
+    [anon_sym_default] = ACTIONS(1300),
+    [anon_sym_while] = ACTIONS(1300),
+    [anon_sym_do] = ACTIONS(1300),
+    [anon_sym_for] = ACTIONS(1300),
+    [anon_sym_return] = ACTIONS(1300),
+    [anon_sym_break] = ACTIONS(1300),
+    [anon_sym_continue] = ACTIONS(1300),
+    [anon_sym_goto] = ACTIONS(1300),
+    [anon_sym___try] = ACTIONS(1300),
+    [anon_sym___leave] = ACTIONS(1300),
+    [anon_sym_DASH_DASH] = ACTIONS(1302),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1302),
+    [anon_sym_sizeof] = ACTIONS(1300),
+    [anon_sym___alignof__] = ACTIONS(1300),
+    [anon_sym___alignof] = ACTIONS(1300),
+    [anon_sym__alignof] = ACTIONS(1300),
+    [anon_sym_alignof] = ACTIONS(1300),
+    [anon_sym__Alignof] = ACTIONS(1300),
+    [anon_sym_offsetof] = ACTIONS(1300),
+    [anon_sym__Generic] = ACTIONS(1300),
+    [anon_sym_asm] = ACTIONS(1300),
+    [anon_sym___asm__] = ACTIONS(1300),
+    [anon_sym___asm] = ACTIONS(1300),
+    [sym_number_literal] = ACTIONS(1302),
+    [anon_sym_L_SQUOTE] = ACTIONS(1302),
+    [anon_sym_u_SQUOTE] = ACTIONS(1302),
+    [anon_sym_U_SQUOTE] = ACTIONS(1302),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1302),
+    [anon_sym_SQUOTE] = ACTIONS(1302),
+    [anon_sym_L_DQUOTE] = ACTIONS(1302),
+    [anon_sym_u_DQUOTE] = ACTIONS(1302),
+    [anon_sym_U_DQUOTE] = ACTIONS(1302),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1302),
+    [anon_sym_DQUOTE] = ACTIONS(1302),
+    [sym_true] = ACTIONS(1300),
+    [sym_false] = ACTIONS(1300),
+    [anon_sym_NULL] = ACTIONS(1300),
+    [anon_sym_nullptr] = ACTIONS(1300),
     [sym_comment] = ACTIONS(3),
   },
   [297] = {
-    [sym_identifier] = ACTIONS(1329),
-    [aux_sym_preproc_include_token1] = ACTIONS(1329),
-    [aux_sym_preproc_def_token1] = ACTIONS(1329),
-    [aux_sym_preproc_if_token1] = ACTIONS(1329),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1329),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1329),
-    [sym_preproc_directive] = ACTIONS(1329),
-    [anon_sym_LPAREN2] = ACTIONS(1331),
-    [anon_sym_BANG] = ACTIONS(1331),
-    [anon_sym_TILDE] = ACTIONS(1331),
-    [anon_sym_DASH] = ACTIONS(1329),
-    [anon_sym_PLUS] = ACTIONS(1329),
-    [anon_sym_STAR] = ACTIONS(1331),
-    [anon_sym_AMP] = ACTIONS(1331),
-    [anon_sym_SEMI] = ACTIONS(1331),
-    [anon_sym___extension__] = ACTIONS(1329),
-    [anon_sym_typedef] = ACTIONS(1329),
-    [anon_sym_extern] = ACTIONS(1329),
-    [anon_sym___attribute__] = ACTIONS(1329),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1331),
-    [anon_sym___declspec] = ACTIONS(1329),
-    [anon_sym___cdecl] = ACTIONS(1329),
-    [anon_sym___clrcall] = ACTIONS(1329),
-    [anon_sym___stdcall] = ACTIONS(1329),
-    [anon_sym___fastcall] = ACTIONS(1329),
-    [anon_sym___thiscall] = ACTIONS(1329),
-    [anon_sym___vectorcall] = ACTIONS(1329),
-    [anon_sym_LBRACE] = ACTIONS(1331),
-    [anon_sym_RBRACE] = ACTIONS(1331),
-    [anon_sym_signed] = ACTIONS(1329),
-    [anon_sym_unsigned] = ACTIONS(1329),
-    [anon_sym_long] = ACTIONS(1329),
-    [anon_sym_short] = ACTIONS(1329),
-    [anon_sym_static] = ACTIONS(1329),
-    [anon_sym_auto] = ACTIONS(1329),
-    [anon_sym_register] = ACTIONS(1329),
-    [anon_sym_inline] = ACTIONS(1329),
-    [anon_sym___inline] = ACTIONS(1329),
-    [anon_sym___inline__] = ACTIONS(1329),
-    [anon_sym___forceinline] = ACTIONS(1329),
-    [anon_sym_thread_local] = ACTIONS(1329),
-    [anon_sym___thread] = ACTIONS(1329),
-    [anon_sym_const] = ACTIONS(1329),
-    [anon_sym_constexpr] = ACTIONS(1329),
-    [anon_sym_volatile] = ACTIONS(1329),
-    [anon_sym_restrict] = ACTIONS(1329),
-    [anon_sym___restrict__] = ACTIONS(1329),
-    [anon_sym__Atomic] = ACTIONS(1329),
-    [anon_sym__Noreturn] = ACTIONS(1329),
-    [anon_sym_noreturn] = ACTIONS(1329),
-    [anon_sym__Nonnull] = ACTIONS(1329),
-    [anon_sym_alignas] = ACTIONS(1329),
-    [anon_sym__Alignas] = ACTIONS(1329),
-    [sym_primitive_type] = ACTIONS(1329),
-    [anon_sym_enum] = ACTIONS(1329),
-    [anon_sym_struct] = ACTIONS(1329),
-    [anon_sym_union] = ACTIONS(1329),
-    [anon_sym_if] = ACTIONS(1329),
-    [anon_sym_switch] = ACTIONS(1329),
-    [anon_sym_case] = ACTIONS(1329),
-    [anon_sym_default] = ACTIONS(1329),
-    [anon_sym_while] = ACTIONS(1329),
-    [anon_sym_do] = ACTIONS(1329),
-    [anon_sym_for] = ACTIONS(1329),
-    [anon_sym_return] = ACTIONS(1329),
-    [anon_sym_break] = ACTIONS(1329),
-    [anon_sym_continue] = ACTIONS(1329),
-    [anon_sym_goto] = ACTIONS(1329),
-    [anon_sym___try] = ACTIONS(1329),
-    [anon_sym___leave] = ACTIONS(1329),
-    [anon_sym_DASH_DASH] = ACTIONS(1331),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1331),
-    [anon_sym_sizeof] = ACTIONS(1329),
-    [anon_sym___alignof__] = ACTIONS(1329),
-    [anon_sym___alignof] = ACTIONS(1329),
-    [anon_sym__alignof] = ACTIONS(1329),
-    [anon_sym_alignof] = ACTIONS(1329),
-    [anon_sym__Alignof] = ACTIONS(1329),
-    [anon_sym_offsetof] = ACTIONS(1329),
-    [anon_sym__Generic] = ACTIONS(1329),
-    [anon_sym_asm] = ACTIONS(1329),
-    [anon_sym___asm__] = ACTIONS(1329),
-    [anon_sym___asm] = ACTIONS(1329),
-    [sym_number_literal] = ACTIONS(1331),
-    [anon_sym_L_SQUOTE] = ACTIONS(1331),
-    [anon_sym_u_SQUOTE] = ACTIONS(1331),
-    [anon_sym_U_SQUOTE] = ACTIONS(1331),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1331),
-    [anon_sym_SQUOTE] = ACTIONS(1331),
-    [anon_sym_L_DQUOTE] = ACTIONS(1331),
-    [anon_sym_u_DQUOTE] = ACTIONS(1331),
-    [anon_sym_U_DQUOTE] = ACTIONS(1331),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1331),
-    [anon_sym_DQUOTE] = ACTIONS(1331),
-    [sym_true] = ACTIONS(1329),
-    [sym_false] = ACTIONS(1329),
-    [anon_sym_NULL] = ACTIONS(1329),
-    [anon_sym_nullptr] = ACTIONS(1329),
+    [sym_identifier] = ACTIONS(1340),
+    [aux_sym_preproc_include_token1] = ACTIONS(1340),
+    [aux_sym_preproc_def_token1] = ACTIONS(1340),
+    [aux_sym_preproc_if_token1] = ACTIONS(1340),
+    [aux_sym_preproc_if_token2] = ACTIONS(1340),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1340),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1340),
+    [sym_preproc_directive] = ACTIONS(1340),
+    [anon_sym_LPAREN2] = ACTIONS(1342),
+    [anon_sym_BANG] = ACTIONS(1342),
+    [anon_sym_TILDE] = ACTIONS(1342),
+    [anon_sym_DASH] = ACTIONS(1340),
+    [anon_sym_PLUS] = ACTIONS(1340),
+    [anon_sym_STAR] = ACTIONS(1342),
+    [anon_sym_AMP] = ACTIONS(1342),
+    [anon_sym_SEMI] = ACTIONS(1342),
+    [anon_sym___extension__] = ACTIONS(1340),
+    [anon_sym_typedef] = ACTIONS(1340),
+    [anon_sym_extern] = ACTIONS(1340),
+    [anon_sym___attribute__] = ACTIONS(1340),
+    [anon_sym___attribute] = ACTIONS(1340),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1342),
+    [anon_sym___declspec] = ACTIONS(1340),
+    [anon_sym___cdecl] = ACTIONS(1340),
+    [anon_sym___clrcall] = ACTIONS(1340),
+    [anon_sym___stdcall] = ACTIONS(1340),
+    [anon_sym___fastcall] = ACTIONS(1340),
+    [anon_sym___thiscall] = ACTIONS(1340),
+    [anon_sym___vectorcall] = ACTIONS(1340),
+    [anon_sym_LBRACE] = ACTIONS(1342),
+    [anon_sym_signed] = ACTIONS(1340),
+    [anon_sym_unsigned] = ACTIONS(1340),
+    [anon_sym_long] = ACTIONS(1340),
+    [anon_sym_short] = ACTIONS(1340),
+    [anon_sym_static] = ACTIONS(1340),
+    [anon_sym_auto] = ACTIONS(1340),
+    [anon_sym_register] = ACTIONS(1340),
+    [anon_sym_inline] = ACTIONS(1340),
+    [anon_sym___inline] = ACTIONS(1340),
+    [anon_sym___inline__] = ACTIONS(1340),
+    [anon_sym___forceinline] = ACTIONS(1340),
+    [anon_sym_thread_local] = ACTIONS(1340),
+    [anon_sym___thread] = ACTIONS(1340),
+    [anon_sym_const] = ACTIONS(1340),
+    [anon_sym_constexpr] = ACTIONS(1340),
+    [anon_sym_volatile] = ACTIONS(1340),
+    [anon_sym_restrict] = ACTIONS(1340),
+    [anon_sym___restrict__] = ACTIONS(1340),
+    [anon_sym__Atomic] = ACTIONS(1340),
+    [anon_sym__Noreturn] = ACTIONS(1340),
+    [anon_sym_noreturn] = ACTIONS(1340),
+    [anon_sym__Nonnull] = ACTIONS(1340),
+    [anon_sym_alignas] = ACTIONS(1340),
+    [anon_sym__Alignas] = ACTIONS(1340),
+    [sym_primitive_type] = ACTIONS(1340),
+    [anon_sym_enum] = ACTIONS(1340),
+    [anon_sym_struct] = ACTIONS(1340),
+    [anon_sym_union] = ACTIONS(1340),
+    [anon_sym_if] = ACTIONS(1340),
+    [anon_sym_switch] = ACTIONS(1340),
+    [anon_sym_case] = ACTIONS(1340),
+    [anon_sym_default] = ACTIONS(1340),
+    [anon_sym_while] = ACTIONS(1340),
+    [anon_sym_do] = ACTIONS(1340),
+    [anon_sym_for] = ACTIONS(1340),
+    [anon_sym_return] = ACTIONS(1340),
+    [anon_sym_break] = ACTIONS(1340),
+    [anon_sym_continue] = ACTIONS(1340),
+    [anon_sym_goto] = ACTIONS(1340),
+    [anon_sym___try] = ACTIONS(1340),
+    [anon_sym___leave] = ACTIONS(1340),
+    [anon_sym_DASH_DASH] = ACTIONS(1342),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1342),
+    [anon_sym_sizeof] = ACTIONS(1340),
+    [anon_sym___alignof__] = ACTIONS(1340),
+    [anon_sym___alignof] = ACTIONS(1340),
+    [anon_sym__alignof] = ACTIONS(1340),
+    [anon_sym_alignof] = ACTIONS(1340),
+    [anon_sym__Alignof] = ACTIONS(1340),
+    [anon_sym_offsetof] = ACTIONS(1340),
+    [anon_sym__Generic] = ACTIONS(1340),
+    [anon_sym_asm] = ACTIONS(1340),
+    [anon_sym___asm__] = ACTIONS(1340),
+    [anon_sym___asm] = ACTIONS(1340),
+    [sym_number_literal] = ACTIONS(1342),
+    [anon_sym_L_SQUOTE] = ACTIONS(1342),
+    [anon_sym_u_SQUOTE] = ACTIONS(1342),
+    [anon_sym_U_SQUOTE] = ACTIONS(1342),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1342),
+    [anon_sym_SQUOTE] = ACTIONS(1342),
+    [anon_sym_L_DQUOTE] = ACTIONS(1342),
+    [anon_sym_u_DQUOTE] = ACTIONS(1342),
+    [anon_sym_U_DQUOTE] = ACTIONS(1342),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1342),
+    [anon_sym_DQUOTE] = ACTIONS(1342),
+    [sym_true] = ACTIONS(1340),
+    [sym_false] = ACTIONS(1340),
+    [anon_sym_NULL] = ACTIONS(1340),
+    [anon_sym_nullptr] = ACTIONS(1340),
     [sym_comment] = ACTIONS(3),
   },
   [298] = {
-    [sym_identifier] = ACTIONS(1371),
-    [aux_sym_preproc_include_token1] = ACTIONS(1371),
-    [aux_sym_preproc_def_token1] = ACTIONS(1371),
-    [aux_sym_preproc_if_token1] = ACTIONS(1371),
-    [aux_sym_preproc_if_token2] = ACTIONS(1371),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1371),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1371),
-    [sym_preproc_directive] = ACTIONS(1371),
-    [anon_sym_LPAREN2] = ACTIONS(1373),
-    [anon_sym_BANG] = ACTIONS(1373),
-    [anon_sym_TILDE] = ACTIONS(1373),
-    [anon_sym_DASH] = ACTIONS(1371),
-    [anon_sym_PLUS] = ACTIONS(1371),
-    [anon_sym_STAR] = ACTIONS(1373),
-    [anon_sym_AMP] = ACTIONS(1373),
-    [anon_sym_SEMI] = ACTIONS(1373),
-    [anon_sym___extension__] = ACTIONS(1371),
-    [anon_sym_typedef] = ACTIONS(1371),
-    [anon_sym_extern] = ACTIONS(1371),
-    [anon_sym___attribute__] = ACTIONS(1371),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1373),
-    [anon_sym___declspec] = ACTIONS(1371),
-    [anon_sym___cdecl] = ACTIONS(1371),
-    [anon_sym___clrcall] = ACTIONS(1371),
-    [anon_sym___stdcall] = ACTIONS(1371),
-    [anon_sym___fastcall] = ACTIONS(1371),
-    [anon_sym___thiscall] = ACTIONS(1371),
-    [anon_sym___vectorcall] = ACTIONS(1371),
-    [anon_sym_LBRACE] = ACTIONS(1373),
-    [anon_sym_signed] = ACTIONS(1371),
-    [anon_sym_unsigned] = ACTIONS(1371),
-    [anon_sym_long] = ACTIONS(1371),
-    [anon_sym_short] = ACTIONS(1371),
-    [anon_sym_static] = ACTIONS(1371),
-    [anon_sym_auto] = ACTIONS(1371),
-    [anon_sym_register] = ACTIONS(1371),
-    [anon_sym_inline] = ACTIONS(1371),
-    [anon_sym___inline] = ACTIONS(1371),
-    [anon_sym___inline__] = ACTIONS(1371),
-    [anon_sym___forceinline] = ACTIONS(1371),
-    [anon_sym_thread_local] = ACTIONS(1371),
-    [anon_sym___thread] = ACTIONS(1371),
-    [anon_sym_const] = ACTIONS(1371),
-    [anon_sym_constexpr] = ACTIONS(1371),
-    [anon_sym_volatile] = ACTIONS(1371),
-    [anon_sym_restrict] = ACTIONS(1371),
-    [anon_sym___restrict__] = ACTIONS(1371),
-    [anon_sym__Atomic] = ACTIONS(1371),
-    [anon_sym__Noreturn] = ACTIONS(1371),
-    [anon_sym_noreturn] = ACTIONS(1371),
-    [anon_sym__Nonnull] = ACTIONS(1371),
-    [anon_sym_alignas] = ACTIONS(1371),
-    [anon_sym__Alignas] = ACTIONS(1371),
-    [sym_primitive_type] = ACTIONS(1371),
-    [anon_sym_enum] = ACTIONS(1371),
-    [anon_sym_struct] = ACTIONS(1371),
-    [anon_sym_union] = ACTIONS(1371),
-    [anon_sym_if] = ACTIONS(1371),
-    [anon_sym_switch] = ACTIONS(1371),
-    [anon_sym_case] = ACTIONS(1371),
-    [anon_sym_default] = ACTIONS(1371),
-    [anon_sym_while] = ACTIONS(1371),
-    [anon_sym_do] = ACTIONS(1371),
-    [anon_sym_for] = ACTIONS(1371),
-    [anon_sym_return] = ACTIONS(1371),
-    [anon_sym_break] = ACTIONS(1371),
-    [anon_sym_continue] = ACTIONS(1371),
-    [anon_sym_goto] = ACTIONS(1371),
-    [anon_sym___try] = ACTIONS(1371),
-    [anon_sym___leave] = ACTIONS(1371),
-    [anon_sym_DASH_DASH] = ACTIONS(1373),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1373),
-    [anon_sym_sizeof] = ACTIONS(1371),
-    [anon_sym___alignof__] = ACTIONS(1371),
-    [anon_sym___alignof] = ACTIONS(1371),
-    [anon_sym__alignof] = ACTIONS(1371),
-    [anon_sym_alignof] = ACTIONS(1371),
-    [anon_sym__Alignof] = ACTIONS(1371),
-    [anon_sym_offsetof] = ACTIONS(1371),
-    [anon_sym__Generic] = ACTIONS(1371),
-    [anon_sym_asm] = ACTIONS(1371),
-    [anon_sym___asm__] = ACTIONS(1371),
-    [anon_sym___asm] = ACTIONS(1371),
-    [sym_number_literal] = ACTIONS(1373),
-    [anon_sym_L_SQUOTE] = ACTIONS(1373),
-    [anon_sym_u_SQUOTE] = ACTIONS(1373),
-    [anon_sym_U_SQUOTE] = ACTIONS(1373),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1373),
-    [anon_sym_SQUOTE] = ACTIONS(1373),
-    [anon_sym_L_DQUOTE] = ACTIONS(1373),
-    [anon_sym_u_DQUOTE] = ACTIONS(1373),
-    [anon_sym_U_DQUOTE] = ACTIONS(1373),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1373),
-    [anon_sym_DQUOTE] = ACTIONS(1373),
-    [sym_true] = ACTIONS(1371),
-    [sym_false] = ACTIONS(1371),
-    [anon_sym_NULL] = ACTIONS(1371),
-    [anon_sym_nullptr] = ACTIONS(1371),
+    [sym_identifier] = ACTIONS(1268),
+    [aux_sym_preproc_include_token1] = ACTIONS(1268),
+    [aux_sym_preproc_def_token1] = ACTIONS(1268),
+    [aux_sym_preproc_if_token1] = ACTIONS(1268),
+    [aux_sym_preproc_if_token2] = ACTIONS(1268),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1268),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1268),
+    [sym_preproc_directive] = ACTIONS(1268),
+    [anon_sym_LPAREN2] = ACTIONS(1270),
+    [anon_sym_BANG] = ACTIONS(1270),
+    [anon_sym_TILDE] = ACTIONS(1270),
+    [anon_sym_DASH] = ACTIONS(1268),
+    [anon_sym_PLUS] = ACTIONS(1268),
+    [anon_sym_STAR] = ACTIONS(1270),
+    [anon_sym_AMP] = ACTIONS(1270),
+    [anon_sym_SEMI] = ACTIONS(1270),
+    [anon_sym___extension__] = ACTIONS(1268),
+    [anon_sym_typedef] = ACTIONS(1268),
+    [anon_sym_extern] = ACTIONS(1268),
+    [anon_sym___attribute__] = ACTIONS(1268),
+    [anon_sym___attribute] = ACTIONS(1268),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1270),
+    [anon_sym___declspec] = ACTIONS(1268),
+    [anon_sym___cdecl] = ACTIONS(1268),
+    [anon_sym___clrcall] = ACTIONS(1268),
+    [anon_sym___stdcall] = ACTIONS(1268),
+    [anon_sym___fastcall] = ACTIONS(1268),
+    [anon_sym___thiscall] = ACTIONS(1268),
+    [anon_sym___vectorcall] = ACTIONS(1268),
+    [anon_sym_LBRACE] = ACTIONS(1270),
+    [anon_sym_signed] = ACTIONS(1268),
+    [anon_sym_unsigned] = ACTIONS(1268),
+    [anon_sym_long] = ACTIONS(1268),
+    [anon_sym_short] = ACTIONS(1268),
+    [anon_sym_static] = ACTIONS(1268),
+    [anon_sym_auto] = ACTIONS(1268),
+    [anon_sym_register] = ACTIONS(1268),
+    [anon_sym_inline] = ACTIONS(1268),
+    [anon_sym___inline] = ACTIONS(1268),
+    [anon_sym___inline__] = ACTIONS(1268),
+    [anon_sym___forceinline] = ACTIONS(1268),
+    [anon_sym_thread_local] = ACTIONS(1268),
+    [anon_sym___thread] = ACTIONS(1268),
+    [anon_sym_const] = ACTIONS(1268),
+    [anon_sym_constexpr] = ACTIONS(1268),
+    [anon_sym_volatile] = ACTIONS(1268),
+    [anon_sym_restrict] = ACTIONS(1268),
+    [anon_sym___restrict__] = ACTIONS(1268),
+    [anon_sym__Atomic] = ACTIONS(1268),
+    [anon_sym__Noreturn] = ACTIONS(1268),
+    [anon_sym_noreturn] = ACTIONS(1268),
+    [anon_sym__Nonnull] = ACTIONS(1268),
+    [anon_sym_alignas] = ACTIONS(1268),
+    [anon_sym__Alignas] = ACTIONS(1268),
+    [sym_primitive_type] = ACTIONS(1268),
+    [anon_sym_enum] = ACTIONS(1268),
+    [anon_sym_struct] = ACTIONS(1268),
+    [anon_sym_union] = ACTIONS(1268),
+    [anon_sym_if] = ACTIONS(1268),
+    [anon_sym_switch] = ACTIONS(1268),
+    [anon_sym_case] = ACTIONS(1268),
+    [anon_sym_default] = ACTIONS(1268),
+    [anon_sym_while] = ACTIONS(1268),
+    [anon_sym_do] = ACTIONS(1268),
+    [anon_sym_for] = ACTIONS(1268),
+    [anon_sym_return] = ACTIONS(1268),
+    [anon_sym_break] = ACTIONS(1268),
+    [anon_sym_continue] = ACTIONS(1268),
+    [anon_sym_goto] = ACTIONS(1268),
+    [anon_sym___try] = ACTIONS(1268),
+    [anon_sym___leave] = ACTIONS(1268),
+    [anon_sym_DASH_DASH] = ACTIONS(1270),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1270),
+    [anon_sym_sizeof] = ACTIONS(1268),
+    [anon_sym___alignof__] = ACTIONS(1268),
+    [anon_sym___alignof] = ACTIONS(1268),
+    [anon_sym__alignof] = ACTIONS(1268),
+    [anon_sym_alignof] = ACTIONS(1268),
+    [anon_sym__Alignof] = ACTIONS(1268),
+    [anon_sym_offsetof] = ACTIONS(1268),
+    [anon_sym__Generic] = ACTIONS(1268),
+    [anon_sym_asm] = ACTIONS(1268),
+    [anon_sym___asm__] = ACTIONS(1268),
+    [anon_sym___asm] = ACTIONS(1268),
+    [sym_number_literal] = ACTIONS(1270),
+    [anon_sym_L_SQUOTE] = ACTIONS(1270),
+    [anon_sym_u_SQUOTE] = ACTIONS(1270),
+    [anon_sym_U_SQUOTE] = ACTIONS(1270),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1270),
+    [anon_sym_SQUOTE] = ACTIONS(1270),
+    [anon_sym_L_DQUOTE] = ACTIONS(1270),
+    [anon_sym_u_DQUOTE] = ACTIONS(1270),
+    [anon_sym_U_DQUOTE] = ACTIONS(1270),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1270),
+    [anon_sym_DQUOTE] = ACTIONS(1270),
+    [sym_true] = ACTIONS(1268),
+    [sym_false] = ACTIONS(1268),
+    [anon_sym_NULL] = ACTIONS(1268),
+    [anon_sym_nullptr] = ACTIONS(1268),
     [sym_comment] = ACTIONS(3),
   },
   [299] = {
-    [sym_identifier] = ACTIONS(1333),
-    [aux_sym_preproc_include_token1] = ACTIONS(1333),
-    [aux_sym_preproc_def_token1] = ACTIONS(1333),
-    [aux_sym_preproc_if_token1] = ACTIONS(1333),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1333),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1333),
-    [sym_preproc_directive] = ACTIONS(1333),
-    [anon_sym_LPAREN2] = ACTIONS(1335),
-    [anon_sym_BANG] = ACTIONS(1335),
-    [anon_sym_TILDE] = ACTIONS(1335),
-    [anon_sym_DASH] = ACTIONS(1333),
-    [anon_sym_PLUS] = ACTIONS(1333),
-    [anon_sym_STAR] = ACTIONS(1335),
-    [anon_sym_AMP] = ACTIONS(1335),
-    [anon_sym_SEMI] = ACTIONS(1335),
-    [anon_sym___extension__] = ACTIONS(1333),
-    [anon_sym_typedef] = ACTIONS(1333),
-    [anon_sym_extern] = ACTIONS(1333),
-    [anon_sym___attribute__] = ACTIONS(1333),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1335),
-    [anon_sym___declspec] = ACTIONS(1333),
-    [anon_sym___cdecl] = ACTIONS(1333),
-    [anon_sym___clrcall] = ACTIONS(1333),
-    [anon_sym___stdcall] = ACTIONS(1333),
-    [anon_sym___fastcall] = ACTIONS(1333),
-    [anon_sym___thiscall] = ACTIONS(1333),
-    [anon_sym___vectorcall] = ACTIONS(1333),
-    [anon_sym_LBRACE] = ACTIONS(1335),
-    [anon_sym_RBRACE] = ACTIONS(1335),
-    [anon_sym_signed] = ACTIONS(1333),
-    [anon_sym_unsigned] = ACTIONS(1333),
-    [anon_sym_long] = ACTIONS(1333),
-    [anon_sym_short] = ACTIONS(1333),
-    [anon_sym_static] = ACTIONS(1333),
-    [anon_sym_auto] = ACTIONS(1333),
-    [anon_sym_register] = ACTIONS(1333),
-    [anon_sym_inline] = ACTIONS(1333),
-    [anon_sym___inline] = ACTIONS(1333),
-    [anon_sym___inline__] = ACTIONS(1333),
-    [anon_sym___forceinline] = ACTIONS(1333),
-    [anon_sym_thread_local] = ACTIONS(1333),
-    [anon_sym___thread] = ACTIONS(1333),
-    [anon_sym_const] = ACTIONS(1333),
-    [anon_sym_constexpr] = ACTIONS(1333),
-    [anon_sym_volatile] = ACTIONS(1333),
-    [anon_sym_restrict] = ACTIONS(1333),
-    [anon_sym___restrict__] = ACTIONS(1333),
-    [anon_sym__Atomic] = ACTIONS(1333),
-    [anon_sym__Noreturn] = ACTIONS(1333),
-    [anon_sym_noreturn] = ACTIONS(1333),
-    [anon_sym__Nonnull] = ACTIONS(1333),
-    [anon_sym_alignas] = ACTIONS(1333),
-    [anon_sym__Alignas] = ACTIONS(1333),
-    [sym_primitive_type] = ACTIONS(1333),
-    [anon_sym_enum] = ACTIONS(1333),
-    [anon_sym_struct] = ACTIONS(1333),
-    [anon_sym_union] = ACTIONS(1333),
-    [anon_sym_if] = ACTIONS(1333),
-    [anon_sym_switch] = ACTIONS(1333),
-    [anon_sym_case] = ACTIONS(1333),
-    [anon_sym_default] = ACTIONS(1333),
-    [anon_sym_while] = ACTIONS(1333),
-    [anon_sym_do] = ACTIONS(1333),
-    [anon_sym_for] = ACTIONS(1333),
-    [anon_sym_return] = ACTIONS(1333),
-    [anon_sym_break] = ACTIONS(1333),
-    [anon_sym_continue] = ACTIONS(1333),
-    [anon_sym_goto] = ACTIONS(1333),
-    [anon_sym___try] = ACTIONS(1333),
-    [anon_sym___leave] = ACTIONS(1333),
-    [anon_sym_DASH_DASH] = ACTIONS(1335),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1335),
-    [anon_sym_sizeof] = ACTIONS(1333),
-    [anon_sym___alignof__] = ACTIONS(1333),
-    [anon_sym___alignof] = ACTIONS(1333),
-    [anon_sym__alignof] = ACTIONS(1333),
-    [anon_sym_alignof] = ACTIONS(1333),
-    [anon_sym__Alignof] = ACTIONS(1333),
-    [anon_sym_offsetof] = ACTIONS(1333),
-    [anon_sym__Generic] = ACTIONS(1333),
-    [anon_sym_asm] = ACTIONS(1333),
-    [anon_sym___asm__] = ACTIONS(1333),
-    [anon_sym___asm] = ACTIONS(1333),
-    [sym_number_literal] = ACTIONS(1335),
-    [anon_sym_L_SQUOTE] = ACTIONS(1335),
-    [anon_sym_u_SQUOTE] = ACTIONS(1335),
-    [anon_sym_U_SQUOTE] = ACTIONS(1335),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1335),
-    [anon_sym_SQUOTE] = ACTIONS(1335),
-    [anon_sym_L_DQUOTE] = ACTIONS(1335),
-    [anon_sym_u_DQUOTE] = ACTIONS(1335),
-    [anon_sym_U_DQUOTE] = ACTIONS(1335),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1335),
-    [anon_sym_DQUOTE] = ACTIONS(1335),
-    [sym_true] = ACTIONS(1333),
-    [sym_false] = ACTIONS(1333),
-    [anon_sym_NULL] = ACTIONS(1333),
-    [anon_sym_nullptr] = ACTIONS(1333),
+    [sym_identifier] = ACTIONS(1296),
+    [aux_sym_preproc_include_token1] = ACTIONS(1296),
+    [aux_sym_preproc_def_token1] = ACTIONS(1296),
+    [aux_sym_preproc_if_token1] = ACTIONS(1296),
+    [aux_sym_preproc_if_token2] = ACTIONS(1296),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1296),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1296),
+    [sym_preproc_directive] = ACTIONS(1296),
+    [anon_sym_LPAREN2] = ACTIONS(1298),
+    [anon_sym_BANG] = ACTIONS(1298),
+    [anon_sym_TILDE] = ACTIONS(1298),
+    [anon_sym_DASH] = ACTIONS(1296),
+    [anon_sym_PLUS] = ACTIONS(1296),
+    [anon_sym_STAR] = ACTIONS(1298),
+    [anon_sym_AMP] = ACTIONS(1298),
+    [anon_sym_SEMI] = ACTIONS(1298),
+    [anon_sym___extension__] = ACTIONS(1296),
+    [anon_sym_typedef] = ACTIONS(1296),
+    [anon_sym_extern] = ACTIONS(1296),
+    [anon_sym___attribute__] = ACTIONS(1296),
+    [anon_sym___attribute] = ACTIONS(1296),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1298),
+    [anon_sym___declspec] = ACTIONS(1296),
+    [anon_sym___cdecl] = ACTIONS(1296),
+    [anon_sym___clrcall] = ACTIONS(1296),
+    [anon_sym___stdcall] = ACTIONS(1296),
+    [anon_sym___fastcall] = ACTIONS(1296),
+    [anon_sym___thiscall] = ACTIONS(1296),
+    [anon_sym___vectorcall] = ACTIONS(1296),
+    [anon_sym_LBRACE] = ACTIONS(1298),
+    [anon_sym_signed] = ACTIONS(1296),
+    [anon_sym_unsigned] = ACTIONS(1296),
+    [anon_sym_long] = ACTIONS(1296),
+    [anon_sym_short] = ACTIONS(1296),
+    [anon_sym_static] = ACTIONS(1296),
+    [anon_sym_auto] = ACTIONS(1296),
+    [anon_sym_register] = ACTIONS(1296),
+    [anon_sym_inline] = ACTIONS(1296),
+    [anon_sym___inline] = ACTIONS(1296),
+    [anon_sym___inline__] = ACTIONS(1296),
+    [anon_sym___forceinline] = ACTIONS(1296),
+    [anon_sym_thread_local] = ACTIONS(1296),
+    [anon_sym___thread] = ACTIONS(1296),
+    [anon_sym_const] = ACTIONS(1296),
+    [anon_sym_constexpr] = ACTIONS(1296),
+    [anon_sym_volatile] = ACTIONS(1296),
+    [anon_sym_restrict] = ACTIONS(1296),
+    [anon_sym___restrict__] = ACTIONS(1296),
+    [anon_sym__Atomic] = ACTIONS(1296),
+    [anon_sym__Noreturn] = ACTIONS(1296),
+    [anon_sym_noreturn] = ACTIONS(1296),
+    [anon_sym__Nonnull] = ACTIONS(1296),
+    [anon_sym_alignas] = ACTIONS(1296),
+    [anon_sym__Alignas] = ACTIONS(1296),
+    [sym_primitive_type] = ACTIONS(1296),
+    [anon_sym_enum] = ACTIONS(1296),
+    [anon_sym_struct] = ACTIONS(1296),
+    [anon_sym_union] = ACTIONS(1296),
+    [anon_sym_if] = ACTIONS(1296),
+    [anon_sym_switch] = ACTIONS(1296),
+    [anon_sym_case] = ACTIONS(1296),
+    [anon_sym_default] = ACTIONS(1296),
+    [anon_sym_while] = ACTIONS(1296),
+    [anon_sym_do] = ACTIONS(1296),
+    [anon_sym_for] = ACTIONS(1296),
+    [anon_sym_return] = ACTIONS(1296),
+    [anon_sym_break] = ACTIONS(1296),
+    [anon_sym_continue] = ACTIONS(1296),
+    [anon_sym_goto] = ACTIONS(1296),
+    [anon_sym___try] = ACTIONS(1296),
+    [anon_sym___leave] = ACTIONS(1296),
+    [anon_sym_DASH_DASH] = ACTIONS(1298),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1298),
+    [anon_sym_sizeof] = ACTIONS(1296),
+    [anon_sym___alignof__] = ACTIONS(1296),
+    [anon_sym___alignof] = ACTIONS(1296),
+    [anon_sym__alignof] = ACTIONS(1296),
+    [anon_sym_alignof] = ACTIONS(1296),
+    [anon_sym__Alignof] = ACTIONS(1296),
+    [anon_sym_offsetof] = ACTIONS(1296),
+    [anon_sym__Generic] = ACTIONS(1296),
+    [anon_sym_asm] = ACTIONS(1296),
+    [anon_sym___asm__] = ACTIONS(1296),
+    [anon_sym___asm] = ACTIONS(1296),
+    [sym_number_literal] = ACTIONS(1298),
+    [anon_sym_L_SQUOTE] = ACTIONS(1298),
+    [anon_sym_u_SQUOTE] = ACTIONS(1298),
+    [anon_sym_U_SQUOTE] = ACTIONS(1298),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1298),
+    [anon_sym_SQUOTE] = ACTIONS(1298),
+    [anon_sym_L_DQUOTE] = ACTIONS(1298),
+    [anon_sym_u_DQUOTE] = ACTIONS(1298),
+    [anon_sym_U_DQUOTE] = ACTIONS(1298),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1298),
+    [anon_sym_DQUOTE] = ACTIONS(1298),
+    [sym_true] = ACTIONS(1296),
+    [sym_false] = ACTIONS(1296),
+    [anon_sym_NULL] = ACTIONS(1296),
+    [anon_sym_nullptr] = ACTIONS(1296),
     [sym_comment] = ACTIONS(3),
   },
   [300] = {
-    [sym_identifier] = ACTIONS(1273),
-    [aux_sym_preproc_include_token1] = ACTIONS(1273),
-    [aux_sym_preproc_def_token1] = ACTIONS(1273),
-    [aux_sym_preproc_if_token1] = ACTIONS(1273),
-    [aux_sym_preproc_if_token2] = ACTIONS(1273),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1273),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1273),
-    [sym_preproc_directive] = ACTIONS(1273),
-    [anon_sym_LPAREN2] = ACTIONS(1275),
-    [anon_sym_BANG] = ACTIONS(1275),
-    [anon_sym_TILDE] = ACTIONS(1275),
-    [anon_sym_DASH] = ACTIONS(1273),
-    [anon_sym_PLUS] = ACTIONS(1273),
-    [anon_sym_STAR] = ACTIONS(1275),
-    [anon_sym_AMP] = ACTIONS(1275),
-    [anon_sym_SEMI] = ACTIONS(1275),
-    [anon_sym___extension__] = ACTIONS(1273),
-    [anon_sym_typedef] = ACTIONS(1273),
-    [anon_sym_extern] = ACTIONS(1273),
-    [anon_sym___attribute__] = ACTIONS(1273),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1275),
-    [anon_sym___declspec] = ACTIONS(1273),
-    [anon_sym___cdecl] = ACTIONS(1273),
-    [anon_sym___clrcall] = ACTIONS(1273),
-    [anon_sym___stdcall] = ACTIONS(1273),
-    [anon_sym___fastcall] = ACTIONS(1273),
-    [anon_sym___thiscall] = ACTIONS(1273),
-    [anon_sym___vectorcall] = ACTIONS(1273),
-    [anon_sym_LBRACE] = ACTIONS(1275),
-    [anon_sym_signed] = ACTIONS(1273),
-    [anon_sym_unsigned] = ACTIONS(1273),
-    [anon_sym_long] = ACTIONS(1273),
-    [anon_sym_short] = ACTIONS(1273),
-    [anon_sym_static] = ACTIONS(1273),
-    [anon_sym_auto] = ACTIONS(1273),
-    [anon_sym_register] = ACTIONS(1273),
-    [anon_sym_inline] = ACTIONS(1273),
-    [anon_sym___inline] = ACTIONS(1273),
-    [anon_sym___inline__] = ACTIONS(1273),
-    [anon_sym___forceinline] = ACTIONS(1273),
-    [anon_sym_thread_local] = ACTIONS(1273),
-    [anon_sym___thread] = ACTIONS(1273),
-    [anon_sym_const] = ACTIONS(1273),
-    [anon_sym_constexpr] = ACTIONS(1273),
-    [anon_sym_volatile] = ACTIONS(1273),
-    [anon_sym_restrict] = ACTIONS(1273),
-    [anon_sym___restrict__] = ACTIONS(1273),
-    [anon_sym__Atomic] = ACTIONS(1273),
-    [anon_sym__Noreturn] = ACTIONS(1273),
-    [anon_sym_noreturn] = ACTIONS(1273),
-    [anon_sym__Nonnull] = ACTIONS(1273),
-    [anon_sym_alignas] = ACTIONS(1273),
-    [anon_sym__Alignas] = ACTIONS(1273),
-    [sym_primitive_type] = ACTIONS(1273),
-    [anon_sym_enum] = ACTIONS(1273),
-    [anon_sym_struct] = ACTIONS(1273),
-    [anon_sym_union] = ACTIONS(1273),
-    [anon_sym_if] = ACTIONS(1273),
-    [anon_sym_switch] = ACTIONS(1273),
-    [anon_sym_case] = ACTIONS(1273),
-    [anon_sym_default] = ACTIONS(1273),
-    [anon_sym_while] = ACTIONS(1273),
-    [anon_sym_do] = ACTIONS(1273),
-    [anon_sym_for] = ACTIONS(1273),
-    [anon_sym_return] = ACTIONS(1273),
-    [anon_sym_break] = ACTIONS(1273),
-    [anon_sym_continue] = ACTIONS(1273),
-    [anon_sym_goto] = ACTIONS(1273),
-    [anon_sym___try] = ACTIONS(1273),
-    [anon_sym___leave] = ACTIONS(1273),
-    [anon_sym_DASH_DASH] = ACTIONS(1275),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1275),
-    [anon_sym_sizeof] = ACTIONS(1273),
-    [anon_sym___alignof__] = ACTIONS(1273),
-    [anon_sym___alignof] = ACTIONS(1273),
-    [anon_sym__alignof] = ACTIONS(1273),
-    [anon_sym_alignof] = ACTIONS(1273),
-    [anon_sym__Alignof] = ACTIONS(1273),
-    [anon_sym_offsetof] = ACTIONS(1273),
-    [anon_sym__Generic] = ACTIONS(1273),
-    [anon_sym_asm] = ACTIONS(1273),
-    [anon_sym___asm__] = ACTIONS(1273),
-    [anon_sym___asm] = ACTIONS(1273),
-    [sym_number_literal] = ACTIONS(1275),
-    [anon_sym_L_SQUOTE] = ACTIONS(1275),
-    [anon_sym_u_SQUOTE] = ACTIONS(1275),
-    [anon_sym_U_SQUOTE] = ACTIONS(1275),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1275),
-    [anon_sym_SQUOTE] = ACTIONS(1275),
-    [anon_sym_L_DQUOTE] = ACTIONS(1275),
-    [anon_sym_u_DQUOTE] = ACTIONS(1275),
-    [anon_sym_U_DQUOTE] = ACTIONS(1275),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1275),
-    [anon_sym_DQUOTE] = ACTIONS(1275),
-    [sym_true] = ACTIONS(1273),
-    [sym_false] = ACTIONS(1273),
-    [anon_sym_NULL] = ACTIONS(1273),
-    [anon_sym_nullptr] = ACTIONS(1273),
+    [sym_identifier] = ACTIONS(1308),
+    [aux_sym_preproc_include_token1] = ACTIONS(1308),
+    [aux_sym_preproc_def_token1] = ACTIONS(1308),
+    [aux_sym_preproc_if_token1] = ACTIONS(1308),
+    [aux_sym_preproc_if_token2] = ACTIONS(1308),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1308),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1308),
+    [sym_preproc_directive] = ACTIONS(1308),
+    [anon_sym_LPAREN2] = ACTIONS(1310),
+    [anon_sym_BANG] = ACTIONS(1310),
+    [anon_sym_TILDE] = ACTIONS(1310),
+    [anon_sym_DASH] = ACTIONS(1308),
+    [anon_sym_PLUS] = ACTIONS(1308),
+    [anon_sym_STAR] = ACTIONS(1310),
+    [anon_sym_AMP] = ACTIONS(1310),
+    [anon_sym_SEMI] = ACTIONS(1310),
+    [anon_sym___extension__] = ACTIONS(1308),
+    [anon_sym_typedef] = ACTIONS(1308),
+    [anon_sym_extern] = ACTIONS(1308),
+    [anon_sym___attribute__] = ACTIONS(1308),
+    [anon_sym___attribute] = ACTIONS(1308),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1310),
+    [anon_sym___declspec] = ACTIONS(1308),
+    [anon_sym___cdecl] = ACTIONS(1308),
+    [anon_sym___clrcall] = ACTIONS(1308),
+    [anon_sym___stdcall] = ACTIONS(1308),
+    [anon_sym___fastcall] = ACTIONS(1308),
+    [anon_sym___thiscall] = ACTIONS(1308),
+    [anon_sym___vectorcall] = ACTIONS(1308),
+    [anon_sym_LBRACE] = ACTIONS(1310),
+    [anon_sym_signed] = ACTIONS(1308),
+    [anon_sym_unsigned] = ACTIONS(1308),
+    [anon_sym_long] = ACTIONS(1308),
+    [anon_sym_short] = ACTIONS(1308),
+    [anon_sym_static] = ACTIONS(1308),
+    [anon_sym_auto] = ACTIONS(1308),
+    [anon_sym_register] = ACTIONS(1308),
+    [anon_sym_inline] = ACTIONS(1308),
+    [anon_sym___inline] = ACTIONS(1308),
+    [anon_sym___inline__] = ACTIONS(1308),
+    [anon_sym___forceinline] = ACTIONS(1308),
+    [anon_sym_thread_local] = ACTIONS(1308),
+    [anon_sym___thread] = ACTIONS(1308),
+    [anon_sym_const] = ACTIONS(1308),
+    [anon_sym_constexpr] = ACTIONS(1308),
+    [anon_sym_volatile] = ACTIONS(1308),
+    [anon_sym_restrict] = ACTIONS(1308),
+    [anon_sym___restrict__] = ACTIONS(1308),
+    [anon_sym__Atomic] = ACTIONS(1308),
+    [anon_sym__Noreturn] = ACTIONS(1308),
+    [anon_sym_noreturn] = ACTIONS(1308),
+    [anon_sym__Nonnull] = ACTIONS(1308),
+    [anon_sym_alignas] = ACTIONS(1308),
+    [anon_sym__Alignas] = ACTIONS(1308),
+    [sym_primitive_type] = ACTIONS(1308),
+    [anon_sym_enum] = ACTIONS(1308),
+    [anon_sym_struct] = ACTIONS(1308),
+    [anon_sym_union] = ACTIONS(1308),
+    [anon_sym_if] = ACTIONS(1308),
+    [anon_sym_switch] = ACTIONS(1308),
+    [anon_sym_case] = ACTIONS(1308),
+    [anon_sym_default] = ACTIONS(1308),
+    [anon_sym_while] = ACTIONS(1308),
+    [anon_sym_do] = ACTIONS(1308),
+    [anon_sym_for] = ACTIONS(1308),
+    [anon_sym_return] = ACTIONS(1308),
+    [anon_sym_break] = ACTIONS(1308),
+    [anon_sym_continue] = ACTIONS(1308),
+    [anon_sym_goto] = ACTIONS(1308),
+    [anon_sym___try] = ACTIONS(1308),
+    [anon_sym___leave] = ACTIONS(1308),
+    [anon_sym_DASH_DASH] = ACTIONS(1310),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1310),
+    [anon_sym_sizeof] = ACTIONS(1308),
+    [anon_sym___alignof__] = ACTIONS(1308),
+    [anon_sym___alignof] = ACTIONS(1308),
+    [anon_sym__alignof] = ACTIONS(1308),
+    [anon_sym_alignof] = ACTIONS(1308),
+    [anon_sym__Alignof] = ACTIONS(1308),
+    [anon_sym_offsetof] = ACTIONS(1308),
+    [anon_sym__Generic] = ACTIONS(1308),
+    [anon_sym_asm] = ACTIONS(1308),
+    [anon_sym___asm__] = ACTIONS(1308),
+    [anon_sym___asm] = ACTIONS(1308),
+    [sym_number_literal] = ACTIONS(1310),
+    [anon_sym_L_SQUOTE] = ACTIONS(1310),
+    [anon_sym_u_SQUOTE] = ACTIONS(1310),
+    [anon_sym_U_SQUOTE] = ACTIONS(1310),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1310),
+    [anon_sym_SQUOTE] = ACTIONS(1310),
+    [anon_sym_L_DQUOTE] = ACTIONS(1310),
+    [anon_sym_u_DQUOTE] = ACTIONS(1310),
+    [anon_sym_U_DQUOTE] = ACTIONS(1310),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1310),
+    [anon_sym_DQUOTE] = ACTIONS(1310),
+    [sym_true] = ACTIONS(1308),
+    [sym_false] = ACTIONS(1308),
+    [anon_sym_NULL] = ACTIONS(1308),
+    [anon_sym_nullptr] = ACTIONS(1308),
     [sym_comment] = ACTIONS(3),
   },
   [301] = {
-    [sym_identifier] = ACTIONS(1285),
-    [aux_sym_preproc_include_token1] = ACTIONS(1285),
-    [aux_sym_preproc_def_token1] = ACTIONS(1285),
-    [aux_sym_preproc_if_token1] = ACTIONS(1285),
-    [aux_sym_preproc_if_token2] = ACTIONS(1285),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1285),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1285),
-    [sym_preproc_directive] = ACTIONS(1285),
-    [anon_sym_LPAREN2] = ACTIONS(1287),
-    [anon_sym_BANG] = ACTIONS(1287),
-    [anon_sym_TILDE] = ACTIONS(1287),
-    [anon_sym_DASH] = ACTIONS(1285),
-    [anon_sym_PLUS] = ACTIONS(1285),
-    [anon_sym_STAR] = ACTIONS(1287),
-    [anon_sym_AMP] = ACTIONS(1287),
-    [anon_sym_SEMI] = ACTIONS(1287),
-    [anon_sym___extension__] = ACTIONS(1285),
-    [anon_sym_typedef] = ACTIONS(1285),
-    [anon_sym_extern] = ACTIONS(1285),
-    [anon_sym___attribute__] = ACTIONS(1285),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1287),
-    [anon_sym___declspec] = ACTIONS(1285),
-    [anon_sym___cdecl] = ACTIONS(1285),
-    [anon_sym___clrcall] = ACTIONS(1285),
-    [anon_sym___stdcall] = ACTIONS(1285),
-    [anon_sym___fastcall] = ACTIONS(1285),
-    [anon_sym___thiscall] = ACTIONS(1285),
-    [anon_sym___vectorcall] = ACTIONS(1285),
-    [anon_sym_LBRACE] = ACTIONS(1287),
-    [anon_sym_signed] = ACTIONS(1285),
-    [anon_sym_unsigned] = ACTIONS(1285),
-    [anon_sym_long] = ACTIONS(1285),
-    [anon_sym_short] = ACTIONS(1285),
-    [anon_sym_static] = ACTIONS(1285),
-    [anon_sym_auto] = ACTIONS(1285),
-    [anon_sym_register] = ACTIONS(1285),
-    [anon_sym_inline] = ACTIONS(1285),
-    [anon_sym___inline] = ACTIONS(1285),
-    [anon_sym___inline__] = ACTIONS(1285),
-    [anon_sym___forceinline] = ACTIONS(1285),
-    [anon_sym_thread_local] = ACTIONS(1285),
-    [anon_sym___thread] = ACTIONS(1285),
-    [anon_sym_const] = ACTIONS(1285),
-    [anon_sym_constexpr] = ACTIONS(1285),
-    [anon_sym_volatile] = ACTIONS(1285),
-    [anon_sym_restrict] = ACTIONS(1285),
-    [anon_sym___restrict__] = ACTIONS(1285),
-    [anon_sym__Atomic] = ACTIONS(1285),
-    [anon_sym__Noreturn] = ACTIONS(1285),
-    [anon_sym_noreturn] = ACTIONS(1285),
-    [anon_sym__Nonnull] = ACTIONS(1285),
-    [anon_sym_alignas] = ACTIONS(1285),
-    [anon_sym__Alignas] = ACTIONS(1285),
-    [sym_primitive_type] = ACTIONS(1285),
-    [anon_sym_enum] = ACTIONS(1285),
-    [anon_sym_struct] = ACTIONS(1285),
-    [anon_sym_union] = ACTIONS(1285),
-    [anon_sym_if] = ACTIONS(1285),
-    [anon_sym_switch] = ACTIONS(1285),
-    [anon_sym_case] = ACTIONS(1285),
-    [anon_sym_default] = ACTIONS(1285),
-    [anon_sym_while] = ACTIONS(1285),
-    [anon_sym_do] = ACTIONS(1285),
-    [anon_sym_for] = ACTIONS(1285),
-    [anon_sym_return] = ACTIONS(1285),
-    [anon_sym_break] = ACTIONS(1285),
-    [anon_sym_continue] = ACTIONS(1285),
-    [anon_sym_goto] = ACTIONS(1285),
-    [anon_sym___try] = ACTIONS(1285),
-    [anon_sym___leave] = ACTIONS(1285),
-    [anon_sym_DASH_DASH] = ACTIONS(1287),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1287),
-    [anon_sym_sizeof] = ACTIONS(1285),
-    [anon_sym___alignof__] = ACTIONS(1285),
-    [anon_sym___alignof] = ACTIONS(1285),
-    [anon_sym__alignof] = ACTIONS(1285),
-    [anon_sym_alignof] = ACTIONS(1285),
-    [anon_sym__Alignof] = ACTIONS(1285),
-    [anon_sym_offsetof] = ACTIONS(1285),
-    [anon_sym__Generic] = ACTIONS(1285),
-    [anon_sym_asm] = ACTIONS(1285),
-    [anon_sym___asm__] = ACTIONS(1285),
-    [anon_sym___asm] = ACTIONS(1285),
-    [sym_number_literal] = ACTIONS(1287),
-    [anon_sym_L_SQUOTE] = ACTIONS(1287),
-    [anon_sym_u_SQUOTE] = ACTIONS(1287),
-    [anon_sym_U_SQUOTE] = ACTIONS(1287),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1287),
-    [anon_sym_SQUOTE] = ACTIONS(1287),
-    [anon_sym_L_DQUOTE] = ACTIONS(1287),
-    [anon_sym_u_DQUOTE] = ACTIONS(1287),
-    [anon_sym_U_DQUOTE] = ACTIONS(1287),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1287),
-    [anon_sym_DQUOTE] = ACTIONS(1287),
-    [sym_true] = ACTIONS(1285),
-    [sym_false] = ACTIONS(1285),
-    [anon_sym_NULL] = ACTIONS(1285),
-    [anon_sym_nullptr] = ACTIONS(1285),
+    [sym_identifier] = ACTIONS(1316),
+    [aux_sym_preproc_include_token1] = ACTIONS(1316),
+    [aux_sym_preproc_def_token1] = ACTIONS(1316),
+    [aux_sym_preproc_if_token1] = ACTIONS(1316),
+    [aux_sym_preproc_if_token2] = ACTIONS(1316),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1316),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1316),
+    [sym_preproc_directive] = ACTIONS(1316),
+    [anon_sym_LPAREN2] = ACTIONS(1318),
+    [anon_sym_BANG] = ACTIONS(1318),
+    [anon_sym_TILDE] = ACTIONS(1318),
+    [anon_sym_DASH] = ACTIONS(1316),
+    [anon_sym_PLUS] = ACTIONS(1316),
+    [anon_sym_STAR] = ACTIONS(1318),
+    [anon_sym_AMP] = ACTIONS(1318),
+    [anon_sym_SEMI] = ACTIONS(1318),
+    [anon_sym___extension__] = ACTIONS(1316),
+    [anon_sym_typedef] = ACTIONS(1316),
+    [anon_sym_extern] = ACTIONS(1316),
+    [anon_sym___attribute__] = ACTIONS(1316),
+    [anon_sym___attribute] = ACTIONS(1316),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1318),
+    [anon_sym___declspec] = ACTIONS(1316),
+    [anon_sym___cdecl] = ACTIONS(1316),
+    [anon_sym___clrcall] = ACTIONS(1316),
+    [anon_sym___stdcall] = ACTIONS(1316),
+    [anon_sym___fastcall] = ACTIONS(1316),
+    [anon_sym___thiscall] = ACTIONS(1316),
+    [anon_sym___vectorcall] = ACTIONS(1316),
+    [anon_sym_LBRACE] = ACTIONS(1318),
+    [anon_sym_signed] = ACTIONS(1316),
+    [anon_sym_unsigned] = ACTIONS(1316),
+    [anon_sym_long] = ACTIONS(1316),
+    [anon_sym_short] = ACTIONS(1316),
+    [anon_sym_static] = ACTIONS(1316),
+    [anon_sym_auto] = ACTIONS(1316),
+    [anon_sym_register] = ACTIONS(1316),
+    [anon_sym_inline] = ACTIONS(1316),
+    [anon_sym___inline] = ACTIONS(1316),
+    [anon_sym___inline__] = ACTIONS(1316),
+    [anon_sym___forceinline] = ACTIONS(1316),
+    [anon_sym_thread_local] = ACTIONS(1316),
+    [anon_sym___thread] = ACTIONS(1316),
+    [anon_sym_const] = ACTIONS(1316),
+    [anon_sym_constexpr] = ACTIONS(1316),
+    [anon_sym_volatile] = ACTIONS(1316),
+    [anon_sym_restrict] = ACTIONS(1316),
+    [anon_sym___restrict__] = ACTIONS(1316),
+    [anon_sym__Atomic] = ACTIONS(1316),
+    [anon_sym__Noreturn] = ACTIONS(1316),
+    [anon_sym_noreturn] = ACTIONS(1316),
+    [anon_sym__Nonnull] = ACTIONS(1316),
+    [anon_sym_alignas] = ACTIONS(1316),
+    [anon_sym__Alignas] = ACTIONS(1316),
+    [sym_primitive_type] = ACTIONS(1316),
+    [anon_sym_enum] = ACTIONS(1316),
+    [anon_sym_struct] = ACTIONS(1316),
+    [anon_sym_union] = ACTIONS(1316),
+    [anon_sym_if] = ACTIONS(1316),
+    [anon_sym_switch] = ACTIONS(1316),
+    [anon_sym_case] = ACTIONS(1316),
+    [anon_sym_default] = ACTIONS(1316),
+    [anon_sym_while] = ACTIONS(1316),
+    [anon_sym_do] = ACTIONS(1316),
+    [anon_sym_for] = ACTIONS(1316),
+    [anon_sym_return] = ACTIONS(1316),
+    [anon_sym_break] = ACTIONS(1316),
+    [anon_sym_continue] = ACTIONS(1316),
+    [anon_sym_goto] = ACTIONS(1316),
+    [anon_sym___try] = ACTIONS(1316),
+    [anon_sym___leave] = ACTIONS(1316),
+    [anon_sym_DASH_DASH] = ACTIONS(1318),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1318),
+    [anon_sym_sizeof] = ACTIONS(1316),
+    [anon_sym___alignof__] = ACTIONS(1316),
+    [anon_sym___alignof] = ACTIONS(1316),
+    [anon_sym__alignof] = ACTIONS(1316),
+    [anon_sym_alignof] = ACTIONS(1316),
+    [anon_sym__Alignof] = ACTIONS(1316),
+    [anon_sym_offsetof] = ACTIONS(1316),
+    [anon_sym__Generic] = ACTIONS(1316),
+    [anon_sym_asm] = ACTIONS(1316),
+    [anon_sym___asm__] = ACTIONS(1316),
+    [anon_sym___asm] = ACTIONS(1316),
+    [sym_number_literal] = ACTIONS(1318),
+    [anon_sym_L_SQUOTE] = ACTIONS(1318),
+    [anon_sym_u_SQUOTE] = ACTIONS(1318),
+    [anon_sym_U_SQUOTE] = ACTIONS(1318),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1318),
+    [anon_sym_SQUOTE] = ACTIONS(1318),
+    [anon_sym_L_DQUOTE] = ACTIONS(1318),
+    [anon_sym_u_DQUOTE] = ACTIONS(1318),
+    [anon_sym_U_DQUOTE] = ACTIONS(1318),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1318),
+    [anon_sym_DQUOTE] = ACTIONS(1318),
+    [sym_true] = ACTIONS(1316),
+    [sym_false] = ACTIONS(1316),
+    [anon_sym_NULL] = ACTIONS(1316),
+    [anon_sym_nullptr] = ACTIONS(1316),
     [sym_comment] = ACTIONS(3),
   },
   [302] = {
-    [sym_identifier] = ACTIONS(1317),
-    [aux_sym_preproc_include_token1] = ACTIONS(1317),
-    [aux_sym_preproc_def_token1] = ACTIONS(1317),
-    [aux_sym_preproc_if_token1] = ACTIONS(1317),
-    [aux_sym_preproc_if_token2] = ACTIONS(1317),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1317),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1317),
-    [sym_preproc_directive] = ACTIONS(1317),
-    [anon_sym_LPAREN2] = ACTIONS(1319),
-    [anon_sym_BANG] = ACTIONS(1319),
-    [anon_sym_TILDE] = ACTIONS(1319),
-    [anon_sym_DASH] = ACTIONS(1317),
-    [anon_sym_PLUS] = ACTIONS(1317),
-    [anon_sym_STAR] = ACTIONS(1319),
-    [anon_sym_AMP] = ACTIONS(1319),
-    [anon_sym_SEMI] = ACTIONS(1319),
-    [anon_sym___extension__] = ACTIONS(1317),
-    [anon_sym_typedef] = ACTIONS(1317),
-    [anon_sym_extern] = ACTIONS(1317),
-    [anon_sym___attribute__] = ACTIONS(1317),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1319),
-    [anon_sym___declspec] = ACTIONS(1317),
-    [anon_sym___cdecl] = ACTIONS(1317),
-    [anon_sym___clrcall] = ACTIONS(1317),
-    [anon_sym___stdcall] = ACTIONS(1317),
-    [anon_sym___fastcall] = ACTIONS(1317),
-    [anon_sym___thiscall] = ACTIONS(1317),
-    [anon_sym___vectorcall] = ACTIONS(1317),
-    [anon_sym_LBRACE] = ACTIONS(1319),
-    [anon_sym_signed] = ACTIONS(1317),
-    [anon_sym_unsigned] = ACTIONS(1317),
-    [anon_sym_long] = ACTIONS(1317),
-    [anon_sym_short] = ACTIONS(1317),
-    [anon_sym_static] = ACTIONS(1317),
-    [anon_sym_auto] = ACTIONS(1317),
-    [anon_sym_register] = ACTIONS(1317),
-    [anon_sym_inline] = ACTIONS(1317),
-    [anon_sym___inline] = ACTIONS(1317),
-    [anon_sym___inline__] = ACTIONS(1317),
-    [anon_sym___forceinline] = ACTIONS(1317),
-    [anon_sym_thread_local] = ACTIONS(1317),
-    [anon_sym___thread] = ACTIONS(1317),
-    [anon_sym_const] = ACTIONS(1317),
-    [anon_sym_constexpr] = ACTIONS(1317),
-    [anon_sym_volatile] = ACTIONS(1317),
-    [anon_sym_restrict] = ACTIONS(1317),
-    [anon_sym___restrict__] = ACTIONS(1317),
-    [anon_sym__Atomic] = ACTIONS(1317),
-    [anon_sym__Noreturn] = ACTIONS(1317),
-    [anon_sym_noreturn] = ACTIONS(1317),
-    [anon_sym__Nonnull] = ACTIONS(1317),
-    [anon_sym_alignas] = ACTIONS(1317),
-    [anon_sym__Alignas] = ACTIONS(1317),
-    [sym_primitive_type] = ACTIONS(1317),
-    [anon_sym_enum] = ACTIONS(1317),
-    [anon_sym_struct] = ACTIONS(1317),
-    [anon_sym_union] = ACTIONS(1317),
-    [anon_sym_if] = ACTIONS(1317),
-    [anon_sym_switch] = ACTIONS(1317),
-    [anon_sym_case] = ACTIONS(1317),
-    [anon_sym_default] = ACTIONS(1317),
-    [anon_sym_while] = ACTIONS(1317),
-    [anon_sym_do] = ACTIONS(1317),
-    [anon_sym_for] = ACTIONS(1317),
-    [anon_sym_return] = ACTIONS(1317),
-    [anon_sym_break] = ACTIONS(1317),
-    [anon_sym_continue] = ACTIONS(1317),
-    [anon_sym_goto] = ACTIONS(1317),
-    [anon_sym___try] = ACTIONS(1317),
-    [anon_sym___leave] = ACTIONS(1317),
-    [anon_sym_DASH_DASH] = ACTIONS(1319),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1319),
-    [anon_sym_sizeof] = ACTIONS(1317),
-    [anon_sym___alignof__] = ACTIONS(1317),
-    [anon_sym___alignof] = ACTIONS(1317),
-    [anon_sym__alignof] = ACTIONS(1317),
-    [anon_sym_alignof] = ACTIONS(1317),
-    [anon_sym__Alignof] = ACTIONS(1317),
-    [anon_sym_offsetof] = ACTIONS(1317),
-    [anon_sym__Generic] = ACTIONS(1317),
-    [anon_sym_asm] = ACTIONS(1317),
-    [anon_sym___asm__] = ACTIONS(1317),
-    [anon_sym___asm] = ACTIONS(1317),
-    [sym_number_literal] = ACTIONS(1319),
-    [anon_sym_L_SQUOTE] = ACTIONS(1319),
-    [anon_sym_u_SQUOTE] = ACTIONS(1319),
-    [anon_sym_U_SQUOTE] = ACTIONS(1319),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1319),
-    [anon_sym_SQUOTE] = ACTIONS(1319),
-    [anon_sym_L_DQUOTE] = ACTIONS(1319),
-    [anon_sym_u_DQUOTE] = ACTIONS(1319),
-    [anon_sym_U_DQUOTE] = ACTIONS(1319),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1319),
-    [anon_sym_DQUOTE] = ACTIONS(1319),
-    [sym_true] = ACTIONS(1317),
-    [sym_false] = ACTIONS(1317),
-    [anon_sym_NULL] = ACTIONS(1317),
-    [anon_sym_nullptr] = ACTIONS(1317),
+    [sym_identifier] = ACTIONS(1324),
+    [aux_sym_preproc_include_token1] = ACTIONS(1324),
+    [aux_sym_preproc_def_token1] = ACTIONS(1324),
+    [aux_sym_preproc_if_token1] = ACTIONS(1324),
+    [aux_sym_preproc_if_token2] = ACTIONS(1324),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1324),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1324),
+    [sym_preproc_directive] = ACTIONS(1324),
+    [anon_sym_LPAREN2] = ACTIONS(1326),
+    [anon_sym_BANG] = ACTIONS(1326),
+    [anon_sym_TILDE] = ACTIONS(1326),
+    [anon_sym_DASH] = ACTIONS(1324),
+    [anon_sym_PLUS] = ACTIONS(1324),
+    [anon_sym_STAR] = ACTIONS(1326),
+    [anon_sym_AMP] = ACTIONS(1326),
+    [anon_sym_SEMI] = ACTIONS(1326),
+    [anon_sym___extension__] = ACTIONS(1324),
+    [anon_sym_typedef] = ACTIONS(1324),
+    [anon_sym_extern] = ACTIONS(1324),
+    [anon_sym___attribute__] = ACTIONS(1324),
+    [anon_sym___attribute] = ACTIONS(1324),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1326),
+    [anon_sym___declspec] = ACTIONS(1324),
+    [anon_sym___cdecl] = ACTIONS(1324),
+    [anon_sym___clrcall] = ACTIONS(1324),
+    [anon_sym___stdcall] = ACTIONS(1324),
+    [anon_sym___fastcall] = ACTIONS(1324),
+    [anon_sym___thiscall] = ACTIONS(1324),
+    [anon_sym___vectorcall] = ACTIONS(1324),
+    [anon_sym_LBRACE] = ACTIONS(1326),
+    [anon_sym_signed] = ACTIONS(1324),
+    [anon_sym_unsigned] = ACTIONS(1324),
+    [anon_sym_long] = ACTIONS(1324),
+    [anon_sym_short] = ACTIONS(1324),
+    [anon_sym_static] = ACTIONS(1324),
+    [anon_sym_auto] = ACTIONS(1324),
+    [anon_sym_register] = ACTIONS(1324),
+    [anon_sym_inline] = ACTIONS(1324),
+    [anon_sym___inline] = ACTIONS(1324),
+    [anon_sym___inline__] = ACTIONS(1324),
+    [anon_sym___forceinline] = ACTIONS(1324),
+    [anon_sym_thread_local] = ACTIONS(1324),
+    [anon_sym___thread] = ACTIONS(1324),
+    [anon_sym_const] = ACTIONS(1324),
+    [anon_sym_constexpr] = ACTIONS(1324),
+    [anon_sym_volatile] = ACTIONS(1324),
+    [anon_sym_restrict] = ACTIONS(1324),
+    [anon_sym___restrict__] = ACTIONS(1324),
+    [anon_sym__Atomic] = ACTIONS(1324),
+    [anon_sym__Noreturn] = ACTIONS(1324),
+    [anon_sym_noreturn] = ACTIONS(1324),
+    [anon_sym__Nonnull] = ACTIONS(1324),
+    [anon_sym_alignas] = ACTIONS(1324),
+    [anon_sym__Alignas] = ACTIONS(1324),
+    [sym_primitive_type] = ACTIONS(1324),
+    [anon_sym_enum] = ACTIONS(1324),
+    [anon_sym_struct] = ACTIONS(1324),
+    [anon_sym_union] = ACTIONS(1324),
+    [anon_sym_if] = ACTIONS(1324),
+    [anon_sym_switch] = ACTIONS(1324),
+    [anon_sym_case] = ACTIONS(1324),
+    [anon_sym_default] = ACTIONS(1324),
+    [anon_sym_while] = ACTIONS(1324),
+    [anon_sym_do] = ACTIONS(1324),
+    [anon_sym_for] = ACTIONS(1324),
+    [anon_sym_return] = ACTIONS(1324),
+    [anon_sym_break] = ACTIONS(1324),
+    [anon_sym_continue] = ACTIONS(1324),
+    [anon_sym_goto] = ACTIONS(1324),
+    [anon_sym___try] = ACTIONS(1324),
+    [anon_sym___leave] = ACTIONS(1324),
+    [anon_sym_DASH_DASH] = ACTIONS(1326),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1326),
+    [anon_sym_sizeof] = ACTIONS(1324),
+    [anon_sym___alignof__] = ACTIONS(1324),
+    [anon_sym___alignof] = ACTIONS(1324),
+    [anon_sym__alignof] = ACTIONS(1324),
+    [anon_sym_alignof] = ACTIONS(1324),
+    [anon_sym__Alignof] = ACTIONS(1324),
+    [anon_sym_offsetof] = ACTIONS(1324),
+    [anon_sym__Generic] = ACTIONS(1324),
+    [anon_sym_asm] = ACTIONS(1324),
+    [anon_sym___asm__] = ACTIONS(1324),
+    [anon_sym___asm] = ACTIONS(1324),
+    [sym_number_literal] = ACTIONS(1326),
+    [anon_sym_L_SQUOTE] = ACTIONS(1326),
+    [anon_sym_u_SQUOTE] = ACTIONS(1326),
+    [anon_sym_U_SQUOTE] = ACTIONS(1326),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1326),
+    [anon_sym_SQUOTE] = ACTIONS(1326),
+    [anon_sym_L_DQUOTE] = ACTIONS(1326),
+    [anon_sym_u_DQUOTE] = ACTIONS(1326),
+    [anon_sym_U_DQUOTE] = ACTIONS(1326),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1326),
+    [anon_sym_DQUOTE] = ACTIONS(1326),
+    [sym_true] = ACTIONS(1324),
+    [sym_false] = ACTIONS(1324),
+    [anon_sym_NULL] = ACTIONS(1324),
+    [anon_sym_nullptr] = ACTIONS(1324),
     [sym_comment] = ACTIONS(3),
   },
   [303] = {
-    [sym_identifier] = ACTIONS(1337),
-    [aux_sym_preproc_include_token1] = ACTIONS(1337),
-    [aux_sym_preproc_def_token1] = ACTIONS(1337),
-    [aux_sym_preproc_if_token1] = ACTIONS(1337),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1337),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1337),
-    [sym_preproc_directive] = ACTIONS(1337),
-    [anon_sym_LPAREN2] = ACTIONS(1339),
-    [anon_sym_BANG] = ACTIONS(1339),
-    [anon_sym_TILDE] = ACTIONS(1339),
-    [anon_sym_DASH] = ACTIONS(1337),
-    [anon_sym_PLUS] = ACTIONS(1337),
-    [anon_sym_STAR] = ACTIONS(1339),
-    [anon_sym_AMP] = ACTIONS(1339),
-    [anon_sym_SEMI] = ACTIONS(1339),
-    [anon_sym___extension__] = ACTIONS(1337),
-    [anon_sym_typedef] = ACTIONS(1337),
-    [anon_sym_extern] = ACTIONS(1337),
-    [anon_sym___attribute__] = ACTIONS(1337),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1339),
-    [anon_sym___declspec] = ACTIONS(1337),
-    [anon_sym___cdecl] = ACTIONS(1337),
-    [anon_sym___clrcall] = ACTIONS(1337),
-    [anon_sym___stdcall] = ACTIONS(1337),
-    [anon_sym___fastcall] = ACTIONS(1337),
-    [anon_sym___thiscall] = ACTIONS(1337),
-    [anon_sym___vectorcall] = ACTIONS(1337),
-    [anon_sym_LBRACE] = ACTIONS(1339),
-    [anon_sym_RBRACE] = ACTIONS(1339),
-    [anon_sym_signed] = ACTIONS(1337),
-    [anon_sym_unsigned] = ACTIONS(1337),
-    [anon_sym_long] = ACTIONS(1337),
-    [anon_sym_short] = ACTIONS(1337),
-    [anon_sym_static] = ACTIONS(1337),
-    [anon_sym_auto] = ACTIONS(1337),
-    [anon_sym_register] = ACTIONS(1337),
-    [anon_sym_inline] = ACTIONS(1337),
-    [anon_sym___inline] = ACTIONS(1337),
-    [anon_sym___inline__] = ACTIONS(1337),
-    [anon_sym___forceinline] = ACTIONS(1337),
-    [anon_sym_thread_local] = ACTIONS(1337),
-    [anon_sym___thread] = ACTIONS(1337),
-    [anon_sym_const] = ACTIONS(1337),
-    [anon_sym_constexpr] = ACTIONS(1337),
-    [anon_sym_volatile] = ACTIONS(1337),
-    [anon_sym_restrict] = ACTIONS(1337),
-    [anon_sym___restrict__] = ACTIONS(1337),
-    [anon_sym__Atomic] = ACTIONS(1337),
-    [anon_sym__Noreturn] = ACTIONS(1337),
-    [anon_sym_noreturn] = ACTIONS(1337),
-    [anon_sym__Nonnull] = ACTIONS(1337),
-    [anon_sym_alignas] = ACTIONS(1337),
-    [anon_sym__Alignas] = ACTIONS(1337),
-    [sym_primitive_type] = ACTIONS(1337),
-    [anon_sym_enum] = ACTIONS(1337),
-    [anon_sym_struct] = ACTIONS(1337),
-    [anon_sym_union] = ACTIONS(1337),
-    [anon_sym_if] = ACTIONS(1337),
-    [anon_sym_switch] = ACTIONS(1337),
-    [anon_sym_case] = ACTIONS(1337),
-    [anon_sym_default] = ACTIONS(1337),
-    [anon_sym_while] = ACTIONS(1337),
-    [anon_sym_do] = ACTIONS(1337),
-    [anon_sym_for] = ACTIONS(1337),
-    [anon_sym_return] = ACTIONS(1337),
-    [anon_sym_break] = ACTIONS(1337),
-    [anon_sym_continue] = ACTIONS(1337),
-    [anon_sym_goto] = ACTIONS(1337),
-    [anon_sym___try] = ACTIONS(1337),
-    [anon_sym___leave] = ACTIONS(1337),
-    [anon_sym_DASH_DASH] = ACTIONS(1339),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1339),
-    [anon_sym_sizeof] = ACTIONS(1337),
-    [anon_sym___alignof__] = ACTIONS(1337),
-    [anon_sym___alignof] = ACTIONS(1337),
-    [anon_sym__alignof] = ACTIONS(1337),
-    [anon_sym_alignof] = ACTIONS(1337),
-    [anon_sym__Alignof] = ACTIONS(1337),
-    [anon_sym_offsetof] = ACTIONS(1337),
-    [anon_sym__Generic] = ACTIONS(1337),
-    [anon_sym_asm] = ACTIONS(1337),
-    [anon_sym___asm__] = ACTIONS(1337),
-    [anon_sym___asm] = ACTIONS(1337),
-    [sym_number_literal] = ACTIONS(1339),
-    [anon_sym_L_SQUOTE] = ACTIONS(1339),
-    [anon_sym_u_SQUOTE] = ACTIONS(1339),
-    [anon_sym_U_SQUOTE] = ACTIONS(1339),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1339),
-    [anon_sym_SQUOTE] = ACTIONS(1339),
-    [anon_sym_L_DQUOTE] = ACTIONS(1339),
-    [anon_sym_u_DQUOTE] = ACTIONS(1339),
-    [anon_sym_U_DQUOTE] = ACTIONS(1339),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1339),
-    [anon_sym_DQUOTE] = ACTIONS(1339),
-    [sym_true] = ACTIONS(1337),
-    [sym_false] = ACTIONS(1337),
-    [anon_sym_NULL] = ACTIONS(1337),
-    [anon_sym_nullptr] = ACTIONS(1337),
+    [sym_identifier] = ACTIONS(1328),
+    [aux_sym_preproc_include_token1] = ACTIONS(1328),
+    [aux_sym_preproc_def_token1] = ACTIONS(1328),
+    [aux_sym_preproc_if_token1] = ACTIONS(1328),
+    [aux_sym_preproc_if_token2] = ACTIONS(1328),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1328),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1328),
+    [sym_preproc_directive] = ACTIONS(1328),
+    [anon_sym_LPAREN2] = ACTIONS(1330),
+    [anon_sym_BANG] = ACTIONS(1330),
+    [anon_sym_TILDE] = ACTIONS(1330),
+    [anon_sym_DASH] = ACTIONS(1328),
+    [anon_sym_PLUS] = ACTIONS(1328),
+    [anon_sym_STAR] = ACTIONS(1330),
+    [anon_sym_AMP] = ACTIONS(1330),
+    [anon_sym_SEMI] = ACTIONS(1330),
+    [anon_sym___extension__] = ACTIONS(1328),
+    [anon_sym_typedef] = ACTIONS(1328),
+    [anon_sym_extern] = ACTIONS(1328),
+    [anon_sym___attribute__] = ACTIONS(1328),
+    [anon_sym___attribute] = ACTIONS(1328),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1330),
+    [anon_sym___declspec] = ACTIONS(1328),
+    [anon_sym___cdecl] = ACTIONS(1328),
+    [anon_sym___clrcall] = ACTIONS(1328),
+    [anon_sym___stdcall] = ACTIONS(1328),
+    [anon_sym___fastcall] = ACTIONS(1328),
+    [anon_sym___thiscall] = ACTIONS(1328),
+    [anon_sym___vectorcall] = ACTIONS(1328),
+    [anon_sym_LBRACE] = ACTIONS(1330),
+    [anon_sym_signed] = ACTIONS(1328),
+    [anon_sym_unsigned] = ACTIONS(1328),
+    [anon_sym_long] = ACTIONS(1328),
+    [anon_sym_short] = ACTIONS(1328),
+    [anon_sym_static] = ACTIONS(1328),
+    [anon_sym_auto] = ACTIONS(1328),
+    [anon_sym_register] = ACTIONS(1328),
+    [anon_sym_inline] = ACTIONS(1328),
+    [anon_sym___inline] = ACTIONS(1328),
+    [anon_sym___inline__] = ACTIONS(1328),
+    [anon_sym___forceinline] = ACTIONS(1328),
+    [anon_sym_thread_local] = ACTIONS(1328),
+    [anon_sym___thread] = ACTIONS(1328),
+    [anon_sym_const] = ACTIONS(1328),
+    [anon_sym_constexpr] = ACTIONS(1328),
+    [anon_sym_volatile] = ACTIONS(1328),
+    [anon_sym_restrict] = ACTIONS(1328),
+    [anon_sym___restrict__] = ACTIONS(1328),
+    [anon_sym__Atomic] = ACTIONS(1328),
+    [anon_sym__Noreturn] = ACTIONS(1328),
+    [anon_sym_noreturn] = ACTIONS(1328),
+    [anon_sym__Nonnull] = ACTIONS(1328),
+    [anon_sym_alignas] = ACTIONS(1328),
+    [anon_sym__Alignas] = ACTIONS(1328),
+    [sym_primitive_type] = ACTIONS(1328),
+    [anon_sym_enum] = ACTIONS(1328),
+    [anon_sym_struct] = ACTIONS(1328),
+    [anon_sym_union] = ACTIONS(1328),
+    [anon_sym_if] = ACTIONS(1328),
+    [anon_sym_switch] = ACTIONS(1328),
+    [anon_sym_case] = ACTIONS(1328),
+    [anon_sym_default] = ACTIONS(1328),
+    [anon_sym_while] = ACTIONS(1328),
+    [anon_sym_do] = ACTIONS(1328),
+    [anon_sym_for] = ACTIONS(1328),
+    [anon_sym_return] = ACTIONS(1328),
+    [anon_sym_break] = ACTIONS(1328),
+    [anon_sym_continue] = ACTIONS(1328),
+    [anon_sym_goto] = ACTIONS(1328),
+    [anon_sym___try] = ACTIONS(1328),
+    [anon_sym___leave] = ACTIONS(1328),
+    [anon_sym_DASH_DASH] = ACTIONS(1330),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1330),
+    [anon_sym_sizeof] = ACTIONS(1328),
+    [anon_sym___alignof__] = ACTIONS(1328),
+    [anon_sym___alignof] = ACTIONS(1328),
+    [anon_sym__alignof] = ACTIONS(1328),
+    [anon_sym_alignof] = ACTIONS(1328),
+    [anon_sym__Alignof] = ACTIONS(1328),
+    [anon_sym_offsetof] = ACTIONS(1328),
+    [anon_sym__Generic] = ACTIONS(1328),
+    [anon_sym_asm] = ACTIONS(1328),
+    [anon_sym___asm__] = ACTIONS(1328),
+    [anon_sym___asm] = ACTIONS(1328),
+    [sym_number_literal] = ACTIONS(1330),
+    [anon_sym_L_SQUOTE] = ACTIONS(1330),
+    [anon_sym_u_SQUOTE] = ACTIONS(1330),
+    [anon_sym_U_SQUOTE] = ACTIONS(1330),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1330),
+    [anon_sym_SQUOTE] = ACTIONS(1330),
+    [anon_sym_L_DQUOTE] = ACTIONS(1330),
+    [anon_sym_u_DQUOTE] = ACTIONS(1330),
+    [anon_sym_U_DQUOTE] = ACTIONS(1330),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1330),
+    [anon_sym_DQUOTE] = ACTIONS(1330),
+    [sym_true] = ACTIONS(1328),
+    [sym_false] = ACTIONS(1328),
+    [anon_sym_NULL] = ACTIONS(1328),
+    [anon_sym_nullptr] = ACTIONS(1328),
     [sym_comment] = ACTIONS(3),
   },
   [304] = {
-    [sym_identifier] = ACTIONS(1341),
-    [aux_sym_preproc_include_token1] = ACTIONS(1341),
-    [aux_sym_preproc_def_token1] = ACTIONS(1341),
-    [aux_sym_preproc_if_token1] = ACTIONS(1341),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1341),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1341),
-    [sym_preproc_directive] = ACTIONS(1341),
-    [anon_sym_LPAREN2] = ACTIONS(1343),
-    [anon_sym_BANG] = ACTIONS(1343),
-    [anon_sym_TILDE] = ACTIONS(1343),
-    [anon_sym_DASH] = ACTIONS(1341),
-    [anon_sym_PLUS] = ACTIONS(1341),
-    [anon_sym_STAR] = ACTIONS(1343),
-    [anon_sym_AMP] = ACTIONS(1343),
-    [anon_sym_SEMI] = ACTIONS(1343),
-    [anon_sym___extension__] = ACTIONS(1341),
-    [anon_sym_typedef] = ACTIONS(1341),
-    [anon_sym_extern] = ACTIONS(1341),
-    [anon_sym___attribute__] = ACTIONS(1341),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1343),
-    [anon_sym___declspec] = ACTIONS(1341),
-    [anon_sym___cdecl] = ACTIONS(1341),
-    [anon_sym___clrcall] = ACTIONS(1341),
-    [anon_sym___stdcall] = ACTIONS(1341),
-    [anon_sym___fastcall] = ACTIONS(1341),
-    [anon_sym___thiscall] = ACTIONS(1341),
-    [anon_sym___vectorcall] = ACTIONS(1341),
-    [anon_sym_LBRACE] = ACTIONS(1343),
-    [anon_sym_RBRACE] = ACTIONS(1343),
-    [anon_sym_signed] = ACTIONS(1341),
-    [anon_sym_unsigned] = ACTIONS(1341),
-    [anon_sym_long] = ACTIONS(1341),
-    [anon_sym_short] = ACTIONS(1341),
-    [anon_sym_static] = ACTIONS(1341),
-    [anon_sym_auto] = ACTIONS(1341),
-    [anon_sym_register] = ACTIONS(1341),
-    [anon_sym_inline] = ACTIONS(1341),
-    [anon_sym___inline] = ACTIONS(1341),
-    [anon_sym___inline__] = ACTIONS(1341),
-    [anon_sym___forceinline] = ACTIONS(1341),
-    [anon_sym_thread_local] = ACTIONS(1341),
-    [anon_sym___thread] = ACTIONS(1341),
-    [anon_sym_const] = ACTIONS(1341),
-    [anon_sym_constexpr] = ACTIONS(1341),
-    [anon_sym_volatile] = ACTIONS(1341),
-    [anon_sym_restrict] = ACTIONS(1341),
-    [anon_sym___restrict__] = ACTIONS(1341),
-    [anon_sym__Atomic] = ACTIONS(1341),
-    [anon_sym__Noreturn] = ACTIONS(1341),
-    [anon_sym_noreturn] = ACTIONS(1341),
-    [anon_sym__Nonnull] = ACTIONS(1341),
-    [anon_sym_alignas] = ACTIONS(1341),
-    [anon_sym__Alignas] = ACTIONS(1341),
-    [sym_primitive_type] = ACTIONS(1341),
-    [anon_sym_enum] = ACTIONS(1341),
-    [anon_sym_struct] = ACTIONS(1341),
-    [anon_sym_union] = ACTIONS(1341),
-    [anon_sym_if] = ACTIONS(1341),
-    [anon_sym_switch] = ACTIONS(1341),
-    [anon_sym_case] = ACTIONS(1341),
-    [anon_sym_default] = ACTIONS(1341),
-    [anon_sym_while] = ACTIONS(1341),
-    [anon_sym_do] = ACTIONS(1341),
-    [anon_sym_for] = ACTIONS(1341),
-    [anon_sym_return] = ACTIONS(1341),
-    [anon_sym_break] = ACTIONS(1341),
-    [anon_sym_continue] = ACTIONS(1341),
-    [anon_sym_goto] = ACTIONS(1341),
-    [anon_sym___try] = ACTIONS(1341),
-    [anon_sym___leave] = ACTIONS(1341),
-    [anon_sym_DASH_DASH] = ACTIONS(1343),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1343),
-    [anon_sym_sizeof] = ACTIONS(1341),
-    [anon_sym___alignof__] = ACTIONS(1341),
-    [anon_sym___alignof] = ACTIONS(1341),
-    [anon_sym__alignof] = ACTIONS(1341),
-    [anon_sym_alignof] = ACTIONS(1341),
-    [anon_sym__Alignof] = ACTIONS(1341),
-    [anon_sym_offsetof] = ACTIONS(1341),
-    [anon_sym__Generic] = ACTIONS(1341),
-    [anon_sym_asm] = ACTIONS(1341),
-    [anon_sym___asm__] = ACTIONS(1341),
-    [anon_sym___asm] = ACTIONS(1341),
-    [sym_number_literal] = ACTIONS(1343),
-    [anon_sym_L_SQUOTE] = ACTIONS(1343),
-    [anon_sym_u_SQUOTE] = ACTIONS(1343),
-    [anon_sym_U_SQUOTE] = ACTIONS(1343),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1343),
-    [anon_sym_SQUOTE] = ACTIONS(1343),
-    [anon_sym_L_DQUOTE] = ACTIONS(1343),
-    [anon_sym_u_DQUOTE] = ACTIONS(1343),
-    [anon_sym_U_DQUOTE] = ACTIONS(1343),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1343),
-    [anon_sym_DQUOTE] = ACTIONS(1343),
-    [sym_true] = ACTIONS(1341),
-    [sym_false] = ACTIONS(1341),
-    [anon_sym_NULL] = ACTIONS(1341),
-    [anon_sym_nullptr] = ACTIONS(1341),
+    [sym_identifier] = ACTIONS(1332),
+    [aux_sym_preproc_include_token1] = ACTIONS(1332),
+    [aux_sym_preproc_def_token1] = ACTIONS(1332),
+    [aux_sym_preproc_if_token1] = ACTIONS(1332),
+    [aux_sym_preproc_if_token2] = ACTIONS(1332),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1332),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1332),
+    [sym_preproc_directive] = ACTIONS(1332),
+    [anon_sym_LPAREN2] = ACTIONS(1334),
+    [anon_sym_BANG] = ACTIONS(1334),
+    [anon_sym_TILDE] = ACTIONS(1334),
+    [anon_sym_DASH] = ACTIONS(1332),
+    [anon_sym_PLUS] = ACTIONS(1332),
+    [anon_sym_STAR] = ACTIONS(1334),
+    [anon_sym_AMP] = ACTIONS(1334),
+    [anon_sym_SEMI] = ACTIONS(1334),
+    [anon_sym___extension__] = ACTIONS(1332),
+    [anon_sym_typedef] = ACTIONS(1332),
+    [anon_sym_extern] = ACTIONS(1332),
+    [anon_sym___attribute__] = ACTIONS(1332),
+    [anon_sym___attribute] = ACTIONS(1332),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1334),
+    [anon_sym___declspec] = ACTIONS(1332),
+    [anon_sym___cdecl] = ACTIONS(1332),
+    [anon_sym___clrcall] = ACTIONS(1332),
+    [anon_sym___stdcall] = ACTIONS(1332),
+    [anon_sym___fastcall] = ACTIONS(1332),
+    [anon_sym___thiscall] = ACTIONS(1332),
+    [anon_sym___vectorcall] = ACTIONS(1332),
+    [anon_sym_LBRACE] = ACTIONS(1334),
+    [anon_sym_signed] = ACTIONS(1332),
+    [anon_sym_unsigned] = ACTIONS(1332),
+    [anon_sym_long] = ACTIONS(1332),
+    [anon_sym_short] = ACTIONS(1332),
+    [anon_sym_static] = ACTIONS(1332),
+    [anon_sym_auto] = ACTIONS(1332),
+    [anon_sym_register] = ACTIONS(1332),
+    [anon_sym_inline] = ACTIONS(1332),
+    [anon_sym___inline] = ACTIONS(1332),
+    [anon_sym___inline__] = ACTIONS(1332),
+    [anon_sym___forceinline] = ACTIONS(1332),
+    [anon_sym_thread_local] = ACTIONS(1332),
+    [anon_sym___thread] = ACTIONS(1332),
+    [anon_sym_const] = ACTIONS(1332),
+    [anon_sym_constexpr] = ACTIONS(1332),
+    [anon_sym_volatile] = ACTIONS(1332),
+    [anon_sym_restrict] = ACTIONS(1332),
+    [anon_sym___restrict__] = ACTIONS(1332),
+    [anon_sym__Atomic] = ACTIONS(1332),
+    [anon_sym__Noreturn] = ACTIONS(1332),
+    [anon_sym_noreturn] = ACTIONS(1332),
+    [anon_sym__Nonnull] = ACTIONS(1332),
+    [anon_sym_alignas] = ACTIONS(1332),
+    [anon_sym__Alignas] = ACTIONS(1332),
+    [sym_primitive_type] = ACTIONS(1332),
+    [anon_sym_enum] = ACTIONS(1332),
+    [anon_sym_struct] = ACTIONS(1332),
+    [anon_sym_union] = ACTIONS(1332),
+    [anon_sym_if] = ACTIONS(1332),
+    [anon_sym_switch] = ACTIONS(1332),
+    [anon_sym_case] = ACTIONS(1332),
+    [anon_sym_default] = ACTIONS(1332),
+    [anon_sym_while] = ACTIONS(1332),
+    [anon_sym_do] = ACTIONS(1332),
+    [anon_sym_for] = ACTIONS(1332),
+    [anon_sym_return] = ACTIONS(1332),
+    [anon_sym_break] = ACTIONS(1332),
+    [anon_sym_continue] = ACTIONS(1332),
+    [anon_sym_goto] = ACTIONS(1332),
+    [anon_sym___try] = ACTIONS(1332),
+    [anon_sym___leave] = ACTIONS(1332),
+    [anon_sym_DASH_DASH] = ACTIONS(1334),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1334),
+    [anon_sym_sizeof] = ACTIONS(1332),
+    [anon_sym___alignof__] = ACTIONS(1332),
+    [anon_sym___alignof] = ACTIONS(1332),
+    [anon_sym__alignof] = ACTIONS(1332),
+    [anon_sym_alignof] = ACTIONS(1332),
+    [anon_sym__Alignof] = ACTIONS(1332),
+    [anon_sym_offsetof] = ACTIONS(1332),
+    [anon_sym__Generic] = ACTIONS(1332),
+    [anon_sym_asm] = ACTIONS(1332),
+    [anon_sym___asm__] = ACTIONS(1332),
+    [anon_sym___asm] = ACTIONS(1332),
+    [sym_number_literal] = ACTIONS(1334),
+    [anon_sym_L_SQUOTE] = ACTIONS(1334),
+    [anon_sym_u_SQUOTE] = ACTIONS(1334),
+    [anon_sym_U_SQUOTE] = ACTIONS(1334),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1334),
+    [anon_sym_SQUOTE] = ACTIONS(1334),
+    [anon_sym_L_DQUOTE] = ACTIONS(1334),
+    [anon_sym_u_DQUOTE] = ACTIONS(1334),
+    [anon_sym_U_DQUOTE] = ACTIONS(1334),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1334),
+    [anon_sym_DQUOTE] = ACTIONS(1334),
+    [sym_true] = ACTIONS(1332),
+    [sym_false] = ACTIONS(1332),
+    [anon_sym_NULL] = ACTIONS(1332),
+    [anon_sym_nullptr] = ACTIONS(1332),
     [sym_comment] = ACTIONS(3),
   },
   [305] = {
-    [sym_identifier] = ACTIONS(1357),
-    [aux_sym_preproc_include_token1] = ACTIONS(1357),
-    [aux_sym_preproc_def_token1] = ACTIONS(1357),
-    [aux_sym_preproc_if_token1] = ACTIONS(1357),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1357),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1357),
-    [sym_preproc_directive] = ACTIONS(1357),
-    [anon_sym_LPAREN2] = ACTIONS(1359),
-    [anon_sym_BANG] = ACTIONS(1359),
-    [anon_sym_TILDE] = ACTIONS(1359),
-    [anon_sym_DASH] = ACTIONS(1357),
-    [anon_sym_PLUS] = ACTIONS(1357),
-    [anon_sym_STAR] = ACTIONS(1359),
-    [anon_sym_AMP] = ACTIONS(1359),
-    [anon_sym_SEMI] = ACTIONS(1359),
-    [anon_sym___extension__] = ACTIONS(1357),
-    [anon_sym_typedef] = ACTIONS(1357),
-    [anon_sym_extern] = ACTIONS(1357),
-    [anon_sym___attribute__] = ACTIONS(1357),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1359),
-    [anon_sym___declspec] = ACTIONS(1357),
-    [anon_sym___cdecl] = ACTIONS(1357),
-    [anon_sym___clrcall] = ACTIONS(1357),
-    [anon_sym___stdcall] = ACTIONS(1357),
-    [anon_sym___fastcall] = ACTIONS(1357),
-    [anon_sym___thiscall] = ACTIONS(1357),
-    [anon_sym___vectorcall] = ACTIONS(1357),
-    [anon_sym_LBRACE] = ACTIONS(1359),
-    [anon_sym_RBRACE] = ACTIONS(1359),
-    [anon_sym_signed] = ACTIONS(1357),
-    [anon_sym_unsigned] = ACTIONS(1357),
-    [anon_sym_long] = ACTIONS(1357),
-    [anon_sym_short] = ACTIONS(1357),
-    [anon_sym_static] = ACTIONS(1357),
-    [anon_sym_auto] = ACTIONS(1357),
-    [anon_sym_register] = ACTIONS(1357),
-    [anon_sym_inline] = ACTIONS(1357),
-    [anon_sym___inline] = ACTIONS(1357),
-    [anon_sym___inline__] = ACTIONS(1357),
-    [anon_sym___forceinline] = ACTIONS(1357),
-    [anon_sym_thread_local] = ACTIONS(1357),
-    [anon_sym___thread] = ACTIONS(1357),
-    [anon_sym_const] = ACTIONS(1357),
-    [anon_sym_constexpr] = ACTIONS(1357),
-    [anon_sym_volatile] = ACTIONS(1357),
-    [anon_sym_restrict] = ACTIONS(1357),
-    [anon_sym___restrict__] = ACTIONS(1357),
-    [anon_sym__Atomic] = ACTIONS(1357),
-    [anon_sym__Noreturn] = ACTIONS(1357),
-    [anon_sym_noreturn] = ACTIONS(1357),
-    [anon_sym__Nonnull] = ACTIONS(1357),
-    [anon_sym_alignas] = ACTIONS(1357),
-    [anon_sym__Alignas] = ACTIONS(1357),
-    [sym_primitive_type] = ACTIONS(1357),
-    [anon_sym_enum] = ACTIONS(1357),
-    [anon_sym_struct] = ACTIONS(1357),
-    [anon_sym_union] = ACTIONS(1357),
-    [anon_sym_if] = ACTIONS(1357),
-    [anon_sym_switch] = ACTIONS(1357),
-    [anon_sym_case] = ACTIONS(1357),
-    [anon_sym_default] = ACTIONS(1357),
-    [anon_sym_while] = ACTIONS(1357),
-    [anon_sym_do] = ACTIONS(1357),
-    [anon_sym_for] = ACTIONS(1357),
-    [anon_sym_return] = ACTIONS(1357),
-    [anon_sym_break] = ACTIONS(1357),
-    [anon_sym_continue] = ACTIONS(1357),
-    [anon_sym_goto] = ACTIONS(1357),
-    [anon_sym___try] = ACTIONS(1357),
-    [anon_sym___leave] = ACTIONS(1357),
-    [anon_sym_DASH_DASH] = ACTIONS(1359),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1359),
-    [anon_sym_sizeof] = ACTIONS(1357),
-    [anon_sym___alignof__] = ACTIONS(1357),
-    [anon_sym___alignof] = ACTIONS(1357),
-    [anon_sym__alignof] = ACTIONS(1357),
-    [anon_sym_alignof] = ACTIONS(1357),
-    [anon_sym__Alignof] = ACTIONS(1357),
-    [anon_sym_offsetof] = ACTIONS(1357),
-    [anon_sym__Generic] = ACTIONS(1357),
-    [anon_sym_asm] = ACTIONS(1357),
-    [anon_sym___asm__] = ACTIONS(1357),
-    [anon_sym___asm] = ACTIONS(1357),
-    [sym_number_literal] = ACTIONS(1359),
-    [anon_sym_L_SQUOTE] = ACTIONS(1359),
-    [anon_sym_u_SQUOTE] = ACTIONS(1359),
-    [anon_sym_U_SQUOTE] = ACTIONS(1359),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1359),
-    [anon_sym_SQUOTE] = ACTIONS(1359),
-    [anon_sym_L_DQUOTE] = ACTIONS(1359),
-    [anon_sym_u_DQUOTE] = ACTIONS(1359),
-    [anon_sym_U_DQUOTE] = ACTIONS(1359),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1359),
-    [anon_sym_DQUOTE] = ACTIONS(1359),
-    [sym_true] = ACTIONS(1357),
-    [sym_false] = ACTIONS(1357),
-    [anon_sym_NULL] = ACTIONS(1357),
-    [anon_sym_nullptr] = ACTIONS(1357),
+    [sym_identifier] = ACTIONS(1348),
+    [aux_sym_preproc_include_token1] = ACTIONS(1348),
+    [aux_sym_preproc_def_token1] = ACTIONS(1348),
+    [aux_sym_preproc_if_token1] = ACTIONS(1348),
+    [aux_sym_preproc_if_token2] = ACTIONS(1348),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1348),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1348),
+    [sym_preproc_directive] = ACTIONS(1348),
+    [anon_sym_LPAREN2] = ACTIONS(1350),
+    [anon_sym_BANG] = ACTIONS(1350),
+    [anon_sym_TILDE] = ACTIONS(1350),
+    [anon_sym_DASH] = ACTIONS(1348),
+    [anon_sym_PLUS] = ACTIONS(1348),
+    [anon_sym_STAR] = ACTIONS(1350),
+    [anon_sym_AMP] = ACTIONS(1350),
+    [anon_sym_SEMI] = ACTIONS(1350),
+    [anon_sym___extension__] = ACTIONS(1348),
+    [anon_sym_typedef] = ACTIONS(1348),
+    [anon_sym_extern] = ACTIONS(1348),
+    [anon_sym___attribute__] = ACTIONS(1348),
+    [anon_sym___attribute] = ACTIONS(1348),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1350),
+    [anon_sym___declspec] = ACTIONS(1348),
+    [anon_sym___cdecl] = ACTIONS(1348),
+    [anon_sym___clrcall] = ACTIONS(1348),
+    [anon_sym___stdcall] = ACTIONS(1348),
+    [anon_sym___fastcall] = ACTIONS(1348),
+    [anon_sym___thiscall] = ACTIONS(1348),
+    [anon_sym___vectorcall] = ACTIONS(1348),
+    [anon_sym_LBRACE] = ACTIONS(1350),
+    [anon_sym_signed] = ACTIONS(1348),
+    [anon_sym_unsigned] = ACTIONS(1348),
+    [anon_sym_long] = ACTIONS(1348),
+    [anon_sym_short] = ACTIONS(1348),
+    [anon_sym_static] = ACTIONS(1348),
+    [anon_sym_auto] = ACTIONS(1348),
+    [anon_sym_register] = ACTIONS(1348),
+    [anon_sym_inline] = ACTIONS(1348),
+    [anon_sym___inline] = ACTIONS(1348),
+    [anon_sym___inline__] = ACTIONS(1348),
+    [anon_sym___forceinline] = ACTIONS(1348),
+    [anon_sym_thread_local] = ACTIONS(1348),
+    [anon_sym___thread] = ACTIONS(1348),
+    [anon_sym_const] = ACTIONS(1348),
+    [anon_sym_constexpr] = ACTIONS(1348),
+    [anon_sym_volatile] = ACTIONS(1348),
+    [anon_sym_restrict] = ACTIONS(1348),
+    [anon_sym___restrict__] = ACTIONS(1348),
+    [anon_sym__Atomic] = ACTIONS(1348),
+    [anon_sym__Noreturn] = ACTIONS(1348),
+    [anon_sym_noreturn] = ACTIONS(1348),
+    [anon_sym__Nonnull] = ACTIONS(1348),
+    [anon_sym_alignas] = ACTIONS(1348),
+    [anon_sym__Alignas] = ACTIONS(1348),
+    [sym_primitive_type] = ACTIONS(1348),
+    [anon_sym_enum] = ACTIONS(1348),
+    [anon_sym_struct] = ACTIONS(1348),
+    [anon_sym_union] = ACTIONS(1348),
+    [anon_sym_if] = ACTIONS(1348),
+    [anon_sym_switch] = ACTIONS(1348),
+    [anon_sym_case] = ACTIONS(1348),
+    [anon_sym_default] = ACTIONS(1348),
+    [anon_sym_while] = ACTIONS(1348),
+    [anon_sym_do] = ACTIONS(1348),
+    [anon_sym_for] = ACTIONS(1348),
+    [anon_sym_return] = ACTIONS(1348),
+    [anon_sym_break] = ACTIONS(1348),
+    [anon_sym_continue] = ACTIONS(1348),
+    [anon_sym_goto] = ACTIONS(1348),
+    [anon_sym___try] = ACTIONS(1348),
+    [anon_sym___leave] = ACTIONS(1348),
+    [anon_sym_DASH_DASH] = ACTIONS(1350),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1350),
+    [anon_sym_sizeof] = ACTIONS(1348),
+    [anon_sym___alignof__] = ACTIONS(1348),
+    [anon_sym___alignof] = ACTIONS(1348),
+    [anon_sym__alignof] = ACTIONS(1348),
+    [anon_sym_alignof] = ACTIONS(1348),
+    [anon_sym__Alignof] = ACTIONS(1348),
+    [anon_sym_offsetof] = ACTIONS(1348),
+    [anon_sym__Generic] = ACTIONS(1348),
+    [anon_sym_asm] = ACTIONS(1348),
+    [anon_sym___asm__] = ACTIONS(1348),
+    [anon_sym___asm] = ACTIONS(1348),
+    [sym_number_literal] = ACTIONS(1350),
+    [anon_sym_L_SQUOTE] = ACTIONS(1350),
+    [anon_sym_u_SQUOTE] = ACTIONS(1350),
+    [anon_sym_U_SQUOTE] = ACTIONS(1350),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1350),
+    [anon_sym_SQUOTE] = ACTIONS(1350),
+    [anon_sym_L_DQUOTE] = ACTIONS(1350),
+    [anon_sym_u_DQUOTE] = ACTIONS(1350),
+    [anon_sym_U_DQUOTE] = ACTIONS(1350),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1350),
+    [anon_sym_DQUOTE] = ACTIONS(1350),
+    [sym_true] = ACTIONS(1348),
+    [sym_false] = ACTIONS(1348),
+    [anon_sym_NULL] = ACTIONS(1348),
+    [anon_sym_nullptr] = ACTIONS(1348),
     [sym_comment] = ACTIONS(3),
   },
   [306] = {
-    [sym_expression] = STATE(704),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(686),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(686),
-    [sym_call_expression] = STATE(686),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(686),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(686),
-    [sym_initializer_list] = STATE(675),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(700),
-    [sym_null] = STATE(679),
-    [sym_identifier] = ACTIONS(1381),
-    [anon_sym_COMMA] = ACTIONS(1383),
-    [aux_sym_preproc_if_token2] = ACTIONS(1383),
-    [aux_sym_preproc_else_token1] = ACTIONS(1383),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1381),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1383),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1383),
-    [anon_sym_LPAREN2] = ACTIONS(1383),
-    [anon_sym_BANG] = ACTIONS(1385),
-    [anon_sym_TILDE] = ACTIONS(1387),
-    [anon_sym_DASH] = ACTIONS(1381),
-    [anon_sym_PLUS] = ACTIONS(1381),
-    [anon_sym_STAR] = ACTIONS(1381),
-    [anon_sym_SLASH] = ACTIONS(1381),
-    [anon_sym_PERCENT] = ACTIONS(1381),
-    [anon_sym_PIPE_PIPE] = ACTIONS(1383),
-    [anon_sym_AMP_AMP] = ACTIONS(1383),
-    [anon_sym_PIPE] = ACTIONS(1381),
-    [anon_sym_CARET] = ACTIONS(1381),
-    [anon_sym_AMP] = ACTIONS(1381),
-    [anon_sym_EQ_EQ] = ACTIONS(1383),
-    [anon_sym_BANG_EQ] = ACTIONS(1383),
-    [anon_sym_GT] = ACTIONS(1381),
-    [anon_sym_GT_EQ] = ACTIONS(1383),
-    [anon_sym_LT_EQ] = ACTIONS(1383),
-    [anon_sym_LT] = ACTIONS(1381),
-    [anon_sym_LT_LT] = ACTIONS(1381),
-    [anon_sym_GT_GT] = ACTIONS(1381),
-    [anon_sym___extension__] = ACTIONS(1389),
-    [anon_sym_LBRACE] = ACTIONS(1391),
-    [anon_sym_LBRACK] = ACTIONS(1383),
-    [anon_sym_EQ] = ACTIONS(1381),
-    [anon_sym_QMARK] = ACTIONS(1383),
-    [anon_sym_STAR_EQ] = ACTIONS(1383),
-    [anon_sym_SLASH_EQ] = ACTIONS(1383),
-    [anon_sym_PERCENT_EQ] = ACTIONS(1383),
-    [anon_sym_PLUS_EQ] = ACTIONS(1383),
-    [anon_sym_DASH_EQ] = ACTIONS(1383),
-    [anon_sym_LT_LT_EQ] = ACTIONS(1383),
-    [anon_sym_GT_GT_EQ] = ACTIONS(1383),
-    [anon_sym_AMP_EQ] = ACTIONS(1383),
-    [anon_sym_CARET_EQ] = ACTIONS(1383),
-    [anon_sym_PIPE_EQ] = ACTIONS(1383),
-    [anon_sym_DASH_DASH] = ACTIONS(1383),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1383),
-    [anon_sym_sizeof] = ACTIONS(1393),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [anon_sym_DOT] = ACTIONS(1381),
-    [anon_sym_DASH_GT] = ACTIONS(1383),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [sym_identifier] = ACTIONS(1280),
+    [aux_sym_preproc_include_token1] = ACTIONS(1280),
+    [aux_sym_preproc_def_token1] = ACTIONS(1280),
+    [aux_sym_preproc_if_token1] = ACTIONS(1280),
+    [aux_sym_preproc_if_token2] = ACTIONS(1280),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1280),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1280),
+    [sym_preproc_directive] = ACTIONS(1280),
+    [anon_sym_LPAREN2] = ACTIONS(1282),
+    [anon_sym_BANG] = ACTIONS(1282),
+    [anon_sym_TILDE] = ACTIONS(1282),
+    [anon_sym_DASH] = ACTIONS(1280),
+    [anon_sym_PLUS] = ACTIONS(1280),
+    [anon_sym_STAR] = ACTIONS(1282),
+    [anon_sym_AMP] = ACTIONS(1282),
+    [anon_sym_SEMI] = ACTIONS(1282),
+    [anon_sym___extension__] = ACTIONS(1280),
+    [anon_sym_typedef] = ACTIONS(1280),
+    [anon_sym_extern] = ACTIONS(1280),
+    [anon_sym___attribute__] = ACTIONS(1280),
+    [anon_sym___attribute] = ACTIONS(1280),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1282),
+    [anon_sym___declspec] = ACTIONS(1280),
+    [anon_sym___cdecl] = ACTIONS(1280),
+    [anon_sym___clrcall] = ACTIONS(1280),
+    [anon_sym___stdcall] = ACTIONS(1280),
+    [anon_sym___fastcall] = ACTIONS(1280),
+    [anon_sym___thiscall] = ACTIONS(1280),
+    [anon_sym___vectorcall] = ACTIONS(1280),
+    [anon_sym_LBRACE] = ACTIONS(1282),
+    [anon_sym_signed] = ACTIONS(1280),
+    [anon_sym_unsigned] = ACTIONS(1280),
+    [anon_sym_long] = ACTIONS(1280),
+    [anon_sym_short] = ACTIONS(1280),
+    [anon_sym_static] = ACTIONS(1280),
+    [anon_sym_auto] = ACTIONS(1280),
+    [anon_sym_register] = ACTIONS(1280),
+    [anon_sym_inline] = ACTIONS(1280),
+    [anon_sym___inline] = ACTIONS(1280),
+    [anon_sym___inline__] = ACTIONS(1280),
+    [anon_sym___forceinline] = ACTIONS(1280),
+    [anon_sym_thread_local] = ACTIONS(1280),
+    [anon_sym___thread] = ACTIONS(1280),
+    [anon_sym_const] = ACTIONS(1280),
+    [anon_sym_constexpr] = ACTIONS(1280),
+    [anon_sym_volatile] = ACTIONS(1280),
+    [anon_sym_restrict] = ACTIONS(1280),
+    [anon_sym___restrict__] = ACTIONS(1280),
+    [anon_sym__Atomic] = ACTIONS(1280),
+    [anon_sym__Noreturn] = ACTIONS(1280),
+    [anon_sym_noreturn] = ACTIONS(1280),
+    [anon_sym__Nonnull] = ACTIONS(1280),
+    [anon_sym_alignas] = ACTIONS(1280),
+    [anon_sym__Alignas] = ACTIONS(1280),
+    [sym_primitive_type] = ACTIONS(1280),
+    [anon_sym_enum] = ACTIONS(1280),
+    [anon_sym_struct] = ACTIONS(1280),
+    [anon_sym_union] = ACTIONS(1280),
+    [anon_sym_if] = ACTIONS(1280),
+    [anon_sym_switch] = ACTIONS(1280),
+    [anon_sym_case] = ACTIONS(1280),
+    [anon_sym_default] = ACTIONS(1280),
+    [anon_sym_while] = ACTIONS(1280),
+    [anon_sym_do] = ACTIONS(1280),
+    [anon_sym_for] = ACTIONS(1280),
+    [anon_sym_return] = ACTIONS(1280),
+    [anon_sym_break] = ACTIONS(1280),
+    [anon_sym_continue] = ACTIONS(1280),
+    [anon_sym_goto] = ACTIONS(1280),
+    [anon_sym___try] = ACTIONS(1280),
+    [anon_sym___leave] = ACTIONS(1280),
+    [anon_sym_DASH_DASH] = ACTIONS(1282),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1282),
+    [anon_sym_sizeof] = ACTIONS(1280),
+    [anon_sym___alignof__] = ACTIONS(1280),
+    [anon_sym___alignof] = ACTIONS(1280),
+    [anon_sym__alignof] = ACTIONS(1280),
+    [anon_sym_alignof] = ACTIONS(1280),
+    [anon_sym__Alignof] = ACTIONS(1280),
+    [anon_sym_offsetof] = ACTIONS(1280),
+    [anon_sym__Generic] = ACTIONS(1280),
+    [anon_sym_asm] = ACTIONS(1280),
+    [anon_sym___asm__] = ACTIONS(1280),
+    [anon_sym___asm] = ACTIONS(1280),
+    [sym_number_literal] = ACTIONS(1282),
+    [anon_sym_L_SQUOTE] = ACTIONS(1282),
+    [anon_sym_u_SQUOTE] = ACTIONS(1282),
+    [anon_sym_U_SQUOTE] = ACTIONS(1282),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1282),
+    [anon_sym_SQUOTE] = ACTIONS(1282),
+    [anon_sym_L_DQUOTE] = ACTIONS(1282),
+    [anon_sym_u_DQUOTE] = ACTIONS(1282),
+    [anon_sym_U_DQUOTE] = ACTIONS(1282),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1282),
+    [anon_sym_DQUOTE] = ACTIONS(1282),
+    [sym_true] = ACTIONS(1280),
+    [sym_false] = ACTIONS(1280),
+    [anon_sym_NULL] = ACTIONS(1280),
+    [anon_sym_nullptr] = ACTIONS(1280),
     [sym_comment] = ACTIONS(3),
   },
   [307] = {
-    [sym_identifier] = ACTIONS(1325),
-    [aux_sym_preproc_include_token1] = ACTIONS(1325),
-    [aux_sym_preproc_def_token1] = ACTIONS(1325),
-    [aux_sym_preproc_if_token1] = ACTIONS(1325),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1325),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1325),
-    [sym_preproc_directive] = ACTIONS(1325),
-    [anon_sym_LPAREN2] = ACTIONS(1327),
-    [anon_sym_BANG] = ACTIONS(1327),
-    [anon_sym_TILDE] = ACTIONS(1327),
-    [anon_sym_DASH] = ACTIONS(1325),
-    [anon_sym_PLUS] = ACTIONS(1325),
-    [anon_sym_STAR] = ACTIONS(1327),
-    [anon_sym_AMP] = ACTIONS(1327),
-    [anon_sym_SEMI] = ACTIONS(1327),
-    [anon_sym___extension__] = ACTIONS(1325),
-    [anon_sym_typedef] = ACTIONS(1325),
-    [anon_sym_extern] = ACTIONS(1325),
-    [anon_sym___attribute__] = ACTIONS(1325),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1327),
-    [anon_sym___declspec] = ACTIONS(1325),
-    [anon_sym___cdecl] = ACTIONS(1325),
-    [anon_sym___clrcall] = ACTIONS(1325),
-    [anon_sym___stdcall] = ACTIONS(1325),
-    [anon_sym___fastcall] = ACTIONS(1325),
-    [anon_sym___thiscall] = ACTIONS(1325),
-    [anon_sym___vectorcall] = ACTIONS(1325),
-    [anon_sym_LBRACE] = ACTIONS(1327),
-    [anon_sym_RBRACE] = ACTIONS(1327),
-    [anon_sym_signed] = ACTIONS(1325),
-    [anon_sym_unsigned] = ACTIONS(1325),
-    [anon_sym_long] = ACTIONS(1325),
-    [anon_sym_short] = ACTIONS(1325),
-    [anon_sym_static] = ACTIONS(1325),
-    [anon_sym_auto] = ACTIONS(1325),
-    [anon_sym_register] = ACTIONS(1325),
-    [anon_sym_inline] = ACTIONS(1325),
-    [anon_sym___inline] = ACTIONS(1325),
-    [anon_sym___inline__] = ACTIONS(1325),
-    [anon_sym___forceinline] = ACTIONS(1325),
-    [anon_sym_thread_local] = ACTIONS(1325),
-    [anon_sym___thread] = ACTIONS(1325),
-    [anon_sym_const] = ACTIONS(1325),
-    [anon_sym_constexpr] = ACTIONS(1325),
-    [anon_sym_volatile] = ACTIONS(1325),
-    [anon_sym_restrict] = ACTIONS(1325),
-    [anon_sym___restrict__] = ACTIONS(1325),
-    [anon_sym__Atomic] = ACTIONS(1325),
-    [anon_sym__Noreturn] = ACTIONS(1325),
-    [anon_sym_noreturn] = ACTIONS(1325),
-    [anon_sym__Nonnull] = ACTIONS(1325),
-    [anon_sym_alignas] = ACTIONS(1325),
-    [anon_sym__Alignas] = ACTIONS(1325),
-    [sym_primitive_type] = ACTIONS(1325),
-    [anon_sym_enum] = ACTIONS(1325),
-    [anon_sym_struct] = ACTIONS(1325),
-    [anon_sym_union] = ACTIONS(1325),
-    [anon_sym_if] = ACTIONS(1325),
-    [anon_sym_switch] = ACTIONS(1325),
-    [anon_sym_case] = ACTIONS(1325),
-    [anon_sym_default] = ACTIONS(1325),
-    [anon_sym_while] = ACTIONS(1325),
-    [anon_sym_do] = ACTIONS(1325),
-    [anon_sym_for] = ACTIONS(1325),
-    [anon_sym_return] = ACTIONS(1325),
-    [anon_sym_break] = ACTIONS(1325),
-    [anon_sym_continue] = ACTIONS(1325),
-    [anon_sym_goto] = ACTIONS(1325),
-    [anon_sym___try] = ACTIONS(1325),
-    [anon_sym___leave] = ACTIONS(1325),
-    [anon_sym_DASH_DASH] = ACTIONS(1327),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1327),
-    [anon_sym_sizeof] = ACTIONS(1325),
-    [anon_sym___alignof__] = ACTIONS(1325),
-    [anon_sym___alignof] = ACTIONS(1325),
-    [anon_sym__alignof] = ACTIONS(1325),
-    [anon_sym_alignof] = ACTIONS(1325),
-    [anon_sym__Alignof] = ACTIONS(1325),
-    [anon_sym_offsetof] = ACTIONS(1325),
-    [anon_sym__Generic] = ACTIONS(1325),
-    [anon_sym_asm] = ACTIONS(1325),
-    [anon_sym___asm__] = ACTIONS(1325),
-    [anon_sym___asm] = ACTIONS(1325),
-    [sym_number_literal] = ACTIONS(1327),
-    [anon_sym_L_SQUOTE] = ACTIONS(1327),
-    [anon_sym_u_SQUOTE] = ACTIONS(1327),
-    [anon_sym_U_SQUOTE] = ACTIONS(1327),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1327),
-    [anon_sym_SQUOTE] = ACTIONS(1327),
-    [anon_sym_L_DQUOTE] = ACTIONS(1327),
-    [anon_sym_u_DQUOTE] = ACTIONS(1327),
-    [anon_sym_U_DQUOTE] = ACTIONS(1327),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1327),
-    [anon_sym_DQUOTE] = ACTIONS(1327),
-    [sym_true] = ACTIONS(1325),
-    [sym_false] = ACTIONS(1325),
-    [anon_sym_NULL] = ACTIONS(1325),
-    [anon_sym_nullptr] = ACTIONS(1325),
+    [sym_identifier] = ACTIONS(1284),
+    [aux_sym_preproc_include_token1] = ACTIONS(1284),
+    [aux_sym_preproc_def_token1] = ACTIONS(1284),
+    [aux_sym_preproc_if_token1] = ACTIONS(1284),
+    [aux_sym_preproc_if_token2] = ACTIONS(1284),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1284),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1284),
+    [sym_preproc_directive] = ACTIONS(1284),
+    [anon_sym_LPAREN2] = ACTIONS(1286),
+    [anon_sym_BANG] = ACTIONS(1286),
+    [anon_sym_TILDE] = ACTIONS(1286),
+    [anon_sym_DASH] = ACTIONS(1284),
+    [anon_sym_PLUS] = ACTIONS(1284),
+    [anon_sym_STAR] = ACTIONS(1286),
+    [anon_sym_AMP] = ACTIONS(1286),
+    [anon_sym_SEMI] = ACTIONS(1286),
+    [anon_sym___extension__] = ACTIONS(1284),
+    [anon_sym_typedef] = ACTIONS(1284),
+    [anon_sym_extern] = ACTIONS(1284),
+    [anon_sym___attribute__] = ACTIONS(1284),
+    [anon_sym___attribute] = ACTIONS(1284),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1286),
+    [anon_sym___declspec] = ACTIONS(1284),
+    [anon_sym___cdecl] = ACTIONS(1284),
+    [anon_sym___clrcall] = ACTIONS(1284),
+    [anon_sym___stdcall] = ACTIONS(1284),
+    [anon_sym___fastcall] = ACTIONS(1284),
+    [anon_sym___thiscall] = ACTIONS(1284),
+    [anon_sym___vectorcall] = ACTIONS(1284),
+    [anon_sym_LBRACE] = ACTIONS(1286),
+    [anon_sym_signed] = ACTIONS(1284),
+    [anon_sym_unsigned] = ACTIONS(1284),
+    [anon_sym_long] = ACTIONS(1284),
+    [anon_sym_short] = ACTIONS(1284),
+    [anon_sym_static] = ACTIONS(1284),
+    [anon_sym_auto] = ACTIONS(1284),
+    [anon_sym_register] = ACTIONS(1284),
+    [anon_sym_inline] = ACTIONS(1284),
+    [anon_sym___inline] = ACTIONS(1284),
+    [anon_sym___inline__] = ACTIONS(1284),
+    [anon_sym___forceinline] = ACTIONS(1284),
+    [anon_sym_thread_local] = ACTIONS(1284),
+    [anon_sym___thread] = ACTIONS(1284),
+    [anon_sym_const] = ACTIONS(1284),
+    [anon_sym_constexpr] = ACTIONS(1284),
+    [anon_sym_volatile] = ACTIONS(1284),
+    [anon_sym_restrict] = ACTIONS(1284),
+    [anon_sym___restrict__] = ACTIONS(1284),
+    [anon_sym__Atomic] = ACTIONS(1284),
+    [anon_sym__Noreturn] = ACTIONS(1284),
+    [anon_sym_noreturn] = ACTIONS(1284),
+    [anon_sym__Nonnull] = ACTIONS(1284),
+    [anon_sym_alignas] = ACTIONS(1284),
+    [anon_sym__Alignas] = ACTIONS(1284),
+    [sym_primitive_type] = ACTIONS(1284),
+    [anon_sym_enum] = ACTIONS(1284),
+    [anon_sym_struct] = ACTIONS(1284),
+    [anon_sym_union] = ACTIONS(1284),
+    [anon_sym_if] = ACTIONS(1284),
+    [anon_sym_switch] = ACTIONS(1284),
+    [anon_sym_case] = ACTIONS(1284),
+    [anon_sym_default] = ACTIONS(1284),
+    [anon_sym_while] = ACTIONS(1284),
+    [anon_sym_do] = ACTIONS(1284),
+    [anon_sym_for] = ACTIONS(1284),
+    [anon_sym_return] = ACTIONS(1284),
+    [anon_sym_break] = ACTIONS(1284),
+    [anon_sym_continue] = ACTIONS(1284),
+    [anon_sym_goto] = ACTIONS(1284),
+    [anon_sym___try] = ACTIONS(1284),
+    [anon_sym___leave] = ACTIONS(1284),
+    [anon_sym_DASH_DASH] = ACTIONS(1286),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1286),
+    [anon_sym_sizeof] = ACTIONS(1284),
+    [anon_sym___alignof__] = ACTIONS(1284),
+    [anon_sym___alignof] = ACTIONS(1284),
+    [anon_sym__alignof] = ACTIONS(1284),
+    [anon_sym_alignof] = ACTIONS(1284),
+    [anon_sym__Alignof] = ACTIONS(1284),
+    [anon_sym_offsetof] = ACTIONS(1284),
+    [anon_sym__Generic] = ACTIONS(1284),
+    [anon_sym_asm] = ACTIONS(1284),
+    [anon_sym___asm__] = ACTIONS(1284),
+    [anon_sym___asm] = ACTIONS(1284),
+    [sym_number_literal] = ACTIONS(1286),
+    [anon_sym_L_SQUOTE] = ACTIONS(1286),
+    [anon_sym_u_SQUOTE] = ACTIONS(1286),
+    [anon_sym_U_SQUOTE] = ACTIONS(1286),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1286),
+    [anon_sym_SQUOTE] = ACTIONS(1286),
+    [anon_sym_L_DQUOTE] = ACTIONS(1286),
+    [anon_sym_u_DQUOTE] = ACTIONS(1286),
+    [anon_sym_U_DQUOTE] = ACTIONS(1286),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1286),
+    [anon_sym_DQUOTE] = ACTIONS(1286),
+    [sym_true] = ACTIONS(1284),
+    [sym_false] = ACTIONS(1284),
+    [anon_sym_NULL] = ACTIONS(1284),
+    [anon_sym_nullptr] = ACTIONS(1284),
     [sym_comment] = ACTIONS(3),
   },
   [308] = {
-    [sym_identifier] = ACTIONS(1367),
-    [aux_sym_preproc_include_token1] = ACTIONS(1367),
-    [aux_sym_preproc_def_token1] = ACTIONS(1367),
-    [aux_sym_preproc_if_token1] = ACTIONS(1367),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1367),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1367),
-    [sym_preproc_directive] = ACTIONS(1367),
-    [anon_sym_LPAREN2] = ACTIONS(1369),
-    [anon_sym_BANG] = ACTIONS(1369),
-    [anon_sym_TILDE] = ACTIONS(1369),
-    [anon_sym_DASH] = ACTIONS(1367),
-    [anon_sym_PLUS] = ACTIONS(1367),
-    [anon_sym_STAR] = ACTIONS(1369),
-    [anon_sym_AMP] = ACTIONS(1369),
-    [anon_sym_SEMI] = ACTIONS(1369),
-    [anon_sym___extension__] = ACTIONS(1367),
-    [anon_sym_typedef] = ACTIONS(1367),
-    [anon_sym_extern] = ACTIONS(1367),
-    [anon_sym___attribute__] = ACTIONS(1367),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1369),
-    [anon_sym___declspec] = ACTIONS(1367),
-    [anon_sym___cdecl] = ACTIONS(1367),
-    [anon_sym___clrcall] = ACTIONS(1367),
-    [anon_sym___stdcall] = ACTIONS(1367),
-    [anon_sym___fastcall] = ACTIONS(1367),
-    [anon_sym___thiscall] = ACTIONS(1367),
-    [anon_sym___vectorcall] = ACTIONS(1367),
-    [anon_sym_LBRACE] = ACTIONS(1369),
-    [anon_sym_RBRACE] = ACTIONS(1369),
-    [anon_sym_signed] = ACTIONS(1367),
-    [anon_sym_unsigned] = ACTIONS(1367),
-    [anon_sym_long] = ACTIONS(1367),
-    [anon_sym_short] = ACTIONS(1367),
-    [anon_sym_static] = ACTIONS(1367),
-    [anon_sym_auto] = ACTIONS(1367),
-    [anon_sym_register] = ACTIONS(1367),
-    [anon_sym_inline] = ACTIONS(1367),
-    [anon_sym___inline] = ACTIONS(1367),
-    [anon_sym___inline__] = ACTIONS(1367),
-    [anon_sym___forceinline] = ACTIONS(1367),
-    [anon_sym_thread_local] = ACTIONS(1367),
-    [anon_sym___thread] = ACTIONS(1367),
-    [anon_sym_const] = ACTIONS(1367),
-    [anon_sym_constexpr] = ACTIONS(1367),
-    [anon_sym_volatile] = ACTIONS(1367),
-    [anon_sym_restrict] = ACTIONS(1367),
-    [anon_sym___restrict__] = ACTIONS(1367),
-    [anon_sym__Atomic] = ACTIONS(1367),
-    [anon_sym__Noreturn] = ACTIONS(1367),
-    [anon_sym_noreturn] = ACTIONS(1367),
-    [anon_sym__Nonnull] = ACTIONS(1367),
-    [anon_sym_alignas] = ACTIONS(1367),
-    [anon_sym__Alignas] = ACTIONS(1367),
-    [sym_primitive_type] = ACTIONS(1367),
-    [anon_sym_enum] = ACTIONS(1367),
-    [anon_sym_struct] = ACTIONS(1367),
-    [anon_sym_union] = ACTIONS(1367),
-    [anon_sym_if] = ACTIONS(1367),
-    [anon_sym_switch] = ACTIONS(1367),
-    [anon_sym_case] = ACTIONS(1367),
-    [anon_sym_default] = ACTIONS(1367),
-    [anon_sym_while] = ACTIONS(1367),
-    [anon_sym_do] = ACTIONS(1367),
-    [anon_sym_for] = ACTIONS(1367),
-    [anon_sym_return] = ACTIONS(1367),
-    [anon_sym_break] = ACTIONS(1367),
-    [anon_sym_continue] = ACTIONS(1367),
-    [anon_sym_goto] = ACTIONS(1367),
-    [anon_sym___try] = ACTIONS(1367),
-    [anon_sym___leave] = ACTIONS(1367),
-    [anon_sym_DASH_DASH] = ACTIONS(1369),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1369),
-    [anon_sym_sizeof] = ACTIONS(1367),
-    [anon_sym___alignof__] = ACTIONS(1367),
-    [anon_sym___alignof] = ACTIONS(1367),
-    [anon_sym__alignof] = ACTIONS(1367),
-    [anon_sym_alignof] = ACTIONS(1367),
-    [anon_sym__Alignof] = ACTIONS(1367),
-    [anon_sym_offsetof] = ACTIONS(1367),
-    [anon_sym__Generic] = ACTIONS(1367),
-    [anon_sym_asm] = ACTIONS(1367),
-    [anon_sym___asm__] = ACTIONS(1367),
-    [anon_sym___asm] = ACTIONS(1367),
-    [sym_number_literal] = ACTIONS(1369),
-    [anon_sym_L_SQUOTE] = ACTIONS(1369),
-    [anon_sym_u_SQUOTE] = ACTIONS(1369),
-    [anon_sym_U_SQUOTE] = ACTIONS(1369),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1369),
-    [anon_sym_SQUOTE] = ACTIONS(1369),
-    [anon_sym_L_DQUOTE] = ACTIONS(1369),
-    [anon_sym_u_DQUOTE] = ACTIONS(1369),
-    [anon_sym_U_DQUOTE] = ACTIONS(1369),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1369),
-    [anon_sym_DQUOTE] = ACTIONS(1369),
-    [sym_true] = ACTIONS(1367),
-    [sym_false] = ACTIONS(1367),
-    [anon_sym_NULL] = ACTIONS(1367),
-    [anon_sym_nullptr] = ACTIONS(1367),
+    [sym_identifier] = ACTIONS(1288),
+    [aux_sym_preproc_include_token1] = ACTIONS(1288),
+    [aux_sym_preproc_def_token1] = ACTIONS(1288),
+    [aux_sym_preproc_if_token1] = ACTIONS(1288),
+    [aux_sym_preproc_if_token2] = ACTIONS(1288),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1288),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1288),
+    [sym_preproc_directive] = ACTIONS(1288),
+    [anon_sym_LPAREN2] = ACTIONS(1290),
+    [anon_sym_BANG] = ACTIONS(1290),
+    [anon_sym_TILDE] = ACTIONS(1290),
+    [anon_sym_DASH] = ACTIONS(1288),
+    [anon_sym_PLUS] = ACTIONS(1288),
+    [anon_sym_STAR] = ACTIONS(1290),
+    [anon_sym_AMP] = ACTIONS(1290),
+    [anon_sym_SEMI] = ACTIONS(1290),
+    [anon_sym___extension__] = ACTIONS(1288),
+    [anon_sym_typedef] = ACTIONS(1288),
+    [anon_sym_extern] = ACTIONS(1288),
+    [anon_sym___attribute__] = ACTIONS(1288),
+    [anon_sym___attribute] = ACTIONS(1288),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1290),
+    [anon_sym___declspec] = ACTIONS(1288),
+    [anon_sym___cdecl] = ACTIONS(1288),
+    [anon_sym___clrcall] = ACTIONS(1288),
+    [anon_sym___stdcall] = ACTIONS(1288),
+    [anon_sym___fastcall] = ACTIONS(1288),
+    [anon_sym___thiscall] = ACTIONS(1288),
+    [anon_sym___vectorcall] = ACTIONS(1288),
+    [anon_sym_LBRACE] = ACTIONS(1290),
+    [anon_sym_signed] = ACTIONS(1288),
+    [anon_sym_unsigned] = ACTIONS(1288),
+    [anon_sym_long] = ACTIONS(1288),
+    [anon_sym_short] = ACTIONS(1288),
+    [anon_sym_static] = ACTIONS(1288),
+    [anon_sym_auto] = ACTIONS(1288),
+    [anon_sym_register] = ACTIONS(1288),
+    [anon_sym_inline] = ACTIONS(1288),
+    [anon_sym___inline] = ACTIONS(1288),
+    [anon_sym___inline__] = ACTIONS(1288),
+    [anon_sym___forceinline] = ACTIONS(1288),
+    [anon_sym_thread_local] = ACTIONS(1288),
+    [anon_sym___thread] = ACTIONS(1288),
+    [anon_sym_const] = ACTIONS(1288),
+    [anon_sym_constexpr] = ACTIONS(1288),
+    [anon_sym_volatile] = ACTIONS(1288),
+    [anon_sym_restrict] = ACTIONS(1288),
+    [anon_sym___restrict__] = ACTIONS(1288),
+    [anon_sym__Atomic] = ACTIONS(1288),
+    [anon_sym__Noreturn] = ACTIONS(1288),
+    [anon_sym_noreturn] = ACTIONS(1288),
+    [anon_sym__Nonnull] = ACTIONS(1288),
+    [anon_sym_alignas] = ACTIONS(1288),
+    [anon_sym__Alignas] = ACTIONS(1288),
+    [sym_primitive_type] = ACTIONS(1288),
+    [anon_sym_enum] = ACTIONS(1288),
+    [anon_sym_struct] = ACTIONS(1288),
+    [anon_sym_union] = ACTIONS(1288),
+    [anon_sym_if] = ACTIONS(1288),
+    [anon_sym_switch] = ACTIONS(1288),
+    [anon_sym_case] = ACTIONS(1288),
+    [anon_sym_default] = ACTIONS(1288),
+    [anon_sym_while] = ACTIONS(1288),
+    [anon_sym_do] = ACTIONS(1288),
+    [anon_sym_for] = ACTIONS(1288),
+    [anon_sym_return] = ACTIONS(1288),
+    [anon_sym_break] = ACTIONS(1288),
+    [anon_sym_continue] = ACTIONS(1288),
+    [anon_sym_goto] = ACTIONS(1288),
+    [anon_sym___try] = ACTIONS(1288),
+    [anon_sym___leave] = ACTIONS(1288),
+    [anon_sym_DASH_DASH] = ACTIONS(1290),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1290),
+    [anon_sym_sizeof] = ACTIONS(1288),
+    [anon_sym___alignof__] = ACTIONS(1288),
+    [anon_sym___alignof] = ACTIONS(1288),
+    [anon_sym__alignof] = ACTIONS(1288),
+    [anon_sym_alignof] = ACTIONS(1288),
+    [anon_sym__Alignof] = ACTIONS(1288),
+    [anon_sym_offsetof] = ACTIONS(1288),
+    [anon_sym__Generic] = ACTIONS(1288),
+    [anon_sym_asm] = ACTIONS(1288),
+    [anon_sym___asm__] = ACTIONS(1288),
+    [anon_sym___asm] = ACTIONS(1288),
+    [sym_number_literal] = ACTIONS(1290),
+    [anon_sym_L_SQUOTE] = ACTIONS(1290),
+    [anon_sym_u_SQUOTE] = ACTIONS(1290),
+    [anon_sym_U_SQUOTE] = ACTIONS(1290),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1290),
+    [anon_sym_SQUOTE] = ACTIONS(1290),
+    [anon_sym_L_DQUOTE] = ACTIONS(1290),
+    [anon_sym_u_DQUOTE] = ACTIONS(1290),
+    [anon_sym_U_DQUOTE] = ACTIONS(1290),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1290),
+    [anon_sym_DQUOTE] = ACTIONS(1290),
+    [sym_true] = ACTIONS(1288),
+    [sym_false] = ACTIONS(1288),
+    [anon_sym_NULL] = ACTIONS(1288),
+    [anon_sym_nullptr] = ACTIONS(1288),
     [sym_comment] = ACTIONS(3),
   },
   [309] = {
-    [sym_identifier] = ACTIONS(1361),
-    [aux_sym_preproc_include_token1] = ACTIONS(1361),
-    [aux_sym_preproc_def_token1] = ACTIONS(1361),
-    [aux_sym_preproc_if_token1] = ACTIONS(1361),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1361),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1361),
-    [sym_preproc_directive] = ACTIONS(1361),
-    [anon_sym_LPAREN2] = ACTIONS(1364),
-    [anon_sym_BANG] = ACTIONS(1364),
-    [anon_sym_TILDE] = ACTIONS(1364),
-    [anon_sym_DASH] = ACTIONS(1361),
-    [anon_sym_PLUS] = ACTIONS(1361),
-    [anon_sym_STAR] = ACTIONS(1364),
-    [anon_sym_AMP] = ACTIONS(1364),
-    [anon_sym_SEMI] = ACTIONS(1364),
-    [anon_sym___extension__] = ACTIONS(1361),
-    [anon_sym_typedef] = ACTIONS(1361),
-    [anon_sym_extern] = ACTIONS(1361),
-    [anon_sym___attribute__] = ACTIONS(1361),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1364),
-    [anon_sym___declspec] = ACTIONS(1361),
-    [anon_sym___cdecl] = ACTIONS(1361),
-    [anon_sym___clrcall] = ACTIONS(1361),
-    [anon_sym___stdcall] = ACTIONS(1361),
-    [anon_sym___fastcall] = ACTIONS(1361),
-    [anon_sym___thiscall] = ACTIONS(1361),
-    [anon_sym___vectorcall] = ACTIONS(1361),
-    [anon_sym_LBRACE] = ACTIONS(1364),
-    [anon_sym_RBRACE] = ACTIONS(1364),
-    [anon_sym_signed] = ACTIONS(1361),
-    [anon_sym_unsigned] = ACTIONS(1361),
-    [anon_sym_long] = ACTIONS(1361),
-    [anon_sym_short] = ACTIONS(1361),
-    [anon_sym_static] = ACTIONS(1361),
-    [anon_sym_auto] = ACTIONS(1361),
-    [anon_sym_register] = ACTIONS(1361),
-    [anon_sym_inline] = ACTIONS(1361),
-    [anon_sym___inline] = ACTIONS(1361),
-    [anon_sym___inline__] = ACTIONS(1361),
-    [anon_sym___forceinline] = ACTIONS(1361),
-    [anon_sym_thread_local] = ACTIONS(1361),
-    [anon_sym___thread] = ACTIONS(1361),
-    [anon_sym_const] = ACTIONS(1361),
-    [anon_sym_constexpr] = ACTIONS(1361),
-    [anon_sym_volatile] = ACTIONS(1361),
-    [anon_sym_restrict] = ACTIONS(1361),
-    [anon_sym___restrict__] = ACTIONS(1361),
-    [anon_sym__Atomic] = ACTIONS(1361),
-    [anon_sym__Noreturn] = ACTIONS(1361),
-    [anon_sym_noreturn] = ACTIONS(1361),
-    [anon_sym__Nonnull] = ACTIONS(1361),
-    [anon_sym_alignas] = ACTIONS(1361),
-    [anon_sym__Alignas] = ACTIONS(1361),
-    [sym_primitive_type] = ACTIONS(1361),
-    [anon_sym_enum] = ACTIONS(1361),
-    [anon_sym_struct] = ACTIONS(1361),
-    [anon_sym_union] = ACTIONS(1361),
-    [anon_sym_if] = ACTIONS(1361),
-    [anon_sym_switch] = ACTIONS(1361),
-    [anon_sym_case] = ACTIONS(1361),
-    [anon_sym_default] = ACTIONS(1361),
-    [anon_sym_while] = ACTIONS(1361),
-    [anon_sym_do] = ACTIONS(1361),
-    [anon_sym_for] = ACTIONS(1361),
-    [anon_sym_return] = ACTIONS(1361),
-    [anon_sym_break] = ACTIONS(1361),
-    [anon_sym_continue] = ACTIONS(1361),
-    [anon_sym_goto] = ACTIONS(1361),
-    [anon_sym___try] = ACTIONS(1361),
-    [anon_sym___leave] = ACTIONS(1361),
-    [anon_sym_DASH_DASH] = ACTIONS(1364),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1364),
-    [anon_sym_sizeof] = ACTIONS(1361),
-    [anon_sym___alignof__] = ACTIONS(1361),
-    [anon_sym___alignof] = ACTIONS(1361),
-    [anon_sym__alignof] = ACTIONS(1361),
-    [anon_sym_alignof] = ACTIONS(1361),
-    [anon_sym__Alignof] = ACTIONS(1361),
-    [anon_sym_offsetof] = ACTIONS(1361),
-    [anon_sym__Generic] = ACTIONS(1361),
-    [anon_sym_asm] = ACTIONS(1361),
-    [anon_sym___asm__] = ACTIONS(1361),
-    [anon_sym___asm] = ACTIONS(1361),
-    [sym_number_literal] = ACTIONS(1364),
-    [anon_sym_L_SQUOTE] = ACTIONS(1364),
-    [anon_sym_u_SQUOTE] = ACTIONS(1364),
-    [anon_sym_U_SQUOTE] = ACTIONS(1364),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1364),
-    [anon_sym_SQUOTE] = ACTIONS(1364),
-    [anon_sym_L_DQUOTE] = ACTIONS(1364),
-    [anon_sym_u_DQUOTE] = ACTIONS(1364),
-    [anon_sym_U_DQUOTE] = ACTIONS(1364),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1364),
-    [anon_sym_DQUOTE] = ACTIONS(1364),
-    [sym_true] = ACTIONS(1361),
-    [sym_false] = ACTIONS(1361),
-    [anon_sym_NULL] = ACTIONS(1361),
-    [anon_sym_nullptr] = ACTIONS(1361),
+    [sym_identifier] = ACTIONS(1312),
+    [aux_sym_preproc_include_token1] = ACTIONS(1312),
+    [aux_sym_preproc_def_token1] = ACTIONS(1312),
+    [aux_sym_preproc_if_token1] = ACTIONS(1312),
+    [aux_sym_preproc_if_token2] = ACTIONS(1312),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1312),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1312),
+    [sym_preproc_directive] = ACTIONS(1312),
+    [anon_sym_LPAREN2] = ACTIONS(1314),
+    [anon_sym_BANG] = ACTIONS(1314),
+    [anon_sym_TILDE] = ACTIONS(1314),
+    [anon_sym_DASH] = ACTIONS(1312),
+    [anon_sym_PLUS] = ACTIONS(1312),
+    [anon_sym_STAR] = ACTIONS(1314),
+    [anon_sym_AMP] = ACTIONS(1314),
+    [anon_sym_SEMI] = ACTIONS(1314),
+    [anon_sym___extension__] = ACTIONS(1312),
+    [anon_sym_typedef] = ACTIONS(1312),
+    [anon_sym_extern] = ACTIONS(1312),
+    [anon_sym___attribute__] = ACTIONS(1312),
+    [anon_sym___attribute] = ACTIONS(1312),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1314),
+    [anon_sym___declspec] = ACTIONS(1312),
+    [anon_sym___cdecl] = ACTIONS(1312),
+    [anon_sym___clrcall] = ACTIONS(1312),
+    [anon_sym___stdcall] = ACTIONS(1312),
+    [anon_sym___fastcall] = ACTIONS(1312),
+    [anon_sym___thiscall] = ACTIONS(1312),
+    [anon_sym___vectorcall] = ACTIONS(1312),
+    [anon_sym_LBRACE] = ACTIONS(1314),
+    [anon_sym_signed] = ACTIONS(1312),
+    [anon_sym_unsigned] = ACTIONS(1312),
+    [anon_sym_long] = ACTIONS(1312),
+    [anon_sym_short] = ACTIONS(1312),
+    [anon_sym_static] = ACTIONS(1312),
+    [anon_sym_auto] = ACTIONS(1312),
+    [anon_sym_register] = ACTIONS(1312),
+    [anon_sym_inline] = ACTIONS(1312),
+    [anon_sym___inline] = ACTIONS(1312),
+    [anon_sym___inline__] = ACTIONS(1312),
+    [anon_sym___forceinline] = ACTIONS(1312),
+    [anon_sym_thread_local] = ACTIONS(1312),
+    [anon_sym___thread] = ACTIONS(1312),
+    [anon_sym_const] = ACTIONS(1312),
+    [anon_sym_constexpr] = ACTIONS(1312),
+    [anon_sym_volatile] = ACTIONS(1312),
+    [anon_sym_restrict] = ACTIONS(1312),
+    [anon_sym___restrict__] = ACTIONS(1312),
+    [anon_sym__Atomic] = ACTIONS(1312),
+    [anon_sym__Noreturn] = ACTIONS(1312),
+    [anon_sym_noreturn] = ACTIONS(1312),
+    [anon_sym__Nonnull] = ACTIONS(1312),
+    [anon_sym_alignas] = ACTIONS(1312),
+    [anon_sym__Alignas] = ACTIONS(1312),
+    [sym_primitive_type] = ACTIONS(1312),
+    [anon_sym_enum] = ACTIONS(1312),
+    [anon_sym_struct] = ACTIONS(1312),
+    [anon_sym_union] = ACTIONS(1312),
+    [anon_sym_if] = ACTIONS(1312),
+    [anon_sym_switch] = ACTIONS(1312),
+    [anon_sym_case] = ACTIONS(1312),
+    [anon_sym_default] = ACTIONS(1312),
+    [anon_sym_while] = ACTIONS(1312),
+    [anon_sym_do] = ACTIONS(1312),
+    [anon_sym_for] = ACTIONS(1312),
+    [anon_sym_return] = ACTIONS(1312),
+    [anon_sym_break] = ACTIONS(1312),
+    [anon_sym_continue] = ACTIONS(1312),
+    [anon_sym_goto] = ACTIONS(1312),
+    [anon_sym___try] = ACTIONS(1312),
+    [anon_sym___leave] = ACTIONS(1312),
+    [anon_sym_DASH_DASH] = ACTIONS(1314),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1314),
+    [anon_sym_sizeof] = ACTIONS(1312),
+    [anon_sym___alignof__] = ACTIONS(1312),
+    [anon_sym___alignof] = ACTIONS(1312),
+    [anon_sym__alignof] = ACTIONS(1312),
+    [anon_sym_alignof] = ACTIONS(1312),
+    [anon_sym__Alignof] = ACTIONS(1312),
+    [anon_sym_offsetof] = ACTIONS(1312),
+    [anon_sym__Generic] = ACTIONS(1312),
+    [anon_sym_asm] = ACTIONS(1312),
+    [anon_sym___asm__] = ACTIONS(1312),
+    [anon_sym___asm] = ACTIONS(1312),
+    [sym_number_literal] = ACTIONS(1314),
+    [anon_sym_L_SQUOTE] = ACTIONS(1314),
+    [anon_sym_u_SQUOTE] = ACTIONS(1314),
+    [anon_sym_U_SQUOTE] = ACTIONS(1314),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1314),
+    [anon_sym_SQUOTE] = ACTIONS(1314),
+    [anon_sym_L_DQUOTE] = ACTIONS(1314),
+    [anon_sym_u_DQUOTE] = ACTIONS(1314),
+    [anon_sym_U_DQUOTE] = ACTIONS(1314),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1314),
+    [anon_sym_DQUOTE] = ACTIONS(1314),
+    [sym_true] = ACTIONS(1312),
+    [sym_false] = ACTIONS(1312),
+    [anon_sym_NULL] = ACTIONS(1312),
+    [anon_sym_nullptr] = ACTIONS(1312),
     [sym_comment] = ACTIONS(3),
   },
   [310] = {
-    [sym_identifier] = ACTIONS(1361),
-    [aux_sym_preproc_include_token1] = ACTIONS(1361),
-    [aux_sym_preproc_def_token1] = ACTIONS(1361),
-    [aux_sym_preproc_if_token1] = ACTIONS(1361),
-    [aux_sym_preproc_if_token2] = ACTIONS(1361),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1361),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1361),
-    [sym_preproc_directive] = ACTIONS(1361),
-    [anon_sym_LPAREN2] = ACTIONS(1364),
-    [anon_sym_BANG] = ACTIONS(1364),
-    [anon_sym_TILDE] = ACTIONS(1364),
-    [anon_sym_DASH] = ACTIONS(1361),
-    [anon_sym_PLUS] = ACTIONS(1361),
-    [anon_sym_STAR] = ACTIONS(1364),
-    [anon_sym_AMP] = ACTIONS(1364),
-    [anon_sym_SEMI] = ACTIONS(1364),
-    [anon_sym___extension__] = ACTIONS(1361),
-    [anon_sym_typedef] = ACTIONS(1361),
-    [anon_sym_extern] = ACTIONS(1361),
-    [anon_sym___attribute__] = ACTIONS(1361),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1364),
-    [anon_sym___declspec] = ACTIONS(1361),
-    [anon_sym___cdecl] = ACTIONS(1361),
-    [anon_sym___clrcall] = ACTIONS(1361),
-    [anon_sym___stdcall] = ACTIONS(1361),
-    [anon_sym___fastcall] = ACTIONS(1361),
-    [anon_sym___thiscall] = ACTIONS(1361),
-    [anon_sym___vectorcall] = ACTIONS(1361),
-    [anon_sym_LBRACE] = ACTIONS(1364),
-    [anon_sym_signed] = ACTIONS(1361),
-    [anon_sym_unsigned] = ACTIONS(1361),
-    [anon_sym_long] = ACTIONS(1361),
-    [anon_sym_short] = ACTIONS(1361),
-    [anon_sym_static] = ACTIONS(1361),
-    [anon_sym_auto] = ACTIONS(1361),
-    [anon_sym_register] = ACTIONS(1361),
-    [anon_sym_inline] = ACTIONS(1361),
-    [anon_sym___inline] = ACTIONS(1361),
-    [anon_sym___inline__] = ACTIONS(1361),
-    [anon_sym___forceinline] = ACTIONS(1361),
-    [anon_sym_thread_local] = ACTIONS(1361),
-    [anon_sym___thread] = ACTIONS(1361),
-    [anon_sym_const] = ACTIONS(1361),
-    [anon_sym_constexpr] = ACTIONS(1361),
-    [anon_sym_volatile] = ACTIONS(1361),
-    [anon_sym_restrict] = ACTIONS(1361),
-    [anon_sym___restrict__] = ACTIONS(1361),
-    [anon_sym__Atomic] = ACTIONS(1361),
-    [anon_sym__Noreturn] = ACTIONS(1361),
-    [anon_sym_noreturn] = ACTIONS(1361),
-    [anon_sym__Nonnull] = ACTIONS(1361),
-    [anon_sym_alignas] = ACTIONS(1361),
-    [anon_sym__Alignas] = ACTIONS(1361),
-    [sym_primitive_type] = ACTIONS(1361),
-    [anon_sym_enum] = ACTIONS(1361),
-    [anon_sym_struct] = ACTIONS(1361),
-    [anon_sym_union] = ACTIONS(1361),
-    [anon_sym_if] = ACTIONS(1361),
-    [anon_sym_switch] = ACTIONS(1361),
-    [anon_sym_case] = ACTIONS(1361),
-    [anon_sym_default] = ACTIONS(1361),
-    [anon_sym_while] = ACTIONS(1361),
-    [anon_sym_do] = ACTIONS(1361),
-    [anon_sym_for] = ACTIONS(1361),
-    [anon_sym_return] = ACTIONS(1361),
-    [anon_sym_break] = ACTIONS(1361),
-    [anon_sym_continue] = ACTIONS(1361),
-    [anon_sym_goto] = ACTIONS(1361),
-    [anon_sym___try] = ACTIONS(1361),
-    [anon_sym___leave] = ACTIONS(1361),
-    [anon_sym_DASH_DASH] = ACTIONS(1364),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1364),
-    [anon_sym_sizeof] = ACTIONS(1361),
-    [anon_sym___alignof__] = ACTIONS(1361),
-    [anon_sym___alignof] = ACTIONS(1361),
-    [anon_sym__alignof] = ACTIONS(1361),
-    [anon_sym_alignof] = ACTIONS(1361),
-    [anon_sym__Alignof] = ACTIONS(1361),
-    [anon_sym_offsetof] = ACTIONS(1361),
-    [anon_sym__Generic] = ACTIONS(1361),
-    [anon_sym_asm] = ACTIONS(1361),
-    [anon_sym___asm__] = ACTIONS(1361),
-    [anon_sym___asm] = ACTIONS(1361),
-    [sym_number_literal] = ACTIONS(1364),
-    [anon_sym_L_SQUOTE] = ACTIONS(1364),
-    [anon_sym_u_SQUOTE] = ACTIONS(1364),
-    [anon_sym_U_SQUOTE] = ACTIONS(1364),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1364),
-    [anon_sym_SQUOTE] = ACTIONS(1364),
-    [anon_sym_L_DQUOTE] = ACTIONS(1364),
-    [anon_sym_u_DQUOTE] = ACTIONS(1364),
-    [anon_sym_U_DQUOTE] = ACTIONS(1364),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1364),
-    [anon_sym_DQUOTE] = ACTIONS(1364),
-    [sym_true] = ACTIONS(1361),
-    [sym_false] = ACTIONS(1361),
-    [anon_sym_NULL] = ACTIONS(1361),
-    [anon_sym_nullptr] = ACTIONS(1361),
+    [sym_identifier] = ACTIONS(1356),
+    [aux_sym_preproc_include_token1] = ACTIONS(1356),
+    [aux_sym_preproc_def_token1] = ACTIONS(1356),
+    [aux_sym_preproc_if_token1] = ACTIONS(1356),
+    [aux_sym_preproc_if_token2] = ACTIONS(1356),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1356),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1356),
+    [sym_preproc_directive] = ACTIONS(1356),
+    [anon_sym_LPAREN2] = ACTIONS(1358),
+    [anon_sym_BANG] = ACTIONS(1358),
+    [anon_sym_TILDE] = ACTIONS(1358),
+    [anon_sym_DASH] = ACTIONS(1356),
+    [anon_sym_PLUS] = ACTIONS(1356),
+    [anon_sym_STAR] = ACTIONS(1358),
+    [anon_sym_AMP] = ACTIONS(1358),
+    [anon_sym_SEMI] = ACTIONS(1358),
+    [anon_sym___extension__] = ACTIONS(1356),
+    [anon_sym_typedef] = ACTIONS(1356),
+    [anon_sym_extern] = ACTIONS(1356),
+    [anon_sym___attribute__] = ACTIONS(1356),
+    [anon_sym___attribute] = ACTIONS(1356),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1358),
+    [anon_sym___declspec] = ACTIONS(1356),
+    [anon_sym___cdecl] = ACTIONS(1356),
+    [anon_sym___clrcall] = ACTIONS(1356),
+    [anon_sym___stdcall] = ACTIONS(1356),
+    [anon_sym___fastcall] = ACTIONS(1356),
+    [anon_sym___thiscall] = ACTIONS(1356),
+    [anon_sym___vectorcall] = ACTIONS(1356),
+    [anon_sym_LBRACE] = ACTIONS(1358),
+    [anon_sym_signed] = ACTIONS(1356),
+    [anon_sym_unsigned] = ACTIONS(1356),
+    [anon_sym_long] = ACTIONS(1356),
+    [anon_sym_short] = ACTIONS(1356),
+    [anon_sym_static] = ACTIONS(1356),
+    [anon_sym_auto] = ACTIONS(1356),
+    [anon_sym_register] = ACTIONS(1356),
+    [anon_sym_inline] = ACTIONS(1356),
+    [anon_sym___inline] = ACTIONS(1356),
+    [anon_sym___inline__] = ACTIONS(1356),
+    [anon_sym___forceinline] = ACTIONS(1356),
+    [anon_sym_thread_local] = ACTIONS(1356),
+    [anon_sym___thread] = ACTIONS(1356),
+    [anon_sym_const] = ACTIONS(1356),
+    [anon_sym_constexpr] = ACTIONS(1356),
+    [anon_sym_volatile] = ACTIONS(1356),
+    [anon_sym_restrict] = ACTIONS(1356),
+    [anon_sym___restrict__] = ACTIONS(1356),
+    [anon_sym__Atomic] = ACTIONS(1356),
+    [anon_sym__Noreturn] = ACTIONS(1356),
+    [anon_sym_noreturn] = ACTIONS(1356),
+    [anon_sym__Nonnull] = ACTIONS(1356),
+    [anon_sym_alignas] = ACTIONS(1356),
+    [anon_sym__Alignas] = ACTIONS(1356),
+    [sym_primitive_type] = ACTIONS(1356),
+    [anon_sym_enum] = ACTIONS(1356),
+    [anon_sym_struct] = ACTIONS(1356),
+    [anon_sym_union] = ACTIONS(1356),
+    [anon_sym_if] = ACTIONS(1356),
+    [anon_sym_switch] = ACTIONS(1356),
+    [anon_sym_case] = ACTIONS(1356),
+    [anon_sym_default] = ACTIONS(1356),
+    [anon_sym_while] = ACTIONS(1356),
+    [anon_sym_do] = ACTIONS(1356),
+    [anon_sym_for] = ACTIONS(1356),
+    [anon_sym_return] = ACTIONS(1356),
+    [anon_sym_break] = ACTIONS(1356),
+    [anon_sym_continue] = ACTIONS(1356),
+    [anon_sym_goto] = ACTIONS(1356),
+    [anon_sym___try] = ACTIONS(1356),
+    [anon_sym___leave] = ACTIONS(1356),
+    [anon_sym_DASH_DASH] = ACTIONS(1358),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1358),
+    [anon_sym_sizeof] = ACTIONS(1356),
+    [anon_sym___alignof__] = ACTIONS(1356),
+    [anon_sym___alignof] = ACTIONS(1356),
+    [anon_sym__alignof] = ACTIONS(1356),
+    [anon_sym_alignof] = ACTIONS(1356),
+    [anon_sym__Alignof] = ACTIONS(1356),
+    [anon_sym_offsetof] = ACTIONS(1356),
+    [anon_sym__Generic] = ACTIONS(1356),
+    [anon_sym_asm] = ACTIONS(1356),
+    [anon_sym___asm__] = ACTIONS(1356),
+    [anon_sym___asm] = ACTIONS(1356),
+    [sym_number_literal] = ACTIONS(1358),
+    [anon_sym_L_SQUOTE] = ACTIONS(1358),
+    [anon_sym_u_SQUOTE] = ACTIONS(1358),
+    [anon_sym_U_SQUOTE] = ACTIONS(1358),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1358),
+    [anon_sym_SQUOTE] = ACTIONS(1358),
+    [anon_sym_L_DQUOTE] = ACTIONS(1358),
+    [anon_sym_u_DQUOTE] = ACTIONS(1358),
+    [anon_sym_U_DQUOTE] = ACTIONS(1358),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1358),
+    [anon_sym_DQUOTE] = ACTIONS(1358),
+    [sym_true] = ACTIONS(1356),
+    [sym_false] = ACTIONS(1356),
+    [anon_sym_NULL] = ACTIONS(1356),
+    [anon_sym_nullptr] = ACTIONS(1356),
     [sym_comment] = ACTIONS(3),
   },
   [311] = {
-    [sym_identifier] = ACTIONS(1349),
-    [aux_sym_preproc_include_token1] = ACTIONS(1349),
-    [aux_sym_preproc_def_token1] = ACTIONS(1349),
-    [aux_sym_preproc_if_token1] = ACTIONS(1349),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1349),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1349),
-    [sym_preproc_directive] = ACTIONS(1349),
-    [anon_sym_LPAREN2] = ACTIONS(1351),
-    [anon_sym_BANG] = ACTIONS(1351),
-    [anon_sym_TILDE] = ACTIONS(1351),
-    [anon_sym_DASH] = ACTIONS(1349),
-    [anon_sym_PLUS] = ACTIONS(1349),
-    [anon_sym_STAR] = ACTIONS(1351),
-    [anon_sym_AMP] = ACTIONS(1351),
-    [anon_sym_SEMI] = ACTIONS(1351),
-    [anon_sym___extension__] = ACTIONS(1349),
-    [anon_sym_typedef] = ACTIONS(1349),
-    [anon_sym_extern] = ACTIONS(1349),
-    [anon_sym___attribute__] = ACTIONS(1349),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1351),
-    [anon_sym___declspec] = ACTIONS(1349),
-    [anon_sym___cdecl] = ACTIONS(1349),
-    [anon_sym___clrcall] = ACTIONS(1349),
-    [anon_sym___stdcall] = ACTIONS(1349),
-    [anon_sym___fastcall] = ACTIONS(1349),
-    [anon_sym___thiscall] = ACTIONS(1349),
-    [anon_sym___vectorcall] = ACTIONS(1349),
-    [anon_sym_LBRACE] = ACTIONS(1351),
-    [anon_sym_RBRACE] = ACTIONS(1351),
-    [anon_sym_signed] = ACTIONS(1349),
-    [anon_sym_unsigned] = ACTIONS(1349),
-    [anon_sym_long] = ACTIONS(1349),
-    [anon_sym_short] = ACTIONS(1349),
-    [anon_sym_static] = ACTIONS(1349),
-    [anon_sym_auto] = ACTIONS(1349),
-    [anon_sym_register] = ACTIONS(1349),
-    [anon_sym_inline] = ACTIONS(1349),
-    [anon_sym___inline] = ACTIONS(1349),
-    [anon_sym___inline__] = ACTIONS(1349),
-    [anon_sym___forceinline] = ACTIONS(1349),
-    [anon_sym_thread_local] = ACTIONS(1349),
-    [anon_sym___thread] = ACTIONS(1349),
-    [anon_sym_const] = ACTIONS(1349),
-    [anon_sym_constexpr] = ACTIONS(1349),
-    [anon_sym_volatile] = ACTIONS(1349),
-    [anon_sym_restrict] = ACTIONS(1349),
-    [anon_sym___restrict__] = ACTIONS(1349),
-    [anon_sym__Atomic] = ACTIONS(1349),
-    [anon_sym__Noreturn] = ACTIONS(1349),
-    [anon_sym_noreturn] = ACTIONS(1349),
-    [anon_sym__Nonnull] = ACTIONS(1349),
-    [anon_sym_alignas] = ACTIONS(1349),
-    [anon_sym__Alignas] = ACTIONS(1349),
-    [sym_primitive_type] = ACTIONS(1349),
-    [anon_sym_enum] = ACTIONS(1349),
-    [anon_sym_struct] = ACTIONS(1349),
-    [anon_sym_union] = ACTIONS(1349),
-    [anon_sym_if] = ACTIONS(1349),
-    [anon_sym_switch] = ACTIONS(1349),
-    [anon_sym_case] = ACTIONS(1349),
-    [anon_sym_default] = ACTIONS(1349),
-    [anon_sym_while] = ACTIONS(1349),
-    [anon_sym_do] = ACTIONS(1349),
-    [anon_sym_for] = ACTIONS(1349),
-    [anon_sym_return] = ACTIONS(1349),
-    [anon_sym_break] = ACTIONS(1349),
-    [anon_sym_continue] = ACTIONS(1349),
-    [anon_sym_goto] = ACTIONS(1349),
-    [anon_sym___try] = ACTIONS(1349),
-    [anon_sym___leave] = ACTIONS(1349),
-    [anon_sym_DASH_DASH] = ACTIONS(1351),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1351),
-    [anon_sym_sizeof] = ACTIONS(1349),
-    [anon_sym___alignof__] = ACTIONS(1349),
-    [anon_sym___alignof] = ACTIONS(1349),
-    [anon_sym__alignof] = ACTIONS(1349),
-    [anon_sym_alignof] = ACTIONS(1349),
-    [anon_sym__Alignof] = ACTIONS(1349),
-    [anon_sym_offsetof] = ACTIONS(1349),
-    [anon_sym__Generic] = ACTIONS(1349),
-    [anon_sym_asm] = ACTIONS(1349),
-    [anon_sym___asm__] = ACTIONS(1349),
-    [anon_sym___asm] = ACTIONS(1349),
-    [sym_number_literal] = ACTIONS(1351),
-    [anon_sym_L_SQUOTE] = ACTIONS(1351),
-    [anon_sym_u_SQUOTE] = ACTIONS(1351),
-    [anon_sym_U_SQUOTE] = ACTIONS(1351),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1351),
-    [anon_sym_SQUOTE] = ACTIONS(1351),
-    [anon_sym_L_DQUOTE] = ACTIONS(1351),
-    [anon_sym_u_DQUOTE] = ACTIONS(1351),
-    [anon_sym_U_DQUOTE] = ACTIONS(1351),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1351),
-    [anon_sym_DQUOTE] = ACTIONS(1351),
-    [sym_true] = ACTIONS(1349),
-    [sym_false] = ACTIONS(1349),
-    [anon_sym_NULL] = ACTIONS(1349),
-    [anon_sym_nullptr] = ACTIONS(1349),
+    [sym_identifier] = ACTIONS(1368),
+    [aux_sym_preproc_include_token1] = ACTIONS(1368),
+    [aux_sym_preproc_def_token1] = ACTIONS(1368),
+    [aux_sym_preproc_if_token1] = ACTIONS(1368),
+    [aux_sym_preproc_if_token2] = ACTIONS(1368),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1368),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1368),
+    [sym_preproc_directive] = ACTIONS(1368),
+    [anon_sym_LPAREN2] = ACTIONS(1370),
+    [anon_sym_BANG] = ACTIONS(1370),
+    [anon_sym_TILDE] = ACTIONS(1370),
+    [anon_sym_DASH] = ACTIONS(1368),
+    [anon_sym_PLUS] = ACTIONS(1368),
+    [anon_sym_STAR] = ACTIONS(1370),
+    [anon_sym_AMP] = ACTIONS(1370),
+    [anon_sym_SEMI] = ACTIONS(1370),
+    [anon_sym___extension__] = ACTIONS(1368),
+    [anon_sym_typedef] = ACTIONS(1368),
+    [anon_sym_extern] = ACTIONS(1368),
+    [anon_sym___attribute__] = ACTIONS(1368),
+    [anon_sym___attribute] = ACTIONS(1368),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1370),
+    [anon_sym___declspec] = ACTIONS(1368),
+    [anon_sym___cdecl] = ACTIONS(1368),
+    [anon_sym___clrcall] = ACTIONS(1368),
+    [anon_sym___stdcall] = ACTIONS(1368),
+    [anon_sym___fastcall] = ACTIONS(1368),
+    [anon_sym___thiscall] = ACTIONS(1368),
+    [anon_sym___vectorcall] = ACTIONS(1368),
+    [anon_sym_LBRACE] = ACTIONS(1370),
+    [anon_sym_signed] = ACTIONS(1368),
+    [anon_sym_unsigned] = ACTIONS(1368),
+    [anon_sym_long] = ACTIONS(1368),
+    [anon_sym_short] = ACTIONS(1368),
+    [anon_sym_static] = ACTIONS(1368),
+    [anon_sym_auto] = ACTIONS(1368),
+    [anon_sym_register] = ACTIONS(1368),
+    [anon_sym_inline] = ACTIONS(1368),
+    [anon_sym___inline] = ACTIONS(1368),
+    [anon_sym___inline__] = ACTIONS(1368),
+    [anon_sym___forceinline] = ACTIONS(1368),
+    [anon_sym_thread_local] = ACTIONS(1368),
+    [anon_sym___thread] = ACTIONS(1368),
+    [anon_sym_const] = ACTIONS(1368),
+    [anon_sym_constexpr] = ACTIONS(1368),
+    [anon_sym_volatile] = ACTIONS(1368),
+    [anon_sym_restrict] = ACTIONS(1368),
+    [anon_sym___restrict__] = ACTIONS(1368),
+    [anon_sym__Atomic] = ACTIONS(1368),
+    [anon_sym__Noreturn] = ACTIONS(1368),
+    [anon_sym_noreturn] = ACTIONS(1368),
+    [anon_sym__Nonnull] = ACTIONS(1368),
+    [anon_sym_alignas] = ACTIONS(1368),
+    [anon_sym__Alignas] = ACTIONS(1368),
+    [sym_primitive_type] = ACTIONS(1368),
+    [anon_sym_enum] = ACTIONS(1368),
+    [anon_sym_struct] = ACTIONS(1368),
+    [anon_sym_union] = ACTIONS(1368),
+    [anon_sym_if] = ACTIONS(1368),
+    [anon_sym_switch] = ACTIONS(1368),
+    [anon_sym_case] = ACTIONS(1368),
+    [anon_sym_default] = ACTIONS(1368),
+    [anon_sym_while] = ACTIONS(1368),
+    [anon_sym_do] = ACTIONS(1368),
+    [anon_sym_for] = ACTIONS(1368),
+    [anon_sym_return] = ACTIONS(1368),
+    [anon_sym_break] = ACTIONS(1368),
+    [anon_sym_continue] = ACTIONS(1368),
+    [anon_sym_goto] = ACTIONS(1368),
+    [anon_sym___try] = ACTIONS(1368),
+    [anon_sym___leave] = ACTIONS(1368),
+    [anon_sym_DASH_DASH] = ACTIONS(1370),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1370),
+    [anon_sym_sizeof] = ACTIONS(1368),
+    [anon_sym___alignof__] = ACTIONS(1368),
+    [anon_sym___alignof] = ACTIONS(1368),
+    [anon_sym__alignof] = ACTIONS(1368),
+    [anon_sym_alignof] = ACTIONS(1368),
+    [anon_sym__Alignof] = ACTIONS(1368),
+    [anon_sym_offsetof] = ACTIONS(1368),
+    [anon_sym__Generic] = ACTIONS(1368),
+    [anon_sym_asm] = ACTIONS(1368),
+    [anon_sym___asm__] = ACTIONS(1368),
+    [anon_sym___asm] = ACTIONS(1368),
+    [sym_number_literal] = ACTIONS(1370),
+    [anon_sym_L_SQUOTE] = ACTIONS(1370),
+    [anon_sym_u_SQUOTE] = ACTIONS(1370),
+    [anon_sym_U_SQUOTE] = ACTIONS(1370),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1370),
+    [anon_sym_SQUOTE] = ACTIONS(1370),
+    [anon_sym_L_DQUOTE] = ACTIONS(1370),
+    [anon_sym_u_DQUOTE] = ACTIONS(1370),
+    [anon_sym_U_DQUOTE] = ACTIONS(1370),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1370),
+    [anon_sym_DQUOTE] = ACTIONS(1370),
+    [sym_true] = ACTIONS(1368),
+    [sym_false] = ACTIONS(1368),
+    [anon_sym_NULL] = ACTIONS(1368),
+    [anon_sym_nullptr] = ACTIONS(1368),
     [sym_comment] = ACTIONS(3),
   },
   [312] = {
-    [sym_identifier] = ACTIONS(1353),
-    [aux_sym_preproc_include_token1] = ACTIONS(1353),
-    [aux_sym_preproc_def_token1] = ACTIONS(1353),
-    [aux_sym_preproc_if_token1] = ACTIONS(1353),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1353),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1353),
-    [sym_preproc_directive] = ACTIONS(1353),
-    [anon_sym_LPAREN2] = ACTIONS(1355),
-    [anon_sym_BANG] = ACTIONS(1355),
-    [anon_sym_TILDE] = ACTIONS(1355),
-    [anon_sym_DASH] = ACTIONS(1353),
-    [anon_sym_PLUS] = ACTIONS(1353),
-    [anon_sym_STAR] = ACTIONS(1355),
-    [anon_sym_AMP] = ACTIONS(1355),
-    [anon_sym_SEMI] = ACTIONS(1355),
-    [anon_sym___extension__] = ACTIONS(1353),
-    [anon_sym_typedef] = ACTIONS(1353),
-    [anon_sym_extern] = ACTIONS(1353),
-    [anon_sym___attribute__] = ACTIONS(1353),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1355),
-    [anon_sym___declspec] = ACTIONS(1353),
-    [anon_sym___cdecl] = ACTIONS(1353),
-    [anon_sym___clrcall] = ACTIONS(1353),
-    [anon_sym___stdcall] = ACTIONS(1353),
-    [anon_sym___fastcall] = ACTIONS(1353),
-    [anon_sym___thiscall] = ACTIONS(1353),
-    [anon_sym___vectorcall] = ACTIONS(1353),
-    [anon_sym_LBRACE] = ACTIONS(1355),
-    [anon_sym_RBRACE] = ACTIONS(1355),
-    [anon_sym_signed] = ACTIONS(1353),
-    [anon_sym_unsigned] = ACTIONS(1353),
-    [anon_sym_long] = ACTIONS(1353),
-    [anon_sym_short] = ACTIONS(1353),
-    [anon_sym_static] = ACTIONS(1353),
-    [anon_sym_auto] = ACTIONS(1353),
-    [anon_sym_register] = ACTIONS(1353),
-    [anon_sym_inline] = ACTIONS(1353),
-    [anon_sym___inline] = ACTIONS(1353),
-    [anon_sym___inline__] = ACTIONS(1353),
-    [anon_sym___forceinline] = ACTIONS(1353),
-    [anon_sym_thread_local] = ACTIONS(1353),
-    [anon_sym___thread] = ACTIONS(1353),
-    [anon_sym_const] = ACTIONS(1353),
-    [anon_sym_constexpr] = ACTIONS(1353),
-    [anon_sym_volatile] = ACTIONS(1353),
-    [anon_sym_restrict] = ACTIONS(1353),
-    [anon_sym___restrict__] = ACTIONS(1353),
-    [anon_sym__Atomic] = ACTIONS(1353),
-    [anon_sym__Noreturn] = ACTIONS(1353),
-    [anon_sym_noreturn] = ACTIONS(1353),
-    [anon_sym__Nonnull] = ACTIONS(1353),
-    [anon_sym_alignas] = ACTIONS(1353),
-    [anon_sym__Alignas] = ACTIONS(1353),
-    [sym_primitive_type] = ACTIONS(1353),
-    [anon_sym_enum] = ACTIONS(1353),
-    [anon_sym_struct] = ACTIONS(1353),
-    [anon_sym_union] = ACTIONS(1353),
-    [anon_sym_if] = ACTIONS(1353),
-    [anon_sym_switch] = ACTIONS(1353),
-    [anon_sym_case] = ACTIONS(1353),
-    [anon_sym_default] = ACTIONS(1353),
-    [anon_sym_while] = ACTIONS(1353),
-    [anon_sym_do] = ACTIONS(1353),
-    [anon_sym_for] = ACTIONS(1353),
-    [anon_sym_return] = ACTIONS(1353),
-    [anon_sym_break] = ACTIONS(1353),
-    [anon_sym_continue] = ACTIONS(1353),
-    [anon_sym_goto] = ACTIONS(1353),
-    [anon_sym___try] = ACTIONS(1353),
-    [anon_sym___leave] = ACTIONS(1353),
-    [anon_sym_DASH_DASH] = ACTIONS(1355),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1355),
-    [anon_sym_sizeof] = ACTIONS(1353),
-    [anon_sym___alignof__] = ACTIONS(1353),
-    [anon_sym___alignof] = ACTIONS(1353),
-    [anon_sym__alignof] = ACTIONS(1353),
-    [anon_sym_alignof] = ACTIONS(1353),
-    [anon_sym__Alignof] = ACTIONS(1353),
-    [anon_sym_offsetof] = ACTIONS(1353),
-    [anon_sym__Generic] = ACTIONS(1353),
-    [anon_sym_asm] = ACTIONS(1353),
-    [anon_sym___asm__] = ACTIONS(1353),
-    [anon_sym___asm] = ACTIONS(1353),
-    [sym_number_literal] = ACTIONS(1355),
-    [anon_sym_L_SQUOTE] = ACTIONS(1355),
-    [anon_sym_u_SQUOTE] = ACTIONS(1355),
-    [anon_sym_U_SQUOTE] = ACTIONS(1355),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1355),
-    [anon_sym_SQUOTE] = ACTIONS(1355),
-    [anon_sym_L_DQUOTE] = ACTIONS(1355),
-    [anon_sym_u_DQUOTE] = ACTIONS(1355),
-    [anon_sym_U_DQUOTE] = ACTIONS(1355),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1355),
-    [anon_sym_DQUOTE] = ACTIONS(1355),
-    [sym_true] = ACTIONS(1353),
-    [sym_false] = ACTIONS(1353),
-    [anon_sym_NULL] = ACTIONS(1353),
-    [anon_sym_nullptr] = ACTIONS(1353),
+    [sym_identifier] = ACTIONS(1376),
+    [aux_sym_preproc_include_token1] = ACTIONS(1376),
+    [aux_sym_preproc_def_token1] = ACTIONS(1376),
+    [aux_sym_preproc_if_token1] = ACTIONS(1376),
+    [aux_sym_preproc_if_token2] = ACTIONS(1376),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1376),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1376),
+    [sym_preproc_directive] = ACTIONS(1376),
+    [anon_sym_LPAREN2] = ACTIONS(1378),
+    [anon_sym_BANG] = ACTIONS(1378),
+    [anon_sym_TILDE] = ACTIONS(1378),
+    [anon_sym_DASH] = ACTIONS(1376),
+    [anon_sym_PLUS] = ACTIONS(1376),
+    [anon_sym_STAR] = ACTIONS(1378),
+    [anon_sym_AMP] = ACTIONS(1378),
+    [anon_sym_SEMI] = ACTIONS(1378),
+    [anon_sym___extension__] = ACTIONS(1376),
+    [anon_sym_typedef] = ACTIONS(1376),
+    [anon_sym_extern] = ACTIONS(1376),
+    [anon_sym___attribute__] = ACTIONS(1376),
+    [anon_sym___attribute] = ACTIONS(1376),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1378),
+    [anon_sym___declspec] = ACTIONS(1376),
+    [anon_sym___cdecl] = ACTIONS(1376),
+    [anon_sym___clrcall] = ACTIONS(1376),
+    [anon_sym___stdcall] = ACTIONS(1376),
+    [anon_sym___fastcall] = ACTIONS(1376),
+    [anon_sym___thiscall] = ACTIONS(1376),
+    [anon_sym___vectorcall] = ACTIONS(1376),
+    [anon_sym_LBRACE] = ACTIONS(1378),
+    [anon_sym_signed] = ACTIONS(1376),
+    [anon_sym_unsigned] = ACTIONS(1376),
+    [anon_sym_long] = ACTIONS(1376),
+    [anon_sym_short] = ACTIONS(1376),
+    [anon_sym_static] = ACTIONS(1376),
+    [anon_sym_auto] = ACTIONS(1376),
+    [anon_sym_register] = ACTIONS(1376),
+    [anon_sym_inline] = ACTIONS(1376),
+    [anon_sym___inline] = ACTIONS(1376),
+    [anon_sym___inline__] = ACTIONS(1376),
+    [anon_sym___forceinline] = ACTIONS(1376),
+    [anon_sym_thread_local] = ACTIONS(1376),
+    [anon_sym___thread] = ACTIONS(1376),
+    [anon_sym_const] = ACTIONS(1376),
+    [anon_sym_constexpr] = ACTIONS(1376),
+    [anon_sym_volatile] = ACTIONS(1376),
+    [anon_sym_restrict] = ACTIONS(1376),
+    [anon_sym___restrict__] = ACTIONS(1376),
+    [anon_sym__Atomic] = ACTIONS(1376),
+    [anon_sym__Noreturn] = ACTIONS(1376),
+    [anon_sym_noreturn] = ACTIONS(1376),
+    [anon_sym__Nonnull] = ACTIONS(1376),
+    [anon_sym_alignas] = ACTIONS(1376),
+    [anon_sym__Alignas] = ACTIONS(1376),
+    [sym_primitive_type] = ACTIONS(1376),
+    [anon_sym_enum] = ACTIONS(1376),
+    [anon_sym_struct] = ACTIONS(1376),
+    [anon_sym_union] = ACTIONS(1376),
+    [anon_sym_if] = ACTIONS(1376),
+    [anon_sym_switch] = ACTIONS(1376),
+    [anon_sym_case] = ACTIONS(1376),
+    [anon_sym_default] = ACTIONS(1376),
+    [anon_sym_while] = ACTIONS(1376),
+    [anon_sym_do] = ACTIONS(1376),
+    [anon_sym_for] = ACTIONS(1376),
+    [anon_sym_return] = ACTIONS(1376),
+    [anon_sym_break] = ACTIONS(1376),
+    [anon_sym_continue] = ACTIONS(1376),
+    [anon_sym_goto] = ACTIONS(1376),
+    [anon_sym___try] = ACTIONS(1376),
+    [anon_sym___leave] = ACTIONS(1376),
+    [anon_sym_DASH_DASH] = ACTIONS(1378),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1378),
+    [anon_sym_sizeof] = ACTIONS(1376),
+    [anon_sym___alignof__] = ACTIONS(1376),
+    [anon_sym___alignof] = ACTIONS(1376),
+    [anon_sym__alignof] = ACTIONS(1376),
+    [anon_sym_alignof] = ACTIONS(1376),
+    [anon_sym__Alignof] = ACTIONS(1376),
+    [anon_sym_offsetof] = ACTIONS(1376),
+    [anon_sym__Generic] = ACTIONS(1376),
+    [anon_sym_asm] = ACTIONS(1376),
+    [anon_sym___asm__] = ACTIONS(1376),
+    [anon_sym___asm] = ACTIONS(1376),
+    [sym_number_literal] = ACTIONS(1378),
+    [anon_sym_L_SQUOTE] = ACTIONS(1378),
+    [anon_sym_u_SQUOTE] = ACTIONS(1378),
+    [anon_sym_U_SQUOTE] = ACTIONS(1378),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1378),
+    [anon_sym_SQUOTE] = ACTIONS(1378),
+    [anon_sym_L_DQUOTE] = ACTIONS(1378),
+    [anon_sym_u_DQUOTE] = ACTIONS(1378),
+    [anon_sym_U_DQUOTE] = ACTIONS(1378),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1378),
+    [anon_sym_DQUOTE] = ACTIONS(1378),
+    [sym_true] = ACTIONS(1376),
+    [sym_false] = ACTIONS(1376),
+    [anon_sym_NULL] = ACTIONS(1376),
+    [anon_sym_nullptr] = ACTIONS(1376),
     [sym_comment] = ACTIONS(3),
   },
   [313] = {
-    [sym_expression] = STATE(704),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(686),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(686),
-    [sym_call_expression] = STATE(686),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(686),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(686),
-    [sym_initializer_list] = STATE(675),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_identifier] = ACTIONS(1395),
-    [anon_sym_COMMA] = ACTIONS(1383),
-    [anon_sym_RPAREN] = ACTIONS(1383),
-    [anon_sym_LPAREN2] = ACTIONS(1383),
-    [anon_sym_BANG] = ACTIONS(1397),
-    [anon_sym_TILDE] = ACTIONS(1399),
-    [anon_sym_DASH] = ACTIONS(1381),
-    [anon_sym_PLUS] = ACTIONS(1381),
-    [anon_sym_STAR] = ACTIONS(1381),
-    [anon_sym_SLASH] = ACTIONS(1381),
-    [anon_sym_PERCENT] = ACTIONS(1381),
-    [anon_sym_PIPE_PIPE] = ACTIONS(1383),
-    [anon_sym_AMP_AMP] = ACTIONS(1383),
-    [anon_sym_PIPE] = ACTIONS(1381),
-    [anon_sym_CARET] = ACTIONS(1381),
-    [anon_sym_AMP] = ACTIONS(1381),
-    [anon_sym_EQ_EQ] = ACTIONS(1383),
-    [anon_sym_BANG_EQ] = ACTIONS(1383),
-    [anon_sym_GT] = ACTIONS(1381),
-    [anon_sym_GT_EQ] = ACTIONS(1383),
-    [anon_sym_LT_EQ] = ACTIONS(1383),
-    [anon_sym_LT] = ACTIONS(1381),
-    [anon_sym_LT_LT] = ACTIONS(1381),
-    [anon_sym_GT_GT] = ACTIONS(1381),
-    [anon_sym_SEMI] = ACTIONS(1383),
-    [anon_sym___extension__] = ACTIONS(1401),
-    [anon_sym___attribute__] = ACTIONS(1381),
-    [anon_sym_LBRACE] = ACTIONS(1391),
-    [anon_sym_RBRACE] = ACTIONS(1383),
-    [anon_sym_LBRACK] = ACTIONS(1383),
-    [anon_sym_EQ] = ACTIONS(1381),
-    [anon_sym_COLON] = ACTIONS(1383),
-    [anon_sym_QMARK] = ACTIONS(1383),
-    [anon_sym_STAR_EQ] = ACTIONS(1383),
-    [anon_sym_SLASH_EQ] = ACTIONS(1383),
-    [anon_sym_PERCENT_EQ] = ACTIONS(1383),
-    [anon_sym_PLUS_EQ] = ACTIONS(1383),
-    [anon_sym_DASH_EQ] = ACTIONS(1383),
-    [anon_sym_LT_LT_EQ] = ACTIONS(1383),
-    [anon_sym_GT_GT_EQ] = ACTIONS(1383),
-    [anon_sym_AMP_EQ] = ACTIONS(1383),
-    [anon_sym_CARET_EQ] = ACTIONS(1383),
-    [anon_sym_PIPE_EQ] = ACTIONS(1383),
-    [anon_sym_DASH_DASH] = ACTIONS(1383),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1383),
-    [anon_sym_sizeof] = ACTIONS(1403),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [anon_sym_DOT] = ACTIONS(1381),
-    [anon_sym_DASH_GT] = ACTIONS(1383),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [sym_identifier] = ACTIONS(1272),
+    [aux_sym_preproc_include_token1] = ACTIONS(1272),
+    [aux_sym_preproc_def_token1] = ACTIONS(1272),
+    [aux_sym_preproc_if_token1] = ACTIONS(1272),
+    [aux_sym_preproc_if_token2] = ACTIONS(1272),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1272),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1272),
+    [sym_preproc_directive] = ACTIONS(1272),
+    [anon_sym_LPAREN2] = ACTIONS(1274),
+    [anon_sym_BANG] = ACTIONS(1274),
+    [anon_sym_TILDE] = ACTIONS(1274),
+    [anon_sym_DASH] = ACTIONS(1272),
+    [anon_sym_PLUS] = ACTIONS(1272),
+    [anon_sym_STAR] = ACTIONS(1274),
+    [anon_sym_AMP] = ACTIONS(1274),
+    [anon_sym_SEMI] = ACTIONS(1274),
+    [anon_sym___extension__] = ACTIONS(1272),
+    [anon_sym_typedef] = ACTIONS(1272),
+    [anon_sym_extern] = ACTIONS(1272),
+    [anon_sym___attribute__] = ACTIONS(1272),
+    [anon_sym___attribute] = ACTIONS(1272),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1274),
+    [anon_sym___declspec] = ACTIONS(1272),
+    [anon_sym___cdecl] = ACTIONS(1272),
+    [anon_sym___clrcall] = ACTIONS(1272),
+    [anon_sym___stdcall] = ACTIONS(1272),
+    [anon_sym___fastcall] = ACTIONS(1272),
+    [anon_sym___thiscall] = ACTIONS(1272),
+    [anon_sym___vectorcall] = ACTIONS(1272),
+    [anon_sym_LBRACE] = ACTIONS(1274),
+    [anon_sym_signed] = ACTIONS(1272),
+    [anon_sym_unsigned] = ACTIONS(1272),
+    [anon_sym_long] = ACTIONS(1272),
+    [anon_sym_short] = ACTIONS(1272),
+    [anon_sym_static] = ACTIONS(1272),
+    [anon_sym_auto] = ACTIONS(1272),
+    [anon_sym_register] = ACTIONS(1272),
+    [anon_sym_inline] = ACTIONS(1272),
+    [anon_sym___inline] = ACTIONS(1272),
+    [anon_sym___inline__] = ACTIONS(1272),
+    [anon_sym___forceinline] = ACTIONS(1272),
+    [anon_sym_thread_local] = ACTIONS(1272),
+    [anon_sym___thread] = ACTIONS(1272),
+    [anon_sym_const] = ACTIONS(1272),
+    [anon_sym_constexpr] = ACTIONS(1272),
+    [anon_sym_volatile] = ACTIONS(1272),
+    [anon_sym_restrict] = ACTIONS(1272),
+    [anon_sym___restrict__] = ACTIONS(1272),
+    [anon_sym__Atomic] = ACTIONS(1272),
+    [anon_sym__Noreturn] = ACTIONS(1272),
+    [anon_sym_noreturn] = ACTIONS(1272),
+    [anon_sym__Nonnull] = ACTIONS(1272),
+    [anon_sym_alignas] = ACTIONS(1272),
+    [anon_sym__Alignas] = ACTIONS(1272),
+    [sym_primitive_type] = ACTIONS(1272),
+    [anon_sym_enum] = ACTIONS(1272),
+    [anon_sym_struct] = ACTIONS(1272),
+    [anon_sym_union] = ACTIONS(1272),
+    [anon_sym_if] = ACTIONS(1272),
+    [anon_sym_switch] = ACTIONS(1272),
+    [anon_sym_case] = ACTIONS(1272),
+    [anon_sym_default] = ACTIONS(1272),
+    [anon_sym_while] = ACTIONS(1272),
+    [anon_sym_do] = ACTIONS(1272),
+    [anon_sym_for] = ACTIONS(1272),
+    [anon_sym_return] = ACTIONS(1272),
+    [anon_sym_break] = ACTIONS(1272),
+    [anon_sym_continue] = ACTIONS(1272),
+    [anon_sym_goto] = ACTIONS(1272),
+    [anon_sym___try] = ACTIONS(1272),
+    [anon_sym___leave] = ACTIONS(1272),
+    [anon_sym_DASH_DASH] = ACTIONS(1274),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1274),
+    [anon_sym_sizeof] = ACTIONS(1272),
+    [anon_sym___alignof__] = ACTIONS(1272),
+    [anon_sym___alignof] = ACTIONS(1272),
+    [anon_sym__alignof] = ACTIONS(1272),
+    [anon_sym_alignof] = ACTIONS(1272),
+    [anon_sym__Alignof] = ACTIONS(1272),
+    [anon_sym_offsetof] = ACTIONS(1272),
+    [anon_sym__Generic] = ACTIONS(1272),
+    [anon_sym_asm] = ACTIONS(1272),
+    [anon_sym___asm__] = ACTIONS(1272),
+    [anon_sym___asm] = ACTIONS(1272),
+    [sym_number_literal] = ACTIONS(1274),
+    [anon_sym_L_SQUOTE] = ACTIONS(1274),
+    [anon_sym_u_SQUOTE] = ACTIONS(1274),
+    [anon_sym_U_SQUOTE] = ACTIONS(1274),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1274),
+    [anon_sym_SQUOTE] = ACTIONS(1274),
+    [anon_sym_L_DQUOTE] = ACTIONS(1274),
+    [anon_sym_u_DQUOTE] = ACTIONS(1274),
+    [anon_sym_U_DQUOTE] = ACTIONS(1274),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1274),
+    [anon_sym_DQUOTE] = ACTIONS(1274),
+    [sym_true] = ACTIONS(1272),
+    [sym_false] = ACTIONS(1272),
+    [anon_sym_NULL] = ACTIONS(1272),
+    [anon_sym_nullptr] = ACTIONS(1272),
     [sym_comment] = ACTIONS(3),
   },
   [314] = {
-    [sym_identifier] = ACTIONS(1257),
-    [aux_sym_preproc_include_token1] = ACTIONS(1257),
-    [aux_sym_preproc_def_token1] = ACTIONS(1257),
-    [aux_sym_preproc_if_token1] = ACTIONS(1257),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1257),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1257),
-    [sym_preproc_directive] = ACTIONS(1257),
-    [anon_sym_LPAREN2] = ACTIONS(1259),
-    [anon_sym_BANG] = ACTIONS(1259),
-    [anon_sym_TILDE] = ACTIONS(1259),
-    [anon_sym_DASH] = ACTIONS(1257),
-    [anon_sym_PLUS] = ACTIONS(1257),
-    [anon_sym_STAR] = ACTIONS(1259),
-    [anon_sym_AMP] = ACTIONS(1259),
-    [anon_sym_SEMI] = ACTIONS(1259),
-    [anon_sym___extension__] = ACTIONS(1257),
-    [anon_sym_typedef] = ACTIONS(1257),
-    [anon_sym_extern] = ACTIONS(1257),
-    [anon_sym___attribute__] = ACTIONS(1257),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1259),
-    [anon_sym___declspec] = ACTIONS(1257),
-    [anon_sym___cdecl] = ACTIONS(1257),
-    [anon_sym___clrcall] = ACTIONS(1257),
-    [anon_sym___stdcall] = ACTIONS(1257),
-    [anon_sym___fastcall] = ACTIONS(1257),
-    [anon_sym___thiscall] = ACTIONS(1257),
-    [anon_sym___vectorcall] = ACTIONS(1257),
-    [anon_sym_LBRACE] = ACTIONS(1259),
-    [anon_sym_RBRACE] = ACTIONS(1259),
-    [anon_sym_signed] = ACTIONS(1257),
-    [anon_sym_unsigned] = ACTIONS(1257),
-    [anon_sym_long] = ACTIONS(1257),
-    [anon_sym_short] = ACTIONS(1257),
-    [anon_sym_static] = ACTIONS(1257),
-    [anon_sym_auto] = ACTIONS(1257),
-    [anon_sym_register] = ACTIONS(1257),
-    [anon_sym_inline] = ACTIONS(1257),
-    [anon_sym___inline] = ACTIONS(1257),
-    [anon_sym___inline__] = ACTIONS(1257),
-    [anon_sym___forceinline] = ACTIONS(1257),
-    [anon_sym_thread_local] = ACTIONS(1257),
-    [anon_sym___thread] = ACTIONS(1257),
-    [anon_sym_const] = ACTIONS(1257),
-    [anon_sym_constexpr] = ACTIONS(1257),
-    [anon_sym_volatile] = ACTIONS(1257),
-    [anon_sym_restrict] = ACTIONS(1257),
-    [anon_sym___restrict__] = ACTIONS(1257),
-    [anon_sym__Atomic] = ACTIONS(1257),
-    [anon_sym__Noreturn] = ACTIONS(1257),
-    [anon_sym_noreturn] = ACTIONS(1257),
-    [anon_sym__Nonnull] = ACTIONS(1257),
-    [anon_sym_alignas] = ACTIONS(1257),
-    [anon_sym__Alignas] = ACTIONS(1257),
-    [sym_primitive_type] = ACTIONS(1257),
-    [anon_sym_enum] = ACTIONS(1257),
-    [anon_sym_struct] = ACTIONS(1257),
-    [anon_sym_union] = ACTIONS(1257),
-    [anon_sym_if] = ACTIONS(1257),
-    [anon_sym_switch] = ACTIONS(1257),
-    [anon_sym_case] = ACTIONS(1257),
-    [anon_sym_default] = ACTIONS(1257),
-    [anon_sym_while] = ACTIONS(1257),
-    [anon_sym_do] = ACTIONS(1257),
-    [anon_sym_for] = ACTIONS(1257),
-    [anon_sym_return] = ACTIONS(1257),
-    [anon_sym_break] = ACTIONS(1257),
-    [anon_sym_continue] = ACTIONS(1257),
-    [anon_sym_goto] = ACTIONS(1257),
-    [anon_sym___try] = ACTIONS(1257),
-    [anon_sym___leave] = ACTIONS(1257),
-    [anon_sym_DASH_DASH] = ACTIONS(1259),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1259),
-    [anon_sym_sizeof] = ACTIONS(1257),
-    [anon_sym___alignof__] = ACTIONS(1257),
-    [anon_sym___alignof] = ACTIONS(1257),
-    [anon_sym__alignof] = ACTIONS(1257),
-    [anon_sym_alignof] = ACTIONS(1257),
-    [anon_sym__Alignof] = ACTIONS(1257),
-    [anon_sym_offsetof] = ACTIONS(1257),
-    [anon_sym__Generic] = ACTIONS(1257),
-    [anon_sym_asm] = ACTIONS(1257),
-    [anon_sym___asm__] = ACTIONS(1257),
-    [anon_sym___asm] = ACTIONS(1257),
-    [sym_number_literal] = ACTIONS(1259),
-    [anon_sym_L_SQUOTE] = ACTIONS(1259),
-    [anon_sym_u_SQUOTE] = ACTIONS(1259),
-    [anon_sym_U_SQUOTE] = ACTIONS(1259),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1259),
-    [anon_sym_SQUOTE] = ACTIONS(1259),
-    [anon_sym_L_DQUOTE] = ACTIONS(1259),
-    [anon_sym_u_DQUOTE] = ACTIONS(1259),
-    [anon_sym_U_DQUOTE] = ACTIONS(1259),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1259),
-    [anon_sym_DQUOTE] = ACTIONS(1259),
-    [sym_true] = ACTIONS(1257),
-    [sym_false] = ACTIONS(1257),
-    [anon_sym_NULL] = ACTIONS(1257),
-    [anon_sym_nullptr] = ACTIONS(1257),
+    [sym_identifier] = ACTIONS(1320),
+    [aux_sym_preproc_include_token1] = ACTIONS(1320),
+    [aux_sym_preproc_def_token1] = ACTIONS(1320),
+    [aux_sym_preproc_if_token1] = ACTIONS(1320),
+    [aux_sym_preproc_if_token2] = ACTIONS(1320),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1320),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1320),
+    [sym_preproc_directive] = ACTIONS(1320),
+    [anon_sym_LPAREN2] = ACTIONS(1322),
+    [anon_sym_BANG] = ACTIONS(1322),
+    [anon_sym_TILDE] = ACTIONS(1322),
+    [anon_sym_DASH] = ACTIONS(1320),
+    [anon_sym_PLUS] = ACTIONS(1320),
+    [anon_sym_STAR] = ACTIONS(1322),
+    [anon_sym_AMP] = ACTIONS(1322),
+    [anon_sym_SEMI] = ACTIONS(1322),
+    [anon_sym___extension__] = ACTIONS(1320),
+    [anon_sym_typedef] = ACTIONS(1320),
+    [anon_sym_extern] = ACTIONS(1320),
+    [anon_sym___attribute__] = ACTIONS(1320),
+    [anon_sym___attribute] = ACTIONS(1320),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1322),
+    [anon_sym___declspec] = ACTIONS(1320),
+    [anon_sym___cdecl] = ACTIONS(1320),
+    [anon_sym___clrcall] = ACTIONS(1320),
+    [anon_sym___stdcall] = ACTIONS(1320),
+    [anon_sym___fastcall] = ACTIONS(1320),
+    [anon_sym___thiscall] = ACTIONS(1320),
+    [anon_sym___vectorcall] = ACTIONS(1320),
+    [anon_sym_LBRACE] = ACTIONS(1322),
+    [anon_sym_signed] = ACTIONS(1320),
+    [anon_sym_unsigned] = ACTIONS(1320),
+    [anon_sym_long] = ACTIONS(1320),
+    [anon_sym_short] = ACTIONS(1320),
+    [anon_sym_static] = ACTIONS(1320),
+    [anon_sym_auto] = ACTIONS(1320),
+    [anon_sym_register] = ACTIONS(1320),
+    [anon_sym_inline] = ACTIONS(1320),
+    [anon_sym___inline] = ACTIONS(1320),
+    [anon_sym___inline__] = ACTIONS(1320),
+    [anon_sym___forceinline] = ACTIONS(1320),
+    [anon_sym_thread_local] = ACTIONS(1320),
+    [anon_sym___thread] = ACTIONS(1320),
+    [anon_sym_const] = ACTIONS(1320),
+    [anon_sym_constexpr] = ACTIONS(1320),
+    [anon_sym_volatile] = ACTIONS(1320),
+    [anon_sym_restrict] = ACTIONS(1320),
+    [anon_sym___restrict__] = ACTIONS(1320),
+    [anon_sym__Atomic] = ACTIONS(1320),
+    [anon_sym__Noreturn] = ACTIONS(1320),
+    [anon_sym_noreturn] = ACTIONS(1320),
+    [anon_sym__Nonnull] = ACTIONS(1320),
+    [anon_sym_alignas] = ACTIONS(1320),
+    [anon_sym__Alignas] = ACTIONS(1320),
+    [sym_primitive_type] = ACTIONS(1320),
+    [anon_sym_enum] = ACTIONS(1320),
+    [anon_sym_struct] = ACTIONS(1320),
+    [anon_sym_union] = ACTIONS(1320),
+    [anon_sym_if] = ACTIONS(1320),
+    [anon_sym_switch] = ACTIONS(1320),
+    [anon_sym_case] = ACTIONS(1320),
+    [anon_sym_default] = ACTIONS(1320),
+    [anon_sym_while] = ACTIONS(1320),
+    [anon_sym_do] = ACTIONS(1320),
+    [anon_sym_for] = ACTIONS(1320),
+    [anon_sym_return] = ACTIONS(1320),
+    [anon_sym_break] = ACTIONS(1320),
+    [anon_sym_continue] = ACTIONS(1320),
+    [anon_sym_goto] = ACTIONS(1320),
+    [anon_sym___try] = ACTIONS(1320),
+    [anon_sym___leave] = ACTIONS(1320),
+    [anon_sym_DASH_DASH] = ACTIONS(1322),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1322),
+    [anon_sym_sizeof] = ACTIONS(1320),
+    [anon_sym___alignof__] = ACTIONS(1320),
+    [anon_sym___alignof] = ACTIONS(1320),
+    [anon_sym__alignof] = ACTIONS(1320),
+    [anon_sym_alignof] = ACTIONS(1320),
+    [anon_sym__Alignof] = ACTIONS(1320),
+    [anon_sym_offsetof] = ACTIONS(1320),
+    [anon_sym__Generic] = ACTIONS(1320),
+    [anon_sym_asm] = ACTIONS(1320),
+    [anon_sym___asm__] = ACTIONS(1320),
+    [anon_sym___asm] = ACTIONS(1320),
+    [sym_number_literal] = ACTIONS(1322),
+    [anon_sym_L_SQUOTE] = ACTIONS(1322),
+    [anon_sym_u_SQUOTE] = ACTIONS(1322),
+    [anon_sym_U_SQUOTE] = ACTIONS(1322),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1322),
+    [anon_sym_SQUOTE] = ACTIONS(1322),
+    [anon_sym_L_DQUOTE] = ACTIONS(1322),
+    [anon_sym_u_DQUOTE] = ACTIONS(1322),
+    [anon_sym_U_DQUOTE] = ACTIONS(1322),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1322),
+    [anon_sym_DQUOTE] = ACTIONS(1322),
+    [sym_true] = ACTIONS(1320),
+    [sym_false] = ACTIONS(1320),
+    [anon_sym_NULL] = ACTIONS(1320),
+    [anon_sym_nullptr] = ACTIONS(1320),
     [sym_comment] = ACTIONS(3),
   },
   [315] = {
-    [sym_identifier] = ACTIONS(1309),
-    [aux_sym_preproc_include_token1] = ACTIONS(1309),
-    [aux_sym_preproc_def_token1] = ACTIONS(1309),
-    [aux_sym_preproc_if_token1] = ACTIONS(1309),
-    [aux_sym_preproc_if_token2] = ACTIONS(1309),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1309),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1309),
-    [sym_preproc_directive] = ACTIONS(1309),
-    [anon_sym_LPAREN2] = ACTIONS(1311),
-    [anon_sym_BANG] = ACTIONS(1311),
-    [anon_sym_TILDE] = ACTIONS(1311),
-    [anon_sym_DASH] = ACTIONS(1309),
-    [anon_sym_PLUS] = ACTIONS(1309),
-    [anon_sym_STAR] = ACTIONS(1311),
-    [anon_sym_AMP] = ACTIONS(1311),
-    [anon_sym_SEMI] = ACTIONS(1311),
-    [anon_sym___extension__] = ACTIONS(1309),
-    [anon_sym_typedef] = ACTIONS(1309),
-    [anon_sym_extern] = ACTIONS(1309),
-    [anon_sym___attribute__] = ACTIONS(1309),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1311),
-    [anon_sym___declspec] = ACTIONS(1309),
-    [anon_sym___cdecl] = ACTIONS(1309),
-    [anon_sym___clrcall] = ACTIONS(1309),
-    [anon_sym___stdcall] = ACTIONS(1309),
-    [anon_sym___fastcall] = ACTIONS(1309),
-    [anon_sym___thiscall] = ACTIONS(1309),
-    [anon_sym___vectorcall] = ACTIONS(1309),
-    [anon_sym_LBRACE] = ACTIONS(1311),
-    [anon_sym_signed] = ACTIONS(1309),
-    [anon_sym_unsigned] = ACTIONS(1309),
-    [anon_sym_long] = ACTIONS(1309),
-    [anon_sym_short] = ACTIONS(1309),
-    [anon_sym_static] = ACTIONS(1309),
-    [anon_sym_auto] = ACTIONS(1309),
-    [anon_sym_register] = ACTIONS(1309),
-    [anon_sym_inline] = ACTIONS(1309),
-    [anon_sym___inline] = ACTIONS(1309),
-    [anon_sym___inline__] = ACTIONS(1309),
-    [anon_sym___forceinline] = ACTIONS(1309),
-    [anon_sym_thread_local] = ACTIONS(1309),
-    [anon_sym___thread] = ACTIONS(1309),
-    [anon_sym_const] = ACTIONS(1309),
-    [anon_sym_constexpr] = ACTIONS(1309),
-    [anon_sym_volatile] = ACTIONS(1309),
-    [anon_sym_restrict] = ACTIONS(1309),
-    [anon_sym___restrict__] = ACTIONS(1309),
-    [anon_sym__Atomic] = ACTIONS(1309),
-    [anon_sym__Noreturn] = ACTIONS(1309),
-    [anon_sym_noreturn] = ACTIONS(1309),
-    [anon_sym__Nonnull] = ACTIONS(1309),
-    [anon_sym_alignas] = ACTIONS(1309),
-    [anon_sym__Alignas] = ACTIONS(1309),
-    [sym_primitive_type] = ACTIONS(1309),
-    [anon_sym_enum] = ACTIONS(1309),
-    [anon_sym_struct] = ACTIONS(1309),
-    [anon_sym_union] = ACTIONS(1309),
-    [anon_sym_if] = ACTIONS(1309),
-    [anon_sym_switch] = ACTIONS(1309),
-    [anon_sym_case] = ACTIONS(1309),
-    [anon_sym_default] = ACTIONS(1309),
-    [anon_sym_while] = ACTIONS(1309),
-    [anon_sym_do] = ACTIONS(1309),
-    [anon_sym_for] = ACTIONS(1309),
-    [anon_sym_return] = ACTIONS(1309),
-    [anon_sym_break] = ACTIONS(1309),
-    [anon_sym_continue] = ACTIONS(1309),
-    [anon_sym_goto] = ACTIONS(1309),
-    [anon_sym___try] = ACTIONS(1309),
-    [anon_sym___leave] = ACTIONS(1309),
-    [anon_sym_DASH_DASH] = ACTIONS(1311),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1311),
-    [anon_sym_sizeof] = ACTIONS(1309),
-    [anon_sym___alignof__] = ACTIONS(1309),
-    [anon_sym___alignof] = ACTIONS(1309),
-    [anon_sym__alignof] = ACTIONS(1309),
-    [anon_sym_alignof] = ACTIONS(1309),
-    [anon_sym__Alignof] = ACTIONS(1309),
-    [anon_sym_offsetof] = ACTIONS(1309),
-    [anon_sym__Generic] = ACTIONS(1309),
-    [anon_sym_asm] = ACTIONS(1309),
-    [anon_sym___asm__] = ACTIONS(1309),
-    [anon_sym___asm] = ACTIONS(1309),
-    [sym_number_literal] = ACTIONS(1311),
-    [anon_sym_L_SQUOTE] = ACTIONS(1311),
-    [anon_sym_u_SQUOTE] = ACTIONS(1311),
-    [anon_sym_U_SQUOTE] = ACTIONS(1311),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1311),
-    [anon_sym_SQUOTE] = ACTIONS(1311),
-    [anon_sym_L_DQUOTE] = ACTIONS(1311),
-    [anon_sym_u_DQUOTE] = ACTIONS(1311),
-    [anon_sym_U_DQUOTE] = ACTIONS(1311),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1311),
-    [anon_sym_DQUOTE] = ACTIONS(1311),
-    [sym_true] = ACTIONS(1309),
-    [sym_false] = ACTIONS(1309),
-    [anon_sym_NULL] = ACTIONS(1309),
-    [anon_sym_nullptr] = ACTIONS(1309),
+    [sym_identifier] = ACTIONS(1312),
+    [aux_sym_preproc_include_token1] = ACTIONS(1312),
+    [aux_sym_preproc_def_token1] = ACTIONS(1312),
+    [aux_sym_preproc_if_token1] = ACTIONS(1312),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1312),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1312),
+    [sym_preproc_directive] = ACTIONS(1312),
+    [anon_sym_LPAREN2] = ACTIONS(1314),
+    [anon_sym_BANG] = ACTIONS(1314),
+    [anon_sym_TILDE] = ACTIONS(1314),
+    [anon_sym_DASH] = ACTIONS(1312),
+    [anon_sym_PLUS] = ACTIONS(1312),
+    [anon_sym_STAR] = ACTIONS(1314),
+    [anon_sym_AMP] = ACTIONS(1314),
+    [anon_sym_SEMI] = ACTIONS(1314),
+    [anon_sym___extension__] = ACTIONS(1312),
+    [anon_sym_typedef] = ACTIONS(1312),
+    [anon_sym_extern] = ACTIONS(1312),
+    [anon_sym___attribute__] = ACTIONS(1312),
+    [anon_sym___attribute] = ACTIONS(1312),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1314),
+    [anon_sym___declspec] = ACTIONS(1312),
+    [anon_sym___cdecl] = ACTIONS(1312),
+    [anon_sym___clrcall] = ACTIONS(1312),
+    [anon_sym___stdcall] = ACTIONS(1312),
+    [anon_sym___fastcall] = ACTIONS(1312),
+    [anon_sym___thiscall] = ACTIONS(1312),
+    [anon_sym___vectorcall] = ACTIONS(1312),
+    [anon_sym_LBRACE] = ACTIONS(1314),
+    [anon_sym_RBRACE] = ACTIONS(1314),
+    [anon_sym_signed] = ACTIONS(1312),
+    [anon_sym_unsigned] = ACTIONS(1312),
+    [anon_sym_long] = ACTIONS(1312),
+    [anon_sym_short] = ACTIONS(1312),
+    [anon_sym_static] = ACTIONS(1312),
+    [anon_sym_auto] = ACTIONS(1312),
+    [anon_sym_register] = ACTIONS(1312),
+    [anon_sym_inline] = ACTIONS(1312),
+    [anon_sym___inline] = ACTIONS(1312),
+    [anon_sym___inline__] = ACTIONS(1312),
+    [anon_sym___forceinline] = ACTIONS(1312),
+    [anon_sym_thread_local] = ACTIONS(1312),
+    [anon_sym___thread] = ACTIONS(1312),
+    [anon_sym_const] = ACTIONS(1312),
+    [anon_sym_constexpr] = ACTIONS(1312),
+    [anon_sym_volatile] = ACTIONS(1312),
+    [anon_sym_restrict] = ACTIONS(1312),
+    [anon_sym___restrict__] = ACTIONS(1312),
+    [anon_sym__Atomic] = ACTIONS(1312),
+    [anon_sym__Noreturn] = ACTIONS(1312),
+    [anon_sym_noreturn] = ACTIONS(1312),
+    [anon_sym__Nonnull] = ACTIONS(1312),
+    [anon_sym_alignas] = ACTIONS(1312),
+    [anon_sym__Alignas] = ACTIONS(1312),
+    [sym_primitive_type] = ACTIONS(1312),
+    [anon_sym_enum] = ACTIONS(1312),
+    [anon_sym_struct] = ACTIONS(1312),
+    [anon_sym_union] = ACTIONS(1312),
+    [anon_sym_if] = ACTIONS(1312),
+    [anon_sym_switch] = ACTIONS(1312),
+    [anon_sym_case] = ACTIONS(1312),
+    [anon_sym_default] = ACTIONS(1312),
+    [anon_sym_while] = ACTIONS(1312),
+    [anon_sym_do] = ACTIONS(1312),
+    [anon_sym_for] = ACTIONS(1312),
+    [anon_sym_return] = ACTIONS(1312),
+    [anon_sym_break] = ACTIONS(1312),
+    [anon_sym_continue] = ACTIONS(1312),
+    [anon_sym_goto] = ACTIONS(1312),
+    [anon_sym___try] = ACTIONS(1312),
+    [anon_sym___leave] = ACTIONS(1312),
+    [anon_sym_DASH_DASH] = ACTIONS(1314),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1314),
+    [anon_sym_sizeof] = ACTIONS(1312),
+    [anon_sym___alignof__] = ACTIONS(1312),
+    [anon_sym___alignof] = ACTIONS(1312),
+    [anon_sym__alignof] = ACTIONS(1312),
+    [anon_sym_alignof] = ACTIONS(1312),
+    [anon_sym__Alignof] = ACTIONS(1312),
+    [anon_sym_offsetof] = ACTIONS(1312),
+    [anon_sym__Generic] = ACTIONS(1312),
+    [anon_sym_asm] = ACTIONS(1312),
+    [anon_sym___asm__] = ACTIONS(1312),
+    [anon_sym___asm] = ACTIONS(1312),
+    [sym_number_literal] = ACTIONS(1314),
+    [anon_sym_L_SQUOTE] = ACTIONS(1314),
+    [anon_sym_u_SQUOTE] = ACTIONS(1314),
+    [anon_sym_U_SQUOTE] = ACTIONS(1314),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1314),
+    [anon_sym_SQUOTE] = ACTIONS(1314),
+    [anon_sym_L_DQUOTE] = ACTIONS(1314),
+    [anon_sym_u_DQUOTE] = ACTIONS(1314),
+    [anon_sym_U_DQUOTE] = ACTIONS(1314),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1314),
+    [anon_sym_DQUOTE] = ACTIONS(1314),
+    [sym_true] = ACTIONS(1312),
+    [sym_false] = ACTIONS(1312),
+    [anon_sym_NULL] = ACTIONS(1312),
+    [anon_sym_nullptr] = ACTIONS(1312),
     [sym_comment] = ACTIONS(3),
   },
   [316] = {
-    [sym_identifier] = ACTIONS(1277),
-    [aux_sym_preproc_include_token1] = ACTIONS(1277),
-    [aux_sym_preproc_def_token1] = ACTIONS(1277),
-    [aux_sym_preproc_if_token1] = ACTIONS(1277),
-    [aux_sym_preproc_if_token2] = ACTIONS(1277),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1277),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1277),
-    [sym_preproc_directive] = ACTIONS(1277),
-    [anon_sym_LPAREN2] = ACTIONS(1279),
-    [anon_sym_BANG] = ACTIONS(1279),
-    [anon_sym_TILDE] = ACTIONS(1279),
-    [anon_sym_DASH] = ACTIONS(1277),
-    [anon_sym_PLUS] = ACTIONS(1277),
-    [anon_sym_STAR] = ACTIONS(1279),
-    [anon_sym_AMP] = ACTIONS(1279),
-    [anon_sym_SEMI] = ACTIONS(1279),
-    [anon_sym___extension__] = ACTIONS(1277),
-    [anon_sym_typedef] = ACTIONS(1277),
-    [anon_sym_extern] = ACTIONS(1277),
-    [anon_sym___attribute__] = ACTIONS(1277),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1279),
-    [anon_sym___declspec] = ACTIONS(1277),
-    [anon_sym___cdecl] = ACTIONS(1277),
-    [anon_sym___clrcall] = ACTIONS(1277),
-    [anon_sym___stdcall] = ACTIONS(1277),
-    [anon_sym___fastcall] = ACTIONS(1277),
-    [anon_sym___thiscall] = ACTIONS(1277),
-    [anon_sym___vectorcall] = ACTIONS(1277),
-    [anon_sym_LBRACE] = ACTIONS(1279),
-    [anon_sym_signed] = ACTIONS(1277),
-    [anon_sym_unsigned] = ACTIONS(1277),
-    [anon_sym_long] = ACTIONS(1277),
-    [anon_sym_short] = ACTIONS(1277),
-    [anon_sym_static] = ACTIONS(1277),
-    [anon_sym_auto] = ACTIONS(1277),
-    [anon_sym_register] = ACTIONS(1277),
-    [anon_sym_inline] = ACTIONS(1277),
-    [anon_sym___inline] = ACTIONS(1277),
-    [anon_sym___inline__] = ACTIONS(1277),
-    [anon_sym___forceinline] = ACTIONS(1277),
-    [anon_sym_thread_local] = ACTIONS(1277),
-    [anon_sym___thread] = ACTIONS(1277),
-    [anon_sym_const] = ACTIONS(1277),
-    [anon_sym_constexpr] = ACTIONS(1277),
-    [anon_sym_volatile] = ACTIONS(1277),
-    [anon_sym_restrict] = ACTIONS(1277),
-    [anon_sym___restrict__] = ACTIONS(1277),
-    [anon_sym__Atomic] = ACTIONS(1277),
-    [anon_sym__Noreturn] = ACTIONS(1277),
-    [anon_sym_noreturn] = ACTIONS(1277),
-    [anon_sym__Nonnull] = ACTIONS(1277),
-    [anon_sym_alignas] = ACTIONS(1277),
-    [anon_sym__Alignas] = ACTIONS(1277),
-    [sym_primitive_type] = ACTIONS(1277),
-    [anon_sym_enum] = ACTIONS(1277),
-    [anon_sym_struct] = ACTIONS(1277),
-    [anon_sym_union] = ACTIONS(1277),
-    [anon_sym_if] = ACTIONS(1277),
-    [anon_sym_switch] = ACTIONS(1277),
-    [anon_sym_case] = ACTIONS(1277),
-    [anon_sym_default] = ACTIONS(1277),
-    [anon_sym_while] = ACTIONS(1277),
-    [anon_sym_do] = ACTIONS(1277),
-    [anon_sym_for] = ACTIONS(1277),
-    [anon_sym_return] = ACTIONS(1277),
-    [anon_sym_break] = ACTIONS(1277),
-    [anon_sym_continue] = ACTIONS(1277),
-    [anon_sym_goto] = ACTIONS(1277),
-    [anon_sym___try] = ACTIONS(1277),
-    [anon_sym___leave] = ACTIONS(1277),
-    [anon_sym_DASH_DASH] = ACTIONS(1279),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1279),
-    [anon_sym_sizeof] = ACTIONS(1277),
-    [anon_sym___alignof__] = ACTIONS(1277),
-    [anon_sym___alignof] = ACTIONS(1277),
-    [anon_sym__alignof] = ACTIONS(1277),
-    [anon_sym_alignof] = ACTIONS(1277),
-    [anon_sym__Alignof] = ACTIONS(1277),
-    [anon_sym_offsetof] = ACTIONS(1277),
-    [anon_sym__Generic] = ACTIONS(1277),
-    [anon_sym_asm] = ACTIONS(1277),
-    [anon_sym___asm__] = ACTIONS(1277),
-    [anon_sym___asm] = ACTIONS(1277),
-    [sym_number_literal] = ACTIONS(1279),
-    [anon_sym_L_SQUOTE] = ACTIONS(1279),
-    [anon_sym_u_SQUOTE] = ACTIONS(1279),
-    [anon_sym_U_SQUOTE] = ACTIONS(1279),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1279),
-    [anon_sym_SQUOTE] = ACTIONS(1279),
-    [anon_sym_L_DQUOTE] = ACTIONS(1279),
-    [anon_sym_u_DQUOTE] = ACTIONS(1279),
-    [anon_sym_U_DQUOTE] = ACTIONS(1279),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1279),
-    [anon_sym_DQUOTE] = ACTIONS(1279),
-    [sym_true] = ACTIONS(1277),
-    [sym_false] = ACTIONS(1277),
-    [anon_sym_NULL] = ACTIONS(1277),
-    [anon_sym_nullptr] = ACTIONS(1277),
+    [sym_identifier] = ACTIONS(1344),
+    [aux_sym_preproc_include_token1] = ACTIONS(1344),
+    [aux_sym_preproc_def_token1] = ACTIONS(1344),
+    [aux_sym_preproc_if_token1] = ACTIONS(1344),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1344),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1344),
+    [sym_preproc_directive] = ACTIONS(1344),
+    [anon_sym_LPAREN2] = ACTIONS(1346),
+    [anon_sym_BANG] = ACTIONS(1346),
+    [anon_sym_TILDE] = ACTIONS(1346),
+    [anon_sym_DASH] = ACTIONS(1344),
+    [anon_sym_PLUS] = ACTIONS(1344),
+    [anon_sym_STAR] = ACTIONS(1346),
+    [anon_sym_AMP] = ACTIONS(1346),
+    [anon_sym_SEMI] = ACTIONS(1346),
+    [anon_sym___extension__] = ACTIONS(1344),
+    [anon_sym_typedef] = ACTIONS(1344),
+    [anon_sym_extern] = ACTIONS(1344),
+    [anon_sym___attribute__] = ACTIONS(1344),
+    [anon_sym___attribute] = ACTIONS(1344),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1346),
+    [anon_sym___declspec] = ACTIONS(1344),
+    [anon_sym___cdecl] = ACTIONS(1344),
+    [anon_sym___clrcall] = ACTIONS(1344),
+    [anon_sym___stdcall] = ACTIONS(1344),
+    [anon_sym___fastcall] = ACTIONS(1344),
+    [anon_sym___thiscall] = ACTIONS(1344),
+    [anon_sym___vectorcall] = ACTIONS(1344),
+    [anon_sym_LBRACE] = ACTIONS(1346),
+    [anon_sym_RBRACE] = ACTIONS(1346),
+    [anon_sym_signed] = ACTIONS(1344),
+    [anon_sym_unsigned] = ACTIONS(1344),
+    [anon_sym_long] = ACTIONS(1344),
+    [anon_sym_short] = ACTIONS(1344),
+    [anon_sym_static] = ACTIONS(1344),
+    [anon_sym_auto] = ACTIONS(1344),
+    [anon_sym_register] = ACTIONS(1344),
+    [anon_sym_inline] = ACTIONS(1344),
+    [anon_sym___inline] = ACTIONS(1344),
+    [anon_sym___inline__] = ACTIONS(1344),
+    [anon_sym___forceinline] = ACTIONS(1344),
+    [anon_sym_thread_local] = ACTIONS(1344),
+    [anon_sym___thread] = ACTIONS(1344),
+    [anon_sym_const] = ACTIONS(1344),
+    [anon_sym_constexpr] = ACTIONS(1344),
+    [anon_sym_volatile] = ACTIONS(1344),
+    [anon_sym_restrict] = ACTIONS(1344),
+    [anon_sym___restrict__] = ACTIONS(1344),
+    [anon_sym__Atomic] = ACTIONS(1344),
+    [anon_sym__Noreturn] = ACTIONS(1344),
+    [anon_sym_noreturn] = ACTIONS(1344),
+    [anon_sym__Nonnull] = ACTIONS(1344),
+    [anon_sym_alignas] = ACTIONS(1344),
+    [anon_sym__Alignas] = ACTIONS(1344),
+    [sym_primitive_type] = ACTIONS(1344),
+    [anon_sym_enum] = ACTIONS(1344),
+    [anon_sym_struct] = ACTIONS(1344),
+    [anon_sym_union] = ACTIONS(1344),
+    [anon_sym_if] = ACTIONS(1344),
+    [anon_sym_switch] = ACTIONS(1344),
+    [anon_sym_case] = ACTIONS(1344),
+    [anon_sym_default] = ACTIONS(1344),
+    [anon_sym_while] = ACTIONS(1344),
+    [anon_sym_do] = ACTIONS(1344),
+    [anon_sym_for] = ACTIONS(1344),
+    [anon_sym_return] = ACTIONS(1344),
+    [anon_sym_break] = ACTIONS(1344),
+    [anon_sym_continue] = ACTIONS(1344),
+    [anon_sym_goto] = ACTIONS(1344),
+    [anon_sym___try] = ACTIONS(1344),
+    [anon_sym___leave] = ACTIONS(1344),
+    [anon_sym_DASH_DASH] = ACTIONS(1346),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1346),
+    [anon_sym_sizeof] = ACTIONS(1344),
+    [anon_sym___alignof__] = ACTIONS(1344),
+    [anon_sym___alignof] = ACTIONS(1344),
+    [anon_sym__alignof] = ACTIONS(1344),
+    [anon_sym_alignof] = ACTIONS(1344),
+    [anon_sym__Alignof] = ACTIONS(1344),
+    [anon_sym_offsetof] = ACTIONS(1344),
+    [anon_sym__Generic] = ACTIONS(1344),
+    [anon_sym_asm] = ACTIONS(1344),
+    [anon_sym___asm__] = ACTIONS(1344),
+    [anon_sym___asm] = ACTIONS(1344),
+    [sym_number_literal] = ACTIONS(1346),
+    [anon_sym_L_SQUOTE] = ACTIONS(1346),
+    [anon_sym_u_SQUOTE] = ACTIONS(1346),
+    [anon_sym_U_SQUOTE] = ACTIONS(1346),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1346),
+    [anon_sym_SQUOTE] = ACTIONS(1346),
+    [anon_sym_L_DQUOTE] = ACTIONS(1346),
+    [anon_sym_u_DQUOTE] = ACTIONS(1346),
+    [anon_sym_U_DQUOTE] = ACTIONS(1346),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1346),
+    [anon_sym_DQUOTE] = ACTIONS(1346),
+    [sym_true] = ACTIONS(1344),
+    [sym_false] = ACTIONS(1344),
+    [anon_sym_NULL] = ACTIONS(1344),
+    [anon_sym_nullptr] = ACTIONS(1344),
     [sym_comment] = ACTIONS(3),
   },
   [317] = {
-    [sym_attribute_declaration] = STATE(317),
-    [sym_compound_statement] = STATE(204),
-    [sym_attributed_statement] = STATE(204),
-    [sym_statement] = STATE(208),
-    [sym_labeled_statement] = STATE(204),
-    [sym_expression_statement] = STATE(204),
-    [sym_if_statement] = STATE(204),
-    [sym_switch_statement] = STATE(204),
-    [sym_case_statement] = STATE(204),
-    [sym_while_statement] = STATE(204),
-    [sym_do_statement] = STATE(204),
-    [sym_for_statement] = STATE(204),
-    [sym_return_statement] = STATE(204),
-    [sym_break_statement] = STATE(204),
-    [sym_continue_statement] = STATE(204),
-    [sym_goto_statement] = STATE(204),
-    [sym_seh_try_statement] = STATE(204),
-    [sym_seh_leave_statement] = STATE(204),
-    [sym_expression] = STATE(1031),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1919),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(317),
-    [sym_identifier] = ACTIONS(1405),
-    [anon_sym_LPAREN2] = ACTIONS(1408),
-    [anon_sym_BANG] = ACTIONS(1411),
-    [anon_sym_TILDE] = ACTIONS(1411),
-    [anon_sym_DASH] = ACTIONS(1414),
-    [anon_sym_PLUS] = ACTIONS(1414),
-    [anon_sym_STAR] = ACTIONS(1417),
-    [anon_sym_AMP] = ACTIONS(1417),
-    [anon_sym_SEMI] = ACTIONS(1420),
-    [anon_sym___extension__] = ACTIONS(1423),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1426),
-    [anon_sym_LBRACE] = ACTIONS(1429),
-    [anon_sym_if] = ACTIONS(1432),
-    [anon_sym_switch] = ACTIONS(1435),
-    [anon_sym_case] = ACTIONS(1438),
-    [anon_sym_default] = ACTIONS(1441),
-    [anon_sym_while] = ACTIONS(1444),
-    [anon_sym_do] = ACTIONS(1447),
-    [anon_sym_for] = ACTIONS(1450),
-    [anon_sym_return] = ACTIONS(1453),
-    [anon_sym_break] = ACTIONS(1456),
-    [anon_sym_continue] = ACTIONS(1459),
-    [anon_sym_goto] = ACTIONS(1462),
-    [anon_sym___try] = ACTIONS(1465),
-    [anon_sym___leave] = ACTIONS(1468),
-    [anon_sym_DASH_DASH] = ACTIONS(1471),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1471),
-    [anon_sym_sizeof] = ACTIONS(1474),
-    [anon_sym___alignof__] = ACTIONS(1477),
-    [anon_sym___alignof] = ACTIONS(1477),
-    [anon_sym__alignof] = ACTIONS(1477),
-    [anon_sym_alignof] = ACTIONS(1477),
-    [anon_sym__Alignof] = ACTIONS(1477),
-    [anon_sym_offsetof] = ACTIONS(1480),
-    [anon_sym__Generic] = ACTIONS(1483),
-    [anon_sym_asm] = ACTIONS(1486),
-    [anon_sym___asm__] = ACTIONS(1486),
-    [anon_sym___asm] = ACTIONS(1486),
-    [sym_number_literal] = ACTIONS(1489),
-    [anon_sym_L_SQUOTE] = ACTIONS(1492),
-    [anon_sym_u_SQUOTE] = ACTIONS(1492),
-    [anon_sym_U_SQUOTE] = ACTIONS(1492),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1492),
-    [anon_sym_SQUOTE] = ACTIONS(1492),
-    [anon_sym_L_DQUOTE] = ACTIONS(1495),
-    [anon_sym_u_DQUOTE] = ACTIONS(1495),
-    [anon_sym_U_DQUOTE] = ACTIONS(1495),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1495),
-    [anon_sym_DQUOTE] = ACTIONS(1495),
-    [sym_true] = ACTIONS(1498),
-    [sym_false] = ACTIONS(1498),
-    [anon_sym_NULL] = ACTIONS(1501),
-    [anon_sym_nullptr] = ACTIONS(1501),
+    [sym_identifier] = ACTIONS(1288),
+    [aux_sym_preproc_include_token1] = ACTIONS(1288),
+    [aux_sym_preproc_def_token1] = ACTIONS(1288),
+    [aux_sym_preproc_if_token1] = ACTIONS(1288),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1288),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1288),
+    [sym_preproc_directive] = ACTIONS(1288),
+    [anon_sym_LPAREN2] = ACTIONS(1290),
+    [anon_sym_BANG] = ACTIONS(1290),
+    [anon_sym_TILDE] = ACTIONS(1290),
+    [anon_sym_DASH] = ACTIONS(1288),
+    [anon_sym_PLUS] = ACTIONS(1288),
+    [anon_sym_STAR] = ACTIONS(1290),
+    [anon_sym_AMP] = ACTIONS(1290),
+    [anon_sym_SEMI] = ACTIONS(1290),
+    [anon_sym___extension__] = ACTIONS(1288),
+    [anon_sym_typedef] = ACTIONS(1288),
+    [anon_sym_extern] = ACTIONS(1288),
+    [anon_sym___attribute__] = ACTIONS(1288),
+    [anon_sym___attribute] = ACTIONS(1288),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1290),
+    [anon_sym___declspec] = ACTIONS(1288),
+    [anon_sym___cdecl] = ACTIONS(1288),
+    [anon_sym___clrcall] = ACTIONS(1288),
+    [anon_sym___stdcall] = ACTIONS(1288),
+    [anon_sym___fastcall] = ACTIONS(1288),
+    [anon_sym___thiscall] = ACTIONS(1288),
+    [anon_sym___vectorcall] = ACTIONS(1288),
+    [anon_sym_LBRACE] = ACTIONS(1290),
+    [anon_sym_RBRACE] = ACTIONS(1290),
+    [anon_sym_signed] = ACTIONS(1288),
+    [anon_sym_unsigned] = ACTIONS(1288),
+    [anon_sym_long] = ACTIONS(1288),
+    [anon_sym_short] = ACTIONS(1288),
+    [anon_sym_static] = ACTIONS(1288),
+    [anon_sym_auto] = ACTIONS(1288),
+    [anon_sym_register] = ACTIONS(1288),
+    [anon_sym_inline] = ACTIONS(1288),
+    [anon_sym___inline] = ACTIONS(1288),
+    [anon_sym___inline__] = ACTIONS(1288),
+    [anon_sym___forceinline] = ACTIONS(1288),
+    [anon_sym_thread_local] = ACTIONS(1288),
+    [anon_sym___thread] = ACTIONS(1288),
+    [anon_sym_const] = ACTIONS(1288),
+    [anon_sym_constexpr] = ACTIONS(1288),
+    [anon_sym_volatile] = ACTIONS(1288),
+    [anon_sym_restrict] = ACTIONS(1288),
+    [anon_sym___restrict__] = ACTIONS(1288),
+    [anon_sym__Atomic] = ACTIONS(1288),
+    [anon_sym__Noreturn] = ACTIONS(1288),
+    [anon_sym_noreturn] = ACTIONS(1288),
+    [anon_sym__Nonnull] = ACTIONS(1288),
+    [anon_sym_alignas] = ACTIONS(1288),
+    [anon_sym__Alignas] = ACTIONS(1288),
+    [sym_primitive_type] = ACTIONS(1288),
+    [anon_sym_enum] = ACTIONS(1288),
+    [anon_sym_struct] = ACTIONS(1288),
+    [anon_sym_union] = ACTIONS(1288),
+    [anon_sym_if] = ACTIONS(1288),
+    [anon_sym_switch] = ACTIONS(1288),
+    [anon_sym_case] = ACTIONS(1288),
+    [anon_sym_default] = ACTIONS(1288),
+    [anon_sym_while] = ACTIONS(1288),
+    [anon_sym_do] = ACTIONS(1288),
+    [anon_sym_for] = ACTIONS(1288),
+    [anon_sym_return] = ACTIONS(1288),
+    [anon_sym_break] = ACTIONS(1288),
+    [anon_sym_continue] = ACTIONS(1288),
+    [anon_sym_goto] = ACTIONS(1288),
+    [anon_sym___try] = ACTIONS(1288),
+    [anon_sym___leave] = ACTIONS(1288),
+    [anon_sym_DASH_DASH] = ACTIONS(1290),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1290),
+    [anon_sym_sizeof] = ACTIONS(1288),
+    [anon_sym___alignof__] = ACTIONS(1288),
+    [anon_sym___alignof] = ACTIONS(1288),
+    [anon_sym__alignof] = ACTIONS(1288),
+    [anon_sym_alignof] = ACTIONS(1288),
+    [anon_sym__Alignof] = ACTIONS(1288),
+    [anon_sym_offsetof] = ACTIONS(1288),
+    [anon_sym__Generic] = ACTIONS(1288),
+    [anon_sym_asm] = ACTIONS(1288),
+    [anon_sym___asm__] = ACTIONS(1288),
+    [anon_sym___asm] = ACTIONS(1288),
+    [sym_number_literal] = ACTIONS(1290),
+    [anon_sym_L_SQUOTE] = ACTIONS(1290),
+    [anon_sym_u_SQUOTE] = ACTIONS(1290),
+    [anon_sym_U_SQUOTE] = ACTIONS(1290),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1290),
+    [anon_sym_SQUOTE] = ACTIONS(1290),
+    [anon_sym_L_DQUOTE] = ACTIONS(1290),
+    [anon_sym_u_DQUOTE] = ACTIONS(1290),
+    [anon_sym_U_DQUOTE] = ACTIONS(1290),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1290),
+    [anon_sym_DQUOTE] = ACTIONS(1290),
+    [sym_true] = ACTIONS(1288),
+    [sym_false] = ACTIONS(1288),
+    [anon_sym_NULL] = ACTIONS(1288),
+    [anon_sym_nullptr] = ACTIONS(1288),
     [sym_comment] = ACTIONS(3),
   },
   [318] = {
-    [sym_attribute_declaration] = STATE(340),
-    [sym_compound_statement] = STATE(177),
-    [sym_attributed_statement] = STATE(177),
-    [sym_statement] = STATE(1989),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(340),
-    [sym_identifier] = ACTIONS(1504),
-    [anon_sym_LPAREN2] = ACTIONS(19),
-    [anon_sym_BANG] = ACTIONS(21),
-    [anon_sym_TILDE] = ACTIONS(21),
-    [anon_sym_DASH] = ACTIONS(23),
-    [anon_sym_PLUS] = ACTIONS(23),
-    [anon_sym_STAR] = ACTIONS(25),
-    [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_if] = ACTIONS(1088),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(1098),
-    [anon_sym_default] = ACTIONS(1100),
-    [anon_sym_while] = ACTIONS(1090),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(1092),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(1094),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [sym_expression] = STATE(700),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(682),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(682),
+    [sym_call_expression] = STATE(682),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(682),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(682),
+    [sym_initializer_list] = STATE(686),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(714),
+    [sym_null] = STATE(693),
+    [sym_identifier] = ACTIONS(1394),
+    [anon_sym_COMMA] = ACTIONS(1388),
+    [aux_sym_preproc_if_token2] = ACTIONS(1388),
+    [aux_sym_preproc_else_token1] = ACTIONS(1388),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1394),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1388),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1388),
+    [anon_sym_LPAREN2] = ACTIONS(1388),
+    [anon_sym_BANG] = ACTIONS(1402),
+    [anon_sym_TILDE] = ACTIONS(1404),
+    [anon_sym_DASH] = ACTIONS(1394),
+    [anon_sym_PLUS] = ACTIONS(1394),
+    [anon_sym_STAR] = ACTIONS(1394),
+    [anon_sym_SLASH] = ACTIONS(1394),
+    [anon_sym_PERCENT] = ACTIONS(1394),
+    [anon_sym_PIPE_PIPE] = ACTIONS(1388),
+    [anon_sym_AMP_AMP] = ACTIONS(1388),
+    [anon_sym_PIPE] = ACTIONS(1394),
+    [anon_sym_CARET] = ACTIONS(1394),
+    [anon_sym_AMP] = ACTIONS(1394),
+    [anon_sym_EQ_EQ] = ACTIONS(1388),
+    [anon_sym_BANG_EQ] = ACTIONS(1388),
+    [anon_sym_GT] = ACTIONS(1394),
+    [anon_sym_GT_EQ] = ACTIONS(1388),
+    [anon_sym_LT_EQ] = ACTIONS(1388),
+    [anon_sym_LT] = ACTIONS(1394),
+    [anon_sym_LT_LT] = ACTIONS(1394),
+    [anon_sym_GT_GT] = ACTIONS(1394),
+    [anon_sym___extension__] = ACTIONS(1406),
+    [anon_sym_LBRACE] = ACTIONS(1398),
+    [anon_sym_LBRACK] = ACTIONS(1388),
+    [anon_sym_EQ] = ACTIONS(1394),
+    [anon_sym_QMARK] = ACTIONS(1388),
+    [anon_sym_STAR_EQ] = ACTIONS(1388),
+    [anon_sym_SLASH_EQ] = ACTIONS(1388),
+    [anon_sym_PERCENT_EQ] = ACTIONS(1388),
+    [anon_sym_PLUS_EQ] = ACTIONS(1388),
+    [anon_sym_DASH_EQ] = ACTIONS(1388),
+    [anon_sym_LT_LT_EQ] = ACTIONS(1388),
+    [anon_sym_GT_GT_EQ] = ACTIONS(1388),
+    [anon_sym_AMP_EQ] = ACTIONS(1388),
+    [anon_sym_CARET_EQ] = ACTIONS(1388),
+    [anon_sym_PIPE_EQ] = ACTIONS(1388),
+    [anon_sym_DASH_DASH] = ACTIONS(1388),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1388),
+    [anon_sym_sizeof] = ACTIONS(1408),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [anon_sym_DOT] = ACTIONS(1394),
+    [anon_sym_DASH_GT] = ACTIONS(1388),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [319] = {
-    [sym_attribute_declaration] = STATE(323),
-    [sym_compound_statement] = STATE(177),
-    [sym_attributed_statement] = STATE(177),
-    [sym_statement] = STATE(214),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [sym_identifier] = ACTIONS(1510),
+    [ts_builtin_sym_end] = ACTIONS(1410),
+    [sym_identifier] = ACTIONS(1412),
+    [aux_sym_preproc_include_token1] = ACTIONS(1412),
+    [aux_sym_preproc_def_token1] = ACTIONS(1412),
+    [aux_sym_preproc_if_token1] = ACTIONS(1412),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1412),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1412),
+    [sym_preproc_directive] = ACTIONS(1412),
+    [anon_sym_LPAREN2] = ACTIONS(1410),
+    [anon_sym_BANG] = ACTIONS(1410),
+    [anon_sym_TILDE] = ACTIONS(1410),
+    [anon_sym_DASH] = ACTIONS(1412),
+    [anon_sym_PLUS] = ACTIONS(1412),
+    [anon_sym_STAR] = ACTIONS(1410),
+    [anon_sym_AMP] = ACTIONS(1410),
+    [anon_sym_SEMI] = ACTIONS(1410),
+    [anon_sym___extension__] = ACTIONS(1412),
+    [anon_sym_typedef] = ACTIONS(1412),
+    [anon_sym_extern] = ACTIONS(1412),
+    [anon_sym___attribute__] = ACTIONS(1412),
+    [anon_sym___attribute] = ACTIONS(1412),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1410),
+    [anon_sym___declspec] = ACTIONS(1412),
+    [anon_sym___cdecl] = ACTIONS(1412),
+    [anon_sym___clrcall] = ACTIONS(1412),
+    [anon_sym___stdcall] = ACTIONS(1412),
+    [anon_sym___fastcall] = ACTIONS(1412),
+    [anon_sym___thiscall] = ACTIONS(1412),
+    [anon_sym___vectorcall] = ACTIONS(1412),
+    [anon_sym_LBRACE] = ACTIONS(1410),
+    [anon_sym_signed] = ACTIONS(1412),
+    [anon_sym_unsigned] = ACTIONS(1412),
+    [anon_sym_long] = ACTIONS(1412),
+    [anon_sym_short] = ACTIONS(1412),
+    [anon_sym_static] = ACTIONS(1412),
+    [anon_sym_auto] = ACTIONS(1412),
+    [anon_sym_register] = ACTIONS(1412),
+    [anon_sym_inline] = ACTIONS(1412),
+    [anon_sym___inline] = ACTIONS(1412),
+    [anon_sym___inline__] = ACTIONS(1412),
+    [anon_sym___forceinline] = ACTIONS(1412),
+    [anon_sym_thread_local] = ACTIONS(1412),
+    [anon_sym___thread] = ACTIONS(1412),
+    [anon_sym_const] = ACTIONS(1412),
+    [anon_sym_constexpr] = ACTIONS(1412),
+    [anon_sym_volatile] = ACTIONS(1412),
+    [anon_sym_restrict] = ACTIONS(1412),
+    [anon_sym___restrict__] = ACTIONS(1412),
+    [anon_sym__Atomic] = ACTIONS(1412),
+    [anon_sym__Noreturn] = ACTIONS(1412),
+    [anon_sym_noreturn] = ACTIONS(1412),
+    [anon_sym__Nonnull] = ACTIONS(1412),
+    [anon_sym_alignas] = ACTIONS(1412),
+    [anon_sym__Alignas] = ACTIONS(1412),
+    [sym_primitive_type] = ACTIONS(1412),
+    [anon_sym_enum] = ACTIONS(1412),
+    [anon_sym_struct] = ACTIONS(1412),
+    [anon_sym_union] = ACTIONS(1412),
+    [anon_sym_if] = ACTIONS(1412),
+    [anon_sym_switch] = ACTIONS(1412),
+    [anon_sym_case] = ACTIONS(1412),
+    [anon_sym_default] = ACTIONS(1412),
+    [anon_sym_while] = ACTIONS(1412),
+    [anon_sym_do] = ACTIONS(1412),
+    [anon_sym_for] = ACTIONS(1412),
+    [anon_sym_return] = ACTIONS(1412),
+    [anon_sym_break] = ACTIONS(1412),
+    [anon_sym_continue] = ACTIONS(1412),
+    [anon_sym_goto] = ACTIONS(1412),
+    [anon_sym_DASH_DASH] = ACTIONS(1410),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1410),
+    [anon_sym_sizeof] = ACTIONS(1412),
+    [anon_sym___alignof__] = ACTIONS(1412),
+    [anon_sym___alignof] = ACTIONS(1412),
+    [anon_sym__alignof] = ACTIONS(1412),
+    [anon_sym_alignof] = ACTIONS(1412),
+    [anon_sym__Alignof] = ACTIONS(1412),
+    [anon_sym_offsetof] = ACTIONS(1412),
+    [anon_sym__Generic] = ACTIONS(1412),
+    [anon_sym_asm] = ACTIONS(1412),
+    [anon_sym___asm__] = ACTIONS(1412),
+    [anon_sym___asm] = ACTIONS(1412),
+    [sym_number_literal] = ACTIONS(1410),
+    [anon_sym_L_SQUOTE] = ACTIONS(1410),
+    [anon_sym_u_SQUOTE] = ACTIONS(1410),
+    [anon_sym_U_SQUOTE] = ACTIONS(1410),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1410),
+    [anon_sym_SQUOTE] = ACTIONS(1410),
+    [anon_sym_L_DQUOTE] = ACTIONS(1410),
+    [anon_sym_u_DQUOTE] = ACTIONS(1410),
+    [anon_sym_U_DQUOTE] = ACTIONS(1410),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1410),
+    [anon_sym_DQUOTE] = ACTIONS(1410),
+    [sym_true] = ACTIONS(1412),
+    [sym_false] = ACTIONS(1412),
+    [anon_sym_NULL] = ACTIONS(1412),
+    [anon_sym_nullptr] = ACTIONS(1412),
+    [sym_comment] = ACTIONS(3),
+  },
+  [320] = {
+    [ts_builtin_sym_end] = ACTIONS(1374),
+    [sym_identifier] = ACTIONS(1372),
+    [aux_sym_preproc_include_token1] = ACTIONS(1372),
+    [aux_sym_preproc_def_token1] = ACTIONS(1372),
+    [aux_sym_preproc_if_token1] = ACTIONS(1372),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1372),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1372),
+    [sym_preproc_directive] = ACTIONS(1372),
+    [anon_sym_LPAREN2] = ACTIONS(1374),
+    [anon_sym_BANG] = ACTIONS(1374),
+    [anon_sym_TILDE] = ACTIONS(1374),
+    [anon_sym_DASH] = ACTIONS(1372),
+    [anon_sym_PLUS] = ACTIONS(1372),
+    [anon_sym_STAR] = ACTIONS(1374),
+    [anon_sym_AMP] = ACTIONS(1374),
+    [anon_sym_SEMI] = ACTIONS(1374),
+    [anon_sym___extension__] = ACTIONS(1372),
+    [anon_sym_typedef] = ACTIONS(1372),
+    [anon_sym_extern] = ACTIONS(1372),
+    [anon_sym___attribute__] = ACTIONS(1372),
+    [anon_sym___attribute] = ACTIONS(1372),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1374),
+    [anon_sym___declspec] = ACTIONS(1372),
+    [anon_sym___cdecl] = ACTIONS(1372),
+    [anon_sym___clrcall] = ACTIONS(1372),
+    [anon_sym___stdcall] = ACTIONS(1372),
+    [anon_sym___fastcall] = ACTIONS(1372),
+    [anon_sym___thiscall] = ACTIONS(1372),
+    [anon_sym___vectorcall] = ACTIONS(1372),
+    [anon_sym_LBRACE] = ACTIONS(1374),
+    [anon_sym_signed] = ACTIONS(1372),
+    [anon_sym_unsigned] = ACTIONS(1372),
+    [anon_sym_long] = ACTIONS(1372),
+    [anon_sym_short] = ACTIONS(1372),
+    [anon_sym_static] = ACTIONS(1372),
+    [anon_sym_auto] = ACTIONS(1372),
+    [anon_sym_register] = ACTIONS(1372),
+    [anon_sym_inline] = ACTIONS(1372),
+    [anon_sym___inline] = ACTIONS(1372),
+    [anon_sym___inline__] = ACTIONS(1372),
+    [anon_sym___forceinline] = ACTIONS(1372),
+    [anon_sym_thread_local] = ACTIONS(1372),
+    [anon_sym___thread] = ACTIONS(1372),
+    [anon_sym_const] = ACTIONS(1372),
+    [anon_sym_constexpr] = ACTIONS(1372),
+    [anon_sym_volatile] = ACTIONS(1372),
+    [anon_sym_restrict] = ACTIONS(1372),
+    [anon_sym___restrict__] = ACTIONS(1372),
+    [anon_sym__Atomic] = ACTIONS(1372),
+    [anon_sym__Noreturn] = ACTIONS(1372),
+    [anon_sym_noreturn] = ACTIONS(1372),
+    [anon_sym__Nonnull] = ACTIONS(1372),
+    [anon_sym_alignas] = ACTIONS(1372),
+    [anon_sym__Alignas] = ACTIONS(1372),
+    [sym_primitive_type] = ACTIONS(1372),
+    [anon_sym_enum] = ACTIONS(1372),
+    [anon_sym_struct] = ACTIONS(1372),
+    [anon_sym_union] = ACTIONS(1372),
+    [anon_sym_if] = ACTIONS(1372),
+    [anon_sym_switch] = ACTIONS(1372),
+    [anon_sym_case] = ACTIONS(1372),
+    [anon_sym_default] = ACTIONS(1372),
+    [anon_sym_while] = ACTIONS(1372),
+    [anon_sym_do] = ACTIONS(1372),
+    [anon_sym_for] = ACTIONS(1372),
+    [anon_sym_return] = ACTIONS(1372),
+    [anon_sym_break] = ACTIONS(1372),
+    [anon_sym_continue] = ACTIONS(1372),
+    [anon_sym_goto] = ACTIONS(1372),
+    [anon_sym_DASH_DASH] = ACTIONS(1374),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1374),
+    [anon_sym_sizeof] = ACTIONS(1372),
+    [anon_sym___alignof__] = ACTIONS(1372),
+    [anon_sym___alignof] = ACTIONS(1372),
+    [anon_sym__alignof] = ACTIONS(1372),
+    [anon_sym_alignof] = ACTIONS(1372),
+    [anon_sym__Alignof] = ACTIONS(1372),
+    [anon_sym_offsetof] = ACTIONS(1372),
+    [anon_sym__Generic] = ACTIONS(1372),
+    [anon_sym_asm] = ACTIONS(1372),
+    [anon_sym___asm__] = ACTIONS(1372),
+    [anon_sym___asm] = ACTIONS(1372),
+    [sym_number_literal] = ACTIONS(1374),
+    [anon_sym_L_SQUOTE] = ACTIONS(1374),
+    [anon_sym_u_SQUOTE] = ACTIONS(1374),
+    [anon_sym_U_SQUOTE] = ACTIONS(1374),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1374),
+    [anon_sym_SQUOTE] = ACTIONS(1374),
+    [anon_sym_L_DQUOTE] = ACTIONS(1374),
+    [anon_sym_u_DQUOTE] = ACTIONS(1374),
+    [anon_sym_U_DQUOTE] = ACTIONS(1374),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1374),
+    [anon_sym_DQUOTE] = ACTIONS(1374),
+    [sym_true] = ACTIONS(1372),
+    [sym_false] = ACTIONS(1372),
+    [anon_sym_NULL] = ACTIONS(1372),
+    [anon_sym_nullptr] = ACTIONS(1372),
+    [sym_comment] = ACTIONS(3),
+  },
+  [321] = {
+    [ts_builtin_sym_end] = ACTIONS(1338),
+    [sym_identifier] = ACTIONS(1336),
+    [aux_sym_preproc_include_token1] = ACTIONS(1336),
+    [aux_sym_preproc_def_token1] = ACTIONS(1336),
+    [aux_sym_preproc_if_token1] = ACTIONS(1336),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1336),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1336),
+    [sym_preproc_directive] = ACTIONS(1336),
+    [anon_sym_LPAREN2] = ACTIONS(1338),
+    [anon_sym_BANG] = ACTIONS(1338),
+    [anon_sym_TILDE] = ACTIONS(1338),
+    [anon_sym_DASH] = ACTIONS(1336),
+    [anon_sym_PLUS] = ACTIONS(1336),
+    [anon_sym_STAR] = ACTIONS(1338),
+    [anon_sym_AMP] = ACTIONS(1338),
+    [anon_sym_SEMI] = ACTIONS(1338),
+    [anon_sym___extension__] = ACTIONS(1336),
+    [anon_sym_typedef] = ACTIONS(1336),
+    [anon_sym_extern] = ACTIONS(1336),
+    [anon_sym___attribute__] = ACTIONS(1336),
+    [anon_sym___attribute] = ACTIONS(1336),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1338),
+    [anon_sym___declspec] = ACTIONS(1336),
+    [anon_sym___cdecl] = ACTIONS(1336),
+    [anon_sym___clrcall] = ACTIONS(1336),
+    [anon_sym___stdcall] = ACTIONS(1336),
+    [anon_sym___fastcall] = ACTIONS(1336),
+    [anon_sym___thiscall] = ACTIONS(1336),
+    [anon_sym___vectorcall] = ACTIONS(1336),
+    [anon_sym_LBRACE] = ACTIONS(1338),
+    [anon_sym_signed] = ACTIONS(1336),
+    [anon_sym_unsigned] = ACTIONS(1336),
+    [anon_sym_long] = ACTIONS(1336),
+    [anon_sym_short] = ACTIONS(1336),
+    [anon_sym_static] = ACTIONS(1336),
+    [anon_sym_auto] = ACTIONS(1336),
+    [anon_sym_register] = ACTIONS(1336),
+    [anon_sym_inline] = ACTIONS(1336),
+    [anon_sym___inline] = ACTIONS(1336),
+    [anon_sym___inline__] = ACTIONS(1336),
+    [anon_sym___forceinline] = ACTIONS(1336),
+    [anon_sym_thread_local] = ACTIONS(1336),
+    [anon_sym___thread] = ACTIONS(1336),
+    [anon_sym_const] = ACTIONS(1336),
+    [anon_sym_constexpr] = ACTIONS(1336),
+    [anon_sym_volatile] = ACTIONS(1336),
+    [anon_sym_restrict] = ACTIONS(1336),
+    [anon_sym___restrict__] = ACTIONS(1336),
+    [anon_sym__Atomic] = ACTIONS(1336),
+    [anon_sym__Noreturn] = ACTIONS(1336),
+    [anon_sym_noreturn] = ACTIONS(1336),
+    [anon_sym__Nonnull] = ACTIONS(1336),
+    [anon_sym_alignas] = ACTIONS(1336),
+    [anon_sym__Alignas] = ACTIONS(1336),
+    [sym_primitive_type] = ACTIONS(1336),
+    [anon_sym_enum] = ACTIONS(1336),
+    [anon_sym_struct] = ACTIONS(1336),
+    [anon_sym_union] = ACTIONS(1336),
+    [anon_sym_if] = ACTIONS(1336),
+    [anon_sym_switch] = ACTIONS(1336),
+    [anon_sym_case] = ACTIONS(1336),
+    [anon_sym_default] = ACTIONS(1336),
+    [anon_sym_while] = ACTIONS(1336),
+    [anon_sym_do] = ACTIONS(1336),
+    [anon_sym_for] = ACTIONS(1336),
+    [anon_sym_return] = ACTIONS(1336),
+    [anon_sym_break] = ACTIONS(1336),
+    [anon_sym_continue] = ACTIONS(1336),
+    [anon_sym_goto] = ACTIONS(1336),
+    [anon_sym_DASH_DASH] = ACTIONS(1338),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1338),
+    [anon_sym_sizeof] = ACTIONS(1336),
+    [anon_sym___alignof__] = ACTIONS(1336),
+    [anon_sym___alignof] = ACTIONS(1336),
+    [anon_sym__alignof] = ACTIONS(1336),
+    [anon_sym_alignof] = ACTIONS(1336),
+    [anon_sym__Alignof] = ACTIONS(1336),
+    [anon_sym_offsetof] = ACTIONS(1336),
+    [anon_sym__Generic] = ACTIONS(1336),
+    [anon_sym_asm] = ACTIONS(1336),
+    [anon_sym___asm__] = ACTIONS(1336),
+    [anon_sym___asm] = ACTIONS(1336),
+    [sym_number_literal] = ACTIONS(1338),
+    [anon_sym_L_SQUOTE] = ACTIONS(1338),
+    [anon_sym_u_SQUOTE] = ACTIONS(1338),
+    [anon_sym_U_SQUOTE] = ACTIONS(1338),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1338),
+    [anon_sym_SQUOTE] = ACTIONS(1338),
+    [anon_sym_L_DQUOTE] = ACTIONS(1338),
+    [anon_sym_u_DQUOTE] = ACTIONS(1338),
+    [anon_sym_U_DQUOTE] = ACTIONS(1338),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1338),
+    [anon_sym_DQUOTE] = ACTIONS(1338),
+    [sym_true] = ACTIONS(1336),
+    [sym_false] = ACTIONS(1336),
+    [anon_sym_NULL] = ACTIONS(1336),
+    [anon_sym_nullptr] = ACTIONS(1336),
+    [sym_comment] = ACTIONS(3),
+  },
+  [322] = {
+    [sym_attribute_declaration] = STATE(349),
+    [sym_compound_statement] = STATE(250),
+    [sym_attributed_statement] = STATE(250),
+    [sym_statement] = STATE(253),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [sym_identifier] = ACTIONS(1414),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -49416,99 +50102,499 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [320] = {
-    [sym_attribute_declaration] = STATE(323),
-    [sym_compound_statement] = STATE(177),
-    [sym_attributed_statement] = STATE(177),
-    [sym_statement] = STATE(148),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [sym_identifier] = ACTIONS(1510),
+  [323] = {
+    [ts_builtin_sym_end] = ACTIONS(1282),
+    [sym_identifier] = ACTIONS(1280),
+    [aux_sym_preproc_include_token1] = ACTIONS(1280),
+    [aux_sym_preproc_def_token1] = ACTIONS(1280),
+    [aux_sym_preproc_if_token1] = ACTIONS(1280),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1280),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1280),
+    [sym_preproc_directive] = ACTIONS(1280),
+    [anon_sym_LPAREN2] = ACTIONS(1282),
+    [anon_sym_BANG] = ACTIONS(1282),
+    [anon_sym_TILDE] = ACTIONS(1282),
+    [anon_sym_DASH] = ACTIONS(1280),
+    [anon_sym_PLUS] = ACTIONS(1280),
+    [anon_sym_STAR] = ACTIONS(1282),
+    [anon_sym_AMP] = ACTIONS(1282),
+    [anon_sym_SEMI] = ACTIONS(1282),
+    [anon_sym___extension__] = ACTIONS(1280),
+    [anon_sym_typedef] = ACTIONS(1280),
+    [anon_sym_extern] = ACTIONS(1280),
+    [anon_sym___attribute__] = ACTIONS(1280),
+    [anon_sym___attribute] = ACTIONS(1280),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1282),
+    [anon_sym___declspec] = ACTIONS(1280),
+    [anon_sym___cdecl] = ACTIONS(1280),
+    [anon_sym___clrcall] = ACTIONS(1280),
+    [anon_sym___stdcall] = ACTIONS(1280),
+    [anon_sym___fastcall] = ACTIONS(1280),
+    [anon_sym___thiscall] = ACTIONS(1280),
+    [anon_sym___vectorcall] = ACTIONS(1280),
+    [anon_sym_LBRACE] = ACTIONS(1282),
+    [anon_sym_signed] = ACTIONS(1280),
+    [anon_sym_unsigned] = ACTIONS(1280),
+    [anon_sym_long] = ACTIONS(1280),
+    [anon_sym_short] = ACTIONS(1280),
+    [anon_sym_static] = ACTIONS(1280),
+    [anon_sym_auto] = ACTIONS(1280),
+    [anon_sym_register] = ACTIONS(1280),
+    [anon_sym_inline] = ACTIONS(1280),
+    [anon_sym___inline] = ACTIONS(1280),
+    [anon_sym___inline__] = ACTIONS(1280),
+    [anon_sym___forceinline] = ACTIONS(1280),
+    [anon_sym_thread_local] = ACTIONS(1280),
+    [anon_sym___thread] = ACTIONS(1280),
+    [anon_sym_const] = ACTIONS(1280),
+    [anon_sym_constexpr] = ACTIONS(1280),
+    [anon_sym_volatile] = ACTIONS(1280),
+    [anon_sym_restrict] = ACTIONS(1280),
+    [anon_sym___restrict__] = ACTIONS(1280),
+    [anon_sym__Atomic] = ACTIONS(1280),
+    [anon_sym__Noreturn] = ACTIONS(1280),
+    [anon_sym_noreturn] = ACTIONS(1280),
+    [anon_sym__Nonnull] = ACTIONS(1280),
+    [anon_sym_alignas] = ACTIONS(1280),
+    [anon_sym__Alignas] = ACTIONS(1280),
+    [sym_primitive_type] = ACTIONS(1280),
+    [anon_sym_enum] = ACTIONS(1280),
+    [anon_sym_struct] = ACTIONS(1280),
+    [anon_sym_union] = ACTIONS(1280),
+    [anon_sym_if] = ACTIONS(1280),
+    [anon_sym_switch] = ACTIONS(1280),
+    [anon_sym_case] = ACTIONS(1280),
+    [anon_sym_default] = ACTIONS(1280),
+    [anon_sym_while] = ACTIONS(1280),
+    [anon_sym_do] = ACTIONS(1280),
+    [anon_sym_for] = ACTIONS(1280),
+    [anon_sym_return] = ACTIONS(1280),
+    [anon_sym_break] = ACTIONS(1280),
+    [anon_sym_continue] = ACTIONS(1280),
+    [anon_sym_goto] = ACTIONS(1280),
+    [anon_sym_DASH_DASH] = ACTIONS(1282),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1282),
+    [anon_sym_sizeof] = ACTIONS(1280),
+    [anon_sym___alignof__] = ACTIONS(1280),
+    [anon_sym___alignof] = ACTIONS(1280),
+    [anon_sym__alignof] = ACTIONS(1280),
+    [anon_sym_alignof] = ACTIONS(1280),
+    [anon_sym__Alignof] = ACTIONS(1280),
+    [anon_sym_offsetof] = ACTIONS(1280),
+    [anon_sym__Generic] = ACTIONS(1280),
+    [anon_sym_asm] = ACTIONS(1280),
+    [anon_sym___asm__] = ACTIONS(1280),
+    [anon_sym___asm] = ACTIONS(1280),
+    [sym_number_literal] = ACTIONS(1282),
+    [anon_sym_L_SQUOTE] = ACTIONS(1282),
+    [anon_sym_u_SQUOTE] = ACTIONS(1282),
+    [anon_sym_U_SQUOTE] = ACTIONS(1282),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1282),
+    [anon_sym_SQUOTE] = ACTIONS(1282),
+    [anon_sym_L_DQUOTE] = ACTIONS(1282),
+    [anon_sym_u_DQUOTE] = ACTIONS(1282),
+    [anon_sym_U_DQUOTE] = ACTIONS(1282),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1282),
+    [anon_sym_DQUOTE] = ACTIONS(1282),
+    [sym_true] = ACTIONS(1280),
+    [sym_false] = ACTIONS(1280),
+    [anon_sym_NULL] = ACTIONS(1280),
+    [anon_sym_nullptr] = ACTIONS(1280),
+    [sym_comment] = ACTIONS(3),
+  },
+  [324] = {
+    [ts_builtin_sym_end] = ACTIONS(1286),
+    [sym_identifier] = ACTIONS(1284),
+    [aux_sym_preproc_include_token1] = ACTIONS(1284),
+    [aux_sym_preproc_def_token1] = ACTIONS(1284),
+    [aux_sym_preproc_if_token1] = ACTIONS(1284),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1284),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1284),
+    [sym_preproc_directive] = ACTIONS(1284),
+    [anon_sym_LPAREN2] = ACTIONS(1286),
+    [anon_sym_BANG] = ACTIONS(1286),
+    [anon_sym_TILDE] = ACTIONS(1286),
+    [anon_sym_DASH] = ACTIONS(1284),
+    [anon_sym_PLUS] = ACTIONS(1284),
+    [anon_sym_STAR] = ACTIONS(1286),
+    [anon_sym_AMP] = ACTIONS(1286),
+    [anon_sym_SEMI] = ACTIONS(1286),
+    [anon_sym___extension__] = ACTIONS(1284),
+    [anon_sym_typedef] = ACTIONS(1284),
+    [anon_sym_extern] = ACTIONS(1284),
+    [anon_sym___attribute__] = ACTIONS(1284),
+    [anon_sym___attribute] = ACTIONS(1284),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1286),
+    [anon_sym___declspec] = ACTIONS(1284),
+    [anon_sym___cdecl] = ACTIONS(1284),
+    [anon_sym___clrcall] = ACTIONS(1284),
+    [anon_sym___stdcall] = ACTIONS(1284),
+    [anon_sym___fastcall] = ACTIONS(1284),
+    [anon_sym___thiscall] = ACTIONS(1284),
+    [anon_sym___vectorcall] = ACTIONS(1284),
+    [anon_sym_LBRACE] = ACTIONS(1286),
+    [anon_sym_signed] = ACTIONS(1284),
+    [anon_sym_unsigned] = ACTIONS(1284),
+    [anon_sym_long] = ACTIONS(1284),
+    [anon_sym_short] = ACTIONS(1284),
+    [anon_sym_static] = ACTIONS(1284),
+    [anon_sym_auto] = ACTIONS(1284),
+    [anon_sym_register] = ACTIONS(1284),
+    [anon_sym_inline] = ACTIONS(1284),
+    [anon_sym___inline] = ACTIONS(1284),
+    [anon_sym___inline__] = ACTIONS(1284),
+    [anon_sym___forceinline] = ACTIONS(1284),
+    [anon_sym_thread_local] = ACTIONS(1284),
+    [anon_sym___thread] = ACTIONS(1284),
+    [anon_sym_const] = ACTIONS(1284),
+    [anon_sym_constexpr] = ACTIONS(1284),
+    [anon_sym_volatile] = ACTIONS(1284),
+    [anon_sym_restrict] = ACTIONS(1284),
+    [anon_sym___restrict__] = ACTIONS(1284),
+    [anon_sym__Atomic] = ACTIONS(1284),
+    [anon_sym__Noreturn] = ACTIONS(1284),
+    [anon_sym_noreturn] = ACTIONS(1284),
+    [anon_sym__Nonnull] = ACTIONS(1284),
+    [anon_sym_alignas] = ACTIONS(1284),
+    [anon_sym__Alignas] = ACTIONS(1284),
+    [sym_primitive_type] = ACTIONS(1284),
+    [anon_sym_enum] = ACTIONS(1284),
+    [anon_sym_struct] = ACTIONS(1284),
+    [anon_sym_union] = ACTIONS(1284),
+    [anon_sym_if] = ACTIONS(1284),
+    [anon_sym_switch] = ACTIONS(1284),
+    [anon_sym_case] = ACTIONS(1284),
+    [anon_sym_default] = ACTIONS(1284),
+    [anon_sym_while] = ACTIONS(1284),
+    [anon_sym_do] = ACTIONS(1284),
+    [anon_sym_for] = ACTIONS(1284),
+    [anon_sym_return] = ACTIONS(1284),
+    [anon_sym_break] = ACTIONS(1284),
+    [anon_sym_continue] = ACTIONS(1284),
+    [anon_sym_goto] = ACTIONS(1284),
+    [anon_sym_DASH_DASH] = ACTIONS(1286),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1286),
+    [anon_sym_sizeof] = ACTIONS(1284),
+    [anon_sym___alignof__] = ACTIONS(1284),
+    [anon_sym___alignof] = ACTIONS(1284),
+    [anon_sym__alignof] = ACTIONS(1284),
+    [anon_sym_alignof] = ACTIONS(1284),
+    [anon_sym__Alignof] = ACTIONS(1284),
+    [anon_sym_offsetof] = ACTIONS(1284),
+    [anon_sym__Generic] = ACTIONS(1284),
+    [anon_sym_asm] = ACTIONS(1284),
+    [anon_sym___asm__] = ACTIONS(1284),
+    [anon_sym___asm] = ACTIONS(1284),
+    [sym_number_literal] = ACTIONS(1286),
+    [anon_sym_L_SQUOTE] = ACTIONS(1286),
+    [anon_sym_u_SQUOTE] = ACTIONS(1286),
+    [anon_sym_U_SQUOTE] = ACTIONS(1286),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1286),
+    [anon_sym_SQUOTE] = ACTIONS(1286),
+    [anon_sym_L_DQUOTE] = ACTIONS(1286),
+    [anon_sym_u_DQUOTE] = ACTIONS(1286),
+    [anon_sym_U_DQUOTE] = ACTIONS(1286),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1286),
+    [anon_sym_DQUOTE] = ACTIONS(1286),
+    [sym_true] = ACTIONS(1284),
+    [sym_false] = ACTIONS(1284),
+    [anon_sym_NULL] = ACTIONS(1284),
+    [anon_sym_nullptr] = ACTIONS(1284),
+    [sym_comment] = ACTIONS(3),
+  },
+  [325] = {
+    [ts_builtin_sym_end] = ACTIONS(1290),
+    [sym_identifier] = ACTIONS(1288),
+    [aux_sym_preproc_include_token1] = ACTIONS(1288),
+    [aux_sym_preproc_def_token1] = ACTIONS(1288),
+    [aux_sym_preproc_if_token1] = ACTIONS(1288),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1288),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1288),
+    [sym_preproc_directive] = ACTIONS(1288),
+    [anon_sym_LPAREN2] = ACTIONS(1290),
+    [anon_sym_BANG] = ACTIONS(1290),
+    [anon_sym_TILDE] = ACTIONS(1290),
+    [anon_sym_DASH] = ACTIONS(1288),
+    [anon_sym_PLUS] = ACTIONS(1288),
+    [anon_sym_STAR] = ACTIONS(1290),
+    [anon_sym_AMP] = ACTIONS(1290),
+    [anon_sym_SEMI] = ACTIONS(1290),
+    [anon_sym___extension__] = ACTIONS(1288),
+    [anon_sym_typedef] = ACTIONS(1288),
+    [anon_sym_extern] = ACTIONS(1288),
+    [anon_sym___attribute__] = ACTIONS(1288),
+    [anon_sym___attribute] = ACTIONS(1288),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1290),
+    [anon_sym___declspec] = ACTIONS(1288),
+    [anon_sym___cdecl] = ACTIONS(1288),
+    [anon_sym___clrcall] = ACTIONS(1288),
+    [anon_sym___stdcall] = ACTIONS(1288),
+    [anon_sym___fastcall] = ACTIONS(1288),
+    [anon_sym___thiscall] = ACTIONS(1288),
+    [anon_sym___vectorcall] = ACTIONS(1288),
+    [anon_sym_LBRACE] = ACTIONS(1290),
+    [anon_sym_signed] = ACTIONS(1288),
+    [anon_sym_unsigned] = ACTIONS(1288),
+    [anon_sym_long] = ACTIONS(1288),
+    [anon_sym_short] = ACTIONS(1288),
+    [anon_sym_static] = ACTIONS(1288),
+    [anon_sym_auto] = ACTIONS(1288),
+    [anon_sym_register] = ACTIONS(1288),
+    [anon_sym_inline] = ACTIONS(1288),
+    [anon_sym___inline] = ACTIONS(1288),
+    [anon_sym___inline__] = ACTIONS(1288),
+    [anon_sym___forceinline] = ACTIONS(1288),
+    [anon_sym_thread_local] = ACTIONS(1288),
+    [anon_sym___thread] = ACTIONS(1288),
+    [anon_sym_const] = ACTIONS(1288),
+    [anon_sym_constexpr] = ACTIONS(1288),
+    [anon_sym_volatile] = ACTIONS(1288),
+    [anon_sym_restrict] = ACTIONS(1288),
+    [anon_sym___restrict__] = ACTIONS(1288),
+    [anon_sym__Atomic] = ACTIONS(1288),
+    [anon_sym__Noreturn] = ACTIONS(1288),
+    [anon_sym_noreturn] = ACTIONS(1288),
+    [anon_sym__Nonnull] = ACTIONS(1288),
+    [anon_sym_alignas] = ACTIONS(1288),
+    [anon_sym__Alignas] = ACTIONS(1288),
+    [sym_primitive_type] = ACTIONS(1288),
+    [anon_sym_enum] = ACTIONS(1288),
+    [anon_sym_struct] = ACTIONS(1288),
+    [anon_sym_union] = ACTIONS(1288),
+    [anon_sym_if] = ACTIONS(1288),
+    [anon_sym_switch] = ACTIONS(1288),
+    [anon_sym_case] = ACTIONS(1288),
+    [anon_sym_default] = ACTIONS(1288),
+    [anon_sym_while] = ACTIONS(1288),
+    [anon_sym_do] = ACTIONS(1288),
+    [anon_sym_for] = ACTIONS(1288),
+    [anon_sym_return] = ACTIONS(1288),
+    [anon_sym_break] = ACTIONS(1288),
+    [anon_sym_continue] = ACTIONS(1288),
+    [anon_sym_goto] = ACTIONS(1288),
+    [anon_sym_DASH_DASH] = ACTIONS(1290),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1290),
+    [anon_sym_sizeof] = ACTIONS(1288),
+    [anon_sym___alignof__] = ACTIONS(1288),
+    [anon_sym___alignof] = ACTIONS(1288),
+    [anon_sym__alignof] = ACTIONS(1288),
+    [anon_sym_alignof] = ACTIONS(1288),
+    [anon_sym__Alignof] = ACTIONS(1288),
+    [anon_sym_offsetof] = ACTIONS(1288),
+    [anon_sym__Generic] = ACTIONS(1288),
+    [anon_sym_asm] = ACTIONS(1288),
+    [anon_sym___asm__] = ACTIONS(1288),
+    [anon_sym___asm] = ACTIONS(1288),
+    [sym_number_literal] = ACTIONS(1290),
+    [anon_sym_L_SQUOTE] = ACTIONS(1290),
+    [anon_sym_u_SQUOTE] = ACTIONS(1290),
+    [anon_sym_U_SQUOTE] = ACTIONS(1290),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1290),
+    [anon_sym_SQUOTE] = ACTIONS(1290),
+    [anon_sym_L_DQUOTE] = ACTIONS(1290),
+    [anon_sym_u_DQUOTE] = ACTIONS(1290),
+    [anon_sym_U_DQUOTE] = ACTIONS(1290),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1290),
+    [anon_sym_DQUOTE] = ACTIONS(1290),
+    [sym_true] = ACTIONS(1288),
+    [sym_false] = ACTIONS(1288),
+    [anon_sym_NULL] = ACTIONS(1288),
+    [anon_sym_nullptr] = ACTIONS(1288),
+    [sym_comment] = ACTIONS(3),
+  },
+  [326] = {
+    [ts_builtin_sym_end] = ACTIONS(1362),
+    [sym_identifier] = ACTIONS(1360),
+    [aux_sym_preproc_include_token1] = ACTIONS(1360),
+    [aux_sym_preproc_def_token1] = ACTIONS(1360),
+    [aux_sym_preproc_if_token1] = ACTIONS(1360),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1360),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1360),
+    [sym_preproc_directive] = ACTIONS(1360),
+    [anon_sym_LPAREN2] = ACTIONS(1362),
+    [anon_sym_BANG] = ACTIONS(1362),
+    [anon_sym_TILDE] = ACTIONS(1362),
+    [anon_sym_DASH] = ACTIONS(1360),
+    [anon_sym_PLUS] = ACTIONS(1360),
+    [anon_sym_STAR] = ACTIONS(1362),
+    [anon_sym_AMP] = ACTIONS(1362),
+    [anon_sym_SEMI] = ACTIONS(1362),
+    [anon_sym___extension__] = ACTIONS(1360),
+    [anon_sym_typedef] = ACTIONS(1360),
+    [anon_sym_extern] = ACTIONS(1360),
+    [anon_sym___attribute__] = ACTIONS(1360),
+    [anon_sym___attribute] = ACTIONS(1360),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1362),
+    [anon_sym___declspec] = ACTIONS(1360),
+    [anon_sym___cdecl] = ACTIONS(1360),
+    [anon_sym___clrcall] = ACTIONS(1360),
+    [anon_sym___stdcall] = ACTIONS(1360),
+    [anon_sym___fastcall] = ACTIONS(1360),
+    [anon_sym___thiscall] = ACTIONS(1360),
+    [anon_sym___vectorcall] = ACTIONS(1360),
+    [anon_sym_LBRACE] = ACTIONS(1362),
+    [anon_sym_signed] = ACTIONS(1360),
+    [anon_sym_unsigned] = ACTIONS(1360),
+    [anon_sym_long] = ACTIONS(1360),
+    [anon_sym_short] = ACTIONS(1360),
+    [anon_sym_static] = ACTIONS(1360),
+    [anon_sym_auto] = ACTIONS(1360),
+    [anon_sym_register] = ACTIONS(1360),
+    [anon_sym_inline] = ACTIONS(1360),
+    [anon_sym___inline] = ACTIONS(1360),
+    [anon_sym___inline__] = ACTIONS(1360),
+    [anon_sym___forceinline] = ACTIONS(1360),
+    [anon_sym_thread_local] = ACTIONS(1360),
+    [anon_sym___thread] = ACTIONS(1360),
+    [anon_sym_const] = ACTIONS(1360),
+    [anon_sym_constexpr] = ACTIONS(1360),
+    [anon_sym_volatile] = ACTIONS(1360),
+    [anon_sym_restrict] = ACTIONS(1360),
+    [anon_sym___restrict__] = ACTIONS(1360),
+    [anon_sym__Atomic] = ACTIONS(1360),
+    [anon_sym__Noreturn] = ACTIONS(1360),
+    [anon_sym_noreturn] = ACTIONS(1360),
+    [anon_sym__Nonnull] = ACTIONS(1360),
+    [anon_sym_alignas] = ACTIONS(1360),
+    [anon_sym__Alignas] = ACTIONS(1360),
+    [sym_primitive_type] = ACTIONS(1360),
+    [anon_sym_enum] = ACTIONS(1360),
+    [anon_sym_struct] = ACTIONS(1360),
+    [anon_sym_union] = ACTIONS(1360),
+    [anon_sym_if] = ACTIONS(1360),
+    [anon_sym_switch] = ACTIONS(1360),
+    [anon_sym_case] = ACTIONS(1360),
+    [anon_sym_default] = ACTIONS(1360),
+    [anon_sym_while] = ACTIONS(1360),
+    [anon_sym_do] = ACTIONS(1360),
+    [anon_sym_for] = ACTIONS(1360),
+    [anon_sym_return] = ACTIONS(1360),
+    [anon_sym_break] = ACTIONS(1360),
+    [anon_sym_continue] = ACTIONS(1360),
+    [anon_sym_goto] = ACTIONS(1360),
+    [anon_sym_DASH_DASH] = ACTIONS(1362),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1362),
+    [anon_sym_sizeof] = ACTIONS(1360),
+    [anon_sym___alignof__] = ACTIONS(1360),
+    [anon_sym___alignof] = ACTIONS(1360),
+    [anon_sym__alignof] = ACTIONS(1360),
+    [anon_sym_alignof] = ACTIONS(1360),
+    [anon_sym__Alignof] = ACTIONS(1360),
+    [anon_sym_offsetof] = ACTIONS(1360),
+    [anon_sym__Generic] = ACTIONS(1360),
+    [anon_sym_asm] = ACTIONS(1360),
+    [anon_sym___asm__] = ACTIONS(1360),
+    [anon_sym___asm] = ACTIONS(1360),
+    [sym_number_literal] = ACTIONS(1362),
+    [anon_sym_L_SQUOTE] = ACTIONS(1362),
+    [anon_sym_u_SQUOTE] = ACTIONS(1362),
+    [anon_sym_U_SQUOTE] = ACTIONS(1362),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1362),
+    [anon_sym_SQUOTE] = ACTIONS(1362),
+    [anon_sym_L_DQUOTE] = ACTIONS(1362),
+    [anon_sym_u_DQUOTE] = ACTIONS(1362),
+    [anon_sym_U_DQUOTE] = ACTIONS(1362),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1362),
+    [anon_sym_DQUOTE] = ACTIONS(1362),
+    [sym_true] = ACTIONS(1360),
+    [sym_false] = ACTIONS(1360),
+    [anon_sym_NULL] = ACTIONS(1360),
+    [anon_sym_nullptr] = ACTIONS(1360),
+    [sym_comment] = ACTIONS(3),
+  },
+  [327] = {
+    [sym_attribute_declaration] = STATE(349),
+    [sym_compound_statement] = STATE(250),
+    [sym_attributed_statement] = STATE(250),
+    [sym_statement] = STATE(244),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [sym_identifier] = ACTIONS(1414),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -49516,199 +50602,99 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
-    [sym_comment] = ACTIONS(3),
-  },
-  [321] = {
-    [ts_builtin_sym_end] = ACTIONS(1327),
-    [sym_identifier] = ACTIONS(1325),
-    [aux_sym_preproc_include_token1] = ACTIONS(1325),
-    [aux_sym_preproc_def_token1] = ACTIONS(1325),
-    [anon_sym_COMMA] = ACTIONS(1327),
-    [aux_sym_preproc_if_token1] = ACTIONS(1325),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1325),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1325),
-    [sym_preproc_directive] = ACTIONS(1325),
-    [anon_sym_LPAREN2] = ACTIONS(1327),
-    [anon_sym_BANG] = ACTIONS(1327),
-    [anon_sym_TILDE] = ACTIONS(1327),
-    [anon_sym_DASH] = ACTIONS(1325),
-    [anon_sym_PLUS] = ACTIONS(1325),
-    [anon_sym_STAR] = ACTIONS(1327),
-    [anon_sym_AMP] = ACTIONS(1327),
-    [anon_sym___extension__] = ACTIONS(1325),
-    [anon_sym_typedef] = ACTIONS(1325),
-    [anon_sym_extern] = ACTIONS(1325),
-    [anon_sym___attribute__] = ACTIONS(1325),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1327),
-    [anon_sym___declspec] = ACTIONS(1325),
-    [anon_sym___cdecl] = ACTIONS(1325),
-    [anon_sym___clrcall] = ACTIONS(1325),
-    [anon_sym___stdcall] = ACTIONS(1325),
-    [anon_sym___fastcall] = ACTIONS(1325),
-    [anon_sym___thiscall] = ACTIONS(1325),
-    [anon_sym___vectorcall] = ACTIONS(1325),
-    [anon_sym_LBRACE] = ACTIONS(1327),
-    [anon_sym_RBRACE] = ACTIONS(1327),
-    [anon_sym_signed] = ACTIONS(1325),
-    [anon_sym_unsigned] = ACTIONS(1325),
-    [anon_sym_long] = ACTIONS(1325),
-    [anon_sym_short] = ACTIONS(1325),
-    [anon_sym_static] = ACTIONS(1325),
-    [anon_sym_auto] = ACTIONS(1325),
-    [anon_sym_register] = ACTIONS(1325),
-    [anon_sym_inline] = ACTIONS(1325),
-    [anon_sym___inline] = ACTIONS(1325),
-    [anon_sym___inline__] = ACTIONS(1325),
-    [anon_sym___forceinline] = ACTIONS(1325),
-    [anon_sym_thread_local] = ACTIONS(1325),
-    [anon_sym___thread] = ACTIONS(1325),
-    [anon_sym_const] = ACTIONS(1325),
-    [anon_sym_constexpr] = ACTIONS(1325),
-    [anon_sym_volatile] = ACTIONS(1325),
-    [anon_sym_restrict] = ACTIONS(1325),
-    [anon_sym___restrict__] = ACTIONS(1325),
-    [anon_sym__Atomic] = ACTIONS(1325),
-    [anon_sym__Noreturn] = ACTIONS(1325),
-    [anon_sym_noreturn] = ACTIONS(1325),
-    [anon_sym__Nonnull] = ACTIONS(1325),
-    [anon_sym_alignas] = ACTIONS(1325),
-    [anon_sym__Alignas] = ACTIONS(1325),
-    [sym_primitive_type] = ACTIONS(1325),
-    [anon_sym_enum] = ACTIONS(1325),
-    [anon_sym_struct] = ACTIONS(1325),
-    [anon_sym_union] = ACTIONS(1325),
-    [anon_sym_if] = ACTIONS(1325),
-    [anon_sym_switch] = ACTIONS(1325),
-    [anon_sym_case] = ACTIONS(1325),
-    [anon_sym_default] = ACTIONS(1325),
-    [anon_sym_while] = ACTIONS(1325),
-    [anon_sym_do] = ACTIONS(1325),
-    [anon_sym_for] = ACTIONS(1325),
-    [anon_sym_return] = ACTIONS(1325),
-    [anon_sym_break] = ACTIONS(1325),
-    [anon_sym_continue] = ACTIONS(1325),
-    [anon_sym_goto] = ACTIONS(1325),
-    [anon_sym_DASH_DASH] = ACTIONS(1327),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1327),
-    [anon_sym_sizeof] = ACTIONS(1325),
-    [anon_sym___alignof__] = ACTIONS(1325),
-    [anon_sym___alignof] = ACTIONS(1325),
-    [anon_sym__alignof] = ACTIONS(1325),
-    [anon_sym_alignof] = ACTIONS(1325),
-    [anon_sym__Alignof] = ACTIONS(1325),
-    [anon_sym_offsetof] = ACTIONS(1325),
-    [anon_sym__Generic] = ACTIONS(1325),
-    [anon_sym_asm] = ACTIONS(1325),
-    [anon_sym___asm__] = ACTIONS(1325),
-    [anon_sym___asm] = ACTIONS(1325),
-    [sym_number_literal] = ACTIONS(1327),
-    [anon_sym_L_SQUOTE] = ACTIONS(1327),
-    [anon_sym_u_SQUOTE] = ACTIONS(1327),
-    [anon_sym_U_SQUOTE] = ACTIONS(1327),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1327),
-    [anon_sym_SQUOTE] = ACTIONS(1327),
-    [anon_sym_L_DQUOTE] = ACTIONS(1327),
-    [anon_sym_u_DQUOTE] = ACTIONS(1327),
-    [anon_sym_U_DQUOTE] = ACTIONS(1327),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1327),
-    [anon_sym_DQUOTE] = ACTIONS(1327),
-    [sym_true] = ACTIONS(1325),
-    [sym_false] = ACTIONS(1325),
-    [anon_sym_NULL] = ACTIONS(1325),
-    [anon_sym_nullptr] = ACTIONS(1325),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [322] = {
-    [sym_attribute_declaration] = STATE(338),
-    [sym_compound_statement] = STATE(171),
-    [sym_attributed_statement] = STATE(171),
+  [328] = {
+    [sym_attribute_declaration] = STATE(375),
+    [sym_compound_statement] = STATE(159),
+    [sym_attributed_statement] = STATE(159),
     [sym_statement] = STATE(149),
-    [sym_labeled_statement] = STATE(171),
-    [sym_expression_statement] = STATE(171),
-    [sym_if_statement] = STATE(171),
-    [sym_switch_statement] = STATE(171),
-    [sym_case_statement] = STATE(171),
-    [sym_while_statement] = STATE(171),
-    [sym_do_statement] = STATE(171),
-    [sym_for_statement] = STATE(171),
-    [sym_return_statement] = STATE(171),
-    [sym_break_statement] = STATE(171),
-    [sym_continue_statement] = STATE(171),
-    [sym_goto_statement] = STATE(171),
-    [sym_seh_try_statement] = STATE(171),
-    [sym_seh_leave_statement] = STATE(171),
-    [sym_expression] = STATE(1042),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1791),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(338),
-    [sym_identifier] = ACTIONS(1512),
+    [sym_labeled_statement] = STATE(159),
+    [sym_expression_statement] = STATE(159),
+    [sym_if_statement] = STATE(159),
+    [sym_switch_statement] = STATE(159),
+    [sym_case_statement] = STATE(159),
+    [sym_while_statement] = STATE(159),
+    [sym_do_statement] = STATE(159),
+    [sym_for_statement] = STATE(159),
+    [sym_return_statement] = STATE(159),
+    [sym_break_statement] = STATE(159),
+    [sym_continue_statement] = STATE(159),
+    [sym_goto_statement] = STATE(159),
+    [sym_seh_try_statement] = STATE(159),
+    [sym_seh_leave_statement] = STATE(159),
+    [sym_expression] = STATE(1074),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1913),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(375),
+    [sym_identifier] = ACTIONS(1420),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -49716,99 +50702,299 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(978),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_if] = ACTIONS(59),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(63),
-    [anon_sym_default] = ACTIONS(65),
-    [anon_sym_while] = ACTIONS(67),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(71),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(980),
-    [anon_sym___leave] = ACTIONS(982),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(929),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_if] = ACTIONS(61),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(65),
+    [anon_sym_default] = ACTIONS(67),
+    [anon_sym_while] = ACTIONS(69),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(73),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(931),
+    [anon_sym___leave] = ACTIONS(933),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [323] = {
-    [sym_attribute_declaration] = STATE(349),
-    [sym_compound_statement] = STATE(177),
-    [sym_attributed_statement] = STATE(177),
-    [sym_statement] = STATE(178),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(349),
-    [sym_identifier] = ACTIONS(1510),
+  [329] = {
+    [ts_builtin_sym_end] = ACTIONS(1378),
+    [sym_identifier] = ACTIONS(1376),
+    [aux_sym_preproc_include_token1] = ACTIONS(1376),
+    [aux_sym_preproc_def_token1] = ACTIONS(1376),
+    [aux_sym_preproc_if_token1] = ACTIONS(1376),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1376),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1376),
+    [sym_preproc_directive] = ACTIONS(1376),
+    [anon_sym_LPAREN2] = ACTIONS(1378),
+    [anon_sym_BANG] = ACTIONS(1378),
+    [anon_sym_TILDE] = ACTIONS(1378),
+    [anon_sym_DASH] = ACTIONS(1376),
+    [anon_sym_PLUS] = ACTIONS(1376),
+    [anon_sym_STAR] = ACTIONS(1378),
+    [anon_sym_AMP] = ACTIONS(1378),
+    [anon_sym_SEMI] = ACTIONS(1378),
+    [anon_sym___extension__] = ACTIONS(1376),
+    [anon_sym_typedef] = ACTIONS(1376),
+    [anon_sym_extern] = ACTIONS(1376),
+    [anon_sym___attribute__] = ACTIONS(1376),
+    [anon_sym___attribute] = ACTIONS(1376),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1378),
+    [anon_sym___declspec] = ACTIONS(1376),
+    [anon_sym___cdecl] = ACTIONS(1376),
+    [anon_sym___clrcall] = ACTIONS(1376),
+    [anon_sym___stdcall] = ACTIONS(1376),
+    [anon_sym___fastcall] = ACTIONS(1376),
+    [anon_sym___thiscall] = ACTIONS(1376),
+    [anon_sym___vectorcall] = ACTIONS(1376),
+    [anon_sym_LBRACE] = ACTIONS(1378),
+    [anon_sym_signed] = ACTIONS(1376),
+    [anon_sym_unsigned] = ACTIONS(1376),
+    [anon_sym_long] = ACTIONS(1376),
+    [anon_sym_short] = ACTIONS(1376),
+    [anon_sym_static] = ACTIONS(1376),
+    [anon_sym_auto] = ACTIONS(1376),
+    [anon_sym_register] = ACTIONS(1376),
+    [anon_sym_inline] = ACTIONS(1376),
+    [anon_sym___inline] = ACTIONS(1376),
+    [anon_sym___inline__] = ACTIONS(1376),
+    [anon_sym___forceinline] = ACTIONS(1376),
+    [anon_sym_thread_local] = ACTIONS(1376),
+    [anon_sym___thread] = ACTIONS(1376),
+    [anon_sym_const] = ACTIONS(1376),
+    [anon_sym_constexpr] = ACTIONS(1376),
+    [anon_sym_volatile] = ACTIONS(1376),
+    [anon_sym_restrict] = ACTIONS(1376),
+    [anon_sym___restrict__] = ACTIONS(1376),
+    [anon_sym__Atomic] = ACTIONS(1376),
+    [anon_sym__Noreturn] = ACTIONS(1376),
+    [anon_sym_noreturn] = ACTIONS(1376),
+    [anon_sym__Nonnull] = ACTIONS(1376),
+    [anon_sym_alignas] = ACTIONS(1376),
+    [anon_sym__Alignas] = ACTIONS(1376),
+    [sym_primitive_type] = ACTIONS(1376),
+    [anon_sym_enum] = ACTIONS(1376),
+    [anon_sym_struct] = ACTIONS(1376),
+    [anon_sym_union] = ACTIONS(1376),
+    [anon_sym_if] = ACTIONS(1376),
+    [anon_sym_switch] = ACTIONS(1376),
+    [anon_sym_case] = ACTIONS(1376),
+    [anon_sym_default] = ACTIONS(1376),
+    [anon_sym_while] = ACTIONS(1376),
+    [anon_sym_do] = ACTIONS(1376),
+    [anon_sym_for] = ACTIONS(1376),
+    [anon_sym_return] = ACTIONS(1376),
+    [anon_sym_break] = ACTIONS(1376),
+    [anon_sym_continue] = ACTIONS(1376),
+    [anon_sym_goto] = ACTIONS(1376),
+    [anon_sym_DASH_DASH] = ACTIONS(1378),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1378),
+    [anon_sym_sizeof] = ACTIONS(1376),
+    [anon_sym___alignof__] = ACTIONS(1376),
+    [anon_sym___alignof] = ACTIONS(1376),
+    [anon_sym__alignof] = ACTIONS(1376),
+    [anon_sym_alignof] = ACTIONS(1376),
+    [anon_sym__Alignof] = ACTIONS(1376),
+    [anon_sym_offsetof] = ACTIONS(1376),
+    [anon_sym__Generic] = ACTIONS(1376),
+    [anon_sym_asm] = ACTIONS(1376),
+    [anon_sym___asm__] = ACTIONS(1376),
+    [anon_sym___asm] = ACTIONS(1376),
+    [sym_number_literal] = ACTIONS(1378),
+    [anon_sym_L_SQUOTE] = ACTIONS(1378),
+    [anon_sym_u_SQUOTE] = ACTIONS(1378),
+    [anon_sym_U_SQUOTE] = ACTIONS(1378),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1378),
+    [anon_sym_SQUOTE] = ACTIONS(1378),
+    [anon_sym_L_DQUOTE] = ACTIONS(1378),
+    [anon_sym_u_DQUOTE] = ACTIONS(1378),
+    [anon_sym_U_DQUOTE] = ACTIONS(1378),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1378),
+    [anon_sym_DQUOTE] = ACTIONS(1378),
+    [sym_true] = ACTIONS(1376),
+    [sym_false] = ACTIONS(1376),
+    [anon_sym_NULL] = ACTIONS(1376),
+    [anon_sym_nullptr] = ACTIONS(1376),
+    [sym_comment] = ACTIONS(3),
+  },
+  [330] = {
+    [ts_builtin_sym_end] = ACTIONS(1274),
+    [sym_identifier] = ACTIONS(1272),
+    [aux_sym_preproc_include_token1] = ACTIONS(1272),
+    [aux_sym_preproc_def_token1] = ACTIONS(1272),
+    [aux_sym_preproc_if_token1] = ACTIONS(1272),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1272),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1272),
+    [sym_preproc_directive] = ACTIONS(1272),
+    [anon_sym_LPAREN2] = ACTIONS(1274),
+    [anon_sym_BANG] = ACTIONS(1274),
+    [anon_sym_TILDE] = ACTIONS(1274),
+    [anon_sym_DASH] = ACTIONS(1272),
+    [anon_sym_PLUS] = ACTIONS(1272),
+    [anon_sym_STAR] = ACTIONS(1274),
+    [anon_sym_AMP] = ACTIONS(1274),
+    [anon_sym_SEMI] = ACTIONS(1274),
+    [anon_sym___extension__] = ACTIONS(1272),
+    [anon_sym_typedef] = ACTIONS(1272),
+    [anon_sym_extern] = ACTIONS(1272),
+    [anon_sym___attribute__] = ACTIONS(1272),
+    [anon_sym___attribute] = ACTIONS(1272),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1274),
+    [anon_sym___declspec] = ACTIONS(1272),
+    [anon_sym___cdecl] = ACTIONS(1272),
+    [anon_sym___clrcall] = ACTIONS(1272),
+    [anon_sym___stdcall] = ACTIONS(1272),
+    [anon_sym___fastcall] = ACTIONS(1272),
+    [anon_sym___thiscall] = ACTIONS(1272),
+    [anon_sym___vectorcall] = ACTIONS(1272),
+    [anon_sym_LBRACE] = ACTIONS(1274),
+    [anon_sym_signed] = ACTIONS(1272),
+    [anon_sym_unsigned] = ACTIONS(1272),
+    [anon_sym_long] = ACTIONS(1272),
+    [anon_sym_short] = ACTIONS(1272),
+    [anon_sym_static] = ACTIONS(1272),
+    [anon_sym_auto] = ACTIONS(1272),
+    [anon_sym_register] = ACTIONS(1272),
+    [anon_sym_inline] = ACTIONS(1272),
+    [anon_sym___inline] = ACTIONS(1272),
+    [anon_sym___inline__] = ACTIONS(1272),
+    [anon_sym___forceinline] = ACTIONS(1272),
+    [anon_sym_thread_local] = ACTIONS(1272),
+    [anon_sym___thread] = ACTIONS(1272),
+    [anon_sym_const] = ACTIONS(1272),
+    [anon_sym_constexpr] = ACTIONS(1272),
+    [anon_sym_volatile] = ACTIONS(1272),
+    [anon_sym_restrict] = ACTIONS(1272),
+    [anon_sym___restrict__] = ACTIONS(1272),
+    [anon_sym__Atomic] = ACTIONS(1272),
+    [anon_sym__Noreturn] = ACTIONS(1272),
+    [anon_sym_noreturn] = ACTIONS(1272),
+    [anon_sym__Nonnull] = ACTIONS(1272),
+    [anon_sym_alignas] = ACTIONS(1272),
+    [anon_sym__Alignas] = ACTIONS(1272),
+    [sym_primitive_type] = ACTIONS(1272),
+    [anon_sym_enum] = ACTIONS(1272),
+    [anon_sym_struct] = ACTIONS(1272),
+    [anon_sym_union] = ACTIONS(1272),
+    [anon_sym_if] = ACTIONS(1272),
+    [anon_sym_switch] = ACTIONS(1272),
+    [anon_sym_case] = ACTIONS(1272),
+    [anon_sym_default] = ACTIONS(1272),
+    [anon_sym_while] = ACTIONS(1272),
+    [anon_sym_do] = ACTIONS(1272),
+    [anon_sym_for] = ACTIONS(1272),
+    [anon_sym_return] = ACTIONS(1272),
+    [anon_sym_break] = ACTIONS(1272),
+    [anon_sym_continue] = ACTIONS(1272),
+    [anon_sym_goto] = ACTIONS(1272),
+    [anon_sym_DASH_DASH] = ACTIONS(1274),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1274),
+    [anon_sym_sizeof] = ACTIONS(1272),
+    [anon_sym___alignof__] = ACTIONS(1272),
+    [anon_sym___alignof] = ACTIONS(1272),
+    [anon_sym__alignof] = ACTIONS(1272),
+    [anon_sym_alignof] = ACTIONS(1272),
+    [anon_sym__Alignof] = ACTIONS(1272),
+    [anon_sym_offsetof] = ACTIONS(1272),
+    [anon_sym__Generic] = ACTIONS(1272),
+    [anon_sym_asm] = ACTIONS(1272),
+    [anon_sym___asm__] = ACTIONS(1272),
+    [anon_sym___asm] = ACTIONS(1272),
+    [sym_number_literal] = ACTIONS(1274),
+    [anon_sym_L_SQUOTE] = ACTIONS(1274),
+    [anon_sym_u_SQUOTE] = ACTIONS(1274),
+    [anon_sym_U_SQUOTE] = ACTIONS(1274),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1274),
+    [anon_sym_SQUOTE] = ACTIONS(1274),
+    [anon_sym_L_DQUOTE] = ACTIONS(1274),
+    [anon_sym_u_DQUOTE] = ACTIONS(1274),
+    [anon_sym_U_DQUOTE] = ACTIONS(1274),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1274),
+    [anon_sym_DQUOTE] = ACTIONS(1274),
+    [sym_true] = ACTIONS(1272),
+    [sym_false] = ACTIONS(1272),
+    [anon_sym_NULL] = ACTIONS(1272),
+    [anon_sym_nullptr] = ACTIONS(1272),
+    [sym_comment] = ACTIONS(3),
+  },
+  [331] = {
+    [sym_attribute_declaration] = STATE(361),
+    [sym_compound_statement] = STATE(250),
+    [sym_attributed_statement] = STATE(250),
+    [sym_statement] = STATE(1842),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(361),
+    [sym_identifier] = ACTIONS(1422),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -49816,199 +51002,299 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_if] = ACTIONS(1095),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(1103),
+    [anon_sym_default] = ACTIONS(1105),
+    [anon_sym_while] = ACTIONS(1097),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(1099),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(1101),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [324] = {
-    [ts_builtin_sym_end] = ACTIONS(1307),
-    [sym_identifier] = ACTIONS(1305),
-    [aux_sym_preproc_include_token1] = ACTIONS(1305),
-    [aux_sym_preproc_def_token1] = ACTIONS(1305),
-    [anon_sym_COMMA] = ACTIONS(1307),
-    [aux_sym_preproc_if_token1] = ACTIONS(1305),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1305),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1305),
-    [sym_preproc_directive] = ACTIONS(1305),
-    [anon_sym_LPAREN2] = ACTIONS(1307),
-    [anon_sym_BANG] = ACTIONS(1307),
-    [anon_sym_TILDE] = ACTIONS(1307),
-    [anon_sym_DASH] = ACTIONS(1305),
-    [anon_sym_PLUS] = ACTIONS(1305),
-    [anon_sym_STAR] = ACTIONS(1307),
-    [anon_sym_AMP] = ACTIONS(1307),
-    [anon_sym___extension__] = ACTIONS(1305),
-    [anon_sym_typedef] = ACTIONS(1305),
-    [anon_sym_extern] = ACTIONS(1305),
-    [anon_sym___attribute__] = ACTIONS(1305),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1307),
-    [anon_sym___declspec] = ACTIONS(1305),
-    [anon_sym___cdecl] = ACTIONS(1305),
-    [anon_sym___clrcall] = ACTIONS(1305),
-    [anon_sym___stdcall] = ACTIONS(1305),
-    [anon_sym___fastcall] = ACTIONS(1305),
-    [anon_sym___thiscall] = ACTIONS(1305),
-    [anon_sym___vectorcall] = ACTIONS(1305),
-    [anon_sym_LBRACE] = ACTIONS(1307),
-    [anon_sym_RBRACE] = ACTIONS(1307),
-    [anon_sym_signed] = ACTIONS(1305),
-    [anon_sym_unsigned] = ACTIONS(1305),
-    [anon_sym_long] = ACTIONS(1305),
-    [anon_sym_short] = ACTIONS(1305),
-    [anon_sym_static] = ACTIONS(1305),
-    [anon_sym_auto] = ACTIONS(1305),
-    [anon_sym_register] = ACTIONS(1305),
-    [anon_sym_inline] = ACTIONS(1305),
-    [anon_sym___inline] = ACTIONS(1305),
-    [anon_sym___inline__] = ACTIONS(1305),
-    [anon_sym___forceinline] = ACTIONS(1305),
-    [anon_sym_thread_local] = ACTIONS(1305),
-    [anon_sym___thread] = ACTIONS(1305),
-    [anon_sym_const] = ACTIONS(1305),
-    [anon_sym_constexpr] = ACTIONS(1305),
-    [anon_sym_volatile] = ACTIONS(1305),
-    [anon_sym_restrict] = ACTIONS(1305),
-    [anon_sym___restrict__] = ACTIONS(1305),
-    [anon_sym__Atomic] = ACTIONS(1305),
-    [anon_sym__Noreturn] = ACTIONS(1305),
-    [anon_sym_noreturn] = ACTIONS(1305),
-    [anon_sym__Nonnull] = ACTIONS(1305),
-    [anon_sym_alignas] = ACTIONS(1305),
-    [anon_sym__Alignas] = ACTIONS(1305),
-    [sym_primitive_type] = ACTIONS(1305),
-    [anon_sym_enum] = ACTIONS(1305),
-    [anon_sym_struct] = ACTIONS(1305),
-    [anon_sym_union] = ACTIONS(1305),
-    [anon_sym_if] = ACTIONS(1305),
-    [anon_sym_switch] = ACTIONS(1305),
-    [anon_sym_case] = ACTIONS(1305),
-    [anon_sym_default] = ACTIONS(1305),
-    [anon_sym_while] = ACTIONS(1305),
-    [anon_sym_do] = ACTIONS(1305),
-    [anon_sym_for] = ACTIONS(1305),
-    [anon_sym_return] = ACTIONS(1305),
-    [anon_sym_break] = ACTIONS(1305),
-    [anon_sym_continue] = ACTIONS(1305),
-    [anon_sym_goto] = ACTIONS(1305),
-    [anon_sym_DASH_DASH] = ACTIONS(1307),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1307),
-    [anon_sym_sizeof] = ACTIONS(1305),
-    [anon_sym___alignof__] = ACTIONS(1305),
-    [anon_sym___alignof] = ACTIONS(1305),
-    [anon_sym__alignof] = ACTIONS(1305),
-    [anon_sym_alignof] = ACTIONS(1305),
-    [anon_sym__Alignof] = ACTIONS(1305),
-    [anon_sym_offsetof] = ACTIONS(1305),
-    [anon_sym__Generic] = ACTIONS(1305),
-    [anon_sym_asm] = ACTIONS(1305),
-    [anon_sym___asm__] = ACTIONS(1305),
-    [anon_sym___asm] = ACTIONS(1305),
-    [sym_number_literal] = ACTIONS(1307),
-    [anon_sym_L_SQUOTE] = ACTIONS(1307),
-    [anon_sym_u_SQUOTE] = ACTIONS(1307),
-    [anon_sym_U_SQUOTE] = ACTIONS(1307),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1307),
-    [anon_sym_SQUOTE] = ACTIONS(1307),
-    [anon_sym_L_DQUOTE] = ACTIONS(1307),
-    [anon_sym_u_DQUOTE] = ACTIONS(1307),
-    [anon_sym_U_DQUOTE] = ACTIONS(1307),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1307),
-    [anon_sym_DQUOTE] = ACTIONS(1307),
-    [sym_true] = ACTIONS(1305),
-    [sym_false] = ACTIONS(1305),
-    [anon_sym_NULL] = ACTIONS(1305),
-    [anon_sym_nullptr] = ACTIONS(1305),
+  [332] = {
+    [ts_builtin_sym_end] = ACTIONS(1278),
+    [sym_identifier] = ACTIONS(1276),
+    [aux_sym_preproc_include_token1] = ACTIONS(1276),
+    [aux_sym_preproc_def_token1] = ACTIONS(1276),
+    [aux_sym_preproc_if_token1] = ACTIONS(1276),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1276),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1276),
+    [sym_preproc_directive] = ACTIONS(1276),
+    [anon_sym_LPAREN2] = ACTIONS(1278),
+    [anon_sym_BANG] = ACTIONS(1278),
+    [anon_sym_TILDE] = ACTIONS(1278),
+    [anon_sym_DASH] = ACTIONS(1276),
+    [anon_sym_PLUS] = ACTIONS(1276),
+    [anon_sym_STAR] = ACTIONS(1278),
+    [anon_sym_AMP] = ACTIONS(1278),
+    [anon_sym_SEMI] = ACTIONS(1278),
+    [anon_sym___extension__] = ACTIONS(1276),
+    [anon_sym_typedef] = ACTIONS(1276),
+    [anon_sym_extern] = ACTIONS(1276),
+    [anon_sym___attribute__] = ACTIONS(1276),
+    [anon_sym___attribute] = ACTIONS(1276),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1278),
+    [anon_sym___declspec] = ACTIONS(1276),
+    [anon_sym___cdecl] = ACTIONS(1276),
+    [anon_sym___clrcall] = ACTIONS(1276),
+    [anon_sym___stdcall] = ACTIONS(1276),
+    [anon_sym___fastcall] = ACTIONS(1276),
+    [anon_sym___thiscall] = ACTIONS(1276),
+    [anon_sym___vectorcall] = ACTIONS(1276),
+    [anon_sym_LBRACE] = ACTIONS(1278),
+    [anon_sym_signed] = ACTIONS(1276),
+    [anon_sym_unsigned] = ACTIONS(1276),
+    [anon_sym_long] = ACTIONS(1276),
+    [anon_sym_short] = ACTIONS(1276),
+    [anon_sym_static] = ACTIONS(1276),
+    [anon_sym_auto] = ACTIONS(1276),
+    [anon_sym_register] = ACTIONS(1276),
+    [anon_sym_inline] = ACTIONS(1276),
+    [anon_sym___inline] = ACTIONS(1276),
+    [anon_sym___inline__] = ACTIONS(1276),
+    [anon_sym___forceinline] = ACTIONS(1276),
+    [anon_sym_thread_local] = ACTIONS(1276),
+    [anon_sym___thread] = ACTIONS(1276),
+    [anon_sym_const] = ACTIONS(1276),
+    [anon_sym_constexpr] = ACTIONS(1276),
+    [anon_sym_volatile] = ACTIONS(1276),
+    [anon_sym_restrict] = ACTIONS(1276),
+    [anon_sym___restrict__] = ACTIONS(1276),
+    [anon_sym__Atomic] = ACTIONS(1276),
+    [anon_sym__Noreturn] = ACTIONS(1276),
+    [anon_sym_noreturn] = ACTIONS(1276),
+    [anon_sym__Nonnull] = ACTIONS(1276),
+    [anon_sym_alignas] = ACTIONS(1276),
+    [anon_sym__Alignas] = ACTIONS(1276),
+    [sym_primitive_type] = ACTIONS(1276),
+    [anon_sym_enum] = ACTIONS(1276),
+    [anon_sym_struct] = ACTIONS(1276),
+    [anon_sym_union] = ACTIONS(1276),
+    [anon_sym_if] = ACTIONS(1276),
+    [anon_sym_switch] = ACTIONS(1276),
+    [anon_sym_case] = ACTIONS(1276),
+    [anon_sym_default] = ACTIONS(1276),
+    [anon_sym_while] = ACTIONS(1276),
+    [anon_sym_do] = ACTIONS(1276),
+    [anon_sym_for] = ACTIONS(1276),
+    [anon_sym_return] = ACTIONS(1276),
+    [anon_sym_break] = ACTIONS(1276),
+    [anon_sym_continue] = ACTIONS(1276),
+    [anon_sym_goto] = ACTIONS(1276),
+    [anon_sym_DASH_DASH] = ACTIONS(1278),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1278),
+    [anon_sym_sizeof] = ACTIONS(1276),
+    [anon_sym___alignof__] = ACTIONS(1276),
+    [anon_sym___alignof] = ACTIONS(1276),
+    [anon_sym__alignof] = ACTIONS(1276),
+    [anon_sym_alignof] = ACTIONS(1276),
+    [anon_sym__Alignof] = ACTIONS(1276),
+    [anon_sym_offsetof] = ACTIONS(1276),
+    [anon_sym__Generic] = ACTIONS(1276),
+    [anon_sym_asm] = ACTIONS(1276),
+    [anon_sym___asm__] = ACTIONS(1276),
+    [anon_sym___asm] = ACTIONS(1276),
+    [sym_number_literal] = ACTIONS(1278),
+    [anon_sym_L_SQUOTE] = ACTIONS(1278),
+    [anon_sym_u_SQUOTE] = ACTIONS(1278),
+    [anon_sym_U_SQUOTE] = ACTIONS(1278),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1278),
+    [anon_sym_SQUOTE] = ACTIONS(1278),
+    [anon_sym_L_DQUOTE] = ACTIONS(1278),
+    [anon_sym_u_DQUOTE] = ACTIONS(1278),
+    [anon_sym_U_DQUOTE] = ACTIONS(1278),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1278),
+    [anon_sym_DQUOTE] = ACTIONS(1278),
+    [sym_true] = ACTIONS(1276),
+    [sym_false] = ACTIONS(1276),
+    [anon_sym_NULL] = ACTIONS(1276),
+    [anon_sym_nullptr] = ACTIONS(1276),
     [sym_comment] = ACTIONS(3),
   },
-  [325] = {
-    [sym_attribute_declaration] = STATE(347),
-    [sym_compound_statement] = STATE(84),
-    [sym_attributed_statement] = STATE(84),
-    [sym_statement] = STATE(80),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [sym_identifier] = ACTIONS(1514),
+  [333] = {
+    [sym_attribute_declaration] = STATE(333),
+    [sym_compound_statement] = STATE(250),
+    [sym_attributed_statement] = STATE(250),
+    [sym_statement] = STATE(167),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(333),
+    [sym_identifier] = ACTIONS(1424),
+    [anon_sym_LPAREN2] = ACTIONS(1427),
+    [anon_sym_BANG] = ACTIONS(1430),
+    [anon_sym_TILDE] = ACTIONS(1430),
+    [anon_sym_DASH] = ACTIONS(1433),
+    [anon_sym_PLUS] = ACTIONS(1433),
+    [anon_sym_STAR] = ACTIONS(1436),
+    [anon_sym_AMP] = ACTIONS(1436),
+    [anon_sym_SEMI] = ACTIONS(1439),
+    [anon_sym___extension__] = ACTIONS(1442),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1445),
+    [anon_sym_LBRACE] = ACTIONS(1448),
+    [anon_sym_if] = ACTIONS(1451),
+    [anon_sym_switch] = ACTIONS(1454),
+    [anon_sym_case] = ACTIONS(1457),
+    [anon_sym_default] = ACTIONS(1460),
+    [anon_sym_while] = ACTIONS(1463),
+    [anon_sym_do] = ACTIONS(1466),
+    [anon_sym_for] = ACTIONS(1469),
+    [anon_sym_return] = ACTIONS(1472),
+    [anon_sym_break] = ACTIONS(1475),
+    [anon_sym_continue] = ACTIONS(1478),
+    [anon_sym_goto] = ACTIONS(1481),
+    [anon_sym___try] = ACTIONS(1484),
+    [anon_sym___leave] = ACTIONS(1487),
+    [anon_sym_DASH_DASH] = ACTIONS(1490),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1490),
+    [anon_sym_sizeof] = ACTIONS(1493),
+    [anon_sym___alignof__] = ACTIONS(1496),
+    [anon_sym___alignof] = ACTIONS(1496),
+    [anon_sym__alignof] = ACTIONS(1496),
+    [anon_sym_alignof] = ACTIONS(1496),
+    [anon_sym__Alignof] = ACTIONS(1496),
+    [anon_sym_offsetof] = ACTIONS(1499),
+    [anon_sym__Generic] = ACTIONS(1502),
+    [anon_sym_asm] = ACTIONS(1505),
+    [anon_sym___asm__] = ACTIONS(1505),
+    [anon_sym___asm] = ACTIONS(1505),
+    [sym_number_literal] = ACTIONS(1508),
+    [anon_sym_L_SQUOTE] = ACTIONS(1511),
+    [anon_sym_u_SQUOTE] = ACTIONS(1511),
+    [anon_sym_U_SQUOTE] = ACTIONS(1511),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1511),
+    [anon_sym_SQUOTE] = ACTIONS(1511),
+    [anon_sym_L_DQUOTE] = ACTIONS(1514),
+    [anon_sym_u_DQUOTE] = ACTIONS(1514),
+    [anon_sym_U_DQUOTE] = ACTIONS(1514),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1514),
+    [anon_sym_DQUOTE] = ACTIONS(1514),
+    [sym_true] = ACTIONS(1517),
+    [sym_false] = ACTIONS(1517),
+    [anon_sym_NULL] = ACTIONS(1520),
+    [anon_sym_nullptr] = ACTIONS(1520),
+    [sym_comment] = ACTIONS(3),
+  },
+  [334] = {
+    [sym_attribute_declaration] = STATE(375),
+    [sym_compound_statement] = STATE(159),
+    [sym_attributed_statement] = STATE(159),
+    [sym_statement] = STATE(224),
+    [sym_labeled_statement] = STATE(159),
+    [sym_expression_statement] = STATE(159),
+    [sym_if_statement] = STATE(159),
+    [sym_switch_statement] = STATE(159),
+    [sym_case_statement] = STATE(159),
+    [sym_while_statement] = STATE(159),
+    [sym_do_statement] = STATE(159),
+    [sym_for_statement] = STATE(159),
+    [sym_return_statement] = STATE(159),
+    [sym_break_statement] = STATE(159),
+    [sym_continue_statement] = STATE(159),
+    [sym_goto_statement] = STATE(159),
+    [sym_seh_try_statement] = STATE(159),
+    [sym_seh_leave_statement] = STATE(159),
+    [sym_expression] = STATE(1074),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1913),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(375),
+    [sym_identifier] = ACTIONS(1420),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -50016,99 +51302,499 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(929),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_if] = ACTIONS(61),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(65),
+    [anon_sym_default] = ACTIONS(67),
+    [anon_sym_while] = ACTIONS(69),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(73),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(931),
+    [anon_sym___leave] = ACTIONS(933),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [326] = {
-    [sym_attribute_declaration] = STATE(347),
-    [sym_compound_statement] = STATE(84),
-    [sym_attributed_statement] = STATE(84),
-    [sym_statement] = STATE(94),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [sym_identifier] = ACTIONS(1514),
+  [335] = {
+    [ts_builtin_sym_end] = ACTIONS(1294),
+    [sym_identifier] = ACTIONS(1292),
+    [aux_sym_preproc_include_token1] = ACTIONS(1292),
+    [aux_sym_preproc_def_token1] = ACTIONS(1292),
+    [aux_sym_preproc_if_token1] = ACTIONS(1292),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1292),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1292),
+    [sym_preproc_directive] = ACTIONS(1292),
+    [anon_sym_LPAREN2] = ACTIONS(1294),
+    [anon_sym_BANG] = ACTIONS(1294),
+    [anon_sym_TILDE] = ACTIONS(1294),
+    [anon_sym_DASH] = ACTIONS(1292),
+    [anon_sym_PLUS] = ACTIONS(1292),
+    [anon_sym_STAR] = ACTIONS(1294),
+    [anon_sym_AMP] = ACTIONS(1294),
+    [anon_sym_SEMI] = ACTIONS(1294),
+    [anon_sym___extension__] = ACTIONS(1292),
+    [anon_sym_typedef] = ACTIONS(1292),
+    [anon_sym_extern] = ACTIONS(1292),
+    [anon_sym___attribute__] = ACTIONS(1292),
+    [anon_sym___attribute] = ACTIONS(1292),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1294),
+    [anon_sym___declspec] = ACTIONS(1292),
+    [anon_sym___cdecl] = ACTIONS(1292),
+    [anon_sym___clrcall] = ACTIONS(1292),
+    [anon_sym___stdcall] = ACTIONS(1292),
+    [anon_sym___fastcall] = ACTIONS(1292),
+    [anon_sym___thiscall] = ACTIONS(1292),
+    [anon_sym___vectorcall] = ACTIONS(1292),
+    [anon_sym_LBRACE] = ACTIONS(1294),
+    [anon_sym_signed] = ACTIONS(1292),
+    [anon_sym_unsigned] = ACTIONS(1292),
+    [anon_sym_long] = ACTIONS(1292),
+    [anon_sym_short] = ACTIONS(1292),
+    [anon_sym_static] = ACTIONS(1292),
+    [anon_sym_auto] = ACTIONS(1292),
+    [anon_sym_register] = ACTIONS(1292),
+    [anon_sym_inline] = ACTIONS(1292),
+    [anon_sym___inline] = ACTIONS(1292),
+    [anon_sym___inline__] = ACTIONS(1292),
+    [anon_sym___forceinline] = ACTIONS(1292),
+    [anon_sym_thread_local] = ACTIONS(1292),
+    [anon_sym___thread] = ACTIONS(1292),
+    [anon_sym_const] = ACTIONS(1292),
+    [anon_sym_constexpr] = ACTIONS(1292),
+    [anon_sym_volatile] = ACTIONS(1292),
+    [anon_sym_restrict] = ACTIONS(1292),
+    [anon_sym___restrict__] = ACTIONS(1292),
+    [anon_sym__Atomic] = ACTIONS(1292),
+    [anon_sym__Noreturn] = ACTIONS(1292),
+    [anon_sym_noreturn] = ACTIONS(1292),
+    [anon_sym__Nonnull] = ACTIONS(1292),
+    [anon_sym_alignas] = ACTIONS(1292),
+    [anon_sym__Alignas] = ACTIONS(1292),
+    [sym_primitive_type] = ACTIONS(1292),
+    [anon_sym_enum] = ACTIONS(1292),
+    [anon_sym_struct] = ACTIONS(1292),
+    [anon_sym_union] = ACTIONS(1292),
+    [anon_sym_if] = ACTIONS(1292),
+    [anon_sym_switch] = ACTIONS(1292),
+    [anon_sym_case] = ACTIONS(1292),
+    [anon_sym_default] = ACTIONS(1292),
+    [anon_sym_while] = ACTIONS(1292),
+    [anon_sym_do] = ACTIONS(1292),
+    [anon_sym_for] = ACTIONS(1292),
+    [anon_sym_return] = ACTIONS(1292),
+    [anon_sym_break] = ACTIONS(1292),
+    [anon_sym_continue] = ACTIONS(1292),
+    [anon_sym_goto] = ACTIONS(1292),
+    [anon_sym_DASH_DASH] = ACTIONS(1294),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1294),
+    [anon_sym_sizeof] = ACTIONS(1292),
+    [anon_sym___alignof__] = ACTIONS(1292),
+    [anon_sym___alignof] = ACTIONS(1292),
+    [anon_sym__alignof] = ACTIONS(1292),
+    [anon_sym_alignof] = ACTIONS(1292),
+    [anon_sym__Alignof] = ACTIONS(1292),
+    [anon_sym_offsetof] = ACTIONS(1292),
+    [anon_sym__Generic] = ACTIONS(1292),
+    [anon_sym_asm] = ACTIONS(1292),
+    [anon_sym___asm__] = ACTIONS(1292),
+    [anon_sym___asm] = ACTIONS(1292),
+    [sym_number_literal] = ACTIONS(1294),
+    [anon_sym_L_SQUOTE] = ACTIONS(1294),
+    [anon_sym_u_SQUOTE] = ACTIONS(1294),
+    [anon_sym_U_SQUOTE] = ACTIONS(1294),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1294),
+    [anon_sym_SQUOTE] = ACTIONS(1294),
+    [anon_sym_L_DQUOTE] = ACTIONS(1294),
+    [anon_sym_u_DQUOTE] = ACTIONS(1294),
+    [anon_sym_U_DQUOTE] = ACTIONS(1294),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1294),
+    [anon_sym_DQUOTE] = ACTIONS(1294),
+    [sym_true] = ACTIONS(1292),
+    [sym_false] = ACTIONS(1292),
+    [anon_sym_NULL] = ACTIONS(1292),
+    [anon_sym_nullptr] = ACTIONS(1292),
+    [sym_comment] = ACTIONS(3),
+  },
+  [336] = {
+    [ts_builtin_sym_end] = ACTIONS(1302),
+    [sym_identifier] = ACTIONS(1300),
+    [aux_sym_preproc_include_token1] = ACTIONS(1300),
+    [aux_sym_preproc_def_token1] = ACTIONS(1300),
+    [aux_sym_preproc_if_token1] = ACTIONS(1300),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1300),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1300),
+    [sym_preproc_directive] = ACTIONS(1300),
+    [anon_sym_LPAREN2] = ACTIONS(1302),
+    [anon_sym_BANG] = ACTIONS(1302),
+    [anon_sym_TILDE] = ACTIONS(1302),
+    [anon_sym_DASH] = ACTIONS(1300),
+    [anon_sym_PLUS] = ACTIONS(1300),
+    [anon_sym_STAR] = ACTIONS(1302),
+    [anon_sym_AMP] = ACTIONS(1302),
+    [anon_sym_SEMI] = ACTIONS(1302),
+    [anon_sym___extension__] = ACTIONS(1300),
+    [anon_sym_typedef] = ACTIONS(1300),
+    [anon_sym_extern] = ACTIONS(1300),
+    [anon_sym___attribute__] = ACTIONS(1300),
+    [anon_sym___attribute] = ACTIONS(1300),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1302),
+    [anon_sym___declspec] = ACTIONS(1300),
+    [anon_sym___cdecl] = ACTIONS(1300),
+    [anon_sym___clrcall] = ACTIONS(1300),
+    [anon_sym___stdcall] = ACTIONS(1300),
+    [anon_sym___fastcall] = ACTIONS(1300),
+    [anon_sym___thiscall] = ACTIONS(1300),
+    [anon_sym___vectorcall] = ACTIONS(1300),
+    [anon_sym_LBRACE] = ACTIONS(1302),
+    [anon_sym_signed] = ACTIONS(1300),
+    [anon_sym_unsigned] = ACTIONS(1300),
+    [anon_sym_long] = ACTIONS(1300),
+    [anon_sym_short] = ACTIONS(1300),
+    [anon_sym_static] = ACTIONS(1300),
+    [anon_sym_auto] = ACTIONS(1300),
+    [anon_sym_register] = ACTIONS(1300),
+    [anon_sym_inline] = ACTIONS(1300),
+    [anon_sym___inline] = ACTIONS(1300),
+    [anon_sym___inline__] = ACTIONS(1300),
+    [anon_sym___forceinline] = ACTIONS(1300),
+    [anon_sym_thread_local] = ACTIONS(1300),
+    [anon_sym___thread] = ACTIONS(1300),
+    [anon_sym_const] = ACTIONS(1300),
+    [anon_sym_constexpr] = ACTIONS(1300),
+    [anon_sym_volatile] = ACTIONS(1300),
+    [anon_sym_restrict] = ACTIONS(1300),
+    [anon_sym___restrict__] = ACTIONS(1300),
+    [anon_sym__Atomic] = ACTIONS(1300),
+    [anon_sym__Noreturn] = ACTIONS(1300),
+    [anon_sym_noreturn] = ACTIONS(1300),
+    [anon_sym__Nonnull] = ACTIONS(1300),
+    [anon_sym_alignas] = ACTIONS(1300),
+    [anon_sym__Alignas] = ACTIONS(1300),
+    [sym_primitive_type] = ACTIONS(1300),
+    [anon_sym_enum] = ACTIONS(1300),
+    [anon_sym_struct] = ACTIONS(1300),
+    [anon_sym_union] = ACTIONS(1300),
+    [anon_sym_if] = ACTIONS(1300),
+    [anon_sym_switch] = ACTIONS(1300),
+    [anon_sym_case] = ACTIONS(1300),
+    [anon_sym_default] = ACTIONS(1300),
+    [anon_sym_while] = ACTIONS(1300),
+    [anon_sym_do] = ACTIONS(1300),
+    [anon_sym_for] = ACTIONS(1300),
+    [anon_sym_return] = ACTIONS(1300),
+    [anon_sym_break] = ACTIONS(1300),
+    [anon_sym_continue] = ACTIONS(1300),
+    [anon_sym_goto] = ACTIONS(1300),
+    [anon_sym_DASH_DASH] = ACTIONS(1302),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1302),
+    [anon_sym_sizeof] = ACTIONS(1300),
+    [anon_sym___alignof__] = ACTIONS(1300),
+    [anon_sym___alignof] = ACTIONS(1300),
+    [anon_sym__alignof] = ACTIONS(1300),
+    [anon_sym_alignof] = ACTIONS(1300),
+    [anon_sym__Alignof] = ACTIONS(1300),
+    [anon_sym_offsetof] = ACTIONS(1300),
+    [anon_sym__Generic] = ACTIONS(1300),
+    [anon_sym_asm] = ACTIONS(1300),
+    [anon_sym___asm__] = ACTIONS(1300),
+    [anon_sym___asm] = ACTIONS(1300),
+    [sym_number_literal] = ACTIONS(1302),
+    [anon_sym_L_SQUOTE] = ACTIONS(1302),
+    [anon_sym_u_SQUOTE] = ACTIONS(1302),
+    [anon_sym_U_SQUOTE] = ACTIONS(1302),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1302),
+    [anon_sym_SQUOTE] = ACTIONS(1302),
+    [anon_sym_L_DQUOTE] = ACTIONS(1302),
+    [anon_sym_u_DQUOTE] = ACTIONS(1302),
+    [anon_sym_U_DQUOTE] = ACTIONS(1302),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1302),
+    [anon_sym_DQUOTE] = ACTIONS(1302),
+    [sym_true] = ACTIONS(1300),
+    [sym_false] = ACTIONS(1300),
+    [anon_sym_NULL] = ACTIONS(1300),
+    [anon_sym_nullptr] = ACTIONS(1300),
+    [sym_comment] = ACTIONS(3),
+  },
+  [337] = {
+    [ts_builtin_sym_end] = ACTIONS(1342),
+    [sym_identifier] = ACTIONS(1340),
+    [aux_sym_preproc_include_token1] = ACTIONS(1340),
+    [aux_sym_preproc_def_token1] = ACTIONS(1340),
+    [aux_sym_preproc_if_token1] = ACTIONS(1340),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1340),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1340),
+    [sym_preproc_directive] = ACTIONS(1340),
+    [anon_sym_LPAREN2] = ACTIONS(1342),
+    [anon_sym_BANG] = ACTIONS(1342),
+    [anon_sym_TILDE] = ACTIONS(1342),
+    [anon_sym_DASH] = ACTIONS(1340),
+    [anon_sym_PLUS] = ACTIONS(1340),
+    [anon_sym_STAR] = ACTIONS(1342),
+    [anon_sym_AMP] = ACTIONS(1342),
+    [anon_sym_SEMI] = ACTIONS(1342),
+    [anon_sym___extension__] = ACTIONS(1340),
+    [anon_sym_typedef] = ACTIONS(1340),
+    [anon_sym_extern] = ACTIONS(1340),
+    [anon_sym___attribute__] = ACTIONS(1340),
+    [anon_sym___attribute] = ACTIONS(1340),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1342),
+    [anon_sym___declspec] = ACTIONS(1340),
+    [anon_sym___cdecl] = ACTIONS(1340),
+    [anon_sym___clrcall] = ACTIONS(1340),
+    [anon_sym___stdcall] = ACTIONS(1340),
+    [anon_sym___fastcall] = ACTIONS(1340),
+    [anon_sym___thiscall] = ACTIONS(1340),
+    [anon_sym___vectorcall] = ACTIONS(1340),
+    [anon_sym_LBRACE] = ACTIONS(1342),
+    [anon_sym_signed] = ACTIONS(1340),
+    [anon_sym_unsigned] = ACTIONS(1340),
+    [anon_sym_long] = ACTIONS(1340),
+    [anon_sym_short] = ACTIONS(1340),
+    [anon_sym_static] = ACTIONS(1340),
+    [anon_sym_auto] = ACTIONS(1340),
+    [anon_sym_register] = ACTIONS(1340),
+    [anon_sym_inline] = ACTIONS(1340),
+    [anon_sym___inline] = ACTIONS(1340),
+    [anon_sym___inline__] = ACTIONS(1340),
+    [anon_sym___forceinline] = ACTIONS(1340),
+    [anon_sym_thread_local] = ACTIONS(1340),
+    [anon_sym___thread] = ACTIONS(1340),
+    [anon_sym_const] = ACTIONS(1340),
+    [anon_sym_constexpr] = ACTIONS(1340),
+    [anon_sym_volatile] = ACTIONS(1340),
+    [anon_sym_restrict] = ACTIONS(1340),
+    [anon_sym___restrict__] = ACTIONS(1340),
+    [anon_sym__Atomic] = ACTIONS(1340),
+    [anon_sym__Noreturn] = ACTIONS(1340),
+    [anon_sym_noreturn] = ACTIONS(1340),
+    [anon_sym__Nonnull] = ACTIONS(1340),
+    [anon_sym_alignas] = ACTIONS(1340),
+    [anon_sym__Alignas] = ACTIONS(1340),
+    [sym_primitive_type] = ACTIONS(1340),
+    [anon_sym_enum] = ACTIONS(1340),
+    [anon_sym_struct] = ACTIONS(1340),
+    [anon_sym_union] = ACTIONS(1340),
+    [anon_sym_if] = ACTIONS(1340),
+    [anon_sym_switch] = ACTIONS(1340),
+    [anon_sym_case] = ACTIONS(1340),
+    [anon_sym_default] = ACTIONS(1340),
+    [anon_sym_while] = ACTIONS(1340),
+    [anon_sym_do] = ACTIONS(1340),
+    [anon_sym_for] = ACTIONS(1340),
+    [anon_sym_return] = ACTIONS(1340),
+    [anon_sym_break] = ACTIONS(1340),
+    [anon_sym_continue] = ACTIONS(1340),
+    [anon_sym_goto] = ACTIONS(1340),
+    [anon_sym_DASH_DASH] = ACTIONS(1342),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1342),
+    [anon_sym_sizeof] = ACTIONS(1340),
+    [anon_sym___alignof__] = ACTIONS(1340),
+    [anon_sym___alignof] = ACTIONS(1340),
+    [anon_sym__alignof] = ACTIONS(1340),
+    [anon_sym_alignof] = ACTIONS(1340),
+    [anon_sym__Alignof] = ACTIONS(1340),
+    [anon_sym_offsetof] = ACTIONS(1340),
+    [anon_sym__Generic] = ACTIONS(1340),
+    [anon_sym_asm] = ACTIONS(1340),
+    [anon_sym___asm__] = ACTIONS(1340),
+    [anon_sym___asm] = ACTIONS(1340),
+    [sym_number_literal] = ACTIONS(1342),
+    [anon_sym_L_SQUOTE] = ACTIONS(1342),
+    [anon_sym_u_SQUOTE] = ACTIONS(1342),
+    [anon_sym_U_SQUOTE] = ACTIONS(1342),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1342),
+    [anon_sym_SQUOTE] = ACTIONS(1342),
+    [anon_sym_L_DQUOTE] = ACTIONS(1342),
+    [anon_sym_u_DQUOTE] = ACTIONS(1342),
+    [anon_sym_U_DQUOTE] = ACTIONS(1342),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1342),
+    [anon_sym_DQUOTE] = ACTIONS(1342),
+    [sym_true] = ACTIONS(1340),
+    [sym_false] = ACTIONS(1340),
+    [anon_sym_NULL] = ACTIONS(1340),
+    [anon_sym_nullptr] = ACTIONS(1340),
+    [sym_comment] = ACTIONS(3),
+  },
+  [338] = {
+    [ts_builtin_sym_end] = ACTIONS(1523),
+    [sym_identifier] = ACTIONS(1525),
+    [aux_sym_preproc_include_token1] = ACTIONS(1525),
+    [aux_sym_preproc_def_token1] = ACTIONS(1525),
+    [aux_sym_preproc_if_token1] = ACTIONS(1525),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1525),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1525),
+    [sym_preproc_directive] = ACTIONS(1525),
+    [anon_sym_LPAREN2] = ACTIONS(1523),
+    [anon_sym_BANG] = ACTIONS(1523),
+    [anon_sym_TILDE] = ACTIONS(1523),
+    [anon_sym_DASH] = ACTIONS(1525),
+    [anon_sym_PLUS] = ACTIONS(1525),
+    [anon_sym_STAR] = ACTIONS(1523),
+    [anon_sym_AMP] = ACTIONS(1523),
+    [anon_sym_SEMI] = ACTIONS(1523),
+    [anon_sym___extension__] = ACTIONS(1525),
+    [anon_sym_typedef] = ACTIONS(1525),
+    [anon_sym_extern] = ACTIONS(1525),
+    [anon_sym___attribute__] = ACTIONS(1525),
+    [anon_sym___attribute] = ACTIONS(1525),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1523),
+    [anon_sym___declspec] = ACTIONS(1525),
+    [anon_sym___cdecl] = ACTIONS(1525),
+    [anon_sym___clrcall] = ACTIONS(1525),
+    [anon_sym___stdcall] = ACTIONS(1525),
+    [anon_sym___fastcall] = ACTIONS(1525),
+    [anon_sym___thiscall] = ACTIONS(1525),
+    [anon_sym___vectorcall] = ACTIONS(1525),
+    [anon_sym_LBRACE] = ACTIONS(1523),
+    [anon_sym_signed] = ACTIONS(1525),
+    [anon_sym_unsigned] = ACTIONS(1525),
+    [anon_sym_long] = ACTIONS(1525),
+    [anon_sym_short] = ACTIONS(1525),
+    [anon_sym_static] = ACTIONS(1525),
+    [anon_sym_auto] = ACTIONS(1525),
+    [anon_sym_register] = ACTIONS(1525),
+    [anon_sym_inline] = ACTIONS(1525),
+    [anon_sym___inline] = ACTIONS(1525),
+    [anon_sym___inline__] = ACTIONS(1525),
+    [anon_sym___forceinline] = ACTIONS(1525),
+    [anon_sym_thread_local] = ACTIONS(1525),
+    [anon_sym___thread] = ACTIONS(1525),
+    [anon_sym_const] = ACTIONS(1525),
+    [anon_sym_constexpr] = ACTIONS(1525),
+    [anon_sym_volatile] = ACTIONS(1525),
+    [anon_sym_restrict] = ACTIONS(1525),
+    [anon_sym___restrict__] = ACTIONS(1525),
+    [anon_sym__Atomic] = ACTIONS(1525),
+    [anon_sym__Noreturn] = ACTIONS(1525),
+    [anon_sym_noreturn] = ACTIONS(1525),
+    [anon_sym__Nonnull] = ACTIONS(1525),
+    [anon_sym_alignas] = ACTIONS(1525),
+    [anon_sym__Alignas] = ACTIONS(1525),
+    [sym_primitive_type] = ACTIONS(1525),
+    [anon_sym_enum] = ACTIONS(1525),
+    [anon_sym_struct] = ACTIONS(1525),
+    [anon_sym_union] = ACTIONS(1525),
+    [anon_sym_if] = ACTIONS(1525),
+    [anon_sym_switch] = ACTIONS(1525),
+    [anon_sym_case] = ACTIONS(1525),
+    [anon_sym_default] = ACTIONS(1525),
+    [anon_sym_while] = ACTIONS(1525),
+    [anon_sym_do] = ACTIONS(1525),
+    [anon_sym_for] = ACTIONS(1525),
+    [anon_sym_return] = ACTIONS(1525),
+    [anon_sym_break] = ACTIONS(1525),
+    [anon_sym_continue] = ACTIONS(1525),
+    [anon_sym_goto] = ACTIONS(1525),
+    [anon_sym_DASH_DASH] = ACTIONS(1523),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1523),
+    [anon_sym_sizeof] = ACTIONS(1525),
+    [anon_sym___alignof__] = ACTIONS(1525),
+    [anon_sym___alignof] = ACTIONS(1525),
+    [anon_sym__alignof] = ACTIONS(1525),
+    [anon_sym_alignof] = ACTIONS(1525),
+    [anon_sym__Alignof] = ACTIONS(1525),
+    [anon_sym_offsetof] = ACTIONS(1525),
+    [anon_sym__Generic] = ACTIONS(1525),
+    [anon_sym_asm] = ACTIONS(1525),
+    [anon_sym___asm__] = ACTIONS(1525),
+    [anon_sym___asm] = ACTIONS(1525),
+    [sym_number_literal] = ACTIONS(1523),
+    [anon_sym_L_SQUOTE] = ACTIONS(1523),
+    [anon_sym_u_SQUOTE] = ACTIONS(1523),
+    [anon_sym_U_SQUOTE] = ACTIONS(1523),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1523),
+    [anon_sym_SQUOTE] = ACTIONS(1523),
+    [anon_sym_L_DQUOTE] = ACTIONS(1523),
+    [anon_sym_u_DQUOTE] = ACTIONS(1523),
+    [anon_sym_U_DQUOTE] = ACTIONS(1523),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1523),
+    [anon_sym_DQUOTE] = ACTIONS(1523),
+    [sym_true] = ACTIONS(1525),
+    [sym_false] = ACTIONS(1525),
+    [anon_sym_NULL] = ACTIONS(1525),
+    [anon_sym_nullptr] = ACTIONS(1525),
+    [sym_comment] = ACTIONS(3),
+  },
+  [339] = {
+    [sym_attribute_declaration] = STATE(375),
+    [sym_compound_statement] = STATE(159),
+    [sym_attributed_statement] = STATE(159),
+    [sym_statement] = STATE(172),
+    [sym_labeled_statement] = STATE(159),
+    [sym_expression_statement] = STATE(159),
+    [sym_if_statement] = STATE(159),
+    [sym_switch_statement] = STATE(159),
+    [sym_case_statement] = STATE(159),
+    [sym_while_statement] = STATE(159),
+    [sym_do_statement] = STATE(159),
+    [sym_for_statement] = STATE(159),
+    [sym_return_statement] = STATE(159),
+    [sym_break_statement] = STATE(159),
+    [sym_continue_statement] = STATE(159),
+    [sym_goto_statement] = STATE(159),
+    [sym_seh_try_statement] = STATE(159),
+    [sym_seh_leave_statement] = STATE(159),
+    [sym_expression] = STATE(1074),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1913),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(375),
+    [sym_identifier] = ACTIONS(1420),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -50116,99 +51802,199 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(929),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_if] = ACTIONS(61),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(65),
+    [anon_sym_default] = ACTIONS(67),
+    [anon_sym_while] = ACTIONS(69),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(73),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(931),
+    [anon_sym___leave] = ACTIONS(933),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [327] = {
-    [sym_attribute_declaration] = STATE(340),
-    [sym_compound_statement] = STATE(177),
-    [sym_attributed_statement] = STATE(177),
-    [sym_statement] = STATE(1757),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(340),
-    [sym_identifier] = ACTIONS(1504),
+  [340] = {
+    [ts_builtin_sym_end] = ACTIONS(1527),
+    [sym_identifier] = ACTIONS(1529),
+    [aux_sym_preproc_include_token1] = ACTIONS(1529),
+    [aux_sym_preproc_def_token1] = ACTIONS(1529),
+    [aux_sym_preproc_if_token1] = ACTIONS(1529),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1529),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1529),
+    [sym_preproc_directive] = ACTIONS(1529),
+    [anon_sym_LPAREN2] = ACTIONS(1527),
+    [anon_sym_BANG] = ACTIONS(1527),
+    [anon_sym_TILDE] = ACTIONS(1527),
+    [anon_sym_DASH] = ACTIONS(1529),
+    [anon_sym_PLUS] = ACTIONS(1529),
+    [anon_sym_STAR] = ACTIONS(1527),
+    [anon_sym_AMP] = ACTIONS(1527),
+    [anon_sym_SEMI] = ACTIONS(1527),
+    [anon_sym___extension__] = ACTIONS(1529),
+    [anon_sym_typedef] = ACTIONS(1529),
+    [anon_sym_extern] = ACTIONS(1529),
+    [anon_sym___attribute__] = ACTIONS(1529),
+    [anon_sym___attribute] = ACTIONS(1529),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1527),
+    [anon_sym___declspec] = ACTIONS(1529),
+    [anon_sym___cdecl] = ACTIONS(1529),
+    [anon_sym___clrcall] = ACTIONS(1529),
+    [anon_sym___stdcall] = ACTIONS(1529),
+    [anon_sym___fastcall] = ACTIONS(1529),
+    [anon_sym___thiscall] = ACTIONS(1529),
+    [anon_sym___vectorcall] = ACTIONS(1529),
+    [anon_sym_LBRACE] = ACTIONS(1527),
+    [anon_sym_signed] = ACTIONS(1529),
+    [anon_sym_unsigned] = ACTIONS(1529),
+    [anon_sym_long] = ACTIONS(1529),
+    [anon_sym_short] = ACTIONS(1529),
+    [anon_sym_static] = ACTIONS(1529),
+    [anon_sym_auto] = ACTIONS(1529),
+    [anon_sym_register] = ACTIONS(1529),
+    [anon_sym_inline] = ACTIONS(1529),
+    [anon_sym___inline] = ACTIONS(1529),
+    [anon_sym___inline__] = ACTIONS(1529),
+    [anon_sym___forceinline] = ACTIONS(1529),
+    [anon_sym_thread_local] = ACTIONS(1529),
+    [anon_sym___thread] = ACTIONS(1529),
+    [anon_sym_const] = ACTIONS(1529),
+    [anon_sym_constexpr] = ACTIONS(1529),
+    [anon_sym_volatile] = ACTIONS(1529),
+    [anon_sym_restrict] = ACTIONS(1529),
+    [anon_sym___restrict__] = ACTIONS(1529),
+    [anon_sym__Atomic] = ACTIONS(1529),
+    [anon_sym__Noreturn] = ACTIONS(1529),
+    [anon_sym_noreturn] = ACTIONS(1529),
+    [anon_sym__Nonnull] = ACTIONS(1529),
+    [anon_sym_alignas] = ACTIONS(1529),
+    [anon_sym__Alignas] = ACTIONS(1529),
+    [sym_primitive_type] = ACTIONS(1529),
+    [anon_sym_enum] = ACTIONS(1529),
+    [anon_sym_struct] = ACTIONS(1529),
+    [anon_sym_union] = ACTIONS(1529),
+    [anon_sym_if] = ACTIONS(1529),
+    [anon_sym_switch] = ACTIONS(1529),
+    [anon_sym_case] = ACTIONS(1529),
+    [anon_sym_default] = ACTIONS(1529),
+    [anon_sym_while] = ACTIONS(1529),
+    [anon_sym_do] = ACTIONS(1529),
+    [anon_sym_for] = ACTIONS(1529),
+    [anon_sym_return] = ACTIONS(1529),
+    [anon_sym_break] = ACTIONS(1529),
+    [anon_sym_continue] = ACTIONS(1529),
+    [anon_sym_goto] = ACTIONS(1529),
+    [anon_sym_DASH_DASH] = ACTIONS(1527),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1527),
+    [anon_sym_sizeof] = ACTIONS(1529),
+    [anon_sym___alignof__] = ACTIONS(1529),
+    [anon_sym___alignof] = ACTIONS(1529),
+    [anon_sym__alignof] = ACTIONS(1529),
+    [anon_sym_alignof] = ACTIONS(1529),
+    [anon_sym__Alignof] = ACTIONS(1529),
+    [anon_sym_offsetof] = ACTIONS(1529),
+    [anon_sym__Generic] = ACTIONS(1529),
+    [anon_sym_asm] = ACTIONS(1529),
+    [anon_sym___asm__] = ACTIONS(1529),
+    [anon_sym___asm] = ACTIONS(1529),
+    [sym_number_literal] = ACTIONS(1527),
+    [anon_sym_L_SQUOTE] = ACTIONS(1527),
+    [anon_sym_u_SQUOTE] = ACTIONS(1527),
+    [anon_sym_U_SQUOTE] = ACTIONS(1527),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1527),
+    [anon_sym_SQUOTE] = ACTIONS(1527),
+    [anon_sym_L_DQUOTE] = ACTIONS(1527),
+    [anon_sym_u_DQUOTE] = ACTIONS(1527),
+    [anon_sym_U_DQUOTE] = ACTIONS(1527),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1527),
+    [anon_sym_DQUOTE] = ACTIONS(1527),
+    [sym_true] = ACTIONS(1529),
+    [sym_false] = ACTIONS(1529),
+    [anon_sym_NULL] = ACTIONS(1529),
+    [anon_sym_nullptr] = ACTIONS(1529),
+    [sym_comment] = ACTIONS(3),
+  },
+  [341] = {
+    [sym_attribute_declaration] = STATE(375),
+    [sym_compound_statement] = STATE(159),
+    [sym_attributed_statement] = STATE(159),
+    [sym_statement] = STATE(160),
+    [sym_labeled_statement] = STATE(159),
+    [sym_expression_statement] = STATE(159),
+    [sym_if_statement] = STATE(159),
+    [sym_switch_statement] = STATE(159),
+    [sym_case_statement] = STATE(159),
+    [sym_while_statement] = STATE(159),
+    [sym_do_statement] = STATE(159),
+    [sym_for_statement] = STATE(159),
+    [sym_return_statement] = STATE(159),
+    [sym_break_statement] = STATE(159),
+    [sym_continue_statement] = STATE(159),
+    [sym_goto_statement] = STATE(159),
+    [sym_seh_try_statement] = STATE(159),
+    [sym_seh_leave_statement] = STATE(159),
+    [sym_expression] = STATE(1074),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1913),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(375),
+    [sym_identifier] = ACTIONS(1420),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -50216,199 +52002,799 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_if] = ACTIONS(1088),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(1098),
-    [anon_sym_default] = ACTIONS(1100),
-    [anon_sym_while] = ACTIONS(1090),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(1092),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(1094),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(929),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_if] = ACTIONS(61),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(65),
+    [anon_sym_default] = ACTIONS(67),
+    [anon_sym_while] = ACTIONS(69),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(73),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(931),
+    [anon_sym___leave] = ACTIONS(933),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [328] = {
-    [sym_attribute_declaration] = STATE(328),
-    [sym_compound_statement] = STATE(84),
-    [sym_attributed_statement] = STATE(84),
-    [sym_statement] = STATE(89),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(328),
-    [sym_identifier] = ACTIONS(1516),
-    [anon_sym_LPAREN2] = ACTIONS(1408),
-    [anon_sym_BANG] = ACTIONS(1411),
-    [anon_sym_TILDE] = ACTIONS(1411),
-    [anon_sym_DASH] = ACTIONS(1414),
-    [anon_sym_PLUS] = ACTIONS(1414),
-    [anon_sym_STAR] = ACTIONS(1417),
-    [anon_sym_AMP] = ACTIONS(1417),
-    [anon_sym_SEMI] = ACTIONS(1519),
-    [anon_sym___extension__] = ACTIONS(1423),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1426),
-    [anon_sym_LBRACE] = ACTIONS(1522),
-    [anon_sym_if] = ACTIONS(1525),
-    [anon_sym_switch] = ACTIONS(1528),
-    [anon_sym_case] = ACTIONS(1531),
-    [anon_sym_default] = ACTIONS(1534),
-    [anon_sym_while] = ACTIONS(1537),
-    [anon_sym_do] = ACTIONS(1540),
-    [anon_sym_for] = ACTIONS(1543),
-    [anon_sym_return] = ACTIONS(1546),
-    [anon_sym_break] = ACTIONS(1549),
-    [anon_sym_continue] = ACTIONS(1552),
-    [anon_sym_goto] = ACTIONS(1555),
-    [anon_sym___try] = ACTIONS(1558),
-    [anon_sym___leave] = ACTIONS(1561),
-    [anon_sym_DASH_DASH] = ACTIONS(1471),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1471),
-    [anon_sym_sizeof] = ACTIONS(1474),
-    [anon_sym___alignof__] = ACTIONS(1477),
-    [anon_sym___alignof] = ACTIONS(1477),
-    [anon_sym__alignof] = ACTIONS(1477),
-    [anon_sym_alignof] = ACTIONS(1477),
-    [anon_sym__Alignof] = ACTIONS(1477),
-    [anon_sym_offsetof] = ACTIONS(1480),
-    [anon_sym__Generic] = ACTIONS(1483),
-    [anon_sym_asm] = ACTIONS(1486),
-    [anon_sym___asm__] = ACTIONS(1486),
-    [anon_sym___asm] = ACTIONS(1486),
-    [sym_number_literal] = ACTIONS(1489),
-    [anon_sym_L_SQUOTE] = ACTIONS(1492),
-    [anon_sym_u_SQUOTE] = ACTIONS(1492),
-    [anon_sym_U_SQUOTE] = ACTIONS(1492),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1492),
-    [anon_sym_SQUOTE] = ACTIONS(1492),
-    [anon_sym_L_DQUOTE] = ACTIONS(1495),
-    [anon_sym_u_DQUOTE] = ACTIONS(1495),
-    [anon_sym_U_DQUOTE] = ACTIONS(1495),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1495),
-    [anon_sym_DQUOTE] = ACTIONS(1495),
-    [sym_true] = ACTIONS(1498),
-    [sym_false] = ACTIONS(1498),
-    [anon_sym_NULL] = ACTIONS(1501),
-    [anon_sym_nullptr] = ACTIONS(1501),
+  [342] = {
+    [ts_builtin_sym_end] = ACTIONS(1270),
+    [sym_identifier] = ACTIONS(1268),
+    [aux_sym_preproc_include_token1] = ACTIONS(1268),
+    [aux_sym_preproc_def_token1] = ACTIONS(1268),
+    [aux_sym_preproc_if_token1] = ACTIONS(1268),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1268),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1268),
+    [sym_preproc_directive] = ACTIONS(1268),
+    [anon_sym_LPAREN2] = ACTIONS(1270),
+    [anon_sym_BANG] = ACTIONS(1270),
+    [anon_sym_TILDE] = ACTIONS(1270),
+    [anon_sym_DASH] = ACTIONS(1268),
+    [anon_sym_PLUS] = ACTIONS(1268),
+    [anon_sym_STAR] = ACTIONS(1270),
+    [anon_sym_AMP] = ACTIONS(1270),
+    [anon_sym_SEMI] = ACTIONS(1270),
+    [anon_sym___extension__] = ACTIONS(1268),
+    [anon_sym_typedef] = ACTIONS(1268),
+    [anon_sym_extern] = ACTIONS(1268),
+    [anon_sym___attribute__] = ACTIONS(1268),
+    [anon_sym___attribute] = ACTIONS(1268),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1270),
+    [anon_sym___declspec] = ACTIONS(1268),
+    [anon_sym___cdecl] = ACTIONS(1268),
+    [anon_sym___clrcall] = ACTIONS(1268),
+    [anon_sym___stdcall] = ACTIONS(1268),
+    [anon_sym___fastcall] = ACTIONS(1268),
+    [anon_sym___thiscall] = ACTIONS(1268),
+    [anon_sym___vectorcall] = ACTIONS(1268),
+    [anon_sym_LBRACE] = ACTIONS(1270),
+    [anon_sym_signed] = ACTIONS(1268),
+    [anon_sym_unsigned] = ACTIONS(1268),
+    [anon_sym_long] = ACTIONS(1268),
+    [anon_sym_short] = ACTIONS(1268),
+    [anon_sym_static] = ACTIONS(1268),
+    [anon_sym_auto] = ACTIONS(1268),
+    [anon_sym_register] = ACTIONS(1268),
+    [anon_sym_inline] = ACTIONS(1268),
+    [anon_sym___inline] = ACTIONS(1268),
+    [anon_sym___inline__] = ACTIONS(1268),
+    [anon_sym___forceinline] = ACTIONS(1268),
+    [anon_sym_thread_local] = ACTIONS(1268),
+    [anon_sym___thread] = ACTIONS(1268),
+    [anon_sym_const] = ACTIONS(1268),
+    [anon_sym_constexpr] = ACTIONS(1268),
+    [anon_sym_volatile] = ACTIONS(1268),
+    [anon_sym_restrict] = ACTIONS(1268),
+    [anon_sym___restrict__] = ACTIONS(1268),
+    [anon_sym__Atomic] = ACTIONS(1268),
+    [anon_sym__Noreturn] = ACTIONS(1268),
+    [anon_sym_noreturn] = ACTIONS(1268),
+    [anon_sym__Nonnull] = ACTIONS(1268),
+    [anon_sym_alignas] = ACTIONS(1268),
+    [anon_sym__Alignas] = ACTIONS(1268),
+    [sym_primitive_type] = ACTIONS(1268),
+    [anon_sym_enum] = ACTIONS(1268),
+    [anon_sym_struct] = ACTIONS(1268),
+    [anon_sym_union] = ACTIONS(1268),
+    [anon_sym_if] = ACTIONS(1268),
+    [anon_sym_switch] = ACTIONS(1268),
+    [anon_sym_case] = ACTIONS(1268),
+    [anon_sym_default] = ACTIONS(1268),
+    [anon_sym_while] = ACTIONS(1268),
+    [anon_sym_do] = ACTIONS(1268),
+    [anon_sym_for] = ACTIONS(1268),
+    [anon_sym_return] = ACTIONS(1268),
+    [anon_sym_break] = ACTIONS(1268),
+    [anon_sym_continue] = ACTIONS(1268),
+    [anon_sym_goto] = ACTIONS(1268),
+    [anon_sym_DASH_DASH] = ACTIONS(1270),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1270),
+    [anon_sym_sizeof] = ACTIONS(1268),
+    [anon_sym___alignof__] = ACTIONS(1268),
+    [anon_sym___alignof] = ACTIONS(1268),
+    [anon_sym__alignof] = ACTIONS(1268),
+    [anon_sym_alignof] = ACTIONS(1268),
+    [anon_sym__Alignof] = ACTIONS(1268),
+    [anon_sym_offsetof] = ACTIONS(1268),
+    [anon_sym__Generic] = ACTIONS(1268),
+    [anon_sym_asm] = ACTIONS(1268),
+    [anon_sym___asm__] = ACTIONS(1268),
+    [anon_sym___asm] = ACTIONS(1268),
+    [sym_number_literal] = ACTIONS(1270),
+    [anon_sym_L_SQUOTE] = ACTIONS(1270),
+    [anon_sym_u_SQUOTE] = ACTIONS(1270),
+    [anon_sym_U_SQUOTE] = ACTIONS(1270),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1270),
+    [anon_sym_SQUOTE] = ACTIONS(1270),
+    [anon_sym_L_DQUOTE] = ACTIONS(1270),
+    [anon_sym_u_DQUOTE] = ACTIONS(1270),
+    [anon_sym_U_DQUOTE] = ACTIONS(1270),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1270),
+    [anon_sym_DQUOTE] = ACTIONS(1270),
+    [sym_true] = ACTIONS(1268),
+    [sym_false] = ACTIONS(1268),
+    [anon_sym_NULL] = ACTIONS(1268),
+    [anon_sym_nullptr] = ACTIONS(1268),
     [sym_comment] = ACTIONS(3),
   },
-  [329] = {
-    [sym_attribute_declaration] = STATE(323),
-    [sym_compound_statement] = STATE(177),
-    [sym_attributed_statement] = STATE(177),
-    [sym_statement] = STATE(153),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [sym_identifier] = ACTIONS(1510),
+  [343] = {
+    [ts_builtin_sym_end] = ACTIONS(1298),
+    [sym_identifier] = ACTIONS(1296),
+    [aux_sym_preproc_include_token1] = ACTIONS(1296),
+    [aux_sym_preproc_def_token1] = ACTIONS(1296),
+    [aux_sym_preproc_if_token1] = ACTIONS(1296),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1296),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1296),
+    [sym_preproc_directive] = ACTIONS(1296),
+    [anon_sym_LPAREN2] = ACTIONS(1298),
+    [anon_sym_BANG] = ACTIONS(1298),
+    [anon_sym_TILDE] = ACTIONS(1298),
+    [anon_sym_DASH] = ACTIONS(1296),
+    [anon_sym_PLUS] = ACTIONS(1296),
+    [anon_sym_STAR] = ACTIONS(1298),
+    [anon_sym_AMP] = ACTIONS(1298),
+    [anon_sym_SEMI] = ACTIONS(1298),
+    [anon_sym___extension__] = ACTIONS(1296),
+    [anon_sym_typedef] = ACTIONS(1296),
+    [anon_sym_extern] = ACTIONS(1296),
+    [anon_sym___attribute__] = ACTIONS(1296),
+    [anon_sym___attribute] = ACTIONS(1296),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1298),
+    [anon_sym___declspec] = ACTIONS(1296),
+    [anon_sym___cdecl] = ACTIONS(1296),
+    [anon_sym___clrcall] = ACTIONS(1296),
+    [anon_sym___stdcall] = ACTIONS(1296),
+    [anon_sym___fastcall] = ACTIONS(1296),
+    [anon_sym___thiscall] = ACTIONS(1296),
+    [anon_sym___vectorcall] = ACTIONS(1296),
+    [anon_sym_LBRACE] = ACTIONS(1298),
+    [anon_sym_signed] = ACTIONS(1296),
+    [anon_sym_unsigned] = ACTIONS(1296),
+    [anon_sym_long] = ACTIONS(1296),
+    [anon_sym_short] = ACTIONS(1296),
+    [anon_sym_static] = ACTIONS(1296),
+    [anon_sym_auto] = ACTIONS(1296),
+    [anon_sym_register] = ACTIONS(1296),
+    [anon_sym_inline] = ACTIONS(1296),
+    [anon_sym___inline] = ACTIONS(1296),
+    [anon_sym___inline__] = ACTIONS(1296),
+    [anon_sym___forceinline] = ACTIONS(1296),
+    [anon_sym_thread_local] = ACTIONS(1296),
+    [anon_sym___thread] = ACTIONS(1296),
+    [anon_sym_const] = ACTIONS(1296),
+    [anon_sym_constexpr] = ACTIONS(1296),
+    [anon_sym_volatile] = ACTIONS(1296),
+    [anon_sym_restrict] = ACTIONS(1296),
+    [anon_sym___restrict__] = ACTIONS(1296),
+    [anon_sym__Atomic] = ACTIONS(1296),
+    [anon_sym__Noreturn] = ACTIONS(1296),
+    [anon_sym_noreturn] = ACTIONS(1296),
+    [anon_sym__Nonnull] = ACTIONS(1296),
+    [anon_sym_alignas] = ACTIONS(1296),
+    [anon_sym__Alignas] = ACTIONS(1296),
+    [sym_primitive_type] = ACTIONS(1296),
+    [anon_sym_enum] = ACTIONS(1296),
+    [anon_sym_struct] = ACTIONS(1296),
+    [anon_sym_union] = ACTIONS(1296),
+    [anon_sym_if] = ACTIONS(1296),
+    [anon_sym_switch] = ACTIONS(1296),
+    [anon_sym_case] = ACTIONS(1296),
+    [anon_sym_default] = ACTIONS(1296),
+    [anon_sym_while] = ACTIONS(1296),
+    [anon_sym_do] = ACTIONS(1296),
+    [anon_sym_for] = ACTIONS(1296),
+    [anon_sym_return] = ACTIONS(1296),
+    [anon_sym_break] = ACTIONS(1296),
+    [anon_sym_continue] = ACTIONS(1296),
+    [anon_sym_goto] = ACTIONS(1296),
+    [anon_sym_DASH_DASH] = ACTIONS(1298),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1298),
+    [anon_sym_sizeof] = ACTIONS(1296),
+    [anon_sym___alignof__] = ACTIONS(1296),
+    [anon_sym___alignof] = ACTIONS(1296),
+    [anon_sym__alignof] = ACTIONS(1296),
+    [anon_sym_alignof] = ACTIONS(1296),
+    [anon_sym__Alignof] = ACTIONS(1296),
+    [anon_sym_offsetof] = ACTIONS(1296),
+    [anon_sym__Generic] = ACTIONS(1296),
+    [anon_sym_asm] = ACTIONS(1296),
+    [anon_sym___asm__] = ACTIONS(1296),
+    [anon_sym___asm] = ACTIONS(1296),
+    [sym_number_literal] = ACTIONS(1298),
+    [anon_sym_L_SQUOTE] = ACTIONS(1298),
+    [anon_sym_u_SQUOTE] = ACTIONS(1298),
+    [anon_sym_U_SQUOTE] = ACTIONS(1298),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1298),
+    [anon_sym_SQUOTE] = ACTIONS(1298),
+    [anon_sym_L_DQUOTE] = ACTIONS(1298),
+    [anon_sym_u_DQUOTE] = ACTIONS(1298),
+    [anon_sym_U_DQUOTE] = ACTIONS(1298),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1298),
+    [anon_sym_DQUOTE] = ACTIONS(1298),
+    [sym_true] = ACTIONS(1296),
+    [sym_false] = ACTIONS(1296),
+    [anon_sym_NULL] = ACTIONS(1296),
+    [anon_sym_nullptr] = ACTIONS(1296),
+    [sym_comment] = ACTIONS(3),
+  },
+  [344] = {
+    [ts_builtin_sym_end] = ACTIONS(1310),
+    [sym_identifier] = ACTIONS(1308),
+    [aux_sym_preproc_include_token1] = ACTIONS(1308),
+    [aux_sym_preproc_def_token1] = ACTIONS(1308),
+    [aux_sym_preproc_if_token1] = ACTIONS(1308),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1308),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1308),
+    [sym_preproc_directive] = ACTIONS(1308),
+    [anon_sym_LPAREN2] = ACTIONS(1310),
+    [anon_sym_BANG] = ACTIONS(1310),
+    [anon_sym_TILDE] = ACTIONS(1310),
+    [anon_sym_DASH] = ACTIONS(1308),
+    [anon_sym_PLUS] = ACTIONS(1308),
+    [anon_sym_STAR] = ACTIONS(1310),
+    [anon_sym_AMP] = ACTIONS(1310),
+    [anon_sym_SEMI] = ACTIONS(1310),
+    [anon_sym___extension__] = ACTIONS(1308),
+    [anon_sym_typedef] = ACTIONS(1308),
+    [anon_sym_extern] = ACTIONS(1308),
+    [anon_sym___attribute__] = ACTIONS(1308),
+    [anon_sym___attribute] = ACTIONS(1308),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1310),
+    [anon_sym___declspec] = ACTIONS(1308),
+    [anon_sym___cdecl] = ACTIONS(1308),
+    [anon_sym___clrcall] = ACTIONS(1308),
+    [anon_sym___stdcall] = ACTIONS(1308),
+    [anon_sym___fastcall] = ACTIONS(1308),
+    [anon_sym___thiscall] = ACTIONS(1308),
+    [anon_sym___vectorcall] = ACTIONS(1308),
+    [anon_sym_LBRACE] = ACTIONS(1310),
+    [anon_sym_signed] = ACTIONS(1308),
+    [anon_sym_unsigned] = ACTIONS(1308),
+    [anon_sym_long] = ACTIONS(1308),
+    [anon_sym_short] = ACTIONS(1308),
+    [anon_sym_static] = ACTIONS(1308),
+    [anon_sym_auto] = ACTIONS(1308),
+    [anon_sym_register] = ACTIONS(1308),
+    [anon_sym_inline] = ACTIONS(1308),
+    [anon_sym___inline] = ACTIONS(1308),
+    [anon_sym___inline__] = ACTIONS(1308),
+    [anon_sym___forceinline] = ACTIONS(1308),
+    [anon_sym_thread_local] = ACTIONS(1308),
+    [anon_sym___thread] = ACTIONS(1308),
+    [anon_sym_const] = ACTIONS(1308),
+    [anon_sym_constexpr] = ACTIONS(1308),
+    [anon_sym_volatile] = ACTIONS(1308),
+    [anon_sym_restrict] = ACTIONS(1308),
+    [anon_sym___restrict__] = ACTIONS(1308),
+    [anon_sym__Atomic] = ACTIONS(1308),
+    [anon_sym__Noreturn] = ACTIONS(1308),
+    [anon_sym_noreturn] = ACTIONS(1308),
+    [anon_sym__Nonnull] = ACTIONS(1308),
+    [anon_sym_alignas] = ACTIONS(1308),
+    [anon_sym__Alignas] = ACTIONS(1308),
+    [sym_primitive_type] = ACTIONS(1308),
+    [anon_sym_enum] = ACTIONS(1308),
+    [anon_sym_struct] = ACTIONS(1308),
+    [anon_sym_union] = ACTIONS(1308),
+    [anon_sym_if] = ACTIONS(1308),
+    [anon_sym_switch] = ACTIONS(1308),
+    [anon_sym_case] = ACTIONS(1308),
+    [anon_sym_default] = ACTIONS(1308),
+    [anon_sym_while] = ACTIONS(1308),
+    [anon_sym_do] = ACTIONS(1308),
+    [anon_sym_for] = ACTIONS(1308),
+    [anon_sym_return] = ACTIONS(1308),
+    [anon_sym_break] = ACTIONS(1308),
+    [anon_sym_continue] = ACTIONS(1308),
+    [anon_sym_goto] = ACTIONS(1308),
+    [anon_sym_DASH_DASH] = ACTIONS(1310),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1310),
+    [anon_sym_sizeof] = ACTIONS(1308),
+    [anon_sym___alignof__] = ACTIONS(1308),
+    [anon_sym___alignof] = ACTIONS(1308),
+    [anon_sym__alignof] = ACTIONS(1308),
+    [anon_sym_alignof] = ACTIONS(1308),
+    [anon_sym__Alignof] = ACTIONS(1308),
+    [anon_sym_offsetof] = ACTIONS(1308),
+    [anon_sym__Generic] = ACTIONS(1308),
+    [anon_sym_asm] = ACTIONS(1308),
+    [anon_sym___asm__] = ACTIONS(1308),
+    [anon_sym___asm] = ACTIONS(1308),
+    [sym_number_literal] = ACTIONS(1310),
+    [anon_sym_L_SQUOTE] = ACTIONS(1310),
+    [anon_sym_u_SQUOTE] = ACTIONS(1310),
+    [anon_sym_U_SQUOTE] = ACTIONS(1310),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1310),
+    [anon_sym_SQUOTE] = ACTIONS(1310),
+    [anon_sym_L_DQUOTE] = ACTIONS(1310),
+    [anon_sym_u_DQUOTE] = ACTIONS(1310),
+    [anon_sym_U_DQUOTE] = ACTIONS(1310),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1310),
+    [anon_sym_DQUOTE] = ACTIONS(1310),
+    [sym_true] = ACTIONS(1308),
+    [sym_false] = ACTIONS(1308),
+    [anon_sym_NULL] = ACTIONS(1308),
+    [anon_sym_nullptr] = ACTIONS(1308),
+    [sym_comment] = ACTIONS(3),
+  },
+  [345] = {
+    [ts_builtin_sym_end] = ACTIONS(1318),
+    [sym_identifier] = ACTIONS(1316),
+    [aux_sym_preproc_include_token1] = ACTIONS(1316),
+    [aux_sym_preproc_def_token1] = ACTIONS(1316),
+    [aux_sym_preproc_if_token1] = ACTIONS(1316),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1316),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1316),
+    [sym_preproc_directive] = ACTIONS(1316),
+    [anon_sym_LPAREN2] = ACTIONS(1318),
+    [anon_sym_BANG] = ACTIONS(1318),
+    [anon_sym_TILDE] = ACTIONS(1318),
+    [anon_sym_DASH] = ACTIONS(1316),
+    [anon_sym_PLUS] = ACTIONS(1316),
+    [anon_sym_STAR] = ACTIONS(1318),
+    [anon_sym_AMP] = ACTIONS(1318),
+    [anon_sym_SEMI] = ACTIONS(1318),
+    [anon_sym___extension__] = ACTIONS(1316),
+    [anon_sym_typedef] = ACTIONS(1316),
+    [anon_sym_extern] = ACTIONS(1316),
+    [anon_sym___attribute__] = ACTIONS(1316),
+    [anon_sym___attribute] = ACTIONS(1316),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1318),
+    [anon_sym___declspec] = ACTIONS(1316),
+    [anon_sym___cdecl] = ACTIONS(1316),
+    [anon_sym___clrcall] = ACTIONS(1316),
+    [anon_sym___stdcall] = ACTIONS(1316),
+    [anon_sym___fastcall] = ACTIONS(1316),
+    [anon_sym___thiscall] = ACTIONS(1316),
+    [anon_sym___vectorcall] = ACTIONS(1316),
+    [anon_sym_LBRACE] = ACTIONS(1318),
+    [anon_sym_signed] = ACTIONS(1316),
+    [anon_sym_unsigned] = ACTIONS(1316),
+    [anon_sym_long] = ACTIONS(1316),
+    [anon_sym_short] = ACTIONS(1316),
+    [anon_sym_static] = ACTIONS(1316),
+    [anon_sym_auto] = ACTIONS(1316),
+    [anon_sym_register] = ACTIONS(1316),
+    [anon_sym_inline] = ACTIONS(1316),
+    [anon_sym___inline] = ACTIONS(1316),
+    [anon_sym___inline__] = ACTIONS(1316),
+    [anon_sym___forceinline] = ACTIONS(1316),
+    [anon_sym_thread_local] = ACTIONS(1316),
+    [anon_sym___thread] = ACTIONS(1316),
+    [anon_sym_const] = ACTIONS(1316),
+    [anon_sym_constexpr] = ACTIONS(1316),
+    [anon_sym_volatile] = ACTIONS(1316),
+    [anon_sym_restrict] = ACTIONS(1316),
+    [anon_sym___restrict__] = ACTIONS(1316),
+    [anon_sym__Atomic] = ACTIONS(1316),
+    [anon_sym__Noreturn] = ACTIONS(1316),
+    [anon_sym_noreturn] = ACTIONS(1316),
+    [anon_sym__Nonnull] = ACTIONS(1316),
+    [anon_sym_alignas] = ACTIONS(1316),
+    [anon_sym__Alignas] = ACTIONS(1316),
+    [sym_primitive_type] = ACTIONS(1316),
+    [anon_sym_enum] = ACTIONS(1316),
+    [anon_sym_struct] = ACTIONS(1316),
+    [anon_sym_union] = ACTIONS(1316),
+    [anon_sym_if] = ACTIONS(1316),
+    [anon_sym_switch] = ACTIONS(1316),
+    [anon_sym_case] = ACTIONS(1316),
+    [anon_sym_default] = ACTIONS(1316),
+    [anon_sym_while] = ACTIONS(1316),
+    [anon_sym_do] = ACTIONS(1316),
+    [anon_sym_for] = ACTIONS(1316),
+    [anon_sym_return] = ACTIONS(1316),
+    [anon_sym_break] = ACTIONS(1316),
+    [anon_sym_continue] = ACTIONS(1316),
+    [anon_sym_goto] = ACTIONS(1316),
+    [anon_sym_DASH_DASH] = ACTIONS(1318),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1318),
+    [anon_sym_sizeof] = ACTIONS(1316),
+    [anon_sym___alignof__] = ACTIONS(1316),
+    [anon_sym___alignof] = ACTIONS(1316),
+    [anon_sym__alignof] = ACTIONS(1316),
+    [anon_sym_alignof] = ACTIONS(1316),
+    [anon_sym__Alignof] = ACTIONS(1316),
+    [anon_sym_offsetof] = ACTIONS(1316),
+    [anon_sym__Generic] = ACTIONS(1316),
+    [anon_sym_asm] = ACTIONS(1316),
+    [anon_sym___asm__] = ACTIONS(1316),
+    [anon_sym___asm] = ACTIONS(1316),
+    [sym_number_literal] = ACTIONS(1318),
+    [anon_sym_L_SQUOTE] = ACTIONS(1318),
+    [anon_sym_u_SQUOTE] = ACTIONS(1318),
+    [anon_sym_U_SQUOTE] = ACTIONS(1318),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1318),
+    [anon_sym_SQUOTE] = ACTIONS(1318),
+    [anon_sym_L_DQUOTE] = ACTIONS(1318),
+    [anon_sym_u_DQUOTE] = ACTIONS(1318),
+    [anon_sym_U_DQUOTE] = ACTIONS(1318),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1318),
+    [anon_sym_DQUOTE] = ACTIONS(1318),
+    [sym_true] = ACTIONS(1316),
+    [sym_false] = ACTIONS(1316),
+    [anon_sym_NULL] = ACTIONS(1316),
+    [anon_sym_nullptr] = ACTIONS(1316),
+    [sym_comment] = ACTIONS(3),
+  },
+  [346] = {
+    [ts_builtin_sym_end] = ACTIONS(1322),
+    [sym_identifier] = ACTIONS(1320),
+    [aux_sym_preproc_include_token1] = ACTIONS(1320),
+    [aux_sym_preproc_def_token1] = ACTIONS(1320),
+    [aux_sym_preproc_if_token1] = ACTIONS(1320),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1320),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1320),
+    [sym_preproc_directive] = ACTIONS(1320),
+    [anon_sym_LPAREN2] = ACTIONS(1322),
+    [anon_sym_BANG] = ACTIONS(1322),
+    [anon_sym_TILDE] = ACTIONS(1322),
+    [anon_sym_DASH] = ACTIONS(1320),
+    [anon_sym_PLUS] = ACTIONS(1320),
+    [anon_sym_STAR] = ACTIONS(1322),
+    [anon_sym_AMP] = ACTIONS(1322),
+    [anon_sym_SEMI] = ACTIONS(1322),
+    [anon_sym___extension__] = ACTIONS(1320),
+    [anon_sym_typedef] = ACTIONS(1320),
+    [anon_sym_extern] = ACTIONS(1320),
+    [anon_sym___attribute__] = ACTIONS(1320),
+    [anon_sym___attribute] = ACTIONS(1320),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1322),
+    [anon_sym___declspec] = ACTIONS(1320),
+    [anon_sym___cdecl] = ACTIONS(1320),
+    [anon_sym___clrcall] = ACTIONS(1320),
+    [anon_sym___stdcall] = ACTIONS(1320),
+    [anon_sym___fastcall] = ACTIONS(1320),
+    [anon_sym___thiscall] = ACTIONS(1320),
+    [anon_sym___vectorcall] = ACTIONS(1320),
+    [anon_sym_LBRACE] = ACTIONS(1322),
+    [anon_sym_signed] = ACTIONS(1320),
+    [anon_sym_unsigned] = ACTIONS(1320),
+    [anon_sym_long] = ACTIONS(1320),
+    [anon_sym_short] = ACTIONS(1320),
+    [anon_sym_static] = ACTIONS(1320),
+    [anon_sym_auto] = ACTIONS(1320),
+    [anon_sym_register] = ACTIONS(1320),
+    [anon_sym_inline] = ACTIONS(1320),
+    [anon_sym___inline] = ACTIONS(1320),
+    [anon_sym___inline__] = ACTIONS(1320),
+    [anon_sym___forceinline] = ACTIONS(1320),
+    [anon_sym_thread_local] = ACTIONS(1320),
+    [anon_sym___thread] = ACTIONS(1320),
+    [anon_sym_const] = ACTIONS(1320),
+    [anon_sym_constexpr] = ACTIONS(1320),
+    [anon_sym_volatile] = ACTIONS(1320),
+    [anon_sym_restrict] = ACTIONS(1320),
+    [anon_sym___restrict__] = ACTIONS(1320),
+    [anon_sym__Atomic] = ACTIONS(1320),
+    [anon_sym__Noreturn] = ACTIONS(1320),
+    [anon_sym_noreturn] = ACTIONS(1320),
+    [anon_sym__Nonnull] = ACTIONS(1320),
+    [anon_sym_alignas] = ACTIONS(1320),
+    [anon_sym__Alignas] = ACTIONS(1320),
+    [sym_primitive_type] = ACTIONS(1320),
+    [anon_sym_enum] = ACTIONS(1320),
+    [anon_sym_struct] = ACTIONS(1320),
+    [anon_sym_union] = ACTIONS(1320),
+    [anon_sym_if] = ACTIONS(1320),
+    [anon_sym_switch] = ACTIONS(1320),
+    [anon_sym_case] = ACTIONS(1320),
+    [anon_sym_default] = ACTIONS(1320),
+    [anon_sym_while] = ACTIONS(1320),
+    [anon_sym_do] = ACTIONS(1320),
+    [anon_sym_for] = ACTIONS(1320),
+    [anon_sym_return] = ACTIONS(1320),
+    [anon_sym_break] = ACTIONS(1320),
+    [anon_sym_continue] = ACTIONS(1320),
+    [anon_sym_goto] = ACTIONS(1320),
+    [anon_sym_DASH_DASH] = ACTIONS(1322),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1322),
+    [anon_sym_sizeof] = ACTIONS(1320),
+    [anon_sym___alignof__] = ACTIONS(1320),
+    [anon_sym___alignof] = ACTIONS(1320),
+    [anon_sym__alignof] = ACTIONS(1320),
+    [anon_sym_alignof] = ACTIONS(1320),
+    [anon_sym__Alignof] = ACTIONS(1320),
+    [anon_sym_offsetof] = ACTIONS(1320),
+    [anon_sym__Generic] = ACTIONS(1320),
+    [anon_sym_asm] = ACTIONS(1320),
+    [anon_sym___asm__] = ACTIONS(1320),
+    [anon_sym___asm] = ACTIONS(1320),
+    [sym_number_literal] = ACTIONS(1322),
+    [anon_sym_L_SQUOTE] = ACTIONS(1322),
+    [anon_sym_u_SQUOTE] = ACTIONS(1322),
+    [anon_sym_U_SQUOTE] = ACTIONS(1322),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1322),
+    [anon_sym_SQUOTE] = ACTIONS(1322),
+    [anon_sym_L_DQUOTE] = ACTIONS(1322),
+    [anon_sym_u_DQUOTE] = ACTIONS(1322),
+    [anon_sym_U_DQUOTE] = ACTIONS(1322),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1322),
+    [anon_sym_DQUOTE] = ACTIONS(1322),
+    [sym_true] = ACTIONS(1320),
+    [sym_false] = ACTIONS(1320),
+    [anon_sym_NULL] = ACTIONS(1320),
+    [anon_sym_nullptr] = ACTIONS(1320),
+    [sym_comment] = ACTIONS(3),
+  },
+  [347] = {
+    [ts_builtin_sym_end] = ACTIONS(1326),
+    [sym_identifier] = ACTIONS(1324),
+    [aux_sym_preproc_include_token1] = ACTIONS(1324),
+    [aux_sym_preproc_def_token1] = ACTIONS(1324),
+    [aux_sym_preproc_if_token1] = ACTIONS(1324),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1324),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1324),
+    [sym_preproc_directive] = ACTIONS(1324),
+    [anon_sym_LPAREN2] = ACTIONS(1326),
+    [anon_sym_BANG] = ACTIONS(1326),
+    [anon_sym_TILDE] = ACTIONS(1326),
+    [anon_sym_DASH] = ACTIONS(1324),
+    [anon_sym_PLUS] = ACTIONS(1324),
+    [anon_sym_STAR] = ACTIONS(1326),
+    [anon_sym_AMP] = ACTIONS(1326),
+    [anon_sym_SEMI] = ACTIONS(1326),
+    [anon_sym___extension__] = ACTIONS(1324),
+    [anon_sym_typedef] = ACTIONS(1324),
+    [anon_sym_extern] = ACTIONS(1324),
+    [anon_sym___attribute__] = ACTIONS(1324),
+    [anon_sym___attribute] = ACTIONS(1324),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1326),
+    [anon_sym___declspec] = ACTIONS(1324),
+    [anon_sym___cdecl] = ACTIONS(1324),
+    [anon_sym___clrcall] = ACTIONS(1324),
+    [anon_sym___stdcall] = ACTIONS(1324),
+    [anon_sym___fastcall] = ACTIONS(1324),
+    [anon_sym___thiscall] = ACTIONS(1324),
+    [anon_sym___vectorcall] = ACTIONS(1324),
+    [anon_sym_LBRACE] = ACTIONS(1326),
+    [anon_sym_signed] = ACTIONS(1324),
+    [anon_sym_unsigned] = ACTIONS(1324),
+    [anon_sym_long] = ACTIONS(1324),
+    [anon_sym_short] = ACTIONS(1324),
+    [anon_sym_static] = ACTIONS(1324),
+    [anon_sym_auto] = ACTIONS(1324),
+    [anon_sym_register] = ACTIONS(1324),
+    [anon_sym_inline] = ACTIONS(1324),
+    [anon_sym___inline] = ACTIONS(1324),
+    [anon_sym___inline__] = ACTIONS(1324),
+    [anon_sym___forceinline] = ACTIONS(1324),
+    [anon_sym_thread_local] = ACTIONS(1324),
+    [anon_sym___thread] = ACTIONS(1324),
+    [anon_sym_const] = ACTIONS(1324),
+    [anon_sym_constexpr] = ACTIONS(1324),
+    [anon_sym_volatile] = ACTIONS(1324),
+    [anon_sym_restrict] = ACTIONS(1324),
+    [anon_sym___restrict__] = ACTIONS(1324),
+    [anon_sym__Atomic] = ACTIONS(1324),
+    [anon_sym__Noreturn] = ACTIONS(1324),
+    [anon_sym_noreturn] = ACTIONS(1324),
+    [anon_sym__Nonnull] = ACTIONS(1324),
+    [anon_sym_alignas] = ACTIONS(1324),
+    [anon_sym__Alignas] = ACTIONS(1324),
+    [sym_primitive_type] = ACTIONS(1324),
+    [anon_sym_enum] = ACTIONS(1324),
+    [anon_sym_struct] = ACTIONS(1324),
+    [anon_sym_union] = ACTIONS(1324),
+    [anon_sym_if] = ACTIONS(1324),
+    [anon_sym_switch] = ACTIONS(1324),
+    [anon_sym_case] = ACTIONS(1324),
+    [anon_sym_default] = ACTIONS(1324),
+    [anon_sym_while] = ACTIONS(1324),
+    [anon_sym_do] = ACTIONS(1324),
+    [anon_sym_for] = ACTIONS(1324),
+    [anon_sym_return] = ACTIONS(1324),
+    [anon_sym_break] = ACTIONS(1324),
+    [anon_sym_continue] = ACTIONS(1324),
+    [anon_sym_goto] = ACTIONS(1324),
+    [anon_sym_DASH_DASH] = ACTIONS(1326),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1326),
+    [anon_sym_sizeof] = ACTIONS(1324),
+    [anon_sym___alignof__] = ACTIONS(1324),
+    [anon_sym___alignof] = ACTIONS(1324),
+    [anon_sym__alignof] = ACTIONS(1324),
+    [anon_sym_alignof] = ACTIONS(1324),
+    [anon_sym__Alignof] = ACTIONS(1324),
+    [anon_sym_offsetof] = ACTIONS(1324),
+    [anon_sym__Generic] = ACTIONS(1324),
+    [anon_sym_asm] = ACTIONS(1324),
+    [anon_sym___asm__] = ACTIONS(1324),
+    [anon_sym___asm] = ACTIONS(1324),
+    [sym_number_literal] = ACTIONS(1326),
+    [anon_sym_L_SQUOTE] = ACTIONS(1326),
+    [anon_sym_u_SQUOTE] = ACTIONS(1326),
+    [anon_sym_U_SQUOTE] = ACTIONS(1326),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1326),
+    [anon_sym_SQUOTE] = ACTIONS(1326),
+    [anon_sym_L_DQUOTE] = ACTIONS(1326),
+    [anon_sym_u_DQUOTE] = ACTIONS(1326),
+    [anon_sym_U_DQUOTE] = ACTIONS(1326),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1326),
+    [anon_sym_DQUOTE] = ACTIONS(1326),
+    [sym_true] = ACTIONS(1324),
+    [sym_false] = ACTIONS(1324),
+    [anon_sym_NULL] = ACTIONS(1324),
+    [anon_sym_nullptr] = ACTIONS(1324),
+    [sym_comment] = ACTIONS(3),
+  },
+  [348] = {
+    [ts_builtin_sym_end] = ACTIONS(1330),
+    [sym_identifier] = ACTIONS(1328),
+    [aux_sym_preproc_include_token1] = ACTIONS(1328),
+    [aux_sym_preproc_def_token1] = ACTIONS(1328),
+    [aux_sym_preproc_if_token1] = ACTIONS(1328),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1328),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1328),
+    [sym_preproc_directive] = ACTIONS(1328),
+    [anon_sym_LPAREN2] = ACTIONS(1330),
+    [anon_sym_BANG] = ACTIONS(1330),
+    [anon_sym_TILDE] = ACTIONS(1330),
+    [anon_sym_DASH] = ACTIONS(1328),
+    [anon_sym_PLUS] = ACTIONS(1328),
+    [anon_sym_STAR] = ACTIONS(1330),
+    [anon_sym_AMP] = ACTIONS(1330),
+    [anon_sym_SEMI] = ACTIONS(1330),
+    [anon_sym___extension__] = ACTIONS(1328),
+    [anon_sym_typedef] = ACTIONS(1328),
+    [anon_sym_extern] = ACTIONS(1328),
+    [anon_sym___attribute__] = ACTIONS(1328),
+    [anon_sym___attribute] = ACTIONS(1328),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1330),
+    [anon_sym___declspec] = ACTIONS(1328),
+    [anon_sym___cdecl] = ACTIONS(1328),
+    [anon_sym___clrcall] = ACTIONS(1328),
+    [anon_sym___stdcall] = ACTIONS(1328),
+    [anon_sym___fastcall] = ACTIONS(1328),
+    [anon_sym___thiscall] = ACTIONS(1328),
+    [anon_sym___vectorcall] = ACTIONS(1328),
+    [anon_sym_LBRACE] = ACTIONS(1330),
+    [anon_sym_signed] = ACTIONS(1328),
+    [anon_sym_unsigned] = ACTIONS(1328),
+    [anon_sym_long] = ACTIONS(1328),
+    [anon_sym_short] = ACTIONS(1328),
+    [anon_sym_static] = ACTIONS(1328),
+    [anon_sym_auto] = ACTIONS(1328),
+    [anon_sym_register] = ACTIONS(1328),
+    [anon_sym_inline] = ACTIONS(1328),
+    [anon_sym___inline] = ACTIONS(1328),
+    [anon_sym___inline__] = ACTIONS(1328),
+    [anon_sym___forceinline] = ACTIONS(1328),
+    [anon_sym_thread_local] = ACTIONS(1328),
+    [anon_sym___thread] = ACTIONS(1328),
+    [anon_sym_const] = ACTIONS(1328),
+    [anon_sym_constexpr] = ACTIONS(1328),
+    [anon_sym_volatile] = ACTIONS(1328),
+    [anon_sym_restrict] = ACTIONS(1328),
+    [anon_sym___restrict__] = ACTIONS(1328),
+    [anon_sym__Atomic] = ACTIONS(1328),
+    [anon_sym__Noreturn] = ACTIONS(1328),
+    [anon_sym_noreturn] = ACTIONS(1328),
+    [anon_sym__Nonnull] = ACTIONS(1328),
+    [anon_sym_alignas] = ACTIONS(1328),
+    [anon_sym__Alignas] = ACTIONS(1328),
+    [sym_primitive_type] = ACTIONS(1328),
+    [anon_sym_enum] = ACTIONS(1328),
+    [anon_sym_struct] = ACTIONS(1328),
+    [anon_sym_union] = ACTIONS(1328),
+    [anon_sym_if] = ACTIONS(1328),
+    [anon_sym_switch] = ACTIONS(1328),
+    [anon_sym_case] = ACTIONS(1328),
+    [anon_sym_default] = ACTIONS(1328),
+    [anon_sym_while] = ACTIONS(1328),
+    [anon_sym_do] = ACTIONS(1328),
+    [anon_sym_for] = ACTIONS(1328),
+    [anon_sym_return] = ACTIONS(1328),
+    [anon_sym_break] = ACTIONS(1328),
+    [anon_sym_continue] = ACTIONS(1328),
+    [anon_sym_goto] = ACTIONS(1328),
+    [anon_sym_DASH_DASH] = ACTIONS(1330),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1330),
+    [anon_sym_sizeof] = ACTIONS(1328),
+    [anon_sym___alignof__] = ACTIONS(1328),
+    [anon_sym___alignof] = ACTIONS(1328),
+    [anon_sym__alignof] = ACTIONS(1328),
+    [anon_sym_alignof] = ACTIONS(1328),
+    [anon_sym__Alignof] = ACTIONS(1328),
+    [anon_sym_offsetof] = ACTIONS(1328),
+    [anon_sym__Generic] = ACTIONS(1328),
+    [anon_sym_asm] = ACTIONS(1328),
+    [anon_sym___asm__] = ACTIONS(1328),
+    [anon_sym___asm] = ACTIONS(1328),
+    [sym_number_literal] = ACTIONS(1330),
+    [anon_sym_L_SQUOTE] = ACTIONS(1330),
+    [anon_sym_u_SQUOTE] = ACTIONS(1330),
+    [anon_sym_U_SQUOTE] = ACTIONS(1330),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1330),
+    [anon_sym_SQUOTE] = ACTIONS(1330),
+    [anon_sym_L_DQUOTE] = ACTIONS(1330),
+    [anon_sym_u_DQUOTE] = ACTIONS(1330),
+    [anon_sym_U_DQUOTE] = ACTIONS(1330),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1330),
+    [anon_sym_DQUOTE] = ACTIONS(1330),
+    [sym_true] = ACTIONS(1328),
+    [sym_false] = ACTIONS(1328),
+    [anon_sym_NULL] = ACTIONS(1328),
+    [anon_sym_nullptr] = ACTIONS(1328),
+    [sym_comment] = ACTIONS(3),
+  },
+  [349] = {
+    [sym_attribute_declaration] = STATE(333),
+    [sym_compound_statement] = STATE(250),
+    [sym_attributed_statement] = STATE(250),
+    [sym_statement] = STATE(167),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(333),
+    [sym_identifier] = ACTIONS(1414),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -50416,99 +52802,99 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [330] = {
-    [sym_attribute_declaration] = STATE(323),
-    [sym_compound_statement] = STATE(177),
-    [sym_attributed_statement] = STATE(177),
-    [sym_statement] = STATE(184),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(323),
-    [sym_identifier] = ACTIONS(1510),
+  [350] = {
+    [sym_attribute_declaration] = STATE(373),
+    [sym_compound_statement] = STATE(110),
+    [sym_attributed_statement] = STATE(110),
+    [sym_statement] = STATE(80),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [sym_identifier] = ACTIONS(1531),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -50516,99 +52902,99 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(376),
-    [anon_sym_if] = ACTIONS(380),
-    [anon_sym_switch] = ACTIONS(382),
-    [anon_sym_case] = ACTIONS(384),
-    [anon_sym_default] = ACTIONS(386),
-    [anon_sym_while] = ACTIONS(388),
-    [anon_sym_do] = ACTIONS(390),
-    [anon_sym_for] = ACTIONS(392),
-    [anon_sym_return] = ACTIONS(394),
-    [anon_sym_break] = ACTIONS(396),
-    [anon_sym_continue] = ACTIONS(398),
-    [anon_sym_goto] = ACTIONS(400),
-    [anon_sym___try] = ACTIONS(402),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [331] = {
-    [sym_attribute_declaration] = STATE(347),
-    [sym_compound_statement] = STATE(84),
-    [sym_attributed_statement] = STATE(84),
-    [sym_statement] = STATE(109),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [sym_identifier] = ACTIONS(1514),
+  [351] = {
+    [sym_attribute_declaration] = STATE(373),
+    [sym_compound_statement] = STATE(110),
+    [sym_attributed_statement] = STATE(110),
+    [sym_statement] = STATE(82),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [sym_identifier] = ACTIONS(1531),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -50616,99 +53002,199 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [332] = {
-    [sym_attribute_declaration] = STATE(347),
-    [sym_compound_statement] = STATE(84),
-    [sym_attributed_statement] = STATE(84),
-    [sym_statement] = STATE(111),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(347),
-    [sym_identifier] = ACTIONS(1514),
+  [352] = {
+    [sym_attribute_declaration] = STATE(352),
+    [sym_compound_statement] = STATE(110),
+    [sym_attributed_statement] = STATE(110),
+    [sym_statement] = STATE(114),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(352),
+    [sym_identifier] = ACTIONS(1533),
+    [anon_sym_LPAREN2] = ACTIONS(1427),
+    [anon_sym_BANG] = ACTIONS(1430),
+    [anon_sym_TILDE] = ACTIONS(1430),
+    [anon_sym_DASH] = ACTIONS(1433),
+    [anon_sym_PLUS] = ACTIONS(1433),
+    [anon_sym_STAR] = ACTIONS(1436),
+    [anon_sym_AMP] = ACTIONS(1436),
+    [anon_sym_SEMI] = ACTIONS(1536),
+    [anon_sym___extension__] = ACTIONS(1442),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1445),
+    [anon_sym_LBRACE] = ACTIONS(1539),
+    [anon_sym_if] = ACTIONS(1542),
+    [anon_sym_switch] = ACTIONS(1545),
+    [anon_sym_case] = ACTIONS(1548),
+    [anon_sym_default] = ACTIONS(1551),
+    [anon_sym_while] = ACTIONS(1554),
+    [anon_sym_do] = ACTIONS(1557),
+    [anon_sym_for] = ACTIONS(1560),
+    [anon_sym_return] = ACTIONS(1563),
+    [anon_sym_break] = ACTIONS(1566),
+    [anon_sym_continue] = ACTIONS(1569),
+    [anon_sym_goto] = ACTIONS(1572),
+    [anon_sym___try] = ACTIONS(1575),
+    [anon_sym___leave] = ACTIONS(1578),
+    [anon_sym_DASH_DASH] = ACTIONS(1490),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1490),
+    [anon_sym_sizeof] = ACTIONS(1493),
+    [anon_sym___alignof__] = ACTIONS(1496),
+    [anon_sym___alignof] = ACTIONS(1496),
+    [anon_sym__alignof] = ACTIONS(1496),
+    [anon_sym_alignof] = ACTIONS(1496),
+    [anon_sym__Alignof] = ACTIONS(1496),
+    [anon_sym_offsetof] = ACTIONS(1499),
+    [anon_sym__Generic] = ACTIONS(1502),
+    [anon_sym_asm] = ACTIONS(1505),
+    [anon_sym___asm__] = ACTIONS(1505),
+    [anon_sym___asm] = ACTIONS(1505),
+    [sym_number_literal] = ACTIONS(1508),
+    [anon_sym_L_SQUOTE] = ACTIONS(1511),
+    [anon_sym_u_SQUOTE] = ACTIONS(1511),
+    [anon_sym_U_SQUOTE] = ACTIONS(1511),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1511),
+    [anon_sym_SQUOTE] = ACTIONS(1511),
+    [anon_sym_L_DQUOTE] = ACTIONS(1514),
+    [anon_sym_u_DQUOTE] = ACTIONS(1514),
+    [anon_sym_U_DQUOTE] = ACTIONS(1514),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1514),
+    [anon_sym_DQUOTE] = ACTIONS(1514),
+    [sym_true] = ACTIONS(1517),
+    [sym_false] = ACTIONS(1517),
+    [anon_sym_NULL] = ACTIONS(1520),
+    [anon_sym_nullptr] = ACTIONS(1520),
+    [sym_comment] = ACTIONS(3),
+  },
+  [353] = {
+    [sym_attribute_declaration] = STATE(373),
+    [sym_compound_statement] = STATE(110),
+    [sym_attributed_statement] = STATE(110),
+    [sym_statement] = STATE(97),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [sym_identifier] = ACTIONS(1531),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -50716,99 +53202,99 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [333] = {
-    [sym_attribute_declaration] = STATE(340),
-    [sym_compound_statement] = STATE(177),
-    [sym_attributed_statement] = STATE(177),
-    [sym_statement] = STATE(405),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(340),
-    [sym_identifier] = ACTIONS(1504),
+  [354] = {
+    [sym_attribute_declaration] = STATE(373),
+    [sym_compound_statement] = STATE(110),
+    [sym_attributed_statement] = STATE(110),
+    [sym_statement] = STATE(99),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(373),
+    [sym_identifier] = ACTIONS(1531),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -50816,99 +53302,99 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_if] = ACTIONS(1088),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(1098),
-    [anon_sym_default] = ACTIONS(1100),
-    [anon_sym_while] = ACTIONS(1090),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(1092),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(1094),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [334] = {
-    [sym_attribute_declaration] = STATE(340),
-    [sym_compound_statement] = STATE(177),
-    [sym_attributed_statement] = STATE(177),
-    [sym_statement] = STATE(241),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(340),
-    [sym_identifier] = ACTIONS(1504),
+  [355] = {
+    [sym_attribute_declaration] = STATE(361),
+    [sym_compound_statement] = STATE(250),
+    [sym_attributed_statement] = STATE(250),
+    [sym_statement] = STATE(224),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(361),
+    [sym_identifier] = ACTIONS(1422),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -50916,199 +53402,299 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_if] = ACTIONS(1088),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(1098),
-    [anon_sym_default] = ACTIONS(1100),
-    [anon_sym_while] = ACTIONS(1090),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(1092),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(1094),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_if] = ACTIONS(1095),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(1103),
+    [anon_sym_default] = ACTIONS(1105),
+    [anon_sym_while] = ACTIONS(1097),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(1099),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(1101),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [335] = {
-    [sym_attribute_declaration] = STATE(335),
-    [sym_compound_statement] = STATE(177),
-    [sym_attributed_statement] = STATE(177),
-    [sym_statement] = STATE(176),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(335),
-    [sym_identifier] = ACTIONS(1564),
-    [anon_sym_LPAREN2] = ACTIONS(1408),
-    [anon_sym_BANG] = ACTIONS(1411),
-    [anon_sym_TILDE] = ACTIONS(1411),
-    [anon_sym_DASH] = ACTIONS(1414),
-    [anon_sym_PLUS] = ACTIONS(1414),
-    [anon_sym_STAR] = ACTIONS(1417),
-    [anon_sym_AMP] = ACTIONS(1417),
-    [anon_sym_SEMI] = ACTIONS(1567),
-    [anon_sym___extension__] = ACTIONS(1423),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1426),
-    [anon_sym_LBRACE] = ACTIONS(1570),
-    [anon_sym_if] = ACTIONS(1573),
-    [anon_sym_switch] = ACTIONS(1576),
-    [anon_sym_case] = ACTIONS(1579),
-    [anon_sym_default] = ACTIONS(1582),
-    [anon_sym_while] = ACTIONS(1585),
-    [anon_sym_do] = ACTIONS(1588),
-    [anon_sym_for] = ACTIONS(1591),
-    [anon_sym_return] = ACTIONS(1594),
-    [anon_sym_break] = ACTIONS(1597),
-    [anon_sym_continue] = ACTIONS(1600),
-    [anon_sym_goto] = ACTIONS(1603),
-    [anon_sym___try] = ACTIONS(1606),
-    [anon_sym___leave] = ACTIONS(1609),
-    [anon_sym_DASH_DASH] = ACTIONS(1471),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1471),
-    [anon_sym_sizeof] = ACTIONS(1474),
-    [anon_sym___alignof__] = ACTIONS(1477),
-    [anon_sym___alignof] = ACTIONS(1477),
-    [anon_sym__alignof] = ACTIONS(1477),
-    [anon_sym_alignof] = ACTIONS(1477),
-    [anon_sym__Alignof] = ACTIONS(1477),
-    [anon_sym_offsetof] = ACTIONS(1480),
-    [anon_sym__Generic] = ACTIONS(1483),
-    [anon_sym_asm] = ACTIONS(1486),
-    [anon_sym___asm__] = ACTIONS(1486),
-    [anon_sym___asm] = ACTIONS(1486),
-    [sym_number_literal] = ACTIONS(1489),
-    [anon_sym_L_SQUOTE] = ACTIONS(1492),
-    [anon_sym_u_SQUOTE] = ACTIONS(1492),
-    [anon_sym_U_SQUOTE] = ACTIONS(1492),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1492),
-    [anon_sym_SQUOTE] = ACTIONS(1492),
-    [anon_sym_L_DQUOTE] = ACTIONS(1495),
-    [anon_sym_u_DQUOTE] = ACTIONS(1495),
-    [anon_sym_U_DQUOTE] = ACTIONS(1495),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1495),
-    [anon_sym_DQUOTE] = ACTIONS(1495),
-    [sym_true] = ACTIONS(1498),
-    [sym_false] = ACTIONS(1498),
-    [anon_sym_NULL] = ACTIONS(1501),
-    [anon_sym_nullptr] = ACTIONS(1501),
+  [356] = {
+    [sym_attribute_declaration] = STATE(356),
+    [sym_compound_statement] = STATE(250),
+    [sym_attributed_statement] = STATE(250),
+    [sym_statement] = STATE(241),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(356),
+    [sym_identifier] = ACTIONS(1581),
+    [anon_sym_LPAREN2] = ACTIONS(1427),
+    [anon_sym_BANG] = ACTIONS(1430),
+    [anon_sym_TILDE] = ACTIONS(1430),
+    [anon_sym_DASH] = ACTIONS(1433),
+    [anon_sym_PLUS] = ACTIONS(1433),
+    [anon_sym_STAR] = ACTIONS(1436),
+    [anon_sym_AMP] = ACTIONS(1436),
+    [anon_sym_SEMI] = ACTIONS(1439),
+    [anon_sym___extension__] = ACTIONS(1442),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1445),
+    [anon_sym_LBRACE] = ACTIONS(1584),
+    [anon_sym_if] = ACTIONS(1587),
+    [anon_sym_switch] = ACTIONS(1590),
+    [anon_sym_case] = ACTIONS(1593),
+    [anon_sym_default] = ACTIONS(1596),
+    [anon_sym_while] = ACTIONS(1599),
+    [anon_sym_do] = ACTIONS(1602),
+    [anon_sym_for] = ACTIONS(1605),
+    [anon_sym_return] = ACTIONS(1608),
+    [anon_sym_break] = ACTIONS(1611),
+    [anon_sym_continue] = ACTIONS(1614),
+    [anon_sym_goto] = ACTIONS(1617),
+    [anon_sym___try] = ACTIONS(1620),
+    [anon_sym___leave] = ACTIONS(1487),
+    [anon_sym_DASH_DASH] = ACTIONS(1490),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1490),
+    [anon_sym_sizeof] = ACTIONS(1493),
+    [anon_sym___alignof__] = ACTIONS(1496),
+    [anon_sym___alignof] = ACTIONS(1496),
+    [anon_sym__alignof] = ACTIONS(1496),
+    [anon_sym_alignof] = ACTIONS(1496),
+    [anon_sym__Alignof] = ACTIONS(1496),
+    [anon_sym_offsetof] = ACTIONS(1499),
+    [anon_sym__Generic] = ACTIONS(1502),
+    [anon_sym_asm] = ACTIONS(1505),
+    [anon_sym___asm__] = ACTIONS(1505),
+    [anon_sym___asm] = ACTIONS(1505),
+    [sym_number_literal] = ACTIONS(1508),
+    [anon_sym_L_SQUOTE] = ACTIONS(1511),
+    [anon_sym_u_SQUOTE] = ACTIONS(1511),
+    [anon_sym_U_SQUOTE] = ACTIONS(1511),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1511),
+    [anon_sym_SQUOTE] = ACTIONS(1511),
+    [anon_sym_L_DQUOTE] = ACTIONS(1514),
+    [anon_sym_u_DQUOTE] = ACTIONS(1514),
+    [anon_sym_U_DQUOTE] = ACTIONS(1514),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1514),
+    [anon_sym_DQUOTE] = ACTIONS(1514),
+    [sym_true] = ACTIONS(1517),
+    [sym_false] = ACTIONS(1517),
+    [anon_sym_NULL] = ACTIONS(1520),
+    [anon_sym_nullptr] = ACTIONS(1520),
     [sym_comment] = ACTIONS(3),
   },
-  [336] = {
-    [sym_attribute_declaration] = STATE(340),
-    [sym_compound_statement] = STATE(177),
-    [sym_attributed_statement] = STATE(177),
-    [sym_statement] = STATE(1911),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(340),
-    [sym_identifier] = ACTIONS(1504),
+  [357] = {
+    [ts_builtin_sym_end] = ACTIONS(1346),
+    [sym_identifier] = ACTIONS(1344),
+    [aux_sym_preproc_include_token1] = ACTIONS(1344),
+    [aux_sym_preproc_def_token1] = ACTIONS(1344),
+    [aux_sym_preproc_if_token1] = ACTIONS(1344),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1344),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1344),
+    [sym_preproc_directive] = ACTIONS(1344),
+    [anon_sym_LPAREN2] = ACTIONS(1346),
+    [anon_sym_BANG] = ACTIONS(1346),
+    [anon_sym_TILDE] = ACTIONS(1346),
+    [anon_sym_DASH] = ACTIONS(1344),
+    [anon_sym_PLUS] = ACTIONS(1344),
+    [anon_sym_STAR] = ACTIONS(1346),
+    [anon_sym_AMP] = ACTIONS(1346),
+    [anon_sym_SEMI] = ACTIONS(1346),
+    [anon_sym___extension__] = ACTIONS(1344),
+    [anon_sym_typedef] = ACTIONS(1344),
+    [anon_sym_extern] = ACTIONS(1344),
+    [anon_sym___attribute__] = ACTIONS(1344),
+    [anon_sym___attribute] = ACTIONS(1344),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1346),
+    [anon_sym___declspec] = ACTIONS(1344),
+    [anon_sym___cdecl] = ACTIONS(1344),
+    [anon_sym___clrcall] = ACTIONS(1344),
+    [anon_sym___stdcall] = ACTIONS(1344),
+    [anon_sym___fastcall] = ACTIONS(1344),
+    [anon_sym___thiscall] = ACTIONS(1344),
+    [anon_sym___vectorcall] = ACTIONS(1344),
+    [anon_sym_LBRACE] = ACTIONS(1346),
+    [anon_sym_signed] = ACTIONS(1344),
+    [anon_sym_unsigned] = ACTIONS(1344),
+    [anon_sym_long] = ACTIONS(1344),
+    [anon_sym_short] = ACTIONS(1344),
+    [anon_sym_static] = ACTIONS(1344),
+    [anon_sym_auto] = ACTIONS(1344),
+    [anon_sym_register] = ACTIONS(1344),
+    [anon_sym_inline] = ACTIONS(1344),
+    [anon_sym___inline] = ACTIONS(1344),
+    [anon_sym___inline__] = ACTIONS(1344),
+    [anon_sym___forceinline] = ACTIONS(1344),
+    [anon_sym_thread_local] = ACTIONS(1344),
+    [anon_sym___thread] = ACTIONS(1344),
+    [anon_sym_const] = ACTIONS(1344),
+    [anon_sym_constexpr] = ACTIONS(1344),
+    [anon_sym_volatile] = ACTIONS(1344),
+    [anon_sym_restrict] = ACTIONS(1344),
+    [anon_sym___restrict__] = ACTIONS(1344),
+    [anon_sym__Atomic] = ACTIONS(1344),
+    [anon_sym__Noreturn] = ACTIONS(1344),
+    [anon_sym_noreturn] = ACTIONS(1344),
+    [anon_sym__Nonnull] = ACTIONS(1344),
+    [anon_sym_alignas] = ACTIONS(1344),
+    [anon_sym__Alignas] = ACTIONS(1344),
+    [sym_primitive_type] = ACTIONS(1344),
+    [anon_sym_enum] = ACTIONS(1344),
+    [anon_sym_struct] = ACTIONS(1344),
+    [anon_sym_union] = ACTIONS(1344),
+    [anon_sym_if] = ACTIONS(1344),
+    [anon_sym_switch] = ACTIONS(1344),
+    [anon_sym_case] = ACTIONS(1344),
+    [anon_sym_default] = ACTIONS(1344),
+    [anon_sym_while] = ACTIONS(1344),
+    [anon_sym_do] = ACTIONS(1344),
+    [anon_sym_for] = ACTIONS(1344),
+    [anon_sym_return] = ACTIONS(1344),
+    [anon_sym_break] = ACTIONS(1344),
+    [anon_sym_continue] = ACTIONS(1344),
+    [anon_sym_goto] = ACTIONS(1344),
+    [anon_sym_DASH_DASH] = ACTIONS(1346),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1346),
+    [anon_sym_sizeof] = ACTIONS(1344),
+    [anon_sym___alignof__] = ACTIONS(1344),
+    [anon_sym___alignof] = ACTIONS(1344),
+    [anon_sym__alignof] = ACTIONS(1344),
+    [anon_sym_alignof] = ACTIONS(1344),
+    [anon_sym__Alignof] = ACTIONS(1344),
+    [anon_sym_offsetof] = ACTIONS(1344),
+    [anon_sym__Generic] = ACTIONS(1344),
+    [anon_sym_asm] = ACTIONS(1344),
+    [anon_sym___asm__] = ACTIONS(1344),
+    [anon_sym___asm] = ACTIONS(1344),
+    [sym_number_literal] = ACTIONS(1346),
+    [anon_sym_L_SQUOTE] = ACTIONS(1346),
+    [anon_sym_u_SQUOTE] = ACTIONS(1346),
+    [anon_sym_U_SQUOTE] = ACTIONS(1346),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1346),
+    [anon_sym_SQUOTE] = ACTIONS(1346),
+    [anon_sym_L_DQUOTE] = ACTIONS(1346),
+    [anon_sym_u_DQUOTE] = ACTIONS(1346),
+    [anon_sym_U_DQUOTE] = ACTIONS(1346),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1346),
+    [anon_sym_DQUOTE] = ACTIONS(1346),
+    [sym_true] = ACTIONS(1344),
+    [sym_false] = ACTIONS(1344),
+    [anon_sym_NULL] = ACTIONS(1344),
+    [anon_sym_nullptr] = ACTIONS(1344),
+    [sym_comment] = ACTIONS(3),
+  },
+  [358] = {
+    [sym_attribute_declaration] = STATE(361),
+    [sym_compound_statement] = STATE(250),
+    [sym_attributed_statement] = STATE(250),
+    [sym_statement] = STATE(172),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(361),
+    [sym_identifier] = ACTIONS(1422),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -51116,99 +53702,99 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_if] = ACTIONS(1088),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(1098),
-    [anon_sym_default] = ACTIONS(1100),
-    [anon_sym_while] = ACTIONS(1090),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(1092),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(1094),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_if] = ACTIONS(1095),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(1103),
+    [anon_sym_default] = ACTIONS(1105),
+    [anon_sym_while] = ACTIONS(1097),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(1099),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(1101),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [337] = {
-    [sym_attribute_declaration] = STATE(340),
-    [sym_compound_statement] = STATE(177),
-    [sym_attributed_statement] = STATE(177),
-    [sym_statement] = STATE(182),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(340),
-    [sym_identifier] = ACTIONS(1504),
+  [359] = {
+    [sym_attribute_declaration] = STATE(361),
+    [sym_compound_statement] = STATE(250),
+    [sym_attributed_statement] = STATE(250),
+    [sym_statement] = STATE(160),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(361),
+    [sym_identifier] = ACTIONS(1422),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -51216,99 +53802,199 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_if] = ACTIONS(1088),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(1098),
-    [anon_sym_default] = ACTIONS(1100),
-    [anon_sym_while] = ACTIONS(1090),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(1092),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(1094),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_if] = ACTIONS(1095),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(1103),
+    [anon_sym_default] = ACTIONS(1105),
+    [anon_sym_while] = ACTIONS(1097),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(1099),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(1101),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [338] = {
-    [sym_attribute_declaration] = STATE(344),
-    [sym_compound_statement] = STATE(171),
-    [sym_attributed_statement] = STATE(171),
-    [sym_statement] = STATE(176),
-    [sym_labeled_statement] = STATE(171),
-    [sym_expression_statement] = STATE(171),
-    [sym_if_statement] = STATE(171),
-    [sym_switch_statement] = STATE(171),
-    [sym_case_statement] = STATE(171),
-    [sym_while_statement] = STATE(171),
-    [sym_do_statement] = STATE(171),
-    [sym_for_statement] = STATE(171),
-    [sym_return_statement] = STATE(171),
-    [sym_break_statement] = STATE(171),
-    [sym_continue_statement] = STATE(171),
-    [sym_goto_statement] = STATE(171),
-    [sym_seh_try_statement] = STATE(171),
-    [sym_seh_leave_statement] = STATE(171),
-    [sym_expression] = STATE(1042),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1791),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(344),
-    [sym_identifier] = ACTIONS(1512),
+  [360] = {
+    [ts_builtin_sym_end] = ACTIONS(1334),
+    [sym_identifier] = ACTIONS(1332),
+    [aux_sym_preproc_include_token1] = ACTIONS(1332),
+    [aux_sym_preproc_def_token1] = ACTIONS(1332),
+    [aux_sym_preproc_if_token1] = ACTIONS(1332),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1332),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1332),
+    [sym_preproc_directive] = ACTIONS(1332),
+    [anon_sym_LPAREN2] = ACTIONS(1334),
+    [anon_sym_BANG] = ACTIONS(1334),
+    [anon_sym_TILDE] = ACTIONS(1334),
+    [anon_sym_DASH] = ACTIONS(1332),
+    [anon_sym_PLUS] = ACTIONS(1332),
+    [anon_sym_STAR] = ACTIONS(1334),
+    [anon_sym_AMP] = ACTIONS(1334),
+    [anon_sym_SEMI] = ACTIONS(1334),
+    [anon_sym___extension__] = ACTIONS(1332),
+    [anon_sym_typedef] = ACTIONS(1332),
+    [anon_sym_extern] = ACTIONS(1332),
+    [anon_sym___attribute__] = ACTIONS(1332),
+    [anon_sym___attribute] = ACTIONS(1332),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1334),
+    [anon_sym___declspec] = ACTIONS(1332),
+    [anon_sym___cdecl] = ACTIONS(1332),
+    [anon_sym___clrcall] = ACTIONS(1332),
+    [anon_sym___stdcall] = ACTIONS(1332),
+    [anon_sym___fastcall] = ACTIONS(1332),
+    [anon_sym___thiscall] = ACTIONS(1332),
+    [anon_sym___vectorcall] = ACTIONS(1332),
+    [anon_sym_LBRACE] = ACTIONS(1334),
+    [anon_sym_signed] = ACTIONS(1332),
+    [anon_sym_unsigned] = ACTIONS(1332),
+    [anon_sym_long] = ACTIONS(1332),
+    [anon_sym_short] = ACTIONS(1332),
+    [anon_sym_static] = ACTIONS(1332),
+    [anon_sym_auto] = ACTIONS(1332),
+    [anon_sym_register] = ACTIONS(1332),
+    [anon_sym_inline] = ACTIONS(1332),
+    [anon_sym___inline] = ACTIONS(1332),
+    [anon_sym___inline__] = ACTIONS(1332),
+    [anon_sym___forceinline] = ACTIONS(1332),
+    [anon_sym_thread_local] = ACTIONS(1332),
+    [anon_sym___thread] = ACTIONS(1332),
+    [anon_sym_const] = ACTIONS(1332),
+    [anon_sym_constexpr] = ACTIONS(1332),
+    [anon_sym_volatile] = ACTIONS(1332),
+    [anon_sym_restrict] = ACTIONS(1332),
+    [anon_sym___restrict__] = ACTIONS(1332),
+    [anon_sym__Atomic] = ACTIONS(1332),
+    [anon_sym__Noreturn] = ACTIONS(1332),
+    [anon_sym_noreturn] = ACTIONS(1332),
+    [anon_sym__Nonnull] = ACTIONS(1332),
+    [anon_sym_alignas] = ACTIONS(1332),
+    [anon_sym__Alignas] = ACTIONS(1332),
+    [sym_primitive_type] = ACTIONS(1332),
+    [anon_sym_enum] = ACTIONS(1332),
+    [anon_sym_struct] = ACTIONS(1332),
+    [anon_sym_union] = ACTIONS(1332),
+    [anon_sym_if] = ACTIONS(1332),
+    [anon_sym_switch] = ACTIONS(1332),
+    [anon_sym_case] = ACTIONS(1332),
+    [anon_sym_default] = ACTIONS(1332),
+    [anon_sym_while] = ACTIONS(1332),
+    [anon_sym_do] = ACTIONS(1332),
+    [anon_sym_for] = ACTIONS(1332),
+    [anon_sym_return] = ACTIONS(1332),
+    [anon_sym_break] = ACTIONS(1332),
+    [anon_sym_continue] = ACTIONS(1332),
+    [anon_sym_goto] = ACTIONS(1332),
+    [anon_sym_DASH_DASH] = ACTIONS(1334),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1334),
+    [anon_sym_sizeof] = ACTIONS(1332),
+    [anon_sym___alignof__] = ACTIONS(1332),
+    [anon_sym___alignof] = ACTIONS(1332),
+    [anon_sym__alignof] = ACTIONS(1332),
+    [anon_sym_alignof] = ACTIONS(1332),
+    [anon_sym__Alignof] = ACTIONS(1332),
+    [anon_sym_offsetof] = ACTIONS(1332),
+    [anon_sym__Generic] = ACTIONS(1332),
+    [anon_sym_asm] = ACTIONS(1332),
+    [anon_sym___asm__] = ACTIONS(1332),
+    [anon_sym___asm] = ACTIONS(1332),
+    [sym_number_literal] = ACTIONS(1334),
+    [anon_sym_L_SQUOTE] = ACTIONS(1334),
+    [anon_sym_u_SQUOTE] = ACTIONS(1334),
+    [anon_sym_U_SQUOTE] = ACTIONS(1334),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1334),
+    [anon_sym_SQUOTE] = ACTIONS(1334),
+    [anon_sym_L_DQUOTE] = ACTIONS(1334),
+    [anon_sym_u_DQUOTE] = ACTIONS(1334),
+    [anon_sym_U_DQUOTE] = ACTIONS(1334),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1334),
+    [anon_sym_DQUOTE] = ACTIONS(1334),
+    [sym_true] = ACTIONS(1332),
+    [sym_false] = ACTIONS(1332),
+    [anon_sym_NULL] = ACTIONS(1332),
+    [anon_sym_nullptr] = ACTIONS(1332),
+    [sym_comment] = ACTIONS(3),
+  },
+  [361] = {
+    [sym_attribute_declaration] = STATE(356),
+    [sym_compound_statement] = STATE(250),
+    [sym_attributed_statement] = STATE(250),
+    [sym_statement] = STATE(241),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(356),
+    [sym_identifier] = ACTIONS(1422),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -51316,99 +54002,199 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(978),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_if] = ACTIONS(59),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(63),
-    [anon_sym_default] = ACTIONS(65),
-    [anon_sym_while] = ACTIONS(67),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(71),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(980),
-    [anon_sym___leave] = ACTIONS(982),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_if] = ACTIONS(1095),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(1103),
+    [anon_sym_default] = ACTIONS(1105),
+    [anon_sym_while] = ACTIONS(1097),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(1099),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(1101),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [339] = {
-    [sym_attribute_declaration] = STATE(340),
-    [sym_compound_statement] = STATE(177),
-    [sym_attributed_statement] = STATE(177),
-    [sym_statement] = STATE(161),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(340),
-    [sym_identifier] = ACTIONS(1504),
+  [362] = {
+    [ts_builtin_sym_end] = ACTIONS(1623),
+    [sym_identifier] = ACTIONS(1626),
+    [aux_sym_preproc_include_token1] = ACTIONS(1626),
+    [aux_sym_preproc_def_token1] = ACTIONS(1626),
+    [aux_sym_preproc_if_token1] = ACTIONS(1626),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1626),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1626),
+    [sym_preproc_directive] = ACTIONS(1626),
+    [anon_sym_LPAREN2] = ACTIONS(1623),
+    [anon_sym_BANG] = ACTIONS(1623),
+    [anon_sym_TILDE] = ACTIONS(1623),
+    [anon_sym_DASH] = ACTIONS(1626),
+    [anon_sym_PLUS] = ACTIONS(1626),
+    [anon_sym_STAR] = ACTIONS(1623),
+    [anon_sym_AMP] = ACTIONS(1623),
+    [anon_sym_SEMI] = ACTIONS(1623),
+    [anon_sym___extension__] = ACTIONS(1626),
+    [anon_sym_typedef] = ACTIONS(1626),
+    [anon_sym_extern] = ACTIONS(1626),
+    [anon_sym___attribute__] = ACTIONS(1626),
+    [anon_sym___attribute] = ACTIONS(1626),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1623),
+    [anon_sym___declspec] = ACTIONS(1626),
+    [anon_sym___cdecl] = ACTIONS(1626),
+    [anon_sym___clrcall] = ACTIONS(1626),
+    [anon_sym___stdcall] = ACTIONS(1626),
+    [anon_sym___fastcall] = ACTIONS(1626),
+    [anon_sym___thiscall] = ACTIONS(1626),
+    [anon_sym___vectorcall] = ACTIONS(1626),
+    [anon_sym_LBRACE] = ACTIONS(1623),
+    [anon_sym_signed] = ACTIONS(1626),
+    [anon_sym_unsigned] = ACTIONS(1626),
+    [anon_sym_long] = ACTIONS(1626),
+    [anon_sym_short] = ACTIONS(1626),
+    [anon_sym_static] = ACTIONS(1626),
+    [anon_sym_auto] = ACTIONS(1626),
+    [anon_sym_register] = ACTIONS(1626),
+    [anon_sym_inline] = ACTIONS(1626),
+    [anon_sym___inline] = ACTIONS(1626),
+    [anon_sym___inline__] = ACTIONS(1626),
+    [anon_sym___forceinline] = ACTIONS(1626),
+    [anon_sym_thread_local] = ACTIONS(1626),
+    [anon_sym___thread] = ACTIONS(1626),
+    [anon_sym_const] = ACTIONS(1626),
+    [anon_sym_constexpr] = ACTIONS(1626),
+    [anon_sym_volatile] = ACTIONS(1626),
+    [anon_sym_restrict] = ACTIONS(1626),
+    [anon_sym___restrict__] = ACTIONS(1626),
+    [anon_sym__Atomic] = ACTIONS(1626),
+    [anon_sym__Noreturn] = ACTIONS(1626),
+    [anon_sym_noreturn] = ACTIONS(1626),
+    [anon_sym__Nonnull] = ACTIONS(1626),
+    [anon_sym_alignas] = ACTIONS(1626),
+    [anon_sym__Alignas] = ACTIONS(1626),
+    [sym_primitive_type] = ACTIONS(1626),
+    [anon_sym_enum] = ACTIONS(1626),
+    [anon_sym_struct] = ACTIONS(1626),
+    [anon_sym_union] = ACTIONS(1626),
+    [anon_sym_if] = ACTIONS(1626),
+    [anon_sym_switch] = ACTIONS(1626),
+    [anon_sym_case] = ACTIONS(1626),
+    [anon_sym_default] = ACTIONS(1626),
+    [anon_sym_while] = ACTIONS(1626),
+    [anon_sym_do] = ACTIONS(1626),
+    [anon_sym_for] = ACTIONS(1626),
+    [anon_sym_return] = ACTIONS(1626),
+    [anon_sym_break] = ACTIONS(1626),
+    [anon_sym_continue] = ACTIONS(1626),
+    [anon_sym_goto] = ACTIONS(1626),
+    [anon_sym_DASH_DASH] = ACTIONS(1623),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1623),
+    [anon_sym_sizeof] = ACTIONS(1626),
+    [anon_sym___alignof__] = ACTIONS(1626),
+    [anon_sym___alignof] = ACTIONS(1626),
+    [anon_sym__alignof] = ACTIONS(1626),
+    [anon_sym_alignof] = ACTIONS(1626),
+    [anon_sym__Alignof] = ACTIONS(1626),
+    [anon_sym_offsetof] = ACTIONS(1626),
+    [anon_sym__Generic] = ACTIONS(1626),
+    [anon_sym_asm] = ACTIONS(1626),
+    [anon_sym___asm__] = ACTIONS(1626),
+    [anon_sym___asm] = ACTIONS(1626),
+    [sym_number_literal] = ACTIONS(1623),
+    [anon_sym_L_SQUOTE] = ACTIONS(1623),
+    [anon_sym_u_SQUOTE] = ACTIONS(1623),
+    [anon_sym_U_SQUOTE] = ACTIONS(1623),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1623),
+    [anon_sym_SQUOTE] = ACTIONS(1623),
+    [anon_sym_L_DQUOTE] = ACTIONS(1623),
+    [anon_sym_u_DQUOTE] = ACTIONS(1623),
+    [anon_sym_U_DQUOTE] = ACTIONS(1623),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1623),
+    [anon_sym_DQUOTE] = ACTIONS(1623),
+    [sym_true] = ACTIONS(1626),
+    [sym_false] = ACTIONS(1626),
+    [anon_sym_NULL] = ACTIONS(1626),
+    [anon_sym_nullptr] = ACTIONS(1626),
+    [sym_comment] = ACTIONS(3),
+  },
+  [363] = {
+    [sym_attribute_declaration] = STATE(378),
+    [sym_compound_statement] = STATE(180),
+    [sym_attributed_statement] = STATE(180),
+    [sym_statement] = STATE(148),
+    [sym_labeled_statement] = STATE(180),
+    [sym_expression_statement] = STATE(180),
+    [sym_if_statement] = STATE(180),
+    [sym_switch_statement] = STATE(180),
+    [sym_case_statement] = STATE(180),
+    [sym_while_statement] = STATE(180),
+    [sym_do_statement] = STATE(180),
+    [sym_for_statement] = STATE(180),
+    [sym_return_statement] = STATE(180),
+    [sym_break_statement] = STATE(180),
+    [sym_continue_statement] = STATE(180),
+    [sym_goto_statement] = STATE(180),
+    [sym_seh_try_statement] = STATE(180),
+    [sym_seh_leave_statement] = STATE(180),
+    [sym_expression] = STATE(1052),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1858),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(378),
+    [sym_identifier] = ACTIONS(1629),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -51416,99 +54202,99 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_if] = ACTIONS(1088),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(1098),
-    [anon_sym_default] = ACTIONS(1100),
-    [anon_sym_while] = ACTIONS(1090),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(1092),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(1094),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(498),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(506),
+    [anon_sym_if] = ACTIONS(508),
+    [anon_sym_switch] = ACTIONS(510),
+    [anon_sym_case] = ACTIONS(512),
+    [anon_sym_default] = ACTIONS(514),
+    [anon_sym_while] = ACTIONS(516),
+    [anon_sym_do] = ACTIONS(518),
+    [anon_sym_for] = ACTIONS(520),
+    [anon_sym_return] = ACTIONS(522),
+    [anon_sym_break] = ACTIONS(524),
+    [anon_sym_continue] = ACTIONS(526),
+    [anon_sym_goto] = ACTIONS(528),
+    [anon_sym___try] = ACTIONS(530),
+    [anon_sym___leave] = ACTIONS(532),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [340] = {
-    [sym_attribute_declaration] = STATE(335),
-    [sym_compound_statement] = STATE(177),
-    [sym_attributed_statement] = STATE(177),
-    [sym_statement] = STATE(176),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(335),
-    [sym_identifier] = ACTIONS(1504),
+  [364] = {
+    [sym_attribute_declaration] = STATE(378),
+    [sym_compound_statement] = STATE(180),
+    [sym_attributed_statement] = STATE(180),
+    [sym_statement] = STATE(193),
+    [sym_labeled_statement] = STATE(180),
+    [sym_expression_statement] = STATE(180),
+    [sym_if_statement] = STATE(180),
+    [sym_switch_statement] = STATE(180),
+    [sym_case_statement] = STATE(180),
+    [sym_while_statement] = STATE(180),
+    [sym_do_statement] = STATE(180),
+    [sym_for_statement] = STATE(180),
+    [sym_return_statement] = STATE(180),
+    [sym_break_statement] = STATE(180),
+    [sym_continue_statement] = STATE(180),
+    [sym_goto_statement] = STATE(180),
+    [sym_seh_try_statement] = STATE(180),
+    [sym_seh_leave_statement] = STATE(180),
+    [sym_expression] = STATE(1052),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1858),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(378),
+    [sym_identifier] = ACTIONS(1629),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -51516,99 +54302,399 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_if] = ACTIONS(1088),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(1098),
-    [anon_sym_default] = ACTIONS(1100),
-    [anon_sym_while] = ACTIONS(1090),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(1092),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(1094),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(498),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(506),
+    [anon_sym_if] = ACTIONS(508),
+    [anon_sym_switch] = ACTIONS(510),
+    [anon_sym_case] = ACTIONS(512),
+    [anon_sym_default] = ACTIONS(514),
+    [anon_sym_while] = ACTIONS(516),
+    [anon_sym_do] = ACTIONS(518),
+    [anon_sym_for] = ACTIONS(520),
+    [anon_sym_return] = ACTIONS(522),
+    [anon_sym_break] = ACTIONS(524),
+    [anon_sym_continue] = ACTIONS(526),
+    [anon_sym_goto] = ACTIONS(528),
+    [anon_sym___try] = ACTIONS(530),
+    [anon_sym___leave] = ACTIONS(532),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [341] = {
-    [sym_attribute_declaration] = STATE(350),
-    [sym_compound_statement] = STATE(204),
-    [sym_attributed_statement] = STATE(204),
+  [365] = {
+    [sym_attribute_declaration] = STATE(365),
+    [sym_compound_statement] = STATE(180),
+    [sym_attributed_statement] = STATE(180),
+    [sym_statement] = STATE(185),
+    [sym_labeled_statement] = STATE(180),
+    [sym_expression_statement] = STATE(180),
+    [sym_if_statement] = STATE(180),
+    [sym_switch_statement] = STATE(180),
+    [sym_case_statement] = STATE(180),
+    [sym_while_statement] = STATE(180),
+    [sym_do_statement] = STATE(180),
+    [sym_for_statement] = STATE(180),
+    [sym_return_statement] = STATE(180),
+    [sym_break_statement] = STATE(180),
+    [sym_continue_statement] = STATE(180),
+    [sym_goto_statement] = STATE(180),
+    [sym_seh_try_statement] = STATE(180),
+    [sym_seh_leave_statement] = STATE(180),
+    [sym_expression] = STATE(1052),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1858),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(365),
+    [sym_identifier] = ACTIONS(1631),
+    [anon_sym_LPAREN2] = ACTIONS(1427),
+    [anon_sym_BANG] = ACTIONS(1430),
+    [anon_sym_TILDE] = ACTIONS(1430),
+    [anon_sym_DASH] = ACTIONS(1433),
+    [anon_sym_PLUS] = ACTIONS(1433),
+    [anon_sym_STAR] = ACTIONS(1436),
+    [anon_sym_AMP] = ACTIONS(1436),
+    [anon_sym_SEMI] = ACTIONS(1634),
+    [anon_sym___extension__] = ACTIONS(1442),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1445),
+    [anon_sym_LBRACE] = ACTIONS(1637),
+    [anon_sym_if] = ACTIONS(1640),
+    [anon_sym_switch] = ACTIONS(1643),
+    [anon_sym_case] = ACTIONS(1646),
+    [anon_sym_default] = ACTIONS(1649),
+    [anon_sym_while] = ACTIONS(1652),
+    [anon_sym_do] = ACTIONS(1655),
+    [anon_sym_for] = ACTIONS(1658),
+    [anon_sym_return] = ACTIONS(1661),
+    [anon_sym_break] = ACTIONS(1664),
+    [anon_sym_continue] = ACTIONS(1667),
+    [anon_sym_goto] = ACTIONS(1670),
+    [anon_sym___try] = ACTIONS(1673),
+    [anon_sym___leave] = ACTIONS(1676),
+    [anon_sym_DASH_DASH] = ACTIONS(1490),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1490),
+    [anon_sym_sizeof] = ACTIONS(1493),
+    [anon_sym___alignof__] = ACTIONS(1496),
+    [anon_sym___alignof] = ACTIONS(1496),
+    [anon_sym__alignof] = ACTIONS(1496),
+    [anon_sym_alignof] = ACTIONS(1496),
+    [anon_sym__Alignof] = ACTIONS(1496),
+    [anon_sym_offsetof] = ACTIONS(1499),
+    [anon_sym__Generic] = ACTIONS(1502),
+    [anon_sym_asm] = ACTIONS(1505),
+    [anon_sym___asm__] = ACTIONS(1505),
+    [anon_sym___asm] = ACTIONS(1505),
+    [sym_number_literal] = ACTIONS(1508),
+    [anon_sym_L_SQUOTE] = ACTIONS(1511),
+    [anon_sym_u_SQUOTE] = ACTIONS(1511),
+    [anon_sym_U_SQUOTE] = ACTIONS(1511),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1511),
+    [anon_sym_SQUOTE] = ACTIONS(1511),
+    [anon_sym_L_DQUOTE] = ACTIONS(1514),
+    [anon_sym_u_DQUOTE] = ACTIONS(1514),
+    [anon_sym_U_DQUOTE] = ACTIONS(1514),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1514),
+    [anon_sym_DQUOTE] = ACTIONS(1514),
+    [sym_true] = ACTIONS(1517),
+    [sym_false] = ACTIONS(1517),
+    [anon_sym_NULL] = ACTIONS(1520),
+    [anon_sym_nullptr] = ACTIONS(1520),
+    [sym_comment] = ACTIONS(3),
+  },
+  [366] = {
+    [sym_attribute_declaration] = STATE(366),
+    [sym_compound_statement] = STATE(159),
+    [sym_attributed_statement] = STATE(159),
+    [sym_statement] = STATE(241),
+    [sym_labeled_statement] = STATE(159),
+    [sym_expression_statement] = STATE(159),
+    [sym_if_statement] = STATE(159),
+    [sym_switch_statement] = STATE(159),
+    [sym_case_statement] = STATE(159),
+    [sym_while_statement] = STATE(159),
+    [sym_do_statement] = STATE(159),
+    [sym_for_statement] = STATE(159),
+    [sym_return_statement] = STATE(159),
+    [sym_break_statement] = STATE(159),
+    [sym_continue_statement] = STATE(159),
+    [sym_goto_statement] = STATE(159),
+    [sym_seh_try_statement] = STATE(159),
+    [sym_seh_leave_statement] = STATE(159),
+    [sym_expression] = STATE(1074),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1913),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(366),
+    [sym_identifier] = ACTIONS(1679),
+    [anon_sym_LPAREN2] = ACTIONS(1427),
+    [anon_sym_BANG] = ACTIONS(1430),
+    [anon_sym_TILDE] = ACTIONS(1430),
+    [anon_sym_DASH] = ACTIONS(1433),
+    [anon_sym_PLUS] = ACTIONS(1433),
+    [anon_sym_STAR] = ACTIONS(1436),
+    [anon_sym_AMP] = ACTIONS(1436),
+    [anon_sym_SEMI] = ACTIONS(1682),
+    [anon_sym___extension__] = ACTIONS(1442),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1445),
+    [anon_sym_LBRACE] = ACTIONS(1584),
+    [anon_sym_if] = ACTIONS(1685),
+    [anon_sym_switch] = ACTIONS(1590),
+    [anon_sym_case] = ACTIONS(1688),
+    [anon_sym_default] = ACTIONS(1691),
+    [anon_sym_while] = ACTIONS(1694),
+    [anon_sym_do] = ACTIONS(1602),
+    [anon_sym_for] = ACTIONS(1697),
+    [anon_sym_return] = ACTIONS(1608),
+    [anon_sym_break] = ACTIONS(1611),
+    [anon_sym_continue] = ACTIONS(1614),
+    [anon_sym_goto] = ACTIONS(1617),
+    [anon_sym___try] = ACTIONS(1700),
+    [anon_sym___leave] = ACTIONS(1703),
+    [anon_sym_DASH_DASH] = ACTIONS(1490),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1490),
+    [anon_sym_sizeof] = ACTIONS(1493),
+    [anon_sym___alignof__] = ACTIONS(1496),
+    [anon_sym___alignof] = ACTIONS(1496),
+    [anon_sym__alignof] = ACTIONS(1496),
+    [anon_sym_alignof] = ACTIONS(1496),
+    [anon_sym__Alignof] = ACTIONS(1496),
+    [anon_sym_offsetof] = ACTIONS(1499),
+    [anon_sym__Generic] = ACTIONS(1502),
+    [anon_sym_asm] = ACTIONS(1505),
+    [anon_sym___asm__] = ACTIONS(1505),
+    [anon_sym___asm] = ACTIONS(1505),
+    [sym_number_literal] = ACTIONS(1508),
+    [anon_sym_L_SQUOTE] = ACTIONS(1511),
+    [anon_sym_u_SQUOTE] = ACTIONS(1511),
+    [anon_sym_U_SQUOTE] = ACTIONS(1511),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1511),
+    [anon_sym_SQUOTE] = ACTIONS(1511),
+    [anon_sym_L_DQUOTE] = ACTIONS(1514),
+    [anon_sym_u_DQUOTE] = ACTIONS(1514),
+    [anon_sym_U_DQUOTE] = ACTIONS(1514),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1514),
+    [anon_sym_DQUOTE] = ACTIONS(1514),
+    [sym_true] = ACTIONS(1517),
+    [sym_false] = ACTIONS(1517),
+    [anon_sym_NULL] = ACTIONS(1520),
+    [anon_sym_nullptr] = ACTIONS(1520),
+    [sym_comment] = ACTIONS(3),
+  },
+  [367] = {
+    [ts_builtin_sym_end] = ACTIONS(1354),
+    [sym_identifier] = ACTIONS(1352),
+    [aux_sym_preproc_include_token1] = ACTIONS(1352),
+    [aux_sym_preproc_def_token1] = ACTIONS(1352),
+    [aux_sym_preproc_if_token1] = ACTIONS(1352),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1352),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1352),
+    [sym_preproc_directive] = ACTIONS(1352),
+    [anon_sym_LPAREN2] = ACTIONS(1354),
+    [anon_sym_BANG] = ACTIONS(1354),
+    [anon_sym_TILDE] = ACTIONS(1354),
+    [anon_sym_DASH] = ACTIONS(1352),
+    [anon_sym_PLUS] = ACTIONS(1352),
+    [anon_sym_STAR] = ACTIONS(1354),
+    [anon_sym_AMP] = ACTIONS(1354),
+    [anon_sym_SEMI] = ACTIONS(1354),
+    [anon_sym___extension__] = ACTIONS(1352),
+    [anon_sym_typedef] = ACTIONS(1352),
+    [anon_sym_extern] = ACTIONS(1352),
+    [anon_sym___attribute__] = ACTIONS(1352),
+    [anon_sym___attribute] = ACTIONS(1352),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1354),
+    [anon_sym___declspec] = ACTIONS(1352),
+    [anon_sym___cdecl] = ACTIONS(1352),
+    [anon_sym___clrcall] = ACTIONS(1352),
+    [anon_sym___stdcall] = ACTIONS(1352),
+    [anon_sym___fastcall] = ACTIONS(1352),
+    [anon_sym___thiscall] = ACTIONS(1352),
+    [anon_sym___vectorcall] = ACTIONS(1352),
+    [anon_sym_LBRACE] = ACTIONS(1354),
+    [anon_sym_signed] = ACTIONS(1352),
+    [anon_sym_unsigned] = ACTIONS(1352),
+    [anon_sym_long] = ACTIONS(1352),
+    [anon_sym_short] = ACTIONS(1352),
+    [anon_sym_static] = ACTIONS(1352),
+    [anon_sym_auto] = ACTIONS(1352),
+    [anon_sym_register] = ACTIONS(1352),
+    [anon_sym_inline] = ACTIONS(1352),
+    [anon_sym___inline] = ACTIONS(1352),
+    [anon_sym___inline__] = ACTIONS(1352),
+    [anon_sym___forceinline] = ACTIONS(1352),
+    [anon_sym_thread_local] = ACTIONS(1352),
+    [anon_sym___thread] = ACTIONS(1352),
+    [anon_sym_const] = ACTIONS(1352),
+    [anon_sym_constexpr] = ACTIONS(1352),
+    [anon_sym_volatile] = ACTIONS(1352),
+    [anon_sym_restrict] = ACTIONS(1352),
+    [anon_sym___restrict__] = ACTIONS(1352),
+    [anon_sym__Atomic] = ACTIONS(1352),
+    [anon_sym__Noreturn] = ACTIONS(1352),
+    [anon_sym_noreturn] = ACTIONS(1352),
+    [anon_sym__Nonnull] = ACTIONS(1352),
+    [anon_sym_alignas] = ACTIONS(1352),
+    [anon_sym__Alignas] = ACTIONS(1352),
+    [sym_primitive_type] = ACTIONS(1352),
+    [anon_sym_enum] = ACTIONS(1352),
+    [anon_sym_struct] = ACTIONS(1352),
+    [anon_sym_union] = ACTIONS(1352),
+    [anon_sym_if] = ACTIONS(1352),
+    [anon_sym_switch] = ACTIONS(1352),
+    [anon_sym_case] = ACTIONS(1352),
+    [anon_sym_default] = ACTIONS(1352),
+    [anon_sym_while] = ACTIONS(1352),
+    [anon_sym_do] = ACTIONS(1352),
+    [anon_sym_for] = ACTIONS(1352),
+    [anon_sym_return] = ACTIONS(1352),
+    [anon_sym_break] = ACTIONS(1352),
+    [anon_sym_continue] = ACTIONS(1352),
+    [anon_sym_goto] = ACTIONS(1352),
+    [anon_sym_DASH_DASH] = ACTIONS(1354),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1354),
+    [anon_sym_sizeof] = ACTIONS(1352),
+    [anon_sym___alignof__] = ACTIONS(1352),
+    [anon_sym___alignof] = ACTIONS(1352),
+    [anon_sym__alignof] = ACTIONS(1352),
+    [anon_sym_alignof] = ACTIONS(1352),
+    [anon_sym__Alignof] = ACTIONS(1352),
+    [anon_sym_offsetof] = ACTIONS(1352),
+    [anon_sym__Generic] = ACTIONS(1352),
+    [anon_sym_asm] = ACTIONS(1352),
+    [anon_sym___asm__] = ACTIONS(1352),
+    [anon_sym___asm] = ACTIONS(1352),
+    [sym_number_literal] = ACTIONS(1354),
+    [anon_sym_L_SQUOTE] = ACTIONS(1354),
+    [anon_sym_u_SQUOTE] = ACTIONS(1354),
+    [anon_sym_U_SQUOTE] = ACTIONS(1354),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1354),
+    [anon_sym_SQUOTE] = ACTIONS(1354),
+    [anon_sym_L_DQUOTE] = ACTIONS(1354),
+    [anon_sym_u_DQUOTE] = ACTIONS(1354),
+    [anon_sym_U_DQUOTE] = ACTIONS(1354),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1354),
+    [anon_sym_DQUOTE] = ACTIONS(1354),
+    [sym_true] = ACTIONS(1352),
+    [sym_false] = ACTIONS(1352),
+    [anon_sym_NULL] = ACTIONS(1352),
+    [anon_sym_nullptr] = ACTIONS(1352),
+    [sym_comment] = ACTIONS(3),
+  },
+  [368] = {
+    [sym_attribute_declaration] = STATE(349),
+    [sym_compound_statement] = STATE(250),
+    [sym_attributed_statement] = STATE(250),
     [sym_statement] = STATE(150),
-    [sym_labeled_statement] = STATE(204),
-    [sym_expression_statement] = STATE(204),
-    [sym_if_statement] = STATE(204),
-    [sym_switch_statement] = STATE(204),
-    [sym_case_statement] = STATE(204),
-    [sym_while_statement] = STATE(204),
-    [sym_do_statement] = STATE(204),
-    [sym_for_statement] = STATE(204),
-    [sym_return_statement] = STATE(204),
-    [sym_break_statement] = STATE(204),
-    [sym_continue_statement] = STATE(204),
-    [sym_goto_statement] = STATE(204),
-    [sym_seh_try_statement] = STATE(204),
-    [sym_seh_leave_statement] = STATE(204),
-    [sym_expression] = STATE(1031),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1919),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(350),
-    [sym_identifier] = ACTIONS(1612),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [sym_identifier] = ACTIONS(1414),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -51616,99 +54702,199 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(494),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(502),
-    [anon_sym_if] = ACTIONS(504),
-    [anon_sym_switch] = ACTIONS(506),
-    [anon_sym_case] = ACTIONS(508),
-    [anon_sym_default] = ACTIONS(510),
-    [anon_sym_while] = ACTIONS(512),
-    [anon_sym_do] = ACTIONS(514),
-    [anon_sym_for] = ACTIONS(516),
-    [anon_sym_return] = ACTIONS(518),
-    [anon_sym_break] = ACTIONS(520),
-    [anon_sym_continue] = ACTIONS(522),
-    [anon_sym_goto] = ACTIONS(524),
-    [anon_sym___try] = ACTIONS(526),
-    [anon_sym___leave] = ACTIONS(528),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [342] = {
-    [sym_attribute_declaration] = STATE(350),
-    [sym_compound_statement] = STATE(204),
-    [sym_attributed_statement] = STATE(204),
-    [sym_statement] = STATE(215),
-    [sym_labeled_statement] = STATE(204),
-    [sym_expression_statement] = STATE(204),
-    [sym_if_statement] = STATE(204),
-    [sym_switch_statement] = STATE(204),
-    [sym_case_statement] = STATE(204),
-    [sym_while_statement] = STATE(204),
-    [sym_do_statement] = STATE(204),
-    [sym_for_statement] = STATE(204),
-    [sym_return_statement] = STATE(204),
-    [sym_break_statement] = STATE(204),
-    [sym_continue_statement] = STATE(204),
-    [sym_goto_statement] = STATE(204),
-    [sym_seh_try_statement] = STATE(204),
-    [sym_seh_leave_statement] = STATE(204),
-    [sym_expression] = STATE(1031),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1919),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(350),
-    [sym_identifier] = ACTIONS(1612),
+  [369] = {
+    [ts_builtin_sym_end] = ACTIONS(1358),
+    [sym_identifier] = ACTIONS(1356),
+    [aux_sym_preproc_include_token1] = ACTIONS(1356),
+    [aux_sym_preproc_def_token1] = ACTIONS(1356),
+    [aux_sym_preproc_if_token1] = ACTIONS(1356),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1356),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1356),
+    [sym_preproc_directive] = ACTIONS(1356),
+    [anon_sym_LPAREN2] = ACTIONS(1358),
+    [anon_sym_BANG] = ACTIONS(1358),
+    [anon_sym_TILDE] = ACTIONS(1358),
+    [anon_sym_DASH] = ACTIONS(1356),
+    [anon_sym_PLUS] = ACTIONS(1356),
+    [anon_sym_STAR] = ACTIONS(1358),
+    [anon_sym_AMP] = ACTIONS(1358),
+    [anon_sym_SEMI] = ACTIONS(1358),
+    [anon_sym___extension__] = ACTIONS(1356),
+    [anon_sym_typedef] = ACTIONS(1356),
+    [anon_sym_extern] = ACTIONS(1356),
+    [anon_sym___attribute__] = ACTIONS(1356),
+    [anon_sym___attribute] = ACTIONS(1356),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1358),
+    [anon_sym___declspec] = ACTIONS(1356),
+    [anon_sym___cdecl] = ACTIONS(1356),
+    [anon_sym___clrcall] = ACTIONS(1356),
+    [anon_sym___stdcall] = ACTIONS(1356),
+    [anon_sym___fastcall] = ACTIONS(1356),
+    [anon_sym___thiscall] = ACTIONS(1356),
+    [anon_sym___vectorcall] = ACTIONS(1356),
+    [anon_sym_LBRACE] = ACTIONS(1358),
+    [anon_sym_signed] = ACTIONS(1356),
+    [anon_sym_unsigned] = ACTIONS(1356),
+    [anon_sym_long] = ACTIONS(1356),
+    [anon_sym_short] = ACTIONS(1356),
+    [anon_sym_static] = ACTIONS(1356),
+    [anon_sym_auto] = ACTIONS(1356),
+    [anon_sym_register] = ACTIONS(1356),
+    [anon_sym_inline] = ACTIONS(1356),
+    [anon_sym___inline] = ACTIONS(1356),
+    [anon_sym___inline__] = ACTIONS(1356),
+    [anon_sym___forceinline] = ACTIONS(1356),
+    [anon_sym_thread_local] = ACTIONS(1356),
+    [anon_sym___thread] = ACTIONS(1356),
+    [anon_sym_const] = ACTIONS(1356),
+    [anon_sym_constexpr] = ACTIONS(1356),
+    [anon_sym_volatile] = ACTIONS(1356),
+    [anon_sym_restrict] = ACTIONS(1356),
+    [anon_sym___restrict__] = ACTIONS(1356),
+    [anon_sym__Atomic] = ACTIONS(1356),
+    [anon_sym__Noreturn] = ACTIONS(1356),
+    [anon_sym_noreturn] = ACTIONS(1356),
+    [anon_sym__Nonnull] = ACTIONS(1356),
+    [anon_sym_alignas] = ACTIONS(1356),
+    [anon_sym__Alignas] = ACTIONS(1356),
+    [sym_primitive_type] = ACTIONS(1356),
+    [anon_sym_enum] = ACTIONS(1356),
+    [anon_sym_struct] = ACTIONS(1356),
+    [anon_sym_union] = ACTIONS(1356),
+    [anon_sym_if] = ACTIONS(1356),
+    [anon_sym_switch] = ACTIONS(1356),
+    [anon_sym_case] = ACTIONS(1356),
+    [anon_sym_default] = ACTIONS(1356),
+    [anon_sym_while] = ACTIONS(1356),
+    [anon_sym_do] = ACTIONS(1356),
+    [anon_sym_for] = ACTIONS(1356),
+    [anon_sym_return] = ACTIONS(1356),
+    [anon_sym_break] = ACTIONS(1356),
+    [anon_sym_continue] = ACTIONS(1356),
+    [anon_sym_goto] = ACTIONS(1356),
+    [anon_sym_DASH_DASH] = ACTIONS(1358),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1358),
+    [anon_sym_sizeof] = ACTIONS(1356),
+    [anon_sym___alignof__] = ACTIONS(1356),
+    [anon_sym___alignof] = ACTIONS(1356),
+    [anon_sym__alignof] = ACTIONS(1356),
+    [anon_sym_alignof] = ACTIONS(1356),
+    [anon_sym__Alignof] = ACTIONS(1356),
+    [anon_sym_offsetof] = ACTIONS(1356),
+    [anon_sym__Generic] = ACTIONS(1356),
+    [anon_sym_asm] = ACTIONS(1356),
+    [anon_sym___asm__] = ACTIONS(1356),
+    [anon_sym___asm] = ACTIONS(1356),
+    [sym_number_literal] = ACTIONS(1358),
+    [anon_sym_L_SQUOTE] = ACTIONS(1358),
+    [anon_sym_u_SQUOTE] = ACTIONS(1358),
+    [anon_sym_U_SQUOTE] = ACTIONS(1358),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1358),
+    [anon_sym_SQUOTE] = ACTIONS(1358),
+    [anon_sym_L_DQUOTE] = ACTIONS(1358),
+    [anon_sym_u_DQUOTE] = ACTIONS(1358),
+    [anon_sym_U_DQUOTE] = ACTIONS(1358),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1358),
+    [anon_sym_DQUOTE] = ACTIONS(1358),
+    [sym_true] = ACTIONS(1356),
+    [sym_false] = ACTIONS(1356),
+    [anon_sym_NULL] = ACTIONS(1356),
+    [anon_sym_nullptr] = ACTIONS(1356),
+    [sym_comment] = ACTIONS(3),
+  },
+  [370] = {
+    [sym_attribute_declaration] = STATE(378),
+    [sym_compound_statement] = STATE(180),
+    [sym_attributed_statement] = STATE(180),
+    [sym_statement] = STATE(205),
+    [sym_labeled_statement] = STATE(180),
+    [sym_expression_statement] = STATE(180),
+    [sym_if_statement] = STATE(180),
+    [sym_switch_statement] = STATE(180),
+    [sym_case_statement] = STATE(180),
+    [sym_while_statement] = STATE(180),
+    [sym_do_statement] = STATE(180),
+    [sym_for_statement] = STATE(180),
+    [sym_return_statement] = STATE(180),
+    [sym_break_statement] = STATE(180),
+    [sym_continue_statement] = STATE(180),
+    [sym_goto_statement] = STATE(180),
+    [sym_seh_try_statement] = STATE(180),
+    [sym_seh_leave_statement] = STATE(180),
+    [sym_expression] = STATE(1052),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1858),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(378),
+    [sym_identifier] = ACTIONS(1629),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -51716,99 +54902,99 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(494),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(502),
-    [anon_sym_if] = ACTIONS(504),
-    [anon_sym_switch] = ACTIONS(506),
-    [anon_sym_case] = ACTIONS(508),
-    [anon_sym_default] = ACTIONS(510),
-    [anon_sym_while] = ACTIONS(512),
-    [anon_sym_do] = ACTIONS(514),
-    [anon_sym_for] = ACTIONS(516),
-    [anon_sym_return] = ACTIONS(518),
-    [anon_sym_break] = ACTIONS(520),
-    [anon_sym_continue] = ACTIONS(522),
-    [anon_sym_goto] = ACTIONS(524),
-    [anon_sym___try] = ACTIONS(526),
-    [anon_sym___leave] = ACTIONS(528),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(498),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(506),
+    [anon_sym_if] = ACTIONS(508),
+    [anon_sym_switch] = ACTIONS(510),
+    [anon_sym_case] = ACTIONS(512),
+    [anon_sym_default] = ACTIONS(514),
+    [anon_sym_while] = ACTIONS(516),
+    [anon_sym_do] = ACTIONS(518),
+    [anon_sym_for] = ACTIONS(520),
+    [anon_sym_return] = ACTIONS(522),
+    [anon_sym_break] = ACTIONS(524),
+    [anon_sym_continue] = ACTIONS(526),
+    [anon_sym_goto] = ACTIONS(528),
+    [anon_sym___try] = ACTIONS(530),
+    [anon_sym___leave] = ACTIONS(532),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [343] = {
-    [sym_attribute_declaration] = STATE(338),
-    [sym_compound_statement] = STATE(171),
-    [sym_attributed_statement] = STATE(171),
-    [sym_statement] = STATE(182),
-    [sym_labeled_statement] = STATE(171),
-    [sym_expression_statement] = STATE(171),
-    [sym_if_statement] = STATE(171),
-    [sym_switch_statement] = STATE(171),
-    [sym_case_statement] = STATE(171),
-    [sym_while_statement] = STATE(171),
-    [sym_do_statement] = STATE(171),
-    [sym_for_statement] = STATE(171),
-    [sym_return_statement] = STATE(171),
-    [sym_break_statement] = STATE(171),
-    [sym_continue_statement] = STATE(171),
-    [sym_goto_statement] = STATE(171),
-    [sym_seh_try_statement] = STATE(171),
-    [sym_seh_leave_statement] = STATE(171),
-    [sym_expression] = STATE(1042),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1791),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(338),
-    [sym_identifier] = ACTIONS(1512),
+  [371] = {
+    [sym_attribute_declaration] = STATE(378),
+    [sym_compound_statement] = STATE(180),
+    [sym_attributed_statement] = STATE(180),
+    [sym_statement] = STATE(256),
+    [sym_labeled_statement] = STATE(180),
+    [sym_expression_statement] = STATE(180),
+    [sym_if_statement] = STATE(180),
+    [sym_switch_statement] = STATE(180),
+    [sym_case_statement] = STATE(180),
+    [sym_while_statement] = STATE(180),
+    [sym_do_statement] = STATE(180),
+    [sym_for_statement] = STATE(180),
+    [sym_return_statement] = STATE(180),
+    [sym_break_statement] = STATE(180),
+    [sym_continue_statement] = STATE(180),
+    [sym_goto_statement] = STATE(180),
+    [sym_seh_try_statement] = STATE(180),
+    [sym_seh_leave_statement] = STATE(180),
+    [sym_expression] = STATE(1052),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1858),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(378),
+    [sym_identifier] = ACTIONS(1629),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -51816,199 +55002,99 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(978),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_if] = ACTIONS(59),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(63),
-    [anon_sym_default] = ACTIONS(65),
-    [anon_sym_while] = ACTIONS(67),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(71),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(980),
-    [anon_sym___leave] = ACTIONS(982),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(498),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(506),
+    [anon_sym_if] = ACTIONS(508),
+    [anon_sym_switch] = ACTIONS(510),
+    [anon_sym_case] = ACTIONS(512),
+    [anon_sym_default] = ACTIONS(514),
+    [anon_sym_while] = ACTIONS(516),
+    [anon_sym_do] = ACTIONS(518),
+    [anon_sym_for] = ACTIONS(520),
+    [anon_sym_return] = ACTIONS(522),
+    [anon_sym_break] = ACTIONS(524),
+    [anon_sym_continue] = ACTIONS(526),
+    [anon_sym_goto] = ACTIONS(528),
+    [anon_sym___try] = ACTIONS(530),
+    [anon_sym___leave] = ACTIONS(532),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [344] = {
-    [sym_attribute_declaration] = STATE(344),
-    [sym_compound_statement] = STATE(171),
-    [sym_attributed_statement] = STATE(171),
-    [sym_statement] = STATE(176),
-    [sym_labeled_statement] = STATE(171),
-    [sym_expression_statement] = STATE(171),
-    [sym_if_statement] = STATE(171),
-    [sym_switch_statement] = STATE(171),
-    [sym_case_statement] = STATE(171),
-    [sym_while_statement] = STATE(171),
-    [sym_do_statement] = STATE(171),
-    [sym_for_statement] = STATE(171),
-    [sym_return_statement] = STATE(171),
-    [sym_break_statement] = STATE(171),
-    [sym_continue_statement] = STATE(171),
-    [sym_goto_statement] = STATE(171),
-    [sym_seh_try_statement] = STATE(171),
-    [sym_seh_leave_statement] = STATE(171),
-    [sym_expression] = STATE(1042),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1791),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(344),
-    [sym_identifier] = ACTIONS(1614),
-    [anon_sym_LPAREN2] = ACTIONS(1408),
-    [anon_sym_BANG] = ACTIONS(1411),
-    [anon_sym_TILDE] = ACTIONS(1411),
-    [anon_sym_DASH] = ACTIONS(1414),
-    [anon_sym_PLUS] = ACTIONS(1414),
-    [anon_sym_STAR] = ACTIONS(1417),
-    [anon_sym_AMP] = ACTIONS(1417),
-    [anon_sym_SEMI] = ACTIONS(1617),
-    [anon_sym___extension__] = ACTIONS(1423),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1426),
-    [anon_sym_LBRACE] = ACTIONS(1570),
-    [anon_sym_if] = ACTIONS(1620),
-    [anon_sym_switch] = ACTIONS(1576),
-    [anon_sym_case] = ACTIONS(1623),
-    [anon_sym_default] = ACTIONS(1626),
-    [anon_sym_while] = ACTIONS(1629),
-    [anon_sym_do] = ACTIONS(1588),
-    [anon_sym_for] = ACTIONS(1632),
-    [anon_sym_return] = ACTIONS(1594),
-    [anon_sym_break] = ACTIONS(1597),
-    [anon_sym_continue] = ACTIONS(1600),
-    [anon_sym_goto] = ACTIONS(1603),
-    [anon_sym___try] = ACTIONS(1635),
-    [anon_sym___leave] = ACTIONS(1638),
-    [anon_sym_DASH_DASH] = ACTIONS(1471),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1471),
-    [anon_sym_sizeof] = ACTIONS(1474),
-    [anon_sym___alignof__] = ACTIONS(1477),
-    [anon_sym___alignof] = ACTIONS(1477),
-    [anon_sym__alignof] = ACTIONS(1477),
-    [anon_sym_alignof] = ACTIONS(1477),
-    [anon_sym__Alignof] = ACTIONS(1477),
-    [anon_sym_offsetof] = ACTIONS(1480),
-    [anon_sym__Generic] = ACTIONS(1483),
-    [anon_sym_asm] = ACTIONS(1486),
-    [anon_sym___asm__] = ACTIONS(1486),
-    [anon_sym___asm] = ACTIONS(1486),
-    [sym_number_literal] = ACTIONS(1489),
-    [anon_sym_L_SQUOTE] = ACTIONS(1492),
-    [anon_sym_u_SQUOTE] = ACTIONS(1492),
-    [anon_sym_U_SQUOTE] = ACTIONS(1492),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1492),
-    [anon_sym_SQUOTE] = ACTIONS(1492),
-    [anon_sym_L_DQUOTE] = ACTIONS(1495),
-    [anon_sym_u_DQUOTE] = ACTIONS(1495),
-    [anon_sym_U_DQUOTE] = ACTIONS(1495),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1495),
-    [anon_sym_DQUOTE] = ACTIONS(1495),
-    [sym_true] = ACTIONS(1498),
-    [sym_false] = ACTIONS(1498),
-    [anon_sym_NULL] = ACTIONS(1501),
-    [anon_sym_nullptr] = ACTIONS(1501),
-    [sym_comment] = ACTIONS(3),
-  },
-  [345] = {
-    [sym_attribute_declaration] = STATE(350),
-    [sym_compound_statement] = STATE(204),
-    [sym_attributed_statement] = STATE(204),
-    [sym_statement] = STATE(226),
-    [sym_labeled_statement] = STATE(204),
-    [sym_expression_statement] = STATE(204),
-    [sym_if_statement] = STATE(204),
-    [sym_switch_statement] = STATE(204),
-    [sym_case_statement] = STATE(204),
-    [sym_while_statement] = STATE(204),
-    [sym_do_statement] = STATE(204),
-    [sym_for_statement] = STATE(204),
-    [sym_return_statement] = STATE(204),
-    [sym_break_statement] = STATE(204),
-    [sym_continue_statement] = STATE(204),
-    [sym_goto_statement] = STATE(204),
-    [sym_seh_try_statement] = STATE(204),
-    [sym_seh_leave_statement] = STATE(204),
-    [sym_expression] = STATE(1031),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1919),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(350),
-    [sym_identifier] = ACTIONS(1612),
+  [372] = {
+    [sym_attribute_declaration] = STATE(349),
+    [sym_compound_statement] = STATE(250),
+    [sym_attributed_statement] = STATE(250),
+    [sym_statement] = STATE(177),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(349),
+    [sym_identifier] = ACTIONS(1414),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -52016,99 +55102,99 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(494),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(502),
-    [anon_sym_if] = ACTIONS(504),
-    [anon_sym_switch] = ACTIONS(506),
-    [anon_sym_case] = ACTIONS(508),
-    [anon_sym_default] = ACTIONS(510),
-    [anon_sym_while] = ACTIONS(512),
-    [anon_sym_do] = ACTIONS(514),
-    [anon_sym_for] = ACTIONS(516),
-    [anon_sym_return] = ACTIONS(518),
-    [anon_sym_break] = ACTIONS(520),
-    [anon_sym_continue] = ACTIONS(522),
-    [anon_sym_goto] = ACTIONS(524),
-    [anon_sym___try] = ACTIONS(526),
-    [anon_sym___leave] = ACTIONS(528),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(378),
+    [anon_sym_if] = ACTIONS(382),
+    [anon_sym_switch] = ACTIONS(384),
+    [anon_sym_case] = ACTIONS(386),
+    [anon_sym_default] = ACTIONS(388),
+    [anon_sym_while] = ACTIONS(390),
+    [anon_sym_do] = ACTIONS(392),
+    [anon_sym_for] = ACTIONS(394),
+    [anon_sym_return] = ACTIONS(396),
+    [anon_sym_break] = ACTIONS(398),
+    [anon_sym_continue] = ACTIONS(400),
+    [anon_sym_goto] = ACTIONS(402),
+    [anon_sym___try] = ACTIONS(404),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [346] = {
-    [sym_attribute_declaration] = STATE(350),
-    [sym_compound_statement] = STATE(204),
-    [sym_attributed_statement] = STATE(204),
-    [sym_statement] = STATE(228),
-    [sym_labeled_statement] = STATE(204),
-    [sym_expression_statement] = STATE(204),
-    [sym_if_statement] = STATE(204),
-    [sym_switch_statement] = STATE(204),
-    [sym_case_statement] = STATE(204),
-    [sym_while_statement] = STATE(204),
-    [sym_do_statement] = STATE(204),
-    [sym_for_statement] = STATE(204),
-    [sym_return_statement] = STATE(204),
-    [sym_break_statement] = STATE(204),
-    [sym_continue_statement] = STATE(204),
-    [sym_goto_statement] = STATE(204),
-    [sym_seh_try_statement] = STATE(204),
-    [sym_seh_leave_statement] = STATE(204),
-    [sym_expression] = STATE(1031),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1919),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(350),
-    [sym_identifier] = ACTIONS(1612),
+  [373] = {
+    [sym_attribute_declaration] = STATE(352),
+    [sym_compound_statement] = STATE(110),
+    [sym_attributed_statement] = STATE(110),
+    [sym_statement] = STATE(114),
+    [sym_labeled_statement] = STATE(110),
+    [sym_expression_statement] = STATE(110),
+    [sym_if_statement] = STATE(110),
+    [sym_switch_statement] = STATE(110),
+    [sym_case_statement] = STATE(110),
+    [sym_while_statement] = STATE(110),
+    [sym_do_statement] = STATE(110),
+    [sym_for_statement] = STATE(110),
+    [sym_return_statement] = STATE(110),
+    [sym_break_statement] = STATE(110),
+    [sym_continue_statement] = STATE(110),
+    [sym_goto_statement] = STATE(110),
+    [sym_seh_try_statement] = STATE(110),
+    [sym_seh_leave_statement] = STATE(110),
+    [sym_expression] = STATE(1049),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1950),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(352),
+    [sym_identifier] = ACTIONS(1531),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -52116,99 +55202,199 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(494),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(502),
-    [anon_sym_if] = ACTIONS(504),
-    [anon_sym_switch] = ACTIONS(506),
-    [anon_sym_case] = ACTIONS(508),
-    [anon_sym_default] = ACTIONS(510),
-    [anon_sym_while] = ACTIONS(512),
-    [anon_sym_do] = ACTIONS(514),
-    [anon_sym_for] = ACTIONS(516),
-    [anon_sym_return] = ACTIONS(518),
-    [anon_sym_break] = ACTIONS(520),
-    [anon_sym_continue] = ACTIONS(522),
-    [anon_sym_goto] = ACTIONS(524),
-    [anon_sym___try] = ACTIONS(526),
-    [anon_sym___leave] = ACTIONS(528),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(125),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(133),
+    [anon_sym_if] = ACTIONS(135),
+    [anon_sym_switch] = ACTIONS(137),
+    [anon_sym_case] = ACTIONS(139),
+    [anon_sym_default] = ACTIONS(141),
+    [anon_sym_while] = ACTIONS(143),
+    [anon_sym_do] = ACTIONS(145),
+    [anon_sym_for] = ACTIONS(147),
+    [anon_sym_return] = ACTIONS(149),
+    [anon_sym_break] = ACTIONS(151),
+    [anon_sym_continue] = ACTIONS(153),
+    [anon_sym_goto] = ACTIONS(155),
+    [anon_sym___try] = ACTIONS(157),
+    [anon_sym___leave] = ACTIONS(159),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [347] = {
-    [sym_attribute_declaration] = STATE(328),
-    [sym_compound_statement] = STATE(84),
-    [sym_attributed_statement] = STATE(84),
-    [sym_statement] = STATE(89),
-    [sym_labeled_statement] = STATE(84),
-    [sym_expression_statement] = STATE(84),
-    [sym_if_statement] = STATE(84),
-    [sym_switch_statement] = STATE(84),
-    [sym_case_statement] = STATE(84),
-    [sym_while_statement] = STATE(84),
-    [sym_do_statement] = STATE(84),
-    [sym_for_statement] = STATE(84),
-    [sym_return_statement] = STATE(84),
-    [sym_break_statement] = STATE(84),
-    [sym_continue_statement] = STATE(84),
-    [sym_goto_statement] = STATE(84),
-    [sym_seh_try_statement] = STATE(84),
-    [sym_seh_leave_statement] = STATE(84),
-    [sym_expression] = STATE(1019),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1761),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(328),
-    [sym_identifier] = ACTIONS(1514),
+  [374] = {
+    [ts_builtin_sym_end] = ACTIONS(1366),
+    [sym_identifier] = ACTIONS(1364),
+    [aux_sym_preproc_include_token1] = ACTIONS(1364),
+    [aux_sym_preproc_def_token1] = ACTIONS(1364),
+    [aux_sym_preproc_if_token1] = ACTIONS(1364),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1364),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1364),
+    [sym_preproc_directive] = ACTIONS(1364),
+    [anon_sym_LPAREN2] = ACTIONS(1366),
+    [anon_sym_BANG] = ACTIONS(1366),
+    [anon_sym_TILDE] = ACTIONS(1366),
+    [anon_sym_DASH] = ACTIONS(1364),
+    [anon_sym_PLUS] = ACTIONS(1364),
+    [anon_sym_STAR] = ACTIONS(1366),
+    [anon_sym_AMP] = ACTIONS(1366),
+    [anon_sym_SEMI] = ACTIONS(1366),
+    [anon_sym___extension__] = ACTIONS(1364),
+    [anon_sym_typedef] = ACTIONS(1364),
+    [anon_sym_extern] = ACTIONS(1364),
+    [anon_sym___attribute__] = ACTIONS(1364),
+    [anon_sym___attribute] = ACTIONS(1364),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1366),
+    [anon_sym___declspec] = ACTIONS(1364),
+    [anon_sym___cdecl] = ACTIONS(1364),
+    [anon_sym___clrcall] = ACTIONS(1364),
+    [anon_sym___stdcall] = ACTIONS(1364),
+    [anon_sym___fastcall] = ACTIONS(1364),
+    [anon_sym___thiscall] = ACTIONS(1364),
+    [anon_sym___vectorcall] = ACTIONS(1364),
+    [anon_sym_LBRACE] = ACTIONS(1366),
+    [anon_sym_signed] = ACTIONS(1364),
+    [anon_sym_unsigned] = ACTIONS(1364),
+    [anon_sym_long] = ACTIONS(1364),
+    [anon_sym_short] = ACTIONS(1364),
+    [anon_sym_static] = ACTIONS(1364),
+    [anon_sym_auto] = ACTIONS(1364),
+    [anon_sym_register] = ACTIONS(1364),
+    [anon_sym_inline] = ACTIONS(1364),
+    [anon_sym___inline] = ACTIONS(1364),
+    [anon_sym___inline__] = ACTIONS(1364),
+    [anon_sym___forceinline] = ACTIONS(1364),
+    [anon_sym_thread_local] = ACTIONS(1364),
+    [anon_sym___thread] = ACTIONS(1364),
+    [anon_sym_const] = ACTIONS(1364),
+    [anon_sym_constexpr] = ACTIONS(1364),
+    [anon_sym_volatile] = ACTIONS(1364),
+    [anon_sym_restrict] = ACTIONS(1364),
+    [anon_sym___restrict__] = ACTIONS(1364),
+    [anon_sym__Atomic] = ACTIONS(1364),
+    [anon_sym__Noreturn] = ACTIONS(1364),
+    [anon_sym_noreturn] = ACTIONS(1364),
+    [anon_sym__Nonnull] = ACTIONS(1364),
+    [anon_sym_alignas] = ACTIONS(1364),
+    [anon_sym__Alignas] = ACTIONS(1364),
+    [sym_primitive_type] = ACTIONS(1364),
+    [anon_sym_enum] = ACTIONS(1364),
+    [anon_sym_struct] = ACTIONS(1364),
+    [anon_sym_union] = ACTIONS(1364),
+    [anon_sym_if] = ACTIONS(1364),
+    [anon_sym_switch] = ACTIONS(1364),
+    [anon_sym_case] = ACTIONS(1364),
+    [anon_sym_default] = ACTIONS(1364),
+    [anon_sym_while] = ACTIONS(1364),
+    [anon_sym_do] = ACTIONS(1364),
+    [anon_sym_for] = ACTIONS(1364),
+    [anon_sym_return] = ACTIONS(1364),
+    [anon_sym_break] = ACTIONS(1364),
+    [anon_sym_continue] = ACTIONS(1364),
+    [anon_sym_goto] = ACTIONS(1364),
+    [anon_sym_DASH_DASH] = ACTIONS(1366),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1366),
+    [anon_sym_sizeof] = ACTIONS(1364),
+    [anon_sym___alignof__] = ACTIONS(1364),
+    [anon_sym___alignof] = ACTIONS(1364),
+    [anon_sym__alignof] = ACTIONS(1364),
+    [anon_sym_alignof] = ACTIONS(1364),
+    [anon_sym__Alignof] = ACTIONS(1364),
+    [anon_sym_offsetof] = ACTIONS(1364),
+    [anon_sym__Generic] = ACTIONS(1364),
+    [anon_sym_asm] = ACTIONS(1364),
+    [anon_sym___asm__] = ACTIONS(1364),
+    [anon_sym___asm] = ACTIONS(1364),
+    [sym_number_literal] = ACTIONS(1366),
+    [anon_sym_L_SQUOTE] = ACTIONS(1366),
+    [anon_sym_u_SQUOTE] = ACTIONS(1366),
+    [anon_sym_U_SQUOTE] = ACTIONS(1366),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1366),
+    [anon_sym_SQUOTE] = ACTIONS(1366),
+    [anon_sym_L_DQUOTE] = ACTIONS(1366),
+    [anon_sym_u_DQUOTE] = ACTIONS(1366),
+    [anon_sym_U_DQUOTE] = ACTIONS(1366),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1366),
+    [anon_sym_DQUOTE] = ACTIONS(1366),
+    [sym_true] = ACTIONS(1364),
+    [sym_false] = ACTIONS(1364),
+    [anon_sym_NULL] = ACTIONS(1364),
+    [anon_sym_nullptr] = ACTIONS(1364),
+    [sym_comment] = ACTIONS(3),
+  },
+  [375] = {
+    [sym_attribute_declaration] = STATE(366),
+    [sym_compound_statement] = STATE(159),
+    [sym_attributed_statement] = STATE(159),
+    [sym_statement] = STATE(241),
+    [sym_labeled_statement] = STATE(159),
+    [sym_expression_statement] = STATE(159),
+    [sym_if_statement] = STATE(159),
+    [sym_switch_statement] = STATE(159),
+    [sym_case_statement] = STATE(159),
+    [sym_while_statement] = STATE(159),
+    [sym_do_statement] = STATE(159),
+    [sym_for_statement] = STATE(159),
+    [sym_return_statement] = STATE(159),
+    [sym_break_statement] = STATE(159),
+    [sym_continue_statement] = STATE(159),
+    [sym_goto_statement] = STATE(159),
+    [sym_seh_try_statement] = STATE(159),
+    [sym_seh_leave_statement] = STATE(159),
+    [sym_expression] = STATE(1074),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1913),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(366),
+    [sym_identifier] = ACTIONS(1420),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -52216,99 +55402,99 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(123),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(131),
-    [anon_sym_if] = ACTIONS(133),
-    [anon_sym_switch] = ACTIONS(135),
-    [anon_sym_case] = ACTIONS(137),
-    [anon_sym_default] = ACTIONS(139),
-    [anon_sym_while] = ACTIONS(141),
-    [anon_sym_do] = ACTIONS(143),
-    [anon_sym_for] = ACTIONS(145),
-    [anon_sym_return] = ACTIONS(147),
-    [anon_sym_break] = ACTIONS(149),
-    [anon_sym_continue] = ACTIONS(151),
-    [anon_sym_goto] = ACTIONS(153),
-    [anon_sym___try] = ACTIONS(155),
-    [anon_sym___leave] = ACTIONS(157),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(929),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_if] = ACTIONS(61),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(65),
+    [anon_sym_default] = ACTIONS(67),
+    [anon_sym_while] = ACTIONS(69),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(73),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(931),
+    [anon_sym___leave] = ACTIONS(933),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [348] = {
-    [sym_attribute_declaration] = STATE(338),
-    [sym_compound_statement] = STATE(171),
-    [sym_attributed_statement] = STATE(171),
-    [sym_statement] = STATE(161),
-    [sym_labeled_statement] = STATE(171),
-    [sym_expression_statement] = STATE(171),
-    [sym_if_statement] = STATE(171),
-    [sym_switch_statement] = STATE(171),
-    [sym_case_statement] = STATE(171),
-    [sym_while_statement] = STATE(171),
-    [sym_do_statement] = STATE(171),
-    [sym_for_statement] = STATE(171),
-    [sym_return_statement] = STATE(171),
-    [sym_break_statement] = STATE(171),
-    [sym_continue_statement] = STATE(171),
-    [sym_goto_statement] = STATE(171),
-    [sym_seh_try_statement] = STATE(171),
-    [sym_seh_leave_statement] = STATE(171),
-    [sym_expression] = STATE(1042),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1791),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(338),
-    [sym_identifier] = ACTIONS(1512),
+  [376] = {
+    [sym_attribute_declaration] = STATE(361),
+    [sym_compound_statement] = STATE(250),
+    [sym_attributed_statement] = STATE(250),
+    [sym_statement] = STATE(2011),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(361),
+    [sym_identifier] = ACTIONS(1422),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -52316,199 +55502,199 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(978),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_if] = ACTIONS(59),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(63),
-    [anon_sym_default] = ACTIONS(65),
-    [anon_sym_while] = ACTIONS(67),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(71),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(980),
-    [anon_sym___leave] = ACTIONS(982),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_if] = ACTIONS(1095),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(1103),
+    [anon_sym_default] = ACTIONS(1105),
+    [anon_sym_while] = ACTIONS(1097),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(1099),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(1101),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [349] = {
-    [sym_attribute_declaration] = STATE(349),
-    [sym_compound_statement] = STATE(177),
-    [sym_attributed_statement] = STATE(177),
-    [sym_statement] = STATE(178),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(349),
-    [sym_identifier] = ACTIONS(1641),
-    [anon_sym_LPAREN2] = ACTIONS(1408),
-    [anon_sym_BANG] = ACTIONS(1411),
-    [anon_sym_TILDE] = ACTIONS(1411),
-    [anon_sym_DASH] = ACTIONS(1414),
-    [anon_sym_PLUS] = ACTIONS(1414),
-    [anon_sym_STAR] = ACTIONS(1417),
-    [anon_sym_AMP] = ACTIONS(1417),
-    [anon_sym_SEMI] = ACTIONS(1567),
-    [anon_sym___extension__] = ACTIONS(1423),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1426),
-    [anon_sym_LBRACE] = ACTIONS(1644),
-    [anon_sym_if] = ACTIONS(1647),
-    [anon_sym_switch] = ACTIONS(1650),
-    [anon_sym_case] = ACTIONS(1653),
-    [anon_sym_default] = ACTIONS(1656),
-    [anon_sym_while] = ACTIONS(1659),
-    [anon_sym_do] = ACTIONS(1662),
-    [anon_sym_for] = ACTIONS(1665),
-    [anon_sym_return] = ACTIONS(1668),
-    [anon_sym_break] = ACTIONS(1671),
-    [anon_sym_continue] = ACTIONS(1674),
-    [anon_sym_goto] = ACTIONS(1677),
-    [anon_sym___try] = ACTIONS(1680),
-    [anon_sym___leave] = ACTIONS(1609),
-    [anon_sym_DASH_DASH] = ACTIONS(1471),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1471),
-    [anon_sym_sizeof] = ACTIONS(1474),
-    [anon_sym___alignof__] = ACTIONS(1477),
-    [anon_sym___alignof] = ACTIONS(1477),
-    [anon_sym__alignof] = ACTIONS(1477),
-    [anon_sym_alignof] = ACTIONS(1477),
-    [anon_sym__Alignof] = ACTIONS(1477),
-    [anon_sym_offsetof] = ACTIONS(1480),
-    [anon_sym__Generic] = ACTIONS(1483),
-    [anon_sym_asm] = ACTIONS(1486),
-    [anon_sym___asm__] = ACTIONS(1486),
-    [anon_sym___asm] = ACTIONS(1486),
-    [sym_number_literal] = ACTIONS(1489),
-    [anon_sym_L_SQUOTE] = ACTIONS(1492),
-    [anon_sym_u_SQUOTE] = ACTIONS(1492),
-    [anon_sym_U_SQUOTE] = ACTIONS(1492),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1492),
-    [anon_sym_SQUOTE] = ACTIONS(1492),
-    [anon_sym_L_DQUOTE] = ACTIONS(1495),
-    [anon_sym_u_DQUOTE] = ACTIONS(1495),
-    [anon_sym_U_DQUOTE] = ACTIONS(1495),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1495),
-    [anon_sym_DQUOTE] = ACTIONS(1495),
-    [sym_true] = ACTIONS(1498),
-    [sym_false] = ACTIONS(1498),
-    [anon_sym_NULL] = ACTIONS(1501),
-    [anon_sym_nullptr] = ACTIONS(1501),
+  [377] = {
+    [ts_builtin_sym_end] = ACTIONS(1350),
+    [sym_identifier] = ACTIONS(1348),
+    [aux_sym_preproc_include_token1] = ACTIONS(1348),
+    [aux_sym_preproc_def_token1] = ACTIONS(1348),
+    [aux_sym_preproc_if_token1] = ACTIONS(1348),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1348),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1348),
+    [sym_preproc_directive] = ACTIONS(1348),
+    [anon_sym_LPAREN2] = ACTIONS(1350),
+    [anon_sym_BANG] = ACTIONS(1350),
+    [anon_sym_TILDE] = ACTIONS(1350),
+    [anon_sym_DASH] = ACTIONS(1348),
+    [anon_sym_PLUS] = ACTIONS(1348),
+    [anon_sym_STAR] = ACTIONS(1350),
+    [anon_sym_AMP] = ACTIONS(1350),
+    [anon_sym_SEMI] = ACTIONS(1350),
+    [anon_sym___extension__] = ACTIONS(1348),
+    [anon_sym_typedef] = ACTIONS(1348),
+    [anon_sym_extern] = ACTIONS(1348),
+    [anon_sym___attribute__] = ACTIONS(1348),
+    [anon_sym___attribute] = ACTIONS(1348),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1350),
+    [anon_sym___declspec] = ACTIONS(1348),
+    [anon_sym___cdecl] = ACTIONS(1348),
+    [anon_sym___clrcall] = ACTIONS(1348),
+    [anon_sym___stdcall] = ACTIONS(1348),
+    [anon_sym___fastcall] = ACTIONS(1348),
+    [anon_sym___thiscall] = ACTIONS(1348),
+    [anon_sym___vectorcall] = ACTIONS(1348),
+    [anon_sym_LBRACE] = ACTIONS(1350),
+    [anon_sym_signed] = ACTIONS(1348),
+    [anon_sym_unsigned] = ACTIONS(1348),
+    [anon_sym_long] = ACTIONS(1348),
+    [anon_sym_short] = ACTIONS(1348),
+    [anon_sym_static] = ACTIONS(1348),
+    [anon_sym_auto] = ACTIONS(1348),
+    [anon_sym_register] = ACTIONS(1348),
+    [anon_sym_inline] = ACTIONS(1348),
+    [anon_sym___inline] = ACTIONS(1348),
+    [anon_sym___inline__] = ACTIONS(1348),
+    [anon_sym___forceinline] = ACTIONS(1348),
+    [anon_sym_thread_local] = ACTIONS(1348),
+    [anon_sym___thread] = ACTIONS(1348),
+    [anon_sym_const] = ACTIONS(1348),
+    [anon_sym_constexpr] = ACTIONS(1348),
+    [anon_sym_volatile] = ACTIONS(1348),
+    [anon_sym_restrict] = ACTIONS(1348),
+    [anon_sym___restrict__] = ACTIONS(1348),
+    [anon_sym__Atomic] = ACTIONS(1348),
+    [anon_sym__Noreturn] = ACTIONS(1348),
+    [anon_sym_noreturn] = ACTIONS(1348),
+    [anon_sym__Nonnull] = ACTIONS(1348),
+    [anon_sym_alignas] = ACTIONS(1348),
+    [anon_sym__Alignas] = ACTIONS(1348),
+    [sym_primitive_type] = ACTIONS(1348),
+    [anon_sym_enum] = ACTIONS(1348),
+    [anon_sym_struct] = ACTIONS(1348),
+    [anon_sym_union] = ACTIONS(1348),
+    [anon_sym_if] = ACTIONS(1348),
+    [anon_sym_switch] = ACTIONS(1348),
+    [anon_sym_case] = ACTIONS(1348),
+    [anon_sym_default] = ACTIONS(1348),
+    [anon_sym_while] = ACTIONS(1348),
+    [anon_sym_do] = ACTIONS(1348),
+    [anon_sym_for] = ACTIONS(1348),
+    [anon_sym_return] = ACTIONS(1348),
+    [anon_sym_break] = ACTIONS(1348),
+    [anon_sym_continue] = ACTIONS(1348),
+    [anon_sym_goto] = ACTIONS(1348),
+    [anon_sym_DASH_DASH] = ACTIONS(1350),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1350),
+    [anon_sym_sizeof] = ACTIONS(1348),
+    [anon_sym___alignof__] = ACTIONS(1348),
+    [anon_sym___alignof] = ACTIONS(1348),
+    [anon_sym__alignof] = ACTIONS(1348),
+    [anon_sym_alignof] = ACTIONS(1348),
+    [anon_sym__Alignof] = ACTIONS(1348),
+    [anon_sym_offsetof] = ACTIONS(1348),
+    [anon_sym__Generic] = ACTIONS(1348),
+    [anon_sym_asm] = ACTIONS(1348),
+    [anon_sym___asm__] = ACTIONS(1348),
+    [anon_sym___asm] = ACTIONS(1348),
+    [sym_number_literal] = ACTIONS(1350),
+    [anon_sym_L_SQUOTE] = ACTIONS(1350),
+    [anon_sym_u_SQUOTE] = ACTIONS(1350),
+    [anon_sym_U_SQUOTE] = ACTIONS(1350),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1350),
+    [anon_sym_SQUOTE] = ACTIONS(1350),
+    [anon_sym_L_DQUOTE] = ACTIONS(1350),
+    [anon_sym_u_DQUOTE] = ACTIONS(1350),
+    [anon_sym_U_DQUOTE] = ACTIONS(1350),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1350),
+    [anon_sym_DQUOTE] = ACTIONS(1350),
+    [sym_true] = ACTIONS(1348),
+    [sym_false] = ACTIONS(1348),
+    [anon_sym_NULL] = ACTIONS(1348),
+    [anon_sym_nullptr] = ACTIONS(1348),
     [sym_comment] = ACTIONS(3),
   },
-  [350] = {
-    [sym_attribute_declaration] = STATE(317),
-    [sym_compound_statement] = STATE(204),
-    [sym_attributed_statement] = STATE(204),
-    [sym_statement] = STATE(208),
-    [sym_labeled_statement] = STATE(204),
-    [sym_expression_statement] = STATE(204),
-    [sym_if_statement] = STATE(204),
-    [sym_switch_statement] = STATE(204),
-    [sym_case_statement] = STATE(204),
-    [sym_while_statement] = STATE(204),
-    [sym_do_statement] = STATE(204),
-    [sym_for_statement] = STATE(204),
-    [sym_return_statement] = STATE(204),
-    [sym_break_statement] = STATE(204),
-    [sym_continue_statement] = STATE(204),
-    [sym_goto_statement] = STATE(204),
-    [sym_seh_try_statement] = STATE(204),
-    [sym_seh_leave_statement] = STATE(204),
-    [sym_expression] = STATE(1031),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1919),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(317),
-    [sym_identifier] = ACTIONS(1612),
+  [378] = {
+    [sym_attribute_declaration] = STATE(365),
+    [sym_compound_statement] = STATE(180),
+    [sym_attributed_statement] = STATE(180),
+    [sym_statement] = STATE(185),
+    [sym_labeled_statement] = STATE(180),
+    [sym_expression_statement] = STATE(180),
+    [sym_if_statement] = STATE(180),
+    [sym_switch_statement] = STATE(180),
+    [sym_case_statement] = STATE(180),
+    [sym_while_statement] = STATE(180),
+    [sym_do_statement] = STATE(180),
+    [sym_for_statement] = STATE(180),
+    [sym_return_statement] = STATE(180),
+    [sym_break_statement] = STATE(180),
+    [sym_continue_statement] = STATE(180),
+    [sym_goto_statement] = STATE(180),
+    [sym_seh_try_statement] = STATE(180),
+    [sym_seh_leave_statement] = STATE(180),
+    [sym_expression] = STATE(1052),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1858),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(365),
+    [sym_identifier] = ACTIONS(1629),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -52516,99 +55702,99 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(494),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(502),
-    [anon_sym_if] = ACTIONS(504),
-    [anon_sym_switch] = ACTIONS(506),
-    [anon_sym_case] = ACTIONS(508),
-    [anon_sym_default] = ACTIONS(510),
-    [anon_sym_while] = ACTIONS(512),
-    [anon_sym_do] = ACTIONS(514),
-    [anon_sym_for] = ACTIONS(516),
-    [anon_sym_return] = ACTIONS(518),
-    [anon_sym_break] = ACTIONS(520),
-    [anon_sym_continue] = ACTIONS(522),
-    [anon_sym_goto] = ACTIONS(524),
-    [anon_sym___try] = ACTIONS(526),
-    [anon_sym___leave] = ACTIONS(528),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(498),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(506),
+    [anon_sym_if] = ACTIONS(508),
+    [anon_sym_switch] = ACTIONS(510),
+    [anon_sym_case] = ACTIONS(512),
+    [anon_sym_default] = ACTIONS(514),
+    [anon_sym_while] = ACTIONS(516),
+    [anon_sym_do] = ACTIONS(518),
+    [anon_sym_for] = ACTIONS(520),
+    [anon_sym_return] = ACTIONS(522),
+    [anon_sym_break] = ACTIONS(524),
+    [anon_sym_continue] = ACTIONS(526),
+    [anon_sym_goto] = ACTIONS(528),
+    [anon_sym___try] = ACTIONS(530),
+    [anon_sym___leave] = ACTIONS(532),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [351] = {
-    [sym_attribute_declaration] = STATE(340),
-    [sym_compound_statement] = STATE(177),
-    [sym_attributed_statement] = STATE(177),
-    [sym_statement] = STATE(1974),
-    [sym_labeled_statement] = STATE(177),
-    [sym_expression_statement] = STATE(177),
-    [sym_if_statement] = STATE(177),
-    [sym_switch_statement] = STATE(177),
-    [sym_case_statement] = STATE(177),
-    [sym_while_statement] = STATE(177),
-    [sym_do_statement] = STATE(177),
-    [sym_for_statement] = STATE(177),
-    [sym_return_statement] = STATE(177),
-    [sym_break_statement] = STATE(177),
-    [sym_continue_statement] = STATE(177),
-    [sym_goto_statement] = STATE(177),
-    [sym_seh_try_statement] = STATE(177),
-    [sym_seh_leave_statement] = STATE(177),
-    [sym_expression] = STATE(1026),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1927),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(340),
-    [sym_identifier] = ACTIONS(1504),
+  [379] = {
+    [sym_attribute_declaration] = STATE(361),
+    [sym_compound_statement] = STATE(250),
+    [sym_attributed_statement] = STATE(250),
+    [sym_statement] = STATE(1988),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(361),
+    [sym_identifier] = ACTIONS(1422),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -52616,99 +55802,99 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(368),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_if] = ACTIONS(1088),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(1098),
-    [anon_sym_default] = ACTIONS(1100),
-    [anon_sym_while] = ACTIONS(1090),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(1092),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(1094),
-    [anon_sym___leave] = ACTIONS(404),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_if] = ACTIONS(1095),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(1103),
+    [anon_sym_default] = ACTIONS(1105),
+    [anon_sym_while] = ACTIONS(1097),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(1099),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(1101),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [352] = {
-    [sym_attribute_declaration] = STATE(338),
-    [sym_compound_statement] = STATE(171),
-    [sym_attributed_statement] = STATE(171),
-    [sym_statement] = STATE(241),
-    [sym_labeled_statement] = STATE(171),
-    [sym_expression_statement] = STATE(171),
-    [sym_if_statement] = STATE(171),
-    [sym_switch_statement] = STATE(171),
-    [sym_case_statement] = STATE(171),
-    [sym_while_statement] = STATE(171),
-    [sym_do_statement] = STATE(171),
-    [sym_for_statement] = STATE(171),
-    [sym_return_statement] = STATE(171),
-    [sym_break_statement] = STATE(171),
-    [sym_continue_statement] = STATE(171),
-    [sym_goto_statement] = STATE(171),
-    [sym_seh_try_statement] = STATE(171),
-    [sym_seh_leave_statement] = STATE(171),
-    [sym_expression] = STATE(1042),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1791),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_attributed_declarator_repeat1] = STATE(338),
-    [sym_identifier] = ACTIONS(1512),
+  [380] = {
+    [sym_attribute_declaration] = STATE(361),
+    [sym_compound_statement] = STATE(250),
+    [sym_attributed_statement] = STATE(250),
+    [sym_statement] = STATE(2003),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(361),
+    [sym_identifier] = ACTIONS(1422),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -52716,2823 +55902,99 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym_SEMI] = ACTIONS(978),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1508),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_if] = ACTIONS(59),
-    [anon_sym_switch] = ACTIONS(61),
-    [anon_sym_case] = ACTIONS(63),
-    [anon_sym_default] = ACTIONS(65),
-    [anon_sym_while] = ACTIONS(67),
-    [anon_sym_do] = ACTIONS(69),
-    [anon_sym_for] = ACTIONS(71),
-    [anon_sym_return] = ACTIONS(73),
-    [anon_sym_break] = ACTIONS(75),
-    [anon_sym_continue] = ACTIONS(77),
-    [anon_sym_goto] = ACTIONS(79),
-    [anon_sym___try] = ACTIONS(980),
-    [anon_sym___leave] = ACTIONS(982),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
-    [sym_comment] = ACTIONS(3),
-  },
-  [353] = {
-    [ts_builtin_sym_end] = ACTIONS(1315),
-    [sym_identifier] = ACTIONS(1313),
-    [aux_sym_preproc_include_token1] = ACTIONS(1313),
-    [aux_sym_preproc_def_token1] = ACTIONS(1313),
-    [aux_sym_preproc_if_token1] = ACTIONS(1313),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1313),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1313),
-    [sym_preproc_directive] = ACTIONS(1313),
-    [anon_sym_LPAREN2] = ACTIONS(1315),
-    [anon_sym_BANG] = ACTIONS(1315),
-    [anon_sym_TILDE] = ACTIONS(1315),
-    [anon_sym_DASH] = ACTIONS(1313),
-    [anon_sym_PLUS] = ACTIONS(1313),
-    [anon_sym_STAR] = ACTIONS(1315),
-    [anon_sym_AMP] = ACTIONS(1315),
-    [anon_sym___extension__] = ACTIONS(1313),
-    [anon_sym_typedef] = ACTIONS(1313),
-    [anon_sym_extern] = ACTIONS(1313),
-    [anon_sym___attribute__] = ACTIONS(1313),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1315),
-    [anon_sym___declspec] = ACTIONS(1313),
-    [anon_sym___cdecl] = ACTIONS(1313),
-    [anon_sym___clrcall] = ACTIONS(1313),
-    [anon_sym___stdcall] = ACTIONS(1313),
-    [anon_sym___fastcall] = ACTIONS(1313),
-    [anon_sym___thiscall] = ACTIONS(1313),
-    [anon_sym___vectorcall] = ACTIONS(1313),
-    [anon_sym_LBRACE] = ACTIONS(1315),
-    [anon_sym_signed] = ACTIONS(1313),
-    [anon_sym_unsigned] = ACTIONS(1313),
-    [anon_sym_long] = ACTIONS(1313),
-    [anon_sym_short] = ACTIONS(1313),
-    [anon_sym_static] = ACTIONS(1313),
-    [anon_sym_auto] = ACTIONS(1313),
-    [anon_sym_register] = ACTIONS(1313),
-    [anon_sym_inline] = ACTIONS(1313),
-    [anon_sym___inline] = ACTIONS(1313),
-    [anon_sym___inline__] = ACTIONS(1313),
-    [anon_sym___forceinline] = ACTIONS(1313),
-    [anon_sym_thread_local] = ACTIONS(1313),
-    [anon_sym___thread] = ACTIONS(1313),
-    [anon_sym_const] = ACTIONS(1313),
-    [anon_sym_constexpr] = ACTIONS(1313),
-    [anon_sym_volatile] = ACTIONS(1313),
-    [anon_sym_restrict] = ACTIONS(1313),
-    [anon_sym___restrict__] = ACTIONS(1313),
-    [anon_sym__Atomic] = ACTIONS(1313),
-    [anon_sym__Noreturn] = ACTIONS(1313),
-    [anon_sym_noreturn] = ACTIONS(1313),
-    [anon_sym__Nonnull] = ACTIONS(1313),
-    [anon_sym_alignas] = ACTIONS(1313),
-    [anon_sym__Alignas] = ACTIONS(1313),
-    [sym_primitive_type] = ACTIONS(1313),
-    [anon_sym_enum] = ACTIONS(1313),
-    [anon_sym_struct] = ACTIONS(1313),
-    [anon_sym_union] = ACTIONS(1313),
-    [anon_sym_if] = ACTIONS(1313),
-    [anon_sym_switch] = ACTIONS(1313),
-    [anon_sym_case] = ACTIONS(1313),
-    [anon_sym_default] = ACTIONS(1313),
-    [anon_sym_while] = ACTIONS(1313),
-    [anon_sym_do] = ACTIONS(1313),
-    [anon_sym_for] = ACTIONS(1313),
-    [anon_sym_return] = ACTIONS(1313),
-    [anon_sym_break] = ACTIONS(1313),
-    [anon_sym_continue] = ACTIONS(1313),
-    [anon_sym_goto] = ACTIONS(1313),
-    [anon_sym_DASH_DASH] = ACTIONS(1315),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1315),
-    [anon_sym_sizeof] = ACTIONS(1313),
-    [anon_sym___alignof__] = ACTIONS(1313),
-    [anon_sym___alignof] = ACTIONS(1313),
-    [anon_sym__alignof] = ACTIONS(1313),
-    [anon_sym_alignof] = ACTIONS(1313),
-    [anon_sym__Alignof] = ACTIONS(1313),
-    [anon_sym_offsetof] = ACTIONS(1313),
-    [anon_sym__Generic] = ACTIONS(1313),
-    [anon_sym_asm] = ACTIONS(1313),
-    [anon_sym___asm__] = ACTIONS(1313),
-    [anon_sym___asm] = ACTIONS(1313),
-    [sym_number_literal] = ACTIONS(1315),
-    [anon_sym_L_SQUOTE] = ACTIONS(1315),
-    [anon_sym_u_SQUOTE] = ACTIONS(1315),
-    [anon_sym_U_SQUOTE] = ACTIONS(1315),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1315),
-    [anon_sym_SQUOTE] = ACTIONS(1315),
-    [anon_sym_L_DQUOTE] = ACTIONS(1315),
-    [anon_sym_u_DQUOTE] = ACTIONS(1315),
-    [anon_sym_U_DQUOTE] = ACTIONS(1315),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1315),
-    [anon_sym_DQUOTE] = ACTIONS(1315),
-    [sym_true] = ACTIONS(1313),
-    [sym_false] = ACTIONS(1313),
-    [anon_sym_NULL] = ACTIONS(1313),
-    [anon_sym_nullptr] = ACTIONS(1313),
-    [sym_comment] = ACTIONS(3),
-  },
-  [354] = {
-    [ts_builtin_sym_end] = ACTIONS(1311),
-    [sym_identifier] = ACTIONS(1309),
-    [aux_sym_preproc_include_token1] = ACTIONS(1309),
-    [aux_sym_preproc_def_token1] = ACTIONS(1309),
-    [aux_sym_preproc_if_token1] = ACTIONS(1309),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1309),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1309),
-    [sym_preproc_directive] = ACTIONS(1309),
-    [anon_sym_LPAREN2] = ACTIONS(1311),
-    [anon_sym_BANG] = ACTIONS(1311),
-    [anon_sym_TILDE] = ACTIONS(1311),
-    [anon_sym_DASH] = ACTIONS(1309),
-    [anon_sym_PLUS] = ACTIONS(1309),
-    [anon_sym_STAR] = ACTIONS(1311),
-    [anon_sym_AMP] = ACTIONS(1311),
-    [anon_sym___extension__] = ACTIONS(1309),
-    [anon_sym_typedef] = ACTIONS(1309),
-    [anon_sym_extern] = ACTIONS(1309),
-    [anon_sym___attribute__] = ACTIONS(1309),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1311),
-    [anon_sym___declspec] = ACTIONS(1309),
-    [anon_sym___cdecl] = ACTIONS(1309),
-    [anon_sym___clrcall] = ACTIONS(1309),
-    [anon_sym___stdcall] = ACTIONS(1309),
-    [anon_sym___fastcall] = ACTIONS(1309),
-    [anon_sym___thiscall] = ACTIONS(1309),
-    [anon_sym___vectorcall] = ACTIONS(1309),
-    [anon_sym_LBRACE] = ACTIONS(1311),
-    [anon_sym_signed] = ACTIONS(1309),
-    [anon_sym_unsigned] = ACTIONS(1309),
-    [anon_sym_long] = ACTIONS(1309),
-    [anon_sym_short] = ACTIONS(1309),
-    [anon_sym_static] = ACTIONS(1309),
-    [anon_sym_auto] = ACTIONS(1309),
-    [anon_sym_register] = ACTIONS(1309),
-    [anon_sym_inline] = ACTIONS(1309),
-    [anon_sym___inline] = ACTIONS(1309),
-    [anon_sym___inline__] = ACTIONS(1309),
-    [anon_sym___forceinline] = ACTIONS(1309),
-    [anon_sym_thread_local] = ACTIONS(1309),
-    [anon_sym___thread] = ACTIONS(1309),
-    [anon_sym_const] = ACTIONS(1309),
-    [anon_sym_constexpr] = ACTIONS(1309),
-    [anon_sym_volatile] = ACTIONS(1309),
-    [anon_sym_restrict] = ACTIONS(1309),
-    [anon_sym___restrict__] = ACTIONS(1309),
-    [anon_sym__Atomic] = ACTIONS(1309),
-    [anon_sym__Noreturn] = ACTIONS(1309),
-    [anon_sym_noreturn] = ACTIONS(1309),
-    [anon_sym__Nonnull] = ACTIONS(1309),
-    [anon_sym_alignas] = ACTIONS(1309),
-    [anon_sym__Alignas] = ACTIONS(1309),
-    [sym_primitive_type] = ACTIONS(1309),
-    [anon_sym_enum] = ACTIONS(1309),
-    [anon_sym_struct] = ACTIONS(1309),
-    [anon_sym_union] = ACTIONS(1309),
-    [anon_sym_if] = ACTIONS(1309),
-    [anon_sym_switch] = ACTIONS(1309),
-    [anon_sym_case] = ACTIONS(1309),
-    [anon_sym_default] = ACTIONS(1309),
-    [anon_sym_while] = ACTIONS(1309),
-    [anon_sym_do] = ACTIONS(1309),
-    [anon_sym_for] = ACTIONS(1309),
-    [anon_sym_return] = ACTIONS(1309),
-    [anon_sym_break] = ACTIONS(1309),
-    [anon_sym_continue] = ACTIONS(1309),
-    [anon_sym_goto] = ACTIONS(1309),
-    [anon_sym_DASH_DASH] = ACTIONS(1311),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1311),
-    [anon_sym_sizeof] = ACTIONS(1309),
-    [anon_sym___alignof__] = ACTIONS(1309),
-    [anon_sym___alignof] = ACTIONS(1309),
-    [anon_sym__alignof] = ACTIONS(1309),
-    [anon_sym_alignof] = ACTIONS(1309),
-    [anon_sym__Alignof] = ACTIONS(1309),
-    [anon_sym_offsetof] = ACTIONS(1309),
-    [anon_sym__Generic] = ACTIONS(1309),
-    [anon_sym_asm] = ACTIONS(1309),
-    [anon_sym___asm__] = ACTIONS(1309),
-    [anon_sym___asm] = ACTIONS(1309),
-    [sym_number_literal] = ACTIONS(1311),
-    [anon_sym_L_SQUOTE] = ACTIONS(1311),
-    [anon_sym_u_SQUOTE] = ACTIONS(1311),
-    [anon_sym_U_SQUOTE] = ACTIONS(1311),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1311),
-    [anon_sym_SQUOTE] = ACTIONS(1311),
-    [anon_sym_L_DQUOTE] = ACTIONS(1311),
-    [anon_sym_u_DQUOTE] = ACTIONS(1311),
-    [anon_sym_U_DQUOTE] = ACTIONS(1311),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1311),
-    [anon_sym_DQUOTE] = ACTIONS(1311),
-    [sym_true] = ACTIONS(1309),
-    [sym_false] = ACTIONS(1309),
-    [anon_sym_NULL] = ACTIONS(1309),
-    [anon_sym_nullptr] = ACTIONS(1309),
-    [sym_comment] = ACTIONS(3),
-  },
-  [355] = {
-    [ts_builtin_sym_end] = ACTIONS(1339),
-    [sym_identifier] = ACTIONS(1337),
-    [aux_sym_preproc_include_token1] = ACTIONS(1337),
-    [aux_sym_preproc_def_token1] = ACTIONS(1337),
-    [aux_sym_preproc_if_token1] = ACTIONS(1337),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1337),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1337),
-    [sym_preproc_directive] = ACTIONS(1337),
-    [anon_sym_LPAREN2] = ACTIONS(1339),
-    [anon_sym_BANG] = ACTIONS(1339),
-    [anon_sym_TILDE] = ACTIONS(1339),
-    [anon_sym_DASH] = ACTIONS(1337),
-    [anon_sym_PLUS] = ACTIONS(1337),
-    [anon_sym_STAR] = ACTIONS(1339),
-    [anon_sym_AMP] = ACTIONS(1339),
-    [anon_sym___extension__] = ACTIONS(1337),
-    [anon_sym_typedef] = ACTIONS(1337),
-    [anon_sym_extern] = ACTIONS(1337),
-    [anon_sym___attribute__] = ACTIONS(1337),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1339),
-    [anon_sym___declspec] = ACTIONS(1337),
-    [anon_sym___cdecl] = ACTIONS(1337),
-    [anon_sym___clrcall] = ACTIONS(1337),
-    [anon_sym___stdcall] = ACTIONS(1337),
-    [anon_sym___fastcall] = ACTIONS(1337),
-    [anon_sym___thiscall] = ACTIONS(1337),
-    [anon_sym___vectorcall] = ACTIONS(1337),
-    [anon_sym_LBRACE] = ACTIONS(1339),
-    [anon_sym_signed] = ACTIONS(1337),
-    [anon_sym_unsigned] = ACTIONS(1337),
-    [anon_sym_long] = ACTIONS(1337),
-    [anon_sym_short] = ACTIONS(1337),
-    [anon_sym_static] = ACTIONS(1337),
-    [anon_sym_auto] = ACTIONS(1337),
-    [anon_sym_register] = ACTIONS(1337),
-    [anon_sym_inline] = ACTIONS(1337),
-    [anon_sym___inline] = ACTIONS(1337),
-    [anon_sym___inline__] = ACTIONS(1337),
-    [anon_sym___forceinline] = ACTIONS(1337),
-    [anon_sym_thread_local] = ACTIONS(1337),
-    [anon_sym___thread] = ACTIONS(1337),
-    [anon_sym_const] = ACTIONS(1337),
-    [anon_sym_constexpr] = ACTIONS(1337),
-    [anon_sym_volatile] = ACTIONS(1337),
-    [anon_sym_restrict] = ACTIONS(1337),
-    [anon_sym___restrict__] = ACTIONS(1337),
-    [anon_sym__Atomic] = ACTIONS(1337),
-    [anon_sym__Noreturn] = ACTIONS(1337),
-    [anon_sym_noreturn] = ACTIONS(1337),
-    [anon_sym__Nonnull] = ACTIONS(1337),
-    [anon_sym_alignas] = ACTIONS(1337),
-    [anon_sym__Alignas] = ACTIONS(1337),
-    [sym_primitive_type] = ACTIONS(1337),
-    [anon_sym_enum] = ACTIONS(1337),
-    [anon_sym_struct] = ACTIONS(1337),
-    [anon_sym_union] = ACTIONS(1337),
-    [anon_sym_if] = ACTIONS(1337),
-    [anon_sym_switch] = ACTIONS(1337),
-    [anon_sym_case] = ACTIONS(1337),
-    [anon_sym_default] = ACTIONS(1337),
-    [anon_sym_while] = ACTIONS(1337),
-    [anon_sym_do] = ACTIONS(1337),
-    [anon_sym_for] = ACTIONS(1337),
-    [anon_sym_return] = ACTIONS(1337),
-    [anon_sym_break] = ACTIONS(1337),
-    [anon_sym_continue] = ACTIONS(1337),
-    [anon_sym_goto] = ACTIONS(1337),
-    [anon_sym_DASH_DASH] = ACTIONS(1339),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1339),
-    [anon_sym_sizeof] = ACTIONS(1337),
-    [anon_sym___alignof__] = ACTIONS(1337),
-    [anon_sym___alignof] = ACTIONS(1337),
-    [anon_sym__alignof] = ACTIONS(1337),
-    [anon_sym_alignof] = ACTIONS(1337),
-    [anon_sym__Alignof] = ACTIONS(1337),
-    [anon_sym_offsetof] = ACTIONS(1337),
-    [anon_sym__Generic] = ACTIONS(1337),
-    [anon_sym_asm] = ACTIONS(1337),
-    [anon_sym___asm__] = ACTIONS(1337),
-    [anon_sym___asm] = ACTIONS(1337),
-    [sym_number_literal] = ACTIONS(1339),
-    [anon_sym_L_SQUOTE] = ACTIONS(1339),
-    [anon_sym_u_SQUOTE] = ACTIONS(1339),
-    [anon_sym_U_SQUOTE] = ACTIONS(1339),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1339),
-    [anon_sym_SQUOTE] = ACTIONS(1339),
-    [anon_sym_L_DQUOTE] = ACTIONS(1339),
-    [anon_sym_u_DQUOTE] = ACTIONS(1339),
-    [anon_sym_U_DQUOTE] = ACTIONS(1339),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1339),
-    [anon_sym_DQUOTE] = ACTIONS(1339),
-    [sym_true] = ACTIONS(1337),
-    [sym_false] = ACTIONS(1337),
-    [anon_sym_NULL] = ACTIONS(1337),
-    [anon_sym_nullptr] = ACTIONS(1337),
-    [sym_comment] = ACTIONS(3),
-  },
-  [356] = {
-    [ts_builtin_sym_end] = ACTIONS(1369),
-    [sym_identifier] = ACTIONS(1367),
-    [aux_sym_preproc_include_token1] = ACTIONS(1367),
-    [aux_sym_preproc_def_token1] = ACTIONS(1367),
-    [aux_sym_preproc_if_token1] = ACTIONS(1367),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1367),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1367),
-    [sym_preproc_directive] = ACTIONS(1367),
-    [anon_sym_LPAREN2] = ACTIONS(1369),
-    [anon_sym_BANG] = ACTIONS(1369),
-    [anon_sym_TILDE] = ACTIONS(1369),
-    [anon_sym_DASH] = ACTIONS(1367),
-    [anon_sym_PLUS] = ACTIONS(1367),
-    [anon_sym_STAR] = ACTIONS(1369),
-    [anon_sym_AMP] = ACTIONS(1369),
-    [anon_sym___extension__] = ACTIONS(1367),
-    [anon_sym_typedef] = ACTIONS(1367),
-    [anon_sym_extern] = ACTIONS(1367),
-    [anon_sym___attribute__] = ACTIONS(1367),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1369),
-    [anon_sym___declspec] = ACTIONS(1367),
-    [anon_sym___cdecl] = ACTIONS(1367),
-    [anon_sym___clrcall] = ACTIONS(1367),
-    [anon_sym___stdcall] = ACTIONS(1367),
-    [anon_sym___fastcall] = ACTIONS(1367),
-    [anon_sym___thiscall] = ACTIONS(1367),
-    [anon_sym___vectorcall] = ACTIONS(1367),
-    [anon_sym_LBRACE] = ACTIONS(1369),
-    [anon_sym_signed] = ACTIONS(1367),
-    [anon_sym_unsigned] = ACTIONS(1367),
-    [anon_sym_long] = ACTIONS(1367),
-    [anon_sym_short] = ACTIONS(1367),
-    [anon_sym_static] = ACTIONS(1367),
-    [anon_sym_auto] = ACTIONS(1367),
-    [anon_sym_register] = ACTIONS(1367),
-    [anon_sym_inline] = ACTIONS(1367),
-    [anon_sym___inline] = ACTIONS(1367),
-    [anon_sym___inline__] = ACTIONS(1367),
-    [anon_sym___forceinline] = ACTIONS(1367),
-    [anon_sym_thread_local] = ACTIONS(1367),
-    [anon_sym___thread] = ACTIONS(1367),
-    [anon_sym_const] = ACTIONS(1367),
-    [anon_sym_constexpr] = ACTIONS(1367),
-    [anon_sym_volatile] = ACTIONS(1367),
-    [anon_sym_restrict] = ACTIONS(1367),
-    [anon_sym___restrict__] = ACTIONS(1367),
-    [anon_sym__Atomic] = ACTIONS(1367),
-    [anon_sym__Noreturn] = ACTIONS(1367),
-    [anon_sym_noreturn] = ACTIONS(1367),
-    [anon_sym__Nonnull] = ACTIONS(1367),
-    [anon_sym_alignas] = ACTIONS(1367),
-    [anon_sym__Alignas] = ACTIONS(1367),
-    [sym_primitive_type] = ACTIONS(1367),
-    [anon_sym_enum] = ACTIONS(1367),
-    [anon_sym_struct] = ACTIONS(1367),
-    [anon_sym_union] = ACTIONS(1367),
-    [anon_sym_if] = ACTIONS(1367),
-    [anon_sym_switch] = ACTIONS(1367),
-    [anon_sym_case] = ACTIONS(1367),
-    [anon_sym_default] = ACTIONS(1367),
-    [anon_sym_while] = ACTIONS(1367),
-    [anon_sym_do] = ACTIONS(1367),
-    [anon_sym_for] = ACTIONS(1367),
-    [anon_sym_return] = ACTIONS(1367),
-    [anon_sym_break] = ACTIONS(1367),
-    [anon_sym_continue] = ACTIONS(1367),
-    [anon_sym_goto] = ACTIONS(1367),
-    [anon_sym_DASH_DASH] = ACTIONS(1369),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1369),
-    [anon_sym_sizeof] = ACTIONS(1367),
-    [anon_sym___alignof__] = ACTIONS(1367),
-    [anon_sym___alignof] = ACTIONS(1367),
-    [anon_sym__alignof] = ACTIONS(1367),
-    [anon_sym_alignof] = ACTIONS(1367),
-    [anon_sym__Alignof] = ACTIONS(1367),
-    [anon_sym_offsetof] = ACTIONS(1367),
-    [anon_sym__Generic] = ACTIONS(1367),
-    [anon_sym_asm] = ACTIONS(1367),
-    [anon_sym___asm__] = ACTIONS(1367),
-    [anon_sym___asm] = ACTIONS(1367),
-    [sym_number_literal] = ACTIONS(1369),
-    [anon_sym_L_SQUOTE] = ACTIONS(1369),
-    [anon_sym_u_SQUOTE] = ACTIONS(1369),
-    [anon_sym_U_SQUOTE] = ACTIONS(1369),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1369),
-    [anon_sym_SQUOTE] = ACTIONS(1369),
-    [anon_sym_L_DQUOTE] = ACTIONS(1369),
-    [anon_sym_u_DQUOTE] = ACTIONS(1369),
-    [anon_sym_U_DQUOTE] = ACTIONS(1369),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1369),
-    [anon_sym_DQUOTE] = ACTIONS(1369),
-    [sym_true] = ACTIONS(1367),
-    [sym_false] = ACTIONS(1367),
-    [anon_sym_NULL] = ACTIONS(1367),
-    [anon_sym_nullptr] = ACTIONS(1367),
-    [sym_comment] = ACTIONS(3),
-  },
-  [357] = {
-    [ts_builtin_sym_end] = ACTIONS(1303),
-    [sym_identifier] = ACTIONS(1301),
-    [aux_sym_preproc_include_token1] = ACTIONS(1301),
-    [aux_sym_preproc_def_token1] = ACTIONS(1301),
-    [aux_sym_preproc_if_token1] = ACTIONS(1301),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1301),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1301),
-    [sym_preproc_directive] = ACTIONS(1301),
-    [anon_sym_LPAREN2] = ACTIONS(1303),
-    [anon_sym_BANG] = ACTIONS(1303),
-    [anon_sym_TILDE] = ACTIONS(1303),
-    [anon_sym_DASH] = ACTIONS(1301),
-    [anon_sym_PLUS] = ACTIONS(1301),
-    [anon_sym_STAR] = ACTIONS(1303),
-    [anon_sym_AMP] = ACTIONS(1303),
-    [anon_sym___extension__] = ACTIONS(1301),
-    [anon_sym_typedef] = ACTIONS(1301),
-    [anon_sym_extern] = ACTIONS(1301),
-    [anon_sym___attribute__] = ACTIONS(1301),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1303),
-    [anon_sym___declspec] = ACTIONS(1301),
-    [anon_sym___cdecl] = ACTIONS(1301),
-    [anon_sym___clrcall] = ACTIONS(1301),
-    [anon_sym___stdcall] = ACTIONS(1301),
-    [anon_sym___fastcall] = ACTIONS(1301),
-    [anon_sym___thiscall] = ACTIONS(1301),
-    [anon_sym___vectorcall] = ACTIONS(1301),
-    [anon_sym_LBRACE] = ACTIONS(1303),
-    [anon_sym_signed] = ACTIONS(1301),
-    [anon_sym_unsigned] = ACTIONS(1301),
-    [anon_sym_long] = ACTIONS(1301),
-    [anon_sym_short] = ACTIONS(1301),
-    [anon_sym_static] = ACTIONS(1301),
-    [anon_sym_auto] = ACTIONS(1301),
-    [anon_sym_register] = ACTIONS(1301),
-    [anon_sym_inline] = ACTIONS(1301),
-    [anon_sym___inline] = ACTIONS(1301),
-    [anon_sym___inline__] = ACTIONS(1301),
-    [anon_sym___forceinline] = ACTIONS(1301),
-    [anon_sym_thread_local] = ACTIONS(1301),
-    [anon_sym___thread] = ACTIONS(1301),
-    [anon_sym_const] = ACTIONS(1301),
-    [anon_sym_constexpr] = ACTIONS(1301),
-    [anon_sym_volatile] = ACTIONS(1301),
-    [anon_sym_restrict] = ACTIONS(1301),
-    [anon_sym___restrict__] = ACTIONS(1301),
-    [anon_sym__Atomic] = ACTIONS(1301),
-    [anon_sym__Noreturn] = ACTIONS(1301),
-    [anon_sym_noreturn] = ACTIONS(1301),
-    [anon_sym__Nonnull] = ACTIONS(1301),
-    [anon_sym_alignas] = ACTIONS(1301),
-    [anon_sym__Alignas] = ACTIONS(1301),
-    [sym_primitive_type] = ACTIONS(1301),
-    [anon_sym_enum] = ACTIONS(1301),
-    [anon_sym_struct] = ACTIONS(1301),
-    [anon_sym_union] = ACTIONS(1301),
-    [anon_sym_if] = ACTIONS(1301),
-    [anon_sym_switch] = ACTIONS(1301),
-    [anon_sym_case] = ACTIONS(1301),
-    [anon_sym_default] = ACTIONS(1301),
-    [anon_sym_while] = ACTIONS(1301),
-    [anon_sym_do] = ACTIONS(1301),
-    [anon_sym_for] = ACTIONS(1301),
-    [anon_sym_return] = ACTIONS(1301),
-    [anon_sym_break] = ACTIONS(1301),
-    [anon_sym_continue] = ACTIONS(1301),
-    [anon_sym_goto] = ACTIONS(1301),
-    [anon_sym_DASH_DASH] = ACTIONS(1303),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1303),
-    [anon_sym_sizeof] = ACTIONS(1301),
-    [anon_sym___alignof__] = ACTIONS(1301),
-    [anon_sym___alignof] = ACTIONS(1301),
-    [anon_sym__alignof] = ACTIONS(1301),
-    [anon_sym_alignof] = ACTIONS(1301),
-    [anon_sym__Alignof] = ACTIONS(1301),
-    [anon_sym_offsetof] = ACTIONS(1301),
-    [anon_sym__Generic] = ACTIONS(1301),
-    [anon_sym_asm] = ACTIONS(1301),
-    [anon_sym___asm__] = ACTIONS(1301),
-    [anon_sym___asm] = ACTIONS(1301),
-    [sym_number_literal] = ACTIONS(1303),
-    [anon_sym_L_SQUOTE] = ACTIONS(1303),
-    [anon_sym_u_SQUOTE] = ACTIONS(1303),
-    [anon_sym_U_SQUOTE] = ACTIONS(1303),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1303),
-    [anon_sym_SQUOTE] = ACTIONS(1303),
-    [anon_sym_L_DQUOTE] = ACTIONS(1303),
-    [anon_sym_u_DQUOTE] = ACTIONS(1303),
-    [anon_sym_U_DQUOTE] = ACTIONS(1303),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1303),
-    [anon_sym_DQUOTE] = ACTIONS(1303),
-    [sym_true] = ACTIONS(1301),
-    [sym_false] = ACTIONS(1301),
-    [anon_sym_NULL] = ACTIONS(1301),
-    [anon_sym_nullptr] = ACTIONS(1301),
-    [sym_comment] = ACTIONS(3),
-  },
-  [358] = {
-    [ts_builtin_sym_end] = ACTIONS(1347),
-    [sym_identifier] = ACTIONS(1345),
-    [aux_sym_preproc_include_token1] = ACTIONS(1345),
-    [aux_sym_preproc_def_token1] = ACTIONS(1345),
-    [aux_sym_preproc_if_token1] = ACTIONS(1345),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1345),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1345),
-    [sym_preproc_directive] = ACTIONS(1345),
-    [anon_sym_LPAREN2] = ACTIONS(1347),
-    [anon_sym_BANG] = ACTIONS(1347),
-    [anon_sym_TILDE] = ACTIONS(1347),
-    [anon_sym_DASH] = ACTIONS(1345),
-    [anon_sym_PLUS] = ACTIONS(1345),
-    [anon_sym_STAR] = ACTIONS(1347),
-    [anon_sym_AMP] = ACTIONS(1347),
-    [anon_sym___extension__] = ACTIONS(1345),
-    [anon_sym_typedef] = ACTIONS(1345),
-    [anon_sym_extern] = ACTIONS(1345),
-    [anon_sym___attribute__] = ACTIONS(1345),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1347),
-    [anon_sym___declspec] = ACTIONS(1345),
-    [anon_sym___cdecl] = ACTIONS(1345),
-    [anon_sym___clrcall] = ACTIONS(1345),
-    [anon_sym___stdcall] = ACTIONS(1345),
-    [anon_sym___fastcall] = ACTIONS(1345),
-    [anon_sym___thiscall] = ACTIONS(1345),
-    [anon_sym___vectorcall] = ACTIONS(1345),
-    [anon_sym_LBRACE] = ACTIONS(1347),
-    [anon_sym_signed] = ACTIONS(1345),
-    [anon_sym_unsigned] = ACTIONS(1345),
-    [anon_sym_long] = ACTIONS(1345),
-    [anon_sym_short] = ACTIONS(1345),
-    [anon_sym_static] = ACTIONS(1345),
-    [anon_sym_auto] = ACTIONS(1345),
-    [anon_sym_register] = ACTIONS(1345),
-    [anon_sym_inline] = ACTIONS(1345),
-    [anon_sym___inline] = ACTIONS(1345),
-    [anon_sym___inline__] = ACTIONS(1345),
-    [anon_sym___forceinline] = ACTIONS(1345),
-    [anon_sym_thread_local] = ACTIONS(1345),
-    [anon_sym___thread] = ACTIONS(1345),
-    [anon_sym_const] = ACTIONS(1345),
-    [anon_sym_constexpr] = ACTIONS(1345),
-    [anon_sym_volatile] = ACTIONS(1345),
-    [anon_sym_restrict] = ACTIONS(1345),
-    [anon_sym___restrict__] = ACTIONS(1345),
-    [anon_sym__Atomic] = ACTIONS(1345),
-    [anon_sym__Noreturn] = ACTIONS(1345),
-    [anon_sym_noreturn] = ACTIONS(1345),
-    [anon_sym__Nonnull] = ACTIONS(1345),
-    [anon_sym_alignas] = ACTIONS(1345),
-    [anon_sym__Alignas] = ACTIONS(1345),
-    [sym_primitive_type] = ACTIONS(1345),
-    [anon_sym_enum] = ACTIONS(1345),
-    [anon_sym_struct] = ACTIONS(1345),
-    [anon_sym_union] = ACTIONS(1345),
-    [anon_sym_if] = ACTIONS(1345),
-    [anon_sym_switch] = ACTIONS(1345),
-    [anon_sym_case] = ACTIONS(1345),
-    [anon_sym_default] = ACTIONS(1345),
-    [anon_sym_while] = ACTIONS(1345),
-    [anon_sym_do] = ACTIONS(1345),
-    [anon_sym_for] = ACTIONS(1345),
-    [anon_sym_return] = ACTIONS(1345),
-    [anon_sym_break] = ACTIONS(1345),
-    [anon_sym_continue] = ACTIONS(1345),
-    [anon_sym_goto] = ACTIONS(1345),
-    [anon_sym_DASH_DASH] = ACTIONS(1347),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1347),
-    [anon_sym_sizeof] = ACTIONS(1345),
-    [anon_sym___alignof__] = ACTIONS(1345),
-    [anon_sym___alignof] = ACTIONS(1345),
-    [anon_sym__alignof] = ACTIONS(1345),
-    [anon_sym_alignof] = ACTIONS(1345),
-    [anon_sym__Alignof] = ACTIONS(1345),
-    [anon_sym_offsetof] = ACTIONS(1345),
-    [anon_sym__Generic] = ACTIONS(1345),
-    [anon_sym_asm] = ACTIONS(1345),
-    [anon_sym___asm__] = ACTIONS(1345),
-    [anon_sym___asm] = ACTIONS(1345),
-    [sym_number_literal] = ACTIONS(1347),
-    [anon_sym_L_SQUOTE] = ACTIONS(1347),
-    [anon_sym_u_SQUOTE] = ACTIONS(1347),
-    [anon_sym_U_SQUOTE] = ACTIONS(1347),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1347),
-    [anon_sym_SQUOTE] = ACTIONS(1347),
-    [anon_sym_L_DQUOTE] = ACTIONS(1347),
-    [anon_sym_u_DQUOTE] = ACTIONS(1347),
-    [anon_sym_U_DQUOTE] = ACTIONS(1347),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1347),
-    [anon_sym_DQUOTE] = ACTIONS(1347),
-    [sym_true] = ACTIONS(1345),
-    [sym_false] = ACTIONS(1345),
-    [anon_sym_NULL] = ACTIONS(1345),
-    [anon_sym_nullptr] = ACTIONS(1345),
-    [sym_comment] = ACTIONS(3),
-  },
-  [359] = {
-    [ts_builtin_sym_end] = ACTIONS(1351),
-    [sym_identifier] = ACTIONS(1349),
-    [aux_sym_preproc_include_token1] = ACTIONS(1349),
-    [aux_sym_preproc_def_token1] = ACTIONS(1349),
-    [aux_sym_preproc_if_token1] = ACTIONS(1349),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1349),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1349),
-    [sym_preproc_directive] = ACTIONS(1349),
-    [anon_sym_LPAREN2] = ACTIONS(1351),
-    [anon_sym_BANG] = ACTIONS(1351),
-    [anon_sym_TILDE] = ACTIONS(1351),
-    [anon_sym_DASH] = ACTIONS(1349),
-    [anon_sym_PLUS] = ACTIONS(1349),
-    [anon_sym_STAR] = ACTIONS(1351),
-    [anon_sym_AMP] = ACTIONS(1351),
-    [anon_sym___extension__] = ACTIONS(1349),
-    [anon_sym_typedef] = ACTIONS(1349),
-    [anon_sym_extern] = ACTIONS(1349),
-    [anon_sym___attribute__] = ACTIONS(1349),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1351),
-    [anon_sym___declspec] = ACTIONS(1349),
-    [anon_sym___cdecl] = ACTIONS(1349),
-    [anon_sym___clrcall] = ACTIONS(1349),
-    [anon_sym___stdcall] = ACTIONS(1349),
-    [anon_sym___fastcall] = ACTIONS(1349),
-    [anon_sym___thiscall] = ACTIONS(1349),
-    [anon_sym___vectorcall] = ACTIONS(1349),
-    [anon_sym_LBRACE] = ACTIONS(1351),
-    [anon_sym_signed] = ACTIONS(1349),
-    [anon_sym_unsigned] = ACTIONS(1349),
-    [anon_sym_long] = ACTIONS(1349),
-    [anon_sym_short] = ACTIONS(1349),
-    [anon_sym_static] = ACTIONS(1349),
-    [anon_sym_auto] = ACTIONS(1349),
-    [anon_sym_register] = ACTIONS(1349),
-    [anon_sym_inline] = ACTIONS(1349),
-    [anon_sym___inline] = ACTIONS(1349),
-    [anon_sym___inline__] = ACTIONS(1349),
-    [anon_sym___forceinline] = ACTIONS(1349),
-    [anon_sym_thread_local] = ACTIONS(1349),
-    [anon_sym___thread] = ACTIONS(1349),
-    [anon_sym_const] = ACTIONS(1349),
-    [anon_sym_constexpr] = ACTIONS(1349),
-    [anon_sym_volatile] = ACTIONS(1349),
-    [anon_sym_restrict] = ACTIONS(1349),
-    [anon_sym___restrict__] = ACTIONS(1349),
-    [anon_sym__Atomic] = ACTIONS(1349),
-    [anon_sym__Noreturn] = ACTIONS(1349),
-    [anon_sym_noreturn] = ACTIONS(1349),
-    [anon_sym__Nonnull] = ACTIONS(1349),
-    [anon_sym_alignas] = ACTIONS(1349),
-    [anon_sym__Alignas] = ACTIONS(1349),
-    [sym_primitive_type] = ACTIONS(1349),
-    [anon_sym_enum] = ACTIONS(1349),
-    [anon_sym_struct] = ACTIONS(1349),
-    [anon_sym_union] = ACTIONS(1349),
-    [anon_sym_if] = ACTIONS(1349),
-    [anon_sym_switch] = ACTIONS(1349),
-    [anon_sym_case] = ACTIONS(1349),
-    [anon_sym_default] = ACTIONS(1349),
-    [anon_sym_while] = ACTIONS(1349),
-    [anon_sym_do] = ACTIONS(1349),
-    [anon_sym_for] = ACTIONS(1349),
-    [anon_sym_return] = ACTIONS(1349),
-    [anon_sym_break] = ACTIONS(1349),
-    [anon_sym_continue] = ACTIONS(1349),
-    [anon_sym_goto] = ACTIONS(1349),
-    [anon_sym_DASH_DASH] = ACTIONS(1351),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1351),
-    [anon_sym_sizeof] = ACTIONS(1349),
-    [anon_sym___alignof__] = ACTIONS(1349),
-    [anon_sym___alignof] = ACTIONS(1349),
-    [anon_sym__alignof] = ACTIONS(1349),
-    [anon_sym_alignof] = ACTIONS(1349),
-    [anon_sym__Alignof] = ACTIONS(1349),
-    [anon_sym_offsetof] = ACTIONS(1349),
-    [anon_sym__Generic] = ACTIONS(1349),
-    [anon_sym_asm] = ACTIONS(1349),
-    [anon_sym___asm__] = ACTIONS(1349),
-    [anon_sym___asm] = ACTIONS(1349),
-    [sym_number_literal] = ACTIONS(1351),
-    [anon_sym_L_SQUOTE] = ACTIONS(1351),
-    [anon_sym_u_SQUOTE] = ACTIONS(1351),
-    [anon_sym_U_SQUOTE] = ACTIONS(1351),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1351),
-    [anon_sym_SQUOTE] = ACTIONS(1351),
-    [anon_sym_L_DQUOTE] = ACTIONS(1351),
-    [anon_sym_u_DQUOTE] = ACTIONS(1351),
-    [anon_sym_U_DQUOTE] = ACTIONS(1351),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1351),
-    [anon_sym_DQUOTE] = ACTIONS(1351),
-    [sym_true] = ACTIONS(1349),
-    [sym_false] = ACTIONS(1349),
-    [anon_sym_NULL] = ACTIONS(1349),
-    [anon_sym_nullptr] = ACTIONS(1349),
-    [sym_comment] = ACTIONS(3),
-  },
-  [360] = {
-    [ts_builtin_sym_end] = ACTIONS(1287),
-    [sym_identifier] = ACTIONS(1285),
-    [aux_sym_preproc_include_token1] = ACTIONS(1285),
-    [aux_sym_preproc_def_token1] = ACTIONS(1285),
-    [aux_sym_preproc_if_token1] = ACTIONS(1285),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1285),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1285),
-    [sym_preproc_directive] = ACTIONS(1285),
-    [anon_sym_LPAREN2] = ACTIONS(1287),
-    [anon_sym_BANG] = ACTIONS(1287),
-    [anon_sym_TILDE] = ACTIONS(1287),
-    [anon_sym_DASH] = ACTIONS(1285),
-    [anon_sym_PLUS] = ACTIONS(1285),
-    [anon_sym_STAR] = ACTIONS(1287),
-    [anon_sym_AMP] = ACTIONS(1287),
-    [anon_sym___extension__] = ACTIONS(1285),
-    [anon_sym_typedef] = ACTIONS(1285),
-    [anon_sym_extern] = ACTIONS(1285),
-    [anon_sym___attribute__] = ACTIONS(1285),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1287),
-    [anon_sym___declspec] = ACTIONS(1285),
-    [anon_sym___cdecl] = ACTIONS(1285),
-    [anon_sym___clrcall] = ACTIONS(1285),
-    [anon_sym___stdcall] = ACTIONS(1285),
-    [anon_sym___fastcall] = ACTIONS(1285),
-    [anon_sym___thiscall] = ACTIONS(1285),
-    [anon_sym___vectorcall] = ACTIONS(1285),
-    [anon_sym_LBRACE] = ACTIONS(1287),
-    [anon_sym_signed] = ACTIONS(1285),
-    [anon_sym_unsigned] = ACTIONS(1285),
-    [anon_sym_long] = ACTIONS(1285),
-    [anon_sym_short] = ACTIONS(1285),
-    [anon_sym_static] = ACTIONS(1285),
-    [anon_sym_auto] = ACTIONS(1285),
-    [anon_sym_register] = ACTIONS(1285),
-    [anon_sym_inline] = ACTIONS(1285),
-    [anon_sym___inline] = ACTIONS(1285),
-    [anon_sym___inline__] = ACTIONS(1285),
-    [anon_sym___forceinline] = ACTIONS(1285),
-    [anon_sym_thread_local] = ACTIONS(1285),
-    [anon_sym___thread] = ACTIONS(1285),
-    [anon_sym_const] = ACTIONS(1285),
-    [anon_sym_constexpr] = ACTIONS(1285),
-    [anon_sym_volatile] = ACTIONS(1285),
-    [anon_sym_restrict] = ACTIONS(1285),
-    [anon_sym___restrict__] = ACTIONS(1285),
-    [anon_sym__Atomic] = ACTIONS(1285),
-    [anon_sym__Noreturn] = ACTIONS(1285),
-    [anon_sym_noreturn] = ACTIONS(1285),
-    [anon_sym__Nonnull] = ACTIONS(1285),
-    [anon_sym_alignas] = ACTIONS(1285),
-    [anon_sym__Alignas] = ACTIONS(1285),
-    [sym_primitive_type] = ACTIONS(1285),
-    [anon_sym_enum] = ACTIONS(1285),
-    [anon_sym_struct] = ACTIONS(1285),
-    [anon_sym_union] = ACTIONS(1285),
-    [anon_sym_if] = ACTIONS(1285),
-    [anon_sym_switch] = ACTIONS(1285),
-    [anon_sym_case] = ACTIONS(1285),
-    [anon_sym_default] = ACTIONS(1285),
-    [anon_sym_while] = ACTIONS(1285),
-    [anon_sym_do] = ACTIONS(1285),
-    [anon_sym_for] = ACTIONS(1285),
-    [anon_sym_return] = ACTIONS(1285),
-    [anon_sym_break] = ACTIONS(1285),
-    [anon_sym_continue] = ACTIONS(1285),
-    [anon_sym_goto] = ACTIONS(1285),
-    [anon_sym_DASH_DASH] = ACTIONS(1287),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1287),
-    [anon_sym_sizeof] = ACTIONS(1285),
-    [anon_sym___alignof__] = ACTIONS(1285),
-    [anon_sym___alignof] = ACTIONS(1285),
-    [anon_sym__alignof] = ACTIONS(1285),
-    [anon_sym_alignof] = ACTIONS(1285),
-    [anon_sym__Alignof] = ACTIONS(1285),
-    [anon_sym_offsetof] = ACTIONS(1285),
-    [anon_sym__Generic] = ACTIONS(1285),
-    [anon_sym_asm] = ACTIONS(1285),
-    [anon_sym___asm__] = ACTIONS(1285),
-    [anon_sym___asm] = ACTIONS(1285),
-    [sym_number_literal] = ACTIONS(1287),
-    [anon_sym_L_SQUOTE] = ACTIONS(1287),
-    [anon_sym_u_SQUOTE] = ACTIONS(1287),
-    [anon_sym_U_SQUOTE] = ACTIONS(1287),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1287),
-    [anon_sym_SQUOTE] = ACTIONS(1287),
-    [anon_sym_L_DQUOTE] = ACTIONS(1287),
-    [anon_sym_u_DQUOTE] = ACTIONS(1287),
-    [anon_sym_U_DQUOTE] = ACTIONS(1287),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1287),
-    [anon_sym_DQUOTE] = ACTIONS(1287),
-    [sym_true] = ACTIONS(1285),
-    [sym_false] = ACTIONS(1285),
-    [anon_sym_NULL] = ACTIONS(1285),
-    [anon_sym_nullptr] = ACTIONS(1285),
-    [sym_comment] = ACTIONS(3),
-  },
-  [361] = {
-    [ts_builtin_sym_end] = ACTIONS(1355),
-    [sym_identifier] = ACTIONS(1353),
-    [aux_sym_preproc_include_token1] = ACTIONS(1353),
-    [aux_sym_preproc_def_token1] = ACTIONS(1353),
-    [aux_sym_preproc_if_token1] = ACTIONS(1353),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1353),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1353),
-    [sym_preproc_directive] = ACTIONS(1353),
-    [anon_sym_LPAREN2] = ACTIONS(1355),
-    [anon_sym_BANG] = ACTIONS(1355),
-    [anon_sym_TILDE] = ACTIONS(1355),
-    [anon_sym_DASH] = ACTIONS(1353),
-    [anon_sym_PLUS] = ACTIONS(1353),
-    [anon_sym_STAR] = ACTIONS(1355),
-    [anon_sym_AMP] = ACTIONS(1355),
-    [anon_sym___extension__] = ACTIONS(1353),
-    [anon_sym_typedef] = ACTIONS(1353),
-    [anon_sym_extern] = ACTIONS(1353),
-    [anon_sym___attribute__] = ACTIONS(1353),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1355),
-    [anon_sym___declspec] = ACTIONS(1353),
-    [anon_sym___cdecl] = ACTIONS(1353),
-    [anon_sym___clrcall] = ACTIONS(1353),
-    [anon_sym___stdcall] = ACTIONS(1353),
-    [anon_sym___fastcall] = ACTIONS(1353),
-    [anon_sym___thiscall] = ACTIONS(1353),
-    [anon_sym___vectorcall] = ACTIONS(1353),
-    [anon_sym_LBRACE] = ACTIONS(1355),
-    [anon_sym_signed] = ACTIONS(1353),
-    [anon_sym_unsigned] = ACTIONS(1353),
-    [anon_sym_long] = ACTIONS(1353),
-    [anon_sym_short] = ACTIONS(1353),
-    [anon_sym_static] = ACTIONS(1353),
-    [anon_sym_auto] = ACTIONS(1353),
-    [anon_sym_register] = ACTIONS(1353),
-    [anon_sym_inline] = ACTIONS(1353),
-    [anon_sym___inline] = ACTIONS(1353),
-    [anon_sym___inline__] = ACTIONS(1353),
-    [anon_sym___forceinline] = ACTIONS(1353),
-    [anon_sym_thread_local] = ACTIONS(1353),
-    [anon_sym___thread] = ACTIONS(1353),
-    [anon_sym_const] = ACTIONS(1353),
-    [anon_sym_constexpr] = ACTIONS(1353),
-    [anon_sym_volatile] = ACTIONS(1353),
-    [anon_sym_restrict] = ACTIONS(1353),
-    [anon_sym___restrict__] = ACTIONS(1353),
-    [anon_sym__Atomic] = ACTIONS(1353),
-    [anon_sym__Noreturn] = ACTIONS(1353),
-    [anon_sym_noreturn] = ACTIONS(1353),
-    [anon_sym__Nonnull] = ACTIONS(1353),
-    [anon_sym_alignas] = ACTIONS(1353),
-    [anon_sym__Alignas] = ACTIONS(1353),
-    [sym_primitive_type] = ACTIONS(1353),
-    [anon_sym_enum] = ACTIONS(1353),
-    [anon_sym_struct] = ACTIONS(1353),
-    [anon_sym_union] = ACTIONS(1353),
-    [anon_sym_if] = ACTIONS(1353),
-    [anon_sym_switch] = ACTIONS(1353),
-    [anon_sym_case] = ACTIONS(1353),
-    [anon_sym_default] = ACTIONS(1353),
-    [anon_sym_while] = ACTIONS(1353),
-    [anon_sym_do] = ACTIONS(1353),
-    [anon_sym_for] = ACTIONS(1353),
-    [anon_sym_return] = ACTIONS(1353),
-    [anon_sym_break] = ACTIONS(1353),
-    [anon_sym_continue] = ACTIONS(1353),
-    [anon_sym_goto] = ACTIONS(1353),
-    [anon_sym_DASH_DASH] = ACTIONS(1355),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1355),
-    [anon_sym_sizeof] = ACTIONS(1353),
-    [anon_sym___alignof__] = ACTIONS(1353),
-    [anon_sym___alignof] = ACTIONS(1353),
-    [anon_sym__alignof] = ACTIONS(1353),
-    [anon_sym_alignof] = ACTIONS(1353),
-    [anon_sym__Alignof] = ACTIONS(1353),
-    [anon_sym_offsetof] = ACTIONS(1353),
-    [anon_sym__Generic] = ACTIONS(1353),
-    [anon_sym_asm] = ACTIONS(1353),
-    [anon_sym___asm__] = ACTIONS(1353),
-    [anon_sym___asm] = ACTIONS(1353),
-    [sym_number_literal] = ACTIONS(1355),
-    [anon_sym_L_SQUOTE] = ACTIONS(1355),
-    [anon_sym_u_SQUOTE] = ACTIONS(1355),
-    [anon_sym_U_SQUOTE] = ACTIONS(1355),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1355),
-    [anon_sym_SQUOTE] = ACTIONS(1355),
-    [anon_sym_L_DQUOTE] = ACTIONS(1355),
-    [anon_sym_u_DQUOTE] = ACTIONS(1355),
-    [anon_sym_U_DQUOTE] = ACTIONS(1355),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1355),
-    [anon_sym_DQUOTE] = ACTIONS(1355),
-    [sym_true] = ACTIONS(1353),
-    [sym_false] = ACTIONS(1353),
-    [anon_sym_NULL] = ACTIONS(1353),
-    [anon_sym_nullptr] = ACTIONS(1353),
-    [sym_comment] = ACTIONS(3),
-  },
-  [362] = {
-    [ts_builtin_sym_end] = ACTIONS(1323),
-    [sym_identifier] = ACTIONS(1321),
-    [aux_sym_preproc_include_token1] = ACTIONS(1321),
-    [aux_sym_preproc_def_token1] = ACTIONS(1321),
-    [aux_sym_preproc_if_token1] = ACTIONS(1321),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1321),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1321),
-    [sym_preproc_directive] = ACTIONS(1321),
-    [anon_sym_LPAREN2] = ACTIONS(1323),
-    [anon_sym_BANG] = ACTIONS(1323),
-    [anon_sym_TILDE] = ACTIONS(1323),
-    [anon_sym_DASH] = ACTIONS(1321),
-    [anon_sym_PLUS] = ACTIONS(1321),
-    [anon_sym_STAR] = ACTIONS(1323),
-    [anon_sym_AMP] = ACTIONS(1323),
-    [anon_sym___extension__] = ACTIONS(1321),
-    [anon_sym_typedef] = ACTIONS(1321),
-    [anon_sym_extern] = ACTIONS(1321),
-    [anon_sym___attribute__] = ACTIONS(1321),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1323),
-    [anon_sym___declspec] = ACTIONS(1321),
-    [anon_sym___cdecl] = ACTIONS(1321),
-    [anon_sym___clrcall] = ACTIONS(1321),
-    [anon_sym___stdcall] = ACTIONS(1321),
-    [anon_sym___fastcall] = ACTIONS(1321),
-    [anon_sym___thiscall] = ACTIONS(1321),
-    [anon_sym___vectorcall] = ACTIONS(1321),
-    [anon_sym_LBRACE] = ACTIONS(1323),
-    [anon_sym_signed] = ACTIONS(1321),
-    [anon_sym_unsigned] = ACTIONS(1321),
-    [anon_sym_long] = ACTIONS(1321),
-    [anon_sym_short] = ACTIONS(1321),
-    [anon_sym_static] = ACTIONS(1321),
-    [anon_sym_auto] = ACTIONS(1321),
-    [anon_sym_register] = ACTIONS(1321),
-    [anon_sym_inline] = ACTIONS(1321),
-    [anon_sym___inline] = ACTIONS(1321),
-    [anon_sym___inline__] = ACTIONS(1321),
-    [anon_sym___forceinline] = ACTIONS(1321),
-    [anon_sym_thread_local] = ACTIONS(1321),
-    [anon_sym___thread] = ACTIONS(1321),
-    [anon_sym_const] = ACTIONS(1321),
-    [anon_sym_constexpr] = ACTIONS(1321),
-    [anon_sym_volatile] = ACTIONS(1321),
-    [anon_sym_restrict] = ACTIONS(1321),
-    [anon_sym___restrict__] = ACTIONS(1321),
-    [anon_sym__Atomic] = ACTIONS(1321),
-    [anon_sym__Noreturn] = ACTIONS(1321),
-    [anon_sym_noreturn] = ACTIONS(1321),
-    [anon_sym__Nonnull] = ACTIONS(1321),
-    [anon_sym_alignas] = ACTIONS(1321),
-    [anon_sym__Alignas] = ACTIONS(1321),
-    [sym_primitive_type] = ACTIONS(1321),
-    [anon_sym_enum] = ACTIONS(1321),
-    [anon_sym_struct] = ACTIONS(1321),
-    [anon_sym_union] = ACTIONS(1321),
-    [anon_sym_if] = ACTIONS(1321),
-    [anon_sym_switch] = ACTIONS(1321),
-    [anon_sym_case] = ACTIONS(1321),
-    [anon_sym_default] = ACTIONS(1321),
-    [anon_sym_while] = ACTIONS(1321),
-    [anon_sym_do] = ACTIONS(1321),
-    [anon_sym_for] = ACTIONS(1321),
-    [anon_sym_return] = ACTIONS(1321),
-    [anon_sym_break] = ACTIONS(1321),
-    [anon_sym_continue] = ACTIONS(1321),
-    [anon_sym_goto] = ACTIONS(1321),
-    [anon_sym_DASH_DASH] = ACTIONS(1323),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1323),
-    [anon_sym_sizeof] = ACTIONS(1321),
-    [anon_sym___alignof__] = ACTIONS(1321),
-    [anon_sym___alignof] = ACTIONS(1321),
-    [anon_sym__alignof] = ACTIONS(1321),
-    [anon_sym_alignof] = ACTIONS(1321),
-    [anon_sym__Alignof] = ACTIONS(1321),
-    [anon_sym_offsetof] = ACTIONS(1321),
-    [anon_sym__Generic] = ACTIONS(1321),
-    [anon_sym_asm] = ACTIONS(1321),
-    [anon_sym___asm__] = ACTIONS(1321),
-    [anon_sym___asm] = ACTIONS(1321),
-    [sym_number_literal] = ACTIONS(1323),
-    [anon_sym_L_SQUOTE] = ACTIONS(1323),
-    [anon_sym_u_SQUOTE] = ACTIONS(1323),
-    [anon_sym_U_SQUOTE] = ACTIONS(1323),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1323),
-    [anon_sym_SQUOTE] = ACTIONS(1323),
-    [anon_sym_L_DQUOTE] = ACTIONS(1323),
-    [anon_sym_u_DQUOTE] = ACTIONS(1323),
-    [anon_sym_U_DQUOTE] = ACTIONS(1323),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1323),
-    [anon_sym_DQUOTE] = ACTIONS(1323),
-    [sym_true] = ACTIONS(1321),
-    [sym_false] = ACTIONS(1321),
-    [anon_sym_NULL] = ACTIONS(1321),
-    [anon_sym_nullptr] = ACTIONS(1321),
-    [sym_comment] = ACTIONS(3),
-  },
-  [363] = {
-    [ts_builtin_sym_end] = ACTIONS(1683),
-    [sym_identifier] = ACTIONS(1685),
-    [aux_sym_preproc_include_token1] = ACTIONS(1685),
-    [aux_sym_preproc_def_token1] = ACTIONS(1685),
-    [aux_sym_preproc_if_token1] = ACTIONS(1685),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1685),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1685),
-    [sym_preproc_directive] = ACTIONS(1685),
-    [anon_sym_LPAREN2] = ACTIONS(1683),
-    [anon_sym_BANG] = ACTIONS(1683),
-    [anon_sym_TILDE] = ACTIONS(1683),
-    [anon_sym_DASH] = ACTIONS(1685),
-    [anon_sym_PLUS] = ACTIONS(1685),
-    [anon_sym_STAR] = ACTIONS(1683),
-    [anon_sym_AMP] = ACTIONS(1683),
-    [anon_sym___extension__] = ACTIONS(1685),
-    [anon_sym_typedef] = ACTIONS(1685),
-    [anon_sym_extern] = ACTIONS(1685),
-    [anon_sym___attribute__] = ACTIONS(1685),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1683),
-    [anon_sym___declspec] = ACTIONS(1685),
-    [anon_sym___cdecl] = ACTIONS(1685),
-    [anon_sym___clrcall] = ACTIONS(1685),
-    [anon_sym___stdcall] = ACTIONS(1685),
-    [anon_sym___fastcall] = ACTIONS(1685),
-    [anon_sym___thiscall] = ACTIONS(1685),
-    [anon_sym___vectorcall] = ACTIONS(1685),
-    [anon_sym_LBRACE] = ACTIONS(1683),
-    [anon_sym_signed] = ACTIONS(1685),
-    [anon_sym_unsigned] = ACTIONS(1685),
-    [anon_sym_long] = ACTIONS(1685),
-    [anon_sym_short] = ACTIONS(1685),
-    [anon_sym_static] = ACTIONS(1685),
-    [anon_sym_auto] = ACTIONS(1685),
-    [anon_sym_register] = ACTIONS(1685),
-    [anon_sym_inline] = ACTIONS(1685),
-    [anon_sym___inline] = ACTIONS(1685),
-    [anon_sym___inline__] = ACTIONS(1685),
-    [anon_sym___forceinline] = ACTIONS(1685),
-    [anon_sym_thread_local] = ACTIONS(1685),
-    [anon_sym___thread] = ACTIONS(1685),
-    [anon_sym_const] = ACTIONS(1685),
-    [anon_sym_constexpr] = ACTIONS(1685),
-    [anon_sym_volatile] = ACTIONS(1685),
-    [anon_sym_restrict] = ACTIONS(1685),
-    [anon_sym___restrict__] = ACTIONS(1685),
-    [anon_sym__Atomic] = ACTIONS(1685),
-    [anon_sym__Noreturn] = ACTIONS(1685),
-    [anon_sym_noreturn] = ACTIONS(1685),
-    [anon_sym__Nonnull] = ACTIONS(1685),
-    [anon_sym_alignas] = ACTIONS(1685),
-    [anon_sym__Alignas] = ACTIONS(1685),
-    [sym_primitive_type] = ACTIONS(1685),
-    [anon_sym_enum] = ACTIONS(1685),
-    [anon_sym_struct] = ACTIONS(1685),
-    [anon_sym_union] = ACTIONS(1685),
-    [anon_sym_if] = ACTIONS(1685),
-    [anon_sym_switch] = ACTIONS(1685),
-    [anon_sym_case] = ACTIONS(1685),
-    [anon_sym_default] = ACTIONS(1685),
-    [anon_sym_while] = ACTIONS(1685),
-    [anon_sym_do] = ACTIONS(1685),
-    [anon_sym_for] = ACTIONS(1685),
-    [anon_sym_return] = ACTIONS(1685),
-    [anon_sym_break] = ACTIONS(1685),
-    [anon_sym_continue] = ACTIONS(1685),
-    [anon_sym_goto] = ACTIONS(1685),
-    [anon_sym_DASH_DASH] = ACTIONS(1683),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1683),
-    [anon_sym_sizeof] = ACTIONS(1685),
-    [anon_sym___alignof__] = ACTIONS(1685),
-    [anon_sym___alignof] = ACTIONS(1685),
-    [anon_sym__alignof] = ACTIONS(1685),
-    [anon_sym_alignof] = ACTIONS(1685),
-    [anon_sym__Alignof] = ACTIONS(1685),
-    [anon_sym_offsetof] = ACTIONS(1685),
-    [anon_sym__Generic] = ACTIONS(1685),
-    [anon_sym_asm] = ACTIONS(1685),
-    [anon_sym___asm__] = ACTIONS(1685),
-    [anon_sym___asm] = ACTIONS(1685),
-    [sym_number_literal] = ACTIONS(1683),
-    [anon_sym_L_SQUOTE] = ACTIONS(1683),
-    [anon_sym_u_SQUOTE] = ACTIONS(1683),
-    [anon_sym_U_SQUOTE] = ACTIONS(1683),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1683),
-    [anon_sym_SQUOTE] = ACTIONS(1683),
-    [anon_sym_L_DQUOTE] = ACTIONS(1683),
-    [anon_sym_u_DQUOTE] = ACTIONS(1683),
-    [anon_sym_U_DQUOTE] = ACTIONS(1683),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1683),
-    [anon_sym_DQUOTE] = ACTIONS(1683),
-    [sym_true] = ACTIONS(1685),
-    [sym_false] = ACTIONS(1685),
-    [anon_sym_NULL] = ACTIONS(1685),
-    [anon_sym_nullptr] = ACTIONS(1685),
-    [sym_comment] = ACTIONS(3),
-  },
-  [364] = {
-    [ts_builtin_sym_end] = ACTIONS(1331),
-    [sym_identifier] = ACTIONS(1329),
-    [aux_sym_preproc_include_token1] = ACTIONS(1329),
-    [aux_sym_preproc_def_token1] = ACTIONS(1329),
-    [aux_sym_preproc_if_token1] = ACTIONS(1329),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1329),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1329),
-    [sym_preproc_directive] = ACTIONS(1329),
-    [anon_sym_LPAREN2] = ACTIONS(1331),
-    [anon_sym_BANG] = ACTIONS(1331),
-    [anon_sym_TILDE] = ACTIONS(1331),
-    [anon_sym_DASH] = ACTIONS(1329),
-    [anon_sym_PLUS] = ACTIONS(1329),
-    [anon_sym_STAR] = ACTIONS(1331),
-    [anon_sym_AMP] = ACTIONS(1331),
-    [anon_sym___extension__] = ACTIONS(1329),
-    [anon_sym_typedef] = ACTIONS(1329),
-    [anon_sym_extern] = ACTIONS(1329),
-    [anon_sym___attribute__] = ACTIONS(1329),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1331),
-    [anon_sym___declspec] = ACTIONS(1329),
-    [anon_sym___cdecl] = ACTIONS(1329),
-    [anon_sym___clrcall] = ACTIONS(1329),
-    [anon_sym___stdcall] = ACTIONS(1329),
-    [anon_sym___fastcall] = ACTIONS(1329),
-    [anon_sym___thiscall] = ACTIONS(1329),
-    [anon_sym___vectorcall] = ACTIONS(1329),
-    [anon_sym_LBRACE] = ACTIONS(1331),
-    [anon_sym_signed] = ACTIONS(1329),
-    [anon_sym_unsigned] = ACTIONS(1329),
-    [anon_sym_long] = ACTIONS(1329),
-    [anon_sym_short] = ACTIONS(1329),
-    [anon_sym_static] = ACTIONS(1329),
-    [anon_sym_auto] = ACTIONS(1329),
-    [anon_sym_register] = ACTIONS(1329),
-    [anon_sym_inline] = ACTIONS(1329),
-    [anon_sym___inline] = ACTIONS(1329),
-    [anon_sym___inline__] = ACTIONS(1329),
-    [anon_sym___forceinline] = ACTIONS(1329),
-    [anon_sym_thread_local] = ACTIONS(1329),
-    [anon_sym___thread] = ACTIONS(1329),
-    [anon_sym_const] = ACTIONS(1329),
-    [anon_sym_constexpr] = ACTIONS(1329),
-    [anon_sym_volatile] = ACTIONS(1329),
-    [anon_sym_restrict] = ACTIONS(1329),
-    [anon_sym___restrict__] = ACTIONS(1329),
-    [anon_sym__Atomic] = ACTIONS(1329),
-    [anon_sym__Noreturn] = ACTIONS(1329),
-    [anon_sym_noreturn] = ACTIONS(1329),
-    [anon_sym__Nonnull] = ACTIONS(1329),
-    [anon_sym_alignas] = ACTIONS(1329),
-    [anon_sym__Alignas] = ACTIONS(1329),
-    [sym_primitive_type] = ACTIONS(1329),
-    [anon_sym_enum] = ACTIONS(1329),
-    [anon_sym_struct] = ACTIONS(1329),
-    [anon_sym_union] = ACTIONS(1329),
-    [anon_sym_if] = ACTIONS(1329),
-    [anon_sym_switch] = ACTIONS(1329),
-    [anon_sym_case] = ACTIONS(1329),
-    [anon_sym_default] = ACTIONS(1329),
-    [anon_sym_while] = ACTIONS(1329),
-    [anon_sym_do] = ACTIONS(1329),
-    [anon_sym_for] = ACTIONS(1329),
-    [anon_sym_return] = ACTIONS(1329),
-    [anon_sym_break] = ACTIONS(1329),
-    [anon_sym_continue] = ACTIONS(1329),
-    [anon_sym_goto] = ACTIONS(1329),
-    [anon_sym_DASH_DASH] = ACTIONS(1331),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1331),
-    [anon_sym_sizeof] = ACTIONS(1329),
-    [anon_sym___alignof__] = ACTIONS(1329),
-    [anon_sym___alignof] = ACTIONS(1329),
-    [anon_sym__alignof] = ACTIONS(1329),
-    [anon_sym_alignof] = ACTIONS(1329),
-    [anon_sym__Alignof] = ACTIONS(1329),
-    [anon_sym_offsetof] = ACTIONS(1329),
-    [anon_sym__Generic] = ACTIONS(1329),
-    [anon_sym_asm] = ACTIONS(1329),
-    [anon_sym___asm__] = ACTIONS(1329),
-    [anon_sym___asm] = ACTIONS(1329),
-    [sym_number_literal] = ACTIONS(1331),
-    [anon_sym_L_SQUOTE] = ACTIONS(1331),
-    [anon_sym_u_SQUOTE] = ACTIONS(1331),
-    [anon_sym_U_SQUOTE] = ACTIONS(1331),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1331),
-    [anon_sym_SQUOTE] = ACTIONS(1331),
-    [anon_sym_L_DQUOTE] = ACTIONS(1331),
-    [anon_sym_u_DQUOTE] = ACTIONS(1331),
-    [anon_sym_U_DQUOTE] = ACTIONS(1331),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1331),
-    [anon_sym_DQUOTE] = ACTIONS(1331),
-    [sym_true] = ACTIONS(1329),
-    [sym_false] = ACTIONS(1329),
-    [anon_sym_NULL] = ACTIONS(1329),
-    [anon_sym_nullptr] = ACTIONS(1329),
-    [sym_comment] = ACTIONS(3),
-  },
-  [365] = {
-    [ts_builtin_sym_end] = ACTIONS(1373),
-    [sym_identifier] = ACTIONS(1371),
-    [aux_sym_preproc_include_token1] = ACTIONS(1371),
-    [aux_sym_preproc_def_token1] = ACTIONS(1371),
-    [aux_sym_preproc_if_token1] = ACTIONS(1371),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1371),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1371),
-    [sym_preproc_directive] = ACTIONS(1371),
-    [anon_sym_LPAREN2] = ACTIONS(1373),
-    [anon_sym_BANG] = ACTIONS(1373),
-    [anon_sym_TILDE] = ACTIONS(1373),
-    [anon_sym_DASH] = ACTIONS(1371),
-    [anon_sym_PLUS] = ACTIONS(1371),
-    [anon_sym_STAR] = ACTIONS(1373),
-    [anon_sym_AMP] = ACTIONS(1373),
-    [anon_sym___extension__] = ACTIONS(1371),
-    [anon_sym_typedef] = ACTIONS(1371),
-    [anon_sym_extern] = ACTIONS(1371),
-    [anon_sym___attribute__] = ACTIONS(1371),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1373),
-    [anon_sym___declspec] = ACTIONS(1371),
-    [anon_sym___cdecl] = ACTIONS(1371),
-    [anon_sym___clrcall] = ACTIONS(1371),
-    [anon_sym___stdcall] = ACTIONS(1371),
-    [anon_sym___fastcall] = ACTIONS(1371),
-    [anon_sym___thiscall] = ACTIONS(1371),
-    [anon_sym___vectorcall] = ACTIONS(1371),
-    [anon_sym_LBRACE] = ACTIONS(1373),
-    [anon_sym_signed] = ACTIONS(1371),
-    [anon_sym_unsigned] = ACTIONS(1371),
-    [anon_sym_long] = ACTIONS(1371),
-    [anon_sym_short] = ACTIONS(1371),
-    [anon_sym_static] = ACTIONS(1371),
-    [anon_sym_auto] = ACTIONS(1371),
-    [anon_sym_register] = ACTIONS(1371),
-    [anon_sym_inline] = ACTIONS(1371),
-    [anon_sym___inline] = ACTIONS(1371),
-    [anon_sym___inline__] = ACTIONS(1371),
-    [anon_sym___forceinline] = ACTIONS(1371),
-    [anon_sym_thread_local] = ACTIONS(1371),
-    [anon_sym___thread] = ACTIONS(1371),
-    [anon_sym_const] = ACTIONS(1371),
-    [anon_sym_constexpr] = ACTIONS(1371),
-    [anon_sym_volatile] = ACTIONS(1371),
-    [anon_sym_restrict] = ACTIONS(1371),
-    [anon_sym___restrict__] = ACTIONS(1371),
-    [anon_sym__Atomic] = ACTIONS(1371),
-    [anon_sym__Noreturn] = ACTIONS(1371),
-    [anon_sym_noreturn] = ACTIONS(1371),
-    [anon_sym__Nonnull] = ACTIONS(1371),
-    [anon_sym_alignas] = ACTIONS(1371),
-    [anon_sym__Alignas] = ACTIONS(1371),
-    [sym_primitive_type] = ACTIONS(1371),
-    [anon_sym_enum] = ACTIONS(1371),
-    [anon_sym_struct] = ACTIONS(1371),
-    [anon_sym_union] = ACTIONS(1371),
-    [anon_sym_if] = ACTIONS(1371),
-    [anon_sym_switch] = ACTIONS(1371),
-    [anon_sym_case] = ACTIONS(1371),
-    [anon_sym_default] = ACTIONS(1371),
-    [anon_sym_while] = ACTIONS(1371),
-    [anon_sym_do] = ACTIONS(1371),
-    [anon_sym_for] = ACTIONS(1371),
-    [anon_sym_return] = ACTIONS(1371),
-    [anon_sym_break] = ACTIONS(1371),
-    [anon_sym_continue] = ACTIONS(1371),
-    [anon_sym_goto] = ACTIONS(1371),
-    [anon_sym_DASH_DASH] = ACTIONS(1373),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1373),
-    [anon_sym_sizeof] = ACTIONS(1371),
-    [anon_sym___alignof__] = ACTIONS(1371),
-    [anon_sym___alignof] = ACTIONS(1371),
-    [anon_sym__alignof] = ACTIONS(1371),
-    [anon_sym_alignof] = ACTIONS(1371),
-    [anon_sym__Alignof] = ACTIONS(1371),
-    [anon_sym_offsetof] = ACTIONS(1371),
-    [anon_sym__Generic] = ACTIONS(1371),
-    [anon_sym_asm] = ACTIONS(1371),
-    [anon_sym___asm__] = ACTIONS(1371),
-    [anon_sym___asm] = ACTIONS(1371),
-    [sym_number_literal] = ACTIONS(1373),
-    [anon_sym_L_SQUOTE] = ACTIONS(1373),
-    [anon_sym_u_SQUOTE] = ACTIONS(1373),
-    [anon_sym_U_SQUOTE] = ACTIONS(1373),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1373),
-    [anon_sym_SQUOTE] = ACTIONS(1373),
-    [anon_sym_L_DQUOTE] = ACTIONS(1373),
-    [anon_sym_u_DQUOTE] = ACTIONS(1373),
-    [anon_sym_U_DQUOTE] = ACTIONS(1373),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1373),
-    [anon_sym_DQUOTE] = ACTIONS(1373),
-    [sym_true] = ACTIONS(1371),
-    [sym_false] = ACTIONS(1371),
-    [anon_sym_NULL] = ACTIONS(1371),
-    [anon_sym_nullptr] = ACTIONS(1371),
-    [sym_comment] = ACTIONS(3),
-  },
-  [366] = {
-    [ts_builtin_sym_end] = ACTIONS(1319),
-    [sym_identifier] = ACTIONS(1317),
-    [aux_sym_preproc_include_token1] = ACTIONS(1317),
-    [aux_sym_preproc_def_token1] = ACTIONS(1317),
-    [aux_sym_preproc_if_token1] = ACTIONS(1317),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1317),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1317),
-    [sym_preproc_directive] = ACTIONS(1317),
-    [anon_sym_LPAREN2] = ACTIONS(1319),
-    [anon_sym_BANG] = ACTIONS(1319),
-    [anon_sym_TILDE] = ACTIONS(1319),
-    [anon_sym_DASH] = ACTIONS(1317),
-    [anon_sym_PLUS] = ACTIONS(1317),
-    [anon_sym_STAR] = ACTIONS(1319),
-    [anon_sym_AMP] = ACTIONS(1319),
-    [anon_sym___extension__] = ACTIONS(1317),
-    [anon_sym_typedef] = ACTIONS(1317),
-    [anon_sym_extern] = ACTIONS(1317),
-    [anon_sym___attribute__] = ACTIONS(1317),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1319),
-    [anon_sym___declspec] = ACTIONS(1317),
-    [anon_sym___cdecl] = ACTIONS(1317),
-    [anon_sym___clrcall] = ACTIONS(1317),
-    [anon_sym___stdcall] = ACTIONS(1317),
-    [anon_sym___fastcall] = ACTIONS(1317),
-    [anon_sym___thiscall] = ACTIONS(1317),
-    [anon_sym___vectorcall] = ACTIONS(1317),
-    [anon_sym_LBRACE] = ACTIONS(1319),
-    [anon_sym_signed] = ACTIONS(1317),
-    [anon_sym_unsigned] = ACTIONS(1317),
-    [anon_sym_long] = ACTIONS(1317),
-    [anon_sym_short] = ACTIONS(1317),
-    [anon_sym_static] = ACTIONS(1317),
-    [anon_sym_auto] = ACTIONS(1317),
-    [anon_sym_register] = ACTIONS(1317),
-    [anon_sym_inline] = ACTIONS(1317),
-    [anon_sym___inline] = ACTIONS(1317),
-    [anon_sym___inline__] = ACTIONS(1317),
-    [anon_sym___forceinline] = ACTIONS(1317),
-    [anon_sym_thread_local] = ACTIONS(1317),
-    [anon_sym___thread] = ACTIONS(1317),
-    [anon_sym_const] = ACTIONS(1317),
-    [anon_sym_constexpr] = ACTIONS(1317),
-    [anon_sym_volatile] = ACTIONS(1317),
-    [anon_sym_restrict] = ACTIONS(1317),
-    [anon_sym___restrict__] = ACTIONS(1317),
-    [anon_sym__Atomic] = ACTIONS(1317),
-    [anon_sym__Noreturn] = ACTIONS(1317),
-    [anon_sym_noreturn] = ACTIONS(1317),
-    [anon_sym__Nonnull] = ACTIONS(1317),
-    [anon_sym_alignas] = ACTIONS(1317),
-    [anon_sym__Alignas] = ACTIONS(1317),
-    [sym_primitive_type] = ACTIONS(1317),
-    [anon_sym_enum] = ACTIONS(1317),
-    [anon_sym_struct] = ACTIONS(1317),
-    [anon_sym_union] = ACTIONS(1317),
-    [anon_sym_if] = ACTIONS(1317),
-    [anon_sym_switch] = ACTIONS(1317),
-    [anon_sym_case] = ACTIONS(1317),
-    [anon_sym_default] = ACTIONS(1317),
-    [anon_sym_while] = ACTIONS(1317),
-    [anon_sym_do] = ACTIONS(1317),
-    [anon_sym_for] = ACTIONS(1317),
-    [anon_sym_return] = ACTIONS(1317),
-    [anon_sym_break] = ACTIONS(1317),
-    [anon_sym_continue] = ACTIONS(1317),
-    [anon_sym_goto] = ACTIONS(1317),
-    [anon_sym_DASH_DASH] = ACTIONS(1319),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1319),
-    [anon_sym_sizeof] = ACTIONS(1317),
-    [anon_sym___alignof__] = ACTIONS(1317),
-    [anon_sym___alignof] = ACTIONS(1317),
-    [anon_sym__alignof] = ACTIONS(1317),
-    [anon_sym_alignof] = ACTIONS(1317),
-    [anon_sym__Alignof] = ACTIONS(1317),
-    [anon_sym_offsetof] = ACTIONS(1317),
-    [anon_sym__Generic] = ACTIONS(1317),
-    [anon_sym_asm] = ACTIONS(1317),
-    [anon_sym___asm__] = ACTIONS(1317),
-    [anon_sym___asm] = ACTIONS(1317),
-    [sym_number_literal] = ACTIONS(1319),
-    [anon_sym_L_SQUOTE] = ACTIONS(1319),
-    [anon_sym_u_SQUOTE] = ACTIONS(1319),
-    [anon_sym_U_SQUOTE] = ACTIONS(1319),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1319),
-    [anon_sym_SQUOTE] = ACTIONS(1319),
-    [anon_sym_L_DQUOTE] = ACTIONS(1319),
-    [anon_sym_u_DQUOTE] = ACTIONS(1319),
-    [anon_sym_U_DQUOTE] = ACTIONS(1319),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1319),
-    [anon_sym_DQUOTE] = ACTIONS(1319),
-    [sym_true] = ACTIONS(1317),
-    [sym_false] = ACTIONS(1317),
-    [anon_sym_NULL] = ACTIONS(1317),
-    [anon_sym_nullptr] = ACTIONS(1317),
-    [sym_comment] = ACTIONS(3),
-  },
-  [367] = {
-    [ts_builtin_sym_end] = ACTIONS(1687),
-    [sym_identifier] = ACTIONS(1690),
-    [aux_sym_preproc_include_token1] = ACTIONS(1690),
-    [aux_sym_preproc_def_token1] = ACTIONS(1690),
-    [aux_sym_preproc_if_token1] = ACTIONS(1690),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1690),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1690),
-    [sym_preproc_directive] = ACTIONS(1690),
-    [anon_sym_LPAREN2] = ACTIONS(1687),
-    [anon_sym_BANG] = ACTIONS(1687),
-    [anon_sym_TILDE] = ACTIONS(1687),
-    [anon_sym_DASH] = ACTIONS(1690),
-    [anon_sym_PLUS] = ACTIONS(1690),
-    [anon_sym_STAR] = ACTIONS(1687),
-    [anon_sym_AMP] = ACTIONS(1687),
-    [anon_sym___extension__] = ACTIONS(1690),
-    [anon_sym_typedef] = ACTIONS(1690),
-    [anon_sym_extern] = ACTIONS(1690),
-    [anon_sym___attribute__] = ACTIONS(1690),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1687),
-    [anon_sym___declspec] = ACTIONS(1690),
-    [anon_sym___cdecl] = ACTIONS(1690),
-    [anon_sym___clrcall] = ACTIONS(1690),
-    [anon_sym___stdcall] = ACTIONS(1690),
-    [anon_sym___fastcall] = ACTIONS(1690),
-    [anon_sym___thiscall] = ACTIONS(1690),
-    [anon_sym___vectorcall] = ACTIONS(1690),
-    [anon_sym_LBRACE] = ACTIONS(1687),
-    [anon_sym_signed] = ACTIONS(1690),
-    [anon_sym_unsigned] = ACTIONS(1690),
-    [anon_sym_long] = ACTIONS(1690),
-    [anon_sym_short] = ACTIONS(1690),
-    [anon_sym_static] = ACTIONS(1690),
-    [anon_sym_auto] = ACTIONS(1690),
-    [anon_sym_register] = ACTIONS(1690),
-    [anon_sym_inline] = ACTIONS(1690),
-    [anon_sym___inline] = ACTIONS(1690),
-    [anon_sym___inline__] = ACTIONS(1690),
-    [anon_sym___forceinline] = ACTIONS(1690),
-    [anon_sym_thread_local] = ACTIONS(1690),
-    [anon_sym___thread] = ACTIONS(1690),
-    [anon_sym_const] = ACTIONS(1690),
-    [anon_sym_constexpr] = ACTIONS(1690),
-    [anon_sym_volatile] = ACTIONS(1690),
-    [anon_sym_restrict] = ACTIONS(1690),
-    [anon_sym___restrict__] = ACTIONS(1690),
-    [anon_sym__Atomic] = ACTIONS(1690),
-    [anon_sym__Noreturn] = ACTIONS(1690),
-    [anon_sym_noreturn] = ACTIONS(1690),
-    [anon_sym__Nonnull] = ACTIONS(1690),
-    [anon_sym_alignas] = ACTIONS(1690),
-    [anon_sym__Alignas] = ACTIONS(1690),
-    [sym_primitive_type] = ACTIONS(1690),
-    [anon_sym_enum] = ACTIONS(1690),
-    [anon_sym_struct] = ACTIONS(1690),
-    [anon_sym_union] = ACTIONS(1690),
-    [anon_sym_if] = ACTIONS(1690),
-    [anon_sym_switch] = ACTIONS(1690),
-    [anon_sym_case] = ACTIONS(1690),
-    [anon_sym_default] = ACTIONS(1690),
-    [anon_sym_while] = ACTIONS(1690),
-    [anon_sym_do] = ACTIONS(1690),
-    [anon_sym_for] = ACTIONS(1690),
-    [anon_sym_return] = ACTIONS(1690),
-    [anon_sym_break] = ACTIONS(1690),
-    [anon_sym_continue] = ACTIONS(1690),
-    [anon_sym_goto] = ACTIONS(1690),
-    [anon_sym_DASH_DASH] = ACTIONS(1687),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1687),
-    [anon_sym_sizeof] = ACTIONS(1690),
-    [anon_sym___alignof__] = ACTIONS(1690),
-    [anon_sym___alignof] = ACTIONS(1690),
-    [anon_sym__alignof] = ACTIONS(1690),
-    [anon_sym_alignof] = ACTIONS(1690),
-    [anon_sym__Alignof] = ACTIONS(1690),
-    [anon_sym_offsetof] = ACTIONS(1690),
-    [anon_sym__Generic] = ACTIONS(1690),
-    [anon_sym_asm] = ACTIONS(1690),
-    [anon_sym___asm__] = ACTIONS(1690),
-    [anon_sym___asm] = ACTIONS(1690),
-    [sym_number_literal] = ACTIONS(1687),
-    [anon_sym_L_SQUOTE] = ACTIONS(1687),
-    [anon_sym_u_SQUOTE] = ACTIONS(1687),
-    [anon_sym_U_SQUOTE] = ACTIONS(1687),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1687),
-    [anon_sym_SQUOTE] = ACTIONS(1687),
-    [anon_sym_L_DQUOTE] = ACTIONS(1687),
-    [anon_sym_u_DQUOTE] = ACTIONS(1687),
-    [anon_sym_U_DQUOTE] = ACTIONS(1687),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1687),
-    [anon_sym_DQUOTE] = ACTIONS(1687),
-    [sym_true] = ACTIONS(1690),
-    [sym_false] = ACTIONS(1690),
-    [anon_sym_NULL] = ACTIONS(1690),
-    [anon_sym_nullptr] = ACTIONS(1690),
-    [sym_comment] = ACTIONS(3),
-  },
-  [368] = {
-    [ts_builtin_sym_end] = ACTIONS(1259),
-    [sym_identifier] = ACTIONS(1257),
-    [aux_sym_preproc_include_token1] = ACTIONS(1257),
-    [aux_sym_preproc_def_token1] = ACTIONS(1257),
-    [aux_sym_preproc_if_token1] = ACTIONS(1257),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1257),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1257),
-    [sym_preproc_directive] = ACTIONS(1257),
-    [anon_sym_LPAREN2] = ACTIONS(1259),
-    [anon_sym_BANG] = ACTIONS(1259),
-    [anon_sym_TILDE] = ACTIONS(1259),
-    [anon_sym_DASH] = ACTIONS(1257),
-    [anon_sym_PLUS] = ACTIONS(1257),
-    [anon_sym_STAR] = ACTIONS(1259),
-    [anon_sym_AMP] = ACTIONS(1259),
-    [anon_sym___extension__] = ACTIONS(1257),
-    [anon_sym_typedef] = ACTIONS(1257),
-    [anon_sym_extern] = ACTIONS(1257),
-    [anon_sym___attribute__] = ACTIONS(1257),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1259),
-    [anon_sym___declspec] = ACTIONS(1257),
-    [anon_sym___cdecl] = ACTIONS(1257),
-    [anon_sym___clrcall] = ACTIONS(1257),
-    [anon_sym___stdcall] = ACTIONS(1257),
-    [anon_sym___fastcall] = ACTIONS(1257),
-    [anon_sym___thiscall] = ACTIONS(1257),
-    [anon_sym___vectorcall] = ACTIONS(1257),
-    [anon_sym_LBRACE] = ACTIONS(1259),
-    [anon_sym_signed] = ACTIONS(1257),
-    [anon_sym_unsigned] = ACTIONS(1257),
-    [anon_sym_long] = ACTIONS(1257),
-    [anon_sym_short] = ACTIONS(1257),
-    [anon_sym_static] = ACTIONS(1257),
-    [anon_sym_auto] = ACTIONS(1257),
-    [anon_sym_register] = ACTIONS(1257),
-    [anon_sym_inline] = ACTIONS(1257),
-    [anon_sym___inline] = ACTIONS(1257),
-    [anon_sym___inline__] = ACTIONS(1257),
-    [anon_sym___forceinline] = ACTIONS(1257),
-    [anon_sym_thread_local] = ACTIONS(1257),
-    [anon_sym___thread] = ACTIONS(1257),
-    [anon_sym_const] = ACTIONS(1257),
-    [anon_sym_constexpr] = ACTIONS(1257),
-    [anon_sym_volatile] = ACTIONS(1257),
-    [anon_sym_restrict] = ACTIONS(1257),
-    [anon_sym___restrict__] = ACTIONS(1257),
-    [anon_sym__Atomic] = ACTIONS(1257),
-    [anon_sym__Noreturn] = ACTIONS(1257),
-    [anon_sym_noreturn] = ACTIONS(1257),
-    [anon_sym__Nonnull] = ACTIONS(1257),
-    [anon_sym_alignas] = ACTIONS(1257),
-    [anon_sym__Alignas] = ACTIONS(1257),
-    [sym_primitive_type] = ACTIONS(1257),
-    [anon_sym_enum] = ACTIONS(1257),
-    [anon_sym_struct] = ACTIONS(1257),
-    [anon_sym_union] = ACTIONS(1257),
-    [anon_sym_if] = ACTIONS(1257),
-    [anon_sym_switch] = ACTIONS(1257),
-    [anon_sym_case] = ACTIONS(1257),
-    [anon_sym_default] = ACTIONS(1257),
-    [anon_sym_while] = ACTIONS(1257),
-    [anon_sym_do] = ACTIONS(1257),
-    [anon_sym_for] = ACTIONS(1257),
-    [anon_sym_return] = ACTIONS(1257),
-    [anon_sym_break] = ACTIONS(1257),
-    [anon_sym_continue] = ACTIONS(1257),
-    [anon_sym_goto] = ACTIONS(1257),
-    [anon_sym_DASH_DASH] = ACTIONS(1259),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1259),
-    [anon_sym_sizeof] = ACTIONS(1257),
-    [anon_sym___alignof__] = ACTIONS(1257),
-    [anon_sym___alignof] = ACTIONS(1257),
-    [anon_sym__alignof] = ACTIONS(1257),
-    [anon_sym_alignof] = ACTIONS(1257),
-    [anon_sym__Alignof] = ACTIONS(1257),
-    [anon_sym_offsetof] = ACTIONS(1257),
-    [anon_sym__Generic] = ACTIONS(1257),
-    [anon_sym_asm] = ACTIONS(1257),
-    [anon_sym___asm__] = ACTIONS(1257),
-    [anon_sym___asm] = ACTIONS(1257),
-    [sym_number_literal] = ACTIONS(1259),
-    [anon_sym_L_SQUOTE] = ACTIONS(1259),
-    [anon_sym_u_SQUOTE] = ACTIONS(1259),
-    [anon_sym_U_SQUOTE] = ACTIONS(1259),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1259),
-    [anon_sym_SQUOTE] = ACTIONS(1259),
-    [anon_sym_L_DQUOTE] = ACTIONS(1259),
-    [anon_sym_u_DQUOTE] = ACTIONS(1259),
-    [anon_sym_U_DQUOTE] = ACTIONS(1259),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1259),
-    [anon_sym_DQUOTE] = ACTIONS(1259),
-    [sym_true] = ACTIONS(1257),
-    [sym_false] = ACTIONS(1257),
-    [anon_sym_NULL] = ACTIONS(1257),
-    [anon_sym_nullptr] = ACTIONS(1257),
-    [sym_comment] = ACTIONS(3),
-  },
-  [369] = {
-    [ts_builtin_sym_end] = ACTIONS(1299),
-    [sym_identifier] = ACTIONS(1297),
-    [aux_sym_preproc_include_token1] = ACTIONS(1297),
-    [aux_sym_preproc_def_token1] = ACTIONS(1297),
-    [aux_sym_preproc_if_token1] = ACTIONS(1297),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1297),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1297),
-    [sym_preproc_directive] = ACTIONS(1297),
-    [anon_sym_LPAREN2] = ACTIONS(1299),
-    [anon_sym_BANG] = ACTIONS(1299),
-    [anon_sym_TILDE] = ACTIONS(1299),
-    [anon_sym_DASH] = ACTIONS(1297),
-    [anon_sym_PLUS] = ACTIONS(1297),
-    [anon_sym_STAR] = ACTIONS(1299),
-    [anon_sym_AMP] = ACTIONS(1299),
-    [anon_sym___extension__] = ACTIONS(1297),
-    [anon_sym_typedef] = ACTIONS(1297),
-    [anon_sym_extern] = ACTIONS(1297),
-    [anon_sym___attribute__] = ACTIONS(1297),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1299),
-    [anon_sym___declspec] = ACTIONS(1297),
-    [anon_sym___cdecl] = ACTIONS(1297),
-    [anon_sym___clrcall] = ACTIONS(1297),
-    [anon_sym___stdcall] = ACTIONS(1297),
-    [anon_sym___fastcall] = ACTIONS(1297),
-    [anon_sym___thiscall] = ACTIONS(1297),
-    [anon_sym___vectorcall] = ACTIONS(1297),
-    [anon_sym_LBRACE] = ACTIONS(1299),
-    [anon_sym_signed] = ACTIONS(1297),
-    [anon_sym_unsigned] = ACTIONS(1297),
-    [anon_sym_long] = ACTIONS(1297),
-    [anon_sym_short] = ACTIONS(1297),
-    [anon_sym_static] = ACTIONS(1297),
-    [anon_sym_auto] = ACTIONS(1297),
-    [anon_sym_register] = ACTIONS(1297),
-    [anon_sym_inline] = ACTIONS(1297),
-    [anon_sym___inline] = ACTIONS(1297),
-    [anon_sym___inline__] = ACTIONS(1297),
-    [anon_sym___forceinline] = ACTIONS(1297),
-    [anon_sym_thread_local] = ACTIONS(1297),
-    [anon_sym___thread] = ACTIONS(1297),
-    [anon_sym_const] = ACTIONS(1297),
-    [anon_sym_constexpr] = ACTIONS(1297),
-    [anon_sym_volatile] = ACTIONS(1297),
-    [anon_sym_restrict] = ACTIONS(1297),
-    [anon_sym___restrict__] = ACTIONS(1297),
-    [anon_sym__Atomic] = ACTIONS(1297),
-    [anon_sym__Noreturn] = ACTIONS(1297),
-    [anon_sym_noreturn] = ACTIONS(1297),
-    [anon_sym__Nonnull] = ACTIONS(1297),
-    [anon_sym_alignas] = ACTIONS(1297),
-    [anon_sym__Alignas] = ACTIONS(1297),
-    [sym_primitive_type] = ACTIONS(1297),
-    [anon_sym_enum] = ACTIONS(1297),
-    [anon_sym_struct] = ACTIONS(1297),
-    [anon_sym_union] = ACTIONS(1297),
-    [anon_sym_if] = ACTIONS(1297),
-    [anon_sym_switch] = ACTIONS(1297),
-    [anon_sym_case] = ACTIONS(1297),
-    [anon_sym_default] = ACTIONS(1297),
-    [anon_sym_while] = ACTIONS(1297),
-    [anon_sym_do] = ACTIONS(1297),
-    [anon_sym_for] = ACTIONS(1297),
-    [anon_sym_return] = ACTIONS(1297),
-    [anon_sym_break] = ACTIONS(1297),
-    [anon_sym_continue] = ACTIONS(1297),
-    [anon_sym_goto] = ACTIONS(1297),
-    [anon_sym_DASH_DASH] = ACTIONS(1299),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1299),
-    [anon_sym_sizeof] = ACTIONS(1297),
-    [anon_sym___alignof__] = ACTIONS(1297),
-    [anon_sym___alignof] = ACTIONS(1297),
-    [anon_sym__alignof] = ACTIONS(1297),
-    [anon_sym_alignof] = ACTIONS(1297),
-    [anon_sym__Alignof] = ACTIONS(1297),
-    [anon_sym_offsetof] = ACTIONS(1297),
-    [anon_sym__Generic] = ACTIONS(1297),
-    [anon_sym_asm] = ACTIONS(1297),
-    [anon_sym___asm__] = ACTIONS(1297),
-    [anon_sym___asm] = ACTIONS(1297),
-    [sym_number_literal] = ACTIONS(1299),
-    [anon_sym_L_SQUOTE] = ACTIONS(1299),
-    [anon_sym_u_SQUOTE] = ACTIONS(1299),
-    [anon_sym_U_SQUOTE] = ACTIONS(1299),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1299),
-    [anon_sym_SQUOTE] = ACTIONS(1299),
-    [anon_sym_L_DQUOTE] = ACTIONS(1299),
-    [anon_sym_u_DQUOTE] = ACTIONS(1299),
-    [anon_sym_U_DQUOTE] = ACTIONS(1299),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1299),
-    [anon_sym_DQUOTE] = ACTIONS(1299),
-    [sym_true] = ACTIONS(1297),
-    [sym_false] = ACTIONS(1297),
-    [anon_sym_NULL] = ACTIONS(1297),
-    [anon_sym_nullptr] = ACTIONS(1297),
-    [sym_comment] = ACTIONS(3),
-  },
-  [370] = {
-    [ts_builtin_sym_end] = ACTIONS(1275),
-    [sym_identifier] = ACTIONS(1273),
-    [aux_sym_preproc_include_token1] = ACTIONS(1273),
-    [aux_sym_preproc_def_token1] = ACTIONS(1273),
-    [aux_sym_preproc_if_token1] = ACTIONS(1273),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1273),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1273),
-    [sym_preproc_directive] = ACTIONS(1273),
-    [anon_sym_LPAREN2] = ACTIONS(1275),
-    [anon_sym_BANG] = ACTIONS(1275),
-    [anon_sym_TILDE] = ACTIONS(1275),
-    [anon_sym_DASH] = ACTIONS(1273),
-    [anon_sym_PLUS] = ACTIONS(1273),
-    [anon_sym_STAR] = ACTIONS(1275),
-    [anon_sym_AMP] = ACTIONS(1275),
-    [anon_sym___extension__] = ACTIONS(1273),
-    [anon_sym_typedef] = ACTIONS(1273),
-    [anon_sym_extern] = ACTIONS(1273),
-    [anon_sym___attribute__] = ACTIONS(1273),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1275),
-    [anon_sym___declspec] = ACTIONS(1273),
-    [anon_sym___cdecl] = ACTIONS(1273),
-    [anon_sym___clrcall] = ACTIONS(1273),
-    [anon_sym___stdcall] = ACTIONS(1273),
-    [anon_sym___fastcall] = ACTIONS(1273),
-    [anon_sym___thiscall] = ACTIONS(1273),
-    [anon_sym___vectorcall] = ACTIONS(1273),
-    [anon_sym_LBRACE] = ACTIONS(1275),
-    [anon_sym_signed] = ACTIONS(1273),
-    [anon_sym_unsigned] = ACTIONS(1273),
-    [anon_sym_long] = ACTIONS(1273),
-    [anon_sym_short] = ACTIONS(1273),
-    [anon_sym_static] = ACTIONS(1273),
-    [anon_sym_auto] = ACTIONS(1273),
-    [anon_sym_register] = ACTIONS(1273),
-    [anon_sym_inline] = ACTIONS(1273),
-    [anon_sym___inline] = ACTIONS(1273),
-    [anon_sym___inline__] = ACTIONS(1273),
-    [anon_sym___forceinline] = ACTIONS(1273),
-    [anon_sym_thread_local] = ACTIONS(1273),
-    [anon_sym___thread] = ACTIONS(1273),
-    [anon_sym_const] = ACTIONS(1273),
-    [anon_sym_constexpr] = ACTIONS(1273),
-    [anon_sym_volatile] = ACTIONS(1273),
-    [anon_sym_restrict] = ACTIONS(1273),
-    [anon_sym___restrict__] = ACTIONS(1273),
-    [anon_sym__Atomic] = ACTIONS(1273),
-    [anon_sym__Noreturn] = ACTIONS(1273),
-    [anon_sym_noreturn] = ACTIONS(1273),
-    [anon_sym__Nonnull] = ACTIONS(1273),
-    [anon_sym_alignas] = ACTIONS(1273),
-    [anon_sym__Alignas] = ACTIONS(1273),
-    [sym_primitive_type] = ACTIONS(1273),
-    [anon_sym_enum] = ACTIONS(1273),
-    [anon_sym_struct] = ACTIONS(1273),
-    [anon_sym_union] = ACTIONS(1273),
-    [anon_sym_if] = ACTIONS(1273),
-    [anon_sym_switch] = ACTIONS(1273),
-    [anon_sym_case] = ACTIONS(1273),
-    [anon_sym_default] = ACTIONS(1273),
-    [anon_sym_while] = ACTIONS(1273),
-    [anon_sym_do] = ACTIONS(1273),
-    [anon_sym_for] = ACTIONS(1273),
-    [anon_sym_return] = ACTIONS(1273),
-    [anon_sym_break] = ACTIONS(1273),
-    [anon_sym_continue] = ACTIONS(1273),
-    [anon_sym_goto] = ACTIONS(1273),
-    [anon_sym_DASH_DASH] = ACTIONS(1275),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1275),
-    [anon_sym_sizeof] = ACTIONS(1273),
-    [anon_sym___alignof__] = ACTIONS(1273),
-    [anon_sym___alignof] = ACTIONS(1273),
-    [anon_sym__alignof] = ACTIONS(1273),
-    [anon_sym_alignof] = ACTIONS(1273),
-    [anon_sym__Alignof] = ACTIONS(1273),
-    [anon_sym_offsetof] = ACTIONS(1273),
-    [anon_sym__Generic] = ACTIONS(1273),
-    [anon_sym_asm] = ACTIONS(1273),
-    [anon_sym___asm__] = ACTIONS(1273),
-    [anon_sym___asm] = ACTIONS(1273),
-    [sym_number_literal] = ACTIONS(1275),
-    [anon_sym_L_SQUOTE] = ACTIONS(1275),
-    [anon_sym_u_SQUOTE] = ACTIONS(1275),
-    [anon_sym_U_SQUOTE] = ACTIONS(1275),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1275),
-    [anon_sym_SQUOTE] = ACTIONS(1275),
-    [anon_sym_L_DQUOTE] = ACTIONS(1275),
-    [anon_sym_u_DQUOTE] = ACTIONS(1275),
-    [anon_sym_U_DQUOTE] = ACTIONS(1275),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1275),
-    [anon_sym_DQUOTE] = ACTIONS(1275),
-    [sym_true] = ACTIONS(1273),
-    [sym_false] = ACTIONS(1273),
-    [anon_sym_NULL] = ACTIONS(1273),
-    [anon_sym_nullptr] = ACTIONS(1273),
-    [sym_comment] = ACTIONS(3),
-  },
-  [371] = {
-    [ts_builtin_sym_end] = ACTIONS(1279),
-    [sym_identifier] = ACTIONS(1277),
-    [aux_sym_preproc_include_token1] = ACTIONS(1277),
-    [aux_sym_preproc_def_token1] = ACTIONS(1277),
-    [aux_sym_preproc_if_token1] = ACTIONS(1277),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1277),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1277),
-    [sym_preproc_directive] = ACTIONS(1277),
-    [anon_sym_LPAREN2] = ACTIONS(1279),
-    [anon_sym_BANG] = ACTIONS(1279),
-    [anon_sym_TILDE] = ACTIONS(1279),
-    [anon_sym_DASH] = ACTIONS(1277),
-    [anon_sym_PLUS] = ACTIONS(1277),
-    [anon_sym_STAR] = ACTIONS(1279),
-    [anon_sym_AMP] = ACTIONS(1279),
-    [anon_sym___extension__] = ACTIONS(1277),
-    [anon_sym_typedef] = ACTIONS(1277),
-    [anon_sym_extern] = ACTIONS(1277),
-    [anon_sym___attribute__] = ACTIONS(1277),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1279),
-    [anon_sym___declspec] = ACTIONS(1277),
-    [anon_sym___cdecl] = ACTIONS(1277),
-    [anon_sym___clrcall] = ACTIONS(1277),
-    [anon_sym___stdcall] = ACTIONS(1277),
-    [anon_sym___fastcall] = ACTIONS(1277),
-    [anon_sym___thiscall] = ACTIONS(1277),
-    [anon_sym___vectorcall] = ACTIONS(1277),
-    [anon_sym_LBRACE] = ACTIONS(1279),
-    [anon_sym_signed] = ACTIONS(1277),
-    [anon_sym_unsigned] = ACTIONS(1277),
-    [anon_sym_long] = ACTIONS(1277),
-    [anon_sym_short] = ACTIONS(1277),
-    [anon_sym_static] = ACTIONS(1277),
-    [anon_sym_auto] = ACTIONS(1277),
-    [anon_sym_register] = ACTIONS(1277),
-    [anon_sym_inline] = ACTIONS(1277),
-    [anon_sym___inline] = ACTIONS(1277),
-    [anon_sym___inline__] = ACTIONS(1277),
-    [anon_sym___forceinline] = ACTIONS(1277),
-    [anon_sym_thread_local] = ACTIONS(1277),
-    [anon_sym___thread] = ACTIONS(1277),
-    [anon_sym_const] = ACTIONS(1277),
-    [anon_sym_constexpr] = ACTIONS(1277),
-    [anon_sym_volatile] = ACTIONS(1277),
-    [anon_sym_restrict] = ACTIONS(1277),
-    [anon_sym___restrict__] = ACTIONS(1277),
-    [anon_sym__Atomic] = ACTIONS(1277),
-    [anon_sym__Noreturn] = ACTIONS(1277),
-    [anon_sym_noreturn] = ACTIONS(1277),
-    [anon_sym__Nonnull] = ACTIONS(1277),
-    [anon_sym_alignas] = ACTIONS(1277),
-    [anon_sym__Alignas] = ACTIONS(1277),
-    [sym_primitive_type] = ACTIONS(1277),
-    [anon_sym_enum] = ACTIONS(1277),
-    [anon_sym_struct] = ACTIONS(1277),
-    [anon_sym_union] = ACTIONS(1277),
-    [anon_sym_if] = ACTIONS(1277),
-    [anon_sym_switch] = ACTIONS(1277),
-    [anon_sym_case] = ACTIONS(1277),
-    [anon_sym_default] = ACTIONS(1277),
-    [anon_sym_while] = ACTIONS(1277),
-    [anon_sym_do] = ACTIONS(1277),
-    [anon_sym_for] = ACTIONS(1277),
-    [anon_sym_return] = ACTIONS(1277),
-    [anon_sym_break] = ACTIONS(1277),
-    [anon_sym_continue] = ACTIONS(1277),
-    [anon_sym_goto] = ACTIONS(1277),
-    [anon_sym_DASH_DASH] = ACTIONS(1279),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1279),
-    [anon_sym_sizeof] = ACTIONS(1277),
-    [anon_sym___alignof__] = ACTIONS(1277),
-    [anon_sym___alignof] = ACTIONS(1277),
-    [anon_sym__alignof] = ACTIONS(1277),
-    [anon_sym_alignof] = ACTIONS(1277),
-    [anon_sym__Alignof] = ACTIONS(1277),
-    [anon_sym_offsetof] = ACTIONS(1277),
-    [anon_sym__Generic] = ACTIONS(1277),
-    [anon_sym_asm] = ACTIONS(1277),
-    [anon_sym___asm__] = ACTIONS(1277),
-    [anon_sym___asm] = ACTIONS(1277),
-    [sym_number_literal] = ACTIONS(1279),
-    [anon_sym_L_SQUOTE] = ACTIONS(1279),
-    [anon_sym_u_SQUOTE] = ACTIONS(1279),
-    [anon_sym_U_SQUOTE] = ACTIONS(1279),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1279),
-    [anon_sym_SQUOTE] = ACTIONS(1279),
-    [anon_sym_L_DQUOTE] = ACTIONS(1279),
-    [anon_sym_u_DQUOTE] = ACTIONS(1279),
-    [anon_sym_U_DQUOTE] = ACTIONS(1279),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1279),
-    [anon_sym_DQUOTE] = ACTIONS(1279),
-    [sym_true] = ACTIONS(1277),
-    [sym_false] = ACTIONS(1277),
-    [anon_sym_NULL] = ACTIONS(1277),
-    [anon_sym_nullptr] = ACTIONS(1277),
-    [sym_comment] = ACTIONS(3),
-  },
-  [372] = {
-    [ts_builtin_sym_end] = ACTIONS(1283),
-    [sym_identifier] = ACTIONS(1281),
-    [aux_sym_preproc_include_token1] = ACTIONS(1281),
-    [aux_sym_preproc_def_token1] = ACTIONS(1281),
-    [aux_sym_preproc_if_token1] = ACTIONS(1281),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1281),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1281),
-    [sym_preproc_directive] = ACTIONS(1281),
-    [anon_sym_LPAREN2] = ACTIONS(1283),
-    [anon_sym_BANG] = ACTIONS(1283),
-    [anon_sym_TILDE] = ACTIONS(1283),
-    [anon_sym_DASH] = ACTIONS(1281),
-    [anon_sym_PLUS] = ACTIONS(1281),
-    [anon_sym_STAR] = ACTIONS(1283),
-    [anon_sym_AMP] = ACTIONS(1283),
-    [anon_sym___extension__] = ACTIONS(1281),
-    [anon_sym_typedef] = ACTIONS(1281),
-    [anon_sym_extern] = ACTIONS(1281),
-    [anon_sym___attribute__] = ACTIONS(1281),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1283),
-    [anon_sym___declspec] = ACTIONS(1281),
-    [anon_sym___cdecl] = ACTIONS(1281),
-    [anon_sym___clrcall] = ACTIONS(1281),
-    [anon_sym___stdcall] = ACTIONS(1281),
-    [anon_sym___fastcall] = ACTIONS(1281),
-    [anon_sym___thiscall] = ACTIONS(1281),
-    [anon_sym___vectorcall] = ACTIONS(1281),
-    [anon_sym_LBRACE] = ACTIONS(1283),
-    [anon_sym_signed] = ACTIONS(1281),
-    [anon_sym_unsigned] = ACTIONS(1281),
-    [anon_sym_long] = ACTIONS(1281),
-    [anon_sym_short] = ACTIONS(1281),
-    [anon_sym_static] = ACTIONS(1281),
-    [anon_sym_auto] = ACTIONS(1281),
-    [anon_sym_register] = ACTIONS(1281),
-    [anon_sym_inline] = ACTIONS(1281),
-    [anon_sym___inline] = ACTIONS(1281),
-    [anon_sym___inline__] = ACTIONS(1281),
-    [anon_sym___forceinline] = ACTIONS(1281),
-    [anon_sym_thread_local] = ACTIONS(1281),
-    [anon_sym___thread] = ACTIONS(1281),
-    [anon_sym_const] = ACTIONS(1281),
-    [anon_sym_constexpr] = ACTIONS(1281),
-    [anon_sym_volatile] = ACTIONS(1281),
-    [anon_sym_restrict] = ACTIONS(1281),
-    [anon_sym___restrict__] = ACTIONS(1281),
-    [anon_sym__Atomic] = ACTIONS(1281),
-    [anon_sym__Noreturn] = ACTIONS(1281),
-    [anon_sym_noreturn] = ACTIONS(1281),
-    [anon_sym__Nonnull] = ACTIONS(1281),
-    [anon_sym_alignas] = ACTIONS(1281),
-    [anon_sym__Alignas] = ACTIONS(1281),
-    [sym_primitive_type] = ACTIONS(1281),
-    [anon_sym_enum] = ACTIONS(1281),
-    [anon_sym_struct] = ACTIONS(1281),
-    [anon_sym_union] = ACTIONS(1281),
-    [anon_sym_if] = ACTIONS(1281),
-    [anon_sym_switch] = ACTIONS(1281),
-    [anon_sym_case] = ACTIONS(1281),
-    [anon_sym_default] = ACTIONS(1281),
-    [anon_sym_while] = ACTIONS(1281),
-    [anon_sym_do] = ACTIONS(1281),
-    [anon_sym_for] = ACTIONS(1281),
-    [anon_sym_return] = ACTIONS(1281),
-    [anon_sym_break] = ACTIONS(1281),
-    [anon_sym_continue] = ACTIONS(1281),
-    [anon_sym_goto] = ACTIONS(1281),
-    [anon_sym_DASH_DASH] = ACTIONS(1283),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1283),
-    [anon_sym_sizeof] = ACTIONS(1281),
-    [anon_sym___alignof__] = ACTIONS(1281),
-    [anon_sym___alignof] = ACTIONS(1281),
-    [anon_sym__alignof] = ACTIONS(1281),
-    [anon_sym_alignof] = ACTIONS(1281),
-    [anon_sym__Alignof] = ACTIONS(1281),
-    [anon_sym_offsetof] = ACTIONS(1281),
-    [anon_sym__Generic] = ACTIONS(1281),
-    [anon_sym_asm] = ACTIONS(1281),
-    [anon_sym___asm__] = ACTIONS(1281),
-    [anon_sym___asm] = ACTIONS(1281),
-    [sym_number_literal] = ACTIONS(1283),
-    [anon_sym_L_SQUOTE] = ACTIONS(1283),
-    [anon_sym_u_SQUOTE] = ACTIONS(1283),
-    [anon_sym_U_SQUOTE] = ACTIONS(1283),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1283),
-    [anon_sym_SQUOTE] = ACTIONS(1283),
-    [anon_sym_L_DQUOTE] = ACTIONS(1283),
-    [anon_sym_u_DQUOTE] = ACTIONS(1283),
-    [anon_sym_U_DQUOTE] = ACTIONS(1283),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1283),
-    [anon_sym_DQUOTE] = ACTIONS(1283),
-    [sym_true] = ACTIONS(1281),
-    [sym_false] = ACTIONS(1281),
-    [anon_sym_NULL] = ACTIONS(1281),
-    [anon_sym_nullptr] = ACTIONS(1281),
-    [sym_comment] = ACTIONS(3),
-  },
-  [373] = {
-    [ts_builtin_sym_end] = ACTIONS(1343),
-    [sym_identifier] = ACTIONS(1341),
-    [aux_sym_preproc_include_token1] = ACTIONS(1341),
-    [aux_sym_preproc_def_token1] = ACTIONS(1341),
-    [aux_sym_preproc_if_token1] = ACTIONS(1341),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1341),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1341),
-    [sym_preproc_directive] = ACTIONS(1341),
-    [anon_sym_LPAREN2] = ACTIONS(1343),
-    [anon_sym_BANG] = ACTIONS(1343),
-    [anon_sym_TILDE] = ACTIONS(1343),
-    [anon_sym_DASH] = ACTIONS(1341),
-    [anon_sym_PLUS] = ACTIONS(1341),
-    [anon_sym_STAR] = ACTIONS(1343),
-    [anon_sym_AMP] = ACTIONS(1343),
-    [anon_sym___extension__] = ACTIONS(1341),
-    [anon_sym_typedef] = ACTIONS(1341),
-    [anon_sym_extern] = ACTIONS(1341),
-    [anon_sym___attribute__] = ACTIONS(1341),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1343),
-    [anon_sym___declspec] = ACTIONS(1341),
-    [anon_sym___cdecl] = ACTIONS(1341),
-    [anon_sym___clrcall] = ACTIONS(1341),
-    [anon_sym___stdcall] = ACTIONS(1341),
-    [anon_sym___fastcall] = ACTIONS(1341),
-    [anon_sym___thiscall] = ACTIONS(1341),
-    [anon_sym___vectorcall] = ACTIONS(1341),
-    [anon_sym_LBRACE] = ACTIONS(1343),
-    [anon_sym_signed] = ACTIONS(1341),
-    [anon_sym_unsigned] = ACTIONS(1341),
-    [anon_sym_long] = ACTIONS(1341),
-    [anon_sym_short] = ACTIONS(1341),
-    [anon_sym_static] = ACTIONS(1341),
-    [anon_sym_auto] = ACTIONS(1341),
-    [anon_sym_register] = ACTIONS(1341),
-    [anon_sym_inline] = ACTIONS(1341),
-    [anon_sym___inline] = ACTIONS(1341),
-    [anon_sym___inline__] = ACTIONS(1341),
-    [anon_sym___forceinline] = ACTIONS(1341),
-    [anon_sym_thread_local] = ACTIONS(1341),
-    [anon_sym___thread] = ACTIONS(1341),
-    [anon_sym_const] = ACTIONS(1341),
-    [anon_sym_constexpr] = ACTIONS(1341),
-    [anon_sym_volatile] = ACTIONS(1341),
-    [anon_sym_restrict] = ACTIONS(1341),
-    [anon_sym___restrict__] = ACTIONS(1341),
-    [anon_sym__Atomic] = ACTIONS(1341),
-    [anon_sym__Noreturn] = ACTIONS(1341),
-    [anon_sym_noreturn] = ACTIONS(1341),
-    [anon_sym__Nonnull] = ACTIONS(1341),
-    [anon_sym_alignas] = ACTIONS(1341),
-    [anon_sym__Alignas] = ACTIONS(1341),
-    [sym_primitive_type] = ACTIONS(1341),
-    [anon_sym_enum] = ACTIONS(1341),
-    [anon_sym_struct] = ACTIONS(1341),
-    [anon_sym_union] = ACTIONS(1341),
-    [anon_sym_if] = ACTIONS(1341),
-    [anon_sym_switch] = ACTIONS(1341),
-    [anon_sym_case] = ACTIONS(1341),
-    [anon_sym_default] = ACTIONS(1341),
-    [anon_sym_while] = ACTIONS(1341),
-    [anon_sym_do] = ACTIONS(1341),
-    [anon_sym_for] = ACTIONS(1341),
-    [anon_sym_return] = ACTIONS(1341),
-    [anon_sym_break] = ACTIONS(1341),
-    [anon_sym_continue] = ACTIONS(1341),
-    [anon_sym_goto] = ACTIONS(1341),
-    [anon_sym_DASH_DASH] = ACTIONS(1343),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1343),
-    [anon_sym_sizeof] = ACTIONS(1341),
-    [anon_sym___alignof__] = ACTIONS(1341),
-    [anon_sym___alignof] = ACTIONS(1341),
-    [anon_sym__alignof] = ACTIONS(1341),
-    [anon_sym_alignof] = ACTIONS(1341),
-    [anon_sym__Alignof] = ACTIONS(1341),
-    [anon_sym_offsetof] = ACTIONS(1341),
-    [anon_sym__Generic] = ACTIONS(1341),
-    [anon_sym_asm] = ACTIONS(1341),
-    [anon_sym___asm__] = ACTIONS(1341),
-    [anon_sym___asm] = ACTIONS(1341),
-    [sym_number_literal] = ACTIONS(1343),
-    [anon_sym_L_SQUOTE] = ACTIONS(1343),
-    [anon_sym_u_SQUOTE] = ACTIONS(1343),
-    [anon_sym_U_SQUOTE] = ACTIONS(1343),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1343),
-    [anon_sym_SQUOTE] = ACTIONS(1343),
-    [anon_sym_L_DQUOTE] = ACTIONS(1343),
-    [anon_sym_u_DQUOTE] = ACTIONS(1343),
-    [anon_sym_U_DQUOTE] = ACTIONS(1343),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1343),
-    [anon_sym_DQUOTE] = ACTIONS(1343),
-    [sym_true] = ACTIONS(1341),
-    [sym_false] = ACTIONS(1341),
-    [anon_sym_NULL] = ACTIONS(1341),
-    [anon_sym_nullptr] = ACTIONS(1341),
-    [sym_comment] = ACTIONS(3),
-  },
-  [374] = {
-    [ts_builtin_sym_end] = ACTIONS(1335),
-    [sym_identifier] = ACTIONS(1333),
-    [aux_sym_preproc_include_token1] = ACTIONS(1333),
-    [aux_sym_preproc_def_token1] = ACTIONS(1333),
-    [aux_sym_preproc_if_token1] = ACTIONS(1333),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1333),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1333),
-    [sym_preproc_directive] = ACTIONS(1333),
-    [anon_sym_LPAREN2] = ACTIONS(1335),
-    [anon_sym_BANG] = ACTIONS(1335),
-    [anon_sym_TILDE] = ACTIONS(1335),
-    [anon_sym_DASH] = ACTIONS(1333),
-    [anon_sym_PLUS] = ACTIONS(1333),
-    [anon_sym_STAR] = ACTIONS(1335),
-    [anon_sym_AMP] = ACTIONS(1335),
-    [anon_sym___extension__] = ACTIONS(1333),
-    [anon_sym_typedef] = ACTIONS(1333),
-    [anon_sym_extern] = ACTIONS(1333),
-    [anon_sym___attribute__] = ACTIONS(1333),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1335),
-    [anon_sym___declspec] = ACTIONS(1333),
-    [anon_sym___cdecl] = ACTIONS(1333),
-    [anon_sym___clrcall] = ACTIONS(1333),
-    [anon_sym___stdcall] = ACTIONS(1333),
-    [anon_sym___fastcall] = ACTIONS(1333),
-    [anon_sym___thiscall] = ACTIONS(1333),
-    [anon_sym___vectorcall] = ACTIONS(1333),
-    [anon_sym_LBRACE] = ACTIONS(1335),
-    [anon_sym_signed] = ACTIONS(1333),
-    [anon_sym_unsigned] = ACTIONS(1333),
-    [anon_sym_long] = ACTIONS(1333),
-    [anon_sym_short] = ACTIONS(1333),
-    [anon_sym_static] = ACTIONS(1333),
-    [anon_sym_auto] = ACTIONS(1333),
-    [anon_sym_register] = ACTIONS(1333),
-    [anon_sym_inline] = ACTIONS(1333),
-    [anon_sym___inline] = ACTIONS(1333),
-    [anon_sym___inline__] = ACTIONS(1333),
-    [anon_sym___forceinline] = ACTIONS(1333),
-    [anon_sym_thread_local] = ACTIONS(1333),
-    [anon_sym___thread] = ACTIONS(1333),
-    [anon_sym_const] = ACTIONS(1333),
-    [anon_sym_constexpr] = ACTIONS(1333),
-    [anon_sym_volatile] = ACTIONS(1333),
-    [anon_sym_restrict] = ACTIONS(1333),
-    [anon_sym___restrict__] = ACTIONS(1333),
-    [anon_sym__Atomic] = ACTIONS(1333),
-    [anon_sym__Noreturn] = ACTIONS(1333),
-    [anon_sym_noreturn] = ACTIONS(1333),
-    [anon_sym__Nonnull] = ACTIONS(1333),
-    [anon_sym_alignas] = ACTIONS(1333),
-    [anon_sym__Alignas] = ACTIONS(1333),
-    [sym_primitive_type] = ACTIONS(1333),
-    [anon_sym_enum] = ACTIONS(1333),
-    [anon_sym_struct] = ACTIONS(1333),
-    [anon_sym_union] = ACTIONS(1333),
-    [anon_sym_if] = ACTIONS(1333),
-    [anon_sym_switch] = ACTIONS(1333),
-    [anon_sym_case] = ACTIONS(1333),
-    [anon_sym_default] = ACTIONS(1333),
-    [anon_sym_while] = ACTIONS(1333),
-    [anon_sym_do] = ACTIONS(1333),
-    [anon_sym_for] = ACTIONS(1333),
-    [anon_sym_return] = ACTIONS(1333),
-    [anon_sym_break] = ACTIONS(1333),
-    [anon_sym_continue] = ACTIONS(1333),
-    [anon_sym_goto] = ACTIONS(1333),
-    [anon_sym_DASH_DASH] = ACTIONS(1335),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1335),
-    [anon_sym_sizeof] = ACTIONS(1333),
-    [anon_sym___alignof__] = ACTIONS(1333),
-    [anon_sym___alignof] = ACTIONS(1333),
-    [anon_sym__alignof] = ACTIONS(1333),
-    [anon_sym_alignof] = ACTIONS(1333),
-    [anon_sym__Alignof] = ACTIONS(1333),
-    [anon_sym_offsetof] = ACTIONS(1333),
-    [anon_sym__Generic] = ACTIONS(1333),
-    [anon_sym_asm] = ACTIONS(1333),
-    [anon_sym___asm__] = ACTIONS(1333),
-    [anon_sym___asm] = ACTIONS(1333),
-    [sym_number_literal] = ACTIONS(1335),
-    [anon_sym_L_SQUOTE] = ACTIONS(1335),
-    [anon_sym_u_SQUOTE] = ACTIONS(1335),
-    [anon_sym_U_SQUOTE] = ACTIONS(1335),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1335),
-    [anon_sym_SQUOTE] = ACTIONS(1335),
-    [anon_sym_L_DQUOTE] = ACTIONS(1335),
-    [anon_sym_u_DQUOTE] = ACTIONS(1335),
-    [anon_sym_U_DQUOTE] = ACTIONS(1335),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1335),
-    [anon_sym_DQUOTE] = ACTIONS(1335),
-    [sym_true] = ACTIONS(1333),
-    [sym_false] = ACTIONS(1333),
-    [anon_sym_NULL] = ACTIONS(1333),
-    [anon_sym_nullptr] = ACTIONS(1333),
-    [sym_comment] = ACTIONS(3),
-  },
-  [375] = {
-    [ts_builtin_sym_end] = ACTIONS(1291),
-    [sym_identifier] = ACTIONS(1289),
-    [aux_sym_preproc_include_token1] = ACTIONS(1289),
-    [aux_sym_preproc_def_token1] = ACTIONS(1289),
-    [aux_sym_preproc_if_token1] = ACTIONS(1289),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1289),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1289),
-    [sym_preproc_directive] = ACTIONS(1289),
-    [anon_sym_LPAREN2] = ACTIONS(1291),
-    [anon_sym_BANG] = ACTIONS(1291),
-    [anon_sym_TILDE] = ACTIONS(1291),
-    [anon_sym_DASH] = ACTIONS(1289),
-    [anon_sym_PLUS] = ACTIONS(1289),
-    [anon_sym_STAR] = ACTIONS(1291),
-    [anon_sym_AMP] = ACTIONS(1291),
-    [anon_sym___extension__] = ACTIONS(1289),
-    [anon_sym_typedef] = ACTIONS(1289),
-    [anon_sym_extern] = ACTIONS(1289),
-    [anon_sym___attribute__] = ACTIONS(1289),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1291),
-    [anon_sym___declspec] = ACTIONS(1289),
-    [anon_sym___cdecl] = ACTIONS(1289),
-    [anon_sym___clrcall] = ACTIONS(1289),
-    [anon_sym___stdcall] = ACTIONS(1289),
-    [anon_sym___fastcall] = ACTIONS(1289),
-    [anon_sym___thiscall] = ACTIONS(1289),
-    [anon_sym___vectorcall] = ACTIONS(1289),
-    [anon_sym_LBRACE] = ACTIONS(1291),
-    [anon_sym_signed] = ACTIONS(1289),
-    [anon_sym_unsigned] = ACTIONS(1289),
-    [anon_sym_long] = ACTIONS(1289),
-    [anon_sym_short] = ACTIONS(1289),
-    [anon_sym_static] = ACTIONS(1289),
-    [anon_sym_auto] = ACTIONS(1289),
-    [anon_sym_register] = ACTIONS(1289),
-    [anon_sym_inline] = ACTIONS(1289),
-    [anon_sym___inline] = ACTIONS(1289),
-    [anon_sym___inline__] = ACTIONS(1289),
-    [anon_sym___forceinline] = ACTIONS(1289),
-    [anon_sym_thread_local] = ACTIONS(1289),
-    [anon_sym___thread] = ACTIONS(1289),
-    [anon_sym_const] = ACTIONS(1289),
-    [anon_sym_constexpr] = ACTIONS(1289),
-    [anon_sym_volatile] = ACTIONS(1289),
-    [anon_sym_restrict] = ACTIONS(1289),
-    [anon_sym___restrict__] = ACTIONS(1289),
-    [anon_sym__Atomic] = ACTIONS(1289),
-    [anon_sym__Noreturn] = ACTIONS(1289),
-    [anon_sym_noreturn] = ACTIONS(1289),
-    [anon_sym__Nonnull] = ACTIONS(1289),
-    [anon_sym_alignas] = ACTIONS(1289),
-    [anon_sym__Alignas] = ACTIONS(1289),
-    [sym_primitive_type] = ACTIONS(1289),
-    [anon_sym_enum] = ACTIONS(1289),
-    [anon_sym_struct] = ACTIONS(1289),
-    [anon_sym_union] = ACTIONS(1289),
-    [anon_sym_if] = ACTIONS(1289),
-    [anon_sym_switch] = ACTIONS(1289),
-    [anon_sym_case] = ACTIONS(1289),
-    [anon_sym_default] = ACTIONS(1289),
-    [anon_sym_while] = ACTIONS(1289),
-    [anon_sym_do] = ACTIONS(1289),
-    [anon_sym_for] = ACTIONS(1289),
-    [anon_sym_return] = ACTIONS(1289),
-    [anon_sym_break] = ACTIONS(1289),
-    [anon_sym_continue] = ACTIONS(1289),
-    [anon_sym_goto] = ACTIONS(1289),
-    [anon_sym_DASH_DASH] = ACTIONS(1291),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1291),
-    [anon_sym_sizeof] = ACTIONS(1289),
-    [anon_sym___alignof__] = ACTIONS(1289),
-    [anon_sym___alignof] = ACTIONS(1289),
-    [anon_sym__alignof] = ACTIONS(1289),
-    [anon_sym_alignof] = ACTIONS(1289),
-    [anon_sym__Alignof] = ACTIONS(1289),
-    [anon_sym_offsetof] = ACTIONS(1289),
-    [anon_sym__Generic] = ACTIONS(1289),
-    [anon_sym_asm] = ACTIONS(1289),
-    [anon_sym___asm__] = ACTIONS(1289),
-    [anon_sym___asm] = ACTIONS(1289),
-    [sym_number_literal] = ACTIONS(1291),
-    [anon_sym_L_SQUOTE] = ACTIONS(1291),
-    [anon_sym_u_SQUOTE] = ACTIONS(1291),
-    [anon_sym_U_SQUOTE] = ACTIONS(1291),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1291),
-    [anon_sym_SQUOTE] = ACTIONS(1291),
-    [anon_sym_L_DQUOTE] = ACTIONS(1291),
-    [anon_sym_u_DQUOTE] = ACTIONS(1291),
-    [anon_sym_U_DQUOTE] = ACTIONS(1291),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1291),
-    [anon_sym_DQUOTE] = ACTIONS(1291),
-    [sym_true] = ACTIONS(1289),
-    [sym_false] = ACTIONS(1289),
-    [anon_sym_NULL] = ACTIONS(1289),
-    [anon_sym_nullptr] = ACTIONS(1289),
-    [sym_comment] = ACTIONS(3),
-  },
-  [376] = {
-    [ts_builtin_sym_end] = ACTIONS(1295),
-    [sym_identifier] = ACTIONS(1293),
-    [aux_sym_preproc_include_token1] = ACTIONS(1293),
-    [aux_sym_preproc_def_token1] = ACTIONS(1293),
-    [aux_sym_preproc_if_token1] = ACTIONS(1293),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1293),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1293),
-    [sym_preproc_directive] = ACTIONS(1293),
-    [anon_sym_LPAREN2] = ACTIONS(1295),
-    [anon_sym_BANG] = ACTIONS(1295),
-    [anon_sym_TILDE] = ACTIONS(1295),
-    [anon_sym_DASH] = ACTIONS(1293),
-    [anon_sym_PLUS] = ACTIONS(1293),
-    [anon_sym_STAR] = ACTIONS(1295),
-    [anon_sym_AMP] = ACTIONS(1295),
-    [anon_sym___extension__] = ACTIONS(1293),
-    [anon_sym_typedef] = ACTIONS(1293),
-    [anon_sym_extern] = ACTIONS(1293),
-    [anon_sym___attribute__] = ACTIONS(1293),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1295),
-    [anon_sym___declspec] = ACTIONS(1293),
-    [anon_sym___cdecl] = ACTIONS(1293),
-    [anon_sym___clrcall] = ACTIONS(1293),
-    [anon_sym___stdcall] = ACTIONS(1293),
-    [anon_sym___fastcall] = ACTIONS(1293),
-    [anon_sym___thiscall] = ACTIONS(1293),
-    [anon_sym___vectorcall] = ACTIONS(1293),
-    [anon_sym_LBRACE] = ACTIONS(1295),
-    [anon_sym_signed] = ACTIONS(1293),
-    [anon_sym_unsigned] = ACTIONS(1293),
-    [anon_sym_long] = ACTIONS(1293),
-    [anon_sym_short] = ACTIONS(1293),
-    [anon_sym_static] = ACTIONS(1293),
-    [anon_sym_auto] = ACTIONS(1293),
-    [anon_sym_register] = ACTIONS(1293),
-    [anon_sym_inline] = ACTIONS(1293),
-    [anon_sym___inline] = ACTIONS(1293),
-    [anon_sym___inline__] = ACTIONS(1293),
-    [anon_sym___forceinline] = ACTIONS(1293),
-    [anon_sym_thread_local] = ACTIONS(1293),
-    [anon_sym___thread] = ACTIONS(1293),
-    [anon_sym_const] = ACTIONS(1293),
-    [anon_sym_constexpr] = ACTIONS(1293),
-    [anon_sym_volatile] = ACTIONS(1293),
-    [anon_sym_restrict] = ACTIONS(1293),
-    [anon_sym___restrict__] = ACTIONS(1293),
-    [anon_sym__Atomic] = ACTIONS(1293),
-    [anon_sym__Noreturn] = ACTIONS(1293),
-    [anon_sym_noreturn] = ACTIONS(1293),
-    [anon_sym__Nonnull] = ACTIONS(1293),
-    [anon_sym_alignas] = ACTIONS(1293),
-    [anon_sym__Alignas] = ACTIONS(1293),
-    [sym_primitive_type] = ACTIONS(1293),
-    [anon_sym_enum] = ACTIONS(1293),
-    [anon_sym_struct] = ACTIONS(1293),
-    [anon_sym_union] = ACTIONS(1293),
-    [anon_sym_if] = ACTIONS(1293),
-    [anon_sym_switch] = ACTIONS(1293),
-    [anon_sym_case] = ACTIONS(1293),
-    [anon_sym_default] = ACTIONS(1293),
-    [anon_sym_while] = ACTIONS(1293),
-    [anon_sym_do] = ACTIONS(1293),
-    [anon_sym_for] = ACTIONS(1293),
-    [anon_sym_return] = ACTIONS(1293),
-    [anon_sym_break] = ACTIONS(1293),
-    [anon_sym_continue] = ACTIONS(1293),
-    [anon_sym_goto] = ACTIONS(1293),
-    [anon_sym_DASH_DASH] = ACTIONS(1295),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1295),
-    [anon_sym_sizeof] = ACTIONS(1293),
-    [anon_sym___alignof__] = ACTIONS(1293),
-    [anon_sym___alignof] = ACTIONS(1293),
-    [anon_sym__alignof] = ACTIONS(1293),
-    [anon_sym_alignof] = ACTIONS(1293),
-    [anon_sym__Alignof] = ACTIONS(1293),
-    [anon_sym_offsetof] = ACTIONS(1293),
-    [anon_sym__Generic] = ACTIONS(1293),
-    [anon_sym_asm] = ACTIONS(1293),
-    [anon_sym___asm__] = ACTIONS(1293),
-    [anon_sym___asm] = ACTIONS(1293),
-    [sym_number_literal] = ACTIONS(1295),
-    [anon_sym_L_SQUOTE] = ACTIONS(1295),
-    [anon_sym_u_SQUOTE] = ACTIONS(1295),
-    [anon_sym_U_SQUOTE] = ACTIONS(1295),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1295),
-    [anon_sym_SQUOTE] = ACTIONS(1295),
-    [anon_sym_L_DQUOTE] = ACTIONS(1295),
-    [anon_sym_u_DQUOTE] = ACTIONS(1295),
-    [anon_sym_U_DQUOTE] = ACTIONS(1295),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1295),
-    [anon_sym_DQUOTE] = ACTIONS(1295),
-    [sym_true] = ACTIONS(1293),
-    [sym_false] = ACTIONS(1293),
-    [anon_sym_NULL] = ACTIONS(1293),
-    [anon_sym_nullptr] = ACTIONS(1293),
-    [sym_comment] = ACTIONS(3),
-  },
-  [377] = {
-    [ts_builtin_sym_end] = ACTIONS(1271),
-    [sym_identifier] = ACTIONS(1269),
-    [aux_sym_preproc_include_token1] = ACTIONS(1269),
-    [aux_sym_preproc_def_token1] = ACTIONS(1269),
-    [aux_sym_preproc_if_token1] = ACTIONS(1269),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1269),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1269),
-    [sym_preproc_directive] = ACTIONS(1269),
-    [anon_sym_LPAREN2] = ACTIONS(1271),
-    [anon_sym_BANG] = ACTIONS(1271),
-    [anon_sym_TILDE] = ACTIONS(1271),
-    [anon_sym_DASH] = ACTIONS(1269),
-    [anon_sym_PLUS] = ACTIONS(1269),
-    [anon_sym_STAR] = ACTIONS(1271),
-    [anon_sym_AMP] = ACTIONS(1271),
-    [anon_sym___extension__] = ACTIONS(1269),
-    [anon_sym_typedef] = ACTIONS(1269),
-    [anon_sym_extern] = ACTIONS(1269),
-    [anon_sym___attribute__] = ACTIONS(1269),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1271),
-    [anon_sym___declspec] = ACTIONS(1269),
-    [anon_sym___cdecl] = ACTIONS(1269),
-    [anon_sym___clrcall] = ACTIONS(1269),
-    [anon_sym___stdcall] = ACTIONS(1269),
-    [anon_sym___fastcall] = ACTIONS(1269),
-    [anon_sym___thiscall] = ACTIONS(1269),
-    [anon_sym___vectorcall] = ACTIONS(1269),
-    [anon_sym_LBRACE] = ACTIONS(1271),
-    [anon_sym_signed] = ACTIONS(1269),
-    [anon_sym_unsigned] = ACTIONS(1269),
-    [anon_sym_long] = ACTIONS(1269),
-    [anon_sym_short] = ACTIONS(1269),
-    [anon_sym_static] = ACTIONS(1269),
-    [anon_sym_auto] = ACTIONS(1269),
-    [anon_sym_register] = ACTIONS(1269),
-    [anon_sym_inline] = ACTIONS(1269),
-    [anon_sym___inline] = ACTIONS(1269),
-    [anon_sym___inline__] = ACTIONS(1269),
-    [anon_sym___forceinline] = ACTIONS(1269),
-    [anon_sym_thread_local] = ACTIONS(1269),
-    [anon_sym___thread] = ACTIONS(1269),
-    [anon_sym_const] = ACTIONS(1269),
-    [anon_sym_constexpr] = ACTIONS(1269),
-    [anon_sym_volatile] = ACTIONS(1269),
-    [anon_sym_restrict] = ACTIONS(1269),
-    [anon_sym___restrict__] = ACTIONS(1269),
-    [anon_sym__Atomic] = ACTIONS(1269),
-    [anon_sym__Noreturn] = ACTIONS(1269),
-    [anon_sym_noreturn] = ACTIONS(1269),
-    [anon_sym__Nonnull] = ACTIONS(1269),
-    [anon_sym_alignas] = ACTIONS(1269),
-    [anon_sym__Alignas] = ACTIONS(1269),
-    [sym_primitive_type] = ACTIONS(1269),
-    [anon_sym_enum] = ACTIONS(1269),
-    [anon_sym_struct] = ACTIONS(1269),
-    [anon_sym_union] = ACTIONS(1269),
-    [anon_sym_if] = ACTIONS(1269),
-    [anon_sym_switch] = ACTIONS(1269),
-    [anon_sym_case] = ACTIONS(1269),
-    [anon_sym_default] = ACTIONS(1269),
-    [anon_sym_while] = ACTIONS(1269),
-    [anon_sym_do] = ACTIONS(1269),
-    [anon_sym_for] = ACTIONS(1269),
-    [anon_sym_return] = ACTIONS(1269),
-    [anon_sym_break] = ACTIONS(1269),
-    [anon_sym_continue] = ACTIONS(1269),
-    [anon_sym_goto] = ACTIONS(1269),
-    [anon_sym_DASH_DASH] = ACTIONS(1271),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1271),
-    [anon_sym_sizeof] = ACTIONS(1269),
-    [anon_sym___alignof__] = ACTIONS(1269),
-    [anon_sym___alignof] = ACTIONS(1269),
-    [anon_sym__alignof] = ACTIONS(1269),
-    [anon_sym_alignof] = ACTIONS(1269),
-    [anon_sym__Alignof] = ACTIONS(1269),
-    [anon_sym_offsetof] = ACTIONS(1269),
-    [anon_sym__Generic] = ACTIONS(1269),
-    [anon_sym_asm] = ACTIONS(1269),
-    [anon_sym___asm__] = ACTIONS(1269),
-    [anon_sym___asm] = ACTIONS(1269),
-    [sym_number_literal] = ACTIONS(1271),
-    [anon_sym_L_SQUOTE] = ACTIONS(1271),
-    [anon_sym_u_SQUOTE] = ACTIONS(1271),
-    [anon_sym_U_SQUOTE] = ACTIONS(1271),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1271),
-    [anon_sym_SQUOTE] = ACTIONS(1271),
-    [anon_sym_L_DQUOTE] = ACTIONS(1271),
-    [anon_sym_u_DQUOTE] = ACTIONS(1271),
-    [anon_sym_U_DQUOTE] = ACTIONS(1271),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1271),
-    [anon_sym_DQUOTE] = ACTIONS(1271),
-    [sym_true] = ACTIONS(1269),
-    [sym_false] = ACTIONS(1269),
-    [anon_sym_NULL] = ACTIONS(1269),
-    [anon_sym_nullptr] = ACTIONS(1269),
-    [sym_comment] = ACTIONS(3),
-  },
-  [378] = {
-    [ts_builtin_sym_end] = ACTIONS(1267),
-    [sym_identifier] = ACTIONS(1265),
-    [aux_sym_preproc_include_token1] = ACTIONS(1265),
-    [aux_sym_preproc_def_token1] = ACTIONS(1265),
-    [aux_sym_preproc_if_token1] = ACTIONS(1265),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1265),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1265),
-    [sym_preproc_directive] = ACTIONS(1265),
-    [anon_sym_LPAREN2] = ACTIONS(1267),
-    [anon_sym_BANG] = ACTIONS(1267),
-    [anon_sym_TILDE] = ACTIONS(1267),
-    [anon_sym_DASH] = ACTIONS(1265),
-    [anon_sym_PLUS] = ACTIONS(1265),
-    [anon_sym_STAR] = ACTIONS(1267),
-    [anon_sym_AMP] = ACTIONS(1267),
-    [anon_sym___extension__] = ACTIONS(1265),
-    [anon_sym_typedef] = ACTIONS(1265),
-    [anon_sym_extern] = ACTIONS(1265),
-    [anon_sym___attribute__] = ACTIONS(1265),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1267),
-    [anon_sym___declspec] = ACTIONS(1265),
-    [anon_sym___cdecl] = ACTIONS(1265),
-    [anon_sym___clrcall] = ACTIONS(1265),
-    [anon_sym___stdcall] = ACTIONS(1265),
-    [anon_sym___fastcall] = ACTIONS(1265),
-    [anon_sym___thiscall] = ACTIONS(1265),
-    [anon_sym___vectorcall] = ACTIONS(1265),
-    [anon_sym_LBRACE] = ACTIONS(1267),
-    [anon_sym_signed] = ACTIONS(1265),
-    [anon_sym_unsigned] = ACTIONS(1265),
-    [anon_sym_long] = ACTIONS(1265),
-    [anon_sym_short] = ACTIONS(1265),
-    [anon_sym_static] = ACTIONS(1265),
-    [anon_sym_auto] = ACTIONS(1265),
-    [anon_sym_register] = ACTIONS(1265),
-    [anon_sym_inline] = ACTIONS(1265),
-    [anon_sym___inline] = ACTIONS(1265),
-    [anon_sym___inline__] = ACTIONS(1265),
-    [anon_sym___forceinline] = ACTIONS(1265),
-    [anon_sym_thread_local] = ACTIONS(1265),
-    [anon_sym___thread] = ACTIONS(1265),
-    [anon_sym_const] = ACTIONS(1265),
-    [anon_sym_constexpr] = ACTIONS(1265),
-    [anon_sym_volatile] = ACTIONS(1265),
-    [anon_sym_restrict] = ACTIONS(1265),
-    [anon_sym___restrict__] = ACTIONS(1265),
-    [anon_sym__Atomic] = ACTIONS(1265),
-    [anon_sym__Noreturn] = ACTIONS(1265),
-    [anon_sym_noreturn] = ACTIONS(1265),
-    [anon_sym__Nonnull] = ACTIONS(1265),
-    [anon_sym_alignas] = ACTIONS(1265),
-    [anon_sym__Alignas] = ACTIONS(1265),
-    [sym_primitive_type] = ACTIONS(1265),
-    [anon_sym_enum] = ACTIONS(1265),
-    [anon_sym_struct] = ACTIONS(1265),
-    [anon_sym_union] = ACTIONS(1265),
-    [anon_sym_if] = ACTIONS(1265),
-    [anon_sym_switch] = ACTIONS(1265),
-    [anon_sym_case] = ACTIONS(1265),
-    [anon_sym_default] = ACTIONS(1265),
-    [anon_sym_while] = ACTIONS(1265),
-    [anon_sym_do] = ACTIONS(1265),
-    [anon_sym_for] = ACTIONS(1265),
-    [anon_sym_return] = ACTIONS(1265),
-    [anon_sym_break] = ACTIONS(1265),
-    [anon_sym_continue] = ACTIONS(1265),
-    [anon_sym_goto] = ACTIONS(1265),
-    [anon_sym_DASH_DASH] = ACTIONS(1267),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1267),
-    [anon_sym_sizeof] = ACTIONS(1265),
-    [anon_sym___alignof__] = ACTIONS(1265),
-    [anon_sym___alignof] = ACTIONS(1265),
-    [anon_sym__alignof] = ACTIONS(1265),
-    [anon_sym_alignof] = ACTIONS(1265),
-    [anon_sym__Alignof] = ACTIONS(1265),
-    [anon_sym_offsetof] = ACTIONS(1265),
-    [anon_sym__Generic] = ACTIONS(1265),
-    [anon_sym_asm] = ACTIONS(1265),
-    [anon_sym___asm__] = ACTIONS(1265),
-    [anon_sym___asm] = ACTIONS(1265),
-    [sym_number_literal] = ACTIONS(1267),
-    [anon_sym_L_SQUOTE] = ACTIONS(1267),
-    [anon_sym_u_SQUOTE] = ACTIONS(1267),
-    [anon_sym_U_SQUOTE] = ACTIONS(1267),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1267),
-    [anon_sym_SQUOTE] = ACTIONS(1267),
-    [anon_sym_L_DQUOTE] = ACTIONS(1267),
-    [anon_sym_u_DQUOTE] = ACTIONS(1267),
-    [anon_sym_U_DQUOTE] = ACTIONS(1267),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1267),
-    [anon_sym_DQUOTE] = ACTIONS(1267),
-    [sym_true] = ACTIONS(1265),
-    [sym_false] = ACTIONS(1265),
-    [anon_sym_NULL] = ACTIONS(1265),
-    [anon_sym_nullptr] = ACTIONS(1265),
-    [sym_comment] = ACTIONS(3),
-  },
-  [379] = {
-    [ts_builtin_sym_end] = ACTIONS(1359),
-    [sym_identifier] = ACTIONS(1357),
-    [aux_sym_preproc_include_token1] = ACTIONS(1357),
-    [aux_sym_preproc_def_token1] = ACTIONS(1357),
-    [aux_sym_preproc_if_token1] = ACTIONS(1357),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1357),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1357),
-    [sym_preproc_directive] = ACTIONS(1357),
-    [anon_sym_LPAREN2] = ACTIONS(1359),
-    [anon_sym_BANG] = ACTIONS(1359),
-    [anon_sym_TILDE] = ACTIONS(1359),
-    [anon_sym_DASH] = ACTIONS(1357),
-    [anon_sym_PLUS] = ACTIONS(1357),
-    [anon_sym_STAR] = ACTIONS(1359),
-    [anon_sym_AMP] = ACTIONS(1359),
-    [anon_sym___extension__] = ACTIONS(1357),
-    [anon_sym_typedef] = ACTIONS(1357),
-    [anon_sym_extern] = ACTIONS(1357),
-    [anon_sym___attribute__] = ACTIONS(1357),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1359),
-    [anon_sym___declspec] = ACTIONS(1357),
-    [anon_sym___cdecl] = ACTIONS(1357),
-    [anon_sym___clrcall] = ACTIONS(1357),
-    [anon_sym___stdcall] = ACTIONS(1357),
-    [anon_sym___fastcall] = ACTIONS(1357),
-    [anon_sym___thiscall] = ACTIONS(1357),
-    [anon_sym___vectorcall] = ACTIONS(1357),
-    [anon_sym_LBRACE] = ACTIONS(1359),
-    [anon_sym_signed] = ACTIONS(1357),
-    [anon_sym_unsigned] = ACTIONS(1357),
-    [anon_sym_long] = ACTIONS(1357),
-    [anon_sym_short] = ACTIONS(1357),
-    [anon_sym_static] = ACTIONS(1357),
-    [anon_sym_auto] = ACTIONS(1357),
-    [anon_sym_register] = ACTIONS(1357),
-    [anon_sym_inline] = ACTIONS(1357),
-    [anon_sym___inline] = ACTIONS(1357),
-    [anon_sym___inline__] = ACTIONS(1357),
-    [anon_sym___forceinline] = ACTIONS(1357),
-    [anon_sym_thread_local] = ACTIONS(1357),
-    [anon_sym___thread] = ACTIONS(1357),
-    [anon_sym_const] = ACTIONS(1357),
-    [anon_sym_constexpr] = ACTIONS(1357),
-    [anon_sym_volatile] = ACTIONS(1357),
-    [anon_sym_restrict] = ACTIONS(1357),
-    [anon_sym___restrict__] = ACTIONS(1357),
-    [anon_sym__Atomic] = ACTIONS(1357),
-    [anon_sym__Noreturn] = ACTIONS(1357),
-    [anon_sym_noreturn] = ACTIONS(1357),
-    [anon_sym__Nonnull] = ACTIONS(1357),
-    [anon_sym_alignas] = ACTIONS(1357),
-    [anon_sym__Alignas] = ACTIONS(1357),
-    [sym_primitive_type] = ACTIONS(1357),
-    [anon_sym_enum] = ACTIONS(1357),
-    [anon_sym_struct] = ACTIONS(1357),
-    [anon_sym_union] = ACTIONS(1357),
-    [anon_sym_if] = ACTIONS(1357),
-    [anon_sym_switch] = ACTIONS(1357),
-    [anon_sym_case] = ACTIONS(1357),
-    [anon_sym_default] = ACTIONS(1357),
-    [anon_sym_while] = ACTIONS(1357),
-    [anon_sym_do] = ACTIONS(1357),
-    [anon_sym_for] = ACTIONS(1357),
-    [anon_sym_return] = ACTIONS(1357),
-    [anon_sym_break] = ACTIONS(1357),
-    [anon_sym_continue] = ACTIONS(1357),
-    [anon_sym_goto] = ACTIONS(1357),
-    [anon_sym_DASH_DASH] = ACTIONS(1359),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1359),
-    [anon_sym_sizeof] = ACTIONS(1357),
-    [anon_sym___alignof__] = ACTIONS(1357),
-    [anon_sym___alignof] = ACTIONS(1357),
-    [anon_sym__alignof] = ACTIONS(1357),
-    [anon_sym_alignof] = ACTIONS(1357),
-    [anon_sym__Alignof] = ACTIONS(1357),
-    [anon_sym_offsetof] = ACTIONS(1357),
-    [anon_sym__Generic] = ACTIONS(1357),
-    [anon_sym_asm] = ACTIONS(1357),
-    [anon_sym___asm__] = ACTIONS(1357),
-    [anon_sym___asm] = ACTIONS(1357),
-    [sym_number_literal] = ACTIONS(1359),
-    [anon_sym_L_SQUOTE] = ACTIONS(1359),
-    [anon_sym_u_SQUOTE] = ACTIONS(1359),
-    [anon_sym_U_SQUOTE] = ACTIONS(1359),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1359),
-    [anon_sym_SQUOTE] = ACTIONS(1359),
-    [anon_sym_L_DQUOTE] = ACTIONS(1359),
-    [anon_sym_u_DQUOTE] = ACTIONS(1359),
-    [anon_sym_U_DQUOTE] = ACTIONS(1359),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1359),
-    [anon_sym_DQUOTE] = ACTIONS(1359),
-    [sym_true] = ACTIONS(1357),
-    [sym_false] = ACTIONS(1357),
-    [anon_sym_NULL] = ACTIONS(1357),
-    [anon_sym_nullptr] = ACTIONS(1357),
-    [sym_comment] = ACTIONS(3),
-  },
-  [380] = {
-    [ts_builtin_sym_end] = ACTIONS(1693),
-    [sym_identifier] = ACTIONS(1695),
-    [aux_sym_preproc_include_token1] = ACTIONS(1695),
-    [aux_sym_preproc_def_token1] = ACTIONS(1695),
-    [aux_sym_preproc_if_token1] = ACTIONS(1695),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1695),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1695),
-    [sym_preproc_directive] = ACTIONS(1695),
-    [anon_sym_LPAREN2] = ACTIONS(1693),
-    [anon_sym_BANG] = ACTIONS(1693),
-    [anon_sym_TILDE] = ACTIONS(1693),
-    [anon_sym_DASH] = ACTIONS(1695),
-    [anon_sym_PLUS] = ACTIONS(1695),
-    [anon_sym_STAR] = ACTIONS(1693),
-    [anon_sym_AMP] = ACTIONS(1693),
-    [anon_sym___extension__] = ACTIONS(1695),
-    [anon_sym_typedef] = ACTIONS(1695),
-    [anon_sym_extern] = ACTIONS(1695),
-    [anon_sym___attribute__] = ACTIONS(1695),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1693),
-    [anon_sym___declspec] = ACTIONS(1695),
-    [anon_sym___cdecl] = ACTIONS(1695),
-    [anon_sym___clrcall] = ACTIONS(1695),
-    [anon_sym___stdcall] = ACTIONS(1695),
-    [anon_sym___fastcall] = ACTIONS(1695),
-    [anon_sym___thiscall] = ACTIONS(1695),
-    [anon_sym___vectorcall] = ACTIONS(1695),
-    [anon_sym_LBRACE] = ACTIONS(1693),
-    [anon_sym_signed] = ACTIONS(1695),
-    [anon_sym_unsigned] = ACTIONS(1695),
-    [anon_sym_long] = ACTIONS(1695),
-    [anon_sym_short] = ACTIONS(1695),
-    [anon_sym_static] = ACTIONS(1695),
-    [anon_sym_auto] = ACTIONS(1695),
-    [anon_sym_register] = ACTIONS(1695),
-    [anon_sym_inline] = ACTIONS(1695),
-    [anon_sym___inline] = ACTIONS(1695),
-    [anon_sym___inline__] = ACTIONS(1695),
-    [anon_sym___forceinline] = ACTIONS(1695),
-    [anon_sym_thread_local] = ACTIONS(1695),
-    [anon_sym___thread] = ACTIONS(1695),
-    [anon_sym_const] = ACTIONS(1695),
-    [anon_sym_constexpr] = ACTIONS(1695),
-    [anon_sym_volatile] = ACTIONS(1695),
-    [anon_sym_restrict] = ACTIONS(1695),
-    [anon_sym___restrict__] = ACTIONS(1695),
-    [anon_sym__Atomic] = ACTIONS(1695),
-    [anon_sym__Noreturn] = ACTIONS(1695),
-    [anon_sym_noreturn] = ACTIONS(1695),
-    [anon_sym__Nonnull] = ACTIONS(1695),
-    [anon_sym_alignas] = ACTIONS(1695),
-    [anon_sym__Alignas] = ACTIONS(1695),
-    [sym_primitive_type] = ACTIONS(1695),
-    [anon_sym_enum] = ACTIONS(1695),
-    [anon_sym_struct] = ACTIONS(1695),
-    [anon_sym_union] = ACTIONS(1695),
-    [anon_sym_if] = ACTIONS(1695),
-    [anon_sym_switch] = ACTIONS(1695),
-    [anon_sym_case] = ACTIONS(1695),
-    [anon_sym_default] = ACTIONS(1695),
-    [anon_sym_while] = ACTIONS(1695),
-    [anon_sym_do] = ACTIONS(1695),
-    [anon_sym_for] = ACTIONS(1695),
-    [anon_sym_return] = ACTIONS(1695),
-    [anon_sym_break] = ACTIONS(1695),
-    [anon_sym_continue] = ACTIONS(1695),
-    [anon_sym_goto] = ACTIONS(1695),
-    [anon_sym_DASH_DASH] = ACTIONS(1693),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1693),
-    [anon_sym_sizeof] = ACTIONS(1695),
-    [anon_sym___alignof__] = ACTIONS(1695),
-    [anon_sym___alignof] = ACTIONS(1695),
-    [anon_sym__alignof] = ACTIONS(1695),
-    [anon_sym_alignof] = ACTIONS(1695),
-    [anon_sym__Alignof] = ACTIONS(1695),
-    [anon_sym_offsetof] = ACTIONS(1695),
-    [anon_sym__Generic] = ACTIONS(1695),
-    [anon_sym_asm] = ACTIONS(1695),
-    [anon_sym___asm__] = ACTIONS(1695),
-    [anon_sym___asm] = ACTIONS(1695),
-    [sym_number_literal] = ACTIONS(1693),
-    [anon_sym_L_SQUOTE] = ACTIONS(1693),
-    [anon_sym_u_SQUOTE] = ACTIONS(1693),
-    [anon_sym_U_SQUOTE] = ACTIONS(1693),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1693),
-    [anon_sym_SQUOTE] = ACTIONS(1693),
-    [anon_sym_L_DQUOTE] = ACTIONS(1693),
-    [anon_sym_u_DQUOTE] = ACTIONS(1693),
-    [anon_sym_U_DQUOTE] = ACTIONS(1693),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1693),
-    [anon_sym_DQUOTE] = ACTIONS(1693),
-    [sym_true] = ACTIONS(1695),
-    [sym_false] = ACTIONS(1695),
-    [anon_sym_NULL] = ACTIONS(1695),
-    [anon_sym_nullptr] = ACTIONS(1695),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_if] = ACTIONS(1095),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(1103),
+    [anon_sym_default] = ACTIONS(1105),
+    [anon_sym_while] = ACTIONS(1097),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(1099),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(1101),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [381] = {
-    [sym_expression] = STATE(972),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_identifier] = ACTIONS(1697),
+    [sym_attribute_declaration] = STATE(361),
+    [sym_compound_statement] = STATE(250),
+    [sym_attributed_statement] = STATE(250),
+    [sym_statement] = STATE(406),
+    [sym_labeled_statement] = STATE(250),
+    [sym_expression_statement] = STATE(250),
+    [sym_if_statement] = STATE(250),
+    [sym_switch_statement] = STATE(250),
+    [sym_case_statement] = STATE(250),
+    [sym_while_statement] = STATE(250),
+    [sym_do_statement] = STATE(250),
+    [sym_for_statement] = STATE(250),
+    [sym_return_statement] = STATE(250),
+    [sym_break_statement] = STATE(250),
+    [sym_continue_statement] = STATE(250),
+    [sym_goto_statement] = STATE(250),
+    [sym_seh_try_statement] = STATE(250),
+    [sym_seh_leave_statement] = STATE(250),
+    [sym_expression] = STATE(1071),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1906),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_attributed_declarator_repeat1] = STATE(361),
+    [sym_identifier] = ACTIONS(1422),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -55540,96 +56002,79 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1700),
-    [anon_sym_typedef] = ACTIONS(1703),
-    [anon_sym_extern] = ACTIONS(1705),
-    [anon_sym___attribute__] = ACTIONS(1705),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1707),
-    [anon_sym___declspec] = ACTIONS(1705),
-    [anon_sym_signed] = ACTIONS(1705),
-    [anon_sym_unsigned] = ACTIONS(1705),
-    [anon_sym_long] = ACTIONS(1705),
-    [anon_sym_short] = ACTIONS(1705),
-    [anon_sym_static] = ACTIONS(1705),
-    [anon_sym_auto] = ACTIONS(1705),
-    [anon_sym_register] = ACTIONS(1705),
-    [anon_sym_inline] = ACTIONS(1705),
-    [anon_sym___inline] = ACTIONS(1705),
-    [anon_sym___inline__] = ACTIONS(1705),
-    [anon_sym___forceinline] = ACTIONS(1705),
-    [anon_sym_thread_local] = ACTIONS(1705),
-    [anon_sym___thread] = ACTIONS(1705),
-    [anon_sym_const] = ACTIONS(1705),
-    [anon_sym_constexpr] = ACTIONS(1705),
-    [anon_sym_volatile] = ACTIONS(1705),
-    [anon_sym_restrict] = ACTIONS(1705),
-    [anon_sym___restrict__] = ACTIONS(1705),
-    [anon_sym__Atomic] = ACTIONS(1705),
-    [anon_sym__Noreturn] = ACTIONS(1705),
-    [anon_sym_noreturn] = ACTIONS(1705),
-    [anon_sym__Nonnull] = ACTIONS(1705),
-    [anon_sym_alignas] = ACTIONS(1705),
-    [anon_sym__Alignas] = ACTIONS(1705),
-    [sym_primitive_type] = ACTIONS(1705),
-    [anon_sym_enum] = ACTIONS(1705),
-    [anon_sym_struct] = ACTIONS(1705),
-    [anon_sym_union] = ACTIONS(1705),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym_SEMI] = ACTIONS(370),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1418),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_if] = ACTIONS(1095),
+    [anon_sym_switch] = ACTIONS(63),
+    [anon_sym_case] = ACTIONS(1103),
+    [anon_sym_default] = ACTIONS(1105),
+    [anon_sym_while] = ACTIONS(1097),
+    [anon_sym_do] = ACTIONS(71),
+    [anon_sym_for] = ACTIONS(1099),
+    [anon_sym_return] = ACTIONS(75),
+    [anon_sym_break] = ACTIONS(77),
+    [anon_sym_continue] = ACTIONS(79),
+    [anon_sym_goto] = ACTIONS(81),
+    [anon_sym___try] = ACTIONS(1101),
+    [anon_sym___leave] = ACTIONS(406),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [382] = {
-    [sym_expression] = STATE(972),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_identifier] = ACTIONS(1697),
+    [sym_expression] = STATE(969),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_identifier] = ACTIONS(1706),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -55637,109 +56082,97 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1700),
-    [anon_sym_typedef] = ACTIONS(1709),
-    [anon_sym_extern] = ACTIONS(1705),
-    [anon_sym___attribute__] = ACTIONS(1705),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1707),
-    [anon_sym___declspec] = ACTIONS(1705),
-    [anon_sym_signed] = ACTIONS(1705),
-    [anon_sym_unsigned] = ACTIONS(1705),
-    [anon_sym_long] = ACTIONS(1705),
-    [anon_sym_short] = ACTIONS(1705),
-    [anon_sym_static] = ACTIONS(1705),
-    [anon_sym_auto] = ACTIONS(1705),
-    [anon_sym_register] = ACTIONS(1705),
-    [anon_sym_inline] = ACTIONS(1705),
-    [anon_sym___inline] = ACTIONS(1705),
-    [anon_sym___inline__] = ACTIONS(1705),
-    [anon_sym___forceinline] = ACTIONS(1705),
-    [anon_sym_thread_local] = ACTIONS(1705),
-    [anon_sym___thread] = ACTIONS(1705),
-    [anon_sym_const] = ACTIONS(1705),
-    [anon_sym_constexpr] = ACTIONS(1705),
-    [anon_sym_volatile] = ACTIONS(1705),
-    [anon_sym_restrict] = ACTIONS(1705),
-    [anon_sym___restrict__] = ACTIONS(1705),
-    [anon_sym__Atomic] = ACTIONS(1705),
-    [anon_sym__Noreturn] = ACTIONS(1705),
-    [anon_sym_noreturn] = ACTIONS(1705),
-    [anon_sym__Nonnull] = ACTIONS(1705),
-    [anon_sym_alignas] = ACTIONS(1705),
-    [anon_sym__Alignas] = ACTIONS(1705),
-    [sym_primitive_type] = ACTIONS(1705),
-    [anon_sym_enum] = ACTIONS(1705),
-    [anon_sym_struct] = ACTIONS(1705),
-    [anon_sym_union] = ACTIONS(1705),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1709),
+    [anon_sym_typedef] = ACTIONS(1712),
+    [anon_sym_extern] = ACTIONS(1714),
+    [anon_sym___attribute__] = ACTIONS(1714),
+    [anon_sym___attribute] = ACTIONS(1714),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1716),
+    [anon_sym___declspec] = ACTIONS(1714),
+    [anon_sym_signed] = ACTIONS(1714),
+    [anon_sym_unsigned] = ACTIONS(1714),
+    [anon_sym_long] = ACTIONS(1714),
+    [anon_sym_short] = ACTIONS(1714),
+    [anon_sym_static] = ACTIONS(1714),
+    [anon_sym_auto] = ACTIONS(1714),
+    [anon_sym_register] = ACTIONS(1714),
+    [anon_sym_inline] = ACTIONS(1714),
+    [anon_sym___inline] = ACTIONS(1714),
+    [anon_sym___inline__] = ACTIONS(1714),
+    [anon_sym___forceinline] = ACTIONS(1714),
+    [anon_sym_thread_local] = ACTIONS(1714),
+    [anon_sym___thread] = ACTIONS(1714),
+    [anon_sym_const] = ACTIONS(1714),
+    [anon_sym_constexpr] = ACTIONS(1714),
+    [anon_sym_volatile] = ACTIONS(1714),
+    [anon_sym_restrict] = ACTIONS(1714),
+    [anon_sym___restrict__] = ACTIONS(1714),
+    [anon_sym__Atomic] = ACTIONS(1714),
+    [anon_sym__Noreturn] = ACTIONS(1714),
+    [anon_sym_noreturn] = ACTIONS(1714),
+    [anon_sym__Nonnull] = ACTIONS(1714),
+    [anon_sym_alignas] = ACTIONS(1714),
+    [anon_sym__Alignas] = ACTIONS(1714),
+    [sym_primitive_type] = ACTIONS(1714),
+    [anon_sym_enum] = ACTIONS(1714),
+    [anon_sym_struct] = ACTIONS(1714),
+    [anon_sym_union] = ACTIONS(1714),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [383] = {
-    [sym_compound_statement] = STATE(1947),
-    [sym_type_qualifier] = STATE(1004),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(1095),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_expression] = STATE(1034),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1947),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_type_descriptor] = STATE(1914),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__type_definition_type_repeat1] = STATE(1004),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(1108),
-    [sym_identifier] = ACTIONS(1711),
+    [sym_expression] = STATE(969),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_identifier] = ACTIONS(1706),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -55747,96 +56180,97 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(1713),
-    [anon_sym_unsigned] = ACTIONS(1713),
-    [anon_sym_long] = ACTIONS(1713),
-    [anon_sym_short] = ACTIONS(1713),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(1715),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1709),
+    [anon_sym_typedef] = ACTIONS(1718),
+    [anon_sym_extern] = ACTIONS(1714),
+    [anon_sym___attribute__] = ACTIONS(1714),
+    [anon_sym___attribute] = ACTIONS(1714),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1716),
+    [anon_sym___declspec] = ACTIONS(1714),
+    [anon_sym_signed] = ACTIONS(1714),
+    [anon_sym_unsigned] = ACTIONS(1714),
+    [anon_sym_long] = ACTIONS(1714),
+    [anon_sym_short] = ACTIONS(1714),
+    [anon_sym_static] = ACTIONS(1714),
+    [anon_sym_auto] = ACTIONS(1714),
+    [anon_sym_register] = ACTIONS(1714),
+    [anon_sym_inline] = ACTIONS(1714),
+    [anon_sym___inline] = ACTIONS(1714),
+    [anon_sym___inline__] = ACTIONS(1714),
+    [anon_sym___forceinline] = ACTIONS(1714),
+    [anon_sym_thread_local] = ACTIONS(1714),
+    [anon_sym___thread] = ACTIONS(1714),
+    [anon_sym_const] = ACTIONS(1714),
+    [anon_sym_constexpr] = ACTIONS(1714),
+    [anon_sym_volatile] = ACTIONS(1714),
+    [anon_sym_restrict] = ACTIONS(1714),
+    [anon_sym___restrict__] = ACTIONS(1714),
+    [anon_sym__Atomic] = ACTIONS(1714),
+    [anon_sym__Noreturn] = ACTIONS(1714),
+    [anon_sym_noreturn] = ACTIONS(1714),
+    [anon_sym__Nonnull] = ACTIONS(1714),
+    [anon_sym_alignas] = ACTIONS(1714),
+    [anon_sym__Alignas] = ACTIONS(1714),
+    [sym_primitive_type] = ACTIONS(1714),
+    [anon_sym_enum] = ACTIONS(1714),
+    [anon_sym_struct] = ACTIONS(1714),
+    [anon_sym_union] = ACTIONS(1714),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [384] = {
-    [sym_compound_statement] = STATE(1947),
-    [sym_type_qualifier] = STATE(1004),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(1095),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_expression] = STATE(1034),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1947),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_type_descriptor] = STATE(1779),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__type_definition_type_repeat1] = STATE(1004),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(1108),
-    [sym_identifier] = ACTIONS(1711),
+    [sym_expression] = STATE(969),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_identifier] = ACTIONS(1706),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -55844,193 +56278,97 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(1713),
-    [anon_sym_unsigned] = ACTIONS(1713),
-    [anon_sym_long] = ACTIONS(1713),
-    [anon_sym_short] = ACTIONS(1713),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(1715),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1709),
+    [anon_sym_typedef] = ACTIONS(1720),
+    [anon_sym_extern] = ACTIONS(1714),
+    [anon_sym___attribute__] = ACTIONS(1714),
+    [anon_sym___attribute] = ACTIONS(1714),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1716),
+    [anon_sym___declspec] = ACTIONS(1714),
+    [anon_sym_signed] = ACTIONS(1714),
+    [anon_sym_unsigned] = ACTIONS(1714),
+    [anon_sym_long] = ACTIONS(1714),
+    [anon_sym_short] = ACTIONS(1714),
+    [anon_sym_static] = ACTIONS(1714),
+    [anon_sym_auto] = ACTIONS(1714),
+    [anon_sym_register] = ACTIONS(1714),
+    [anon_sym_inline] = ACTIONS(1714),
+    [anon_sym___inline] = ACTIONS(1714),
+    [anon_sym___inline__] = ACTIONS(1714),
+    [anon_sym___forceinline] = ACTIONS(1714),
+    [anon_sym_thread_local] = ACTIONS(1714),
+    [anon_sym___thread] = ACTIONS(1714),
+    [anon_sym_const] = ACTIONS(1714),
+    [anon_sym_constexpr] = ACTIONS(1714),
+    [anon_sym_volatile] = ACTIONS(1714),
+    [anon_sym_restrict] = ACTIONS(1714),
+    [anon_sym___restrict__] = ACTIONS(1714),
+    [anon_sym__Atomic] = ACTIONS(1714),
+    [anon_sym__Noreturn] = ACTIONS(1714),
+    [anon_sym_noreturn] = ACTIONS(1714),
+    [anon_sym__Nonnull] = ACTIONS(1714),
+    [anon_sym_alignas] = ACTIONS(1714),
+    [anon_sym__Alignas] = ACTIONS(1714),
+    [sym_primitive_type] = ACTIONS(1714),
+    [anon_sym_enum] = ACTIONS(1714),
+    [anon_sym_struct] = ACTIONS(1714),
+    [anon_sym_union] = ACTIONS(1714),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [385] = {
-    [sym_expression] = STATE(884),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(686),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(686),
-    [sym_call_expression] = STATE(686),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(686),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(686),
-    [sym_initializer_list] = STATE(675),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_identifier] = ACTIONS(1395),
-    [anon_sym_DOT_DOT_DOT] = ACTIONS(1383),
-    [anon_sym_LPAREN2] = ACTIONS(1383),
-    [anon_sym_BANG] = ACTIONS(1717),
-    [anon_sym_TILDE] = ACTIONS(1719),
-    [anon_sym_DASH] = ACTIONS(1381),
-    [anon_sym_PLUS] = ACTIONS(1381),
-    [anon_sym_STAR] = ACTIONS(1381),
-    [anon_sym_SLASH] = ACTIONS(1381),
-    [anon_sym_PERCENT] = ACTIONS(1381),
-    [anon_sym_PIPE_PIPE] = ACTIONS(1383),
-    [anon_sym_AMP_AMP] = ACTIONS(1383),
-    [anon_sym_PIPE] = ACTIONS(1381),
-    [anon_sym_CARET] = ACTIONS(1381),
-    [anon_sym_AMP] = ACTIONS(1381),
-    [anon_sym_EQ_EQ] = ACTIONS(1383),
-    [anon_sym_BANG_EQ] = ACTIONS(1383),
-    [anon_sym_GT] = ACTIONS(1381),
-    [anon_sym_GT_EQ] = ACTIONS(1383),
-    [anon_sym_LT_EQ] = ACTIONS(1383),
-    [anon_sym_LT] = ACTIONS(1381),
-    [anon_sym_LT_LT] = ACTIONS(1381),
-    [anon_sym_GT_GT] = ACTIONS(1381),
-    [anon_sym___extension__] = ACTIONS(1721),
-    [anon_sym_LBRACE] = ACTIONS(1391),
-    [anon_sym_LBRACK] = ACTIONS(1383),
-    [anon_sym_RBRACK] = ACTIONS(1383),
-    [anon_sym_EQ] = ACTIONS(1381),
-    [anon_sym_QMARK] = ACTIONS(1383),
-    [anon_sym_STAR_EQ] = ACTIONS(1383),
-    [anon_sym_SLASH_EQ] = ACTIONS(1383),
-    [anon_sym_PERCENT_EQ] = ACTIONS(1383),
-    [anon_sym_PLUS_EQ] = ACTIONS(1383),
-    [anon_sym_DASH_EQ] = ACTIONS(1383),
-    [anon_sym_LT_LT_EQ] = ACTIONS(1383),
-    [anon_sym_GT_GT_EQ] = ACTIONS(1383),
-    [anon_sym_AMP_EQ] = ACTIONS(1383),
-    [anon_sym_CARET_EQ] = ACTIONS(1383),
-    [anon_sym_PIPE_EQ] = ACTIONS(1383),
-    [anon_sym_DASH_DASH] = ACTIONS(1383),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1383),
-    [anon_sym_sizeof] = ACTIONS(1723),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [anon_sym_DOT] = ACTIONS(1381),
-    [anon_sym_DASH_GT] = ACTIONS(1383),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
-    [sym_comment] = ACTIONS(3),
-  },
-  [386] = {
-    [sym_compound_statement] = STATE(1947),
-    [sym_type_qualifier] = STATE(1004),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(1095),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_expression] = STATE(1034),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1947),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_type_descriptor] = STATE(1803),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__type_definition_type_repeat1] = STATE(1004),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(1108),
-    [sym_identifier] = ACTIONS(1711),
+    [sym_expression] = STATE(969),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_identifier] = ACTIONS(1706),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -56038,96 +56376,110 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(1713),
-    [anon_sym_unsigned] = ACTIONS(1713),
-    [anon_sym_long] = ACTIONS(1713),
-    [anon_sym_short] = ACTIONS(1713),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(1715),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1709),
+    [anon_sym_typedef] = ACTIONS(1722),
+    [anon_sym_extern] = ACTIONS(1714),
+    [anon_sym___attribute__] = ACTIONS(1714),
+    [anon_sym___attribute] = ACTIONS(1714),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1716),
+    [anon_sym___declspec] = ACTIONS(1714),
+    [anon_sym_signed] = ACTIONS(1714),
+    [anon_sym_unsigned] = ACTIONS(1714),
+    [anon_sym_long] = ACTIONS(1714),
+    [anon_sym_short] = ACTIONS(1714),
+    [anon_sym_static] = ACTIONS(1714),
+    [anon_sym_auto] = ACTIONS(1714),
+    [anon_sym_register] = ACTIONS(1714),
+    [anon_sym_inline] = ACTIONS(1714),
+    [anon_sym___inline] = ACTIONS(1714),
+    [anon_sym___inline__] = ACTIONS(1714),
+    [anon_sym___forceinline] = ACTIONS(1714),
+    [anon_sym_thread_local] = ACTIONS(1714),
+    [anon_sym___thread] = ACTIONS(1714),
+    [anon_sym_const] = ACTIONS(1714),
+    [anon_sym_constexpr] = ACTIONS(1714),
+    [anon_sym_volatile] = ACTIONS(1714),
+    [anon_sym_restrict] = ACTIONS(1714),
+    [anon_sym___restrict__] = ACTIONS(1714),
+    [anon_sym__Atomic] = ACTIONS(1714),
+    [anon_sym__Noreturn] = ACTIONS(1714),
+    [anon_sym_noreturn] = ACTIONS(1714),
+    [anon_sym__Nonnull] = ACTIONS(1714),
+    [anon_sym_alignas] = ACTIONS(1714),
+    [anon_sym__Alignas] = ACTIONS(1714),
+    [sym_primitive_type] = ACTIONS(1714),
+    [anon_sym_enum] = ACTIONS(1714),
+    [anon_sym_struct] = ACTIONS(1714),
+    [anon_sym_union] = ACTIONS(1714),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [387] = {
-    [sym_compound_statement] = STATE(1947),
-    [sym_type_qualifier] = STATE(1004),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(1095),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_expression] = STATE(1034),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1947),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_type_descriptor] = STATE(1939),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__type_definition_type_repeat1] = STATE(1004),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(1108),
-    [sym_identifier] = ACTIONS(1711),
+  [386] = {
+    [sym_compound_statement] = STATE(2002),
+    [sym_type_qualifier] = STATE(1015),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(1084),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_expression] = STATE(1053),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(2002),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_type_descriptor] = STATE(1816),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__type_definition_type_repeat1] = STATE(1015),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(1063),
+    [sym_identifier] = ACTIONS(1724),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -56135,96 +56487,96 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(1713),
-    [anon_sym_unsigned] = ACTIONS(1713),
-    [anon_sym_long] = ACTIONS(1713),
-    [anon_sym_short] = ACTIONS(1713),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(1715),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(1726),
+    [anon_sym_unsigned] = ACTIONS(1726),
+    [anon_sym_long] = ACTIONS(1726),
+    [anon_sym_short] = ACTIONS(1726),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(1728),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [388] = {
-    [sym_compound_statement] = STATE(1947),
-    [sym_type_qualifier] = STATE(1004),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(1095),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_expression] = STATE(1034),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1947),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_type_descriptor] = STATE(1946),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__type_definition_type_repeat1] = STATE(1004),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(1108),
-    [sym_identifier] = ACTIONS(1711),
+  [387] = {
+    [sym_compound_statement] = STATE(2002),
+    [sym_type_qualifier] = STATE(1015),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(1084),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_expression] = STATE(1053),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(2002),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_type_descriptor] = STATE(1875),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__type_definition_type_repeat1] = STATE(1015),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(1063),
+    [sym_identifier] = ACTIONS(1724),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -56232,96 +56584,83 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(1713),
-    [anon_sym_unsigned] = ACTIONS(1713),
-    [anon_sym_long] = ACTIONS(1713),
-    [anon_sym_short] = ACTIONS(1713),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(1715),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(1726),
+    [anon_sym_unsigned] = ACTIONS(1726),
+    [anon_sym_long] = ACTIONS(1726),
+    [anon_sym_short] = ACTIONS(1726),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(1728),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [389] = {
-    [sym_compound_statement] = STATE(1947),
-    [sym_type_qualifier] = STATE(1004),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(1095),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_expression] = STATE(1034),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1947),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_type_descriptor] = STATE(1955),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__type_definition_type_repeat1] = STATE(1004),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(1108),
-    [sym_identifier] = ACTIONS(1711),
+  [388] = {
+    [sym_expression] = STATE(969),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_identifier] = ACTIONS(1706),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -56329,96 +56668,109 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(1713),
-    [anon_sym_unsigned] = ACTIONS(1713),
-    [anon_sym_long] = ACTIONS(1713),
-    [anon_sym_short] = ACTIONS(1713),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(1715),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1709),
+    [anon_sym_extern] = ACTIONS(1714),
+    [anon_sym___attribute__] = ACTIONS(1714),
+    [anon_sym___attribute] = ACTIONS(1714),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1716),
+    [anon_sym___declspec] = ACTIONS(1714),
+    [anon_sym_signed] = ACTIONS(1714),
+    [anon_sym_unsigned] = ACTIONS(1714),
+    [anon_sym_long] = ACTIONS(1714),
+    [anon_sym_short] = ACTIONS(1714),
+    [anon_sym_static] = ACTIONS(1714),
+    [anon_sym_auto] = ACTIONS(1714),
+    [anon_sym_register] = ACTIONS(1714),
+    [anon_sym_inline] = ACTIONS(1714),
+    [anon_sym___inline] = ACTIONS(1714),
+    [anon_sym___inline__] = ACTIONS(1714),
+    [anon_sym___forceinline] = ACTIONS(1714),
+    [anon_sym_thread_local] = ACTIONS(1714),
+    [anon_sym___thread] = ACTIONS(1714),
+    [anon_sym_const] = ACTIONS(1714),
+    [anon_sym_constexpr] = ACTIONS(1714),
+    [anon_sym_volatile] = ACTIONS(1714),
+    [anon_sym_restrict] = ACTIONS(1714),
+    [anon_sym___restrict__] = ACTIONS(1714),
+    [anon_sym__Atomic] = ACTIONS(1714),
+    [anon_sym__Noreturn] = ACTIONS(1714),
+    [anon_sym_noreturn] = ACTIONS(1714),
+    [anon_sym__Nonnull] = ACTIONS(1714),
+    [anon_sym_alignas] = ACTIONS(1714),
+    [anon_sym__Alignas] = ACTIONS(1714),
+    [sym_primitive_type] = ACTIONS(1714),
+    [anon_sym_enum] = ACTIONS(1714),
+    [anon_sym_struct] = ACTIONS(1714),
+    [anon_sym_union] = ACTIONS(1714),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [390] = {
-    [sym_compound_statement] = STATE(1947),
-    [sym_type_qualifier] = STATE(1004),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(1095),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_expression] = STATE(1034),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1947),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_type_descriptor] = STATE(1908),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__type_definition_type_repeat1] = STATE(1004),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(1108),
-    [sym_identifier] = ACTIONS(1711),
+  [389] = {
+    [sym_compound_statement] = STATE(2002),
+    [sym_type_qualifier] = STATE(1015),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(1084),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_expression] = STATE(1053),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(2002),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_type_descriptor] = STATE(1994),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__type_definition_type_repeat1] = STATE(1015),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(1063),
+    [sym_identifier] = ACTIONS(1724),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -56426,96 +56778,193 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(1713),
-    [anon_sym_unsigned] = ACTIONS(1713),
-    [anon_sym_long] = ACTIONS(1713),
-    [anon_sym_short] = ACTIONS(1713),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(1715),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(1726),
+    [anon_sym_unsigned] = ACTIONS(1726),
+    [anon_sym_long] = ACTIONS(1726),
+    [anon_sym_short] = ACTIONS(1726),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(1728),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
+    [sym_comment] = ACTIONS(3),
+  },
+  [390] = {
+    [sym_expression] = STATE(896),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(682),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(682),
+    [sym_call_expression] = STATE(682),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(682),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(682),
+    [sym_initializer_list] = STATE(686),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_identifier] = ACTIONS(1386),
+    [anon_sym_DOT_DOT_DOT] = ACTIONS(1388),
+    [anon_sym_LPAREN2] = ACTIONS(1388),
+    [anon_sym_BANG] = ACTIONS(1730),
+    [anon_sym_TILDE] = ACTIONS(1732),
+    [anon_sym_DASH] = ACTIONS(1394),
+    [anon_sym_PLUS] = ACTIONS(1394),
+    [anon_sym_STAR] = ACTIONS(1394),
+    [anon_sym_SLASH] = ACTIONS(1394),
+    [anon_sym_PERCENT] = ACTIONS(1394),
+    [anon_sym_PIPE_PIPE] = ACTIONS(1388),
+    [anon_sym_AMP_AMP] = ACTIONS(1388),
+    [anon_sym_PIPE] = ACTIONS(1394),
+    [anon_sym_CARET] = ACTIONS(1394),
+    [anon_sym_AMP] = ACTIONS(1394),
+    [anon_sym_EQ_EQ] = ACTIONS(1388),
+    [anon_sym_BANG_EQ] = ACTIONS(1388),
+    [anon_sym_GT] = ACTIONS(1394),
+    [anon_sym_GT_EQ] = ACTIONS(1388),
+    [anon_sym_LT_EQ] = ACTIONS(1388),
+    [anon_sym_LT] = ACTIONS(1394),
+    [anon_sym_LT_LT] = ACTIONS(1394),
+    [anon_sym_GT_GT] = ACTIONS(1394),
+    [anon_sym___extension__] = ACTIONS(1734),
+    [anon_sym_LBRACE] = ACTIONS(1398),
+    [anon_sym_LBRACK] = ACTIONS(1388),
+    [anon_sym_RBRACK] = ACTIONS(1388),
+    [anon_sym_EQ] = ACTIONS(1394),
+    [anon_sym_QMARK] = ACTIONS(1388),
+    [anon_sym_STAR_EQ] = ACTIONS(1388),
+    [anon_sym_SLASH_EQ] = ACTIONS(1388),
+    [anon_sym_PERCENT_EQ] = ACTIONS(1388),
+    [anon_sym_PLUS_EQ] = ACTIONS(1388),
+    [anon_sym_DASH_EQ] = ACTIONS(1388),
+    [anon_sym_LT_LT_EQ] = ACTIONS(1388),
+    [anon_sym_GT_GT_EQ] = ACTIONS(1388),
+    [anon_sym_AMP_EQ] = ACTIONS(1388),
+    [anon_sym_CARET_EQ] = ACTIONS(1388),
+    [anon_sym_PIPE_EQ] = ACTIONS(1388),
+    [anon_sym_DASH_DASH] = ACTIONS(1388),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1388),
+    [anon_sym_sizeof] = ACTIONS(1736),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [anon_sym_DOT] = ACTIONS(1394),
+    [anon_sym_DASH_GT] = ACTIONS(1388),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [391] = {
-    [sym_compound_statement] = STATE(1947),
-    [sym_type_qualifier] = STATE(1004),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(1095),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_expression] = STATE(1034),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1947),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_type_descriptor] = STATE(1958),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__type_definition_type_repeat1] = STATE(1004),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(1108),
-    [sym_identifier] = ACTIONS(1711),
+    [sym_compound_statement] = STATE(2002),
+    [sym_type_qualifier] = STATE(1015),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(1084),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_expression] = STATE(1053),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(2002),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_type_descriptor] = STATE(1888),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__type_definition_type_repeat1] = STATE(1015),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(1063),
+    [sym_identifier] = ACTIONS(1724),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -56523,96 +56972,96 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(1713),
-    [anon_sym_unsigned] = ACTIONS(1713),
-    [anon_sym_long] = ACTIONS(1713),
-    [anon_sym_short] = ACTIONS(1713),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(1715),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(1726),
+    [anon_sym_unsigned] = ACTIONS(1726),
+    [anon_sym_long] = ACTIONS(1726),
+    [anon_sym_short] = ACTIONS(1726),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(1728),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [392] = {
-    [sym_compound_statement] = STATE(1947),
-    [sym_type_qualifier] = STATE(1004),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(1095),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_expression] = STATE(1034),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1947),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_type_descriptor] = STATE(1775),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__type_definition_type_repeat1] = STATE(1004),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(1108),
-    [sym_identifier] = ACTIONS(1711),
+    [sym_compound_statement] = STATE(2002),
+    [sym_type_qualifier] = STATE(1015),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(1084),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_expression] = STATE(1053),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(2002),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_type_descriptor] = STATE(1983),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__type_definition_type_repeat1] = STATE(1015),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(1063),
+    [sym_identifier] = ACTIONS(1724),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -56620,96 +57069,96 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(1713),
-    [anon_sym_unsigned] = ACTIONS(1713),
-    [anon_sym_long] = ACTIONS(1713),
-    [anon_sym_short] = ACTIONS(1713),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(1715),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(1726),
+    [anon_sym_unsigned] = ACTIONS(1726),
+    [anon_sym_long] = ACTIONS(1726),
+    [anon_sym_short] = ACTIONS(1726),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(1728),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [393] = {
-    [sym_compound_statement] = STATE(1947),
-    [sym_type_qualifier] = STATE(1004),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(1095),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_expression] = STATE(1034),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1947),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_type_descriptor] = STATE(1825),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__type_definition_type_repeat1] = STATE(1004),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(1108),
-    [sym_identifier] = ACTIONS(1711),
+    [sym_compound_statement] = STATE(2002),
+    [sym_type_qualifier] = STATE(1015),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(1084),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_expression] = STATE(1053),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(2002),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_type_descriptor] = STATE(1856),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__type_definition_type_repeat1] = STATE(1015),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(1063),
+    [sym_identifier] = ACTIONS(1724),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -56717,96 +57166,96 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(1713),
-    [anon_sym_unsigned] = ACTIONS(1713),
-    [anon_sym_long] = ACTIONS(1713),
-    [anon_sym_short] = ACTIONS(1713),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(1715),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(1726),
+    [anon_sym_unsigned] = ACTIONS(1726),
+    [anon_sym_long] = ACTIONS(1726),
+    [anon_sym_short] = ACTIONS(1726),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(1728),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [394] = {
-    [sym_compound_statement] = STATE(1947),
-    [sym_type_qualifier] = STATE(1004),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(1095),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_expression] = STATE(1034),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1947),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_type_descriptor] = STATE(1861),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__type_definition_type_repeat1] = STATE(1004),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(1108),
-    [sym_identifier] = ACTIONS(1711),
+    [sym_compound_statement] = STATE(2002),
+    [sym_type_qualifier] = STATE(1015),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(1084),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_expression] = STATE(1053),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(2002),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_type_descriptor] = STATE(1790),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__type_definition_type_repeat1] = STATE(1015),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(1063),
+    [sym_identifier] = ACTIONS(1724),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -56814,96 +57263,96 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(1713),
-    [anon_sym_unsigned] = ACTIONS(1713),
-    [anon_sym_long] = ACTIONS(1713),
-    [anon_sym_short] = ACTIONS(1713),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(1715),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(1726),
+    [anon_sym_unsigned] = ACTIONS(1726),
+    [anon_sym_long] = ACTIONS(1726),
+    [anon_sym_short] = ACTIONS(1726),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(1728),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [395] = {
-    [sym_compound_statement] = STATE(1947),
-    [sym_type_qualifier] = STATE(1004),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(1095),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_expression] = STATE(1034),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1947),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_type_descriptor] = STATE(1969),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__type_definition_type_repeat1] = STATE(1004),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(1108),
-    [sym_identifier] = ACTIONS(1711),
+    [sym_compound_statement] = STATE(2002),
+    [sym_type_qualifier] = STATE(1015),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(1084),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_expression] = STATE(1053),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(2002),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_type_descriptor] = STATE(2007),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__type_definition_type_repeat1] = STATE(1015),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(1063),
+    [sym_identifier] = ACTIONS(1724),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -56911,83 +57360,96 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(1713),
-    [anon_sym_unsigned] = ACTIONS(1713),
-    [anon_sym_long] = ACTIONS(1713),
-    [anon_sym_short] = ACTIONS(1713),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(1715),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(1726),
+    [anon_sym_unsigned] = ACTIONS(1726),
+    [anon_sym_long] = ACTIONS(1726),
+    [anon_sym_short] = ACTIONS(1726),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(1728),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [396] = {
-    [sym_expression] = STATE(972),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_identifier] = ACTIONS(1697),
+    [sym_compound_statement] = STATE(2002),
+    [sym_type_qualifier] = STATE(1015),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(1084),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_expression] = STATE(1053),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(2002),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_type_descriptor] = STATE(1832),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__type_definition_type_repeat1] = STATE(1015),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(1063),
+    [sym_identifier] = ACTIONS(1724),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -56995,96 +57457,96 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1700),
-    [anon_sym_typedef] = ACTIONS(1725),
-    [anon_sym_extern] = ACTIONS(1705),
-    [anon_sym___attribute__] = ACTIONS(1705),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1707),
-    [anon_sym___declspec] = ACTIONS(1705),
-    [anon_sym_signed] = ACTIONS(1705),
-    [anon_sym_unsigned] = ACTIONS(1705),
-    [anon_sym_long] = ACTIONS(1705),
-    [anon_sym_short] = ACTIONS(1705),
-    [anon_sym_static] = ACTIONS(1705),
-    [anon_sym_auto] = ACTIONS(1705),
-    [anon_sym_register] = ACTIONS(1705),
-    [anon_sym_inline] = ACTIONS(1705),
-    [anon_sym___inline] = ACTIONS(1705),
-    [anon_sym___inline__] = ACTIONS(1705),
-    [anon_sym___forceinline] = ACTIONS(1705),
-    [anon_sym_thread_local] = ACTIONS(1705),
-    [anon_sym___thread] = ACTIONS(1705),
-    [anon_sym_const] = ACTIONS(1705),
-    [anon_sym_constexpr] = ACTIONS(1705),
-    [anon_sym_volatile] = ACTIONS(1705),
-    [anon_sym_restrict] = ACTIONS(1705),
-    [anon_sym___restrict__] = ACTIONS(1705),
-    [anon_sym__Atomic] = ACTIONS(1705),
-    [anon_sym__Noreturn] = ACTIONS(1705),
-    [anon_sym_noreturn] = ACTIONS(1705),
-    [anon_sym__Nonnull] = ACTIONS(1705),
-    [anon_sym_alignas] = ACTIONS(1705),
-    [anon_sym__Alignas] = ACTIONS(1705),
-    [sym_primitive_type] = ACTIONS(1705),
-    [anon_sym_enum] = ACTIONS(1705),
-    [anon_sym_struct] = ACTIONS(1705),
-    [anon_sym_union] = ACTIONS(1705),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(1726),
+    [anon_sym_unsigned] = ACTIONS(1726),
+    [anon_sym_long] = ACTIONS(1726),
+    [anon_sym_short] = ACTIONS(1726),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(1728),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [397] = {
-    [sym_expression] = STATE(972),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_identifier] = ACTIONS(1697),
+    [sym_compound_statement] = STATE(2002),
+    [sym_type_qualifier] = STATE(1015),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(1084),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_expression] = STATE(1053),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(2002),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_type_descriptor] = STATE(1928),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__type_definition_type_repeat1] = STATE(1015),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(1063),
+    [sym_identifier] = ACTIONS(1724),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -57092,96 +57554,96 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1700),
-    [anon_sym_typedef] = ACTIONS(1727),
-    [anon_sym_extern] = ACTIONS(1705),
-    [anon_sym___attribute__] = ACTIONS(1705),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1707),
-    [anon_sym___declspec] = ACTIONS(1705),
-    [anon_sym_signed] = ACTIONS(1705),
-    [anon_sym_unsigned] = ACTIONS(1705),
-    [anon_sym_long] = ACTIONS(1705),
-    [anon_sym_short] = ACTIONS(1705),
-    [anon_sym_static] = ACTIONS(1705),
-    [anon_sym_auto] = ACTIONS(1705),
-    [anon_sym_register] = ACTIONS(1705),
-    [anon_sym_inline] = ACTIONS(1705),
-    [anon_sym___inline] = ACTIONS(1705),
-    [anon_sym___inline__] = ACTIONS(1705),
-    [anon_sym___forceinline] = ACTIONS(1705),
-    [anon_sym_thread_local] = ACTIONS(1705),
-    [anon_sym___thread] = ACTIONS(1705),
-    [anon_sym_const] = ACTIONS(1705),
-    [anon_sym_constexpr] = ACTIONS(1705),
-    [anon_sym_volatile] = ACTIONS(1705),
-    [anon_sym_restrict] = ACTIONS(1705),
-    [anon_sym___restrict__] = ACTIONS(1705),
-    [anon_sym__Atomic] = ACTIONS(1705),
-    [anon_sym__Noreturn] = ACTIONS(1705),
-    [anon_sym_noreturn] = ACTIONS(1705),
-    [anon_sym__Nonnull] = ACTIONS(1705),
-    [anon_sym_alignas] = ACTIONS(1705),
-    [anon_sym__Alignas] = ACTIONS(1705),
-    [sym_primitive_type] = ACTIONS(1705),
-    [anon_sym_enum] = ACTIONS(1705),
-    [anon_sym_struct] = ACTIONS(1705),
-    [anon_sym_union] = ACTIONS(1705),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(1726),
+    [anon_sym_unsigned] = ACTIONS(1726),
+    [anon_sym_long] = ACTIONS(1726),
+    [anon_sym_short] = ACTIONS(1726),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(1728),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [398] = {
-    [sym_expression] = STATE(972),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_identifier] = ACTIONS(1697),
+    [sym_compound_statement] = STATE(2002),
+    [sym_type_qualifier] = STATE(1015),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(1084),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_expression] = STATE(1053),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(2002),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_type_descriptor] = STATE(1789),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__type_definition_type_repeat1] = STATE(1015),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(1063),
+    [sym_identifier] = ACTIONS(1724),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -57189,106 +57651,96 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1700),
-    [anon_sym_extern] = ACTIONS(1705),
-    [anon_sym___attribute__] = ACTIONS(1705),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1707),
-    [anon_sym___declspec] = ACTIONS(1705),
-    [anon_sym_signed] = ACTIONS(1705),
-    [anon_sym_unsigned] = ACTIONS(1705),
-    [anon_sym_long] = ACTIONS(1705),
-    [anon_sym_short] = ACTIONS(1705),
-    [anon_sym_static] = ACTIONS(1705),
-    [anon_sym_auto] = ACTIONS(1705),
-    [anon_sym_register] = ACTIONS(1705),
-    [anon_sym_inline] = ACTIONS(1705),
-    [anon_sym___inline] = ACTIONS(1705),
-    [anon_sym___inline__] = ACTIONS(1705),
-    [anon_sym___forceinline] = ACTIONS(1705),
-    [anon_sym_thread_local] = ACTIONS(1705),
-    [anon_sym___thread] = ACTIONS(1705),
-    [anon_sym_const] = ACTIONS(1705),
-    [anon_sym_constexpr] = ACTIONS(1705),
-    [anon_sym_volatile] = ACTIONS(1705),
-    [anon_sym_restrict] = ACTIONS(1705),
-    [anon_sym___restrict__] = ACTIONS(1705),
-    [anon_sym__Atomic] = ACTIONS(1705),
-    [anon_sym__Noreturn] = ACTIONS(1705),
-    [anon_sym_noreturn] = ACTIONS(1705),
-    [anon_sym__Nonnull] = ACTIONS(1705),
-    [anon_sym_alignas] = ACTIONS(1705),
-    [anon_sym__Alignas] = ACTIONS(1705),
-    [sym_primitive_type] = ACTIONS(1705),
-    [anon_sym_enum] = ACTIONS(1705),
-    [anon_sym_struct] = ACTIONS(1705),
-    [anon_sym_union] = ACTIONS(1705),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(1726),
+    [anon_sym_unsigned] = ACTIONS(1726),
+    [anon_sym_long] = ACTIONS(1726),
+    [anon_sym_short] = ACTIONS(1726),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(1728),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [399] = {
-    [sym_type_qualifier] = STATE(1004),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(1095),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_expression] = STATE(1068),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_type_descriptor] = STATE(1903),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__type_definition_type_repeat1] = STATE(1004),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(1108),
-    [sym_identifier] = ACTIONS(1711),
+    [sym_compound_statement] = STATE(2002),
+    [sym_type_qualifier] = STATE(1015),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(1084),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_expression] = STATE(1053),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(2002),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_type_descriptor] = STATE(1839),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__type_definition_type_repeat1] = STATE(1015),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(1063),
+    [sym_identifier] = ACTIONS(1724),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -57296,93 +57748,94 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_signed] = ACTIONS(1713),
-    [anon_sym_unsigned] = ACTIONS(1713),
-    [anon_sym_long] = ACTIONS(1713),
-    [anon_sym_short] = ACTIONS(1713),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(1715),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(1726),
+    [anon_sym_unsigned] = ACTIONS(1726),
+    [anon_sym_long] = ACTIONS(1726),
+    [anon_sym_short] = ACTIONS(1726),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(1728),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [400] = {
-    [sym_type_qualifier] = STATE(1004),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(1095),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_expression] = STATE(1082),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_type_descriptor] = STATE(1910),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__type_definition_type_repeat1] = STATE(1004),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(1108),
-    [sym_identifier] = ACTIONS(1711),
+    [sym_type_qualifier] = STATE(1015),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(1084),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_expression] = STATE(1105),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_type_descriptor] = STATE(1922),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__type_definition_type_repeat1] = STATE(1015),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(1063),
+    [sym_identifier] = ACTIONS(1724),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -57390,3495 +57843,3843 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1096),
-    [anon_sym_signed] = ACTIONS(1713),
-    [anon_sym_unsigned] = ACTIONS(1713),
-    [anon_sym_long] = ACTIONS(1713),
-    [anon_sym_short] = ACTIONS(1713),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(1715),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_signed] = ACTIONS(1726),
+    [anon_sym_unsigned] = ACTIONS(1726),
+    [anon_sym_long] = ACTIONS(1726),
+    [anon_sym_short] = ACTIONS(1726),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(1728),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [401] = {
-    [sym_identifier] = ACTIONS(1729),
-    [anon_sym_COMMA] = ACTIONS(1731),
-    [anon_sym_RPAREN] = ACTIONS(1731),
-    [anon_sym_LPAREN2] = ACTIONS(1731),
-    [anon_sym_BANG] = ACTIONS(1731),
-    [anon_sym_TILDE] = ACTIONS(1731),
-    [anon_sym_DASH] = ACTIONS(1729),
-    [anon_sym_PLUS] = ACTIONS(1729),
-    [anon_sym_STAR] = ACTIONS(1731),
-    [anon_sym_AMP] = ACTIONS(1731),
-    [anon_sym_SEMI] = ACTIONS(1731),
-    [anon_sym___extension__] = ACTIONS(1729),
-    [anon_sym_extern] = ACTIONS(1729),
-    [anon_sym___attribute__] = ACTIONS(1729),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1731),
-    [anon_sym___declspec] = ACTIONS(1729),
-    [anon_sym_LBRACE] = ACTIONS(1731),
-    [anon_sym_signed] = ACTIONS(1729),
-    [anon_sym_unsigned] = ACTIONS(1729),
-    [anon_sym_long] = ACTIONS(1729),
-    [anon_sym_short] = ACTIONS(1729),
-    [anon_sym_LBRACK] = ACTIONS(1729),
-    [anon_sym_static] = ACTIONS(1729),
-    [anon_sym_EQ] = ACTIONS(1731),
-    [anon_sym_auto] = ACTIONS(1729),
-    [anon_sym_register] = ACTIONS(1729),
-    [anon_sym_inline] = ACTIONS(1729),
-    [anon_sym___inline] = ACTIONS(1729),
-    [anon_sym___inline__] = ACTIONS(1729),
-    [anon_sym___forceinline] = ACTIONS(1729),
-    [anon_sym_thread_local] = ACTIONS(1729),
-    [anon_sym___thread] = ACTIONS(1729),
-    [anon_sym_const] = ACTIONS(1729),
-    [anon_sym_constexpr] = ACTIONS(1729),
-    [anon_sym_volatile] = ACTIONS(1729),
-    [anon_sym_restrict] = ACTIONS(1729),
-    [anon_sym___restrict__] = ACTIONS(1729),
-    [anon_sym__Atomic] = ACTIONS(1729),
-    [anon_sym__Noreturn] = ACTIONS(1729),
-    [anon_sym_noreturn] = ACTIONS(1729),
-    [anon_sym__Nonnull] = ACTIONS(1729),
-    [anon_sym_alignas] = ACTIONS(1729),
-    [anon_sym__Alignas] = ACTIONS(1729),
-    [sym_primitive_type] = ACTIONS(1729),
-    [anon_sym_enum] = ACTIONS(1729),
-    [anon_sym_COLON] = ACTIONS(1731),
-    [anon_sym_struct] = ACTIONS(1729),
-    [anon_sym_union] = ACTIONS(1729),
-    [anon_sym_if] = ACTIONS(1729),
-    [anon_sym_switch] = ACTIONS(1729),
-    [anon_sym_case] = ACTIONS(1729),
-    [anon_sym_default] = ACTIONS(1729),
-    [anon_sym_while] = ACTIONS(1729),
-    [anon_sym_do] = ACTIONS(1729),
-    [anon_sym_for] = ACTIONS(1729),
-    [anon_sym_return] = ACTIONS(1729),
-    [anon_sym_break] = ACTIONS(1729),
-    [anon_sym_continue] = ACTIONS(1729),
-    [anon_sym_goto] = ACTIONS(1729),
-    [anon_sym___try] = ACTIONS(1729),
-    [anon_sym___leave] = ACTIONS(1729),
-    [anon_sym_DASH_DASH] = ACTIONS(1731),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1731),
-    [anon_sym_sizeof] = ACTIONS(1729),
-    [anon_sym___alignof__] = ACTIONS(1729),
-    [anon_sym___alignof] = ACTIONS(1729),
-    [anon_sym__alignof] = ACTIONS(1729),
-    [anon_sym_alignof] = ACTIONS(1729),
-    [anon_sym__Alignof] = ACTIONS(1729),
-    [anon_sym_offsetof] = ACTIONS(1729),
-    [anon_sym__Generic] = ACTIONS(1729),
-    [anon_sym_asm] = ACTIONS(1729),
-    [anon_sym___asm__] = ACTIONS(1729),
-    [anon_sym___asm] = ACTIONS(1729),
-    [sym_number_literal] = ACTIONS(1731),
-    [anon_sym_L_SQUOTE] = ACTIONS(1731),
-    [anon_sym_u_SQUOTE] = ACTIONS(1731),
-    [anon_sym_U_SQUOTE] = ACTIONS(1731),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1731),
-    [anon_sym_SQUOTE] = ACTIONS(1731),
-    [anon_sym_L_DQUOTE] = ACTIONS(1731),
-    [anon_sym_u_DQUOTE] = ACTIONS(1731),
-    [anon_sym_U_DQUOTE] = ACTIONS(1731),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1731),
-    [anon_sym_DQUOTE] = ACTIONS(1731),
-    [sym_true] = ACTIONS(1729),
-    [sym_false] = ACTIONS(1729),
-    [anon_sym_NULL] = ACTIONS(1729),
-    [anon_sym_nullptr] = ACTIONS(1729),
+    [sym_type_qualifier] = STATE(1015),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(1084),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_expression] = STATE(1107),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_type_descriptor] = STATE(1938),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__type_definition_type_repeat1] = STATE(1015),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(1063),
+    [sym_identifier] = ACTIONS(1724),
+    [anon_sym_LPAREN2] = ACTIONS(19),
+    [anon_sym_BANG] = ACTIONS(21),
+    [anon_sym_TILDE] = ACTIONS(21),
+    [anon_sym_DASH] = ACTIONS(23),
+    [anon_sym_PLUS] = ACTIONS(23),
+    [anon_sym_STAR] = ACTIONS(25),
+    [anon_sym_AMP] = ACTIONS(25),
+    [anon_sym___extension__] = ACTIONS(1091),
+    [anon_sym_signed] = ACTIONS(1726),
+    [anon_sym_unsigned] = ACTIONS(1726),
+    [anon_sym_long] = ACTIONS(1726),
+    [anon_sym_short] = ACTIONS(1726),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(1728),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [402] = {
-    [sym_identifier] = ACTIONS(1733),
-    [anon_sym_COMMA] = ACTIONS(1735),
-    [anon_sym_RPAREN] = ACTIONS(1735),
-    [anon_sym_LPAREN2] = ACTIONS(1735),
-    [anon_sym_BANG] = ACTIONS(1735),
-    [anon_sym_TILDE] = ACTIONS(1735),
-    [anon_sym_DASH] = ACTIONS(1733),
-    [anon_sym_PLUS] = ACTIONS(1733),
-    [anon_sym_STAR] = ACTIONS(1735),
-    [anon_sym_AMP] = ACTIONS(1735),
-    [anon_sym_SEMI] = ACTIONS(1735),
-    [anon_sym___extension__] = ACTIONS(1733),
-    [anon_sym_extern] = ACTIONS(1733),
-    [anon_sym___attribute__] = ACTIONS(1733),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1735),
-    [anon_sym___declspec] = ACTIONS(1733),
-    [anon_sym_LBRACE] = ACTIONS(1735),
-    [anon_sym_signed] = ACTIONS(1733),
-    [anon_sym_unsigned] = ACTIONS(1733),
-    [anon_sym_long] = ACTIONS(1733),
-    [anon_sym_short] = ACTIONS(1733),
-    [anon_sym_LBRACK] = ACTIONS(1733),
-    [anon_sym_static] = ACTIONS(1733),
-    [anon_sym_EQ] = ACTIONS(1735),
-    [anon_sym_auto] = ACTIONS(1733),
-    [anon_sym_register] = ACTIONS(1733),
-    [anon_sym_inline] = ACTIONS(1733),
-    [anon_sym___inline] = ACTIONS(1733),
-    [anon_sym___inline__] = ACTIONS(1733),
-    [anon_sym___forceinline] = ACTIONS(1733),
-    [anon_sym_thread_local] = ACTIONS(1733),
-    [anon_sym___thread] = ACTIONS(1733),
-    [anon_sym_const] = ACTIONS(1733),
-    [anon_sym_constexpr] = ACTIONS(1733),
-    [anon_sym_volatile] = ACTIONS(1733),
-    [anon_sym_restrict] = ACTIONS(1733),
-    [anon_sym___restrict__] = ACTIONS(1733),
-    [anon_sym__Atomic] = ACTIONS(1733),
-    [anon_sym__Noreturn] = ACTIONS(1733),
-    [anon_sym_noreturn] = ACTIONS(1733),
-    [anon_sym__Nonnull] = ACTIONS(1733),
-    [anon_sym_alignas] = ACTIONS(1733),
-    [anon_sym__Alignas] = ACTIONS(1733),
-    [sym_primitive_type] = ACTIONS(1733),
-    [anon_sym_enum] = ACTIONS(1733),
-    [anon_sym_COLON] = ACTIONS(1735),
-    [anon_sym_struct] = ACTIONS(1733),
-    [anon_sym_union] = ACTIONS(1733),
-    [anon_sym_if] = ACTIONS(1733),
-    [anon_sym_switch] = ACTIONS(1733),
-    [anon_sym_case] = ACTIONS(1733),
-    [anon_sym_default] = ACTIONS(1733),
-    [anon_sym_while] = ACTIONS(1733),
-    [anon_sym_do] = ACTIONS(1733),
-    [anon_sym_for] = ACTIONS(1733),
-    [anon_sym_return] = ACTIONS(1733),
-    [anon_sym_break] = ACTIONS(1733),
-    [anon_sym_continue] = ACTIONS(1733),
-    [anon_sym_goto] = ACTIONS(1733),
-    [anon_sym___try] = ACTIONS(1733),
-    [anon_sym___leave] = ACTIONS(1733),
-    [anon_sym_DASH_DASH] = ACTIONS(1735),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1735),
-    [anon_sym_sizeof] = ACTIONS(1733),
-    [anon_sym___alignof__] = ACTIONS(1733),
-    [anon_sym___alignof] = ACTIONS(1733),
-    [anon_sym__alignof] = ACTIONS(1733),
-    [anon_sym_alignof] = ACTIONS(1733),
-    [anon_sym__Alignof] = ACTIONS(1733),
-    [anon_sym_offsetof] = ACTIONS(1733),
-    [anon_sym__Generic] = ACTIONS(1733),
-    [anon_sym_asm] = ACTIONS(1733),
-    [anon_sym___asm__] = ACTIONS(1733),
-    [anon_sym___asm] = ACTIONS(1733),
-    [sym_number_literal] = ACTIONS(1735),
-    [anon_sym_L_SQUOTE] = ACTIONS(1735),
-    [anon_sym_u_SQUOTE] = ACTIONS(1735),
-    [anon_sym_U_SQUOTE] = ACTIONS(1735),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1735),
-    [anon_sym_SQUOTE] = ACTIONS(1735),
-    [anon_sym_L_DQUOTE] = ACTIONS(1735),
-    [anon_sym_u_DQUOTE] = ACTIONS(1735),
-    [anon_sym_U_DQUOTE] = ACTIONS(1735),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1735),
-    [anon_sym_DQUOTE] = ACTIONS(1735),
-    [sym_true] = ACTIONS(1733),
-    [sym_false] = ACTIONS(1733),
-    [anon_sym_NULL] = ACTIONS(1733),
-    [anon_sym_nullptr] = ACTIONS(1733),
+    [sym_identifier] = ACTIONS(1738),
+    [anon_sym_COMMA] = ACTIONS(1740),
+    [anon_sym_RPAREN] = ACTIONS(1740),
+    [anon_sym_LPAREN2] = ACTIONS(1740),
+    [anon_sym_BANG] = ACTIONS(1740),
+    [anon_sym_TILDE] = ACTIONS(1740),
+    [anon_sym_DASH] = ACTIONS(1738),
+    [anon_sym_PLUS] = ACTIONS(1738),
+    [anon_sym_STAR] = ACTIONS(1740),
+    [anon_sym_AMP] = ACTIONS(1740),
+    [anon_sym_SEMI] = ACTIONS(1740),
+    [anon_sym___extension__] = ACTIONS(1738),
+    [anon_sym_extern] = ACTIONS(1738),
+    [anon_sym___attribute__] = ACTIONS(1738),
+    [anon_sym___attribute] = ACTIONS(1738),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1740),
+    [anon_sym___declspec] = ACTIONS(1738),
+    [anon_sym_LBRACE] = ACTIONS(1740),
+    [anon_sym_signed] = ACTIONS(1738),
+    [anon_sym_unsigned] = ACTIONS(1738),
+    [anon_sym_long] = ACTIONS(1738),
+    [anon_sym_short] = ACTIONS(1738),
+    [anon_sym_LBRACK] = ACTIONS(1738),
+    [anon_sym_static] = ACTIONS(1738),
+    [anon_sym_EQ] = ACTIONS(1740),
+    [anon_sym_auto] = ACTIONS(1738),
+    [anon_sym_register] = ACTIONS(1738),
+    [anon_sym_inline] = ACTIONS(1738),
+    [anon_sym___inline] = ACTIONS(1738),
+    [anon_sym___inline__] = ACTIONS(1738),
+    [anon_sym___forceinline] = ACTIONS(1738),
+    [anon_sym_thread_local] = ACTIONS(1738),
+    [anon_sym___thread] = ACTIONS(1738),
+    [anon_sym_const] = ACTIONS(1738),
+    [anon_sym_constexpr] = ACTIONS(1738),
+    [anon_sym_volatile] = ACTIONS(1738),
+    [anon_sym_restrict] = ACTIONS(1738),
+    [anon_sym___restrict__] = ACTIONS(1738),
+    [anon_sym__Atomic] = ACTIONS(1738),
+    [anon_sym__Noreturn] = ACTIONS(1738),
+    [anon_sym_noreturn] = ACTIONS(1738),
+    [anon_sym__Nonnull] = ACTIONS(1738),
+    [anon_sym_alignas] = ACTIONS(1738),
+    [anon_sym__Alignas] = ACTIONS(1738),
+    [sym_primitive_type] = ACTIONS(1738),
+    [anon_sym_enum] = ACTIONS(1738),
+    [anon_sym_COLON] = ACTIONS(1740),
+    [anon_sym_struct] = ACTIONS(1738),
+    [anon_sym_union] = ACTIONS(1738),
+    [anon_sym_if] = ACTIONS(1738),
+    [anon_sym_switch] = ACTIONS(1738),
+    [anon_sym_case] = ACTIONS(1738),
+    [anon_sym_default] = ACTIONS(1738),
+    [anon_sym_while] = ACTIONS(1738),
+    [anon_sym_do] = ACTIONS(1738),
+    [anon_sym_for] = ACTIONS(1738),
+    [anon_sym_return] = ACTIONS(1738),
+    [anon_sym_break] = ACTIONS(1738),
+    [anon_sym_continue] = ACTIONS(1738),
+    [anon_sym_goto] = ACTIONS(1738),
+    [anon_sym___try] = ACTIONS(1738),
+    [anon_sym___leave] = ACTIONS(1738),
+    [anon_sym_DASH_DASH] = ACTIONS(1740),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1740),
+    [anon_sym_sizeof] = ACTIONS(1738),
+    [anon_sym___alignof__] = ACTIONS(1738),
+    [anon_sym___alignof] = ACTIONS(1738),
+    [anon_sym__alignof] = ACTIONS(1738),
+    [anon_sym_alignof] = ACTIONS(1738),
+    [anon_sym__Alignof] = ACTIONS(1738),
+    [anon_sym_offsetof] = ACTIONS(1738),
+    [anon_sym__Generic] = ACTIONS(1738),
+    [anon_sym_asm] = ACTIONS(1738),
+    [anon_sym___asm__] = ACTIONS(1738),
+    [anon_sym___asm] = ACTIONS(1738),
+    [sym_number_literal] = ACTIONS(1740),
+    [anon_sym_L_SQUOTE] = ACTIONS(1740),
+    [anon_sym_u_SQUOTE] = ACTIONS(1740),
+    [anon_sym_U_SQUOTE] = ACTIONS(1740),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1740),
+    [anon_sym_SQUOTE] = ACTIONS(1740),
+    [anon_sym_L_DQUOTE] = ACTIONS(1740),
+    [anon_sym_u_DQUOTE] = ACTIONS(1740),
+    [anon_sym_U_DQUOTE] = ACTIONS(1740),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1740),
+    [anon_sym_DQUOTE] = ACTIONS(1740),
+    [sym_true] = ACTIONS(1738),
+    [sym_false] = ACTIONS(1738),
+    [anon_sym_NULL] = ACTIONS(1738),
+    [anon_sym_nullptr] = ACTIONS(1738),
     [sym_comment] = ACTIONS(3),
   },
   [403] = {
-    [sym_expression] = STATE(704),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_initializer_list] = STATE(675),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_identifier] = ACTIONS(1737),
-    [anon_sym_COMMA] = ACTIONS(1383),
-    [anon_sym_RPAREN] = ACTIONS(1383),
-    [anon_sym_LPAREN2] = ACTIONS(1383),
-    [anon_sym_BANG] = ACTIONS(23),
-    [anon_sym_TILDE] = ACTIONS(21),
-    [anon_sym_DASH] = ACTIONS(1381),
-    [anon_sym_PLUS] = ACTIONS(1381),
-    [anon_sym_STAR] = ACTIONS(1383),
-    [anon_sym_SLASH] = ACTIONS(1381),
-    [anon_sym_PERCENT] = ACTIONS(1383),
-    [anon_sym_PIPE_PIPE] = ACTIONS(1383),
-    [anon_sym_AMP_AMP] = ACTIONS(1383),
-    [anon_sym_PIPE] = ACTIONS(1381),
-    [anon_sym_CARET] = ACTIONS(1383),
-    [anon_sym_AMP] = ACTIONS(1381),
-    [anon_sym_EQ_EQ] = ACTIONS(1383),
-    [anon_sym_BANG_EQ] = ACTIONS(1383),
-    [anon_sym_GT] = ACTIONS(1381),
-    [anon_sym_GT_EQ] = ACTIONS(1383),
-    [anon_sym_LT_EQ] = ACTIONS(1383),
-    [anon_sym_LT] = ACTIONS(1381),
-    [anon_sym_LT_LT] = ACTIONS(1383),
-    [anon_sym_GT_GT] = ACTIONS(1383),
-    [anon_sym_SEMI] = ACTIONS(1383),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym___attribute__] = ACTIONS(1381),
-    [anon_sym_LBRACE] = ACTIONS(1391),
-    [anon_sym_RBRACE] = ACTIONS(1383),
-    [anon_sym_LBRACK] = ACTIONS(1383),
-    [anon_sym_COLON] = ACTIONS(1383),
-    [anon_sym_QMARK] = ACTIONS(1383),
-    [anon_sym_DASH_DASH] = ACTIONS(1383),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1383),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [anon_sym_DOT] = ACTIONS(1381),
-    [anon_sym_DASH_GT] = ACTIONS(1383),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [sym_identifier] = ACTIONS(1742),
+    [anon_sym_COMMA] = ACTIONS(1744),
+    [anon_sym_RPAREN] = ACTIONS(1744),
+    [anon_sym_LPAREN2] = ACTIONS(1744),
+    [anon_sym_BANG] = ACTIONS(1744),
+    [anon_sym_TILDE] = ACTIONS(1744),
+    [anon_sym_DASH] = ACTIONS(1742),
+    [anon_sym_PLUS] = ACTIONS(1742),
+    [anon_sym_STAR] = ACTIONS(1744),
+    [anon_sym_AMP] = ACTIONS(1744),
+    [anon_sym_SEMI] = ACTIONS(1744),
+    [anon_sym___extension__] = ACTIONS(1742),
+    [anon_sym_extern] = ACTIONS(1742),
+    [anon_sym___attribute__] = ACTIONS(1742),
+    [anon_sym___attribute] = ACTIONS(1742),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1744),
+    [anon_sym___declspec] = ACTIONS(1742),
+    [anon_sym_LBRACE] = ACTIONS(1744),
+    [anon_sym_signed] = ACTIONS(1742),
+    [anon_sym_unsigned] = ACTIONS(1742),
+    [anon_sym_long] = ACTIONS(1742),
+    [anon_sym_short] = ACTIONS(1742),
+    [anon_sym_LBRACK] = ACTIONS(1742),
+    [anon_sym_static] = ACTIONS(1742),
+    [anon_sym_EQ] = ACTIONS(1744),
+    [anon_sym_auto] = ACTIONS(1742),
+    [anon_sym_register] = ACTIONS(1742),
+    [anon_sym_inline] = ACTIONS(1742),
+    [anon_sym___inline] = ACTIONS(1742),
+    [anon_sym___inline__] = ACTIONS(1742),
+    [anon_sym___forceinline] = ACTIONS(1742),
+    [anon_sym_thread_local] = ACTIONS(1742),
+    [anon_sym___thread] = ACTIONS(1742),
+    [anon_sym_const] = ACTIONS(1742),
+    [anon_sym_constexpr] = ACTIONS(1742),
+    [anon_sym_volatile] = ACTIONS(1742),
+    [anon_sym_restrict] = ACTIONS(1742),
+    [anon_sym___restrict__] = ACTIONS(1742),
+    [anon_sym__Atomic] = ACTIONS(1742),
+    [anon_sym__Noreturn] = ACTIONS(1742),
+    [anon_sym_noreturn] = ACTIONS(1742),
+    [anon_sym__Nonnull] = ACTIONS(1742),
+    [anon_sym_alignas] = ACTIONS(1742),
+    [anon_sym__Alignas] = ACTIONS(1742),
+    [sym_primitive_type] = ACTIONS(1742),
+    [anon_sym_enum] = ACTIONS(1742),
+    [anon_sym_COLON] = ACTIONS(1744),
+    [anon_sym_struct] = ACTIONS(1742),
+    [anon_sym_union] = ACTIONS(1742),
+    [anon_sym_if] = ACTIONS(1742),
+    [anon_sym_switch] = ACTIONS(1742),
+    [anon_sym_case] = ACTIONS(1742),
+    [anon_sym_default] = ACTIONS(1742),
+    [anon_sym_while] = ACTIONS(1742),
+    [anon_sym_do] = ACTIONS(1742),
+    [anon_sym_for] = ACTIONS(1742),
+    [anon_sym_return] = ACTIONS(1742),
+    [anon_sym_break] = ACTIONS(1742),
+    [anon_sym_continue] = ACTIONS(1742),
+    [anon_sym_goto] = ACTIONS(1742),
+    [anon_sym___try] = ACTIONS(1742),
+    [anon_sym___leave] = ACTIONS(1742),
+    [anon_sym_DASH_DASH] = ACTIONS(1744),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1744),
+    [anon_sym_sizeof] = ACTIONS(1742),
+    [anon_sym___alignof__] = ACTIONS(1742),
+    [anon_sym___alignof] = ACTIONS(1742),
+    [anon_sym__alignof] = ACTIONS(1742),
+    [anon_sym_alignof] = ACTIONS(1742),
+    [anon_sym__Alignof] = ACTIONS(1742),
+    [anon_sym_offsetof] = ACTIONS(1742),
+    [anon_sym__Generic] = ACTIONS(1742),
+    [anon_sym_asm] = ACTIONS(1742),
+    [anon_sym___asm__] = ACTIONS(1742),
+    [anon_sym___asm] = ACTIONS(1742),
+    [sym_number_literal] = ACTIONS(1744),
+    [anon_sym_L_SQUOTE] = ACTIONS(1744),
+    [anon_sym_u_SQUOTE] = ACTIONS(1744),
+    [anon_sym_U_SQUOTE] = ACTIONS(1744),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1744),
+    [anon_sym_SQUOTE] = ACTIONS(1744),
+    [anon_sym_L_DQUOTE] = ACTIONS(1744),
+    [anon_sym_u_DQUOTE] = ACTIONS(1744),
+    [anon_sym_U_DQUOTE] = ACTIONS(1744),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1744),
+    [anon_sym_DQUOTE] = ACTIONS(1744),
+    [sym_true] = ACTIONS(1742),
+    [sym_false] = ACTIONS(1742),
+    [anon_sym_NULL] = ACTIONS(1742),
+    [anon_sym_nullptr] = ACTIONS(1742),
     [sym_comment] = ACTIONS(3),
   },
   [404] = {
-    [sym_expression] = STATE(704),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(828),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(828),
-    [sym_call_expression] = STATE(828),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(828),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(828),
-    [sym_initializer_list] = STATE(675),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(700),
-    [sym_null] = STATE(679),
-    [sym_identifier] = ACTIONS(1381),
-    [anon_sym_COMMA] = ACTIONS(1383),
-    [aux_sym_preproc_if_token2] = ACTIONS(1383),
-    [aux_sym_preproc_else_token1] = ACTIONS(1383),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1381),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1383),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1383),
-    [anon_sym_LPAREN2] = ACTIONS(1383),
-    [anon_sym_BANG] = ACTIONS(1739),
-    [anon_sym_TILDE] = ACTIONS(1741),
-    [anon_sym_DASH] = ACTIONS(1381),
-    [anon_sym_PLUS] = ACTIONS(1381),
-    [anon_sym_STAR] = ACTIONS(1383),
-    [anon_sym_SLASH] = ACTIONS(1381),
-    [anon_sym_PERCENT] = ACTIONS(1383),
-    [anon_sym_PIPE_PIPE] = ACTIONS(1383),
-    [anon_sym_AMP_AMP] = ACTIONS(1383),
-    [anon_sym_PIPE] = ACTIONS(1381),
-    [anon_sym_CARET] = ACTIONS(1383),
-    [anon_sym_AMP] = ACTIONS(1381),
-    [anon_sym_EQ_EQ] = ACTIONS(1383),
-    [anon_sym_BANG_EQ] = ACTIONS(1383),
-    [anon_sym_GT] = ACTIONS(1381),
-    [anon_sym_GT_EQ] = ACTIONS(1383),
-    [anon_sym_LT_EQ] = ACTIONS(1383),
-    [anon_sym_LT] = ACTIONS(1381),
-    [anon_sym_LT_LT] = ACTIONS(1383),
-    [anon_sym_GT_GT] = ACTIONS(1383),
-    [anon_sym___extension__] = ACTIONS(1743),
-    [anon_sym_LBRACE] = ACTIONS(1391),
-    [anon_sym_LBRACK] = ACTIONS(1383),
-    [anon_sym_QMARK] = ACTIONS(1383),
-    [anon_sym_DASH_DASH] = ACTIONS(1383),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1383),
-    [anon_sym_sizeof] = ACTIONS(1745),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [anon_sym_DOT] = ACTIONS(1381),
-    [anon_sym_DASH_GT] = ACTIONS(1383),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [sym_expression] = STATE(700),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_initializer_list] = STATE(686),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_identifier] = ACTIONS(1746),
+    [anon_sym_COMMA] = ACTIONS(1388),
+    [anon_sym_RPAREN] = ACTIONS(1388),
+    [anon_sym_LPAREN2] = ACTIONS(1388),
+    [anon_sym_BANG] = ACTIONS(23),
+    [anon_sym_TILDE] = ACTIONS(21),
+    [anon_sym_DASH] = ACTIONS(1394),
+    [anon_sym_PLUS] = ACTIONS(1394),
+    [anon_sym_STAR] = ACTIONS(1388),
+    [anon_sym_SLASH] = ACTIONS(1394),
+    [anon_sym_PERCENT] = ACTIONS(1388),
+    [anon_sym_PIPE_PIPE] = ACTIONS(1388),
+    [anon_sym_AMP_AMP] = ACTIONS(1388),
+    [anon_sym_PIPE] = ACTIONS(1394),
+    [anon_sym_CARET] = ACTIONS(1388),
+    [anon_sym_AMP] = ACTIONS(1394),
+    [anon_sym_EQ_EQ] = ACTIONS(1388),
+    [anon_sym_BANG_EQ] = ACTIONS(1388),
+    [anon_sym_GT] = ACTIONS(1394),
+    [anon_sym_GT_EQ] = ACTIONS(1388),
+    [anon_sym_LT_EQ] = ACTIONS(1388),
+    [anon_sym_LT] = ACTIONS(1394),
+    [anon_sym_LT_LT] = ACTIONS(1388),
+    [anon_sym_GT_GT] = ACTIONS(1388),
+    [anon_sym_SEMI] = ACTIONS(1388),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym___attribute__] = ACTIONS(1394),
+    [anon_sym___attribute] = ACTIONS(1394),
+    [anon_sym_LBRACE] = ACTIONS(1398),
+    [anon_sym_RBRACE] = ACTIONS(1388),
+    [anon_sym_LBRACK] = ACTIONS(1388),
+    [anon_sym_COLON] = ACTIONS(1388),
+    [anon_sym_QMARK] = ACTIONS(1388),
+    [anon_sym_DASH_DASH] = ACTIONS(1388),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1388),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [anon_sym_DOT] = ACTIONS(1394),
+    [anon_sym_DASH_GT] = ACTIONS(1388),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [405] = {
-    [sym_else_clause] = STATE(250),
-    [sym_identifier] = ACTIONS(1123),
-    [anon_sym_LPAREN2] = ACTIONS(1125),
-    [anon_sym_BANG] = ACTIONS(1125),
-    [anon_sym_TILDE] = ACTIONS(1125),
-    [anon_sym_DASH] = ACTIONS(1123),
-    [anon_sym_PLUS] = ACTIONS(1123),
-    [anon_sym_STAR] = ACTIONS(1125),
-    [anon_sym_AMP] = ACTIONS(1125),
-    [anon_sym_SEMI] = ACTIONS(1125),
-    [anon_sym___extension__] = ACTIONS(1123),
-    [anon_sym_typedef] = ACTIONS(1123),
-    [anon_sym_extern] = ACTIONS(1123),
-    [anon_sym___attribute__] = ACTIONS(1123),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1125),
-    [anon_sym___declspec] = ACTIONS(1123),
-    [anon_sym_LBRACE] = ACTIONS(1125),
-    [anon_sym_signed] = ACTIONS(1123),
-    [anon_sym_unsigned] = ACTIONS(1123),
-    [anon_sym_long] = ACTIONS(1123),
-    [anon_sym_short] = ACTIONS(1123),
-    [anon_sym_static] = ACTIONS(1123),
-    [anon_sym_auto] = ACTIONS(1123),
-    [anon_sym_register] = ACTIONS(1123),
-    [anon_sym_inline] = ACTIONS(1123),
-    [anon_sym___inline] = ACTIONS(1123),
-    [anon_sym___inline__] = ACTIONS(1123),
-    [anon_sym___forceinline] = ACTIONS(1123),
-    [anon_sym_thread_local] = ACTIONS(1123),
-    [anon_sym___thread] = ACTIONS(1123),
-    [anon_sym_const] = ACTIONS(1123),
-    [anon_sym_constexpr] = ACTIONS(1123),
-    [anon_sym_volatile] = ACTIONS(1123),
-    [anon_sym_restrict] = ACTIONS(1123),
-    [anon_sym___restrict__] = ACTIONS(1123),
-    [anon_sym__Atomic] = ACTIONS(1123),
-    [anon_sym__Noreturn] = ACTIONS(1123),
-    [anon_sym_noreturn] = ACTIONS(1123),
-    [anon_sym__Nonnull] = ACTIONS(1123),
-    [anon_sym_alignas] = ACTIONS(1123),
-    [anon_sym__Alignas] = ACTIONS(1123),
-    [sym_primitive_type] = ACTIONS(1123),
-    [anon_sym_enum] = ACTIONS(1123),
-    [anon_sym_struct] = ACTIONS(1123),
-    [anon_sym_union] = ACTIONS(1123),
-    [anon_sym_if] = ACTIONS(1123),
-    [anon_sym_else] = ACTIONS(1747),
-    [anon_sym_switch] = ACTIONS(1123),
-    [anon_sym_while] = ACTIONS(1123),
-    [anon_sym_do] = ACTIONS(1123),
-    [anon_sym_for] = ACTIONS(1123),
-    [anon_sym_return] = ACTIONS(1123),
-    [anon_sym_break] = ACTIONS(1123),
-    [anon_sym_continue] = ACTIONS(1123),
-    [anon_sym_goto] = ACTIONS(1123),
-    [anon_sym___try] = ACTIONS(1123),
-    [anon_sym___leave] = ACTIONS(1123),
-    [anon_sym_DASH_DASH] = ACTIONS(1125),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1125),
-    [anon_sym_sizeof] = ACTIONS(1123),
-    [anon_sym___alignof__] = ACTIONS(1123),
-    [anon_sym___alignof] = ACTIONS(1123),
-    [anon_sym__alignof] = ACTIONS(1123),
-    [anon_sym_alignof] = ACTIONS(1123),
-    [anon_sym__Alignof] = ACTIONS(1123),
-    [anon_sym_offsetof] = ACTIONS(1123),
-    [anon_sym__Generic] = ACTIONS(1123),
-    [anon_sym_asm] = ACTIONS(1123),
-    [anon_sym___asm__] = ACTIONS(1123),
-    [anon_sym___asm] = ACTIONS(1123),
-    [sym_number_literal] = ACTIONS(1125),
-    [anon_sym_L_SQUOTE] = ACTIONS(1125),
-    [anon_sym_u_SQUOTE] = ACTIONS(1125),
-    [anon_sym_U_SQUOTE] = ACTIONS(1125),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1125),
-    [anon_sym_SQUOTE] = ACTIONS(1125),
-    [anon_sym_L_DQUOTE] = ACTIONS(1125),
-    [anon_sym_u_DQUOTE] = ACTIONS(1125),
-    [anon_sym_U_DQUOTE] = ACTIONS(1125),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1125),
-    [anon_sym_DQUOTE] = ACTIONS(1125),
-    [sym_true] = ACTIONS(1123),
-    [sym_false] = ACTIONS(1123),
-    [anon_sym_NULL] = ACTIONS(1123),
-    [anon_sym_nullptr] = ACTIONS(1123),
+    [sym_expression] = STATE(700),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(845),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(845),
+    [sym_call_expression] = STATE(845),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(845),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(845),
+    [sym_initializer_list] = STATE(686),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(714),
+    [sym_null] = STATE(693),
+    [sym_identifier] = ACTIONS(1394),
+    [anon_sym_COMMA] = ACTIONS(1388),
+    [aux_sym_preproc_if_token2] = ACTIONS(1388),
+    [aux_sym_preproc_else_token1] = ACTIONS(1388),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1394),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1388),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1388),
+    [anon_sym_LPAREN2] = ACTIONS(1388),
+    [anon_sym_BANG] = ACTIONS(1748),
+    [anon_sym_TILDE] = ACTIONS(1750),
+    [anon_sym_DASH] = ACTIONS(1394),
+    [anon_sym_PLUS] = ACTIONS(1394),
+    [anon_sym_STAR] = ACTIONS(1388),
+    [anon_sym_SLASH] = ACTIONS(1394),
+    [anon_sym_PERCENT] = ACTIONS(1388),
+    [anon_sym_PIPE_PIPE] = ACTIONS(1388),
+    [anon_sym_AMP_AMP] = ACTIONS(1388),
+    [anon_sym_PIPE] = ACTIONS(1394),
+    [anon_sym_CARET] = ACTIONS(1388),
+    [anon_sym_AMP] = ACTIONS(1394),
+    [anon_sym_EQ_EQ] = ACTIONS(1388),
+    [anon_sym_BANG_EQ] = ACTIONS(1388),
+    [anon_sym_GT] = ACTIONS(1394),
+    [anon_sym_GT_EQ] = ACTIONS(1388),
+    [anon_sym_LT_EQ] = ACTIONS(1388),
+    [anon_sym_LT] = ACTIONS(1394),
+    [anon_sym_LT_LT] = ACTIONS(1388),
+    [anon_sym_GT_GT] = ACTIONS(1388),
+    [anon_sym___extension__] = ACTIONS(1752),
+    [anon_sym_LBRACE] = ACTIONS(1398),
+    [anon_sym_LBRACK] = ACTIONS(1388),
+    [anon_sym_QMARK] = ACTIONS(1388),
+    [anon_sym_DASH_DASH] = ACTIONS(1388),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1388),
+    [anon_sym_sizeof] = ACTIONS(1754),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [anon_sym_DOT] = ACTIONS(1394),
+    [anon_sym_DASH_GT] = ACTIONS(1388),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [406] = {
-    [sym_identifier] = ACTIONS(1749),
-    [anon_sym_LPAREN2] = ACTIONS(1752),
-    [anon_sym_BANG] = ACTIONS(1752),
-    [anon_sym_TILDE] = ACTIONS(1752),
-    [anon_sym_DASH] = ACTIONS(1754),
-    [anon_sym_PLUS] = ACTIONS(1754),
-    [anon_sym_STAR] = ACTIONS(1752),
-    [anon_sym_AMP] = ACTIONS(1752),
-    [anon_sym_SEMI] = ACTIONS(1752),
-    [anon_sym___extension__] = ACTIONS(1749),
-    [anon_sym_extern] = ACTIONS(1756),
-    [anon_sym___attribute__] = ACTIONS(1756),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1758),
-    [anon_sym___declspec] = ACTIONS(1756),
-    [anon_sym_LBRACE] = ACTIONS(1752),
-    [anon_sym_signed] = ACTIONS(1756),
-    [anon_sym_unsigned] = ACTIONS(1756),
-    [anon_sym_long] = ACTIONS(1756),
-    [anon_sym_short] = ACTIONS(1756),
-    [anon_sym_static] = ACTIONS(1756),
-    [anon_sym_auto] = ACTIONS(1756),
-    [anon_sym_register] = ACTIONS(1756),
-    [anon_sym_inline] = ACTIONS(1756),
-    [anon_sym___inline] = ACTIONS(1756),
-    [anon_sym___inline__] = ACTIONS(1756),
-    [anon_sym___forceinline] = ACTIONS(1756),
-    [anon_sym_thread_local] = ACTIONS(1756),
-    [anon_sym___thread] = ACTIONS(1756),
-    [anon_sym_const] = ACTIONS(1756),
-    [anon_sym_constexpr] = ACTIONS(1756),
-    [anon_sym_volatile] = ACTIONS(1756),
-    [anon_sym_restrict] = ACTIONS(1756),
-    [anon_sym___restrict__] = ACTIONS(1756),
-    [anon_sym__Atomic] = ACTIONS(1756),
-    [anon_sym__Noreturn] = ACTIONS(1756),
-    [anon_sym_noreturn] = ACTIONS(1756),
-    [anon_sym__Nonnull] = ACTIONS(1756),
-    [anon_sym_alignas] = ACTIONS(1756),
-    [anon_sym__Alignas] = ACTIONS(1756),
-    [sym_primitive_type] = ACTIONS(1756),
-    [anon_sym_enum] = ACTIONS(1756),
-    [anon_sym_struct] = ACTIONS(1756),
-    [anon_sym_union] = ACTIONS(1756),
-    [anon_sym_if] = ACTIONS(1754),
-    [anon_sym_switch] = ACTIONS(1754),
-    [anon_sym_case] = ACTIONS(1754),
-    [anon_sym_default] = ACTIONS(1754),
-    [anon_sym_while] = ACTIONS(1754),
-    [anon_sym_do] = ACTIONS(1754),
-    [anon_sym_for] = ACTIONS(1754),
-    [anon_sym_return] = ACTIONS(1754),
-    [anon_sym_break] = ACTIONS(1754),
-    [anon_sym_continue] = ACTIONS(1754),
-    [anon_sym_goto] = ACTIONS(1754),
-    [anon_sym___try] = ACTIONS(1754),
-    [anon_sym___leave] = ACTIONS(1754),
-    [anon_sym_DASH_DASH] = ACTIONS(1752),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1752),
-    [anon_sym_sizeof] = ACTIONS(1754),
-    [anon_sym___alignof__] = ACTIONS(1754),
-    [anon_sym___alignof] = ACTIONS(1754),
-    [anon_sym__alignof] = ACTIONS(1754),
-    [anon_sym_alignof] = ACTIONS(1754),
-    [anon_sym__Alignof] = ACTIONS(1754),
-    [anon_sym_offsetof] = ACTIONS(1754),
-    [anon_sym__Generic] = ACTIONS(1754),
-    [anon_sym_asm] = ACTIONS(1754),
-    [anon_sym___asm__] = ACTIONS(1754),
-    [anon_sym___asm] = ACTIONS(1754),
-    [sym_number_literal] = ACTIONS(1752),
-    [anon_sym_L_SQUOTE] = ACTIONS(1752),
-    [anon_sym_u_SQUOTE] = ACTIONS(1752),
-    [anon_sym_U_SQUOTE] = ACTIONS(1752),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1752),
-    [anon_sym_SQUOTE] = ACTIONS(1752),
-    [anon_sym_L_DQUOTE] = ACTIONS(1752),
-    [anon_sym_u_DQUOTE] = ACTIONS(1752),
-    [anon_sym_U_DQUOTE] = ACTIONS(1752),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1752),
-    [anon_sym_DQUOTE] = ACTIONS(1752),
-    [sym_true] = ACTIONS(1754),
-    [sym_false] = ACTIONS(1754),
-    [anon_sym_NULL] = ACTIONS(1754),
-    [anon_sym_nullptr] = ACTIONS(1754),
+    [sym_else_clause] = STATE(243),
+    [sym_identifier] = ACTIONS(1128),
+    [anon_sym_LPAREN2] = ACTIONS(1130),
+    [anon_sym_BANG] = ACTIONS(1130),
+    [anon_sym_TILDE] = ACTIONS(1130),
+    [anon_sym_DASH] = ACTIONS(1128),
+    [anon_sym_PLUS] = ACTIONS(1128),
+    [anon_sym_STAR] = ACTIONS(1130),
+    [anon_sym_AMP] = ACTIONS(1130),
+    [anon_sym_SEMI] = ACTIONS(1130),
+    [anon_sym___extension__] = ACTIONS(1128),
+    [anon_sym_typedef] = ACTIONS(1128),
+    [anon_sym_extern] = ACTIONS(1128),
+    [anon_sym___attribute__] = ACTIONS(1128),
+    [anon_sym___attribute] = ACTIONS(1128),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1130),
+    [anon_sym___declspec] = ACTIONS(1128),
+    [anon_sym_LBRACE] = ACTIONS(1130),
+    [anon_sym_signed] = ACTIONS(1128),
+    [anon_sym_unsigned] = ACTIONS(1128),
+    [anon_sym_long] = ACTIONS(1128),
+    [anon_sym_short] = ACTIONS(1128),
+    [anon_sym_static] = ACTIONS(1128),
+    [anon_sym_auto] = ACTIONS(1128),
+    [anon_sym_register] = ACTIONS(1128),
+    [anon_sym_inline] = ACTIONS(1128),
+    [anon_sym___inline] = ACTIONS(1128),
+    [anon_sym___inline__] = ACTIONS(1128),
+    [anon_sym___forceinline] = ACTIONS(1128),
+    [anon_sym_thread_local] = ACTIONS(1128),
+    [anon_sym___thread] = ACTIONS(1128),
+    [anon_sym_const] = ACTIONS(1128),
+    [anon_sym_constexpr] = ACTIONS(1128),
+    [anon_sym_volatile] = ACTIONS(1128),
+    [anon_sym_restrict] = ACTIONS(1128),
+    [anon_sym___restrict__] = ACTIONS(1128),
+    [anon_sym__Atomic] = ACTIONS(1128),
+    [anon_sym__Noreturn] = ACTIONS(1128),
+    [anon_sym_noreturn] = ACTIONS(1128),
+    [anon_sym__Nonnull] = ACTIONS(1128),
+    [anon_sym_alignas] = ACTIONS(1128),
+    [anon_sym__Alignas] = ACTIONS(1128),
+    [sym_primitive_type] = ACTIONS(1128),
+    [anon_sym_enum] = ACTIONS(1128),
+    [anon_sym_struct] = ACTIONS(1128),
+    [anon_sym_union] = ACTIONS(1128),
+    [anon_sym_if] = ACTIONS(1128),
+    [anon_sym_else] = ACTIONS(1756),
+    [anon_sym_switch] = ACTIONS(1128),
+    [anon_sym_while] = ACTIONS(1128),
+    [anon_sym_do] = ACTIONS(1128),
+    [anon_sym_for] = ACTIONS(1128),
+    [anon_sym_return] = ACTIONS(1128),
+    [anon_sym_break] = ACTIONS(1128),
+    [anon_sym_continue] = ACTIONS(1128),
+    [anon_sym_goto] = ACTIONS(1128),
+    [anon_sym___try] = ACTIONS(1128),
+    [anon_sym___leave] = ACTIONS(1128),
+    [anon_sym_DASH_DASH] = ACTIONS(1130),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1130),
+    [anon_sym_sizeof] = ACTIONS(1128),
+    [anon_sym___alignof__] = ACTIONS(1128),
+    [anon_sym___alignof] = ACTIONS(1128),
+    [anon_sym__alignof] = ACTIONS(1128),
+    [anon_sym_alignof] = ACTIONS(1128),
+    [anon_sym__Alignof] = ACTIONS(1128),
+    [anon_sym_offsetof] = ACTIONS(1128),
+    [anon_sym__Generic] = ACTIONS(1128),
+    [anon_sym_asm] = ACTIONS(1128),
+    [anon_sym___asm__] = ACTIONS(1128),
+    [anon_sym___asm] = ACTIONS(1128),
+    [sym_number_literal] = ACTIONS(1130),
+    [anon_sym_L_SQUOTE] = ACTIONS(1130),
+    [anon_sym_u_SQUOTE] = ACTIONS(1130),
+    [anon_sym_U_SQUOTE] = ACTIONS(1130),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1130),
+    [anon_sym_SQUOTE] = ACTIONS(1130),
+    [anon_sym_L_DQUOTE] = ACTIONS(1130),
+    [anon_sym_u_DQUOTE] = ACTIONS(1130),
+    [anon_sym_U_DQUOTE] = ACTIONS(1130),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1130),
+    [anon_sym_DQUOTE] = ACTIONS(1130),
+    [sym_true] = ACTIONS(1128),
+    [sym_false] = ACTIONS(1128),
+    [anon_sym_NULL] = ACTIONS(1128),
+    [anon_sym_nullptr] = ACTIONS(1128),
     [sym_comment] = ACTIONS(3),
   },
   [407] = {
-    [sym_expression] = STATE(884),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(906),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(906),
-    [sym_call_expression] = STATE(906),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(906),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(906),
-    [sym_initializer_list] = STATE(675),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_identifier] = ACTIONS(1761),
-    [anon_sym_DOT_DOT_DOT] = ACTIONS(1383),
-    [anon_sym_LPAREN2] = ACTIONS(1383),
-    [anon_sym_BANG] = ACTIONS(1763),
-    [anon_sym_TILDE] = ACTIONS(1765),
-    [anon_sym_DASH] = ACTIONS(1381),
-    [anon_sym_PLUS] = ACTIONS(1381),
-    [anon_sym_STAR] = ACTIONS(1383),
-    [anon_sym_SLASH] = ACTIONS(1381),
-    [anon_sym_PERCENT] = ACTIONS(1383),
-    [anon_sym_PIPE_PIPE] = ACTIONS(1383),
-    [anon_sym_AMP_AMP] = ACTIONS(1383),
-    [anon_sym_PIPE] = ACTIONS(1381),
-    [anon_sym_CARET] = ACTIONS(1383),
-    [anon_sym_AMP] = ACTIONS(1381),
-    [anon_sym_EQ_EQ] = ACTIONS(1383),
-    [anon_sym_BANG_EQ] = ACTIONS(1383),
-    [anon_sym_GT] = ACTIONS(1381),
-    [anon_sym_GT_EQ] = ACTIONS(1383),
-    [anon_sym_LT_EQ] = ACTIONS(1383),
-    [anon_sym_LT] = ACTIONS(1381),
-    [anon_sym_LT_LT] = ACTIONS(1383),
-    [anon_sym_GT_GT] = ACTIONS(1383),
-    [anon_sym___extension__] = ACTIONS(1767),
-    [anon_sym_LBRACE] = ACTIONS(1391),
-    [anon_sym_LBRACK] = ACTIONS(1383),
-    [anon_sym_RBRACK] = ACTIONS(1383),
-    [anon_sym_QMARK] = ACTIONS(1383),
-    [anon_sym_DASH_DASH] = ACTIONS(1383),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1383),
-    [anon_sym_sizeof] = ACTIONS(1769),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [anon_sym_DOT] = ACTIONS(1381),
-    [anon_sym_DASH_GT] = ACTIONS(1383),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [sym_identifier] = ACTIONS(1758),
+    [anon_sym_LPAREN2] = ACTIONS(1761),
+    [anon_sym_BANG] = ACTIONS(1761),
+    [anon_sym_TILDE] = ACTIONS(1761),
+    [anon_sym_DASH] = ACTIONS(1763),
+    [anon_sym_PLUS] = ACTIONS(1763),
+    [anon_sym_STAR] = ACTIONS(1761),
+    [anon_sym_AMP] = ACTIONS(1761),
+    [anon_sym_SEMI] = ACTIONS(1761),
+    [anon_sym___extension__] = ACTIONS(1758),
+    [anon_sym_extern] = ACTIONS(1765),
+    [anon_sym___attribute__] = ACTIONS(1765),
+    [anon_sym___attribute] = ACTIONS(1765),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1767),
+    [anon_sym___declspec] = ACTIONS(1765),
+    [anon_sym_LBRACE] = ACTIONS(1761),
+    [anon_sym_signed] = ACTIONS(1765),
+    [anon_sym_unsigned] = ACTIONS(1765),
+    [anon_sym_long] = ACTIONS(1765),
+    [anon_sym_short] = ACTIONS(1765),
+    [anon_sym_static] = ACTIONS(1765),
+    [anon_sym_auto] = ACTIONS(1765),
+    [anon_sym_register] = ACTIONS(1765),
+    [anon_sym_inline] = ACTIONS(1765),
+    [anon_sym___inline] = ACTIONS(1765),
+    [anon_sym___inline__] = ACTIONS(1765),
+    [anon_sym___forceinline] = ACTIONS(1765),
+    [anon_sym_thread_local] = ACTIONS(1765),
+    [anon_sym___thread] = ACTIONS(1765),
+    [anon_sym_const] = ACTIONS(1765),
+    [anon_sym_constexpr] = ACTIONS(1765),
+    [anon_sym_volatile] = ACTIONS(1765),
+    [anon_sym_restrict] = ACTIONS(1765),
+    [anon_sym___restrict__] = ACTIONS(1765),
+    [anon_sym__Atomic] = ACTIONS(1765),
+    [anon_sym__Noreturn] = ACTIONS(1765),
+    [anon_sym_noreturn] = ACTIONS(1765),
+    [anon_sym__Nonnull] = ACTIONS(1765),
+    [anon_sym_alignas] = ACTIONS(1765),
+    [anon_sym__Alignas] = ACTIONS(1765),
+    [sym_primitive_type] = ACTIONS(1765),
+    [anon_sym_enum] = ACTIONS(1765),
+    [anon_sym_struct] = ACTIONS(1765),
+    [anon_sym_union] = ACTIONS(1765),
+    [anon_sym_if] = ACTIONS(1763),
+    [anon_sym_switch] = ACTIONS(1763),
+    [anon_sym_case] = ACTIONS(1763),
+    [anon_sym_default] = ACTIONS(1763),
+    [anon_sym_while] = ACTIONS(1763),
+    [anon_sym_do] = ACTIONS(1763),
+    [anon_sym_for] = ACTIONS(1763),
+    [anon_sym_return] = ACTIONS(1763),
+    [anon_sym_break] = ACTIONS(1763),
+    [anon_sym_continue] = ACTIONS(1763),
+    [anon_sym_goto] = ACTIONS(1763),
+    [anon_sym___try] = ACTIONS(1763),
+    [anon_sym___leave] = ACTIONS(1763),
+    [anon_sym_DASH_DASH] = ACTIONS(1761),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1761),
+    [anon_sym_sizeof] = ACTIONS(1763),
+    [anon_sym___alignof__] = ACTIONS(1763),
+    [anon_sym___alignof] = ACTIONS(1763),
+    [anon_sym__alignof] = ACTIONS(1763),
+    [anon_sym_alignof] = ACTIONS(1763),
+    [anon_sym__Alignof] = ACTIONS(1763),
+    [anon_sym_offsetof] = ACTIONS(1763),
+    [anon_sym__Generic] = ACTIONS(1763),
+    [anon_sym_asm] = ACTIONS(1763),
+    [anon_sym___asm__] = ACTIONS(1763),
+    [anon_sym___asm] = ACTIONS(1763),
+    [sym_number_literal] = ACTIONS(1761),
+    [anon_sym_L_SQUOTE] = ACTIONS(1761),
+    [anon_sym_u_SQUOTE] = ACTIONS(1761),
+    [anon_sym_U_SQUOTE] = ACTIONS(1761),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1761),
+    [anon_sym_SQUOTE] = ACTIONS(1761),
+    [anon_sym_L_DQUOTE] = ACTIONS(1761),
+    [anon_sym_u_DQUOTE] = ACTIONS(1761),
+    [anon_sym_U_DQUOTE] = ACTIONS(1761),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1761),
+    [anon_sym_DQUOTE] = ACTIONS(1761),
+    [sym_true] = ACTIONS(1763),
+    [sym_false] = ACTIONS(1763),
+    [anon_sym_NULL] = ACTIONS(1763),
+    [anon_sym_nullptr] = ACTIONS(1763),
     [sym_comment] = ACTIONS(3),
   },
   [408] = {
-    [sym_string_literal] = STATE(625),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(752),
-    [sym_identifier] = ACTIONS(1771),
-    [anon_sym_COMMA] = ACTIONS(1773),
-    [anon_sym_LPAREN2] = ACTIONS(1775),
-    [anon_sym_DASH] = ACTIONS(1779),
-    [anon_sym_PLUS] = ACTIONS(1779),
-    [anon_sym_STAR] = ACTIONS(1781),
-    [anon_sym_SLASH] = ACTIONS(1779),
-    [anon_sym_PERCENT] = ACTIONS(1779),
-    [anon_sym_PIPE_PIPE] = ACTIONS(1773),
-    [anon_sym_AMP_AMP] = ACTIONS(1773),
-    [anon_sym_PIPE] = ACTIONS(1779),
-    [anon_sym_CARET] = ACTIONS(1779),
-    [anon_sym_AMP] = ACTIONS(1779),
-    [anon_sym_EQ_EQ] = ACTIONS(1773),
-    [anon_sym_BANG_EQ] = ACTIONS(1773),
-    [anon_sym_GT] = ACTIONS(1779),
-    [anon_sym_GT_EQ] = ACTIONS(1773),
-    [anon_sym_LT_EQ] = ACTIONS(1773),
-    [anon_sym_LT] = ACTIONS(1779),
-    [anon_sym_LT_LT] = ACTIONS(1779),
-    [anon_sym_GT_GT] = ACTIONS(1779),
-    [anon_sym_SEMI] = ACTIONS(1773),
-    [anon_sym___extension__] = ACTIONS(1771),
-    [anon_sym_extern] = ACTIONS(1771),
-    [anon_sym___attribute__] = ACTIONS(1771),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1784),
-    [anon_sym___declspec] = ACTIONS(1771),
-    [anon_sym___based] = ACTIONS(1771),
-    [anon_sym___cdecl] = ACTIONS(1771),
-    [anon_sym___clrcall] = ACTIONS(1771),
-    [anon_sym___stdcall] = ACTIONS(1771),
-    [anon_sym___fastcall] = ACTIONS(1771),
-    [anon_sym___thiscall] = ACTIONS(1771),
-    [anon_sym___vectorcall] = ACTIONS(1771),
-    [anon_sym_signed] = ACTIONS(1786),
-    [anon_sym_unsigned] = ACTIONS(1786),
-    [anon_sym_long] = ACTIONS(1786),
-    [anon_sym_short] = ACTIONS(1786),
-    [anon_sym_LBRACK] = ACTIONS(1779),
-    [anon_sym_static] = ACTIONS(1771),
-    [anon_sym_EQ] = ACTIONS(1788),
-    [anon_sym_auto] = ACTIONS(1771),
-    [anon_sym_register] = ACTIONS(1771),
-    [anon_sym_inline] = ACTIONS(1771),
-    [anon_sym___inline] = ACTIONS(1771),
-    [anon_sym___inline__] = ACTIONS(1771),
-    [anon_sym___forceinline] = ACTIONS(1771),
-    [anon_sym_thread_local] = ACTIONS(1771),
-    [anon_sym___thread] = ACTIONS(1771),
-    [anon_sym_const] = ACTIONS(1771),
-    [anon_sym_constexpr] = ACTIONS(1771),
-    [anon_sym_volatile] = ACTIONS(1771),
-    [anon_sym_restrict] = ACTIONS(1771),
-    [anon_sym___restrict__] = ACTIONS(1771),
-    [anon_sym__Atomic] = ACTIONS(1771),
-    [anon_sym__Noreturn] = ACTIONS(1771),
-    [anon_sym_noreturn] = ACTIONS(1771),
-    [anon_sym__Nonnull] = ACTIONS(1771),
-    [anon_sym_alignas] = ACTIONS(1771),
-    [anon_sym__Alignas] = ACTIONS(1771),
-    [anon_sym_COLON] = ACTIONS(1790),
-    [anon_sym_QMARK] = ACTIONS(1773),
-    [anon_sym_STAR_EQ] = ACTIONS(1792),
-    [anon_sym_SLASH_EQ] = ACTIONS(1792),
-    [anon_sym_PERCENT_EQ] = ACTIONS(1792),
-    [anon_sym_PLUS_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_EQ] = ACTIONS(1792),
-    [anon_sym_LT_LT_EQ] = ACTIONS(1792),
-    [anon_sym_GT_GT_EQ] = ACTIONS(1792),
-    [anon_sym_AMP_EQ] = ACTIONS(1792),
-    [anon_sym_CARET_EQ] = ACTIONS(1792),
-    [anon_sym_PIPE_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_DASH] = ACTIONS(1773),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1773),
-    [anon_sym_DOT] = ACTIONS(1773),
-    [anon_sym_DASH_GT] = ACTIONS(1773),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
+    [sym_string_literal] = STATE(630),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(768),
+    [sym_identifier] = ACTIONS(1770),
+    [anon_sym_COMMA] = ACTIONS(1772),
+    [anon_sym_LPAREN2] = ACTIONS(1774),
+    [anon_sym_DASH] = ACTIONS(1778),
+    [anon_sym_PLUS] = ACTIONS(1778),
+    [anon_sym_STAR] = ACTIONS(1780),
+    [anon_sym_SLASH] = ACTIONS(1778),
+    [anon_sym_PERCENT] = ACTIONS(1778),
+    [anon_sym_PIPE_PIPE] = ACTIONS(1772),
+    [anon_sym_AMP_AMP] = ACTIONS(1772),
+    [anon_sym_PIPE] = ACTIONS(1778),
+    [anon_sym_CARET] = ACTIONS(1778),
+    [anon_sym_AMP] = ACTIONS(1778),
+    [anon_sym_EQ_EQ] = ACTIONS(1772),
+    [anon_sym_BANG_EQ] = ACTIONS(1772),
+    [anon_sym_GT] = ACTIONS(1778),
+    [anon_sym_GT_EQ] = ACTIONS(1772),
+    [anon_sym_LT_EQ] = ACTIONS(1772),
+    [anon_sym_LT] = ACTIONS(1778),
+    [anon_sym_LT_LT] = ACTIONS(1778),
+    [anon_sym_GT_GT] = ACTIONS(1778),
+    [anon_sym_SEMI] = ACTIONS(1783),
+    [anon_sym___extension__] = ACTIONS(1770),
+    [anon_sym_extern] = ACTIONS(1770),
+    [anon_sym___attribute__] = ACTIONS(1770),
+    [anon_sym___attribute] = ACTIONS(1770),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1786),
+    [anon_sym___declspec] = ACTIONS(1770),
+    [anon_sym___based] = ACTIONS(1770),
+    [anon_sym___cdecl] = ACTIONS(1770),
+    [anon_sym___clrcall] = ACTIONS(1770),
+    [anon_sym___stdcall] = ACTIONS(1770),
+    [anon_sym___fastcall] = ACTIONS(1770),
+    [anon_sym___thiscall] = ACTIONS(1770),
+    [anon_sym___vectorcall] = ACTIONS(1770),
+    [anon_sym_signed] = ACTIONS(1788),
+    [anon_sym_unsigned] = ACTIONS(1788),
+    [anon_sym_long] = ACTIONS(1788),
+    [anon_sym_short] = ACTIONS(1788),
+    [anon_sym_LBRACK] = ACTIONS(1778),
+    [anon_sym_static] = ACTIONS(1770),
+    [anon_sym_EQ] = ACTIONS(1790),
+    [anon_sym_auto] = ACTIONS(1770),
+    [anon_sym_register] = ACTIONS(1770),
+    [anon_sym_inline] = ACTIONS(1770),
+    [anon_sym___inline] = ACTIONS(1770),
+    [anon_sym___inline__] = ACTIONS(1770),
+    [anon_sym___forceinline] = ACTIONS(1770),
+    [anon_sym_thread_local] = ACTIONS(1770),
+    [anon_sym___thread] = ACTIONS(1770),
+    [anon_sym_const] = ACTIONS(1770),
+    [anon_sym_constexpr] = ACTIONS(1770),
+    [anon_sym_volatile] = ACTIONS(1770),
+    [anon_sym_restrict] = ACTIONS(1770),
+    [anon_sym___restrict__] = ACTIONS(1770),
+    [anon_sym__Atomic] = ACTIONS(1770),
+    [anon_sym__Noreturn] = ACTIONS(1770),
+    [anon_sym_noreturn] = ACTIONS(1770),
+    [anon_sym__Nonnull] = ACTIONS(1770),
+    [anon_sym_alignas] = ACTIONS(1770),
+    [anon_sym__Alignas] = ACTIONS(1770),
+    [anon_sym_COLON] = ACTIONS(1792),
+    [anon_sym_QMARK] = ACTIONS(1772),
+    [anon_sym_STAR_EQ] = ACTIONS(1794),
+    [anon_sym_SLASH_EQ] = ACTIONS(1794),
+    [anon_sym_PERCENT_EQ] = ACTIONS(1794),
+    [anon_sym_PLUS_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_EQ] = ACTIONS(1794),
+    [anon_sym_LT_LT_EQ] = ACTIONS(1794),
+    [anon_sym_GT_GT_EQ] = ACTIONS(1794),
+    [anon_sym_AMP_EQ] = ACTIONS(1794),
+    [anon_sym_CARET_EQ] = ACTIONS(1794),
+    [anon_sym_PIPE_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_DASH] = ACTIONS(1772),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1772),
+    [anon_sym_DOT] = ACTIONS(1772),
+    [anon_sym_DASH_GT] = ACTIONS(1772),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
     [sym_comment] = ACTIONS(3),
   },
   [409] = {
-    [sym_string_literal] = STATE(625),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(752),
-    [sym_identifier] = ACTIONS(1771),
-    [anon_sym_COMMA] = ACTIONS(1773),
-    [anon_sym_LPAREN2] = ACTIONS(1775),
-    [anon_sym_DASH] = ACTIONS(1779),
-    [anon_sym_PLUS] = ACTIONS(1779),
-    [anon_sym_STAR] = ACTIONS(1781),
-    [anon_sym_SLASH] = ACTIONS(1779),
-    [anon_sym_PERCENT] = ACTIONS(1779),
-    [anon_sym_PIPE_PIPE] = ACTIONS(1773),
-    [anon_sym_AMP_AMP] = ACTIONS(1773),
-    [anon_sym_PIPE] = ACTIONS(1779),
-    [anon_sym_CARET] = ACTIONS(1779),
-    [anon_sym_AMP] = ACTIONS(1779),
-    [anon_sym_EQ_EQ] = ACTIONS(1773),
-    [anon_sym_BANG_EQ] = ACTIONS(1773),
-    [anon_sym_GT] = ACTIONS(1779),
-    [anon_sym_GT_EQ] = ACTIONS(1773),
-    [anon_sym_LT_EQ] = ACTIONS(1773),
-    [anon_sym_LT] = ACTIONS(1779),
-    [anon_sym_LT_LT] = ACTIONS(1779),
-    [anon_sym_GT_GT] = ACTIONS(1779),
-    [anon_sym_SEMI] = ACTIONS(1794),
-    [anon_sym___extension__] = ACTIONS(1771),
-    [anon_sym_extern] = ACTIONS(1771),
-    [anon_sym___attribute__] = ACTIONS(1771),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1784),
-    [anon_sym___declspec] = ACTIONS(1771),
-    [anon_sym___based] = ACTIONS(1771),
-    [anon_sym___cdecl] = ACTIONS(1771),
-    [anon_sym___clrcall] = ACTIONS(1771),
-    [anon_sym___stdcall] = ACTIONS(1771),
-    [anon_sym___fastcall] = ACTIONS(1771),
-    [anon_sym___thiscall] = ACTIONS(1771),
-    [anon_sym___vectorcall] = ACTIONS(1771),
-    [anon_sym_signed] = ACTIONS(1786),
-    [anon_sym_unsigned] = ACTIONS(1786),
-    [anon_sym_long] = ACTIONS(1786),
-    [anon_sym_short] = ACTIONS(1786),
-    [anon_sym_LBRACK] = ACTIONS(1779),
-    [anon_sym_static] = ACTIONS(1771),
-    [anon_sym_EQ] = ACTIONS(1788),
-    [anon_sym_auto] = ACTIONS(1771),
-    [anon_sym_register] = ACTIONS(1771),
-    [anon_sym_inline] = ACTIONS(1771),
-    [anon_sym___inline] = ACTIONS(1771),
-    [anon_sym___inline__] = ACTIONS(1771),
-    [anon_sym___forceinline] = ACTIONS(1771),
-    [anon_sym_thread_local] = ACTIONS(1771),
-    [anon_sym___thread] = ACTIONS(1771),
-    [anon_sym_const] = ACTIONS(1771),
-    [anon_sym_constexpr] = ACTIONS(1771),
-    [anon_sym_volatile] = ACTIONS(1771),
-    [anon_sym_restrict] = ACTIONS(1771),
-    [anon_sym___restrict__] = ACTIONS(1771),
-    [anon_sym__Atomic] = ACTIONS(1771),
-    [anon_sym__Noreturn] = ACTIONS(1771),
-    [anon_sym_noreturn] = ACTIONS(1771),
-    [anon_sym__Nonnull] = ACTIONS(1771),
-    [anon_sym_alignas] = ACTIONS(1771),
-    [anon_sym__Alignas] = ACTIONS(1771),
-    [anon_sym_COLON] = ACTIONS(1797),
-    [anon_sym_QMARK] = ACTIONS(1773),
-    [anon_sym_STAR_EQ] = ACTIONS(1792),
-    [anon_sym_SLASH_EQ] = ACTIONS(1792),
-    [anon_sym_PERCENT_EQ] = ACTIONS(1792),
-    [anon_sym_PLUS_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_EQ] = ACTIONS(1792),
-    [anon_sym_LT_LT_EQ] = ACTIONS(1792),
-    [anon_sym_GT_GT_EQ] = ACTIONS(1792),
-    [anon_sym_AMP_EQ] = ACTIONS(1792),
-    [anon_sym_CARET_EQ] = ACTIONS(1792),
-    [anon_sym_PIPE_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_DASH] = ACTIONS(1773),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1773),
-    [anon_sym_DOT] = ACTIONS(1773),
-    [anon_sym_DASH_GT] = ACTIONS(1773),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
+    [sym_string_literal] = STATE(630),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(768),
+    [sym_identifier] = ACTIONS(1770),
+    [anon_sym_COMMA] = ACTIONS(1772),
+    [anon_sym_LPAREN2] = ACTIONS(1774),
+    [anon_sym_DASH] = ACTIONS(1778),
+    [anon_sym_PLUS] = ACTIONS(1778),
+    [anon_sym_STAR] = ACTIONS(1780),
+    [anon_sym_SLASH] = ACTIONS(1778),
+    [anon_sym_PERCENT] = ACTIONS(1778),
+    [anon_sym_PIPE_PIPE] = ACTIONS(1772),
+    [anon_sym_AMP_AMP] = ACTIONS(1772),
+    [anon_sym_PIPE] = ACTIONS(1778),
+    [anon_sym_CARET] = ACTIONS(1778),
+    [anon_sym_AMP] = ACTIONS(1778),
+    [anon_sym_EQ_EQ] = ACTIONS(1772),
+    [anon_sym_BANG_EQ] = ACTIONS(1772),
+    [anon_sym_GT] = ACTIONS(1778),
+    [anon_sym_GT_EQ] = ACTIONS(1772),
+    [anon_sym_LT_EQ] = ACTIONS(1772),
+    [anon_sym_LT] = ACTIONS(1778),
+    [anon_sym_LT_LT] = ACTIONS(1778),
+    [anon_sym_GT_GT] = ACTIONS(1778),
+    [anon_sym_SEMI] = ACTIONS(1772),
+    [anon_sym___extension__] = ACTIONS(1770),
+    [anon_sym_extern] = ACTIONS(1770),
+    [anon_sym___attribute__] = ACTIONS(1770),
+    [anon_sym___attribute] = ACTIONS(1770),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1786),
+    [anon_sym___declspec] = ACTIONS(1770),
+    [anon_sym___based] = ACTIONS(1770),
+    [anon_sym___cdecl] = ACTIONS(1770),
+    [anon_sym___clrcall] = ACTIONS(1770),
+    [anon_sym___stdcall] = ACTIONS(1770),
+    [anon_sym___fastcall] = ACTIONS(1770),
+    [anon_sym___thiscall] = ACTIONS(1770),
+    [anon_sym___vectorcall] = ACTIONS(1770),
+    [anon_sym_signed] = ACTIONS(1788),
+    [anon_sym_unsigned] = ACTIONS(1788),
+    [anon_sym_long] = ACTIONS(1788),
+    [anon_sym_short] = ACTIONS(1788),
+    [anon_sym_LBRACK] = ACTIONS(1778),
+    [anon_sym_static] = ACTIONS(1770),
+    [anon_sym_EQ] = ACTIONS(1790),
+    [anon_sym_auto] = ACTIONS(1770),
+    [anon_sym_register] = ACTIONS(1770),
+    [anon_sym_inline] = ACTIONS(1770),
+    [anon_sym___inline] = ACTIONS(1770),
+    [anon_sym___inline__] = ACTIONS(1770),
+    [anon_sym___forceinline] = ACTIONS(1770),
+    [anon_sym_thread_local] = ACTIONS(1770),
+    [anon_sym___thread] = ACTIONS(1770),
+    [anon_sym_const] = ACTIONS(1770),
+    [anon_sym_constexpr] = ACTIONS(1770),
+    [anon_sym_volatile] = ACTIONS(1770),
+    [anon_sym_restrict] = ACTIONS(1770),
+    [anon_sym___restrict__] = ACTIONS(1770),
+    [anon_sym__Atomic] = ACTIONS(1770),
+    [anon_sym__Noreturn] = ACTIONS(1770),
+    [anon_sym_noreturn] = ACTIONS(1770),
+    [anon_sym__Nonnull] = ACTIONS(1770),
+    [anon_sym_alignas] = ACTIONS(1770),
+    [anon_sym__Alignas] = ACTIONS(1770),
+    [anon_sym_COLON] = ACTIONS(1796),
+    [anon_sym_QMARK] = ACTIONS(1772),
+    [anon_sym_STAR_EQ] = ACTIONS(1794),
+    [anon_sym_SLASH_EQ] = ACTIONS(1794),
+    [anon_sym_PERCENT_EQ] = ACTIONS(1794),
+    [anon_sym_PLUS_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_EQ] = ACTIONS(1794),
+    [anon_sym_LT_LT_EQ] = ACTIONS(1794),
+    [anon_sym_GT_GT_EQ] = ACTIONS(1794),
+    [anon_sym_AMP_EQ] = ACTIONS(1794),
+    [anon_sym_CARET_EQ] = ACTIONS(1794),
+    [anon_sym_PIPE_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_DASH] = ACTIONS(1772),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1772),
+    [anon_sym_DOT] = ACTIONS(1772),
+    [anon_sym_DASH_GT] = ACTIONS(1772),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
     [sym_comment] = ACTIONS(3),
   },
   [410] = {
-    [sym_string_literal] = STATE(625),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(752),
-    [sym_identifier] = ACTIONS(1771),
-    [anon_sym_COMMA] = ACTIONS(1773),
-    [anon_sym_LPAREN2] = ACTIONS(1775),
-    [anon_sym_DASH] = ACTIONS(1779),
-    [anon_sym_PLUS] = ACTIONS(1779),
-    [anon_sym_STAR] = ACTIONS(1781),
-    [anon_sym_SLASH] = ACTIONS(1779),
-    [anon_sym_PERCENT] = ACTIONS(1779),
-    [anon_sym_PIPE_PIPE] = ACTIONS(1773),
-    [anon_sym_AMP_AMP] = ACTIONS(1773),
-    [anon_sym_PIPE] = ACTIONS(1779),
-    [anon_sym_CARET] = ACTIONS(1779),
-    [anon_sym_AMP] = ACTIONS(1779),
-    [anon_sym_EQ_EQ] = ACTIONS(1773),
-    [anon_sym_BANG_EQ] = ACTIONS(1773),
-    [anon_sym_GT] = ACTIONS(1779),
-    [anon_sym_GT_EQ] = ACTIONS(1773),
-    [anon_sym_LT_EQ] = ACTIONS(1773),
-    [anon_sym_LT] = ACTIONS(1779),
-    [anon_sym_LT_LT] = ACTIONS(1779),
-    [anon_sym_GT_GT] = ACTIONS(1779),
-    [anon_sym_SEMI] = ACTIONS(1773),
-    [anon_sym___extension__] = ACTIONS(1771),
-    [anon_sym_extern] = ACTIONS(1771),
-    [anon_sym___attribute__] = ACTIONS(1771),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1784),
-    [anon_sym___declspec] = ACTIONS(1771),
-    [anon_sym___based] = ACTIONS(1771),
-    [anon_sym___cdecl] = ACTIONS(1771),
-    [anon_sym___clrcall] = ACTIONS(1771),
-    [anon_sym___stdcall] = ACTIONS(1771),
-    [anon_sym___fastcall] = ACTIONS(1771),
-    [anon_sym___thiscall] = ACTIONS(1771),
-    [anon_sym___vectorcall] = ACTIONS(1771),
-    [anon_sym_signed] = ACTIONS(1786),
-    [anon_sym_unsigned] = ACTIONS(1786),
-    [anon_sym_long] = ACTIONS(1786),
-    [anon_sym_short] = ACTIONS(1786),
-    [anon_sym_LBRACK] = ACTIONS(1779),
-    [anon_sym_static] = ACTIONS(1771),
-    [anon_sym_EQ] = ACTIONS(1788),
-    [anon_sym_auto] = ACTIONS(1771),
-    [anon_sym_register] = ACTIONS(1771),
-    [anon_sym_inline] = ACTIONS(1771),
-    [anon_sym___inline] = ACTIONS(1771),
-    [anon_sym___inline__] = ACTIONS(1771),
-    [anon_sym___forceinline] = ACTIONS(1771),
-    [anon_sym_thread_local] = ACTIONS(1771),
-    [anon_sym___thread] = ACTIONS(1771),
-    [anon_sym_const] = ACTIONS(1771),
-    [anon_sym_constexpr] = ACTIONS(1771),
-    [anon_sym_volatile] = ACTIONS(1771),
-    [anon_sym_restrict] = ACTIONS(1771),
-    [anon_sym___restrict__] = ACTIONS(1771),
-    [anon_sym__Atomic] = ACTIONS(1771),
-    [anon_sym__Noreturn] = ACTIONS(1771),
-    [anon_sym_noreturn] = ACTIONS(1771),
-    [anon_sym__Nonnull] = ACTIONS(1771),
-    [anon_sym_alignas] = ACTIONS(1771),
-    [anon_sym__Alignas] = ACTIONS(1771),
-    [anon_sym_COLON] = ACTIONS(1797),
-    [anon_sym_QMARK] = ACTIONS(1773),
-    [anon_sym_STAR_EQ] = ACTIONS(1792),
-    [anon_sym_SLASH_EQ] = ACTIONS(1792),
-    [anon_sym_PERCENT_EQ] = ACTIONS(1792),
-    [anon_sym_PLUS_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_EQ] = ACTIONS(1792),
-    [anon_sym_LT_LT_EQ] = ACTIONS(1792),
-    [anon_sym_GT_GT_EQ] = ACTIONS(1792),
-    [anon_sym_AMP_EQ] = ACTIONS(1792),
-    [anon_sym_CARET_EQ] = ACTIONS(1792),
-    [anon_sym_PIPE_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_DASH] = ACTIONS(1773),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1773),
-    [anon_sym_DOT] = ACTIONS(1773),
-    [anon_sym_DASH_GT] = ACTIONS(1773),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
+    [sym_string_literal] = STATE(630),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(768),
+    [sym_identifier] = ACTIONS(1770),
+    [anon_sym_COMMA] = ACTIONS(1772),
+    [anon_sym_LPAREN2] = ACTIONS(1774),
+    [anon_sym_DASH] = ACTIONS(1778),
+    [anon_sym_PLUS] = ACTIONS(1778),
+    [anon_sym_STAR] = ACTIONS(1780),
+    [anon_sym_SLASH] = ACTIONS(1778),
+    [anon_sym_PERCENT] = ACTIONS(1778),
+    [anon_sym_PIPE_PIPE] = ACTIONS(1772),
+    [anon_sym_AMP_AMP] = ACTIONS(1772),
+    [anon_sym_PIPE] = ACTIONS(1778),
+    [anon_sym_CARET] = ACTIONS(1778),
+    [anon_sym_AMP] = ACTIONS(1778),
+    [anon_sym_EQ_EQ] = ACTIONS(1772),
+    [anon_sym_BANG_EQ] = ACTIONS(1772),
+    [anon_sym_GT] = ACTIONS(1778),
+    [anon_sym_GT_EQ] = ACTIONS(1772),
+    [anon_sym_LT_EQ] = ACTIONS(1772),
+    [anon_sym_LT] = ACTIONS(1778),
+    [anon_sym_LT_LT] = ACTIONS(1778),
+    [anon_sym_GT_GT] = ACTIONS(1778),
+    [anon_sym_SEMI] = ACTIONS(1772),
+    [anon_sym___extension__] = ACTIONS(1770),
+    [anon_sym_extern] = ACTIONS(1770),
+    [anon_sym___attribute__] = ACTIONS(1770),
+    [anon_sym___attribute] = ACTIONS(1770),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1786),
+    [anon_sym___declspec] = ACTIONS(1770),
+    [anon_sym___based] = ACTIONS(1770),
+    [anon_sym___cdecl] = ACTIONS(1770),
+    [anon_sym___clrcall] = ACTIONS(1770),
+    [anon_sym___stdcall] = ACTIONS(1770),
+    [anon_sym___fastcall] = ACTIONS(1770),
+    [anon_sym___thiscall] = ACTIONS(1770),
+    [anon_sym___vectorcall] = ACTIONS(1770),
+    [anon_sym_signed] = ACTIONS(1788),
+    [anon_sym_unsigned] = ACTIONS(1788),
+    [anon_sym_long] = ACTIONS(1788),
+    [anon_sym_short] = ACTIONS(1788),
+    [anon_sym_LBRACK] = ACTIONS(1778),
+    [anon_sym_static] = ACTIONS(1770),
+    [anon_sym_EQ] = ACTIONS(1790),
+    [anon_sym_auto] = ACTIONS(1770),
+    [anon_sym_register] = ACTIONS(1770),
+    [anon_sym_inline] = ACTIONS(1770),
+    [anon_sym___inline] = ACTIONS(1770),
+    [anon_sym___inline__] = ACTIONS(1770),
+    [anon_sym___forceinline] = ACTIONS(1770),
+    [anon_sym_thread_local] = ACTIONS(1770),
+    [anon_sym___thread] = ACTIONS(1770),
+    [anon_sym_const] = ACTIONS(1770),
+    [anon_sym_constexpr] = ACTIONS(1770),
+    [anon_sym_volatile] = ACTIONS(1770),
+    [anon_sym_restrict] = ACTIONS(1770),
+    [anon_sym___restrict__] = ACTIONS(1770),
+    [anon_sym__Atomic] = ACTIONS(1770),
+    [anon_sym__Noreturn] = ACTIONS(1770),
+    [anon_sym_noreturn] = ACTIONS(1770),
+    [anon_sym__Nonnull] = ACTIONS(1770),
+    [anon_sym_alignas] = ACTIONS(1770),
+    [anon_sym__Alignas] = ACTIONS(1770),
+    [anon_sym_COLON] = ACTIONS(1792),
+    [anon_sym_QMARK] = ACTIONS(1772),
+    [anon_sym_STAR_EQ] = ACTIONS(1794),
+    [anon_sym_SLASH_EQ] = ACTIONS(1794),
+    [anon_sym_PERCENT_EQ] = ACTIONS(1794),
+    [anon_sym_PLUS_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_EQ] = ACTIONS(1794),
+    [anon_sym_LT_LT_EQ] = ACTIONS(1794),
+    [anon_sym_GT_GT_EQ] = ACTIONS(1794),
+    [anon_sym_AMP_EQ] = ACTIONS(1794),
+    [anon_sym_CARET_EQ] = ACTIONS(1794),
+    [anon_sym_PIPE_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_DASH] = ACTIONS(1772),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1772),
+    [anon_sym_DOT] = ACTIONS(1772),
+    [anon_sym_DASH_GT] = ACTIONS(1772),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
     [sym_comment] = ACTIONS(3),
   },
   [411] = {
-    [sym_string_literal] = STATE(625),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(752),
-    [sym_identifier] = ACTIONS(1771),
-    [anon_sym_COMMA] = ACTIONS(1773),
-    [anon_sym_LPAREN2] = ACTIONS(1775),
-    [anon_sym_DASH] = ACTIONS(1779),
-    [anon_sym_PLUS] = ACTIONS(1779),
-    [anon_sym_STAR] = ACTIONS(1781),
-    [anon_sym_SLASH] = ACTIONS(1779),
-    [anon_sym_PERCENT] = ACTIONS(1779),
-    [anon_sym_PIPE_PIPE] = ACTIONS(1773),
-    [anon_sym_AMP_AMP] = ACTIONS(1773),
-    [anon_sym_PIPE] = ACTIONS(1779),
-    [anon_sym_CARET] = ACTIONS(1779),
-    [anon_sym_AMP] = ACTIONS(1779),
-    [anon_sym_EQ_EQ] = ACTIONS(1773),
-    [anon_sym_BANG_EQ] = ACTIONS(1773),
-    [anon_sym_GT] = ACTIONS(1779),
-    [anon_sym_GT_EQ] = ACTIONS(1773),
-    [anon_sym_LT_EQ] = ACTIONS(1773),
-    [anon_sym_LT] = ACTIONS(1779),
-    [anon_sym_LT_LT] = ACTIONS(1779),
-    [anon_sym_GT_GT] = ACTIONS(1779),
-    [anon_sym_SEMI] = ACTIONS(1773),
-    [anon_sym___extension__] = ACTIONS(1771),
-    [anon_sym_extern] = ACTIONS(1771),
-    [anon_sym___attribute__] = ACTIONS(1771),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1784),
-    [anon_sym___declspec] = ACTIONS(1771),
-    [anon_sym___based] = ACTIONS(1771),
-    [anon_sym___cdecl] = ACTIONS(1771),
-    [anon_sym___clrcall] = ACTIONS(1771),
-    [anon_sym___stdcall] = ACTIONS(1771),
-    [anon_sym___fastcall] = ACTIONS(1771),
-    [anon_sym___thiscall] = ACTIONS(1771),
-    [anon_sym___vectorcall] = ACTIONS(1771),
-    [anon_sym_signed] = ACTIONS(1786),
-    [anon_sym_unsigned] = ACTIONS(1786),
-    [anon_sym_long] = ACTIONS(1786),
-    [anon_sym_short] = ACTIONS(1786),
-    [anon_sym_LBRACK] = ACTIONS(1779),
-    [anon_sym_static] = ACTIONS(1771),
-    [anon_sym_EQ] = ACTIONS(1788),
-    [anon_sym_auto] = ACTIONS(1771),
-    [anon_sym_register] = ACTIONS(1771),
-    [anon_sym_inline] = ACTIONS(1771),
-    [anon_sym___inline] = ACTIONS(1771),
-    [anon_sym___inline__] = ACTIONS(1771),
-    [anon_sym___forceinline] = ACTIONS(1771),
-    [anon_sym_thread_local] = ACTIONS(1771),
-    [anon_sym___thread] = ACTIONS(1771),
-    [anon_sym_const] = ACTIONS(1771),
-    [anon_sym_constexpr] = ACTIONS(1771),
-    [anon_sym_volatile] = ACTIONS(1771),
-    [anon_sym_restrict] = ACTIONS(1771),
-    [anon_sym___restrict__] = ACTIONS(1771),
-    [anon_sym__Atomic] = ACTIONS(1771),
-    [anon_sym__Noreturn] = ACTIONS(1771),
-    [anon_sym_noreturn] = ACTIONS(1771),
-    [anon_sym__Nonnull] = ACTIONS(1771),
-    [anon_sym_alignas] = ACTIONS(1771),
-    [anon_sym__Alignas] = ACTIONS(1771),
-    [anon_sym_COLON] = ACTIONS(1799),
-    [anon_sym_QMARK] = ACTIONS(1773),
-    [anon_sym_STAR_EQ] = ACTIONS(1792),
-    [anon_sym_SLASH_EQ] = ACTIONS(1792),
-    [anon_sym_PERCENT_EQ] = ACTIONS(1792),
-    [anon_sym_PLUS_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_EQ] = ACTIONS(1792),
-    [anon_sym_LT_LT_EQ] = ACTIONS(1792),
-    [anon_sym_GT_GT_EQ] = ACTIONS(1792),
-    [anon_sym_AMP_EQ] = ACTIONS(1792),
-    [anon_sym_CARET_EQ] = ACTIONS(1792),
-    [anon_sym_PIPE_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_DASH] = ACTIONS(1773),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1773),
-    [anon_sym_DOT] = ACTIONS(1773),
-    [anon_sym_DASH_GT] = ACTIONS(1773),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
+    [sym_string_literal] = STATE(630),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(768),
+    [sym_identifier] = ACTIONS(1770),
+    [anon_sym_COMMA] = ACTIONS(1772),
+    [anon_sym_LPAREN2] = ACTIONS(1774),
+    [anon_sym_DASH] = ACTIONS(1778),
+    [anon_sym_PLUS] = ACTIONS(1778),
+    [anon_sym_STAR] = ACTIONS(1780),
+    [anon_sym_SLASH] = ACTIONS(1778),
+    [anon_sym_PERCENT] = ACTIONS(1778),
+    [anon_sym_PIPE_PIPE] = ACTIONS(1772),
+    [anon_sym_AMP_AMP] = ACTIONS(1772),
+    [anon_sym_PIPE] = ACTIONS(1778),
+    [anon_sym_CARET] = ACTIONS(1778),
+    [anon_sym_AMP] = ACTIONS(1778),
+    [anon_sym_EQ_EQ] = ACTIONS(1772),
+    [anon_sym_BANG_EQ] = ACTIONS(1772),
+    [anon_sym_GT] = ACTIONS(1778),
+    [anon_sym_GT_EQ] = ACTIONS(1772),
+    [anon_sym_LT_EQ] = ACTIONS(1772),
+    [anon_sym_LT] = ACTIONS(1778),
+    [anon_sym_LT_LT] = ACTIONS(1778),
+    [anon_sym_GT_GT] = ACTIONS(1778),
+    [anon_sym_SEMI] = ACTIONS(1772),
+    [anon_sym___extension__] = ACTIONS(1770),
+    [anon_sym_extern] = ACTIONS(1770),
+    [anon_sym___attribute__] = ACTIONS(1770),
+    [anon_sym___attribute] = ACTIONS(1770),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1786),
+    [anon_sym___declspec] = ACTIONS(1770),
+    [anon_sym___based] = ACTIONS(1770),
+    [anon_sym___cdecl] = ACTIONS(1770),
+    [anon_sym___clrcall] = ACTIONS(1770),
+    [anon_sym___stdcall] = ACTIONS(1770),
+    [anon_sym___fastcall] = ACTIONS(1770),
+    [anon_sym___thiscall] = ACTIONS(1770),
+    [anon_sym___vectorcall] = ACTIONS(1770),
+    [anon_sym_signed] = ACTIONS(1788),
+    [anon_sym_unsigned] = ACTIONS(1788),
+    [anon_sym_long] = ACTIONS(1788),
+    [anon_sym_short] = ACTIONS(1788),
+    [anon_sym_LBRACK] = ACTIONS(1778),
+    [anon_sym_static] = ACTIONS(1770),
+    [anon_sym_EQ] = ACTIONS(1790),
+    [anon_sym_auto] = ACTIONS(1770),
+    [anon_sym_register] = ACTIONS(1770),
+    [anon_sym_inline] = ACTIONS(1770),
+    [anon_sym___inline] = ACTIONS(1770),
+    [anon_sym___inline__] = ACTIONS(1770),
+    [anon_sym___forceinline] = ACTIONS(1770),
+    [anon_sym_thread_local] = ACTIONS(1770),
+    [anon_sym___thread] = ACTIONS(1770),
+    [anon_sym_const] = ACTIONS(1770),
+    [anon_sym_constexpr] = ACTIONS(1770),
+    [anon_sym_volatile] = ACTIONS(1770),
+    [anon_sym_restrict] = ACTIONS(1770),
+    [anon_sym___restrict__] = ACTIONS(1770),
+    [anon_sym__Atomic] = ACTIONS(1770),
+    [anon_sym__Noreturn] = ACTIONS(1770),
+    [anon_sym_noreturn] = ACTIONS(1770),
+    [anon_sym__Nonnull] = ACTIONS(1770),
+    [anon_sym_alignas] = ACTIONS(1770),
+    [anon_sym__Alignas] = ACTIONS(1770),
+    [anon_sym_COLON] = ACTIONS(1798),
+    [anon_sym_QMARK] = ACTIONS(1772),
+    [anon_sym_STAR_EQ] = ACTIONS(1794),
+    [anon_sym_SLASH_EQ] = ACTIONS(1794),
+    [anon_sym_PERCENT_EQ] = ACTIONS(1794),
+    [anon_sym_PLUS_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_EQ] = ACTIONS(1794),
+    [anon_sym_LT_LT_EQ] = ACTIONS(1794),
+    [anon_sym_GT_GT_EQ] = ACTIONS(1794),
+    [anon_sym_AMP_EQ] = ACTIONS(1794),
+    [anon_sym_CARET_EQ] = ACTIONS(1794),
+    [anon_sym_PIPE_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_DASH] = ACTIONS(1772),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1772),
+    [anon_sym_DOT] = ACTIONS(1772),
+    [anon_sym_DASH_GT] = ACTIONS(1772),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
     [sym_comment] = ACTIONS(3),
   },
   [412] = {
-    [sym_string_literal] = STATE(625),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(752),
-    [sym_identifier] = ACTIONS(1771),
-    [anon_sym_COMMA] = ACTIONS(1773),
-    [anon_sym_LPAREN2] = ACTIONS(1775),
-    [anon_sym_DASH] = ACTIONS(1779),
-    [anon_sym_PLUS] = ACTIONS(1779),
-    [anon_sym_STAR] = ACTIONS(1781),
-    [anon_sym_SLASH] = ACTIONS(1779),
-    [anon_sym_PERCENT] = ACTIONS(1779),
-    [anon_sym_PIPE_PIPE] = ACTIONS(1773),
-    [anon_sym_AMP_AMP] = ACTIONS(1773),
-    [anon_sym_PIPE] = ACTIONS(1779),
-    [anon_sym_CARET] = ACTIONS(1779),
-    [anon_sym_AMP] = ACTIONS(1779),
-    [anon_sym_EQ_EQ] = ACTIONS(1773),
-    [anon_sym_BANG_EQ] = ACTIONS(1773),
-    [anon_sym_GT] = ACTIONS(1779),
-    [anon_sym_GT_EQ] = ACTIONS(1773),
-    [anon_sym_LT_EQ] = ACTIONS(1773),
-    [anon_sym_LT] = ACTIONS(1779),
-    [anon_sym_LT_LT] = ACTIONS(1779),
-    [anon_sym_GT_GT] = ACTIONS(1779),
-    [anon_sym_SEMI] = ACTIONS(1773),
-    [anon_sym___extension__] = ACTIONS(1771),
-    [anon_sym_extern] = ACTIONS(1771),
-    [anon_sym___attribute__] = ACTIONS(1771),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1784),
-    [anon_sym___declspec] = ACTIONS(1771),
-    [anon_sym___based] = ACTIONS(1771),
-    [anon_sym___cdecl] = ACTIONS(1771),
-    [anon_sym___clrcall] = ACTIONS(1771),
-    [anon_sym___stdcall] = ACTIONS(1771),
-    [anon_sym___fastcall] = ACTIONS(1771),
-    [anon_sym___thiscall] = ACTIONS(1771),
-    [anon_sym___vectorcall] = ACTIONS(1771),
-    [anon_sym_signed] = ACTIONS(1786),
-    [anon_sym_unsigned] = ACTIONS(1786),
-    [anon_sym_long] = ACTIONS(1786),
-    [anon_sym_short] = ACTIONS(1786),
-    [anon_sym_LBRACK] = ACTIONS(1779),
-    [anon_sym_static] = ACTIONS(1771),
-    [anon_sym_EQ] = ACTIONS(1788),
-    [anon_sym_auto] = ACTIONS(1771),
-    [anon_sym_register] = ACTIONS(1771),
-    [anon_sym_inline] = ACTIONS(1771),
-    [anon_sym___inline] = ACTIONS(1771),
-    [anon_sym___inline__] = ACTIONS(1771),
-    [anon_sym___forceinline] = ACTIONS(1771),
-    [anon_sym_thread_local] = ACTIONS(1771),
-    [anon_sym___thread] = ACTIONS(1771),
-    [anon_sym_const] = ACTIONS(1771),
-    [anon_sym_constexpr] = ACTIONS(1771),
-    [anon_sym_volatile] = ACTIONS(1771),
-    [anon_sym_restrict] = ACTIONS(1771),
-    [anon_sym___restrict__] = ACTIONS(1771),
-    [anon_sym__Atomic] = ACTIONS(1771),
-    [anon_sym__Noreturn] = ACTIONS(1771),
-    [anon_sym_noreturn] = ACTIONS(1771),
-    [anon_sym__Nonnull] = ACTIONS(1771),
-    [anon_sym_alignas] = ACTIONS(1771),
-    [anon_sym__Alignas] = ACTIONS(1771),
-    [anon_sym_COLON] = ACTIONS(1801),
-    [anon_sym_QMARK] = ACTIONS(1773),
-    [anon_sym_STAR_EQ] = ACTIONS(1792),
-    [anon_sym_SLASH_EQ] = ACTIONS(1792),
-    [anon_sym_PERCENT_EQ] = ACTIONS(1792),
-    [anon_sym_PLUS_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_EQ] = ACTIONS(1792),
-    [anon_sym_LT_LT_EQ] = ACTIONS(1792),
-    [anon_sym_GT_GT_EQ] = ACTIONS(1792),
-    [anon_sym_AMP_EQ] = ACTIONS(1792),
-    [anon_sym_CARET_EQ] = ACTIONS(1792),
-    [anon_sym_PIPE_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_DASH] = ACTIONS(1773),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1773),
-    [anon_sym_DOT] = ACTIONS(1773),
-    [anon_sym_DASH_GT] = ACTIONS(1773),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
+    [sym_string_literal] = STATE(630),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(768),
+    [sym_identifier] = ACTIONS(1770),
+    [anon_sym_COMMA] = ACTIONS(1772),
+    [anon_sym_LPAREN2] = ACTIONS(1774),
+    [anon_sym_DASH] = ACTIONS(1778),
+    [anon_sym_PLUS] = ACTIONS(1778),
+    [anon_sym_STAR] = ACTIONS(1780),
+    [anon_sym_SLASH] = ACTIONS(1778),
+    [anon_sym_PERCENT] = ACTIONS(1778),
+    [anon_sym_PIPE_PIPE] = ACTIONS(1772),
+    [anon_sym_AMP_AMP] = ACTIONS(1772),
+    [anon_sym_PIPE] = ACTIONS(1778),
+    [anon_sym_CARET] = ACTIONS(1778),
+    [anon_sym_AMP] = ACTIONS(1778),
+    [anon_sym_EQ_EQ] = ACTIONS(1772),
+    [anon_sym_BANG_EQ] = ACTIONS(1772),
+    [anon_sym_GT] = ACTIONS(1778),
+    [anon_sym_GT_EQ] = ACTIONS(1772),
+    [anon_sym_LT_EQ] = ACTIONS(1772),
+    [anon_sym_LT] = ACTIONS(1778),
+    [anon_sym_LT_LT] = ACTIONS(1778),
+    [anon_sym_GT_GT] = ACTIONS(1778),
+    [anon_sym_SEMI] = ACTIONS(1772),
+    [anon_sym___extension__] = ACTIONS(1770),
+    [anon_sym_extern] = ACTIONS(1770),
+    [anon_sym___attribute__] = ACTIONS(1770),
+    [anon_sym___attribute] = ACTIONS(1770),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1786),
+    [anon_sym___declspec] = ACTIONS(1770),
+    [anon_sym___based] = ACTIONS(1770),
+    [anon_sym___cdecl] = ACTIONS(1770),
+    [anon_sym___clrcall] = ACTIONS(1770),
+    [anon_sym___stdcall] = ACTIONS(1770),
+    [anon_sym___fastcall] = ACTIONS(1770),
+    [anon_sym___thiscall] = ACTIONS(1770),
+    [anon_sym___vectorcall] = ACTIONS(1770),
+    [anon_sym_signed] = ACTIONS(1788),
+    [anon_sym_unsigned] = ACTIONS(1788),
+    [anon_sym_long] = ACTIONS(1788),
+    [anon_sym_short] = ACTIONS(1788),
+    [anon_sym_LBRACK] = ACTIONS(1778),
+    [anon_sym_static] = ACTIONS(1770),
+    [anon_sym_EQ] = ACTIONS(1790),
+    [anon_sym_auto] = ACTIONS(1770),
+    [anon_sym_register] = ACTIONS(1770),
+    [anon_sym_inline] = ACTIONS(1770),
+    [anon_sym___inline] = ACTIONS(1770),
+    [anon_sym___inline__] = ACTIONS(1770),
+    [anon_sym___forceinline] = ACTIONS(1770),
+    [anon_sym_thread_local] = ACTIONS(1770),
+    [anon_sym___thread] = ACTIONS(1770),
+    [anon_sym_const] = ACTIONS(1770),
+    [anon_sym_constexpr] = ACTIONS(1770),
+    [anon_sym_volatile] = ACTIONS(1770),
+    [anon_sym_restrict] = ACTIONS(1770),
+    [anon_sym___restrict__] = ACTIONS(1770),
+    [anon_sym__Atomic] = ACTIONS(1770),
+    [anon_sym__Noreturn] = ACTIONS(1770),
+    [anon_sym_noreturn] = ACTIONS(1770),
+    [anon_sym__Nonnull] = ACTIONS(1770),
+    [anon_sym_alignas] = ACTIONS(1770),
+    [anon_sym__Alignas] = ACTIONS(1770),
+    [anon_sym_COLON] = ACTIONS(1800),
+    [anon_sym_QMARK] = ACTIONS(1772),
+    [anon_sym_STAR_EQ] = ACTIONS(1794),
+    [anon_sym_SLASH_EQ] = ACTIONS(1794),
+    [anon_sym_PERCENT_EQ] = ACTIONS(1794),
+    [anon_sym_PLUS_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_EQ] = ACTIONS(1794),
+    [anon_sym_LT_LT_EQ] = ACTIONS(1794),
+    [anon_sym_GT_GT_EQ] = ACTIONS(1794),
+    [anon_sym_AMP_EQ] = ACTIONS(1794),
+    [anon_sym_CARET_EQ] = ACTIONS(1794),
+    [anon_sym_PIPE_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_DASH] = ACTIONS(1772),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1772),
+    [anon_sym_DOT] = ACTIONS(1772),
+    [anon_sym_DASH_GT] = ACTIONS(1772),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
     [sym_comment] = ACTIONS(3),
   },
   [413] = {
-    [sym_string_literal] = STATE(625),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(752),
-    [sym_identifier] = ACTIONS(1771),
-    [anon_sym_COMMA] = ACTIONS(1773),
-    [anon_sym_LPAREN2] = ACTIONS(1775),
-    [anon_sym_DASH] = ACTIONS(1779),
-    [anon_sym_PLUS] = ACTIONS(1779),
-    [anon_sym_STAR] = ACTIONS(1781),
-    [anon_sym_SLASH] = ACTIONS(1779),
-    [anon_sym_PERCENT] = ACTIONS(1779),
-    [anon_sym_PIPE_PIPE] = ACTIONS(1773),
-    [anon_sym_AMP_AMP] = ACTIONS(1773),
-    [anon_sym_PIPE] = ACTIONS(1779),
-    [anon_sym_CARET] = ACTIONS(1779),
-    [anon_sym_AMP] = ACTIONS(1779),
-    [anon_sym_EQ_EQ] = ACTIONS(1773),
-    [anon_sym_BANG_EQ] = ACTIONS(1773),
-    [anon_sym_GT] = ACTIONS(1779),
-    [anon_sym_GT_EQ] = ACTIONS(1773),
-    [anon_sym_LT_EQ] = ACTIONS(1773),
-    [anon_sym_LT] = ACTIONS(1779),
-    [anon_sym_LT_LT] = ACTIONS(1779),
-    [anon_sym_GT_GT] = ACTIONS(1779),
-    [anon_sym_SEMI] = ACTIONS(1794),
-    [anon_sym___extension__] = ACTIONS(1771),
-    [anon_sym_extern] = ACTIONS(1771),
-    [anon_sym___attribute__] = ACTIONS(1771),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1784),
-    [anon_sym___declspec] = ACTIONS(1771),
-    [anon_sym___based] = ACTIONS(1771),
-    [anon_sym___cdecl] = ACTIONS(1771),
-    [anon_sym___clrcall] = ACTIONS(1771),
-    [anon_sym___stdcall] = ACTIONS(1771),
-    [anon_sym___fastcall] = ACTIONS(1771),
-    [anon_sym___thiscall] = ACTIONS(1771),
-    [anon_sym___vectorcall] = ACTIONS(1771),
-    [anon_sym_signed] = ACTIONS(1786),
-    [anon_sym_unsigned] = ACTIONS(1786),
-    [anon_sym_long] = ACTIONS(1786),
-    [anon_sym_short] = ACTIONS(1786),
-    [anon_sym_LBRACK] = ACTIONS(1779),
-    [anon_sym_static] = ACTIONS(1771),
-    [anon_sym_EQ] = ACTIONS(1788),
-    [anon_sym_auto] = ACTIONS(1771),
-    [anon_sym_register] = ACTIONS(1771),
-    [anon_sym_inline] = ACTIONS(1771),
-    [anon_sym___inline] = ACTIONS(1771),
-    [anon_sym___inline__] = ACTIONS(1771),
-    [anon_sym___forceinline] = ACTIONS(1771),
-    [anon_sym_thread_local] = ACTIONS(1771),
-    [anon_sym___thread] = ACTIONS(1771),
-    [anon_sym_const] = ACTIONS(1771),
-    [anon_sym_constexpr] = ACTIONS(1771),
-    [anon_sym_volatile] = ACTIONS(1771),
-    [anon_sym_restrict] = ACTIONS(1771),
-    [anon_sym___restrict__] = ACTIONS(1771),
-    [anon_sym__Atomic] = ACTIONS(1771),
-    [anon_sym__Noreturn] = ACTIONS(1771),
-    [anon_sym_noreturn] = ACTIONS(1771),
-    [anon_sym__Nonnull] = ACTIONS(1771),
-    [anon_sym_alignas] = ACTIONS(1771),
-    [anon_sym__Alignas] = ACTIONS(1771),
-    [anon_sym_COLON] = ACTIONS(1801),
-    [anon_sym_QMARK] = ACTIONS(1773),
-    [anon_sym_STAR_EQ] = ACTIONS(1792),
-    [anon_sym_SLASH_EQ] = ACTIONS(1792),
-    [anon_sym_PERCENT_EQ] = ACTIONS(1792),
-    [anon_sym_PLUS_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_EQ] = ACTIONS(1792),
-    [anon_sym_LT_LT_EQ] = ACTIONS(1792),
-    [anon_sym_GT_GT_EQ] = ACTIONS(1792),
-    [anon_sym_AMP_EQ] = ACTIONS(1792),
-    [anon_sym_CARET_EQ] = ACTIONS(1792),
-    [anon_sym_PIPE_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_DASH] = ACTIONS(1773),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1773),
-    [anon_sym_DOT] = ACTIONS(1773),
-    [anon_sym_DASH_GT] = ACTIONS(1773),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
+    [sym_string_literal] = STATE(630),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(768),
+    [sym_identifier] = ACTIONS(1770),
+    [anon_sym_COMMA] = ACTIONS(1772),
+    [anon_sym_LPAREN2] = ACTIONS(1774),
+    [anon_sym_DASH] = ACTIONS(1778),
+    [anon_sym_PLUS] = ACTIONS(1778),
+    [anon_sym_STAR] = ACTIONS(1780),
+    [anon_sym_SLASH] = ACTIONS(1778),
+    [anon_sym_PERCENT] = ACTIONS(1778),
+    [anon_sym_PIPE_PIPE] = ACTIONS(1772),
+    [anon_sym_AMP_AMP] = ACTIONS(1772),
+    [anon_sym_PIPE] = ACTIONS(1778),
+    [anon_sym_CARET] = ACTIONS(1778),
+    [anon_sym_AMP] = ACTIONS(1778),
+    [anon_sym_EQ_EQ] = ACTIONS(1772),
+    [anon_sym_BANG_EQ] = ACTIONS(1772),
+    [anon_sym_GT] = ACTIONS(1778),
+    [anon_sym_GT_EQ] = ACTIONS(1772),
+    [anon_sym_LT_EQ] = ACTIONS(1772),
+    [anon_sym_LT] = ACTIONS(1778),
+    [anon_sym_LT_LT] = ACTIONS(1778),
+    [anon_sym_GT_GT] = ACTIONS(1778),
+    [anon_sym_SEMI] = ACTIONS(1783),
+    [anon_sym___extension__] = ACTIONS(1770),
+    [anon_sym_extern] = ACTIONS(1770),
+    [anon_sym___attribute__] = ACTIONS(1770),
+    [anon_sym___attribute] = ACTIONS(1770),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1786),
+    [anon_sym___declspec] = ACTIONS(1770),
+    [anon_sym___based] = ACTIONS(1770),
+    [anon_sym___cdecl] = ACTIONS(1770),
+    [anon_sym___clrcall] = ACTIONS(1770),
+    [anon_sym___stdcall] = ACTIONS(1770),
+    [anon_sym___fastcall] = ACTIONS(1770),
+    [anon_sym___thiscall] = ACTIONS(1770),
+    [anon_sym___vectorcall] = ACTIONS(1770),
+    [anon_sym_signed] = ACTIONS(1788),
+    [anon_sym_unsigned] = ACTIONS(1788),
+    [anon_sym_long] = ACTIONS(1788),
+    [anon_sym_short] = ACTIONS(1788),
+    [anon_sym_LBRACK] = ACTIONS(1778),
+    [anon_sym_static] = ACTIONS(1770),
+    [anon_sym_EQ] = ACTIONS(1790),
+    [anon_sym_auto] = ACTIONS(1770),
+    [anon_sym_register] = ACTIONS(1770),
+    [anon_sym_inline] = ACTIONS(1770),
+    [anon_sym___inline] = ACTIONS(1770),
+    [anon_sym___inline__] = ACTIONS(1770),
+    [anon_sym___forceinline] = ACTIONS(1770),
+    [anon_sym_thread_local] = ACTIONS(1770),
+    [anon_sym___thread] = ACTIONS(1770),
+    [anon_sym_const] = ACTIONS(1770),
+    [anon_sym_constexpr] = ACTIONS(1770),
+    [anon_sym_volatile] = ACTIONS(1770),
+    [anon_sym_restrict] = ACTIONS(1770),
+    [anon_sym___restrict__] = ACTIONS(1770),
+    [anon_sym__Atomic] = ACTIONS(1770),
+    [anon_sym__Noreturn] = ACTIONS(1770),
+    [anon_sym_noreturn] = ACTIONS(1770),
+    [anon_sym__Nonnull] = ACTIONS(1770),
+    [anon_sym_alignas] = ACTIONS(1770),
+    [anon_sym__Alignas] = ACTIONS(1770),
+    [anon_sym_COLON] = ACTIONS(1800),
+    [anon_sym_QMARK] = ACTIONS(1772),
+    [anon_sym_STAR_EQ] = ACTIONS(1794),
+    [anon_sym_SLASH_EQ] = ACTIONS(1794),
+    [anon_sym_PERCENT_EQ] = ACTIONS(1794),
+    [anon_sym_PLUS_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_EQ] = ACTIONS(1794),
+    [anon_sym_LT_LT_EQ] = ACTIONS(1794),
+    [anon_sym_GT_GT_EQ] = ACTIONS(1794),
+    [anon_sym_AMP_EQ] = ACTIONS(1794),
+    [anon_sym_CARET_EQ] = ACTIONS(1794),
+    [anon_sym_PIPE_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_DASH] = ACTIONS(1772),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1772),
+    [anon_sym_DOT] = ACTIONS(1772),
+    [anon_sym_DASH_GT] = ACTIONS(1772),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
     [sym_comment] = ACTIONS(3),
   },
   [414] = {
-    [sym_string_literal] = STATE(625),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(752),
-    [sym_identifier] = ACTIONS(1771),
-    [anon_sym_COMMA] = ACTIONS(1773),
-    [anon_sym_LPAREN2] = ACTIONS(1775),
-    [anon_sym_DASH] = ACTIONS(1779),
-    [anon_sym_PLUS] = ACTIONS(1779),
-    [anon_sym_STAR] = ACTIONS(1781),
-    [anon_sym_SLASH] = ACTIONS(1779),
-    [anon_sym_PERCENT] = ACTIONS(1779),
-    [anon_sym_PIPE_PIPE] = ACTIONS(1773),
-    [anon_sym_AMP_AMP] = ACTIONS(1773),
-    [anon_sym_PIPE] = ACTIONS(1779),
-    [anon_sym_CARET] = ACTIONS(1779),
-    [anon_sym_AMP] = ACTIONS(1779),
-    [anon_sym_EQ_EQ] = ACTIONS(1773),
-    [anon_sym_BANG_EQ] = ACTIONS(1773),
-    [anon_sym_GT] = ACTIONS(1779),
-    [anon_sym_GT_EQ] = ACTIONS(1773),
-    [anon_sym_LT_EQ] = ACTIONS(1773),
-    [anon_sym_LT] = ACTIONS(1779),
-    [anon_sym_LT_LT] = ACTIONS(1779),
-    [anon_sym_GT_GT] = ACTIONS(1779),
-    [anon_sym_SEMI] = ACTIONS(1773),
-    [anon_sym___extension__] = ACTIONS(1771),
-    [anon_sym_extern] = ACTIONS(1771),
-    [anon_sym___attribute__] = ACTIONS(1771),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1784),
-    [anon_sym___declspec] = ACTIONS(1771),
-    [anon_sym___based] = ACTIONS(1771),
-    [anon_sym___cdecl] = ACTIONS(1771),
-    [anon_sym___clrcall] = ACTIONS(1771),
-    [anon_sym___stdcall] = ACTIONS(1771),
-    [anon_sym___fastcall] = ACTIONS(1771),
-    [anon_sym___thiscall] = ACTIONS(1771),
-    [anon_sym___vectorcall] = ACTIONS(1771),
-    [anon_sym_signed] = ACTIONS(1786),
-    [anon_sym_unsigned] = ACTIONS(1786),
-    [anon_sym_long] = ACTIONS(1786),
-    [anon_sym_short] = ACTIONS(1786),
-    [anon_sym_LBRACK] = ACTIONS(1779),
-    [anon_sym_static] = ACTIONS(1771),
-    [anon_sym_EQ] = ACTIONS(1788),
-    [anon_sym_auto] = ACTIONS(1771),
-    [anon_sym_register] = ACTIONS(1771),
-    [anon_sym_inline] = ACTIONS(1771),
-    [anon_sym___inline] = ACTIONS(1771),
-    [anon_sym___inline__] = ACTIONS(1771),
-    [anon_sym___forceinline] = ACTIONS(1771),
-    [anon_sym_thread_local] = ACTIONS(1771),
-    [anon_sym___thread] = ACTIONS(1771),
-    [anon_sym_const] = ACTIONS(1771),
-    [anon_sym_constexpr] = ACTIONS(1771),
-    [anon_sym_volatile] = ACTIONS(1771),
-    [anon_sym_restrict] = ACTIONS(1771),
-    [anon_sym___restrict__] = ACTIONS(1771),
-    [anon_sym__Atomic] = ACTIONS(1771),
-    [anon_sym__Noreturn] = ACTIONS(1771),
-    [anon_sym_noreturn] = ACTIONS(1771),
-    [anon_sym__Nonnull] = ACTIONS(1771),
-    [anon_sym_alignas] = ACTIONS(1771),
-    [anon_sym__Alignas] = ACTIONS(1771),
-    [anon_sym_COLON] = ACTIONS(1803),
-    [anon_sym_QMARK] = ACTIONS(1773),
-    [anon_sym_STAR_EQ] = ACTIONS(1792),
-    [anon_sym_SLASH_EQ] = ACTIONS(1792),
-    [anon_sym_PERCENT_EQ] = ACTIONS(1792),
-    [anon_sym_PLUS_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_EQ] = ACTIONS(1792),
-    [anon_sym_LT_LT_EQ] = ACTIONS(1792),
-    [anon_sym_GT_GT_EQ] = ACTIONS(1792),
-    [anon_sym_AMP_EQ] = ACTIONS(1792),
-    [anon_sym_CARET_EQ] = ACTIONS(1792),
-    [anon_sym_PIPE_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_DASH] = ACTIONS(1773),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1773),
-    [anon_sym_DOT] = ACTIONS(1773),
-    [anon_sym_DASH_GT] = ACTIONS(1773),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
+    [sym_string_literal] = STATE(630),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(768),
+    [sym_identifier] = ACTIONS(1770),
+    [anon_sym_COMMA] = ACTIONS(1772),
+    [anon_sym_LPAREN2] = ACTIONS(1774),
+    [anon_sym_DASH] = ACTIONS(1778),
+    [anon_sym_PLUS] = ACTIONS(1778),
+    [anon_sym_STAR] = ACTIONS(1780),
+    [anon_sym_SLASH] = ACTIONS(1778),
+    [anon_sym_PERCENT] = ACTIONS(1778),
+    [anon_sym_PIPE_PIPE] = ACTIONS(1772),
+    [anon_sym_AMP_AMP] = ACTIONS(1772),
+    [anon_sym_PIPE] = ACTIONS(1778),
+    [anon_sym_CARET] = ACTIONS(1778),
+    [anon_sym_AMP] = ACTIONS(1778),
+    [anon_sym_EQ_EQ] = ACTIONS(1772),
+    [anon_sym_BANG_EQ] = ACTIONS(1772),
+    [anon_sym_GT] = ACTIONS(1778),
+    [anon_sym_GT_EQ] = ACTIONS(1772),
+    [anon_sym_LT_EQ] = ACTIONS(1772),
+    [anon_sym_LT] = ACTIONS(1778),
+    [anon_sym_LT_LT] = ACTIONS(1778),
+    [anon_sym_GT_GT] = ACTIONS(1778),
+    [anon_sym_SEMI] = ACTIONS(1783),
+    [anon_sym___extension__] = ACTIONS(1770),
+    [anon_sym_extern] = ACTIONS(1770),
+    [anon_sym___attribute__] = ACTIONS(1770),
+    [anon_sym___attribute] = ACTIONS(1770),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1786),
+    [anon_sym___declspec] = ACTIONS(1770),
+    [anon_sym___based] = ACTIONS(1770),
+    [anon_sym___cdecl] = ACTIONS(1770),
+    [anon_sym___clrcall] = ACTIONS(1770),
+    [anon_sym___stdcall] = ACTIONS(1770),
+    [anon_sym___fastcall] = ACTIONS(1770),
+    [anon_sym___thiscall] = ACTIONS(1770),
+    [anon_sym___vectorcall] = ACTIONS(1770),
+    [anon_sym_signed] = ACTIONS(1788),
+    [anon_sym_unsigned] = ACTIONS(1788),
+    [anon_sym_long] = ACTIONS(1788),
+    [anon_sym_short] = ACTIONS(1788),
+    [anon_sym_LBRACK] = ACTIONS(1778),
+    [anon_sym_static] = ACTIONS(1770),
+    [anon_sym_EQ] = ACTIONS(1790),
+    [anon_sym_auto] = ACTIONS(1770),
+    [anon_sym_register] = ACTIONS(1770),
+    [anon_sym_inline] = ACTIONS(1770),
+    [anon_sym___inline] = ACTIONS(1770),
+    [anon_sym___inline__] = ACTIONS(1770),
+    [anon_sym___forceinline] = ACTIONS(1770),
+    [anon_sym_thread_local] = ACTIONS(1770),
+    [anon_sym___thread] = ACTIONS(1770),
+    [anon_sym_const] = ACTIONS(1770),
+    [anon_sym_constexpr] = ACTIONS(1770),
+    [anon_sym_volatile] = ACTIONS(1770),
+    [anon_sym_restrict] = ACTIONS(1770),
+    [anon_sym___restrict__] = ACTIONS(1770),
+    [anon_sym__Atomic] = ACTIONS(1770),
+    [anon_sym__Noreturn] = ACTIONS(1770),
+    [anon_sym_noreturn] = ACTIONS(1770),
+    [anon_sym__Nonnull] = ACTIONS(1770),
+    [anon_sym_alignas] = ACTIONS(1770),
+    [anon_sym__Alignas] = ACTIONS(1770),
+    [anon_sym_COLON] = ACTIONS(1802),
+    [anon_sym_QMARK] = ACTIONS(1772),
+    [anon_sym_STAR_EQ] = ACTIONS(1794),
+    [anon_sym_SLASH_EQ] = ACTIONS(1794),
+    [anon_sym_PERCENT_EQ] = ACTIONS(1794),
+    [anon_sym_PLUS_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_EQ] = ACTIONS(1794),
+    [anon_sym_LT_LT_EQ] = ACTIONS(1794),
+    [anon_sym_GT_GT_EQ] = ACTIONS(1794),
+    [anon_sym_AMP_EQ] = ACTIONS(1794),
+    [anon_sym_CARET_EQ] = ACTIONS(1794),
+    [anon_sym_PIPE_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_DASH] = ACTIONS(1772),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1772),
+    [anon_sym_DOT] = ACTIONS(1772),
+    [anon_sym_DASH_GT] = ACTIONS(1772),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
     [sym_comment] = ACTIONS(3),
   },
   [415] = {
-    [sym_string_literal] = STATE(625),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(752),
-    [sym_identifier] = ACTIONS(1771),
-    [anon_sym_COMMA] = ACTIONS(1773),
-    [anon_sym_LPAREN2] = ACTIONS(1775),
-    [anon_sym_DASH] = ACTIONS(1779),
-    [anon_sym_PLUS] = ACTIONS(1779),
-    [anon_sym_STAR] = ACTIONS(1781),
-    [anon_sym_SLASH] = ACTIONS(1779),
-    [anon_sym_PERCENT] = ACTIONS(1779),
-    [anon_sym_PIPE_PIPE] = ACTIONS(1773),
-    [anon_sym_AMP_AMP] = ACTIONS(1773),
-    [anon_sym_PIPE] = ACTIONS(1779),
-    [anon_sym_CARET] = ACTIONS(1779),
-    [anon_sym_AMP] = ACTIONS(1779),
-    [anon_sym_EQ_EQ] = ACTIONS(1773),
-    [anon_sym_BANG_EQ] = ACTIONS(1773),
-    [anon_sym_GT] = ACTIONS(1779),
-    [anon_sym_GT_EQ] = ACTIONS(1773),
-    [anon_sym_LT_EQ] = ACTIONS(1773),
-    [anon_sym_LT] = ACTIONS(1779),
-    [anon_sym_LT_LT] = ACTIONS(1779),
-    [anon_sym_GT_GT] = ACTIONS(1779),
-    [anon_sym_SEMI] = ACTIONS(1794),
-    [anon_sym___extension__] = ACTIONS(1771),
-    [anon_sym_extern] = ACTIONS(1771),
-    [anon_sym___attribute__] = ACTIONS(1771),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1784),
-    [anon_sym___declspec] = ACTIONS(1771),
-    [anon_sym___based] = ACTIONS(1771),
-    [anon_sym___cdecl] = ACTIONS(1771),
-    [anon_sym___clrcall] = ACTIONS(1771),
-    [anon_sym___stdcall] = ACTIONS(1771),
-    [anon_sym___fastcall] = ACTIONS(1771),
-    [anon_sym___thiscall] = ACTIONS(1771),
-    [anon_sym___vectorcall] = ACTIONS(1771),
-    [anon_sym_signed] = ACTIONS(1786),
-    [anon_sym_unsigned] = ACTIONS(1786),
-    [anon_sym_long] = ACTIONS(1786),
-    [anon_sym_short] = ACTIONS(1786),
-    [anon_sym_LBRACK] = ACTIONS(1779),
-    [anon_sym_static] = ACTIONS(1771),
-    [anon_sym_EQ] = ACTIONS(1788),
-    [anon_sym_auto] = ACTIONS(1771),
-    [anon_sym_register] = ACTIONS(1771),
-    [anon_sym_inline] = ACTIONS(1771),
-    [anon_sym___inline] = ACTIONS(1771),
-    [anon_sym___inline__] = ACTIONS(1771),
-    [anon_sym___forceinline] = ACTIONS(1771),
-    [anon_sym_thread_local] = ACTIONS(1771),
-    [anon_sym___thread] = ACTIONS(1771),
-    [anon_sym_const] = ACTIONS(1771),
-    [anon_sym_constexpr] = ACTIONS(1771),
-    [anon_sym_volatile] = ACTIONS(1771),
-    [anon_sym_restrict] = ACTIONS(1771),
-    [anon_sym___restrict__] = ACTIONS(1771),
-    [anon_sym__Atomic] = ACTIONS(1771),
-    [anon_sym__Noreturn] = ACTIONS(1771),
-    [anon_sym_noreturn] = ACTIONS(1771),
-    [anon_sym__Nonnull] = ACTIONS(1771),
-    [anon_sym_alignas] = ACTIONS(1771),
-    [anon_sym__Alignas] = ACTIONS(1771),
-    [anon_sym_COLON] = ACTIONS(1799),
-    [anon_sym_QMARK] = ACTIONS(1773),
-    [anon_sym_STAR_EQ] = ACTIONS(1792),
-    [anon_sym_SLASH_EQ] = ACTIONS(1792),
-    [anon_sym_PERCENT_EQ] = ACTIONS(1792),
-    [anon_sym_PLUS_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_EQ] = ACTIONS(1792),
-    [anon_sym_LT_LT_EQ] = ACTIONS(1792),
-    [anon_sym_GT_GT_EQ] = ACTIONS(1792),
-    [anon_sym_AMP_EQ] = ACTIONS(1792),
-    [anon_sym_CARET_EQ] = ACTIONS(1792),
-    [anon_sym_PIPE_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_DASH] = ACTIONS(1773),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1773),
-    [anon_sym_DOT] = ACTIONS(1773),
-    [anon_sym_DASH_GT] = ACTIONS(1773),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
+    [sym_string_literal] = STATE(630),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(768),
+    [sym_identifier] = ACTIONS(1770),
+    [anon_sym_COMMA] = ACTIONS(1772),
+    [anon_sym_LPAREN2] = ACTIONS(1774),
+    [anon_sym_DASH] = ACTIONS(1778),
+    [anon_sym_PLUS] = ACTIONS(1778),
+    [anon_sym_STAR] = ACTIONS(1780),
+    [anon_sym_SLASH] = ACTIONS(1778),
+    [anon_sym_PERCENT] = ACTIONS(1778),
+    [anon_sym_PIPE_PIPE] = ACTIONS(1772),
+    [anon_sym_AMP_AMP] = ACTIONS(1772),
+    [anon_sym_PIPE] = ACTIONS(1778),
+    [anon_sym_CARET] = ACTIONS(1778),
+    [anon_sym_AMP] = ACTIONS(1778),
+    [anon_sym_EQ_EQ] = ACTIONS(1772),
+    [anon_sym_BANG_EQ] = ACTIONS(1772),
+    [anon_sym_GT] = ACTIONS(1778),
+    [anon_sym_GT_EQ] = ACTIONS(1772),
+    [anon_sym_LT_EQ] = ACTIONS(1772),
+    [anon_sym_LT] = ACTIONS(1778),
+    [anon_sym_LT_LT] = ACTIONS(1778),
+    [anon_sym_GT_GT] = ACTIONS(1778),
+    [anon_sym_SEMI] = ACTIONS(1772),
+    [anon_sym___extension__] = ACTIONS(1770),
+    [anon_sym_extern] = ACTIONS(1770),
+    [anon_sym___attribute__] = ACTIONS(1770),
+    [anon_sym___attribute] = ACTIONS(1770),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1786),
+    [anon_sym___declspec] = ACTIONS(1770),
+    [anon_sym___based] = ACTIONS(1770),
+    [anon_sym___cdecl] = ACTIONS(1770),
+    [anon_sym___clrcall] = ACTIONS(1770),
+    [anon_sym___stdcall] = ACTIONS(1770),
+    [anon_sym___fastcall] = ACTIONS(1770),
+    [anon_sym___thiscall] = ACTIONS(1770),
+    [anon_sym___vectorcall] = ACTIONS(1770),
+    [anon_sym_signed] = ACTIONS(1788),
+    [anon_sym_unsigned] = ACTIONS(1788),
+    [anon_sym_long] = ACTIONS(1788),
+    [anon_sym_short] = ACTIONS(1788),
+    [anon_sym_LBRACK] = ACTIONS(1778),
+    [anon_sym_static] = ACTIONS(1770),
+    [anon_sym_EQ] = ACTIONS(1790),
+    [anon_sym_auto] = ACTIONS(1770),
+    [anon_sym_register] = ACTIONS(1770),
+    [anon_sym_inline] = ACTIONS(1770),
+    [anon_sym___inline] = ACTIONS(1770),
+    [anon_sym___inline__] = ACTIONS(1770),
+    [anon_sym___forceinline] = ACTIONS(1770),
+    [anon_sym_thread_local] = ACTIONS(1770),
+    [anon_sym___thread] = ACTIONS(1770),
+    [anon_sym_const] = ACTIONS(1770),
+    [anon_sym_constexpr] = ACTIONS(1770),
+    [anon_sym_volatile] = ACTIONS(1770),
+    [anon_sym_restrict] = ACTIONS(1770),
+    [anon_sym___restrict__] = ACTIONS(1770),
+    [anon_sym__Atomic] = ACTIONS(1770),
+    [anon_sym__Noreturn] = ACTIONS(1770),
+    [anon_sym_noreturn] = ACTIONS(1770),
+    [anon_sym__Nonnull] = ACTIONS(1770),
+    [anon_sym_alignas] = ACTIONS(1770),
+    [anon_sym__Alignas] = ACTIONS(1770),
+    [anon_sym_COLON] = ACTIONS(1802),
+    [anon_sym_QMARK] = ACTIONS(1772),
+    [anon_sym_STAR_EQ] = ACTIONS(1794),
+    [anon_sym_SLASH_EQ] = ACTIONS(1794),
+    [anon_sym_PERCENT_EQ] = ACTIONS(1794),
+    [anon_sym_PLUS_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_EQ] = ACTIONS(1794),
+    [anon_sym_LT_LT_EQ] = ACTIONS(1794),
+    [anon_sym_GT_GT_EQ] = ACTIONS(1794),
+    [anon_sym_AMP_EQ] = ACTIONS(1794),
+    [anon_sym_CARET_EQ] = ACTIONS(1794),
+    [anon_sym_PIPE_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_DASH] = ACTIONS(1772),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1772),
+    [anon_sym_DOT] = ACTIONS(1772),
+    [anon_sym_DASH_GT] = ACTIONS(1772),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
     [sym_comment] = ACTIONS(3),
   },
   [416] = {
-    [sym_string_literal] = STATE(625),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(752),
-    [sym_identifier] = ACTIONS(1771),
-    [anon_sym_LPAREN2] = ACTIONS(1775),
-    [anon_sym_DASH] = ACTIONS(1779),
-    [anon_sym_PLUS] = ACTIONS(1779),
-    [anon_sym_STAR] = ACTIONS(1781),
-    [anon_sym_SLASH] = ACTIONS(1779),
-    [anon_sym_PERCENT] = ACTIONS(1779),
-    [anon_sym_PIPE_PIPE] = ACTIONS(1773),
-    [anon_sym_AMP_AMP] = ACTIONS(1773),
-    [anon_sym_PIPE] = ACTIONS(1779),
-    [anon_sym_CARET] = ACTIONS(1779),
-    [anon_sym_AMP] = ACTIONS(1779),
-    [anon_sym_EQ_EQ] = ACTIONS(1773),
-    [anon_sym_BANG_EQ] = ACTIONS(1773),
-    [anon_sym_GT] = ACTIONS(1779),
-    [anon_sym_GT_EQ] = ACTIONS(1773),
-    [anon_sym_LT_EQ] = ACTIONS(1773),
-    [anon_sym_LT] = ACTIONS(1779),
-    [anon_sym_LT_LT] = ACTIONS(1779),
-    [anon_sym_GT_GT] = ACTIONS(1779),
-    [anon_sym_SEMI] = ACTIONS(1805),
-    [anon_sym___extension__] = ACTIONS(1771),
-    [anon_sym_extern] = ACTIONS(1771),
-    [anon_sym___attribute__] = ACTIONS(1771),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1784),
-    [anon_sym___declspec] = ACTIONS(1771),
-    [anon_sym___based] = ACTIONS(1771),
-    [anon_sym___cdecl] = ACTIONS(1771),
-    [anon_sym___clrcall] = ACTIONS(1771),
-    [anon_sym___stdcall] = ACTIONS(1771),
-    [anon_sym___fastcall] = ACTIONS(1771),
-    [anon_sym___thiscall] = ACTIONS(1771),
-    [anon_sym___vectorcall] = ACTIONS(1771),
-    [anon_sym_signed] = ACTIONS(1786),
-    [anon_sym_unsigned] = ACTIONS(1786),
-    [anon_sym_long] = ACTIONS(1786),
-    [anon_sym_short] = ACTIONS(1786),
-    [anon_sym_LBRACK] = ACTIONS(1779),
-    [anon_sym_static] = ACTIONS(1771),
-    [anon_sym_EQ] = ACTIONS(1788),
-    [anon_sym_auto] = ACTIONS(1771),
-    [anon_sym_register] = ACTIONS(1771),
-    [anon_sym_inline] = ACTIONS(1771),
-    [anon_sym___inline] = ACTIONS(1771),
-    [anon_sym___inline__] = ACTIONS(1771),
-    [anon_sym___forceinline] = ACTIONS(1771),
-    [anon_sym_thread_local] = ACTIONS(1771),
-    [anon_sym___thread] = ACTIONS(1771),
-    [anon_sym_const] = ACTIONS(1771),
-    [anon_sym_constexpr] = ACTIONS(1771),
-    [anon_sym_volatile] = ACTIONS(1771),
-    [anon_sym_restrict] = ACTIONS(1771),
-    [anon_sym___restrict__] = ACTIONS(1771),
-    [anon_sym__Atomic] = ACTIONS(1771),
-    [anon_sym__Noreturn] = ACTIONS(1771),
-    [anon_sym_noreturn] = ACTIONS(1771),
-    [anon_sym__Nonnull] = ACTIONS(1771),
-    [anon_sym_alignas] = ACTIONS(1771),
-    [anon_sym__Alignas] = ACTIONS(1771),
-    [anon_sym_COLON] = ACTIONS(1790),
-    [anon_sym_QMARK] = ACTIONS(1773),
-    [anon_sym_STAR_EQ] = ACTIONS(1792),
-    [anon_sym_SLASH_EQ] = ACTIONS(1792),
-    [anon_sym_PERCENT_EQ] = ACTIONS(1792),
-    [anon_sym_PLUS_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_EQ] = ACTIONS(1792),
-    [anon_sym_LT_LT_EQ] = ACTIONS(1792),
-    [anon_sym_GT_GT_EQ] = ACTIONS(1792),
-    [anon_sym_AMP_EQ] = ACTIONS(1792),
-    [anon_sym_CARET_EQ] = ACTIONS(1792),
-    [anon_sym_PIPE_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_DASH] = ACTIONS(1773),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1773),
-    [anon_sym_DOT] = ACTIONS(1773),
-    [anon_sym_DASH_GT] = ACTIONS(1773),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
+    [sym_string_literal] = STATE(630),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(768),
+    [sym_identifier] = ACTIONS(1770),
+    [anon_sym_COMMA] = ACTIONS(1772),
+    [anon_sym_LPAREN2] = ACTIONS(1774),
+    [anon_sym_DASH] = ACTIONS(1778),
+    [anon_sym_PLUS] = ACTIONS(1778),
+    [anon_sym_STAR] = ACTIONS(1780),
+    [anon_sym_SLASH] = ACTIONS(1778),
+    [anon_sym_PERCENT] = ACTIONS(1778),
+    [anon_sym_PIPE_PIPE] = ACTIONS(1772),
+    [anon_sym_AMP_AMP] = ACTIONS(1772),
+    [anon_sym_PIPE] = ACTIONS(1778),
+    [anon_sym_CARET] = ACTIONS(1778),
+    [anon_sym_AMP] = ACTIONS(1778),
+    [anon_sym_EQ_EQ] = ACTIONS(1772),
+    [anon_sym_BANG_EQ] = ACTIONS(1772),
+    [anon_sym_GT] = ACTIONS(1778),
+    [anon_sym_GT_EQ] = ACTIONS(1772),
+    [anon_sym_LT_EQ] = ACTIONS(1772),
+    [anon_sym_LT] = ACTIONS(1778),
+    [anon_sym_LT_LT] = ACTIONS(1778),
+    [anon_sym_GT_GT] = ACTIONS(1778),
+    [anon_sym_SEMI] = ACTIONS(1772),
+    [anon_sym___extension__] = ACTIONS(1770),
+    [anon_sym_extern] = ACTIONS(1770),
+    [anon_sym___attribute__] = ACTIONS(1770),
+    [anon_sym___attribute] = ACTIONS(1770),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1786),
+    [anon_sym___declspec] = ACTIONS(1770),
+    [anon_sym___based] = ACTIONS(1770),
+    [anon_sym___cdecl] = ACTIONS(1770),
+    [anon_sym___clrcall] = ACTIONS(1770),
+    [anon_sym___stdcall] = ACTIONS(1770),
+    [anon_sym___fastcall] = ACTIONS(1770),
+    [anon_sym___thiscall] = ACTIONS(1770),
+    [anon_sym___vectorcall] = ACTIONS(1770),
+    [anon_sym_signed] = ACTIONS(1788),
+    [anon_sym_unsigned] = ACTIONS(1788),
+    [anon_sym_long] = ACTIONS(1788),
+    [anon_sym_short] = ACTIONS(1788),
+    [anon_sym_LBRACK] = ACTIONS(1778),
+    [anon_sym_static] = ACTIONS(1770),
+    [anon_sym_EQ] = ACTIONS(1790),
+    [anon_sym_auto] = ACTIONS(1770),
+    [anon_sym_register] = ACTIONS(1770),
+    [anon_sym_inline] = ACTIONS(1770),
+    [anon_sym___inline] = ACTIONS(1770),
+    [anon_sym___inline__] = ACTIONS(1770),
+    [anon_sym___forceinline] = ACTIONS(1770),
+    [anon_sym_thread_local] = ACTIONS(1770),
+    [anon_sym___thread] = ACTIONS(1770),
+    [anon_sym_const] = ACTIONS(1770),
+    [anon_sym_constexpr] = ACTIONS(1770),
+    [anon_sym_volatile] = ACTIONS(1770),
+    [anon_sym_restrict] = ACTIONS(1770),
+    [anon_sym___restrict__] = ACTIONS(1770),
+    [anon_sym__Atomic] = ACTIONS(1770),
+    [anon_sym__Noreturn] = ACTIONS(1770),
+    [anon_sym_noreturn] = ACTIONS(1770),
+    [anon_sym__Nonnull] = ACTIONS(1770),
+    [anon_sym_alignas] = ACTIONS(1770),
+    [anon_sym__Alignas] = ACTIONS(1770),
+    [anon_sym_QMARK] = ACTIONS(1772),
+    [anon_sym_STAR_EQ] = ACTIONS(1794),
+    [anon_sym_SLASH_EQ] = ACTIONS(1794),
+    [anon_sym_PERCENT_EQ] = ACTIONS(1794),
+    [anon_sym_PLUS_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_EQ] = ACTIONS(1794),
+    [anon_sym_LT_LT_EQ] = ACTIONS(1794),
+    [anon_sym_GT_GT_EQ] = ACTIONS(1794),
+    [anon_sym_AMP_EQ] = ACTIONS(1794),
+    [anon_sym_CARET_EQ] = ACTIONS(1794),
+    [anon_sym_PIPE_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_DASH] = ACTIONS(1772),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1772),
+    [anon_sym_DOT] = ACTIONS(1772),
+    [anon_sym_DASH_GT] = ACTIONS(1772),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
     [sym_comment] = ACTIONS(3),
   },
   [417] = {
-    [sym_string_literal] = STATE(625),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(752),
-    [sym_identifier] = ACTIONS(1771),
-    [anon_sym_COMMA] = ACTIONS(1773),
-    [anon_sym_LPAREN2] = ACTIONS(1775),
-    [anon_sym_DASH] = ACTIONS(1779),
-    [anon_sym_PLUS] = ACTIONS(1779),
-    [anon_sym_STAR] = ACTIONS(1781),
-    [anon_sym_SLASH] = ACTIONS(1779),
-    [anon_sym_PERCENT] = ACTIONS(1779),
-    [anon_sym_PIPE_PIPE] = ACTIONS(1773),
-    [anon_sym_AMP_AMP] = ACTIONS(1773),
-    [anon_sym_PIPE] = ACTIONS(1779),
-    [anon_sym_CARET] = ACTIONS(1779),
-    [anon_sym_AMP] = ACTIONS(1779),
-    [anon_sym_EQ_EQ] = ACTIONS(1773),
-    [anon_sym_BANG_EQ] = ACTIONS(1773),
-    [anon_sym_GT] = ACTIONS(1779),
-    [anon_sym_GT_EQ] = ACTIONS(1773),
-    [anon_sym_LT_EQ] = ACTIONS(1773),
-    [anon_sym_LT] = ACTIONS(1779),
-    [anon_sym_LT_LT] = ACTIONS(1779),
-    [anon_sym_GT_GT] = ACTIONS(1779),
-    [anon_sym_SEMI] = ACTIONS(1773),
-    [anon_sym___extension__] = ACTIONS(1771),
-    [anon_sym_extern] = ACTIONS(1771),
-    [anon_sym___attribute__] = ACTIONS(1771),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1784),
-    [anon_sym___declspec] = ACTIONS(1771),
-    [anon_sym___based] = ACTIONS(1771),
-    [anon_sym___cdecl] = ACTIONS(1771),
-    [anon_sym___clrcall] = ACTIONS(1771),
-    [anon_sym___stdcall] = ACTIONS(1771),
-    [anon_sym___fastcall] = ACTIONS(1771),
-    [anon_sym___thiscall] = ACTIONS(1771),
-    [anon_sym___vectorcall] = ACTIONS(1771),
-    [anon_sym_signed] = ACTIONS(1786),
-    [anon_sym_unsigned] = ACTIONS(1786),
-    [anon_sym_long] = ACTIONS(1786),
-    [anon_sym_short] = ACTIONS(1786),
-    [anon_sym_LBRACK] = ACTIONS(1779),
-    [anon_sym_static] = ACTIONS(1771),
-    [anon_sym_EQ] = ACTIONS(1788),
-    [anon_sym_auto] = ACTIONS(1771),
-    [anon_sym_register] = ACTIONS(1771),
-    [anon_sym_inline] = ACTIONS(1771),
-    [anon_sym___inline] = ACTIONS(1771),
-    [anon_sym___inline__] = ACTIONS(1771),
-    [anon_sym___forceinline] = ACTIONS(1771),
-    [anon_sym_thread_local] = ACTIONS(1771),
-    [anon_sym___thread] = ACTIONS(1771),
-    [anon_sym_const] = ACTIONS(1771),
-    [anon_sym_constexpr] = ACTIONS(1771),
-    [anon_sym_volatile] = ACTIONS(1771),
-    [anon_sym_restrict] = ACTIONS(1771),
-    [anon_sym___restrict__] = ACTIONS(1771),
-    [anon_sym__Atomic] = ACTIONS(1771),
-    [anon_sym__Noreturn] = ACTIONS(1771),
-    [anon_sym_noreturn] = ACTIONS(1771),
-    [anon_sym__Nonnull] = ACTIONS(1771),
-    [anon_sym_alignas] = ACTIONS(1771),
-    [anon_sym__Alignas] = ACTIONS(1771),
-    [anon_sym_QMARK] = ACTIONS(1773),
-    [anon_sym_STAR_EQ] = ACTIONS(1792),
-    [anon_sym_SLASH_EQ] = ACTIONS(1792),
-    [anon_sym_PERCENT_EQ] = ACTIONS(1792),
-    [anon_sym_PLUS_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_EQ] = ACTIONS(1792),
-    [anon_sym_LT_LT_EQ] = ACTIONS(1792),
-    [anon_sym_GT_GT_EQ] = ACTIONS(1792),
-    [anon_sym_AMP_EQ] = ACTIONS(1792),
-    [anon_sym_CARET_EQ] = ACTIONS(1792),
-    [anon_sym_PIPE_EQ] = ACTIONS(1792),
-    [anon_sym_DASH_DASH] = ACTIONS(1773),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1773),
-    [anon_sym_DOT] = ACTIONS(1773),
-    [anon_sym_DASH_GT] = ACTIONS(1773),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
+    [sym_expression] = STATE(896),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(932),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(932),
+    [sym_call_expression] = STATE(932),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(932),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(932),
+    [sym_initializer_list] = STATE(686),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_identifier] = ACTIONS(1804),
+    [anon_sym_DOT_DOT_DOT] = ACTIONS(1388),
+    [anon_sym_LPAREN2] = ACTIONS(1388),
+    [anon_sym_BANG] = ACTIONS(1806),
+    [anon_sym_TILDE] = ACTIONS(1808),
+    [anon_sym_DASH] = ACTIONS(1394),
+    [anon_sym_PLUS] = ACTIONS(1394),
+    [anon_sym_STAR] = ACTIONS(1388),
+    [anon_sym_SLASH] = ACTIONS(1394),
+    [anon_sym_PERCENT] = ACTIONS(1388),
+    [anon_sym_PIPE_PIPE] = ACTIONS(1388),
+    [anon_sym_AMP_AMP] = ACTIONS(1388),
+    [anon_sym_PIPE] = ACTIONS(1394),
+    [anon_sym_CARET] = ACTIONS(1388),
+    [anon_sym_AMP] = ACTIONS(1394),
+    [anon_sym_EQ_EQ] = ACTIONS(1388),
+    [anon_sym_BANG_EQ] = ACTIONS(1388),
+    [anon_sym_GT] = ACTIONS(1394),
+    [anon_sym_GT_EQ] = ACTIONS(1388),
+    [anon_sym_LT_EQ] = ACTIONS(1388),
+    [anon_sym_LT] = ACTIONS(1394),
+    [anon_sym_LT_LT] = ACTIONS(1388),
+    [anon_sym_GT_GT] = ACTIONS(1388),
+    [anon_sym___extension__] = ACTIONS(1810),
+    [anon_sym_LBRACE] = ACTIONS(1398),
+    [anon_sym_LBRACK] = ACTIONS(1388),
+    [anon_sym_RBRACK] = ACTIONS(1388),
+    [anon_sym_QMARK] = ACTIONS(1388),
+    [anon_sym_DASH_DASH] = ACTIONS(1388),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1388),
+    [anon_sym_sizeof] = ACTIONS(1812),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [anon_sym_DOT] = ACTIONS(1394),
+    [anon_sym_DASH_GT] = ACTIONS(1388),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [418] = {
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1114),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_based_modifier] = STATE(1846),
-    [sym_ms_call_modifier] = STATE(1244),
-    [sym__declarator] = STATE(1440),
-    [sym__abstract_declarator] = STATE(1525),
-    [sym_parenthesized_declarator] = STATE(1303),
-    [sym_abstract_parenthesized_declarator] = STATE(1445),
-    [sym_attributed_declarator] = STATE(1303),
-    [sym_pointer_declarator] = STATE(1303),
-    [sym_abstract_pointer_declarator] = STATE(1445),
-    [sym_function_declarator] = STATE(1303),
-    [sym_abstract_function_declarator] = STATE(1445),
-    [sym_array_declarator] = STATE(1303),
-    [sym_abstract_array_declarator] = STATE(1445),
-    [sym_compound_statement] = STATE(1770),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_variadic_parameter] = STATE(1623),
-    [sym_parameter_list] = STATE(1446),
-    [sym_parameter_declaration] = STATE(1623),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1808),
-    [anon_sym_DOT_DOT_DOT] = ACTIONS(1810),
-    [anon_sym_RPAREN] = ACTIONS(1812),
-    [anon_sym_LPAREN2] = ACTIONS(1814),
-    [anon_sym_STAR] = ACTIONS(1816),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___based] = ACTIONS(1818),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_LBRACK] = ACTIONS(1820),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
+    [sym_string_literal] = STATE(630),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(768),
+    [sym_identifier] = ACTIONS(1770),
+    [anon_sym_LPAREN2] = ACTIONS(1774),
+    [anon_sym_DASH] = ACTIONS(1778),
+    [anon_sym_PLUS] = ACTIONS(1778),
+    [anon_sym_STAR] = ACTIONS(1780),
+    [anon_sym_SLASH] = ACTIONS(1778),
+    [anon_sym_PERCENT] = ACTIONS(1778),
+    [anon_sym_PIPE_PIPE] = ACTIONS(1772),
+    [anon_sym_AMP_AMP] = ACTIONS(1772),
+    [anon_sym_PIPE] = ACTIONS(1778),
+    [anon_sym_CARET] = ACTIONS(1778),
+    [anon_sym_AMP] = ACTIONS(1778),
+    [anon_sym_EQ_EQ] = ACTIONS(1772),
+    [anon_sym_BANG_EQ] = ACTIONS(1772),
+    [anon_sym_GT] = ACTIONS(1778),
+    [anon_sym_GT_EQ] = ACTIONS(1772),
+    [anon_sym_LT_EQ] = ACTIONS(1772),
+    [anon_sym_LT] = ACTIONS(1778),
+    [anon_sym_LT_LT] = ACTIONS(1778),
+    [anon_sym_GT_GT] = ACTIONS(1778),
+    [anon_sym_SEMI] = ACTIONS(1814),
+    [anon_sym___extension__] = ACTIONS(1770),
+    [anon_sym_extern] = ACTIONS(1770),
+    [anon_sym___attribute__] = ACTIONS(1770),
+    [anon_sym___attribute] = ACTIONS(1770),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1786),
+    [anon_sym___declspec] = ACTIONS(1770),
+    [anon_sym___based] = ACTIONS(1770),
+    [anon_sym___cdecl] = ACTIONS(1770),
+    [anon_sym___clrcall] = ACTIONS(1770),
+    [anon_sym___stdcall] = ACTIONS(1770),
+    [anon_sym___fastcall] = ACTIONS(1770),
+    [anon_sym___thiscall] = ACTIONS(1770),
+    [anon_sym___vectorcall] = ACTIONS(1770),
+    [anon_sym_signed] = ACTIONS(1788),
+    [anon_sym_unsigned] = ACTIONS(1788),
+    [anon_sym_long] = ACTIONS(1788),
+    [anon_sym_short] = ACTIONS(1788),
+    [anon_sym_LBRACK] = ACTIONS(1778),
+    [anon_sym_static] = ACTIONS(1770),
+    [anon_sym_EQ] = ACTIONS(1790),
+    [anon_sym_auto] = ACTIONS(1770),
+    [anon_sym_register] = ACTIONS(1770),
+    [anon_sym_inline] = ACTIONS(1770),
+    [anon_sym___inline] = ACTIONS(1770),
+    [anon_sym___inline__] = ACTIONS(1770),
+    [anon_sym___forceinline] = ACTIONS(1770),
+    [anon_sym_thread_local] = ACTIONS(1770),
+    [anon_sym___thread] = ACTIONS(1770),
+    [anon_sym_const] = ACTIONS(1770),
+    [anon_sym_constexpr] = ACTIONS(1770),
+    [anon_sym_volatile] = ACTIONS(1770),
+    [anon_sym_restrict] = ACTIONS(1770),
+    [anon_sym___restrict__] = ACTIONS(1770),
+    [anon_sym__Atomic] = ACTIONS(1770),
+    [anon_sym__Noreturn] = ACTIONS(1770),
+    [anon_sym_noreturn] = ACTIONS(1770),
+    [anon_sym__Nonnull] = ACTIONS(1770),
+    [anon_sym_alignas] = ACTIONS(1770),
+    [anon_sym__Alignas] = ACTIONS(1770),
+    [anon_sym_COLON] = ACTIONS(1798),
+    [anon_sym_QMARK] = ACTIONS(1772),
+    [anon_sym_STAR_EQ] = ACTIONS(1794),
+    [anon_sym_SLASH_EQ] = ACTIONS(1794),
+    [anon_sym_PERCENT_EQ] = ACTIONS(1794),
+    [anon_sym_PLUS_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_EQ] = ACTIONS(1794),
+    [anon_sym_LT_LT_EQ] = ACTIONS(1794),
+    [anon_sym_GT_GT_EQ] = ACTIONS(1794),
+    [anon_sym_AMP_EQ] = ACTIONS(1794),
+    [anon_sym_CARET_EQ] = ACTIONS(1794),
+    [anon_sym_PIPE_EQ] = ACTIONS(1794),
+    [anon_sym_DASH_DASH] = ACTIONS(1772),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1772),
+    [anon_sym_DOT] = ACTIONS(1772),
+    [anon_sym_DASH_GT] = ACTIONS(1772),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
     [sym_comment] = ACTIONS(3),
   },
   [419] = {
-    [sym_type_qualifier] = STATE(664),
-    [sym_alignas_qualifier] = STATE(681),
-    [sym_expression] = STATE(1074),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(906),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(906),
-    [sym_call_expression] = STATE(906),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(906),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(906),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_array_declarator_repeat1] = STATE(664),
-    [sym_identifier] = ACTIONS(1761),
-    [anon_sym_LPAREN2] = ACTIONS(1822),
-    [anon_sym_BANG] = ACTIONS(1765),
-    [anon_sym_TILDE] = ACTIONS(1765),
-    [anon_sym_DASH] = ACTIONS(1763),
-    [anon_sym_PLUS] = ACTIONS(1763),
-    [anon_sym_STAR] = ACTIONS(1824),
-    [anon_sym_AMP] = ACTIONS(1826),
-    [anon_sym___extension__] = ACTIONS(1828),
-    [anon_sym_static] = ACTIONS(1830),
-    [anon_sym_RBRACK] = ACTIONS(1832),
-    [anon_sym_const] = ACTIONS(1834),
-    [anon_sym_constexpr] = ACTIONS(1834),
-    [anon_sym_volatile] = ACTIONS(1834),
-    [anon_sym_restrict] = ACTIONS(1834),
-    [anon_sym___restrict__] = ACTIONS(1834),
-    [anon_sym__Atomic] = ACTIONS(1834),
-    [anon_sym__Noreturn] = ACTIONS(1834),
-    [anon_sym_noreturn] = ACTIONS(1834),
-    [anon_sym__Nonnull] = ACTIONS(1834),
-    [anon_sym_alignas] = ACTIONS(1836),
-    [anon_sym__Alignas] = ACTIONS(1836),
-    [anon_sym_DASH_DASH] = ACTIONS(1838),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1838),
-    [anon_sym_sizeof] = ACTIONS(1769),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1127),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_based_modifier] = STATE(1967),
+    [sym_ms_call_modifier] = STATE(1266),
+    [sym__declarator] = STATE(1454),
+    [sym__abstract_declarator] = STATE(1555),
+    [sym_parenthesized_declarator] = STATE(1311),
+    [sym_abstract_parenthesized_declarator] = STATE(1467),
+    [sym_attributed_declarator] = STATE(1311),
+    [sym_pointer_declarator] = STATE(1311),
+    [sym_abstract_pointer_declarator] = STATE(1467),
+    [sym_function_declarator] = STATE(1311),
+    [sym_abstract_function_declarator] = STATE(1467),
+    [sym_array_declarator] = STATE(1311),
+    [sym_abstract_array_declarator] = STATE(1467),
+    [sym_compound_statement] = STATE(1957),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_variadic_parameter] = STATE(1603),
+    [sym_parameter_list] = STATE(1442),
+    [sym_parameter_declaration] = STATE(1603),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1817),
+    [anon_sym_DOT_DOT_DOT] = ACTIONS(1819),
+    [anon_sym_RPAREN] = ACTIONS(1821),
+    [anon_sym_LPAREN2] = ACTIONS(1823),
+    [anon_sym_STAR] = ACTIONS(1825),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___based] = ACTIONS(1827),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_LBRACK] = ACTIONS(1829),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
     [sym_comment] = ACTIONS(3),
   },
   [420] = {
     [sym_type_qualifier] = STATE(421),
-    [sym_alignas_qualifier] = STATE(681),
-    [sym_expression] = STATE(1091),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(906),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(906),
-    [sym_call_expression] = STATE(906),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(906),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(906),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_alignas_qualifier] = STATE(703),
+    [sym_expression] = STATE(1100),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(932),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(932),
+    [sym_call_expression] = STATE(932),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(932),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(932),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [aux_sym_array_declarator_repeat1] = STATE(421),
-    [sym_identifier] = ACTIONS(1761),
-    [anon_sym_LPAREN2] = ACTIONS(1822),
-    [anon_sym_BANG] = ACTIONS(1765),
-    [anon_sym_TILDE] = ACTIONS(1765),
-    [anon_sym_DASH] = ACTIONS(1763),
-    [anon_sym_PLUS] = ACTIONS(1763),
-    [anon_sym_STAR] = ACTIONS(1840),
-    [anon_sym_AMP] = ACTIONS(1826),
-    [anon_sym___extension__] = ACTIONS(1828),
-    [anon_sym_static] = ACTIONS(1842),
-    [anon_sym_RBRACK] = ACTIONS(1844),
-    [anon_sym_const] = ACTIONS(1834),
-    [anon_sym_constexpr] = ACTIONS(1834),
-    [anon_sym_volatile] = ACTIONS(1834),
-    [anon_sym_restrict] = ACTIONS(1834),
-    [anon_sym___restrict__] = ACTIONS(1834),
-    [anon_sym__Atomic] = ACTIONS(1834),
-    [anon_sym__Noreturn] = ACTIONS(1834),
-    [anon_sym_noreturn] = ACTIONS(1834),
-    [anon_sym__Nonnull] = ACTIONS(1834),
-    [anon_sym_alignas] = ACTIONS(1836),
-    [anon_sym__Alignas] = ACTIONS(1836),
-    [anon_sym_DASH_DASH] = ACTIONS(1838),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1838),
-    [anon_sym_sizeof] = ACTIONS(1769),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [sym_identifier] = ACTIONS(1804),
+    [anon_sym_LPAREN2] = ACTIONS(1831),
+    [anon_sym_BANG] = ACTIONS(1808),
+    [anon_sym_TILDE] = ACTIONS(1808),
+    [anon_sym_DASH] = ACTIONS(1806),
+    [anon_sym_PLUS] = ACTIONS(1806),
+    [anon_sym_STAR] = ACTIONS(1833),
+    [anon_sym_AMP] = ACTIONS(1835),
+    [anon_sym___extension__] = ACTIONS(1837),
+    [anon_sym_static] = ACTIONS(1839),
+    [anon_sym_RBRACK] = ACTIONS(1841),
+    [anon_sym_const] = ACTIONS(1843),
+    [anon_sym_constexpr] = ACTIONS(1843),
+    [anon_sym_volatile] = ACTIONS(1843),
+    [anon_sym_restrict] = ACTIONS(1843),
+    [anon_sym___restrict__] = ACTIONS(1843),
+    [anon_sym__Atomic] = ACTIONS(1843),
+    [anon_sym__Noreturn] = ACTIONS(1843),
+    [anon_sym_noreturn] = ACTIONS(1843),
+    [anon_sym__Nonnull] = ACTIONS(1843),
+    [anon_sym_alignas] = ACTIONS(1845),
+    [anon_sym__Alignas] = ACTIONS(1845),
+    [anon_sym_DASH_DASH] = ACTIONS(1847),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1847),
+    [anon_sym_sizeof] = ACTIONS(1812),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [421] = {
-    [sym_type_qualifier] = STATE(664),
-    [sym_alignas_qualifier] = STATE(681),
-    [sym_expression] = STATE(1086),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(906),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(906),
-    [sym_call_expression] = STATE(906),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(906),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(906),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_array_declarator_repeat1] = STATE(664),
-    [sym_identifier] = ACTIONS(1761),
-    [anon_sym_LPAREN2] = ACTIONS(1822),
-    [anon_sym_BANG] = ACTIONS(1765),
-    [anon_sym_TILDE] = ACTIONS(1765),
-    [anon_sym_DASH] = ACTIONS(1763),
-    [anon_sym_PLUS] = ACTIONS(1763),
-    [anon_sym_STAR] = ACTIONS(1846),
-    [anon_sym_AMP] = ACTIONS(1826),
-    [anon_sym___extension__] = ACTIONS(1828),
-    [anon_sym_static] = ACTIONS(1830),
-    [anon_sym_RBRACK] = ACTIONS(1848),
-    [anon_sym_const] = ACTIONS(1834),
-    [anon_sym_constexpr] = ACTIONS(1834),
-    [anon_sym_volatile] = ACTIONS(1834),
-    [anon_sym_restrict] = ACTIONS(1834),
-    [anon_sym___restrict__] = ACTIONS(1834),
-    [anon_sym__Atomic] = ACTIONS(1834),
-    [anon_sym__Noreturn] = ACTIONS(1834),
-    [anon_sym_noreturn] = ACTIONS(1834),
-    [anon_sym__Nonnull] = ACTIONS(1834),
-    [anon_sym_alignas] = ACTIONS(1836),
-    [anon_sym__Alignas] = ACTIONS(1836),
-    [anon_sym_DASH_DASH] = ACTIONS(1838),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1838),
-    [anon_sym_sizeof] = ACTIONS(1769),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [sym_type_qualifier] = STATE(667),
+    [sym_alignas_qualifier] = STATE(703),
+    [sym_expression] = STATE(1104),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(932),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(932),
+    [sym_call_expression] = STATE(932),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(932),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(932),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_array_declarator_repeat1] = STATE(667),
+    [sym_identifier] = ACTIONS(1804),
+    [anon_sym_LPAREN2] = ACTIONS(1831),
+    [anon_sym_BANG] = ACTIONS(1808),
+    [anon_sym_TILDE] = ACTIONS(1808),
+    [anon_sym_DASH] = ACTIONS(1806),
+    [anon_sym_PLUS] = ACTIONS(1806),
+    [anon_sym_STAR] = ACTIONS(1849),
+    [anon_sym_AMP] = ACTIONS(1835),
+    [anon_sym___extension__] = ACTIONS(1837),
+    [anon_sym_static] = ACTIONS(1851),
+    [anon_sym_RBRACK] = ACTIONS(1853),
+    [anon_sym_const] = ACTIONS(1843),
+    [anon_sym_constexpr] = ACTIONS(1843),
+    [anon_sym_volatile] = ACTIONS(1843),
+    [anon_sym_restrict] = ACTIONS(1843),
+    [anon_sym___restrict__] = ACTIONS(1843),
+    [anon_sym__Atomic] = ACTIONS(1843),
+    [anon_sym__Noreturn] = ACTIONS(1843),
+    [anon_sym_noreturn] = ACTIONS(1843),
+    [anon_sym__Nonnull] = ACTIONS(1843),
+    [anon_sym_alignas] = ACTIONS(1845),
+    [anon_sym__Alignas] = ACTIONS(1845),
+    [anon_sym_DASH_DASH] = ACTIONS(1847),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1847),
+    [anon_sym_sizeof] = ACTIONS(1812),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [422] = {
-    [sym_type_qualifier] = STATE(426),
-    [sym_alignas_qualifier] = STATE(681),
+    [sym_type_qualifier] = STATE(427),
+    [sym_alignas_qualifier] = STATE(703),
     [sym_expression] = STATE(1089),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(906),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(906),
-    [sym_call_expression] = STATE(906),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(906),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(906),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_array_declarator_repeat1] = STATE(426),
-    [sym_identifier] = ACTIONS(1761),
-    [anon_sym_LPAREN2] = ACTIONS(1822),
-    [anon_sym_BANG] = ACTIONS(1765),
-    [anon_sym_TILDE] = ACTIONS(1765),
-    [anon_sym_DASH] = ACTIONS(1763),
-    [anon_sym_PLUS] = ACTIONS(1763),
-    [anon_sym_STAR] = ACTIONS(1850),
-    [anon_sym_AMP] = ACTIONS(1826),
-    [anon_sym___extension__] = ACTIONS(1828),
-    [anon_sym_static] = ACTIONS(1852),
-    [anon_sym_RBRACK] = ACTIONS(1854),
-    [anon_sym_const] = ACTIONS(1834),
-    [anon_sym_constexpr] = ACTIONS(1834),
-    [anon_sym_volatile] = ACTIONS(1834),
-    [anon_sym_restrict] = ACTIONS(1834),
-    [anon_sym___restrict__] = ACTIONS(1834),
-    [anon_sym__Atomic] = ACTIONS(1834),
-    [anon_sym__Noreturn] = ACTIONS(1834),
-    [anon_sym_noreturn] = ACTIONS(1834),
-    [anon_sym__Nonnull] = ACTIONS(1834),
-    [anon_sym_alignas] = ACTIONS(1836),
-    [anon_sym__Alignas] = ACTIONS(1836),
-    [anon_sym_DASH_DASH] = ACTIONS(1838),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1838),
-    [anon_sym_sizeof] = ACTIONS(1769),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(932),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(932),
+    [sym_call_expression] = STATE(932),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(932),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(932),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_array_declarator_repeat1] = STATE(427),
+    [sym_identifier] = ACTIONS(1804),
+    [anon_sym_LPAREN2] = ACTIONS(1831),
+    [anon_sym_BANG] = ACTIONS(1808),
+    [anon_sym_TILDE] = ACTIONS(1808),
+    [anon_sym_DASH] = ACTIONS(1806),
+    [anon_sym_PLUS] = ACTIONS(1806),
+    [anon_sym_STAR] = ACTIONS(1855),
+    [anon_sym_AMP] = ACTIONS(1835),
+    [anon_sym___extension__] = ACTIONS(1837),
+    [anon_sym_static] = ACTIONS(1857),
+    [anon_sym_RBRACK] = ACTIONS(1859),
+    [anon_sym_const] = ACTIONS(1843),
+    [anon_sym_constexpr] = ACTIONS(1843),
+    [anon_sym_volatile] = ACTIONS(1843),
+    [anon_sym_restrict] = ACTIONS(1843),
+    [anon_sym___restrict__] = ACTIONS(1843),
+    [anon_sym__Atomic] = ACTIONS(1843),
+    [anon_sym__Noreturn] = ACTIONS(1843),
+    [anon_sym_noreturn] = ACTIONS(1843),
+    [anon_sym__Nonnull] = ACTIONS(1843),
+    [anon_sym_alignas] = ACTIONS(1845),
+    [anon_sym__Alignas] = ACTIONS(1845),
+    [anon_sym_DASH_DASH] = ACTIONS(1847),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1847),
+    [anon_sym_sizeof] = ACTIONS(1812),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [423] = {
-    [sym_type_qualifier] = STATE(664),
-    [sym_alignas_qualifier] = STATE(681),
-    [sym_expression] = STATE(1088),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(906),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(906),
-    [sym_call_expression] = STATE(906),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(906),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(906),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_array_declarator_repeat1] = STATE(664),
-    [sym_identifier] = ACTIONS(1761),
-    [anon_sym_LPAREN2] = ACTIONS(1822),
-    [anon_sym_BANG] = ACTIONS(1765),
-    [anon_sym_TILDE] = ACTIONS(1765),
-    [anon_sym_DASH] = ACTIONS(1763),
-    [anon_sym_PLUS] = ACTIONS(1763),
-    [anon_sym_STAR] = ACTIONS(1856),
-    [anon_sym_AMP] = ACTIONS(1826),
-    [anon_sym___extension__] = ACTIONS(1828),
-    [anon_sym_static] = ACTIONS(1830),
-    [anon_sym_RBRACK] = ACTIONS(1858),
-    [anon_sym_const] = ACTIONS(1834),
-    [anon_sym_constexpr] = ACTIONS(1834),
-    [anon_sym_volatile] = ACTIONS(1834),
-    [anon_sym_restrict] = ACTIONS(1834),
-    [anon_sym___restrict__] = ACTIONS(1834),
-    [anon_sym__Atomic] = ACTIONS(1834),
-    [anon_sym__Noreturn] = ACTIONS(1834),
-    [anon_sym_noreturn] = ACTIONS(1834),
-    [anon_sym__Nonnull] = ACTIONS(1834),
-    [anon_sym_alignas] = ACTIONS(1836),
-    [anon_sym__Alignas] = ACTIONS(1836),
-    [anon_sym_DASH_DASH] = ACTIONS(1838),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1838),
-    [anon_sym_sizeof] = ACTIONS(1769),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [sym_type_qualifier] = STATE(667),
+    [sym_alignas_qualifier] = STATE(703),
+    [sym_expression] = STATE(1102),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(932),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(932),
+    [sym_call_expression] = STATE(932),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(932),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(932),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_array_declarator_repeat1] = STATE(667),
+    [sym_identifier] = ACTIONS(1804),
+    [anon_sym_LPAREN2] = ACTIONS(1831),
+    [anon_sym_BANG] = ACTIONS(1808),
+    [anon_sym_TILDE] = ACTIONS(1808),
+    [anon_sym_DASH] = ACTIONS(1806),
+    [anon_sym_PLUS] = ACTIONS(1806),
+    [anon_sym_STAR] = ACTIONS(1861),
+    [anon_sym_AMP] = ACTIONS(1835),
+    [anon_sym___extension__] = ACTIONS(1837),
+    [anon_sym_static] = ACTIONS(1851),
+    [anon_sym_RBRACK] = ACTIONS(1863),
+    [anon_sym_const] = ACTIONS(1843),
+    [anon_sym_constexpr] = ACTIONS(1843),
+    [anon_sym_volatile] = ACTIONS(1843),
+    [anon_sym_restrict] = ACTIONS(1843),
+    [anon_sym___restrict__] = ACTIONS(1843),
+    [anon_sym__Atomic] = ACTIONS(1843),
+    [anon_sym__Noreturn] = ACTIONS(1843),
+    [anon_sym_noreturn] = ACTIONS(1843),
+    [anon_sym__Nonnull] = ACTIONS(1843),
+    [anon_sym_alignas] = ACTIONS(1845),
+    [anon_sym__Alignas] = ACTIONS(1845),
+    [anon_sym_DASH_DASH] = ACTIONS(1847),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1847),
+    [anon_sym_sizeof] = ACTIONS(1812),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [424] = {
     [sym_type_qualifier] = STATE(423),
-    [sym_alignas_qualifier] = STATE(681),
-    [sym_expression] = STATE(1065),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(906),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(906),
-    [sym_call_expression] = STATE(906),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(906),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(906),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
+    [sym_alignas_qualifier] = STATE(703),
+    [sym_expression] = STATE(1103),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(932),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(932),
+    [sym_call_expression] = STATE(932),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(932),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(932),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
     [aux_sym_array_declarator_repeat1] = STATE(423),
-    [sym_identifier] = ACTIONS(1761),
-    [anon_sym_LPAREN2] = ACTIONS(1822),
-    [anon_sym_BANG] = ACTIONS(1765),
-    [anon_sym_TILDE] = ACTIONS(1765),
-    [anon_sym_DASH] = ACTIONS(1763),
-    [anon_sym_PLUS] = ACTIONS(1763),
-    [anon_sym_STAR] = ACTIONS(1860),
-    [anon_sym_AMP] = ACTIONS(1826),
-    [anon_sym___extension__] = ACTIONS(1828),
-    [anon_sym_static] = ACTIONS(1862),
-    [anon_sym_RBRACK] = ACTIONS(1864),
-    [anon_sym_const] = ACTIONS(1834),
-    [anon_sym_constexpr] = ACTIONS(1834),
-    [anon_sym_volatile] = ACTIONS(1834),
-    [anon_sym_restrict] = ACTIONS(1834),
-    [anon_sym___restrict__] = ACTIONS(1834),
-    [anon_sym__Atomic] = ACTIONS(1834),
-    [anon_sym__Noreturn] = ACTIONS(1834),
-    [anon_sym_noreturn] = ACTIONS(1834),
-    [anon_sym__Nonnull] = ACTIONS(1834),
-    [anon_sym_alignas] = ACTIONS(1836),
-    [anon_sym__Alignas] = ACTIONS(1836),
-    [anon_sym_DASH_DASH] = ACTIONS(1838),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1838),
-    [anon_sym_sizeof] = ACTIONS(1769),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [sym_identifier] = ACTIONS(1804),
+    [anon_sym_LPAREN2] = ACTIONS(1831),
+    [anon_sym_BANG] = ACTIONS(1808),
+    [anon_sym_TILDE] = ACTIONS(1808),
+    [anon_sym_DASH] = ACTIONS(1806),
+    [anon_sym_PLUS] = ACTIONS(1806),
+    [anon_sym_STAR] = ACTIONS(1865),
+    [anon_sym_AMP] = ACTIONS(1835),
+    [anon_sym___extension__] = ACTIONS(1837),
+    [anon_sym_static] = ACTIONS(1867),
+    [anon_sym_RBRACK] = ACTIONS(1869),
+    [anon_sym_const] = ACTIONS(1843),
+    [anon_sym_constexpr] = ACTIONS(1843),
+    [anon_sym_volatile] = ACTIONS(1843),
+    [anon_sym_restrict] = ACTIONS(1843),
+    [anon_sym___restrict__] = ACTIONS(1843),
+    [anon_sym__Atomic] = ACTIONS(1843),
+    [anon_sym__Noreturn] = ACTIONS(1843),
+    [anon_sym_noreturn] = ACTIONS(1843),
+    [anon_sym__Nonnull] = ACTIONS(1843),
+    [anon_sym_alignas] = ACTIONS(1845),
+    [anon_sym__Alignas] = ACTIONS(1845),
+    [anon_sym_DASH_DASH] = ACTIONS(1847),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1847),
+    [anon_sym_sizeof] = ACTIONS(1812),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [425] = {
-    [sym_type_qualifier] = STATE(664),
-    [sym_alignas_qualifier] = STATE(681),
-    [sym_expression] = STATE(1085),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(906),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(906),
-    [sym_call_expression] = STATE(906),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(906),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(906),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_array_declarator_repeat1] = STATE(664),
-    [sym_identifier] = ACTIONS(1761),
-    [anon_sym_LPAREN2] = ACTIONS(1822),
-    [anon_sym_BANG] = ACTIONS(1765),
-    [anon_sym_TILDE] = ACTIONS(1765),
-    [anon_sym_DASH] = ACTIONS(1763),
-    [anon_sym_PLUS] = ACTIONS(1763),
-    [anon_sym_STAR] = ACTIONS(1866),
-    [anon_sym_AMP] = ACTIONS(1826),
-    [anon_sym___extension__] = ACTIONS(1828),
-    [anon_sym_static] = ACTIONS(1830),
-    [anon_sym_RBRACK] = ACTIONS(1868),
-    [anon_sym_const] = ACTIONS(1834),
-    [anon_sym_constexpr] = ACTIONS(1834),
-    [anon_sym_volatile] = ACTIONS(1834),
-    [anon_sym_restrict] = ACTIONS(1834),
-    [anon_sym___restrict__] = ACTIONS(1834),
-    [anon_sym__Atomic] = ACTIONS(1834),
-    [anon_sym__Noreturn] = ACTIONS(1834),
-    [anon_sym_noreturn] = ACTIONS(1834),
-    [anon_sym__Nonnull] = ACTIONS(1834),
-    [anon_sym_alignas] = ACTIONS(1836),
-    [anon_sym__Alignas] = ACTIONS(1836),
-    [anon_sym_DASH_DASH] = ACTIONS(1838),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1838),
-    [anon_sym_sizeof] = ACTIONS(1769),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [sym_type_qualifier] = STATE(428),
+    [sym_alignas_qualifier] = STATE(703),
+    [sym_expression] = STATE(1086),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(932),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(932),
+    [sym_call_expression] = STATE(932),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(932),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(932),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_array_declarator_repeat1] = STATE(428),
+    [sym_identifier] = ACTIONS(1804),
+    [anon_sym_LPAREN2] = ACTIONS(1831),
+    [anon_sym_BANG] = ACTIONS(1808),
+    [anon_sym_TILDE] = ACTIONS(1808),
+    [anon_sym_DASH] = ACTIONS(1806),
+    [anon_sym_PLUS] = ACTIONS(1806),
+    [anon_sym_STAR] = ACTIONS(1871),
+    [anon_sym_AMP] = ACTIONS(1835),
+    [anon_sym___extension__] = ACTIONS(1837),
+    [anon_sym_static] = ACTIONS(1873),
+    [anon_sym_RBRACK] = ACTIONS(1875),
+    [anon_sym_const] = ACTIONS(1843),
+    [anon_sym_constexpr] = ACTIONS(1843),
+    [anon_sym_volatile] = ACTIONS(1843),
+    [anon_sym_restrict] = ACTIONS(1843),
+    [anon_sym___restrict__] = ACTIONS(1843),
+    [anon_sym__Atomic] = ACTIONS(1843),
+    [anon_sym__Noreturn] = ACTIONS(1843),
+    [anon_sym_noreturn] = ACTIONS(1843),
+    [anon_sym__Nonnull] = ACTIONS(1843),
+    [anon_sym_alignas] = ACTIONS(1845),
+    [anon_sym__Alignas] = ACTIONS(1845),
+    [anon_sym_DASH_DASH] = ACTIONS(1847),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1847),
+    [anon_sym_sizeof] = ACTIONS(1812),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [426] = {
-    [sym_type_qualifier] = STATE(664),
-    [sym_alignas_qualifier] = STATE(681),
-    [sym_expression] = STATE(1070),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(906),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(906),
-    [sym_call_expression] = STATE(906),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(906),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(906),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_array_declarator_repeat1] = STATE(664),
-    [sym_identifier] = ACTIONS(1761),
-    [anon_sym_LPAREN2] = ACTIONS(1822),
-    [anon_sym_BANG] = ACTIONS(1765),
-    [anon_sym_TILDE] = ACTIONS(1765),
-    [anon_sym_DASH] = ACTIONS(1763),
-    [anon_sym_PLUS] = ACTIONS(1763),
-    [anon_sym_STAR] = ACTIONS(1870),
-    [anon_sym_AMP] = ACTIONS(1826),
-    [anon_sym___extension__] = ACTIONS(1828),
-    [anon_sym_static] = ACTIONS(1830),
-    [anon_sym_RBRACK] = ACTIONS(1872),
-    [anon_sym_const] = ACTIONS(1834),
-    [anon_sym_constexpr] = ACTIONS(1834),
-    [anon_sym_volatile] = ACTIONS(1834),
-    [anon_sym_restrict] = ACTIONS(1834),
-    [anon_sym___restrict__] = ACTIONS(1834),
-    [anon_sym__Atomic] = ACTIONS(1834),
-    [anon_sym__Noreturn] = ACTIONS(1834),
-    [anon_sym_noreturn] = ACTIONS(1834),
-    [anon_sym__Nonnull] = ACTIONS(1834),
-    [anon_sym_alignas] = ACTIONS(1836),
-    [anon_sym__Alignas] = ACTIONS(1836),
-    [anon_sym_DASH_DASH] = ACTIONS(1838),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1838),
-    [anon_sym_sizeof] = ACTIONS(1769),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [sym_type_qualifier] = STATE(667),
+    [sym_alignas_qualifier] = STATE(703),
+    [sym_expression] = STATE(1106),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(932),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(932),
+    [sym_call_expression] = STATE(932),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(932),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(932),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_array_declarator_repeat1] = STATE(667),
+    [sym_identifier] = ACTIONS(1804),
+    [anon_sym_LPAREN2] = ACTIONS(1831),
+    [anon_sym_BANG] = ACTIONS(1808),
+    [anon_sym_TILDE] = ACTIONS(1808),
+    [anon_sym_DASH] = ACTIONS(1806),
+    [anon_sym_PLUS] = ACTIONS(1806),
+    [anon_sym_STAR] = ACTIONS(1877),
+    [anon_sym_AMP] = ACTIONS(1835),
+    [anon_sym___extension__] = ACTIONS(1837),
+    [anon_sym_static] = ACTIONS(1851),
+    [anon_sym_RBRACK] = ACTIONS(1879),
+    [anon_sym_const] = ACTIONS(1843),
+    [anon_sym_constexpr] = ACTIONS(1843),
+    [anon_sym_volatile] = ACTIONS(1843),
+    [anon_sym_restrict] = ACTIONS(1843),
+    [anon_sym___restrict__] = ACTIONS(1843),
+    [anon_sym__Atomic] = ACTIONS(1843),
+    [anon_sym__Noreturn] = ACTIONS(1843),
+    [anon_sym_noreturn] = ACTIONS(1843),
+    [anon_sym__Nonnull] = ACTIONS(1843),
+    [anon_sym_alignas] = ACTIONS(1845),
+    [anon_sym__Alignas] = ACTIONS(1845),
+    [anon_sym_DASH_DASH] = ACTIONS(1847),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1847),
+    [anon_sym_sizeof] = ACTIONS(1812),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [427] = {
-    [sym_type_qualifier] = STATE(425),
-    [sym_alignas_qualifier] = STATE(681),
-    [sym_expression] = STATE(1078),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(906),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(906),
-    [sym_call_expression] = STATE(906),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(906),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(906),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_array_declarator_repeat1] = STATE(425),
-    [sym_identifier] = ACTIONS(1761),
-    [anon_sym_LPAREN2] = ACTIONS(1822),
-    [anon_sym_BANG] = ACTIONS(1765),
-    [anon_sym_TILDE] = ACTIONS(1765),
-    [anon_sym_DASH] = ACTIONS(1763),
-    [anon_sym_PLUS] = ACTIONS(1763),
-    [anon_sym_STAR] = ACTIONS(1874),
-    [anon_sym_AMP] = ACTIONS(1826),
-    [anon_sym___extension__] = ACTIONS(1828),
-    [anon_sym_static] = ACTIONS(1876),
-    [anon_sym_RBRACK] = ACTIONS(1878),
-    [anon_sym_const] = ACTIONS(1834),
-    [anon_sym_constexpr] = ACTIONS(1834),
-    [anon_sym_volatile] = ACTIONS(1834),
-    [anon_sym_restrict] = ACTIONS(1834),
-    [anon_sym___restrict__] = ACTIONS(1834),
-    [anon_sym__Atomic] = ACTIONS(1834),
-    [anon_sym__Noreturn] = ACTIONS(1834),
-    [anon_sym_noreturn] = ACTIONS(1834),
-    [anon_sym__Nonnull] = ACTIONS(1834),
-    [anon_sym_alignas] = ACTIONS(1836),
-    [anon_sym__Alignas] = ACTIONS(1836),
-    [anon_sym_DASH_DASH] = ACTIONS(1838),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1838),
-    [anon_sym_sizeof] = ACTIONS(1769),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [sym_type_qualifier] = STATE(667),
+    [sym_alignas_qualifier] = STATE(703),
+    [sym_expression] = STATE(1080),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(932),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(932),
+    [sym_call_expression] = STATE(932),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(932),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(932),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_array_declarator_repeat1] = STATE(667),
+    [sym_identifier] = ACTIONS(1804),
+    [anon_sym_LPAREN2] = ACTIONS(1831),
+    [anon_sym_BANG] = ACTIONS(1808),
+    [anon_sym_TILDE] = ACTIONS(1808),
+    [anon_sym_DASH] = ACTIONS(1806),
+    [anon_sym_PLUS] = ACTIONS(1806),
+    [anon_sym_STAR] = ACTIONS(1881),
+    [anon_sym_AMP] = ACTIONS(1835),
+    [anon_sym___extension__] = ACTIONS(1837),
+    [anon_sym_static] = ACTIONS(1851),
+    [anon_sym_RBRACK] = ACTIONS(1883),
+    [anon_sym_const] = ACTIONS(1843),
+    [anon_sym_constexpr] = ACTIONS(1843),
+    [anon_sym_volatile] = ACTIONS(1843),
+    [anon_sym_restrict] = ACTIONS(1843),
+    [anon_sym___restrict__] = ACTIONS(1843),
+    [anon_sym__Atomic] = ACTIONS(1843),
+    [anon_sym__Noreturn] = ACTIONS(1843),
+    [anon_sym_noreturn] = ACTIONS(1843),
+    [anon_sym__Nonnull] = ACTIONS(1843),
+    [anon_sym_alignas] = ACTIONS(1845),
+    [anon_sym__Alignas] = ACTIONS(1845),
+    [anon_sym_DASH_DASH] = ACTIONS(1847),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1847),
+    [anon_sym_sizeof] = ACTIONS(1812),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [428] = {
-    [sym_type_qualifier] = STATE(419),
-    [sym_alignas_qualifier] = STATE(681),
-    [sym_expression] = STATE(1075),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(906),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(906),
-    [sym_call_expression] = STATE(906),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(906),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(906),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_array_declarator_repeat1] = STATE(419),
-    [sym_identifier] = ACTIONS(1761),
-    [anon_sym_LPAREN2] = ACTIONS(1822),
-    [anon_sym_BANG] = ACTIONS(1765),
-    [anon_sym_TILDE] = ACTIONS(1765),
-    [anon_sym_DASH] = ACTIONS(1763),
-    [anon_sym_PLUS] = ACTIONS(1763),
-    [anon_sym_STAR] = ACTIONS(1880),
-    [anon_sym_AMP] = ACTIONS(1826),
-    [anon_sym___extension__] = ACTIONS(1828),
-    [anon_sym_static] = ACTIONS(1882),
-    [anon_sym_RBRACK] = ACTIONS(1884),
-    [anon_sym_const] = ACTIONS(1834),
-    [anon_sym_constexpr] = ACTIONS(1834),
-    [anon_sym_volatile] = ACTIONS(1834),
-    [anon_sym_restrict] = ACTIONS(1834),
-    [anon_sym___restrict__] = ACTIONS(1834),
-    [anon_sym__Atomic] = ACTIONS(1834),
-    [anon_sym__Noreturn] = ACTIONS(1834),
-    [anon_sym_noreturn] = ACTIONS(1834),
-    [anon_sym__Nonnull] = ACTIONS(1834),
-    [anon_sym_alignas] = ACTIONS(1836),
-    [anon_sym__Alignas] = ACTIONS(1836),
-    [anon_sym_DASH_DASH] = ACTIONS(1838),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1838),
-    [anon_sym_sizeof] = ACTIONS(1769),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [sym_type_qualifier] = STATE(667),
+    [sym_alignas_qualifier] = STATE(703),
+    [sym_expression] = STATE(1092),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(932),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(932),
+    [sym_call_expression] = STATE(932),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(932),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(932),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_array_declarator_repeat1] = STATE(667),
+    [sym_identifier] = ACTIONS(1804),
+    [anon_sym_LPAREN2] = ACTIONS(1831),
+    [anon_sym_BANG] = ACTIONS(1808),
+    [anon_sym_TILDE] = ACTIONS(1808),
+    [anon_sym_DASH] = ACTIONS(1806),
+    [anon_sym_PLUS] = ACTIONS(1806),
+    [anon_sym_STAR] = ACTIONS(1885),
+    [anon_sym_AMP] = ACTIONS(1835),
+    [anon_sym___extension__] = ACTIONS(1837),
+    [anon_sym_static] = ACTIONS(1851),
+    [anon_sym_RBRACK] = ACTIONS(1887),
+    [anon_sym_const] = ACTIONS(1843),
+    [anon_sym_constexpr] = ACTIONS(1843),
+    [anon_sym_volatile] = ACTIONS(1843),
+    [anon_sym_restrict] = ACTIONS(1843),
+    [anon_sym___restrict__] = ACTIONS(1843),
+    [anon_sym__Atomic] = ACTIONS(1843),
+    [anon_sym__Noreturn] = ACTIONS(1843),
+    [anon_sym_noreturn] = ACTIONS(1843),
+    [anon_sym__Nonnull] = ACTIONS(1843),
+    [anon_sym_alignas] = ACTIONS(1845),
+    [anon_sym__Alignas] = ACTIONS(1845),
+    [anon_sym_DASH_DASH] = ACTIONS(1847),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1847),
+    [anon_sym_sizeof] = ACTIONS(1812),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [429] = {
-    [sym_expression] = STATE(1040),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(906),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(906),
-    [sym_call_expression] = STATE(906),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(906),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(906),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_identifier] = ACTIONS(1886),
-    [anon_sym_LPAREN2] = ACTIONS(1889),
-    [anon_sym_BANG] = ACTIONS(1892),
-    [anon_sym_TILDE] = ACTIONS(1892),
-    [anon_sym_DASH] = ACTIONS(1895),
-    [anon_sym_PLUS] = ACTIONS(1895),
-    [anon_sym_STAR] = ACTIONS(1898),
-    [anon_sym_AMP] = ACTIONS(1898),
-    [anon_sym___extension__] = ACTIONS(1901),
-    [anon_sym_static] = ACTIONS(1705),
-    [anon_sym_RBRACK] = ACTIONS(1707),
-    [anon_sym_const] = ACTIONS(1705),
-    [anon_sym_constexpr] = ACTIONS(1705),
-    [anon_sym_volatile] = ACTIONS(1705),
-    [anon_sym_restrict] = ACTIONS(1705),
-    [anon_sym___restrict__] = ACTIONS(1705),
-    [anon_sym__Atomic] = ACTIONS(1705),
-    [anon_sym__Noreturn] = ACTIONS(1705),
-    [anon_sym_noreturn] = ACTIONS(1705),
-    [anon_sym__Nonnull] = ACTIONS(1705),
-    [anon_sym_alignas] = ACTIONS(1705),
-    [anon_sym__Alignas] = ACTIONS(1705),
-    [anon_sym_DASH_DASH] = ACTIONS(1904),
-    [anon_sym_PLUS_PLUS] = ACTIONS(1904),
-    [anon_sym_sizeof] = ACTIONS(1907),
-    [anon_sym___alignof__] = ACTIONS(1910),
-    [anon_sym___alignof] = ACTIONS(1910),
-    [anon_sym__alignof] = ACTIONS(1910),
-    [anon_sym_alignof] = ACTIONS(1910),
-    [anon_sym__Alignof] = ACTIONS(1910),
-    [anon_sym_offsetof] = ACTIONS(1913),
-    [anon_sym__Generic] = ACTIONS(1916),
-    [anon_sym_asm] = ACTIONS(1919),
-    [anon_sym___asm__] = ACTIONS(1919),
-    [anon_sym___asm] = ACTIONS(1919),
-    [sym_number_literal] = ACTIONS(1922),
-    [anon_sym_L_SQUOTE] = ACTIONS(1925),
-    [anon_sym_u_SQUOTE] = ACTIONS(1925),
-    [anon_sym_U_SQUOTE] = ACTIONS(1925),
-    [anon_sym_u8_SQUOTE] = ACTIONS(1925),
-    [anon_sym_SQUOTE] = ACTIONS(1925),
-    [anon_sym_L_DQUOTE] = ACTIONS(1928),
-    [anon_sym_u_DQUOTE] = ACTIONS(1928),
-    [anon_sym_U_DQUOTE] = ACTIONS(1928),
-    [anon_sym_u8_DQUOTE] = ACTIONS(1928),
-    [anon_sym_DQUOTE] = ACTIONS(1928),
-    [sym_true] = ACTIONS(1931),
-    [sym_false] = ACTIONS(1931),
-    [anon_sym_NULL] = ACTIONS(1934),
-    [anon_sym_nullptr] = ACTIONS(1934),
+    [sym_type_qualifier] = STATE(426),
+    [sym_alignas_qualifier] = STATE(703),
+    [sym_expression] = STATE(1094),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(932),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(932),
+    [sym_call_expression] = STATE(932),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(932),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(932),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_array_declarator_repeat1] = STATE(426),
+    [sym_identifier] = ACTIONS(1804),
+    [anon_sym_LPAREN2] = ACTIONS(1831),
+    [anon_sym_BANG] = ACTIONS(1808),
+    [anon_sym_TILDE] = ACTIONS(1808),
+    [anon_sym_DASH] = ACTIONS(1806),
+    [anon_sym_PLUS] = ACTIONS(1806),
+    [anon_sym_STAR] = ACTIONS(1889),
+    [anon_sym_AMP] = ACTIONS(1835),
+    [anon_sym___extension__] = ACTIONS(1837),
+    [anon_sym_static] = ACTIONS(1891),
+    [anon_sym_RBRACK] = ACTIONS(1893),
+    [anon_sym_const] = ACTIONS(1843),
+    [anon_sym_constexpr] = ACTIONS(1843),
+    [anon_sym_volatile] = ACTIONS(1843),
+    [anon_sym_restrict] = ACTIONS(1843),
+    [anon_sym___restrict__] = ACTIONS(1843),
+    [anon_sym__Atomic] = ACTIONS(1843),
+    [anon_sym__Noreturn] = ACTIONS(1843),
+    [anon_sym_noreturn] = ACTIONS(1843),
+    [anon_sym__Nonnull] = ACTIONS(1843),
+    [anon_sym_alignas] = ACTIONS(1845),
+    [anon_sym__Alignas] = ACTIONS(1845),
+    [anon_sym_DASH_DASH] = ACTIONS(1847),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1847),
+    [anon_sym_sizeof] = ACTIONS(1812),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [430] = {
-    [sym_expression] = STATE(1012),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_initializer_list] = STATE(1655),
-    [sym_initializer_pair] = STATE(1655),
-    [sym_subscript_designator] = STATE(1410),
-    [sym_subscript_range_designator] = STATE(1410),
-    [sym_field_designator] = STATE(1410),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_initializer_pair_repeat1] = STATE(1410),
-    [sym_identifier] = ACTIONS(1937),
-    [anon_sym_COMMA] = ACTIONS(1939),
-    [anon_sym_LPAREN2] = ACTIONS(19),
-    [anon_sym_BANG] = ACTIONS(21),
-    [anon_sym_TILDE] = ACTIONS(21),
-    [anon_sym_DASH] = ACTIONS(23),
-    [anon_sym_PLUS] = ACTIONS(23),
-    [anon_sym_STAR] = ACTIONS(25),
-    [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACE] = ACTIONS(1391),
-    [anon_sym_RBRACE] = ACTIONS(1941),
-    [anon_sym_LBRACK] = ACTIONS(1943),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [anon_sym_DOT] = ACTIONS(1945),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [sym_expression] = STATE(1060),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(932),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(932),
+    [sym_call_expression] = STATE(932),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(932),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(932),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_identifier] = ACTIONS(1895),
+    [anon_sym_LPAREN2] = ACTIONS(1898),
+    [anon_sym_BANG] = ACTIONS(1901),
+    [anon_sym_TILDE] = ACTIONS(1901),
+    [anon_sym_DASH] = ACTIONS(1904),
+    [anon_sym_PLUS] = ACTIONS(1904),
+    [anon_sym_STAR] = ACTIONS(1907),
+    [anon_sym_AMP] = ACTIONS(1907),
+    [anon_sym___extension__] = ACTIONS(1910),
+    [anon_sym_static] = ACTIONS(1714),
+    [anon_sym_RBRACK] = ACTIONS(1716),
+    [anon_sym_const] = ACTIONS(1714),
+    [anon_sym_constexpr] = ACTIONS(1714),
+    [anon_sym_volatile] = ACTIONS(1714),
+    [anon_sym_restrict] = ACTIONS(1714),
+    [anon_sym___restrict__] = ACTIONS(1714),
+    [anon_sym__Atomic] = ACTIONS(1714),
+    [anon_sym__Noreturn] = ACTIONS(1714),
+    [anon_sym_noreturn] = ACTIONS(1714),
+    [anon_sym__Nonnull] = ACTIONS(1714),
+    [anon_sym_alignas] = ACTIONS(1714),
+    [anon_sym__Alignas] = ACTIONS(1714),
+    [anon_sym_DASH_DASH] = ACTIONS(1913),
+    [anon_sym_PLUS_PLUS] = ACTIONS(1913),
+    [anon_sym_sizeof] = ACTIONS(1916),
+    [anon_sym___alignof__] = ACTIONS(1919),
+    [anon_sym___alignof] = ACTIONS(1919),
+    [anon_sym__alignof] = ACTIONS(1919),
+    [anon_sym_alignof] = ACTIONS(1919),
+    [anon_sym__Alignof] = ACTIONS(1919),
+    [anon_sym_offsetof] = ACTIONS(1922),
+    [anon_sym__Generic] = ACTIONS(1925),
+    [anon_sym_asm] = ACTIONS(1928),
+    [anon_sym___asm__] = ACTIONS(1928),
+    [anon_sym___asm] = ACTIONS(1928),
+    [sym_number_literal] = ACTIONS(1931),
+    [anon_sym_L_SQUOTE] = ACTIONS(1934),
+    [anon_sym_u_SQUOTE] = ACTIONS(1934),
+    [anon_sym_U_SQUOTE] = ACTIONS(1934),
+    [anon_sym_u8_SQUOTE] = ACTIONS(1934),
+    [anon_sym_SQUOTE] = ACTIONS(1934),
+    [anon_sym_L_DQUOTE] = ACTIONS(1937),
+    [anon_sym_u_DQUOTE] = ACTIONS(1937),
+    [anon_sym_U_DQUOTE] = ACTIONS(1937),
+    [anon_sym_u8_DQUOTE] = ACTIONS(1937),
+    [anon_sym_DQUOTE] = ACTIONS(1937),
+    [sym_true] = ACTIONS(1940),
+    [sym_false] = ACTIONS(1940),
+    [anon_sym_NULL] = ACTIONS(1943),
+    [anon_sym_nullptr] = ACTIONS(1943),
     [sym_comment] = ACTIONS(3),
   },
   [431] = {
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1114),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_ms_call_modifier] = STATE(1359),
-    [sym__abstract_declarator] = STATE(1525),
-    [sym_abstract_parenthesized_declarator] = STATE(1445),
-    [sym_abstract_pointer_declarator] = STATE(1445),
-    [sym_abstract_function_declarator] = STATE(1445),
-    [sym_abstract_array_declarator] = STATE(1445),
-    [sym_compound_statement] = STATE(1770),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym_variadic_parameter] = STATE(1623),
-    [sym_parameter_list] = STATE(1446),
-    [sym_parameter_declaration] = STATE(1623),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [anon_sym_DOT_DOT_DOT] = ACTIONS(1810),
-    [anon_sym_RPAREN] = ACTIONS(1812),
-    [anon_sym_LPAREN2] = ACTIONS(1949),
-    [anon_sym_STAR] = ACTIONS(1951),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym___cdecl] = ACTIONS(39),
-    [anon_sym___clrcall] = ACTIONS(39),
-    [anon_sym___stdcall] = ACTIONS(39),
-    [anon_sym___fastcall] = ACTIONS(39),
-    [anon_sym___thiscall] = ACTIONS(39),
-    [anon_sym___vectorcall] = ACTIONS(39),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_LBRACK] = ACTIONS(1820),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1127),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_ms_call_modifier] = STATE(1391),
+    [sym__abstract_declarator] = STATE(1555),
+    [sym_abstract_parenthesized_declarator] = STATE(1467),
+    [sym_abstract_pointer_declarator] = STATE(1467),
+    [sym_abstract_function_declarator] = STATE(1467),
+    [sym_abstract_array_declarator] = STATE(1467),
+    [sym_compound_statement] = STATE(1957),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym_variadic_parameter] = STATE(1603),
+    [sym_parameter_list] = STATE(1442),
+    [sym_parameter_declaration] = STATE(1603),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [anon_sym_DOT_DOT_DOT] = ACTIONS(1819),
+    [anon_sym_RPAREN] = ACTIONS(1821),
+    [anon_sym_LPAREN2] = ACTIONS(1948),
+    [anon_sym_STAR] = ACTIONS(1950),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym___cdecl] = ACTIONS(41),
+    [anon_sym___clrcall] = ACTIONS(41),
+    [anon_sym___stdcall] = ACTIONS(41),
+    [anon_sym___fastcall] = ACTIONS(41),
+    [anon_sym___thiscall] = ACTIONS(41),
+    [anon_sym___vectorcall] = ACTIONS(41),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_LBRACK] = ACTIONS(1829),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
     [sym_comment] = ACTIONS(3),
   },
   [432] = {
-    [sym_preproc_def] = STATE(440),
-    [sym_preproc_function_def] = STATE(440),
-    [sym_preproc_call] = STATE(440),
-    [sym_preproc_if_in_field_declaration_list] = STATE(440),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(440),
-    [sym_preproc_else_in_field_declaration_list] = STATE(1832),
-    [sym_preproc_elif_in_field_declaration_list] = STATE(1832),
-    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1832),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1268),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(440),
-    [sym_field_declaration] = STATE(440),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(440),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(1953),
-    [aux_sym_preproc_if_token1] = ACTIONS(1955),
-    [aux_sym_preproc_if_token2] = ACTIONS(1957),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1959),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1959),
-    [aux_sym_preproc_else_token1] = ACTIONS(1961),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1963),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1965),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1965),
-    [sym_preproc_directive] = ACTIONS(1967),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
+    [sym_preproc_def] = STATE(439),
+    [sym_preproc_function_def] = STATE(439),
+    [sym_preproc_call] = STATE(439),
+    [sym_preproc_if_in_field_declaration_list] = STATE(439),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(439),
+    [sym_preproc_else_in_field_declaration_list] = STATE(1972),
+    [sym_preproc_elif_in_field_declaration_list] = STATE(1972),
+    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1972),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1286),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(439),
+    [sym_field_declaration] = STATE(439),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(439),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(1952),
+    [aux_sym_preproc_if_token1] = ACTIONS(1954),
+    [aux_sym_preproc_if_token2] = ACTIONS(1956),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1958),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1958),
+    [aux_sym_preproc_else_token1] = ACTIONS(1960),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1962),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1964),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1964),
+    [sym_preproc_directive] = ACTIONS(1966),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
     [sym_comment] = ACTIONS(3),
   },
   [433] = {
-    [sym_preproc_def] = STATE(446),
-    [sym_preproc_function_def] = STATE(446),
-    [sym_preproc_call] = STATE(446),
-    [sym_preproc_if_in_field_declaration_list] = STATE(446),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(446),
-    [sym_preproc_else_in_field_declaration_list] = STATE(1842),
-    [sym_preproc_elif_in_field_declaration_list] = STATE(1842),
-    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1842),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1268),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(446),
-    [sym_field_declaration] = STATE(446),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(446),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(1953),
-    [aux_sym_preproc_if_token1] = ACTIONS(1955),
-    [aux_sym_preproc_if_token2] = ACTIONS(1969),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1959),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1959),
-    [aux_sym_preproc_else_token1] = ACTIONS(1961),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1963),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1965),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1965),
-    [sym_preproc_directive] = ACTIONS(1967),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
+    [sym_preproc_def] = STATE(452),
+    [sym_preproc_function_def] = STATE(452),
+    [sym_preproc_call] = STATE(452),
+    [sym_preproc_if_in_field_declaration_list] = STATE(452),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(452),
+    [sym_preproc_else_in_field_declaration_list] = STATE(1782),
+    [sym_preproc_elif_in_field_declaration_list] = STATE(1782),
+    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1782),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1286),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(452),
+    [sym_field_declaration] = STATE(452),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(452),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(1952),
+    [aux_sym_preproc_if_token1] = ACTIONS(1954),
+    [aux_sym_preproc_if_token2] = ACTIONS(1968),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1958),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1958),
+    [aux_sym_preproc_else_token1] = ACTIONS(1960),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1962),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1964),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1964),
+    [sym_preproc_directive] = ACTIONS(1966),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
     [sym_comment] = ACTIONS(3),
   },
   [434] = {
-    [sym_preproc_def] = STATE(451),
-    [sym_preproc_function_def] = STATE(451),
-    [sym_preproc_call] = STATE(451),
-    [sym_preproc_if_in_field_declaration_list] = STATE(451),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(451),
-    [sym_preproc_else_in_field_declaration_list] = STATE(1972),
-    [sym_preproc_elif_in_field_declaration_list] = STATE(1972),
-    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1972),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1268),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(451),
-    [sym_field_declaration] = STATE(451),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(451),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(1953),
-    [aux_sym_preproc_if_token1] = ACTIONS(1955),
-    [aux_sym_preproc_if_token2] = ACTIONS(1971),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1959),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1959),
-    [aux_sym_preproc_else_token1] = ACTIONS(1961),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1963),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1965),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1965),
-    [sym_preproc_directive] = ACTIONS(1967),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
+    [sym_preproc_def] = STATE(452),
+    [sym_preproc_function_def] = STATE(452),
+    [sym_preproc_call] = STATE(452),
+    [sym_preproc_if_in_field_declaration_list] = STATE(452),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(452),
+    [sym_preproc_else_in_field_declaration_list] = STATE(1831),
+    [sym_preproc_elif_in_field_declaration_list] = STATE(1831),
+    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1831),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1286),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(452),
+    [sym_field_declaration] = STATE(452),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(452),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(1952),
+    [aux_sym_preproc_if_token1] = ACTIONS(1954),
+    [aux_sym_preproc_if_token2] = ACTIONS(1970),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1958),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1958),
+    [aux_sym_preproc_else_token1] = ACTIONS(1960),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1962),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1964),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1964),
+    [sym_preproc_directive] = ACTIONS(1966),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
     [sym_comment] = ACTIONS(3),
   },
   [435] = {
-    [sym_expression] = STATE(1032),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_initializer_list] = STATE(1671),
-    [sym_initializer_pair] = STATE(1671),
-    [sym_subscript_designator] = STATE(1410),
-    [sym_subscript_range_designator] = STATE(1410),
-    [sym_field_designator] = STATE(1410),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_initializer_pair_repeat1] = STATE(1410),
-    [sym_identifier] = ACTIONS(1937),
-    [anon_sym_LPAREN2] = ACTIONS(19),
-    [anon_sym_BANG] = ACTIONS(21),
-    [anon_sym_TILDE] = ACTIONS(21),
-    [anon_sym_DASH] = ACTIONS(23),
-    [anon_sym_PLUS] = ACTIONS(23),
-    [anon_sym_STAR] = ACTIONS(25),
-    [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACE] = ACTIONS(1391),
-    [anon_sym_RBRACE] = ACTIONS(1973),
-    [anon_sym_LBRACK] = ACTIONS(1943),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [anon_sym_DOT] = ACTIONS(1945),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [sym_preproc_def] = STATE(452),
+    [sym_preproc_function_def] = STATE(452),
+    [sym_preproc_call] = STATE(452),
+    [sym_preproc_if_in_field_declaration_list] = STATE(452),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(452),
+    [sym_preproc_else_in_field_declaration_list] = STATE(1829),
+    [sym_preproc_elif_in_field_declaration_list] = STATE(1829),
+    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1829),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1286),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(452),
+    [sym_field_declaration] = STATE(452),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(452),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(1952),
+    [aux_sym_preproc_if_token1] = ACTIONS(1954),
+    [aux_sym_preproc_if_token2] = ACTIONS(1972),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1958),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1958),
+    [aux_sym_preproc_else_token1] = ACTIONS(1960),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1962),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1964),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1964),
+    [sym_preproc_directive] = ACTIONS(1966),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
     [sym_comment] = ACTIONS(3),
   },
   [436] = {
-    [sym_preproc_def] = STATE(444),
-    [sym_preproc_function_def] = STATE(444),
-    [sym_preproc_call] = STATE(444),
-    [sym_preproc_if_in_field_declaration_list] = STATE(444),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(444),
-    [sym_preproc_else_in_field_declaration_list] = STATE(1889),
-    [sym_preproc_elif_in_field_declaration_list] = STATE(1889),
-    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1889),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1268),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(444),
-    [sym_field_declaration] = STATE(444),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(444),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(1953),
-    [aux_sym_preproc_if_token1] = ACTIONS(1955),
-    [aux_sym_preproc_if_token2] = ACTIONS(1975),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1959),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1959),
-    [aux_sym_preproc_else_token1] = ACTIONS(1961),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1963),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1965),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1965),
-    [sym_preproc_directive] = ACTIONS(1967),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
+    [sym_preproc_def] = STATE(452),
+    [sym_preproc_function_def] = STATE(452),
+    [sym_preproc_call] = STATE(452),
+    [sym_preproc_if_in_field_declaration_list] = STATE(452),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(452),
+    [sym_preproc_else_in_field_declaration_list] = STATE(1788),
+    [sym_preproc_elif_in_field_declaration_list] = STATE(1788),
+    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1788),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1286),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(452),
+    [sym_field_declaration] = STATE(452),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(452),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(1952),
+    [aux_sym_preproc_if_token1] = ACTIONS(1954),
+    [aux_sym_preproc_if_token2] = ACTIONS(1974),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1958),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1958),
+    [aux_sym_preproc_else_token1] = ACTIONS(1960),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1962),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1964),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1964),
+    [sym_preproc_directive] = ACTIONS(1966),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
     [sym_comment] = ACTIONS(3),
   },
   [437] = {
-    [sym_preproc_def] = STATE(449),
-    [sym_preproc_function_def] = STATE(449),
-    [sym_preproc_call] = STATE(449),
-    [sym_preproc_if_in_field_declaration_list] = STATE(449),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(449),
-    [sym_preproc_else_in_field_declaration_list] = STATE(1950),
-    [sym_preproc_elif_in_field_declaration_list] = STATE(1950),
-    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1950),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1268),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(449),
-    [sym_field_declaration] = STATE(449),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(449),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(1953),
-    [aux_sym_preproc_if_token1] = ACTIONS(1955),
-    [aux_sym_preproc_if_token2] = ACTIONS(1977),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1959),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1959),
-    [aux_sym_preproc_else_token1] = ACTIONS(1961),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1963),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1965),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1965),
-    [sym_preproc_directive] = ACTIONS(1967),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
+    [sym_preproc_def] = STATE(436),
+    [sym_preproc_function_def] = STATE(436),
+    [sym_preproc_call] = STATE(436),
+    [sym_preproc_if_in_field_declaration_list] = STATE(436),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(436),
+    [sym_preproc_else_in_field_declaration_list] = STATE(1947),
+    [sym_preproc_elif_in_field_declaration_list] = STATE(1947),
+    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1947),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1286),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(436),
+    [sym_field_declaration] = STATE(436),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(436),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(1952),
+    [aux_sym_preproc_if_token1] = ACTIONS(1954),
+    [aux_sym_preproc_if_token2] = ACTIONS(1976),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1958),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1958),
+    [aux_sym_preproc_else_token1] = ACTIONS(1960),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1962),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1964),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1964),
+    [sym_preproc_directive] = ACTIONS(1966),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
     [sym_comment] = ACTIONS(3),
   },
   [438] = {
-    [sym_preproc_def] = STATE(441),
-    [sym_preproc_function_def] = STATE(441),
-    [sym_preproc_call] = STATE(441),
-    [sym_preproc_if_in_field_declaration_list] = STATE(441),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(441),
+    [sym_preproc_def] = STATE(434),
+    [sym_preproc_function_def] = STATE(434),
+    [sym_preproc_call] = STATE(434),
+    [sym_preproc_if_in_field_declaration_list] = STATE(434),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(434),
+    [sym_preproc_else_in_field_declaration_list] = STATE(1804),
+    [sym_preproc_elif_in_field_declaration_list] = STATE(1804),
+    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1804),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1286),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(434),
+    [sym_field_declaration] = STATE(434),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(434),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(1952),
+    [aux_sym_preproc_if_token1] = ACTIONS(1954),
+    [aux_sym_preproc_if_token2] = ACTIONS(1978),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1958),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1958),
+    [aux_sym_preproc_else_token1] = ACTIONS(1960),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1962),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1964),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1964),
+    [sym_preproc_directive] = ACTIONS(1966),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [sym_comment] = ACTIONS(3),
+  },
+  [439] = {
+    [sym_preproc_def] = STATE(452),
+    [sym_preproc_function_def] = STATE(452),
+    [sym_preproc_call] = STATE(452),
+    [sym_preproc_if_in_field_declaration_list] = STATE(452),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(452),
     [sym_preproc_else_in_field_declaration_list] = STATE(1818),
     [sym_preproc_elif_in_field_declaration_list] = STATE(1818),
     [sym_preproc_elifdef_in_field_declaration_list] = STATE(1818),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1268),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(441),
-    [sym_field_declaration] = STATE(441),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(441),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(1953),
-    [aux_sym_preproc_if_token1] = ACTIONS(1955),
-    [aux_sym_preproc_if_token2] = ACTIONS(1979),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1959),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1959),
-    [aux_sym_preproc_else_token1] = ACTIONS(1961),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1963),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1965),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1965),
-    [sym_preproc_directive] = ACTIONS(1967),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1286),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(452),
+    [sym_field_declaration] = STATE(452),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(452),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(1952),
+    [aux_sym_preproc_if_token1] = ACTIONS(1954),
+    [aux_sym_preproc_if_token2] = ACTIONS(1980),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1958),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1958),
+    [aux_sym_preproc_else_token1] = ACTIONS(1960),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1962),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1964),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1964),
+    [sym_preproc_directive] = ACTIONS(1966),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
     [sym_comment] = ACTIONS(3),
   },
-  [439] = {
+  [440] = {
+    [sym_preproc_def] = STATE(452),
+    [sym_preproc_function_def] = STATE(452),
+    [sym_preproc_call] = STATE(452),
+    [sym_preproc_if_in_field_declaration_list] = STATE(452),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(452),
+    [sym_preproc_else_in_field_declaration_list] = STATE(1887),
+    [sym_preproc_elif_in_field_declaration_list] = STATE(1887),
+    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1887),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1286),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(452),
+    [sym_field_declaration] = STATE(452),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(452),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(1952),
+    [aux_sym_preproc_if_token1] = ACTIONS(1954),
+    [aux_sym_preproc_if_token2] = ACTIONS(1982),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1958),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1958),
+    [aux_sym_preproc_else_token1] = ACTIONS(1960),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1962),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1964),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1964),
+    [sym_preproc_directive] = ACTIONS(1966),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [sym_comment] = ACTIONS(3),
+  },
+  [441] = {
+    [sym_preproc_def] = STATE(433),
+    [sym_preproc_function_def] = STATE(433),
+    [sym_preproc_call] = STATE(433),
+    [sym_preproc_if_in_field_declaration_list] = STATE(433),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(433),
+    [sym_preproc_else_in_field_declaration_list] = STATE(1891),
+    [sym_preproc_elif_in_field_declaration_list] = STATE(1891),
+    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1891),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1286),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(433),
+    [sym_field_declaration] = STATE(433),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(433),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(1952),
+    [aux_sym_preproc_if_token1] = ACTIONS(1954),
+    [aux_sym_preproc_if_token2] = ACTIONS(1984),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1958),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1958),
+    [aux_sym_preproc_else_token1] = ACTIONS(1960),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1962),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1964),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1964),
+    [sym_preproc_directive] = ACTIONS(1966),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [sym_comment] = ACTIONS(3),
+  },
+  [442] = {
+    [sym_preproc_def] = STATE(444),
+    [sym_preproc_function_def] = STATE(444),
+    [sym_preproc_call] = STATE(444),
+    [sym_preproc_if_in_field_declaration_list] = STATE(444),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(444),
+    [sym_preproc_else_in_field_declaration_list] = STATE(2005),
+    [sym_preproc_elif_in_field_declaration_list] = STATE(2005),
+    [sym_preproc_elifdef_in_field_declaration_list] = STATE(2005),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1286),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(444),
+    [sym_field_declaration] = STATE(444),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(444),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(1952),
+    [aux_sym_preproc_if_token1] = ACTIONS(1954),
+    [aux_sym_preproc_if_token2] = ACTIONS(1986),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1958),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1958),
+    [aux_sym_preproc_else_token1] = ACTIONS(1960),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1962),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1964),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1964),
+    [sym_preproc_directive] = ACTIONS(1966),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [sym_comment] = ACTIONS(3),
+  },
+  [443] = {
     [sym_preproc_def] = STATE(445),
     [sym_preproc_function_def] = STATE(445),
     [sym_preproc_call] = STATE(445),
     [sym_preproc_if_in_field_declaration_list] = STATE(445),
     [sym_preproc_ifdef_in_field_declaration_list] = STATE(445),
-    [sym_preproc_else_in_field_declaration_list] = STATE(1902),
-    [sym_preproc_elif_in_field_declaration_list] = STATE(1902),
-    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1902),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1268),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
+    [sym_preproc_else_in_field_declaration_list] = STATE(1907),
+    [sym_preproc_elif_in_field_declaration_list] = STATE(1907),
+    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1907),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1286),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
     [sym__field_declaration_list_item] = STATE(445),
     [sym_field_declaration] = STATE(445),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(445),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(1953),
-    [aux_sym_preproc_if_token1] = ACTIONS(1955),
-    [aux_sym_preproc_if_token2] = ACTIONS(1981),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1959),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1959),
-    [aux_sym_preproc_else_token1] = ACTIONS(1961),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1963),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1965),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1965),
-    [sym_preproc_directive] = ACTIONS(1967),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(1952),
+    [aux_sym_preproc_if_token1] = ACTIONS(1954),
+    [aux_sym_preproc_if_token2] = ACTIONS(1988),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1958),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1958),
+    [aux_sym_preproc_else_token1] = ACTIONS(1960),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1962),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1964),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1964),
+    [sym_preproc_directive] = ACTIONS(1966),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
     [sym_comment] = ACTIONS(3),
   },
-  [440] = {
-    [sym_preproc_def] = STATE(451),
-    [sym_preproc_function_def] = STATE(451),
-    [sym_preproc_call] = STATE(451),
-    [sym_preproc_if_in_field_declaration_list] = STATE(451),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(451),
-    [sym_preproc_else_in_field_declaration_list] = STATE(1839),
-    [sym_preproc_elif_in_field_declaration_list] = STATE(1839),
-    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1839),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1268),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(451),
-    [sym_field_declaration] = STATE(451),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(451),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(1953),
-    [aux_sym_preproc_if_token1] = ACTIONS(1955),
-    [aux_sym_preproc_if_token2] = ACTIONS(1983),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1959),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1959),
-    [aux_sym_preproc_else_token1] = ACTIONS(1961),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1963),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1965),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1965),
-    [sym_preproc_directive] = ACTIONS(1967),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
+  [444] = {
+    [sym_preproc_def] = STATE(452),
+    [sym_preproc_function_def] = STATE(452),
+    [sym_preproc_call] = STATE(452),
+    [sym_preproc_if_in_field_declaration_list] = STATE(452),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(452),
+    [sym_preproc_else_in_field_declaration_list] = STATE(1777),
+    [sym_preproc_elif_in_field_declaration_list] = STATE(1777),
+    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1777),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1286),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(452),
+    [sym_field_declaration] = STATE(452),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(452),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(1952),
+    [aux_sym_preproc_if_token1] = ACTIONS(1954),
+    [aux_sym_preproc_if_token2] = ACTIONS(1990),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1958),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1958),
+    [aux_sym_preproc_else_token1] = ACTIONS(1960),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1962),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1964),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1964),
+    [sym_preproc_directive] = ACTIONS(1966),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
     [sym_comment] = ACTIONS(3),
   },
-  [441] = {
-    [sym_preproc_def] = STATE(451),
-    [sym_preproc_function_def] = STATE(451),
-    [sym_preproc_call] = STATE(451),
-    [sym_preproc_if_in_field_declaration_list] = STATE(451),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(451),
-    [sym_preproc_else_in_field_declaration_list] = STATE(1836),
-    [sym_preproc_elif_in_field_declaration_list] = STATE(1836),
-    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1836),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1268),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(451),
-    [sym_field_declaration] = STATE(451),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(451),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(1953),
-    [aux_sym_preproc_if_token1] = ACTIONS(1955),
-    [aux_sym_preproc_if_token2] = ACTIONS(1985),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1959),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1959),
-    [aux_sym_preproc_else_token1] = ACTIONS(1961),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1963),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1965),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1965),
-    [sym_preproc_directive] = ACTIONS(1967),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
+  [445] = {
+    [sym_preproc_def] = STATE(452),
+    [sym_preproc_function_def] = STATE(452),
+    [sym_preproc_call] = STATE(452),
+    [sym_preproc_if_in_field_declaration_list] = STATE(452),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(452),
+    [sym_preproc_else_in_field_declaration_list] = STATE(1779),
+    [sym_preproc_elif_in_field_declaration_list] = STATE(1779),
+    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1779),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1286),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(452),
+    [sym_field_declaration] = STATE(452),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(452),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(1952),
+    [aux_sym_preproc_if_token1] = ACTIONS(1954),
+    [aux_sym_preproc_if_token2] = ACTIONS(1992),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1958),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1958),
+    [aux_sym_preproc_else_token1] = ACTIONS(1960),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1962),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1964),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1964),
+    [sym_preproc_directive] = ACTIONS(1966),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
     [sym_comment] = ACTIONS(3),
   },
-  [442] = {
-    [sym_preproc_def] = STATE(447),
-    [sym_preproc_function_def] = STATE(447),
-    [sym_preproc_call] = STATE(447),
-    [sym_preproc_if_in_field_declaration_list] = STATE(447),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(447),
-    [sym_preproc_else_in_field_declaration_list] = STATE(1999),
-    [sym_preproc_elif_in_field_declaration_list] = STATE(1999),
-    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1999),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1268),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(447),
-    [sym_field_declaration] = STATE(447),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(447),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(1953),
-    [aux_sym_preproc_if_token1] = ACTIONS(1955),
-    [aux_sym_preproc_if_token2] = ACTIONS(1987),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1959),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1959),
-    [aux_sym_preproc_else_token1] = ACTIONS(1961),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1963),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1965),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1965),
-    [sym_preproc_directive] = ACTIONS(1967),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
+  [446] = {
+    [sym_preproc_def] = STATE(440),
+    [sym_preproc_function_def] = STATE(440),
+    [sym_preproc_call] = STATE(440),
+    [sym_preproc_if_in_field_declaration_list] = STATE(440),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(440),
+    [sym_preproc_else_in_field_declaration_list] = STATE(1980),
+    [sym_preproc_elif_in_field_declaration_list] = STATE(1980),
+    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1980),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1286),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(440),
+    [sym_field_declaration] = STATE(440),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(440),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(1952),
+    [aux_sym_preproc_if_token1] = ACTIONS(1954),
+    [aux_sym_preproc_if_token2] = ACTIONS(1994),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1958),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1958),
+    [aux_sym_preproc_else_token1] = ACTIONS(1960),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1962),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1964),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1964),
+    [sym_preproc_directive] = ACTIONS(1966),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
     [sym_comment] = ACTIONS(3),
   },
-  [443] = {
-    [sym_expression] = STATE(1032),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_initializer_list] = STATE(1671),
-    [sym_initializer_pair] = STATE(1671),
-    [sym_subscript_designator] = STATE(1410),
-    [sym_subscript_range_designator] = STATE(1410),
-    [sym_field_designator] = STATE(1410),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_initializer_pair_repeat1] = STATE(1410),
-    [sym_identifier] = ACTIONS(1937),
+  [447] = {
+    [sym_expression] = STATE(1025),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_initializer_list] = STATE(1626),
+    [sym_initializer_pair] = STATE(1626),
+    [sym_subscript_designator] = STATE(1456),
+    [sym_subscript_range_designator] = STATE(1456),
+    [sym_field_designator] = STATE(1456),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_initializer_pair_repeat1] = STATE(1456),
+    [sym_identifier] = ACTIONS(1996),
+    [anon_sym_COMMA] = ACTIONS(1998),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -60886,517 +61687,222 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACE] = ACTIONS(1391),
-    [anon_sym_RBRACE] = ACTIONS(1989),
-    [anon_sym_LBRACK] = ACTIONS(1943),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [anon_sym_DOT] = ACTIONS(1945),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
-    [sym_comment] = ACTIONS(3),
-  },
-  [444] = {
-    [sym_preproc_def] = STATE(451),
-    [sym_preproc_function_def] = STATE(451),
-    [sym_preproc_call] = STATE(451),
-    [sym_preproc_if_in_field_declaration_list] = STATE(451),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(451),
-    [sym_preproc_else_in_field_declaration_list] = STATE(1907),
-    [sym_preproc_elif_in_field_declaration_list] = STATE(1907),
-    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1907),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1268),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(451),
-    [sym_field_declaration] = STATE(451),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(451),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(1953),
-    [aux_sym_preproc_if_token1] = ACTIONS(1955),
-    [aux_sym_preproc_if_token2] = ACTIONS(1991),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1959),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1959),
-    [aux_sym_preproc_else_token1] = ACTIONS(1961),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1963),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1965),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1965),
-    [sym_preproc_directive] = ACTIONS(1967),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [sym_comment] = ACTIONS(3),
-  },
-  [445] = {
-    [sym_preproc_def] = STATE(451),
-    [sym_preproc_function_def] = STATE(451),
-    [sym_preproc_call] = STATE(451),
-    [sym_preproc_if_in_field_declaration_list] = STATE(451),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(451),
-    [sym_preproc_else_in_field_declaration_list] = STATE(1913),
-    [sym_preproc_elif_in_field_declaration_list] = STATE(1913),
-    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1913),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1268),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(451),
-    [sym_field_declaration] = STATE(451),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(451),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(1953),
-    [aux_sym_preproc_if_token1] = ACTIONS(1955),
-    [aux_sym_preproc_if_token2] = ACTIONS(1993),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1959),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1959),
-    [aux_sym_preproc_else_token1] = ACTIONS(1961),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1963),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1965),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1965),
-    [sym_preproc_directive] = ACTIONS(1967),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [sym_comment] = ACTIONS(3),
-  },
-  [446] = {
-    [sym_preproc_def] = STATE(451),
-    [sym_preproc_function_def] = STATE(451),
-    [sym_preproc_call] = STATE(451),
-    [sym_preproc_if_in_field_declaration_list] = STATE(451),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(451),
-    [sym_preproc_else_in_field_declaration_list] = STATE(1899),
-    [sym_preproc_elif_in_field_declaration_list] = STATE(1899),
-    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1899),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1268),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(451),
-    [sym_field_declaration] = STATE(451),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(451),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(1953),
-    [aux_sym_preproc_if_token1] = ACTIONS(1955),
-    [aux_sym_preproc_if_token2] = ACTIONS(1995),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1959),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1959),
-    [aux_sym_preproc_else_token1] = ACTIONS(1961),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1963),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1965),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1965),
-    [sym_preproc_directive] = ACTIONS(1967),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
-    [sym_comment] = ACTIONS(3),
-  },
-  [447] = {
-    [sym_preproc_def] = STATE(451),
-    [sym_preproc_function_def] = STATE(451),
-    [sym_preproc_call] = STATE(451),
-    [sym_preproc_if_in_field_declaration_list] = STATE(451),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(451),
-    [sym_preproc_else_in_field_declaration_list] = STATE(1981),
-    [sym_preproc_elif_in_field_declaration_list] = STATE(1981),
-    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1981),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1268),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(451),
-    [sym_field_declaration] = STATE(451),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(451),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(1953),
-    [aux_sym_preproc_if_token1] = ACTIONS(1955),
-    [aux_sym_preproc_if_token2] = ACTIONS(1997),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1959),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1959),
-    [aux_sym_preproc_else_token1] = ACTIONS(1961),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1963),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1965),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1965),
-    [sym_preproc_directive] = ACTIONS(1967),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACE] = ACTIONS(1398),
+    [anon_sym_RBRACE] = ACTIONS(2000),
+    [anon_sym_LBRACK] = ACTIONS(2002),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [anon_sym_DOT] = ACTIONS(2004),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [448] = {
-    [sym_preproc_def] = STATE(434),
-    [sym_preproc_function_def] = STATE(434),
-    [sym_preproc_call] = STATE(434),
-    [sym_preproc_if_in_field_declaration_list] = STATE(434),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(434),
-    [sym_preproc_else_in_field_declaration_list] = STATE(1982),
-    [sym_preproc_elif_in_field_declaration_list] = STATE(1982),
-    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1982),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1268),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(434),
-    [sym_field_declaration] = STATE(434),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(434),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(1953),
-    [aux_sym_preproc_if_token1] = ACTIONS(1955),
-    [aux_sym_preproc_if_token2] = ACTIONS(1999),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1959),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1959),
-    [aux_sym_preproc_else_token1] = ACTIONS(1961),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1963),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1965),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1965),
-    [sym_preproc_directive] = ACTIONS(1967),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
+    [sym_preproc_def] = STATE(435),
+    [sym_preproc_function_def] = STATE(435),
+    [sym_preproc_call] = STATE(435),
+    [sym_preproc_if_in_field_declaration_list] = STATE(435),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(435),
+    [sym_preproc_else_in_field_declaration_list] = STATE(1993),
+    [sym_preproc_elif_in_field_declaration_list] = STATE(1993),
+    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1993),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1286),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(435),
+    [sym_field_declaration] = STATE(435),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(435),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(1952),
+    [aux_sym_preproc_if_token1] = ACTIONS(1954),
+    [aux_sym_preproc_if_token2] = ACTIONS(2006),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(1958),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(1958),
+    [aux_sym_preproc_else_token1] = ACTIONS(1960),
+    [aux_sym_preproc_elif_token1] = ACTIONS(1962),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(1964),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(1964),
+    [sym_preproc_directive] = ACTIONS(1966),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
     [sym_comment] = ACTIONS(3),
   },
   [449] = {
-    [sym_preproc_def] = STATE(451),
-    [sym_preproc_function_def] = STATE(451),
-    [sym_preproc_call] = STATE(451),
-    [sym_preproc_if_in_field_declaration_list] = STATE(451),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(451),
-    [sym_preproc_else_in_field_declaration_list] = STATE(1970),
-    [sym_preproc_elif_in_field_declaration_list] = STATE(1970),
-    [sym_preproc_elifdef_in_field_declaration_list] = STATE(1970),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1268),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(451),
-    [sym_field_declaration] = STATE(451),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(451),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(1953),
-    [aux_sym_preproc_if_token1] = ACTIONS(1955),
-    [aux_sym_preproc_if_token2] = ACTIONS(2001),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(1959),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(1959),
-    [aux_sym_preproc_else_token1] = ACTIONS(1961),
-    [aux_sym_preproc_elif_token1] = ACTIONS(1963),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(1965),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(1965),
-    [sym_preproc_directive] = ACTIONS(1967),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
+    [sym_expression] = STATE(1045),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_initializer_list] = STATE(1688),
+    [sym_initializer_pair] = STATE(1688),
+    [sym_subscript_designator] = STATE(1456),
+    [sym_subscript_range_designator] = STATE(1456),
+    [sym_field_designator] = STATE(1456),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_initializer_pair_repeat1] = STATE(1456),
+    [sym_identifier] = ACTIONS(1996),
+    [anon_sym_LPAREN2] = ACTIONS(19),
+    [anon_sym_BANG] = ACTIONS(21),
+    [anon_sym_TILDE] = ACTIONS(21),
+    [anon_sym_DASH] = ACTIONS(23),
+    [anon_sym_PLUS] = ACTIONS(23),
+    [anon_sym_STAR] = ACTIONS(25),
+    [anon_sym_AMP] = ACTIONS(25),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACE] = ACTIONS(1398),
+    [anon_sym_RBRACE] = ACTIONS(2008),
+    [anon_sym_LBRACK] = ACTIONS(2002),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [anon_sym_DOT] = ACTIONS(2004),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [450] = {
-    [sym_expression] = STATE(1032),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_initializer_list] = STATE(1671),
-    [sym_initializer_pair] = STATE(1671),
-    [sym_subscript_designator] = STATE(1410),
-    [sym_subscript_range_designator] = STATE(1410),
-    [sym_field_designator] = STATE(1410),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [aux_sym_initializer_pair_repeat1] = STATE(1410),
-    [sym_identifier] = ACTIONS(1937),
+    [sym_expression] = STATE(1045),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_initializer_list] = STATE(1688),
+    [sym_initializer_pair] = STATE(1688),
+    [sym_subscript_designator] = STATE(1456),
+    [sym_subscript_range_designator] = STATE(1456),
+    [sym_field_designator] = STATE(1456),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_initializer_pair_repeat1] = STATE(1456),
+    [sym_identifier] = ACTIONS(1996),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -61404,139 +61910,73 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACE] = ACTIONS(1391),
-    [anon_sym_LBRACK] = ACTIONS(1943),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [anon_sym_DOT] = ACTIONS(1945),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACE] = ACTIONS(1398),
+    [anon_sym_RBRACE] = ACTIONS(2010),
+    [anon_sym_LBRACK] = ACTIONS(2002),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [anon_sym_DOT] = ACTIONS(2004),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
   [451] = {
-    [sym_preproc_def] = STATE(451),
-    [sym_preproc_function_def] = STATE(451),
-    [sym_preproc_call] = STATE(451),
-    [sym_preproc_if_in_field_declaration_list] = STATE(451),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(451),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1268),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(451),
-    [sym_field_declaration] = STATE(451),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(451),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(2003),
-    [aux_sym_preproc_def_token1] = ACTIONS(2006),
-    [aux_sym_preproc_if_token1] = ACTIONS(2009),
-    [aux_sym_preproc_if_token2] = ACTIONS(2012),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(2014),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(2014),
-    [aux_sym_preproc_else_token1] = ACTIONS(2012),
-    [aux_sym_preproc_elif_token1] = ACTIONS(2012),
-    [aux_sym_preproc_elifdef_token1] = ACTIONS(2012),
-    [aux_sym_preproc_elifdef_token2] = ACTIONS(2012),
-    [sym_preproc_directive] = ACTIONS(2017),
-    [anon_sym___extension__] = ACTIONS(2020),
-    [anon_sym_extern] = ACTIONS(2023),
-    [anon_sym___attribute__] = ACTIONS(2026),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(2029),
-    [anon_sym___declspec] = ACTIONS(2032),
-    [anon_sym_signed] = ACTIONS(2035),
-    [anon_sym_unsigned] = ACTIONS(2035),
-    [anon_sym_long] = ACTIONS(2035),
-    [anon_sym_short] = ACTIONS(2035),
-    [anon_sym_static] = ACTIONS(2023),
-    [anon_sym_auto] = ACTIONS(2023),
-    [anon_sym_register] = ACTIONS(2023),
-    [anon_sym_inline] = ACTIONS(2023),
-    [anon_sym___inline] = ACTIONS(2023),
-    [anon_sym___inline__] = ACTIONS(2023),
-    [anon_sym___forceinline] = ACTIONS(2023),
-    [anon_sym_thread_local] = ACTIONS(2023),
-    [anon_sym___thread] = ACTIONS(2023),
-    [anon_sym_const] = ACTIONS(2020),
-    [anon_sym_constexpr] = ACTIONS(2020),
-    [anon_sym_volatile] = ACTIONS(2020),
-    [anon_sym_restrict] = ACTIONS(2020),
-    [anon_sym___restrict__] = ACTIONS(2020),
-    [anon_sym__Atomic] = ACTIONS(2020),
-    [anon_sym__Noreturn] = ACTIONS(2020),
-    [anon_sym_noreturn] = ACTIONS(2020),
-    [anon_sym__Nonnull] = ACTIONS(2020),
-    [anon_sym_alignas] = ACTIONS(2038),
-    [anon_sym__Alignas] = ACTIONS(2038),
-    [sym_primitive_type] = ACTIONS(2041),
-    [anon_sym_enum] = ACTIONS(2044),
-    [anon_sym_struct] = ACTIONS(2047),
-    [anon_sym_union] = ACTIONS(2050),
-    [sym_comment] = ACTIONS(3),
-  },
-  [452] = {
-    [sym_compound_statement] = STATE(1947),
-    [sym_expression] = STATE(1034),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1947),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_identifier] = ACTIONS(1737),
+    [sym_expression] = STATE(1045),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_initializer_list] = STATE(1688),
+    [sym_initializer_pair] = STATE(1688),
+    [sym_subscript_designator] = STATE(1456),
+    [sym_subscript_range_designator] = STATE(1456),
+    [sym_field_designator] = STATE(1456),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [aux_sym_initializer_pair_repeat1] = STATE(1456),
+    [sym_identifier] = ACTIONS(1996),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -61544,237 +61984,314 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACE] = ACTIONS(1398),
+    [anon_sym_LBRACK] = ACTIONS(2002),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [anon_sym_DOT] = ACTIONS(2004),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [453] = {
-    [sym_preproc_def] = STATE(456),
-    [sym_preproc_function_def] = STATE(456),
-    [sym_preproc_call] = STATE(456),
-    [sym_preproc_if_in_field_declaration_list] = STATE(456),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(456),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1272),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(456),
-    [sym_field_declaration] = STATE(456),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(456),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(2053),
-    [aux_sym_preproc_if_token1] = ACTIONS(2055),
-    [aux_sym_preproc_if_token2] = ACTIONS(2057),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(2059),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(2059),
-    [sym_preproc_directive] = ACTIONS(2061),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
+  [452] = {
+    [sym_preproc_def] = STATE(452),
+    [sym_preproc_function_def] = STATE(452),
+    [sym_preproc_call] = STATE(452),
+    [sym_preproc_if_in_field_declaration_list] = STATE(452),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(452),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1286),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(452),
+    [sym_field_declaration] = STATE(452),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(452),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(2012),
+    [aux_sym_preproc_def_token1] = ACTIONS(2015),
+    [aux_sym_preproc_if_token1] = ACTIONS(2018),
+    [aux_sym_preproc_if_token2] = ACTIONS(2021),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(2023),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(2023),
+    [aux_sym_preproc_else_token1] = ACTIONS(2021),
+    [aux_sym_preproc_elif_token1] = ACTIONS(2021),
+    [aux_sym_preproc_elifdef_token1] = ACTIONS(2021),
+    [aux_sym_preproc_elifdef_token2] = ACTIONS(2021),
+    [sym_preproc_directive] = ACTIONS(2026),
+    [anon_sym___extension__] = ACTIONS(2029),
+    [anon_sym_extern] = ACTIONS(2032),
+    [anon_sym___attribute__] = ACTIONS(2035),
+    [anon_sym___attribute] = ACTIONS(2035),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(2038),
+    [anon_sym___declspec] = ACTIONS(2041),
+    [anon_sym_signed] = ACTIONS(2044),
+    [anon_sym_unsigned] = ACTIONS(2044),
+    [anon_sym_long] = ACTIONS(2044),
+    [anon_sym_short] = ACTIONS(2044),
+    [anon_sym_static] = ACTIONS(2032),
+    [anon_sym_auto] = ACTIONS(2032),
+    [anon_sym_register] = ACTIONS(2032),
+    [anon_sym_inline] = ACTIONS(2032),
+    [anon_sym___inline] = ACTIONS(2032),
+    [anon_sym___inline__] = ACTIONS(2032),
+    [anon_sym___forceinline] = ACTIONS(2032),
+    [anon_sym_thread_local] = ACTIONS(2032),
+    [anon_sym___thread] = ACTIONS(2032),
+    [anon_sym_const] = ACTIONS(2029),
+    [anon_sym_constexpr] = ACTIONS(2029),
+    [anon_sym_volatile] = ACTIONS(2029),
+    [anon_sym_restrict] = ACTIONS(2029),
+    [anon_sym___restrict__] = ACTIONS(2029),
+    [anon_sym__Atomic] = ACTIONS(2029),
+    [anon_sym__Noreturn] = ACTIONS(2029),
+    [anon_sym_noreturn] = ACTIONS(2029),
+    [anon_sym__Nonnull] = ACTIONS(2029),
+    [anon_sym_alignas] = ACTIONS(2047),
+    [anon_sym__Alignas] = ACTIONS(2047),
+    [sym_primitive_type] = ACTIONS(2050),
+    [anon_sym_enum] = ACTIONS(2053),
+    [anon_sym_struct] = ACTIONS(2056),
+    [anon_sym_union] = ACTIONS(2059),
     [sym_comment] = ACTIONS(3),
   },
-  [454] = {
+  [453] = {
     [sym_preproc_def] = STATE(454),
     [sym_preproc_function_def] = STATE(454),
     [sym_preproc_call] = STATE(454),
     [sym_preproc_if_in_field_declaration_list] = STATE(454),
     [sym_preproc_ifdef_in_field_declaration_list] = STATE(454),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1273),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1284),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
     [sym__field_declaration_list_item] = STATE(454),
     [sym_field_declaration] = STATE(454),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(454),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(2003),
-    [aux_sym_preproc_def_token1] = ACTIONS(2063),
-    [aux_sym_preproc_if_token1] = ACTIONS(2066),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(2069),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(2069),
-    [sym_preproc_directive] = ACTIONS(2072),
-    [anon_sym___extension__] = ACTIONS(2020),
-    [anon_sym_extern] = ACTIONS(2023),
-    [anon_sym___attribute__] = ACTIONS(2026),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(2029),
-    [anon_sym___declspec] = ACTIONS(2032),
-    [anon_sym_RBRACE] = ACTIONS(2075),
-    [anon_sym_signed] = ACTIONS(2035),
-    [anon_sym_unsigned] = ACTIONS(2035),
-    [anon_sym_long] = ACTIONS(2035),
-    [anon_sym_short] = ACTIONS(2035),
-    [anon_sym_static] = ACTIONS(2023),
-    [anon_sym_auto] = ACTIONS(2023),
-    [anon_sym_register] = ACTIONS(2023),
-    [anon_sym_inline] = ACTIONS(2023),
-    [anon_sym___inline] = ACTIONS(2023),
-    [anon_sym___inline__] = ACTIONS(2023),
-    [anon_sym___forceinline] = ACTIONS(2023),
-    [anon_sym_thread_local] = ACTIONS(2023),
-    [anon_sym___thread] = ACTIONS(2023),
-    [anon_sym_const] = ACTIONS(2020),
-    [anon_sym_constexpr] = ACTIONS(2020),
-    [anon_sym_volatile] = ACTIONS(2020),
-    [anon_sym_restrict] = ACTIONS(2020),
-    [anon_sym___restrict__] = ACTIONS(2020),
-    [anon_sym__Atomic] = ACTIONS(2020),
-    [anon_sym__Noreturn] = ACTIONS(2020),
-    [anon_sym_noreturn] = ACTIONS(2020),
-    [anon_sym__Nonnull] = ACTIONS(2020),
-    [anon_sym_alignas] = ACTIONS(2038),
-    [anon_sym__Alignas] = ACTIONS(2038),
-    [sym_primitive_type] = ACTIONS(2041),
-    [anon_sym_enum] = ACTIONS(2044),
-    [anon_sym_struct] = ACTIONS(2047),
-    [anon_sym_union] = ACTIONS(2050),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(2062),
+    [aux_sym_preproc_if_token1] = ACTIONS(2064),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(2066),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(2066),
+    [sym_preproc_directive] = ACTIONS(2068),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_RBRACE] = ACTIONS(2070),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [sym_comment] = ACTIONS(3),
+  },
+  [454] = {
+    [sym_preproc_def] = STATE(456),
+    [sym_preproc_function_def] = STATE(456),
+    [sym_preproc_call] = STATE(456),
+    [sym_preproc_if_in_field_declaration_list] = STATE(456),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(456),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1284),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(456),
+    [sym_field_declaration] = STATE(456),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(456),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(2062),
+    [aux_sym_preproc_if_token1] = ACTIONS(2064),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(2066),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(2066),
+    [sym_preproc_directive] = ACTIONS(2068),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_RBRACE] = ACTIONS(2072),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
     [sym_comment] = ACTIONS(3),
   },
   [455] = {
-    [sym_preproc_def] = STATE(454),
-    [sym_preproc_function_def] = STATE(454),
-    [sym_preproc_call] = STATE(454),
-    [sym_preproc_if_in_field_declaration_list] = STATE(454),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(454),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1273),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(454),
-    [sym_field_declaration] = STATE(454),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(454),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(2077),
-    [aux_sym_preproc_if_token1] = ACTIONS(2079),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(2081),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(2081),
-    [sym_preproc_directive] = ACTIONS(2083),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_RBRACE] = ACTIONS(2085),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
+    [sym_preproc_def] = STATE(457),
+    [sym_preproc_function_def] = STATE(457),
+    [sym_preproc_call] = STATE(457),
+    [sym_preproc_if_in_field_declaration_list] = STATE(457),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(457),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1283),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(457),
+    [sym_field_declaration] = STATE(457),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(457),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(2074),
+    [aux_sym_preproc_if_token1] = ACTIONS(2076),
+    [aux_sym_preproc_if_token2] = ACTIONS(2078),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(2080),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(2080),
+    [sym_preproc_directive] = ACTIONS(2082),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
     [sym_comment] = ACTIONS(3),
   },
   [456] = {
@@ -61783,162 +62300,232 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [sym_preproc_call] = STATE(456),
     [sym_preproc_if_in_field_declaration_list] = STATE(456),
     [sym_preproc_ifdef_in_field_declaration_list] = STATE(456),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1272),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1284),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
     [sym__field_declaration_list_item] = STATE(456),
     [sym_field_declaration] = STATE(456),
-    [sym_macro_type_specifier] = STATE(748),
+    [sym_macro_type_specifier] = STATE(772),
     [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(456),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(2003),
-    [aux_sym_preproc_def_token1] = ACTIONS(2087),
-    [aux_sym_preproc_if_token1] = ACTIONS(2090),
-    [aux_sym_preproc_if_token2] = ACTIONS(2012),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(2093),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(2093),
-    [sym_preproc_directive] = ACTIONS(2096),
-    [anon_sym___extension__] = ACTIONS(2020),
-    [anon_sym_extern] = ACTIONS(2023),
-    [anon_sym___attribute__] = ACTIONS(2026),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(2029),
-    [anon_sym___declspec] = ACTIONS(2032),
-    [anon_sym_signed] = ACTIONS(2035),
-    [anon_sym_unsigned] = ACTIONS(2035),
-    [anon_sym_long] = ACTIONS(2035),
-    [anon_sym_short] = ACTIONS(2035),
-    [anon_sym_static] = ACTIONS(2023),
-    [anon_sym_auto] = ACTIONS(2023),
-    [anon_sym_register] = ACTIONS(2023),
-    [anon_sym_inline] = ACTIONS(2023),
-    [anon_sym___inline] = ACTIONS(2023),
-    [anon_sym___inline__] = ACTIONS(2023),
-    [anon_sym___forceinline] = ACTIONS(2023),
-    [anon_sym_thread_local] = ACTIONS(2023),
-    [anon_sym___thread] = ACTIONS(2023),
-    [anon_sym_const] = ACTIONS(2020),
-    [anon_sym_constexpr] = ACTIONS(2020),
-    [anon_sym_volatile] = ACTIONS(2020),
-    [anon_sym_restrict] = ACTIONS(2020),
-    [anon_sym___restrict__] = ACTIONS(2020),
-    [anon_sym__Atomic] = ACTIONS(2020),
-    [anon_sym__Noreturn] = ACTIONS(2020),
-    [anon_sym_noreturn] = ACTIONS(2020),
-    [anon_sym__Nonnull] = ACTIONS(2020),
-    [anon_sym_alignas] = ACTIONS(2038),
-    [anon_sym__Alignas] = ACTIONS(2038),
-    [sym_primitive_type] = ACTIONS(2041),
-    [anon_sym_enum] = ACTIONS(2044),
-    [anon_sym_struct] = ACTIONS(2047),
-    [anon_sym_union] = ACTIONS(2050),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(2012),
+    [aux_sym_preproc_def_token1] = ACTIONS(2084),
+    [aux_sym_preproc_if_token1] = ACTIONS(2087),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(2090),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(2090),
+    [sym_preproc_directive] = ACTIONS(2093),
+    [anon_sym___extension__] = ACTIONS(2029),
+    [anon_sym_extern] = ACTIONS(2032),
+    [anon_sym___attribute__] = ACTIONS(2035),
+    [anon_sym___attribute] = ACTIONS(2035),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(2038),
+    [anon_sym___declspec] = ACTIONS(2041),
+    [anon_sym_RBRACE] = ACTIONS(2096),
+    [anon_sym_signed] = ACTIONS(2044),
+    [anon_sym_unsigned] = ACTIONS(2044),
+    [anon_sym_long] = ACTIONS(2044),
+    [anon_sym_short] = ACTIONS(2044),
+    [anon_sym_static] = ACTIONS(2032),
+    [anon_sym_auto] = ACTIONS(2032),
+    [anon_sym_register] = ACTIONS(2032),
+    [anon_sym_inline] = ACTIONS(2032),
+    [anon_sym___inline] = ACTIONS(2032),
+    [anon_sym___inline__] = ACTIONS(2032),
+    [anon_sym___forceinline] = ACTIONS(2032),
+    [anon_sym_thread_local] = ACTIONS(2032),
+    [anon_sym___thread] = ACTIONS(2032),
+    [anon_sym_const] = ACTIONS(2029),
+    [anon_sym_constexpr] = ACTIONS(2029),
+    [anon_sym_volatile] = ACTIONS(2029),
+    [anon_sym_restrict] = ACTIONS(2029),
+    [anon_sym___restrict__] = ACTIONS(2029),
+    [anon_sym__Atomic] = ACTIONS(2029),
+    [anon_sym__Noreturn] = ACTIONS(2029),
+    [anon_sym_noreturn] = ACTIONS(2029),
+    [anon_sym__Nonnull] = ACTIONS(2029),
+    [anon_sym_alignas] = ACTIONS(2047),
+    [anon_sym__Alignas] = ACTIONS(2047),
+    [sym_primitive_type] = ACTIONS(2050),
+    [anon_sym_enum] = ACTIONS(2053),
+    [anon_sym_struct] = ACTIONS(2056),
+    [anon_sym_union] = ACTIONS(2059),
     [sym_comment] = ACTIONS(3),
   },
   [457] = {
-    [sym_preproc_def] = STATE(453),
-    [sym_preproc_function_def] = STATE(453),
-    [sym_preproc_call] = STATE(453),
-    [sym_preproc_if_in_field_declaration_list] = STATE(453),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(453),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1272),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(453),
-    [sym_field_declaration] = STATE(453),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(453),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(2053),
-    [aux_sym_preproc_if_token1] = ACTIONS(2055),
-    [aux_sym_preproc_if_token2] = ACTIONS(2099),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(2059),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(2059),
-    [sym_preproc_directive] = ACTIONS(2061),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
+    [sym_preproc_def] = STATE(457),
+    [sym_preproc_function_def] = STATE(457),
+    [sym_preproc_call] = STATE(457),
+    [sym_preproc_if_in_field_declaration_list] = STATE(457),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(457),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1283),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(457),
+    [sym_field_declaration] = STATE(457),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(457),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(2012),
+    [aux_sym_preproc_def_token1] = ACTIONS(2098),
+    [aux_sym_preproc_if_token1] = ACTIONS(2101),
+    [aux_sym_preproc_if_token2] = ACTIONS(2021),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(2104),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(2104),
+    [sym_preproc_directive] = ACTIONS(2107),
+    [anon_sym___extension__] = ACTIONS(2029),
+    [anon_sym_extern] = ACTIONS(2032),
+    [anon_sym___attribute__] = ACTIONS(2035),
+    [anon_sym___attribute] = ACTIONS(2035),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(2038),
+    [anon_sym___declspec] = ACTIONS(2041),
+    [anon_sym_signed] = ACTIONS(2044),
+    [anon_sym_unsigned] = ACTIONS(2044),
+    [anon_sym_long] = ACTIONS(2044),
+    [anon_sym_short] = ACTIONS(2044),
+    [anon_sym_static] = ACTIONS(2032),
+    [anon_sym_auto] = ACTIONS(2032),
+    [anon_sym_register] = ACTIONS(2032),
+    [anon_sym_inline] = ACTIONS(2032),
+    [anon_sym___inline] = ACTIONS(2032),
+    [anon_sym___inline__] = ACTIONS(2032),
+    [anon_sym___forceinline] = ACTIONS(2032),
+    [anon_sym_thread_local] = ACTIONS(2032),
+    [anon_sym___thread] = ACTIONS(2032),
+    [anon_sym_const] = ACTIONS(2029),
+    [anon_sym_constexpr] = ACTIONS(2029),
+    [anon_sym_volatile] = ACTIONS(2029),
+    [anon_sym_restrict] = ACTIONS(2029),
+    [anon_sym___restrict__] = ACTIONS(2029),
+    [anon_sym__Atomic] = ACTIONS(2029),
+    [anon_sym__Noreturn] = ACTIONS(2029),
+    [anon_sym_noreturn] = ACTIONS(2029),
+    [anon_sym__Nonnull] = ACTIONS(2029),
+    [anon_sym_alignas] = ACTIONS(2047),
+    [anon_sym__Alignas] = ACTIONS(2047),
+    [sym_primitive_type] = ACTIONS(2050),
+    [anon_sym_enum] = ACTIONS(2053),
+    [anon_sym_struct] = ACTIONS(2056),
+    [anon_sym_union] = ACTIONS(2059),
     [sym_comment] = ACTIONS(3),
   },
   [458] = {
-    [sym_compound_statement] = STATE(1597),
-    [sym_expression] = STATE(1013),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_identifier] = ACTIONS(1737),
-    [anon_sym_RPAREN] = ACTIONS(2101),
+    [sym_preproc_def] = STATE(455),
+    [sym_preproc_function_def] = STATE(455),
+    [sym_preproc_call] = STATE(455),
+    [sym_preproc_if_in_field_declaration_list] = STATE(455),
+    [sym_preproc_ifdef_in_field_declaration_list] = STATE(455),
+    [sym__declaration_modifiers] = STATE(710),
+    [sym__declaration_specifiers] = STATE(1283),
+    [sym_attribute_specifier] = STATE(710),
+    [sym_attribute_declaration] = STATE(710),
+    [sym_ms_declspec_modifier] = STATE(710),
+    [sym_storage_class_specifier] = STATE(710),
+    [sym_type_qualifier] = STATE(710),
+    [sym_alignas_qualifier] = STATE(720),
+    [sym_type_specifier] = STATE(727),
+    [sym_sized_type_specifier] = STATE(772),
+    [sym_enum_specifier] = STATE(772),
+    [sym_struct_specifier] = STATE(772),
+    [sym_union_specifier] = STATE(772),
+    [sym__field_declaration_list_item] = STATE(455),
+    [sym_field_declaration] = STATE(455),
+    [sym_macro_type_specifier] = STATE(772),
+    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(455),
+    [aux_sym__declaration_specifiers_repeat1] = STATE(710),
+    [aux_sym_sized_type_specifier_repeat1] = STATE(722),
+    [sym_identifier] = ACTIONS(1946),
+    [aux_sym_preproc_def_token1] = ACTIONS(2074),
+    [aux_sym_preproc_if_token1] = ACTIONS(2076),
+    [aux_sym_preproc_if_token2] = ACTIONS(2110),
+    [aux_sym_preproc_ifdef_token1] = ACTIONS(2080),
+    [aux_sym_preproc_ifdef_token2] = ACTIONS(2080),
+    [sym_preproc_directive] = ACTIONS(2082),
+    [anon_sym___extension__] = ACTIONS(49),
+    [anon_sym_extern] = ACTIONS(47),
+    [anon_sym___attribute__] = ACTIONS(35),
+    [anon_sym___attribute] = ACTIONS(35),
+    [anon_sym_LBRACK_LBRACK] = ACTIONS(1126),
+    [anon_sym___declspec] = ACTIONS(39),
+    [anon_sym_signed] = ACTIONS(45),
+    [anon_sym_unsigned] = ACTIONS(45),
+    [anon_sym_long] = ACTIONS(45),
+    [anon_sym_short] = ACTIONS(45),
+    [anon_sym_static] = ACTIONS(47),
+    [anon_sym_auto] = ACTIONS(47),
+    [anon_sym_register] = ACTIONS(47),
+    [anon_sym_inline] = ACTIONS(47),
+    [anon_sym___inline] = ACTIONS(47),
+    [anon_sym___inline__] = ACTIONS(47),
+    [anon_sym___forceinline] = ACTIONS(47),
+    [anon_sym_thread_local] = ACTIONS(47),
+    [anon_sym___thread] = ACTIONS(47),
+    [anon_sym_const] = ACTIONS(49),
+    [anon_sym_constexpr] = ACTIONS(49),
+    [anon_sym_volatile] = ACTIONS(49),
+    [anon_sym_restrict] = ACTIONS(49),
+    [anon_sym___restrict__] = ACTIONS(49),
+    [anon_sym__Atomic] = ACTIONS(49),
+    [anon_sym__Noreturn] = ACTIONS(49),
+    [anon_sym_noreturn] = ACTIONS(49),
+    [anon_sym__Nonnull] = ACTIONS(49),
+    [anon_sym_alignas] = ACTIONS(51),
+    [anon_sym__Alignas] = ACTIONS(51),
+    [sym_primitive_type] = ACTIONS(53),
+    [anon_sym_enum] = ACTIONS(55),
+    [anon_sym_struct] = ACTIONS(57),
+    [anon_sym_union] = ACTIONS(59),
+    [sym_comment] = ACTIONS(3),
+  },
+  [459] = {
+    [sym_compound_statement] = STATE(1669),
+    [sym_expression] = STATE(1024),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_identifier] = ACTIONS(1746),
+    [anon_sym_RPAREN] = ACTIONS(2112),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -61946,66 +62533,66 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [459] = {
-    [sym_compound_statement] = STATE(1787),
-    [sym_expression] = STATE(1064),
-    [sym__string] = STATE(679),
-    [sym_comma_expression] = STATE(1787),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_identifier] = ACTIONS(1737),
+  [460] = {
+    [sym_compound_statement] = STATE(2002),
+    [sym_expression] = STATE(1053),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(2002),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_identifier] = ACTIONS(1746),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -62013,66 +62600,66 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [460] = {
-    [sym_compound_statement] = STATE(1652),
-    [sym_expression] = STATE(1016),
-    [sym__string] = STATE(679),
-    [sym_conditional_expression] = STATE(679),
-    [sym_assignment_expression] = STATE(679),
-    [sym_pointer_expression] = STATE(835),
-    [sym_unary_expression] = STATE(679),
-    [sym_binary_expression] = STATE(679),
-    [sym_update_expression] = STATE(679),
-    [sym_cast_expression] = STATE(679),
-    [sym_sizeof_expression] = STATE(679),
-    [sym_alignof_expression] = STATE(679),
-    [sym_offsetof_expression] = STATE(679),
-    [sym_generic_expression] = STATE(679),
-    [sym_subscript_expression] = STATE(835),
-    [sym_call_expression] = STATE(835),
-    [sym_gnu_asm_expression] = STATE(679),
-    [sym_extension_expression] = STATE(679),
-    [sym_field_expression] = STATE(835),
-    [sym_compound_literal_expression] = STATE(679),
-    [sym_parenthesized_expression] = STATE(835),
-    [sym_char_literal] = STATE(679),
-    [sym_concatenated_string] = STATE(679),
-    [sym_string_literal] = STATE(668),
-    [sym_null] = STATE(679),
-    [sym_identifier] = ACTIONS(1737),
-    [anon_sym_RPAREN] = ACTIONS(2103),
+  [461] = {
+    [sym_compound_statement] = STATE(1884),
+    [sym_expression] = STATE(1072),
+    [sym__string] = STATE(693),
+    [sym_comma_expression] = STATE(1884),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_identifier] = ACTIONS(1746),
     [anon_sym_LPAREN2] = ACTIONS(19),
     [anon_sym_BANG] = ACTIONS(21),
     [anon_sym_TILDE] = ACTIONS(21),
@@ -62080,103 +62667,103 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
     [anon_sym_PLUS] = ACTIONS(23),
     [anon_sym_STAR] = ACTIONS(25),
     [anon_sym_AMP] = ACTIONS(25),
-    [anon_sym___extension__] = ACTIONS(1506),
-    [anon_sym_LBRACE] = ACTIONS(41),
-    [anon_sym_DASH_DASH] = ACTIONS(81),
-    [anon_sym_PLUS_PLUS] = ACTIONS(81),
-    [anon_sym_sizeof] = ACTIONS(83),
-    [anon_sym___alignof__] = ACTIONS(85),
-    [anon_sym___alignof] = ACTIONS(85),
-    [anon_sym__alignof] = ACTIONS(85),
-    [anon_sym_alignof] = ACTIONS(85),
-    [anon_sym__Alignof] = ACTIONS(85),
-    [anon_sym_offsetof] = ACTIONS(87),
-    [anon_sym__Generic] = ACTIONS(89),
-    [anon_sym_asm] = ACTIONS(91),
-    [anon_sym___asm__] = ACTIONS(91),
-    [anon_sym___asm] = ACTIONS(91),
-    [sym_number_literal] = ACTIONS(159),
-    [anon_sym_L_SQUOTE] = ACTIONS(95),
-    [anon_sym_u_SQUOTE] = ACTIONS(95),
-    [anon_sym_U_SQUOTE] = ACTIONS(95),
-    [anon_sym_u8_SQUOTE] = ACTIONS(95),
-    [anon_sym_SQUOTE] = ACTIONS(95),
-    [anon_sym_L_DQUOTE] = ACTIONS(97),
-    [anon_sym_u_DQUOTE] = ACTIONS(97),
-    [anon_sym_U_DQUOTE] = ACTIONS(97),
-    [anon_sym_u8_DQUOTE] = ACTIONS(97),
-    [anon_sym_DQUOTE] = ACTIONS(97),
-    [sym_true] = ACTIONS(161),
-    [sym_false] = ACTIONS(161),
-    [anon_sym_NULL] = ACTIONS(101),
-    [anon_sym_nullptr] = ACTIONS(101),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
-  [461] = {
-    [sym_preproc_def] = STATE(455),
-    [sym_preproc_function_def] = STATE(455),
-    [sym_preproc_call] = STATE(455),
-    [sym_preproc_if_in_field_declaration_list] = STATE(455),
-    [sym_preproc_ifdef_in_field_declaration_list] = STATE(455),
-    [sym__declaration_modifiers] = STATE(706),
-    [sym__declaration_specifiers] = STATE(1273),
-    [sym_attribute_specifier] = STATE(706),
-    [sym_attribute_declaration] = STATE(706),
-    [sym_ms_declspec_modifier] = STATE(706),
-    [sym_storage_class_specifier] = STATE(706),
-    [sym_type_qualifier] = STATE(706),
-    [sym_alignas_qualifier] = STATE(710),
-    [sym_type_specifier] = STATE(718),
-    [sym_sized_type_specifier] = STATE(748),
-    [sym_enum_specifier] = STATE(748),
-    [sym_struct_specifier] = STATE(748),
-    [sym_union_specifier] = STATE(748),
-    [sym__field_declaration_list_item] = STATE(455),
-    [sym_field_declaration] = STATE(455),
-    [sym_macro_type_specifier] = STATE(748),
-    [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(455),
-    [aux_sym__declaration_specifiers_repeat1] = STATE(706),
-    [aux_sym_sized_type_specifier_repeat1] = STATE(751),
-    [sym_identifier] = ACTIONS(1947),
-    [aux_sym_preproc_def_token1] = ACTIONS(2077),
-    [aux_sym_preproc_if_token1] = ACTIONS(2079),
-    [aux_sym_preproc_ifdef_token1] = ACTIONS(2081),
-    [aux_sym_preproc_ifdef_token2] = ACTIONS(2081),
-    [sym_preproc_directive] = ACTIONS(2083),
-    [anon_sym___extension__] = ACTIONS(47),
-    [anon_sym_extern] = ACTIONS(45),
-    [anon_sym___attribute__] = ACTIONS(33),
-    [anon_sym_LBRACK_LBRACK] = ACTIONS(1121),
-    [anon_sym___declspec] = ACTIONS(37),
-    [anon_sym_RBRACE] = ACTIONS(2105),
-    [anon_sym_signed] = ACTIONS(43),
-    [anon_sym_unsigned] = ACTIONS(43),
-    [anon_sym_long] = ACTIONS(43),
-    [anon_sym_short] = ACTIONS(43),
-    [anon_sym_static] = ACTIONS(45),
-    [anon_sym_auto] = ACTIONS(45),
-    [anon_sym_register] = ACTIONS(45),
-    [anon_sym_inline] = ACTIONS(45),
-    [anon_sym___inline] = ACTIONS(45),
-    [anon_sym___inline__] = ACTIONS(45),
-    [anon_sym___forceinline] = ACTIONS(45),
-    [anon_sym_thread_local] = ACTIONS(45),
-    [anon_sym___thread] = ACTIONS(45),
-    [anon_sym_const] = ACTIONS(47),
-    [anon_sym_constexpr] = ACTIONS(47),
-    [anon_sym_volatile] = ACTIONS(47),
-    [anon_sym_restrict] = ACTIONS(47),
-    [anon_sym___restrict__] = ACTIONS(47),
-    [anon_sym__Atomic] = ACTIONS(47),
-    [anon_sym__Noreturn] = ACTIONS(47),
-    [anon_sym_noreturn] = ACTIONS(47),
-    [anon_sym__Nonnull] = ACTIONS(47),
-    [anon_sym_alignas] = ACTIONS(49),
-    [anon_sym__Alignas] = ACTIONS(49),
-    [sym_primitive_type] = ACTIONS(51),
-    [anon_sym_enum] = ACTIONS(53),
-    [anon_sym_struct] = ACTIONS(55),
-    [anon_sym_union] = ACTIONS(57),
+  [462] = {
+    [sym_compound_statement] = STATE(1658),
+    [sym_expression] = STATE(1026),
+    [sym__string] = STATE(693),
+    [sym_conditional_expression] = STATE(693),
+    [sym_assignment_expression] = STATE(693),
+    [sym_pointer_expression] = STATE(843),
+    [sym_unary_expression] = STATE(693),
+    [sym_binary_expression] = STATE(693),
+    [sym_update_expression] = STATE(693),
+    [sym_cast_expression] = STATE(693),
+    [sym_sizeof_expression] = STATE(693),
+    [sym_alignof_expression] = STATE(693),
+    [sym_offsetof_expression] = STATE(693),
+    [sym_generic_expression] = STATE(693),
+    [sym_subscript_expression] = STATE(843),
+    [sym_call_expression] = STATE(843),
+    [sym_gnu_asm_expression] = STATE(693),
+    [sym_extension_expression] = STATE(693),
+    [sym_field_expression] = STATE(843),
+    [sym_compound_literal_expression] = STATE(693),
+    [sym_parenthesized_expression] = STATE(843),
+    [sym_char_literal] = STATE(693),
+    [sym_concatenated_string] = STATE(693),
+    [sym_string_literal] = STATE(673),
+    [sym_null] = STATE(693),
+    [sym_identifier] = ACTIONS(1746),
+    [anon_sym_RPAREN] = ACTIONS(2114),
+    [anon_sym_LPAREN2] = ACTIONS(19),
+    [anon_sym_BANG] = ACTIONS(21),
+    [anon_sym_TILDE] = ACTIONS(21),
+    [anon_sym_DASH] = ACTIONS(23),
+    [anon_sym_PLUS] = ACTIONS(23),
+    [anon_sym_STAR] = ACTIONS(25),
+    [anon_sym_AMP] = ACTIONS(25),
+    [anon_sym___extension__] = ACTIONS(1416),
+    [anon_sym_LBRACE] = ACTIONS(43),
+    [anon_sym_DASH_DASH] = ACTIONS(83),
+    [anon_sym_PLUS_PLUS] = ACTIONS(83),
+    [anon_sym_sizeof] = ACTIONS(85),
+    [anon_sym___alignof__] = ACTIONS(87),
+    [anon_sym___alignof] = ACTIONS(87),
+    [anon_sym__alignof] = ACTIONS(87),
+    [anon_sym_alignof] = ACTIONS(87),
+    [anon_sym__Alignof] = ACTIONS(87),
+    [anon_sym_offsetof] = ACTIONS(89),
+    [anon_sym__Generic] = ACTIONS(91),
+    [anon_sym_asm] = ACTIONS(93),
+    [anon_sym___asm__] = ACTIONS(93),
+    [anon_sym___asm] = ACTIONS(93),
+    [sym_number_literal] = ACTIONS(161),
+    [anon_sym_L_SQUOTE] = ACTIONS(97),
+    [anon_sym_u_SQUOTE] = ACTIONS(97),
+    [anon_sym_U_SQUOTE] = ACTIONS(97),
+    [anon_sym_u8_SQUOTE] = ACTIONS(97),
+    [anon_sym_SQUOTE] = ACTIONS(97),
+    [anon_sym_L_DQUOTE] = ACTIONS(99),
+    [anon_sym_u_DQUOTE] = ACTIONS(99),
+    [anon_sym_U_DQUOTE] = ACTIONS(99),
+    [anon_sym_u8_DQUOTE] = ACTIONS(99),
+    [anon_sym_DQUOTE] = ACTIONS(99),
+    [sym_true] = ACTIONS(163),
+    [sym_false] = ACTIONS(163),
+    [anon_sym_NULL] = ACTIONS(103),
+    [anon_sym_nullptr] = ACTIONS(103),
     [sym_comment] = ACTIONS(3),
   },
 };
@@ -62187,26 +62774,26 @@ static const uint16_t ts_small_parse_table[] = {
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1398), 1,
+      anon_sym_LBRACE,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2107), 1,
-      anon_sym_COLON,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1038), 1,
+    STATE(1043), 1,
       sym_expression,
-    STATE(1800), 1,
-      sym_comma_expression,
+    STATE(1729), 1,
+      sym_initializer_list,
     ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -62216,44 +62803,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -62276,26 +62863,26 @@ static const uint16_t ts_small_parse_table[] = {
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(41), 1,
-      anon_sym_LBRACE,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    STATE(668), 1,
+    ACTIONS(2116), 1,
+      anon_sym_SEMI,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1053), 1,
+    STATE(1050), 1,
       sym_expression,
-    STATE(1737), 1,
-      sym_compound_statement,
+    STATE(1795), 1,
+      sym_comma_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -62305,44 +62892,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -62365,26 +62952,26 @@ static const uint16_t ts_small_parse_table[] = {
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(43), 1,
+      anon_sym_LBRACE,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2109), 1,
-      anon_sym_RPAREN,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1029), 1,
+    STATE(1047), 1,
       sym_expression,
-    STATE(1976), 1,
-      sym_comma_expression,
+    STATE(1713), 1,
+      sym_compound_statement,
     ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -62394,44 +62981,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -62452,75 +63039,75 @@ static const uint16_t ts_small_parse_table[] = {
   [339] = 24,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
-      anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(2111), 1,
-      anon_sym_SEMI,
-    STATE(668), 1,
+    ACTIONS(1398), 1,
+      anon_sym_LBRACE,
+    ACTIONS(1734), 1,
+      anon_sym___extension__,
+    ACTIONS(1736), 1,
+      anon_sym_sizeof,
+    ACTIONS(2118), 1,
+      anon_sym_LPAREN2,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1035), 1,
+    STATE(686), 1,
+      sym_initializer_list,
+    STATE(896), 1,
       sym_expression,
-    STATE(2008), 1,
-      sym_comma_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(25), 2,
+    ACTIONS(1732), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -62543,25 +63130,25 @@ static const uint16_t ts_small_parse_table[] = {
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2113), 1,
-      anon_sym_SEMI,
-    STATE(668), 1,
+    ACTIONS(2122), 1,
+      anon_sym_RPAREN,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1047), 1,
+    STATE(1059), 1,
       sym_expression,
-    STATE(1912), 1,
+    STATE(1826), 1,
       sym_comma_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -62572,44 +63159,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -62630,75 +63217,75 @@ static const uint16_t ts_small_parse_table[] = {
   [565] = 24,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1391), 1,
+    ACTIONS(1398), 1,
       anon_sym_LBRACE,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1401), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1403), 1,
-      anon_sym_sizeof,
-    ACTIONS(2115), 1,
-      anon_sym_LPAREN2,
-    STATE(668), 1,
+    ACTIONS(1746), 1,
+      sym_identifier,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(675), 1,
-      sym_initializer_list,
-    STATE(704), 1,
+    STATE(1027), 1,
       sym_expression,
+    STATE(1714), 1,
+      sym_initializer_list,
+    ACTIONS(21), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(101), 2,
+    ACTIONS(83), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1397), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1399), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(2117), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -62719,75 +63306,75 @@ static const uint16_t ts_small_parse_table[] = {
   [678] = 24,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
-      anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(2119), 1,
-      anon_sym_SEMI,
-    STATE(668), 1,
-      sym_string_literal,
-    STATE(1045), 1,
+    ACTIONS(1398), 1,
+      anon_sym_LBRACE,
+    ACTIONS(1406), 1,
+      anon_sym___extension__,
+    ACTIONS(1408), 1,
+      anon_sym_sizeof,
+    ACTIONS(2124), 1,
+      anon_sym_LPAREN2,
+    STATE(686), 1,
+      sym_initializer_list,
+    STATE(700), 1,
       sym_expression,
-    STATE(1924), 1,
-      sym_comma_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
+    STATE(714), 1,
+      sym_string_literal,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(1402), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(25), 2,
+    ACTIONS(1404), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(2128), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -62810,26 +63397,26 @@ static const uint16_t ts_small_parse_table[] = {
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1398), 1,
+      anon_sym_LBRACE,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2121), 1,
-      anon_sym_COLON,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1062), 1,
+    STATE(686), 1,
+      sym_initializer_list,
+    STATE(700), 1,
       sym_expression,
-    STATE(1804), 1,
-      sym_comma_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -62839,44 +63426,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -62899,26 +63486,26 @@ static const uint16_t ts_small_parse_table[] = {
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1391), 1,
-      anon_sym_LBRACE,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    STATE(668), 1,
+    ACTIONS(2130), 1,
+      anon_sym_SEMI,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1030), 1,
+    STATE(1055), 1,
       sym_expression,
-    STATE(1698), 1,
-      sym_initializer_list,
+    STATE(1871), 1,
+      sym_comma_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -62928,44 +63515,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -62986,75 +63573,75 @@ static const uint16_t ts_small_parse_table[] = {
   [1017] = 24,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1391), 1,
-      anon_sym_LBRACE,
-    ACTIONS(1743), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1745), 1,
-      anon_sym_sizeof,
-    ACTIONS(2123), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2125), 1,
-      anon_sym_LPAREN2,
-    STATE(675), 1,
-      sym_initializer_list,
-    STATE(700), 1,
+    ACTIONS(2132), 1,
+      anon_sym_RPAREN,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(704), 1,
+    STATE(1054), 1,
       sym_expression,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(1739), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1741), 2,
+    STATE(1860), 1,
+      sym_comma_expression,
+    ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2129), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(828), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -63075,75 +63662,75 @@ static const uint16_t ts_small_parse_table[] = {
   [1130] = 24,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1391), 1,
-      anon_sym_LBRACE,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
-      anon_sym_sizeof,
-    ACTIONS(2131), 1,
-      anon_sym_LPAREN2,
-    STATE(668), 1,
+    ACTIONS(1746), 1,
+      sym_identifier,
+    ACTIONS(2134), 1,
+      anon_sym_RPAREN,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(675), 1,
-      sym_initializer_list,
-    STATE(884), 1,
+    STATE(1068), 1,
       sym_expression,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(1717), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    STATE(1925), 1,
+      sym_comma_expression,
+    ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -63166,26 +63753,26 @@ static const uint16_t ts_small_parse_table[] = {
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1398), 1,
+      anon_sym_LBRACE,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2135), 1,
-      anon_sym_SEMI,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1021), 1,
+    STATE(1046), 1,
       sym_expression,
-    STATE(1797), 1,
-      sym_comma_expression,
+    STATE(1691), 1,
+      sym_initializer_list,
     ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -63195,44 +63782,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -63255,25 +63842,25 @@ static const uint16_t ts_small_parse_table[] = {
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2137), 1,
-      anon_sym_SEMI,
-    STATE(668), 1,
+    ACTIONS(2136), 1,
+      anon_sym_RPAREN,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1044), 1,
+    STATE(1048), 1,
       sym_expression,
-    STATE(1848), 1,
+    STATE(1973), 1,
       sym_comma_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -63284,44 +63871,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -63344,25 +63931,25 @@ static const uint16_t ts_small_parse_table[] = {
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2139), 1,
-      anon_sym_SEMI,
-    STATE(668), 1,
+    ACTIONS(2138), 1,
+      anon_sym_COLON,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1023), 1,
+    STATE(1041), 1,
       sym_expression,
-    STATE(1959), 1,
+    STATE(1998), 1,
       sym_comma_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -63373,44 +63960,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -63433,25 +64020,25 @@ static const uint16_t ts_small_parse_table[] = {
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2141), 1,
-      anon_sym_COLON,
-    STATE(668), 1,
+    ACTIONS(2140), 1,
+      anon_sym_RPAREN,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1025), 1,
+    STATE(1064), 1,
       sym_expression,
-    STATE(1768), 1,
+    STATE(1840), 1,
       sym_comma_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -63462,44 +64049,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -63522,25 +64109,25 @@ static const uint16_t ts_small_parse_table[] = {
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2143), 1,
-      anon_sym_RPAREN,
-    STATE(668), 1,
+    ACTIONS(2142), 1,
+      anon_sym_COLON,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1037), 1,
+    STATE(1065), 1,
       sym_expression,
-    STATE(1809), 1,
+    STATE(1883), 1,
       sym_comma_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -63551,44 +64138,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -63609,75 +64196,75 @@ static const uint16_t ts_small_parse_table[] = {
   [1808] = 24,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
-      anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1398), 1,
+      anon_sym_LBRACE,
+    ACTIONS(1804), 1,
       sym_identifier,
-    ACTIONS(2145), 1,
-      anon_sym_RPAREN,
-    STATE(668), 1,
+    ACTIONS(1810), 1,
+      anon_sym___extension__,
+    ACTIONS(1812), 1,
+      anon_sym_sizeof,
+    ACTIONS(1831), 1,
+      anon_sym_LPAREN2,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1039), 1,
+    STATE(686), 1,
+      sym_initializer_list,
+    STATE(896), 1,
       sym_expression,
-    STATE(1831), 1,
-      sym_comma_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(25), 2,
+    ACTIONS(1808), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -63700,25 +64287,25 @@ static const uint16_t ts_small_parse_table[] = {
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2147), 1,
-      anon_sym_RPAREN,
-    STATE(668), 1,
+    ACTIONS(2144), 1,
+      anon_sym_SEMI,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1020), 1,
+    STATE(1056), 1,
       sym_expression,
-    STATE(1838), 1,
+    STATE(1908), 1,
       sym_comma_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -63729,44 +64316,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -63787,75 +64374,164 @@ static const uint16_t ts_small_parse_table[] = {
   [2034] = 24,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1389), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1391), 1,
+    ACTIONS(1746), 1,
+      sym_identifier,
+    ACTIONS(2146), 1,
+      anon_sym_COLON,
+    STATE(673), 1,
+      sym_string_literal,
+    STATE(1070), 1,
+      sym_expression,
+    STATE(1911), 1,
+      sym_comma_expression,
+    ACTIONS(21), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(25), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(83), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(93), 3,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+    ACTIONS(87), 5,
+      anon_sym___alignof__,
+      anon_sym___alignof,
+      anon_sym__alignof,
+      anon_sym_alignof,
+      anon_sym__Alignof,
+    ACTIONS(97), 5,
+      anon_sym_L_SQUOTE,
+      anon_sym_u_SQUOTE,
+      anon_sym_U_SQUOTE,
+      anon_sym_u8_SQUOTE,
+      anon_sym_SQUOTE,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    STATE(843), 5,
+      sym_pointer_expression,
+      sym_subscript_expression,
+      sym_call_expression,
+      sym_field_expression,
+      sym_parenthesized_expression,
+    STATE(693), 17,
+      sym__string,
+      sym_conditional_expression,
+      sym_assignment_expression,
+      sym_unary_expression,
+      sym_binary_expression,
+      sym_update_expression,
+      sym_cast_expression,
+      sym_sizeof_expression,
+      sym_alignof_expression,
+      sym_offsetof_expression,
+      sym_generic_expression,
+      sym_gnu_asm_expression,
+      sym_extension_expression,
+      sym_compound_literal_expression,
+      sym_char_literal,
+      sym_concatenated_string,
+      sym_null,
+  [2147] = 24,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
+      anon_sym__Generic,
+    ACTIONS(161), 1,
+      sym_number_literal,
+    ACTIONS(1398), 1,
       anon_sym_LBRACE,
-    ACTIONS(1393), 1,
+    ACTIONS(1752), 1,
+      anon_sym___extension__,
+    ACTIONS(1754), 1,
       anon_sym_sizeof,
-    ACTIONS(1395), 1,
+    ACTIONS(2148), 1,
       sym_identifier,
-    ACTIONS(2149), 1,
+    ACTIONS(2150), 1,
       anon_sym_LPAREN2,
-    STATE(675), 1,
+    STATE(686), 1,
       sym_initializer_list,
     STATE(700), 1,
-      sym_string_literal,
-    STATE(704), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    STATE(714), 1,
+      sym_string_literal,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1385), 2,
+    ACTIONS(1748), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1387), 2,
+    ACTIONS(1750), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2151), 2,
+    ACTIONS(2152), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(845), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -63873,30 +64549,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [2147] = 24,
+  [2260] = 24,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2153), 1,
+    ACTIONS(2154), 1,
       anon_sym_SEMI,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1033), 1,
+    STATE(1075), 1,
       sym_expression,
-    STATE(1929), 1,
+    STATE(1939), 1,
       sym_comma_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -63907,44 +64583,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -63962,30 +64638,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [2260] = 24,
+  [2373] = 24,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2155), 1,
+    ACTIONS(2156), 1,
       anon_sym_COLON,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1046), 1,
+    STATE(1078), 1,
       sym_expression,
-    STATE(1869), 1,
+    STATE(1834), 1,
       sym_comma_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -63996,44 +64672,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -64051,78 +64727,78 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [2373] = 24,
+  [2486] = 24,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1391), 1,
-      anon_sym_LBRACE,
-    ACTIONS(1761), 1,
-      sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
-      anon_sym_sizeof,
-    ACTIONS(1822), 1,
-      anon_sym_LPAREN2,
-    STATE(668), 1,
+    ACTIONS(1746), 1,
+      sym_identifier,
+    ACTIONS(2158), 1,
+      anon_sym_SEMI,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(675), 1,
-      sym_initializer_list,
-    STATE(884), 1,
+    STATE(1061), 1,
       sym_expression,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(1763), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    STATE(1965), 1,
+      sym_comma_expression,
+    ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -64140,30 +64816,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [2486] = 24,
+  [2599] = 24,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2157), 1,
-      anon_sym_COLON,
-    STATE(668), 1,
+    ACTIONS(2160), 1,
+      anon_sym_RPAREN,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1049), 1,
+    STATE(1066), 1,
       sym_expression,
-    STATE(1897), 1,
+    STATE(1857), 1,
       sym_comma_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -64174,44 +64850,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -64229,31 +64905,31 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [2599] = 24,
+  [2712] = 24,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1391), 1,
-      anon_sym_LBRACE,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    STATE(668), 1,
+    ACTIONS(2162), 1,
+      anon_sym_SEMI,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(675), 1,
-      sym_initializer_list,
-    STATE(704), 1,
+    STATE(1077), 1,
       sym_expression,
+    STATE(1964), 1,
+      sym_comma_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -64263,44 +64939,133 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    STATE(843), 5,
+      sym_pointer_expression,
+      sym_subscript_expression,
+      sym_call_expression,
+      sym_field_expression,
+      sym_parenthesized_expression,
+    STATE(693), 17,
+      sym__string,
+      sym_conditional_expression,
+      sym_assignment_expression,
+      sym_unary_expression,
+      sym_binary_expression,
+      sym_update_expression,
+      sym_cast_expression,
+      sym_sizeof_expression,
+      sym_alignof_expression,
+      sym_offsetof_expression,
+      sym_generic_expression,
+      sym_gnu_asm_expression,
+      sym_extension_expression,
+      sym_compound_literal_expression,
+      sym_char_literal,
+      sym_concatenated_string,
+      sym_null,
+  [2825] = 24,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
+      anon_sym__Generic,
+    ACTIONS(161), 1,
+      sym_number_literal,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1396), 1,
+      anon_sym___extension__,
+    ACTIONS(1398), 1,
+      anon_sym_LBRACE,
+    ACTIONS(1400), 1,
+      anon_sym_sizeof,
+    ACTIONS(2164), 1,
+      anon_sym_LPAREN2,
+    STATE(673), 1,
+      sym_string_literal,
+    STATE(686), 1,
+      sym_initializer_list,
+    STATE(700), 1,
+      sym_expression,
+    ACTIONS(25), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(1390), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(1392), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(2166), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(93), 3,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+    ACTIONS(87), 5,
+      anon_sym___alignof__,
+      anon_sym___alignof,
+      anon_sym__alignof,
+      anon_sym_alignof,
+      anon_sym__Alignof,
     ACTIONS(97), 5,
+      anon_sym_L_SQUOTE,
+      anon_sym_u_SQUOTE,
+      anon_sym_U_SQUOTE,
+      anon_sym_u8_SQUOTE,
+      anon_sym_SQUOTE,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -64318,30 +65083,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [2712] = 24,
+  [2938] = 24,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2159), 1,
-      anon_sym_RPAREN,
-    STATE(668), 1,
+    ACTIONS(2168), 1,
+      anon_sym_COLON,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1041), 1,
+    STATE(1073), 1,
       sym_expression,
-    STATE(1837), 1,
+    STATE(1997), 1,
       sym_comma_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -64352,44 +65117,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -64407,31 +65172,31 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [2825] = 24,
+  [3051] = 24,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1391), 1,
-      anon_sym_LBRACE,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    STATE(668), 1,
+    ACTIONS(2170), 1,
+      anon_sym_COLON,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1027), 1,
+    STATE(1039), 1,
       sym_expression,
-    STATE(1736), 1,
-      sym_initializer_list,
+    STATE(1979), 1,
+      sym_comma_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -64441,44 +65206,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -64496,30 +65261,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [2938] = 24,
+  [3164] = 24,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2161), 1,
-      anon_sym_COLON,
-    STATE(668), 1,
+    ACTIONS(2172), 1,
+      anon_sym_SEMI,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1060), 1,
+    STATE(1051), 1,
       sym_expression,
-    STATE(1983), 1,
+    STATE(1974), 1,
       sym_comma_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -64530,44 +65295,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -64585,78 +65350,76 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [3051] = 24,
+  [3277] = 23,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1391), 1,
-      anon_sym_LBRACE,
-    ACTIONS(1506), 1,
-      anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    STATE(668), 1,
+    ACTIONS(1734), 1,
+      anon_sym___extension__,
+    ACTIONS(1736), 1,
+      anon_sym_sizeof,
+    ACTIONS(2118), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2174), 1,
+      anon_sym_RBRACK,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1036), 1,
+    STATE(913), 1,
       sym_expression,
-    STATE(1690), 1,
-      sym_initializer_list,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(25), 2,
+    ACTIONS(1732), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -64674,30 +65437,28 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [3164] = 24,
+  [3387] = 23,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2163), 1,
-      anon_sym_RPAREN,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1043), 1,
+    STATE(1019), 1,
       sym_expression,
-    STATE(1843), 1,
+    STATE(1671), 1,
       sym_comma_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -64708,44 +65469,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -64763,76 +65524,76 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [3277] = 23,
+  [3497] = 23,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2165), 1,
+    ACTIONS(2176), 1,
       anon_sym_RBRACK,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(895), 1,
+    STATE(913), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -64850,76 +65611,76 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [3387] = 23,
+  [3607] = 23,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2167), 1,
+    ACTIONS(2178), 1,
       anon_sym_RBRACK,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(895), 1,
+    STATE(913), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -64937,76 +65698,76 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [3497] = 23,
+  [3717] = 23,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2169), 1,
+    ACTIONS(2180), 1,
       anon_sym_RBRACK,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(895), 1,
+    STATE(913), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -65024,76 +65785,163 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [3607] = 23,
+  [3827] = 23,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(39), 1,
+      anon_sym___declspec,
+    ACTIONS(53), 1,
+      sym_primitive_type,
+    ACTIONS(55), 1,
+      anon_sym_enum,
+    ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
+      anon_sym_union,
+    ACTIONS(1126), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(1946), 1,
+      sym_identifier,
+    ACTIONS(2182), 1,
+      anon_sym_LBRACE,
+    STATE(683), 1,
+      sym_ms_call_modifier,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(722), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1148), 1,
+      sym__declaration_specifiers,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(326), 3,
+      sym_function_definition,
+      sym_declaration,
+      sym_declaration_list,
+    ACTIONS(45), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    STATE(772), 5,
+      sym_sized_type_specifier,
+      sym_enum_specifier,
+      sym_struct_specifier,
+      sym_union_specifier,
+      sym_macro_type_specifier,
+    ACTIONS(41), 6,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+    STATE(710), 7,
+      sym__declaration_modifiers,
+      sym_attribute_specifier,
+      sym_attribute_declaration,
+      sym_ms_declspec_modifier,
+      sym_storage_class_specifier,
+      sym_type_qualifier,
+      aux_sym__declaration_specifiers_repeat1,
+    ACTIONS(47), 10,
+      anon_sym_extern,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [3937] = 23,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
-      anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    STATE(668), 1,
+    ACTIONS(1734), 1,
+      anon_sym___extension__,
+    ACTIONS(1736), 1,
+      anon_sym_sizeof,
+    ACTIONS(2118), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2184), 1,
+      anon_sym_RBRACK,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1010), 1,
+    STATE(913), 1,
       sym_expression,
-    STATE(1629), 1,
-      sym_comma_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(25), 2,
+    ACTIONS(1732), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -65111,76 +65959,163 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [3717] = 23,
+  [4047] = 23,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(39), 1,
+      anon_sym___declspec,
+    ACTIONS(53), 1,
+      sym_primitive_type,
+    ACTIONS(55), 1,
+      anon_sym_enum,
+    ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
+      anon_sym_union,
+    ACTIONS(1126), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(1946), 1,
+      sym_identifier,
+    ACTIONS(2186), 1,
+      anon_sym_LBRACE,
+    STATE(696), 1,
+      sym_ms_call_modifier,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(722), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1162), 1,
+      sym__declaration_specifiers,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(143), 3,
+      sym_function_definition,
+      sym_declaration,
+      sym_declaration_list,
+    ACTIONS(45), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    STATE(772), 5,
+      sym_sized_type_specifier,
+      sym_enum_specifier,
+      sym_struct_specifier,
+      sym_union_specifier,
+      sym_macro_type_specifier,
+    ACTIONS(41), 6,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+    STATE(710), 7,
+      sym__declaration_modifiers,
+      sym_attribute_specifier,
+      sym_attribute_declaration,
+      sym_ms_declspec_modifier,
+      sym_storage_class_specifier,
+      sym_type_qualifier,
+      aux_sym__declaration_specifiers_repeat1,
+    ACTIONS(47), 10,
+      anon_sym_extern,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [4157] = 23,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2171), 1,
+    ACTIONS(2188), 1,
       anon_sym_RBRACK,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(895), 1,
+    STATE(913), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -65198,76 +66133,76 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [3827] = 23,
+  [4267] = 23,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2173), 1,
+    ACTIONS(2190), 1,
       anon_sym_RBRACK,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(895), 1,
+    STATE(913), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -65285,76 +66220,76 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [3937] = 23,
+  [4377] = 23,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2175), 1,
+    ACTIONS(2192), 1,
       anon_sym_RBRACK,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(895), 1,
+    STATE(913), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -65372,163 +66307,163 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [4047] = 23,
+  [4487] = 23,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
-    ACTIONS(89), 1,
-      anon_sym__Generic,
-    ACTIONS(159), 1,
-      sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(39), 1,
+      anon_sym___declspec,
+    ACTIONS(53), 1,
+      sym_primitive_type,
+    ACTIONS(55), 1,
+      anon_sym_enum,
+    ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
+      anon_sym_union,
+    ACTIONS(1126), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(1946), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(2194), 1,
+      anon_sym_LBRACE,
+    STATE(675), 1,
+      sym_ms_call_modifier,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(722), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1153), 1,
+      sym__declaration_specifiers,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(291), 3,
+      sym_function_definition,
+      sym_declaration,
+      sym_declaration_list,
+    ACTIONS(45), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    STATE(772), 5,
+      sym_sized_type_specifier,
+      sym_enum_specifier,
+      sym_struct_specifier,
+      sym_union_specifier,
+      sym_macro_type_specifier,
+    ACTIONS(41), 6,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+    STATE(710), 7,
+      sym__declaration_modifiers,
+      sym_attribute_specifier,
+      sym_attribute_declaration,
+      sym_ms_declspec_modifier,
+      sym_storage_class_specifier,
+      sym_type_qualifier,
+      aux_sym__declaration_specifiers_repeat1,
+    ACTIONS(47), 10,
+      anon_sym_extern,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+    ACTIONS(49), 10,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
-      anon_sym_sizeof,
-    ACTIONS(2131), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2177), 1,
-      anon_sym_RBRACK,
-    STATE(668), 1,
-      sym_string_literal,
-    STATE(895), 1,
-      sym_expression,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(1717), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1719), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(1826), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(2133), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-    ACTIONS(85), 5,
-      anon_sym___alignof__,
-      anon_sym___alignof,
-      anon_sym__alignof,
-      anon_sym_alignof,
-      anon_sym__Alignof,
-    ACTIONS(95), 5,
-      anon_sym_L_SQUOTE,
-      anon_sym_u_SQUOTE,
-      anon_sym_U_SQUOTE,
-      anon_sym_u8_SQUOTE,
-      anon_sym_SQUOTE,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    STATE(686), 5,
-      sym_pointer_expression,
-      sym_subscript_expression,
-      sym_call_expression,
-      sym_field_expression,
-      sym_parenthesized_expression,
-    STATE(679), 17,
-      sym__string,
-      sym_conditional_expression,
-      sym_assignment_expression,
-      sym_unary_expression,
-      sym_binary_expression,
-      sym_update_expression,
-      sym_cast_expression,
-      sym_sizeof_expression,
-      sym_alignof_expression,
-      sym_offsetof_expression,
-      sym_generic_expression,
-      sym_gnu_asm_expression,
-      sym_extension_expression,
-      sym_compound_literal_expression,
-      sym_char_literal,
-      sym_concatenated_string,
-      sym_null,
-  [4157] = 23,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [4597] = 23,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2179), 1,
+    ACTIONS(2196), 1,
       anon_sym_RBRACK,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(895), 1,
+    STATE(913), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -65546,76 +66481,76 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [4267] = 23,
+  [4707] = 23,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2181), 1,
+    ACTIONS(2198), 1,
       anon_sym_RBRACK,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(895), 1,
+    STATE(913), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -65633,76 +66568,161 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [4377] = 23,
+  [4817] = 23,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(39), 1,
+      anon_sym___declspec,
+    ACTIONS(53), 1,
+      sym_primitive_type,
+    ACTIONS(55), 1,
+      anon_sym_enum,
+    ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
+      anon_sym_union,
+    ACTIONS(1126), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(1946), 1,
+      sym_identifier,
+    ACTIONS(2200), 1,
+      anon_sym_LBRACE,
+    STATE(695), 1,
+      sym_ms_call_modifier,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(722), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1165), 1,
+      sym__declaration_specifiers,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(262), 3,
+      sym_function_definition,
+      sym_declaration,
+      sym_declaration_list,
+    ACTIONS(45), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    STATE(772), 5,
+      sym_sized_type_specifier,
+      sym_enum_specifier,
+      sym_struct_specifier,
+      sym_union_specifier,
+      sym_macro_type_specifier,
+    ACTIONS(41), 6,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+    STATE(710), 7,
+      sym__declaration_modifiers,
+      sym_attribute_specifier,
+      sym_attribute_declaration,
+      sym_ms_declspec_modifier,
+      sym_storage_class_specifier,
+      sym_type_qualifier,
+      aux_sym__declaration_specifiers_repeat1,
+    ACTIONS(47), 10,
+      anon_sym_extern,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [4927] = 22,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
-      anon_sym_sizeof,
-    ACTIONS(2131), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2183), 1,
-      anon_sym_RBRACK,
-    STATE(668), 1,
+    ACTIONS(1746), 1,
+      sym_identifier,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(895), 1,
+    STATE(1081), 1,
       sym_expression,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(1717), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -65720,74 +66740,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [4487] = 22,
+  [5034] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
-      sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
-      anon_sym_sizeof,
-    ACTIONS(2185), 1,
-      anon_sym_LPAREN2,
-    STATE(668), 1,
+    ACTIONS(1746), 1,
+      sym_identifier,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(898), 1,
+    STATE(982), 1,
       sym_expression,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(1763), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -65805,26 +66825,26 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [4594] = 22,
+  [5141] = 22,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(703), 1,
+    STATE(991), 1,
       sym_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -65835,44 +66855,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -65890,74 +66910,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [4701] = 22,
+  [5248] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1401), 1,
+    ACTIONS(1752), 1,
       anon_sym___extension__,
-    ACTIONS(1403), 1,
+    ACTIONS(1754), 1,
       anon_sym_sizeof,
-    ACTIONS(2115), 1,
+    ACTIONS(2148), 1,
+      sym_identifier,
+    ACTIONS(2150), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(830), 1,
+    STATE(980), 1,
       sym_expression,
-    ACTIONS(25), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1397), 2,
+    ACTIONS(1748), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1399), 2,
+    ACTIONS(1750), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2117), 2,
+    ACTIONS(2126), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(2152), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(845), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -65975,74 +66995,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [4808] = 22,
+  [5355] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1401), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1403), 1,
-      anon_sym_sizeof,
-    ACTIONS(2115), 1,
-      anon_sym_LPAREN2,
-    STATE(668), 1,
+    ACTIONS(1746), 1,
+      sym_identifier,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(703), 1,
+    STATE(1095), 1,
       sym_expression,
+    ACTIONS(21), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(101), 2,
+    ACTIONS(83), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1397), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1399), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(2117), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -66060,74 +67080,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [4915] = 22,
+  [5462] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1401), 1,
+    ACTIONS(1752), 1,
       anon_sym___extension__,
-    ACTIONS(1403), 1,
+    ACTIONS(1754), 1,
       anon_sym_sizeof,
-    ACTIONS(2115), 1,
+    ACTIONS(2148), 1,
+      sym_identifier,
+    ACTIONS(2150), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(833), 1,
+    STATE(968), 1,
       sym_expression,
-    ACTIONS(25), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1397), 2,
+    ACTIONS(1748), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1399), 2,
+    ACTIONS(1750), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2117), 2,
+    ACTIONS(2126), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(2152), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(845), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -66145,74 +67165,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [5022] = 22,
+  [5569] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1401), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1403), 1,
-      anon_sym_sizeof,
-    ACTIONS(2115), 1,
-      anon_sym_LPAREN2,
-    STATE(668), 1,
+    ACTIONS(1746), 1,
+      sym_identifier,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(818), 1,
+    STATE(702), 1,
       sym_expression,
+    ACTIONS(21), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(101), 2,
+    ACTIONS(83), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1397), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1399), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(2117), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -66230,74 +67250,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [5129] = 22,
+  [5676] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1401), 1,
+    ACTIONS(1752), 1,
       anon_sym___extension__,
-    ACTIONS(1403), 1,
+    ACTIONS(1754), 1,
       anon_sym_sizeof,
-    ACTIONS(2115), 1,
+    ACTIONS(2148), 1,
+      sym_identifier,
+    ACTIONS(2150), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(819), 1,
+    STATE(971), 1,
       sym_expression,
-    ACTIONS(25), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1397), 2,
+    ACTIONS(1748), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1399), 2,
+    ACTIONS(1750), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2117), 2,
+    ACTIONS(2126), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(2152), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(845), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -66315,74 +67335,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [5236] = 22,
+  [5783] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1401), 1,
+    ACTIONS(1752), 1,
       anon_sym___extension__,
-    ACTIONS(1403), 1,
+    ACTIONS(1754), 1,
       anon_sym_sizeof,
-    ACTIONS(2115), 1,
+    ACTIONS(2148), 1,
+      sym_identifier,
+    ACTIONS(2150), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(820), 1,
+    STATE(981), 1,
       sym_expression,
-    ACTIONS(25), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1397), 2,
+    ACTIONS(1748), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1399), 2,
+    ACTIONS(1750), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2117), 2,
+    ACTIONS(2126), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(2152), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(845), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -66400,74 +67420,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [5343] = 22,
+  [5890] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1401), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1403), 1,
-      anon_sym_sizeof,
-    ACTIONS(2115), 1,
-      anon_sym_LPAREN2,
-    STATE(668), 1,
+    ACTIONS(1746), 1,
+      sym_identifier,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(822), 1,
+    STATE(993), 1,
       sym_expression,
+    ACTIONS(21), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(101), 2,
+    ACTIONS(83), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1397), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1399), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(2117), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -66485,74 +67505,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [5450] = 22,
+  [5997] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1401), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1403), 1,
-      anon_sym_sizeof,
-    ACTIONS(2115), 1,
-      anon_sym_LPAREN2,
-    STATE(668), 1,
+    ACTIONS(1746), 1,
+      sym_identifier,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(823), 1,
+    STATE(1021), 1,
       sym_expression,
+    ACTIONS(21), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(101), 2,
+    ACTIONS(83), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1397), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1399), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(2117), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -66570,74 +67590,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [5557] = 22,
+  [6104] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1401), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1403), 1,
-      anon_sym_sizeof,
-    ACTIONS(2115), 1,
-      anon_sym_LPAREN2,
-    STATE(668), 1,
+    ACTIONS(1746), 1,
+      sym_identifier,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(824), 1,
+    STATE(984), 1,
       sym_expression,
+    ACTIONS(21), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(101), 2,
+    ACTIONS(83), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1397), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1399), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(2117), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -66655,74 +67675,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [5664] = 22,
+  [6211] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1401), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1403), 1,
-      anon_sym_sizeof,
-    ACTIONS(2115), 1,
-      anon_sym_LPAREN2,
-    STATE(668), 1,
+    ACTIONS(1746), 1,
+      sym_identifier,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(827), 1,
+    STATE(985), 1,
       sym_expression,
+    ACTIONS(21), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(101), 2,
+    ACTIONS(83), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1397), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1399), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(2117), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -66740,26 +67760,26 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [5771] = 22,
+  [6318] = 22,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1011), 1,
+    STATE(1067), 1,
       sym_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -66770,44 +67790,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -66825,74 +67845,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [5878] = 22,
+  [6425] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1401), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1403), 1,
-      anon_sym_sizeof,
-    ACTIONS(2115), 1,
-      anon_sym_LPAREN2,
-    STATE(668), 1,
+    ACTIONS(1746), 1,
+      sym_identifier,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(701), 1,
+    STATE(1057), 1,
       sym_expression,
+    ACTIONS(21), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(101), 2,
+    ACTIONS(83), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1397), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1399), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(2117), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -66910,74 +67930,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [5985] = 22,
+  [6532] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1389), 1,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1406), 1,
       anon_sym___extension__,
-    ACTIONS(1393), 1,
+    ACTIONS(1408), 1,
       anon_sym_sizeof,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(2149), 1,
+    ACTIONS(2124), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(702), 1,
+    STATE(824), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1385), 2,
+    ACTIONS(1402), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1387), 2,
+    ACTIONS(1404), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2151), 2,
+    ACTIONS(2128), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -66995,74 +68015,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [6092] = 22,
+  [6639] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1401), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1403), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(2115), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(707), 1,
+    STATE(895), 1,
       sym_expression,
-    ACTIONS(25), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1397), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1399), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2117), 2,
+    ACTIONS(1835), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -67080,74 +68100,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [6199] = 22,
+  [6746] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1401), 1,
+    ACTIONS(1406), 1,
       anon_sym___extension__,
-    ACTIONS(1403), 1,
+    ACTIONS(1408), 1,
       anon_sym_sizeof,
-    ACTIONS(2187), 1,
+    ACTIONS(2124), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(705), 1,
+    STATE(825), 1,
       sym_expression,
-    ACTIONS(25), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1397), 2,
+    ACTIONS(1402), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1399), 2,
+    ACTIONS(1404), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2117), 2,
+    ACTIONS(2126), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(2128), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -67165,74 +68185,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [6306] = 22,
+  [6853] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1401), 1,
+    ACTIONS(1406), 1,
       anon_sym___extension__,
-    ACTIONS(1403), 1,
+    ACTIONS(1408), 1,
       anon_sym_sizeof,
-    ACTIONS(2115), 1,
+    ACTIONS(2124), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(825), 1,
+    STATE(826), 1,
       sym_expression,
-    ACTIONS(25), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1397), 2,
+    ACTIONS(1402), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1399), 2,
+    ACTIONS(1404), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2117), 2,
+    ACTIONS(2126), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(2128), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -67250,160 +68270,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [6413] = 23,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
-      anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
-    ACTIONS(53), 1,
-      anon_sym_enum,
-    ACTIONS(55), 1,
-      anon_sym_struct,
-    ACTIONS(57), 1,
-      anon_sym_union,
-    ACTIONS(1121), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
-      sym_identifier,
-    ACTIONS(2189), 1,
-      anon_sym_LBRACE,
-    STATE(688), 1,
-      sym_ms_call_modifier,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    STATE(1135), 1,
-      sym__declaration_specifiers,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    STATE(296), 3,
-      sym_function_definition,
-      sym_declaration,
-      sym_declaration_list,
-    ACTIONS(43), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    STATE(748), 5,
-      sym_sized_type_specifier,
-      sym_enum_specifier,
-      sym_struct_specifier,
-      sym_union_specifier,
-      sym_macro_type_specifier,
-    ACTIONS(39), 6,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
-    STATE(706), 7,
-      sym__declaration_modifiers,
-      sym_attribute_specifier,
-      sym_attribute_declaration,
-      sym_ms_declspec_modifier,
-      sym_storage_class_specifier,
-      sym_type_qualifier,
-      aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
-      anon_sym_extern,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [6522] = 22,
+  [6960] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1743), 1,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1406), 1,
       anon_sym___extension__,
-    ACTIONS(1745), 1,
+    ACTIONS(1408), 1,
       anon_sym_sizeof,
-    ACTIONS(2123), 1,
-      sym_identifier,
-    ACTIONS(2125), 1,
+    ACTIONS(2124), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(961), 1,
+    STATE(842), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1739), 2,
+    ACTIONS(1402), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1741), 2,
+    ACTIONS(1404), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2129), 2,
+    ACTIONS(2128), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(828), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -67421,74 +68355,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [6629] = 22,
+  [7067] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1406), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
+    ACTIONS(1408), 1,
       anon_sym_sizeof,
-    ACTIONS(1822), 1,
+    ACTIONS(2124), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(1018), 1,
+    STATE(828), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1763), 2,
+    ACTIONS(1402), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(1404), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(2128), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -67506,74 +68440,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [6736] = 22,
+  [7174] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1743), 1,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1406), 1,
       anon_sym___extension__,
-    ACTIONS(1745), 1,
+    ACTIONS(1408), 1,
       anon_sym_sizeof,
-    ACTIONS(2123), 1,
-      sym_identifier,
-    ACTIONS(2125), 1,
+    ACTIONS(2124), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(962), 1,
+    STATE(829), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1739), 2,
+    ACTIONS(1402), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1741), 2,
+    ACTIONS(1404), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2129), 2,
+    ACTIONS(2128), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(828), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -67591,74 +68525,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [6843] = 22,
+  [7281] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1743), 1,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1406), 1,
       anon_sym___extension__,
-    ACTIONS(1745), 1,
+    ACTIONS(1408), 1,
       anon_sym_sizeof,
-    ACTIONS(2123), 1,
-      sym_identifier,
-    ACTIONS(2125), 1,
+    ACTIONS(2124), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(703), 1,
+    STATE(830), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1739), 2,
+    ACTIONS(1402), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1741), 2,
+    ACTIONS(1404), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2129), 2,
+    ACTIONS(2128), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(828), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -67676,74 +68610,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [6950] = 22,
+  [7388] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1743), 1,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1406), 1,
       anon_sym___extension__,
-    ACTIONS(1745), 1,
+    ACTIONS(1408), 1,
       anon_sym_sizeof,
-    ACTIONS(2123), 1,
-      sym_identifier,
-    ACTIONS(2125), 1,
+    ACTIONS(2124), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(963), 1,
+    STATE(831), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1739), 2,
+    ACTIONS(1402), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1741), 2,
+    ACTIONS(1404), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2129), 2,
+    ACTIONS(2128), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(828), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -67761,74 +68695,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [7057] = 22,
+  [7495] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1743), 1,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1406), 1,
       anon_sym___extension__,
-    ACTIONS(1745), 1,
+    ACTIONS(1408), 1,
       anon_sym_sizeof,
-    ACTIONS(2123), 1,
-      sym_identifier,
-    ACTIONS(2125), 1,
+    ACTIONS(2124), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(964), 1,
+    STATE(832), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1739), 2,
+    ACTIONS(1402), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1741), 2,
+    ACTIONS(1404), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2129), 2,
+    ACTIONS(2128), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(828), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -67846,74 +68780,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [7164] = 22,
+  [7602] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1743), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1745), 1,
-      anon_sym_sizeof,
-    ACTIONS(2123), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2125), 1,
-      anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(965), 1,
+    STATE(1090), 1,
       sym_expression,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(1739), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1741), 2,
+    ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2129), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(828), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -67931,74 +68865,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [7271] = 22,
+  [7709] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1743), 1,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1396), 1,
       anon_sym___extension__,
-    ACTIONS(1745), 1,
+    ACTIONS(1400), 1,
       anon_sym_sizeof,
-    ACTIONS(2123), 1,
-      sym_identifier,
-    ACTIONS(2125), 1,
+    ACTIONS(2164), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(967), 1,
+    STATE(813), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(25), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1739), 2,
+    ACTIONS(1390), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1741), 2,
+    ACTIONS(1392), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(2129), 2,
+    ACTIONS(2166), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(828), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -68016,74 +68950,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [7378] = 22,
+  [7816] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1743), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1745), 1,
-      anon_sym_sizeof,
-    ACTIONS(2123), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2125), 1,
-      anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(968), 1,
+    STATE(1099), 1,
       sym_expression,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(1739), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1741), 2,
+    ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2129), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(828), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -68101,74 +69035,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [7485] = 22,
+  [7923] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1743), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1745), 1,
-      anon_sym_sizeof,
-    ACTIONS(2123), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2125), 1,
-      anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(969), 1,
+    STATE(992), 1,
       sym_expression,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(1739), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1741), 2,
+    ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2129), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(828), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -68186,74 +69120,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [7592] = 22,
+  [8030] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1743), 1,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1406), 1,
       anon_sym___extension__,
-    ACTIONS(1745), 1,
+    ACTIONS(1408), 1,
       anon_sym_sizeof,
-    ACTIONS(2123), 1,
-      sym_identifier,
-    ACTIONS(2125), 1,
+    ACTIONS(2124), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(958), 1,
+    STATE(833), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1739), 2,
+    ACTIONS(1402), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1741), 2,
+    ACTIONS(1404), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2129), 2,
+    ACTIONS(2128), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(828), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -68271,74 +69205,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [7699] = 22,
+  [8137] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1743), 1,
+    ACTIONS(1752), 1,
       anon_sym___extension__,
-    ACTIONS(1745), 1,
+    ACTIONS(1754), 1,
       anon_sym_sizeof,
-    ACTIONS(2123), 1,
+    ACTIONS(2148), 1,
       sym_identifier,
-    ACTIONS(2125), 1,
+    ACTIONS(2150), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
-      sym_string_literal,
-    STATE(970), 1,
+    STATE(702), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    STATE(714), 1,
+      sym_string_literal,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1739), 2,
+    ACTIONS(1748), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1741), 2,
+    ACTIONS(1750), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2129), 2,
+    ACTIONS(2152), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(828), 5,
+    STATE(845), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -68356,74 +69290,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [7806] = 22,
+  [8244] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
-      sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1752), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
+    ACTIONS(1754), 1,
       anon_sym_sizeof,
-    ACTIONS(1822), 1,
+    ACTIONS(2148), 1,
+      sym_identifier,
+    ACTIONS(2150), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(1066), 1,
+    STATE(972), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1763), 2,
+    ACTIONS(1748), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(1750), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(2152), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(845), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -68441,159 +69375,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [7913] = 22,
+  [8351] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
-      anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1804), 1,
       sym_identifier,
-    STATE(668), 1,
+    ACTIONS(1810), 1,
+      anon_sym___extension__,
+    ACTIONS(1812), 1,
+      anon_sym_sizeof,
+    ACTIONS(1831), 1,
+      anon_sym_LPAREN2,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(701), 1,
+    STATE(1096), 1,
       sym_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(25), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(81), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-    ACTIONS(85), 5,
-      anon_sym___alignof__,
-      anon_sym___alignof,
-      anon_sym__alignof,
-      anon_sym_alignof,
-      anon_sym__Alignof,
-    ACTIONS(95), 5,
-      anon_sym_L_SQUOTE,
-      anon_sym_u_SQUOTE,
-      anon_sym_U_SQUOTE,
-      anon_sym_u8_SQUOTE,
-      anon_sym_SQUOTE,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    STATE(835), 5,
-      sym_pointer_expression,
-      sym_subscript_expression,
-      sym_call_expression,
-      sym_field_expression,
-      sym_parenthesized_expression,
-    STATE(679), 17,
-      sym__string,
-      sym_conditional_expression,
-      sym_assignment_expression,
-      sym_unary_expression,
-      sym_binary_expression,
-      sym_update_expression,
-      sym_cast_expression,
-      sym_sizeof_expression,
-      sym_alignof_expression,
-      sym_offsetof_expression,
-      sym_generic_expression,
-      sym_gnu_asm_expression,
-      sym_extension_expression,
-      sym_compound_literal_expression,
-      sym_char_literal,
-      sym_concatenated_string,
-      sym_null,
-  [8020] = 22,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
-    ACTIONS(89), 1,
-      anon_sym__Generic,
-    ACTIONS(159), 1,
-      sym_number_literal,
-    ACTIONS(1506), 1,
-      anon_sym___extension__,
-    ACTIONS(1737), 1,
-      sym_identifier,
-    STATE(668), 1,
-      sym_string_literal,
-    STATE(1092), 1,
-      sym_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(25), 2,
+    ACTIONS(1808), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -68611,74 +69460,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [8127] = 22,
+  [8458] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1743), 1,
+    ACTIONS(1804), 1,
+      sym_identifier,
+    ACTIONS(1810), 1,
       anon_sym___extension__,
-    ACTIONS(1745), 1,
+    ACTIONS(1812), 1,
       anon_sym_sizeof,
-    ACTIONS(2123), 1,
-      sym_identifier,
-    ACTIONS(2125), 1,
+    ACTIONS(1831), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(959), 1,
+    STATE(1028), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1739), 2,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1741), 2,
+    ACTIONS(1808), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2129), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(828), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -68696,74 +69545,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [8234] = 22,
+  [8565] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1743), 1,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1406), 1,
       anon_sym___extension__,
-    ACTIONS(1745), 1,
+    ACTIONS(1408), 1,
       anon_sym_sizeof,
-    ACTIONS(2123), 1,
-      sym_identifier,
-    ACTIONS(2125), 1,
+    ACTIONS(2124), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(957), 1,
+    STATE(834), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1739), 2,
+    ACTIONS(1402), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1741), 2,
+    ACTIONS(1404), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2129), 2,
+    ACTIONS(2128), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(828), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -68781,26 +69630,26 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [8341] = 22,
+  [8672] = 22,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(988), 1,
+    STATE(1098), 1,
       sym_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -68811,44 +69660,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -68866,74 +69715,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [8448] = 22,
+  [8779] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1743), 1,
+    ACTIONS(1752), 1,
       anon_sym___extension__,
-    ACTIONS(1745), 1,
+    ACTIONS(1754), 1,
       anon_sym_sizeof,
-    ACTIONS(2123), 1,
+    ACTIONS(2148), 1,
       sym_identifier,
-    ACTIONS(2125), 1,
+    ACTIONS(2150), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
-      sym_string_literal,
-    STATE(960), 1,
+    STATE(708), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    STATE(714), 1,
+      sym_string_literal,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1739), 2,
+    ACTIONS(1748), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1741), 2,
+    ACTIONS(1750), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2129), 2,
+    ACTIONS(2152), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(828), 5,
+    STATE(845), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -68951,112 +69800,26 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [8555] = 23,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
-      anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
-    ACTIONS(53), 1,
-      anon_sym_enum,
-    ACTIONS(55), 1,
-      anon_sym_struct,
-    ACTIONS(57), 1,
-      anon_sym_union,
-    ACTIONS(1121), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
-      sym_identifier,
-    ACTIONS(2191), 1,
-      anon_sym_LBRACE,
-    STATE(696), 1,
-      sym_ms_call_modifier,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    STATE(1140), 1,
-      sym__declaration_specifiers,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    STATE(366), 3,
-      sym_function_definition,
-      sym_declaration,
-      sym_declaration_list,
-    ACTIONS(43), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    STATE(748), 5,
-      sym_sized_type_specifier,
-      sym_enum_specifier,
-      sym_struct_specifier,
-      sym_union_specifier,
-      sym_macro_type_specifier,
-    ACTIONS(39), 6,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
-    STATE(706), 7,
-      sym__declaration_modifiers,
-      sym_attribute_specifier,
-      sym_attribute_declaration,
-      sym_ms_declspec_modifier,
-      sym_storage_class_specifier,
-      sym_type_qualifier,
-      aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
-      anon_sym_extern,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [8664] = 22,
+  [8886] = 22,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(982), 1,
+    STATE(986), 1,
       sym_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -69067,44 +69830,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -69122,74 +69885,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [8771] = 22,
+  [8993] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1752), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1754), 1,
+      anon_sym_sizeof,
+    ACTIONS(2148), 1,
       sym_identifier,
-    STATE(668), 1,
-      sym_string_literal,
-    STATE(983), 1,
+    ACTIONS(2150), 1,
+      anon_sym_LPAREN2,
+    STATE(704), 1,
       sym_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
+    STATE(714), 1,
+      sym_string_literal,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(1748), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(25), 2,
+    ACTIONS(1750), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(2152), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(845), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -69207,74 +69970,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [8878] = 22,
+  [9100] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1401), 1,
+    ACTIONS(1752), 1,
       anon_sym___extension__,
-    ACTIONS(1403), 1,
+    ACTIONS(1754), 1,
       anon_sym_sizeof,
-    ACTIONS(2115), 1,
+    ACTIONS(2148), 1,
+      sym_identifier,
+    ACTIONS(2202), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
-      sym_string_literal,
-    STATE(821), 1,
+    STATE(705), 1,
       sym_expression,
-    ACTIONS(25), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(101), 2,
+    STATE(714), 1,
+      sym_string_literal,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1397), 2,
+    ACTIONS(1748), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1399), 2,
+    ACTIONS(1750), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2117), 2,
+    ACTIONS(2126), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(2152), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(845), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -69292,74 +70055,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [8985] = 22,
+  [9207] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1389), 1,
+    ACTIONS(1752), 1,
       anon_sym___extension__,
-    ACTIONS(1393), 1,
+    ACTIONS(1754), 1,
       anon_sym_sizeof,
-    ACTIONS(1395), 1,
+    ACTIONS(2148), 1,
       sym_identifier,
-    ACTIONS(2149), 1,
+    ACTIONS(2150), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(797), 1,
+    STATE(987), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1385), 2,
+    ACTIONS(1748), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1387), 2,
+    ACTIONS(1750), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2151), 2,
+    ACTIONS(2152), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(845), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -69377,74 +70140,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [9092] = 22,
+  [9314] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1752), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1754), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2148), 1,
+      sym_identifier,
+    ACTIONS(2150), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(905), 1,
+    STATE(973), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1748), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1750), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2152), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(845), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -69462,74 +70225,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [9199] = 22,
+  [9421] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1389), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1393), 1,
-      anon_sym_sizeof,
-    ACTIONS(1395), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2149), 1,
-      anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(798), 1,
+    STATE(704), 1,
       sym_expression,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(1385), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1387), 2,
+    ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2151), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -69547,159 +70310,151 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [9306] = 22,
+  [9528] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
-    ACTIONS(89), 1,
-      anon_sym__Generic,
-    ACTIONS(159), 1,
-      sym_number_literal,
-    ACTIONS(1389), 1,
-      anon_sym___extension__,
-    ACTIONS(1393), 1,
-      anon_sym_sizeof,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(2149), 1,
+    ACTIONS(1770), 1,
+      anon_sym_const,
+    ACTIONS(1774), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
-      sym_string_literal,
-    STATE(799), 1,
-      sym_expression,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(1385), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1387), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(1780), 1,
       anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(2151), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-    ACTIONS(85), 5,
-      anon_sym___alignof__,
-      anon_sym___alignof,
-      anon_sym__alignof,
-      anon_sym_alignof,
-      anon_sym__Alignof,
-    ACTIONS(95), 5,
-      anon_sym_L_SQUOTE,
-      anon_sym_u_SQUOTE,
-      anon_sym_U_SQUOTE,
-      anon_sym_u8_SQUOTE,
-      anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(1790), 1,
+      anon_sym_EQ,
+    STATE(630), 1,
+      sym_string_literal,
+    STATE(768), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(1783), 2,
+      anon_sym_RPAREN,
+      anon_sym_LBRACK,
+    ACTIONS(2204), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
-      sym_pointer_expression,
-      sym_subscript_expression,
-      sym_call_expression,
-      sym_field_expression,
-      sym_parenthesized_expression,
-    STATE(679), 17,
-      sym__string,
-      sym_conditional_expression,
-      sym_assignment_expression,
-      sym_unary_expression,
-      sym_binary_expression,
-      sym_update_expression,
-      sym_cast_expression,
-      sym_sizeof_expression,
-      sym_alignof_expression,
-      sym_offsetof_expression,
-      sym_generic_expression,
-      sym_gnu_asm_expression,
-      sym_extension_expression,
-      sym_compound_literal_expression,
-      sym_char_literal,
-      sym_concatenated_string,
-      sym_null,
-  [9413] = 22,
+    ACTIONS(1794), 10,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+    ACTIONS(1778), 11,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(1786), 11,
+      anon_sym___extension__,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    ACTIONS(1772), 12,
+      anon_sym_COMMA,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_QMARK,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+  [9619] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1389), 1,
+    ACTIONS(1752), 1,
       anon_sym___extension__,
-    ACTIONS(1393), 1,
+    ACTIONS(1754), 1,
       anon_sym_sizeof,
-    ACTIONS(1395), 1,
+    ACTIONS(2148), 1,
       sym_identifier,
-    ACTIONS(2149), 1,
+    ACTIONS(2150), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(800), 1,
+    STATE(974), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1385), 2,
+    ACTIONS(1748), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1387), 2,
+    ACTIONS(1750), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2151), 2,
+    ACTIONS(2152), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(845), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -69717,74 +70472,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [9520] = 22,
+  [9726] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1389), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1393), 1,
-      anon_sym_sizeof,
-    ACTIONS(1395), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2149), 1,
-      anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(801), 1,
+    STATE(969), 1,
       sym_expression,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(1385), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1387), 2,
+    ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2151), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -69802,74 +70557,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [9627] = 22,
+  [9833] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1389), 1,
+    ACTIONS(1752), 1,
       anon_sym___extension__,
-    ACTIONS(1393), 1,
+    ACTIONS(1754), 1,
       anon_sym_sizeof,
-    ACTIONS(1395), 1,
+    ACTIONS(2148), 1,
       sym_identifier,
-    ACTIONS(2149), 1,
+    ACTIONS(2150), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(802), 1,
+    STATE(975), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1385), 2,
+    ACTIONS(1748), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1387), 2,
+    ACTIONS(1750), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2151), 2,
+    ACTIONS(2152), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(845), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -69887,74 +70642,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [9734] = 22,
+  [9940] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1389), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1393), 1,
-      anon_sym_sizeof,
-    ACTIONS(1395), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    ACTIONS(2149), 1,
-      anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(803), 1,
+    STATE(983), 1,
       sym_expression,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(1385), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1387), 2,
+    ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2151), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -69972,74 +70727,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [9841] = 22,
+  [10047] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1389), 1,
+    ACTIONS(1752), 1,
       anon_sym___extension__,
-    ACTIONS(1393), 1,
+    ACTIONS(1754), 1,
       anon_sym_sizeof,
-    ACTIONS(1395), 1,
+    ACTIONS(2148), 1,
       sym_identifier,
-    ACTIONS(2149), 1,
+    ACTIONS(2150), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(804), 1,
+    STATE(976), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1385), 2,
+    ACTIONS(1748), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1387), 2,
+    ACTIONS(1750), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2151), 2,
+    ACTIONS(2152), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(845), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -70057,74 +70812,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [9948] = 22,
+  [10154] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1389), 1,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1396), 1,
       anon_sym___extension__,
-    ACTIONS(1393), 1,
+    ACTIONS(1400), 1,
       anon_sym_sizeof,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(2149), 1,
+    ACTIONS(2164), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(805), 1,
+    STATE(816), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(25), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1385), 2,
+    ACTIONS(1390), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1387), 2,
+    ACTIONS(1392), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(2151), 2,
+    ACTIONS(2166), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -70142,26 +70897,26 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [10055] = 22,
+  [10261] = 22,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(986), 1,
+    STATE(1023), 1,
       sym_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -70172,44 +70927,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -70227,74 +70982,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [10162] = 22,
+  [10368] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1389), 1,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1406), 1,
       anon_sym___extension__,
-    ACTIONS(1393), 1,
+    ACTIONS(1408), 1,
       anon_sym_sizeof,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(2149), 1,
+    ACTIONS(2124), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
-      sym_string_literal,
-    STATE(806), 1,
+    STATE(702), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    STATE(714), 1,
+      sym_string_literal,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1385), 2,
+    ACTIONS(1402), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1387), 2,
+    ACTIONS(1404), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2151), 2,
+    ACTIONS(2128), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -70312,74 +71067,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [10269] = 22,
+  [10475] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
-      anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    STATE(668), 1,
+    ACTIONS(1396), 1,
+      anon_sym___extension__,
+    ACTIONS(1400), 1,
+      anon_sym_sizeof,
+    ACTIONS(2164), 1,
+      anon_sym_LPAREN2,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1083), 1,
+    STATE(817), 1,
       sym_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(1390), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(1392), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(2166), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -70397,74 +71152,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [10376] = 22,
+  [10582] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1401), 1,
+    ACTIONS(1406), 1,
       anon_sym___extension__,
-    ACTIONS(1403), 1,
+    ACTIONS(1408), 1,
       anon_sym_sizeof,
-    ACTIONS(2115), 1,
+    ACTIONS(2124), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
-      sym_string_literal,
-    STATE(702), 1,
+    STATE(708), 1,
       sym_expression,
-    ACTIONS(25), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(101), 2,
+    STATE(714), 1,
+      sym_string_literal,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1397), 2,
+    ACTIONS(1402), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1399), 2,
+    ACTIONS(1404), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2117), 2,
+    ACTIONS(2126), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(2128), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -70482,74 +71237,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [10483] = 22,
+  [10689] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
-      anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    STATE(668), 1,
-      sym_string_literal,
-    STATE(978), 1,
+    ACTIONS(1406), 1,
+      anon_sym___extension__,
+    ACTIONS(1408), 1,
+      anon_sym_sizeof,
+    ACTIONS(2124), 1,
+      anon_sym_LPAREN2,
+    STATE(704), 1,
       sym_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
+    STATE(714), 1,
+      sym_string_literal,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(1402), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(25), 2,
+    ACTIONS(1404), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(2128), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -70567,74 +71322,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [10590] = 22,
+  [10796] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1389), 1,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1406), 1,
       anon_sym___extension__,
-    ACTIONS(1393), 1,
+    ACTIONS(1408), 1,
       anon_sym_sizeof,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(2149), 1,
+    ACTIONS(2206), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
-      sym_string_literal,
-    STATE(807), 1,
+    STATE(705), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    STATE(714), 1,
+      sym_string_literal,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1385), 2,
+    ACTIONS(1402), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1387), 2,
+    ACTIONS(1404), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2151), 2,
+    ACTIONS(2128), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -70652,26 +71407,26 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [10697] = 22,
+  [10903] = 22,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(984), 1,
+    STATE(988), 1,
       sym_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -70682,44 +71437,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -70737,74 +71492,159 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [10804] = 22,
+  [11010] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
+    ACTIONS(89), 1,
       anon_sym_offsetof,
+    ACTIONS(91), 1,
+      anon_sym__Generic,
+    ACTIONS(161), 1,
+      sym_number_literal,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1406), 1,
+      anon_sym___extension__,
+    ACTIONS(1408), 1,
+      anon_sym_sizeof,
+    ACTIONS(2124), 1,
+      anon_sym_LPAREN2,
+    STATE(714), 1,
+      sym_string_literal,
+    STATE(835), 1,
+      sym_expression,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(1402), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(1404), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(2126), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(2128), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(93), 3,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+    ACTIONS(87), 5,
+      anon_sym___alignof__,
+      anon_sym___alignof,
+      anon_sym__alignof,
+      anon_sym_alignof,
+      anon_sym__Alignof,
+    ACTIONS(97), 5,
+      anon_sym_L_SQUOTE,
+      anon_sym_u_SQUOTE,
+      anon_sym_U_SQUOTE,
+      anon_sym_u8_SQUOTE,
+      anon_sym_SQUOTE,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    STATE(682), 5,
+      sym_pointer_expression,
+      sym_subscript_expression,
+      sym_call_expression,
+      sym_field_expression,
+      sym_parenthesized_expression,
+    STATE(693), 17,
+      sym__string,
+      sym_conditional_expression,
+      sym_assignment_expression,
+      sym_unary_expression,
+      sym_binary_expression,
+      sym_update_expression,
+      sym_cast_expression,
+      sym_sizeof_expression,
+      sym_alignof_expression,
+      sym_offsetof_expression,
+      sym_generic_expression,
+      sym_gnu_asm_expression,
+      sym_extension_expression,
+      sym_compound_literal_expression,
+      sym_char_literal,
+      sym_concatenated_string,
+      sym_null,
+  [11117] = 22,
+    ACTIONS(3), 1,
+      sym_comment,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1743), 1,
+    ACTIONS(1752), 1,
       anon_sym___extension__,
-    ACTIONS(1745), 1,
+    ACTIONS(1754), 1,
       anon_sym_sizeof,
-    ACTIONS(2123), 1,
+    ACTIONS(2148), 1,
       sym_identifier,
-    ACTIONS(2125), 1,
+    ACTIONS(2150), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(701), 1,
+    STATE(977), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1739), 2,
+    ACTIONS(1748), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1741), 2,
+    ACTIONS(1750), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2129), 2,
+    ACTIONS(2152), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(828), 5,
+    STATE(845), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -70822,26 +71662,26 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [10911] = 22,
+  [11224] = 22,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1080), 1,
+    STATE(990), 1,
       sym_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -70852,44 +71692,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -70907,74 +71747,159 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [11018] = 22,
+  [11331] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1743), 1,
+    ACTIONS(1804), 1,
+      sym_identifier,
+    ACTIONS(1810), 1,
       anon_sym___extension__,
-    ACTIONS(1745), 1,
+    ACTIONS(1812), 1,
       anon_sym_sizeof,
-    ACTIONS(2123), 1,
-      sym_identifier,
-    ACTIONS(2125), 1,
+    ACTIONS(1831), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(707), 1,
+    STATE(1082), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1739), 2,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1741), 2,
+    ACTIONS(1808), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2129), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    STATE(932), 5,
+      sym_pointer_expression,
+      sym_subscript_expression,
+      sym_call_expression,
+      sym_field_expression,
+      sym_parenthesized_expression,
+    STATE(693), 17,
+      sym__string,
+      sym_conditional_expression,
+      sym_assignment_expression,
+      sym_unary_expression,
+      sym_binary_expression,
+      sym_update_expression,
+      sym_cast_expression,
+      sym_sizeof_expression,
+      sym_alignof_expression,
+      sym_offsetof_expression,
+      sym_generic_expression,
+      sym_gnu_asm_expression,
+      sym_extension_expression,
+      sym_compound_literal_expression,
+      sym_char_literal,
+      sym_concatenated_string,
+      sym_null,
+  [11438] = 22,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
+      anon_sym__Generic,
+    ACTIONS(161), 1,
+      sym_number_literal,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1396), 1,
+      anon_sym___extension__,
+    ACTIONS(1400), 1,
+      anon_sym_sizeof,
+    ACTIONS(2164), 1,
+      anon_sym_LPAREN2,
+    STATE(673), 1,
+      sym_string_literal,
+    STATE(820), 1,
+      sym_expression,
+    ACTIONS(25), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(1390), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(1392), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(2166), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(93), 3,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+    ACTIONS(87), 5,
+      anon_sym___alignof__,
+      anon_sym___alignof,
+      anon_sym__alignof,
+      anon_sym_alignof,
+      anon_sym__Alignof,
     ACTIONS(97), 5,
+      anon_sym_L_SQUOTE,
+      anon_sym_u_SQUOTE,
+      anon_sym_U_SQUOTE,
+      anon_sym_u8_SQUOTE,
+      anon_sym_SQUOTE,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(828), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -70992,26 +71917,26 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [11125] = 22,
+  [11545] = 22,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(980), 1,
+    STATE(989), 1,
       sym_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -71022,44 +71947,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -71077,74 +72002,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [11232] = 22,
+  [11652] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1743), 1,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1396), 1,
       anon_sym___extension__,
-    ACTIONS(1745), 1,
+    ACTIONS(1400), 1,
       anon_sym_sizeof,
-    ACTIONS(2123), 1,
-      sym_identifier,
-    ACTIONS(2125), 1,
+    ACTIONS(2164), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(966), 1,
+    STATE(821), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(25), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1739), 2,
+    ACTIONS(1390), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1741), 2,
+    ACTIONS(1392), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(2129), 2,
+    ACTIONS(2166), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(828), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -71162,160 +72087,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [11339] = 23,
+  [11759] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
-      anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
-    ACTIONS(53), 1,
-      anon_sym_enum,
-    ACTIONS(55), 1,
-      anon_sym_struct,
-    ACTIONS(57), 1,
-      anon_sym_union,
-    ACTIONS(1121), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
-      sym_identifier,
-    ACTIONS(2193), 1,
-      anon_sym_LBRACE,
-    STATE(691), 1,
-      sym_ms_call_modifier,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    STATE(1146), 1,
-      sym__declaration_specifiers,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    STATE(134), 3,
-      sym_function_definition,
-      sym_declaration,
-      sym_declaration_list,
-    ACTIONS(43), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    STATE(748), 5,
-      sym_sized_type_specifier,
-      sym_enum_specifier,
-      sym_struct_specifier,
-      sym_union_specifier,
-      sym_macro_type_specifier,
-    ACTIONS(39), 6,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
-    STATE(706), 7,
-      sym__declaration_modifiers,
-      sym_attribute_specifier,
-      sym_attribute_declaration,
-      sym_ms_declspec_modifier,
-      sym_storage_class_specifier,
-      sym_type_qualifier,
-      aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
-      anon_sym_extern,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [11448] = 22,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
-      anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    STATE(668), 1,
+    ACTIONS(1396), 1,
+      anon_sym___extension__,
+    ACTIONS(1400), 1,
+      anon_sym_sizeof,
+    ACTIONS(2164), 1,
+      anon_sym_LPAREN2,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1014), 1,
+    STATE(702), 1,
       sym_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(1390), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(1392), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(2166), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -71333,26 +72172,26 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [11555] = 22,
+  [11866] = 22,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(985), 1,
+    STATE(1108), 1,
       sym_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -71363,44 +72202,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -71418,74 +72257,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [11662] = 22,
+  [11973] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1752), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1754), 1,
+      anon_sym_sizeof,
+    ACTIONS(2148), 1,
       sym_identifier,
-    STATE(668), 1,
+    ACTIONS(2150), 1,
+      anon_sym_LPAREN2,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(707), 1,
+    STATE(978), 1,
       sym_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(1748), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(25), 2,
+    ACTIONS(1750), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(2152), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(845), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -71503,74 +72342,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [11769] = 22,
+  [12080] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
-      anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(2195), 1,
+    ACTIONS(1396), 1,
+      anon_sym___extension__,
+    ACTIONS(1400), 1,
+      anon_sym_sizeof,
+    ACTIONS(2164), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(705), 1,
+    STATE(837), 1,
       sym_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(1390), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(1392), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(2166), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -71588,151 +72427,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [11876] = 14,
+  [12187] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1771), 1,
-      anon_sym_const,
-    ACTIONS(1775), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(1781), 1,
-      anon_sym_STAR,
-    ACTIONS(1788), 1,
-      anon_sym_EQ,
-    STATE(625), 1,
-      sym_string_literal,
-    STATE(752), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(1794), 2,
-      anon_sym_RPAREN,
-      anon_sym_LBRACK,
-    ACTIONS(2197), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    ACTIONS(1792), 10,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-    ACTIONS(1779), 11,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(1784), 11,
-      anon_sym___extension__,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    ACTIONS(1773), 12,
-      anon_sym_COMMA,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_QMARK,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-  [11967] = 22,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
-      anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    STATE(668), 1,
+    ACTIONS(1396), 1,
+      anon_sym___extension__,
+    ACTIONS(1400), 1,
+      anon_sym_sizeof,
+    ACTIONS(2164), 1,
+      anon_sym_LPAREN2,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(989), 1,
+    STATE(708), 1,
       sym_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(1390), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(1392), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(2166), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -71750,74 +72512,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [12074] = 22,
+  [12294] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1389), 1,
+    ACTIONS(1804), 1,
+      sym_identifier,
+    ACTIONS(1810), 1,
       anon_sym___extension__,
-    ACTIONS(1393), 1,
+    ACTIONS(1812), 1,
       anon_sym_sizeof,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(2149), 1,
+    ACTIONS(1831), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(703), 1,
+    STATE(1029), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1385), 2,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1387), 2,
+    ACTIONS(1808), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2151), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -71835,74 +72597,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [12181] = 22,
+  [12401] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1389), 1,
+    ACTIONS(1804), 1,
+      sym_identifier,
+    ACTIONS(1810), 1,
       anon_sym___extension__,
-    ACTIONS(1393), 1,
+    ACTIONS(1812), 1,
       anon_sym_sizeof,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(2149), 1,
+    ACTIONS(1831), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(701), 1,
+    STATE(1030), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1385), 2,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1387), 2,
+    ACTIONS(1808), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2151), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -71920,74 +72682,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [12288] = 22,
+  [12508] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1389), 1,
+    ACTIONS(1804), 1,
+      sym_identifier,
+    ACTIONS(1810), 1,
       anon_sym___extension__,
-    ACTIONS(1393), 1,
+    ACTIONS(1812), 1,
       anon_sym_sizeof,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(2149), 1,
+    ACTIONS(1831), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(707), 1,
+    STATE(895), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1385), 2,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1387), 2,
+    ACTIONS(1808), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2151), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -72005,74 +72767,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [12395] = 22,
+  [12615] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1389), 1,
+    ACTIONS(1804), 1,
+      sym_identifier,
+    ACTIONS(1810), 1,
       anon_sym___extension__,
-    ACTIONS(1393), 1,
+    ACTIONS(1812), 1,
       anon_sym_sizeof,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(2199), 1,
+    ACTIONS(1831), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(705), 1,
+    STATE(1031), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1385), 2,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1387), 2,
+    ACTIONS(1808), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2151), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -72090,74 +72852,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [12502] = 22,
+  [12722] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1804), 1,
       sym_identifier,
-    ACTIONS(1401), 1,
+    ACTIONS(1810), 1,
       anon_sym___extension__,
-    ACTIONS(1403), 1,
+    ACTIONS(1812), 1,
       anon_sym_sizeof,
-    ACTIONS(2115), 1,
+    ACTIONS(1831), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(831), 1,
+    STATE(1032), 1,
       sym_expression,
-    ACTIONS(25), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1397), 2,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1399), 2,
+    ACTIONS(1808), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2117), 2,
+    ACTIONS(1835), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -72175,74 +72937,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [12609] = 22,
+  [12829] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1389), 1,
+    ACTIONS(1804), 1,
+      sym_identifier,
+    ACTIONS(1810), 1,
       anon_sym___extension__,
-    ACTIONS(1393), 1,
+    ACTIONS(1812), 1,
       anon_sym_sizeof,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(2149), 1,
+    ACTIONS(1831), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(809), 1,
+    STATE(1033), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1385), 2,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1387), 2,
+    ACTIONS(1808), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2151), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -72260,160 +73022,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [12716] = 23,
+  [12936] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
-      anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
-    ACTIONS(53), 1,
-      anon_sym_enum,
-    ACTIONS(55), 1,
-      anon_sym_struct,
-    ACTIONS(57), 1,
-      anon_sym_union,
-    ACTIONS(1121), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
-      sym_identifier,
-    ACTIONS(2201), 1,
-      anon_sym_LBRACE,
-    STATE(693), 1,
-      sym_ms_call_modifier,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    STATE(1137), 1,
-      sym__declaration_specifiers,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    STATE(302), 3,
-      sym_function_definition,
-      sym_declaration,
-      sym_declaration_list,
-    ACTIONS(43), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    STATE(748), 5,
-      sym_sized_type_specifier,
-      sym_enum_specifier,
-      sym_struct_specifier,
-      sym_union_specifier,
-      sym_macro_type_specifier,
-    ACTIONS(39), 6,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
-    STATE(706), 7,
-      sym__declaration_modifiers,
-      sym_attribute_specifier,
-      sym_attribute_declaration,
-      sym_ms_declspec_modifier,
-      sym_storage_class_specifier,
-      sym_type_qualifier,
-      aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
-      anon_sym_extern,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [12825] = 22,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
-      anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1804), 1,
       sym_identifier,
-    STATE(668), 1,
+    ACTIONS(1810), 1,
+      anon_sym___extension__,
+    ACTIONS(1812), 1,
+      anon_sym_sizeof,
+    ACTIONS(1831), 1,
+      anon_sym_LPAREN2,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1022), 1,
+    STATE(1034), 1,
       sym_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(25), 2,
+    ACTIONS(1808), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -72431,74 +73107,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [12932] = 22,
+  [13043] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
-      anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1804), 1,
       sym_identifier,
-    STATE(668), 1,
+    ACTIONS(1810), 1,
+      anon_sym___extension__,
+    ACTIONS(1812), 1,
+      anon_sym_sizeof,
+    ACTIONS(1831), 1,
+      anon_sym_LPAREN2,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1077), 1,
+    STATE(1035), 1,
       sym_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(25), 2,
+    ACTIONS(1808), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -72516,74 +73192,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [13039] = 22,
+  [13150] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
-      anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1804), 1,
       sym_identifier,
-    STATE(668), 1,
+    ACTIONS(1810), 1,
+      anon_sym___extension__,
+    ACTIONS(1812), 1,
+      anon_sym_sizeof,
+    ACTIONS(1831), 1,
+      anon_sym_LPAREN2,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(990), 1,
+    STATE(1036), 1,
       sym_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(25), 2,
+    ACTIONS(1808), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -72601,74 +73277,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [13146] = 22,
+  [13257] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
+    ACTIONS(1804), 1,
       sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1810), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
+    ACTIONS(1812), 1,
       anon_sym_sizeof,
-    ACTIONS(1822), 1,
+    ACTIONS(1831), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1048), 1,
+    STATE(1037), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1763), 2,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(1808), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -72686,74 +73362,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [13253] = 22,
+  [13364] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
+    ACTIONS(1804), 1,
       sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1810), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
+    ACTIONS(1812), 1,
       anon_sym_sizeof,
-    ACTIONS(1822), 1,
+    ACTIONS(1831), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1050), 1,
+    STATE(1038), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1763), 2,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(1808), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -72771,74 +73447,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [13360] = 22,
+  [13471] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1406), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
+    ACTIONS(1408), 1,
       anon_sym_sizeof,
-    ACTIONS(1822), 1,
+    ACTIONS(2124), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
-      sym_string_literal,
-    STATE(905), 1,
+    STATE(707), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    STATE(714), 1,
+      sym_string_literal,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1763), 2,
+    ACTIONS(1402), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(1404), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(2128), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -72856,74 +73532,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [13467] = 22,
+  [13578] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
-      sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1752), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
+    ACTIONS(1754), 1,
       anon_sym_sizeof,
-    ACTIONS(1822), 1,
+    ACTIONS(2148), 1,
+      sym_identifier,
+    ACTIONS(2150), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(1052), 1,
+    STATE(979), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1763), 2,
+    ACTIONS(1748), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(1750), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(2152), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(845), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -72941,74 +73617,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [13574] = 22,
+  [13685] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
+    ACTIONS(1804), 1,
       sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1810), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
+    ACTIONS(1812), 1,
       anon_sym_sizeof,
-    ACTIONS(1822), 1,
+    ACTIONS(1831), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1054), 1,
+    STATE(1040), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1763), 2,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(1808), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -73026,74 +73702,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [13681] = 22,
+  [13792] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
+    ACTIONS(1804), 1,
       sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1810), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
+    ACTIONS(1812), 1,
       anon_sym_sizeof,
-    ACTIONS(1822), 1,
+    ACTIONS(1831), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1055), 1,
+    STATE(1042), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1763), 2,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(1808), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -73111,74 +73787,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [13788] = 22,
+  [13899] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(1822), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1056), 1,
+    STATE(899), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1763), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -73196,74 +73872,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [13895] = 22,
+  [14006] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(1822), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1057), 1,
+    STATE(900), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1763), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -73281,74 +73957,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [14002] = 22,
+  [14113] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(1822), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1058), 1,
+    STATE(901), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1763), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -73366,74 +74042,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [14109] = 22,
+  [14220] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(1822), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1059), 1,
+    STATE(902), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1763), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -73451,74 +74127,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [14216] = 22,
+  [14327] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(1822), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1061), 1,
+    STATE(903), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1763), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -73536,159 +74212,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [14323] = 22,
+  [14434] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
-      anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    STATE(668), 1,
+    ACTIONS(1734), 1,
+      anon_sym___extension__,
+    ACTIONS(1736), 1,
+      anon_sym_sizeof,
+    ACTIONS(2118), 1,
+      anon_sym_LPAREN2,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1028), 1,
+    STATE(904), 1,
       sym_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(25), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(81), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-    ACTIONS(85), 5,
-      anon_sym___alignof__,
-      anon_sym___alignof,
-      anon_sym__alignof,
-      anon_sym_alignof,
-      anon_sym__Alignof,
-    ACTIONS(95), 5,
-      anon_sym_L_SQUOTE,
-      anon_sym_u_SQUOTE,
-      anon_sym_U_SQUOTE,
-      anon_sym_u8_SQUOTE,
-      anon_sym_SQUOTE,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    STATE(835), 5,
-      sym_pointer_expression,
-      sym_subscript_expression,
-      sym_call_expression,
-      sym_field_expression,
-      sym_parenthesized_expression,
-    STATE(679), 17,
-      sym__string,
-      sym_conditional_expression,
-      sym_assignment_expression,
-      sym_unary_expression,
-      sym_binary_expression,
-      sym_update_expression,
-      sym_cast_expression,
-      sym_sizeof_expression,
-      sym_alignof_expression,
-      sym_offsetof_expression,
-      sym_generic_expression,
-      sym_gnu_asm_expression,
-      sym_extension_expression,
-      sym_compound_literal_expression,
-      sym_char_literal,
-      sym_concatenated_string,
-      sym_null,
-  [14430] = 22,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
-    ACTIONS(89), 1,
-      anon_sym__Generic,
-    ACTIONS(159), 1,
-      sym_number_literal,
-    ACTIONS(1506), 1,
-      anon_sym___extension__,
-    ACTIONS(1737), 1,
-      sym_identifier,
-    STATE(668), 1,
-      sym_string_literal,
-    STATE(1090), 1,
-      sym_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(25), 2,
+    ACTIONS(1732), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -73706,74 +74297,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [14537] = 22,
+  [14541] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(1822), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1063), 1,
+    STATE(905), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1763), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -73791,74 +74382,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [14644] = 22,
+  [14648] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(1822), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1024), 1,
+    STATE(906), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1763), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -73876,74 +74467,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [14751] = 22,
+  [14755] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(886), 1,
+    STATE(907), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -73961,74 +74552,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [14858] = 22,
+  [14862] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(887), 1,
+    STATE(909), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -74046,74 +74637,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [14965] = 22,
+  [14969] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(888), 1,
+    STATE(910), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -74131,74 +74722,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [15072] = 22,
+  [15076] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(889), 1,
+    STATE(912), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -74216,74 +74807,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [15179] = 22,
+  [15183] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(890), 1,
+    STATE(914), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -74301,74 +74892,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [15286] = 22,
+  [15290] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2208), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(891), 1,
+    STATE(915), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -74386,74 +74977,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [15393] = 22,
+  [15397] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(893), 1,
+    STATE(911), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -74471,74 +75062,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [15500] = 22,
+  [15504] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
-      anon_sym_sizeof,
-    ACTIONS(2131), 1,
-      anon_sym_LPAREN2,
-    STATE(668), 1,
+    ACTIONS(1746), 1,
+      sym_identifier,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(896), 1,
+    STATE(967), 1,
       sym_expression,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(1717), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -74556,74 +75147,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [15607] = 22,
+  [15611] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1396), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1400), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2164), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(899), 1,
+    STATE(704), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(25), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1390), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1392), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2166), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -74641,74 +75232,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [15714] = 22,
+  [15718] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1396), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1400), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2210), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(901), 1,
+    STATE(705), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(25), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1390), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1392), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2166), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -74726,74 +75317,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [15821] = 22,
+  [15825] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(19), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
-      anon_sym_sizeof,
-    ACTIONS(2131), 1,
-      anon_sym_LPAREN2,
-    STATE(668), 1,
+    ACTIONS(1746), 1,
+      sym_identifier,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(904), 1,
+    STATE(1083), 1,
       sym_expression,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(1717), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -74811,159 +75402,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [15928] = 22,
+  [15932] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1396), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1400), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2164), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(894), 1,
+    STATE(836), 1,
       sym_expression,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(1717), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1719), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-    ACTIONS(85), 5,
-      anon_sym___alignof__,
-      anon_sym___alignof,
-      anon_sym__alignof,
-      anon_sym_alignof,
-      anon_sym__Alignof,
-    ACTIONS(95), 5,
-      anon_sym_L_SQUOTE,
-      anon_sym_u_SQUOTE,
-      anon_sym_U_SQUOTE,
-      anon_sym_u8_SQUOTE,
-      anon_sym_SQUOTE,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    STATE(686), 5,
-      sym_pointer_expression,
-      sym_subscript_expression,
-      sym_call_expression,
-      sym_field_expression,
-      sym_parenthesized_expression,
-    STATE(679), 17,
-      sym__string,
-      sym_conditional_expression,
-      sym_assignment_expression,
-      sym_unary_expression,
-      sym_binary_expression,
-      sym_update_expression,
-      sym_cast_expression,
-      sym_sizeof_expression,
-      sym_alignof_expression,
-      sym_offsetof_expression,
-      sym_generic_expression,
-      sym_gnu_asm_expression,
-      sym_extension_expression,
-      sym_compound_literal_expression,
-      sym_char_literal,
-      sym_concatenated_string,
-      sym_null,
-  [16035] = 22,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
-    ACTIONS(89), 1,
-      anon_sym__Generic,
-    ACTIONS(159), 1,
-      sym_number_literal,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1721), 1,
-      anon_sym___extension__,
-    ACTIONS(1723), 1,
-      anon_sym_sizeof,
-    ACTIONS(2131), 1,
-      anon_sym_LPAREN2,
-    STATE(668), 1,
-      sym_string_literal,
-    STATE(897), 1,
-      sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1390), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1392), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2166), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -74981,159 +75487,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [16142] = 22,
+  [16039] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
+    ACTIONS(85), 1,
+      anon_sym_sizeof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
-      anon_sym_sizeof,
-    ACTIONS(2203), 1,
+    ACTIONS(1746), 1,
+      sym_identifier,
+    ACTIONS(2212), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(898), 1,
+    STATE(705), 1,
       sym_expression,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(1717), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(21), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(23), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-    ACTIONS(85), 5,
-      anon_sym___alignof__,
-      anon_sym___alignof,
-      anon_sym__alignof,
-      anon_sym_alignof,
-      anon_sym__Alignof,
-    ACTIONS(95), 5,
-      anon_sym_L_SQUOTE,
-      anon_sym_u_SQUOTE,
-      anon_sym_U_SQUOTE,
-      anon_sym_u8_SQUOTE,
-      anon_sym_SQUOTE,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    STATE(686), 5,
-      sym_pointer_expression,
-      sym_subscript_expression,
-      sym_call_expression,
-      sym_field_expression,
-      sym_parenthesized_expression,
-    STATE(679), 17,
-      sym__string,
-      sym_conditional_expression,
-      sym_assignment_expression,
-      sym_unary_expression,
-      sym_binary_expression,
-      sym_update_expression,
-      sym_cast_expression,
-      sym_sizeof_expression,
-      sym_alignof_expression,
-      sym_offsetof_expression,
-      sym_generic_expression,
-      sym_gnu_asm_expression,
-      sym_extension_expression,
-      sym_compound_literal_expression,
-      sym_char_literal,
-      sym_concatenated_string,
-      sym_null,
-  [16249] = 22,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
-    ACTIONS(89), 1,
-      anon_sym__Generic,
-    ACTIONS(159), 1,
-      sym_number_literal,
-    ACTIONS(1395), 1,
-      sym_identifier,
-    ACTIONS(1721), 1,
-      anon_sym___extension__,
-    ACTIONS(1723), 1,
-      anon_sym_sizeof,
-    ACTIONS(2131), 1,
-      anon_sym_LPAREN2,
-    STATE(668), 1,
-      sym_string_literal,
-    STATE(883), 1,
-      sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(1719), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(1826), 2,
-      anon_sym_STAR,
-      anon_sym_AMP,
-    ACTIONS(2133), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -75151,26 +75572,26 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [16356] = 22,
+  [16146] = 22,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1071), 1,
+    STATE(1088), 1,
       sym_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -75181,44 +75602,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -75236,26 +75657,26 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [16463] = 22,
+  [16253] = 22,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1067), 1,
+    STATE(1079), 1,
       sym_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -75266,44 +75687,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -75321,74 +75742,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [16570] = 22,
+  [16360] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
-      anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    STATE(668), 1,
+    ACTIONS(1396), 1,
+      anon_sym___extension__,
+    ACTIONS(1400), 1,
+      anon_sym_sizeof,
+    ACTIONS(2164), 1,
+      anon_sym_LPAREN2,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(976), 1,
+    STATE(819), 1,
       sym_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(1390), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(1392), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(2166), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -75406,26 +75827,26 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [16677] = 22,
+  [16467] = 22,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1069), 1,
+    STATE(1097), 1,
       sym_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -75436,44 +75857,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -75491,74 +75912,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [16784] = 22,
+  [16574] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
+    ACTIONS(1804), 1,
       sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1810), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
+    ACTIONS(1812), 1,
       anon_sym_sizeof,
-    ACTIONS(1822), 1,
+    ACTIONS(1831), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(894), 1,
+    STATE(912), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1763), 2,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(1808), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -75576,74 +75997,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [16891] = 22,
+  [16681] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1395), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1721), 1,
+    ACTIONS(1734), 1,
       anon_sym___extension__,
-    ACTIONS(1723), 1,
+    ACTIONS(1736), 1,
       anon_sym_sizeof,
-    ACTIONS(2131), 1,
+    ACTIONS(2118), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(895), 1,
+    STATE(913), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1717), 2,
+    ACTIONS(1730), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1719), 2,
+    ACTIONS(1732), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2133), 2,
+    ACTIONS(2120), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(686), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -75661,74 +76082,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [16998] = 22,
+  [16788] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
+    ACTIONS(1804), 1,
       sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1810), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
+    ACTIONS(1812), 1,
       anon_sym_sizeof,
-    ACTIONS(1822), 1,
+    ACTIONS(1831), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(897), 1,
+    STATE(914), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1763), 2,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(1808), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -75746,74 +76167,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [17105] = 22,
+  [16895] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(19), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(83), 1,
-      anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
-      anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1804), 1,
       sym_identifier,
-    STATE(668), 1,
+    ACTIONS(1810), 1,
+      anon_sym___extension__,
+    ACTIONS(1812), 1,
+      anon_sym_sizeof,
+    ACTIONS(2214), 1,
+      anon_sym_LPAREN2,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(972), 1,
+    STATE(915), 1,
       sym_expression,
-    ACTIONS(21), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(23), 2,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(25), 2,
+    ACTIONS(1808), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-    ACTIONS(161), 2,
-      sym_true,
-      sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -75831,74 +76252,74 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [17212] = 22,
+  [17002] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
+    ACTIONS(1804), 1,
       sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1810), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
+    ACTIONS(1812), 1,
       anon_sym_sizeof,
-    ACTIONS(1822), 1,
+    ACTIONS(1831), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1040), 1,
+    STATE(1060), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1763), 2,
+    ACTIONS(1806), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(1808), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(1835), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(1847), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(932), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -75916,74 +76337,329 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [17319] = 22,
+  [17109] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
+    ACTIONS(89), 1,
       anon_sym_offsetof,
+    ACTIONS(91), 1,
+      anon_sym__Generic,
+    ACTIONS(161), 1,
+      sym_number_literal,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1396), 1,
+      anon_sym___extension__,
+    ACTIONS(1400), 1,
+      anon_sym_sizeof,
+    ACTIONS(2164), 1,
+      anon_sym_LPAREN2,
+    STATE(673), 1,
+      sym_string_literal,
+    STATE(839), 1,
+      sym_expression,
+    ACTIONS(25), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(1390), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(1392), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(2166), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(93), 3,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+    ACTIONS(87), 5,
+      anon_sym___alignof__,
+      anon_sym___alignof,
+      anon_sym__alignof,
+      anon_sym_alignof,
+      anon_sym__Alignof,
+    ACTIONS(97), 5,
+      anon_sym_L_SQUOTE,
+      anon_sym_u_SQUOTE,
+      anon_sym_U_SQUOTE,
+      anon_sym_u8_SQUOTE,
+      anon_sym_SQUOTE,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    STATE(682), 5,
+      sym_pointer_expression,
+      sym_subscript_expression,
+      sym_call_expression,
+      sym_field_expression,
+      sym_parenthesized_expression,
+    STATE(693), 17,
+      sym__string,
+      sym_conditional_expression,
+      sym_assignment_expression,
+      sym_unary_expression,
+      sym_binary_expression,
+      sym_update_expression,
+      sym_cast_expression,
+      sym_sizeof_expression,
+      sym_alignof_expression,
+      sym_offsetof_expression,
+      sym_generic_expression,
+      sym_gnu_asm_expression,
+      sym_extension_expression,
+      sym_compound_literal_expression,
+      sym_char_literal,
+      sym_concatenated_string,
+      sym_null,
+  [17216] = 22,
+    ACTIONS(3), 1,
+      sym_comment,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1761), 1,
+    ACTIONS(1386), 1,
       sym_identifier,
-    ACTIONS(1767), 1,
+    ACTIONS(1396), 1,
       anon_sym___extension__,
-    ACTIONS(1769), 1,
+    ACTIONS(1400), 1,
       anon_sym_sizeof,
-    ACTIONS(1822), 1,
+    ACTIONS(2164), 1,
       anon_sym_LPAREN2,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(1093), 1,
+    STATE(827), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(25), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1763), 2,
+    ACTIONS(1390), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1765), 2,
+    ACTIONS(1392), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(1826), 2,
+    ACTIONS(2166), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(93), 3,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+    ACTIONS(87), 5,
+      anon_sym___alignof__,
+      anon_sym___alignof,
+      anon_sym__alignof,
+      anon_sym_alignof,
+      anon_sym__Alignof,
+    ACTIONS(97), 5,
+      anon_sym_L_SQUOTE,
+      anon_sym_u_SQUOTE,
+      anon_sym_U_SQUOTE,
+      anon_sym_u8_SQUOTE,
+      anon_sym_SQUOTE,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    STATE(682), 5,
+      sym_pointer_expression,
+      sym_subscript_expression,
+      sym_call_expression,
+      sym_field_expression,
+      sym_parenthesized_expression,
+    STATE(693), 17,
+      sym__string,
+      sym_conditional_expression,
+      sym_assignment_expression,
+      sym_unary_expression,
+      sym_binary_expression,
+      sym_update_expression,
+      sym_cast_expression,
+      sym_sizeof_expression,
+      sym_alignof_expression,
+      sym_offsetof_expression,
+      sym_generic_expression,
+      sym_gnu_asm_expression,
+      sym_extension_expression,
+      sym_compound_literal_expression,
+      sym_char_literal,
+      sym_concatenated_string,
+      sym_null,
+  [17323] = 22,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
+      anon_sym__Generic,
+    ACTIONS(161), 1,
+      sym_number_literal,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1396), 1,
+      anon_sym___extension__,
+    ACTIONS(1400), 1,
+      anon_sym_sizeof,
+    ACTIONS(2164), 1,
+      anon_sym_LPAREN2,
+    STATE(673), 1,
+      sym_string_literal,
+    STATE(815), 1,
+      sym_expression,
+    ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(1838), 2,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(1390), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(1392), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(2166), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    STATE(682), 5,
+      sym_pointer_expression,
+      sym_subscript_expression,
+      sym_call_expression,
+      sym_field_expression,
+      sym_parenthesized_expression,
+    STATE(693), 17,
+      sym__string,
+      sym_conditional_expression,
+      sym_assignment_expression,
+      sym_unary_expression,
+      sym_binary_expression,
+      sym_update_expression,
+      sym_cast_expression,
+      sym_sizeof_expression,
+      sym_alignof_expression,
+      sym_offsetof_expression,
+      sym_generic_expression,
+      sym_gnu_asm_expression,
+      sym_extension_expression,
+      sym_compound_literal_expression,
+      sym_char_literal,
+      sym_concatenated_string,
+      sym_null,
+  [17430] = 22,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
+      anon_sym__Generic,
+    ACTIONS(161), 1,
+      sym_number_literal,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1396), 1,
+      anon_sym___extension__,
+    ACTIONS(1400), 1,
+      anon_sym_sizeof,
+    ACTIONS(2164), 1,
+      anon_sym_LPAREN2,
+    STATE(673), 1,
+      sym_string_literal,
+    STATE(838), 1,
+      sym_expression,
+    ACTIONS(25), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(1390), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(1392), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(2166), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(93), 3,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+    ACTIONS(87), 5,
+      anon_sym___alignof__,
+      anon_sym___alignof,
+      anon_sym__alignof,
+      anon_sym_alignof,
+      anon_sym__Alignof,
     ACTIONS(97), 5,
+      anon_sym_L_SQUOTE,
+      anon_sym_u_SQUOTE,
+      anon_sym_U_SQUOTE,
+      anon_sym_u8_SQUOTE,
+      anon_sym_SQUOTE,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(906), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -76001,26 +76677,26 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [17426] = 22,
+  [17537] = 22,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(19), 1,
       anon_sym_LPAREN2,
-    ACTIONS(83), 1,
+    ACTIONS(85), 1,
       anon_sym_sizeof,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1506), 1,
+    ACTIONS(1416), 1,
       anon_sym___extension__,
-    ACTIONS(1737), 1,
+    ACTIONS(1746), 1,
       sym_identifier,
-    STATE(668), 1,
+    STATE(673), 1,
       sym_string_literal,
-    STATE(973), 1,
+    STATE(708), 1,
       sym_expression,
     ACTIONS(21), 2,
       anon_sym_BANG,
@@ -76031,44 +76707,44 @@ static const uint16_t ts_small_parse_table[] = {
     ACTIONS(25), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(81), 2,
+    ACTIONS(83), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(835), 5,
+    STATE(843), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -76086,74 +76762,159 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [17533] = 22,
+  [17644] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(87), 1,
-      anon_sym_offsetof,
     ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
       anon_sym__Generic,
-    ACTIONS(159), 1,
+    ACTIONS(161), 1,
       sym_number_literal,
-    ACTIONS(1743), 1,
+    ACTIONS(1752), 1,
       anon_sym___extension__,
-    ACTIONS(1745), 1,
+    ACTIONS(1754), 1,
       anon_sym_sizeof,
-    ACTIONS(2123), 1,
+    ACTIONS(2148), 1,
       sym_identifier,
-    ACTIONS(2205), 1,
+    ACTIONS(2150), 1,
       anon_sym_LPAREN2,
-    STATE(700), 1,
+    STATE(714), 1,
       sym_string_literal,
-    STATE(705), 1,
+    STATE(970), 1,
       sym_expression,
-    ACTIONS(101), 2,
+    ACTIONS(103), 2,
       anon_sym_NULL,
       anon_sym_nullptr,
-    ACTIONS(161), 2,
+    ACTIONS(163), 2,
       sym_true,
       sym_false,
-    ACTIONS(1739), 2,
+    ACTIONS(1748), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(1741), 2,
+    ACTIONS(1750), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(2127), 2,
+    ACTIONS(2126), 2,
       anon_sym_STAR,
       anon_sym_AMP,
-    ACTIONS(2129), 2,
+    ACTIONS(2152), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(91), 3,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(85), 5,
+    ACTIONS(87), 5,
       anon_sym___alignof__,
       anon_sym___alignof,
       anon_sym__alignof,
       anon_sym_alignof,
       anon_sym__Alignof,
-    ACTIONS(95), 5,
+    ACTIONS(97), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    STATE(845), 5,
+      sym_pointer_expression,
+      sym_subscript_expression,
+      sym_call_expression,
+      sym_field_expression,
+      sym_parenthesized_expression,
+    STATE(693), 17,
+      sym__string,
+      sym_conditional_expression,
+      sym_assignment_expression,
+      sym_unary_expression,
+      sym_binary_expression,
+      sym_update_expression,
+      sym_cast_expression,
+      sym_sizeof_expression,
+      sym_alignof_expression,
+      sym_offsetof_expression,
+      sym_generic_expression,
+      sym_gnu_asm_expression,
+      sym_extension_expression,
+      sym_compound_literal_expression,
+      sym_char_literal,
+      sym_concatenated_string,
+      sym_null,
+  [17751] = 22,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(89), 1,
+      anon_sym_offsetof,
+    ACTIONS(91), 1,
+      anon_sym__Generic,
+    ACTIONS(161), 1,
+      sym_number_literal,
+    ACTIONS(1386), 1,
+      sym_identifier,
+    ACTIONS(1396), 1,
+      anon_sym___extension__,
+    ACTIONS(1400), 1,
+      anon_sym_sizeof,
+    ACTIONS(2164), 1,
+      anon_sym_LPAREN2,
+    STATE(673), 1,
+      sym_string_literal,
+    STATE(707), 1,
+      sym_expression,
+    ACTIONS(25), 2,
+      anon_sym_STAR,
+      anon_sym_AMP,
+    ACTIONS(103), 2,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+    ACTIONS(163), 2,
+      sym_true,
+      sym_false,
+    ACTIONS(1390), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(1392), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(2166), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(93), 3,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+    ACTIONS(87), 5,
+      anon_sym___alignof__,
+      anon_sym___alignof,
+      anon_sym__alignof,
+      anon_sym_alignof,
+      anon_sym__Alignof,
     ACTIONS(97), 5,
+      anon_sym_L_SQUOTE,
+      anon_sym_u_SQUOTE,
+      anon_sym_U_SQUOTE,
+      anon_sym_u8_SQUOTE,
+      anon_sym_SQUOTE,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    STATE(828), 5,
+    STATE(682), 5,
       sym_pointer_expression,
       sym_subscript_expression,
       sym_call_expression,
       sym_field_expression,
       sym_parenthesized_expression,
-    STATE(679), 17,
+    STATE(693), 17,
       sym__string,
       sym_conditional_expression,
       sym_assignment_expression,
@@ -76171,21 +76932,21 @@ static const uint16_t ts_small_parse_table[] = {
       sym_char_literal,
       sym_concatenated_string,
       sym_null,
-  [17640] = 6,
+  [17858] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2207), 1,
+    ACTIONS(2216), 1,
       sym_identifier,
-    STATE(626), 2,
+    STATE(628), 2,
       sym_string_literal,
       aux_sym_concatenated_string_repeat1,
-    ACTIONS(97), 5,
+    ACTIONS(2223), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    ACTIONS(2211), 16,
+    ACTIONS(2221), 17,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -76200,9 +76961,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
-    ACTIONS(2209), 33,
+    ACTIONS(2219), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -76236,21 +76998,21 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [17711] = 6,
+  [17930] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2213), 1,
+    ACTIONS(2226), 1,
       sym_identifier,
-    STATE(627), 2,
+    STATE(628), 2,
       sym_string_literal,
       aux_sym_concatenated_string_repeat1,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    ACTIONS(2217), 16,
+    ACTIONS(2230), 17,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -76265,9 +77027,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
-    ACTIONS(2215), 33,
+    ACTIONS(2228), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -76301,21 +77064,21 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [17782] = 6,
+  [18002] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2219), 1,
+    ACTIONS(2232), 1,
       sym_identifier,
-    STATE(627), 2,
+    STATE(629), 2,
       sym_string_literal,
       aux_sym_concatenated_string_repeat1,
-    ACTIONS(2226), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    ACTIONS(2224), 16,
+    ACTIONS(2236), 17,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -76330,9 +77093,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
-    ACTIONS(2222), 33,
+    ACTIONS(2234), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -76366,59 +77130,125 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [17853] = 24,
+  [18074] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
+    STATE(630), 1,
+      sym_string_literal,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    ACTIONS(1778), 18,
+      aux_sym_preproc_elif_token1,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
       anon_sym___attribute__,
-    ACTIONS(37), 1,
+      anon_sym___attribute,
+      anon_sym_EQ,
+      anon_sym_DOT,
+      sym_identifier,
+    ACTIONS(1772), 33,
+      anon_sym_DOT_DOT_DOT,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      anon_sym_LPAREN2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_SEMI,
+      anon_sym_RBRACE,
+      anon_sym_LBRACK,
+      anon_sym_RBRACK,
+      anon_sym_COLON,
+      anon_sym_QMARK,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+      anon_sym_DASH_GT,
+  [18143] = 25,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(41), 1,
+    ACTIONS(43), 1,
       anon_sym_LBRACE,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1810), 1,
+    ACTIONS(1819), 1,
       anon_sym_DOT_DOT_DOT,
-    ACTIONS(1812), 1,
-      anon_sym_RPAREN,
-    ACTIONS(1947), 1,
+    ACTIONS(2238), 1,
       sym_identifier,
-    STATE(710), 1,
+    ACTIONS(2240), 1,
+      anon_sym_RPAREN,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1114), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1127), 1,
       sym__declaration_specifiers,
-    STATE(1770), 1,
+    STATE(1531), 1,
+      sym_variadic_parameter,
+    STATE(1603), 1,
+      sym_parameter_declaration,
+    STATE(1957), 1,
       sym_compound_statement,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(1623), 2,
-      sym_variadic_parameter,
-      sym_parameter_declaration,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -76426,7 +77256,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -76437,7 +77267,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -76448,60 +77278,60 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [17959] = 25,
+  [18252] = 24,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(41), 1,
+    ACTIONS(43), 1,
       anon_sym_LBRACE,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1810), 1,
+    ACTIONS(1819), 1,
       anon_sym_DOT_DOT_DOT,
-    ACTIONS(2229), 1,
-      sym_identifier,
-    ACTIONS(2231), 1,
+    ACTIONS(1821), 1,
       anon_sym_RPAREN,
-    STATE(710), 1,
+    ACTIONS(1946), 1,
+      sym_identifier,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1114), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1127), 1,
       sym__declaration_specifiers,
-    STATE(1492), 1,
-      sym_variadic_parameter,
-    STATE(1623), 1,
-      sym_parameter_declaration,
-    STATE(1770), 1,
+    STATE(1957), 1,
       sym_compound_statement,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(43), 4,
+    STATE(1603), 2,
+      sym_variadic_parameter,
+      sym_parameter_declaration,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -76509,7 +77339,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -76520,7 +77350,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -76531,18 +77361,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [18067] = 5,
+  [18359] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(625), 1,
-      sym_string_literal,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    ACTIONS(1779), 17,
+    ACTIONS(2242), 22,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -76557,10 +77379,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym_LBRACK,
       anon_sym_EQ,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(1773), 33,
+    ACTIONS(2244), 34,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -76576,8 +77403,9 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_SEMI,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
       anon_sym_RBRACE,
-      anon_sym_LBRACK,
       anon_sym_RBRACK,
       anon_sym_COLON,
       anon_sym_QMARK,
@@ -76594,10 +77422,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [18135] = 3,
+  [18423] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2233), 21,
+    ACTIONS(2246), 22,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -76612,6 +77440,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_LBRACK,
       anon_sym_EQ,
       anon_sym_asm,
@@ -76619,7 +77448,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___asm,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2235), 34,
+    ACTIONS(2248), 34,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -76654,10 +77483,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [18198] = 3,
+  [18487] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2237), 21,
+    ACTIONS(2250), 22,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -76672,6 +77501,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_LBRACK,
       anon_sym_EQ,
       anon_sym_asm,
@@ -76679,7 +77509,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___asm,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2239), 34,
+    ACTIONS(2252), 34,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -76714,10 +77544,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [18261] = 3,
+  [18551] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2241), 21,
+    ACTIONS(2254), 22,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -76732,6 +77562,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_LBRACK,
       anon_sym_EQ,
       anon_sym_asm,
@@ -76739,7 +77570,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___asm,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2243), 34,
+    ACTIONS(2256), 34,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -76774,10 +77605,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [18324] = 3,
+  [18615] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2245), 21,
+    ACTIONS(2258), 18,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -76792,14 +77623,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
-      anon_sym_LBRACK,
+      anon_sym___attribute,
       anon_sym_EQ,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2247), 34,
+    ACTIONS(2260), 38,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -76815,9 +77643,8 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_SEMI,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
       anon_sym_RBRACE,
+      anon_sym_LBRACK,
       anon_sym_RBRACK,
       anon_sym_COLON,
       anon_sym_QMARK,
@@ -76834,10 +77661,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [18387] = 3,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+  [18679] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2249), 21,
+    ACTIONS(2262), 22,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -76852,6 +77684,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_LBRACK,
       anon_sym_EQ,
       anon_sym_asm,
@@ -76859,7 +77692,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___asm,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2251), 34,
+    ACTIONS(2264), 34,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -76894,70 +77727,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [18450] = 3,
+  [18743] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2253), 17,
-      aux_sym_preproc_elif_token1,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-      anon_sym___attribute__,
-      anon_sym_EQ,
-      anon_sym_DOT,
-      sym_identifier,
-    ACTIONS(2255), 38,
-      anon_sym_DOT_DOT_DOT,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      anon_sym_LPAREN2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_SEMI,
-      anon_sym_RBRACE,
-      anon_sym_LBRACK,
-      anon_sym_RBRACK,
-      anon_sym_COLON,
-      anon_sym_QMARK,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-      anon_sym_DASH_GT,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-  [18513] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2257), 21,
+    ACTIONS(2266), 22,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -76972,6 +77745,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_LBRACK,
       anon_sym_EQ,
       anon_sym_asm,
@@ -76979,7 +77753,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___asm,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2259), 34,
+    ACTIONS(2268), 34,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -77014,78 +77788,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [18576] = 11,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2271), 1,
-      anon_sym___attribute__,
-    ACTIONS(2274), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(2277), 1,
-      anon_sym___declspec,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    ACTIONS(2280), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    ACTIONS(2263), 5,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_STAR,
-      anon_sym_SEMI,
-    STATE(638), 7,
-      sym__declaration_modifiers,
-      sym_attribute_specifier,
-      sym_attribute_declaration,
-      sym_ms_declspec_modifier,
-      sym_storage_class_specifier,
-      sym_type_qualifier,
-      aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(2265), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-    ACTIONS(2268), 10,
-      anon_sym_extern,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-    ACTIONS(2261), 17,
-      anon_sym___based,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-      anon_sym_LBRACK,
-      sym_primitive_type,
-      anon_sym_enum,
-      anon_sym_struct,
-      anon_sym_union,
-      sym_identifier,
-  [18655] = 3,
+  [18807] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2283), 21,
+    ACTIONS(2270), 22,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -77100,6 +77806,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_LBRACK,
       anon_sym_EQ,
       anon_sym_asm,
@@ -77107,7 +77814,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___asm,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2285), 34,
+    ACTIONS(2272), 34,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -77142,10 +77849,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [18718] = 3,
+  [18871] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2287), 21,
+    ACTIONS(2274), 18,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -77160,14 +77867,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
-      anon_sym_LBRACK,
+      anon_sym___attribute,
       anon_sym_EQ,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2289), 34,
+    ACTIONS(2276), 38,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -77183,9 +77887,8 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_SEMI,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
       anon_sym_RBRACE,
+      anon_sym_LBRACK,
       anon_sym_RBRACK,
       anon_sym_COLON,
       anon_sym_QMARK,
@@ -77202,10 +77905,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [18781] = 3,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+  [18935] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2291), 17,
+    ACTIONS(2278), 22,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -77220,10 +77928,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym_LBRACK,
       anon_sym_EQ,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2293), 38,
+    ACTIONS(2280), 34,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -77239,8 +77952,9 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_SEMI,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
       anon_sym_RBRACE,
-      anon_sym_LBRACK,
       anon_sym_RBRACK,
       anon_sym_COLON,
       anon_sym_QMARK,
@@ -77257,15 +77971,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-  [18844] = 3,
+  [18999] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2295), 21,
+    ACTIONS(2282), 22,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -77280,6 +77989,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_LBRACK,
       anon_sym_EQ,
       anon_sym_asm,
@@ -77287,7 +77997,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___asm,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2297), 34,
+    ACTIONS(2284), 34,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -77322,10 +78032,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [18907] = 3,
+  [19063] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2299), 21,
+    ACTIONS(2286), 22,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -77340,6 +78050,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_LBRACK,
       anon_sym_EQ,
       anon_sym_asm,
@@ -77347,7 +78058,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___asm,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2301), 34,
+    ACTIONS(2288), 34,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -77382,55 +78093,125 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [18970] = 22,
+  [19127] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(2303), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(2306), 1,
       anon_sym___declspec,
-    ACTIONS(51), 1,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    ACTIONS(2300), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2309), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    ACTIONS(2292), 5,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym_SEMI,
+    STATE(646), 7,
+      sym__declaration_modifiers,
+      sym_attribute_specifier,
+      sym_attribute_declaration,
+      sym_ms_declspec_modifier,
+      sym_storage_class_specifier,
+      sym_type_qualifier,
+      aux_sym__declaration_specifiers_repeat1,
+    ACTIONS(2294), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+    ACTIONS(2297), 10,
+      anon_sym_extern,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+    ACTIONS(2290), 17,
+      anon_sym___based,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_LBRACK,
       sym_primitive_type,
-    ACTIONS(53), 1,
       anon_sym_enum,
-    ACTIONS(55), 1,
       anon_sym_struct,
+      anon_sym_union,
+      sym_identifier,
+  [19207] = 22,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(39), 1,
+      anon_sym___declspec,
+    ACTIONS(53), 1,
+      sym_primitive_type,
+    ACTIONS(55), 1,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(376), 1,
+    ACTIONS(506), 1,
       anon_sym_LBRACE,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(275), 1,
+    STATE(299), 1,
       sym_compound_statement,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1130), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1159), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(657), 2,
+    STATE(664), 2,
       sym_declaration,
       aux_sym__old_style_function_definition_repeat1,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -77438,7 +78219,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -77449,7 +78230,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -77460,55 +78241,56 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [19070] = 22,
+  [19308] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(131), 1,
+    ACTIONS(506), 1,
       anon_sym_LBRACE,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(142), 1,
+    STATE(301), 1,
       sym_compound_statement,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1130), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1159), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(666), 2,
+    STATE(651), 2,
       sym_declaration,
       aux_sym__old_style_function_definition_repeat1,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -77516,7 +78298,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -77527,7 +78309,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -77538,55 +78320,56 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [19170] = 22,
+  [19409] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(131), 1,
+    ACTIONS(133), 1,
       anon_sym_LBRACE,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(125), 1,
+    STATE(137), 1,
       sym_compound_statement,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1130), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1159), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(666), 2,
+    STATE(654), 2,
       sym_declaration,
       aux_sym__old_style_function_definition_repeat1,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -77594,7 +78377,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -77605,7 +78388,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -77616,55 +78399,56 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [19270] = 22,
+  [19510] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(502), 1,
+    ACTIONS(378), 1,
       anon_sym_LBRACE,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(284), 1,
+    STATE(275), 1,
       sym_compound_statement,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1130), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1159), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(649), 2,
+    STATE(664), 2,
       sym_declaration,
       aux_sym__old_style_function_definition_repeat1,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -77672,7 +78456,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -77683,7 +78467,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -77694,55 +78478,56 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [19370] = 22,
+  [19611] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(376), 1,
+    ACTIONS(506), 1,
       anon_sym_LBRACE,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(264), 1,
+    STATE(307), 1,
       sym_compound_statement,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1130), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1159), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(666), 2,
+    STATE(664), 2,
       sym_declaration,
       aux_sym__old_style_function_definition_repeat1,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -77750,7 +78535,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -77761,7 +78546,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -77772,55 +78557,56 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [19470] = 22,
+  [19712] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(502), 1,
+    ACTIONS(378), 1,
       anon_sym_LBRACE,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(266), 1,
+    STATE(264), 1,
       sym_compound_statement,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1130), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1159), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(666), 2,
+    STATE(650), 2,
       sym_declaration,
       aux_sym__old_style_function_definition_repeat1,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -77828,7 +78614,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -77839,7 +78625,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -77850,55 +78636,56 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [19570] = 22,
+  [19813] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
+    ACTIONS(43), 1,
+      anon_sym_LBRACE,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(502), 1,
-      anon_sym_LBRACE,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(268), 1,
+    STATE(321), 1,
       sym_compound_statement,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1130), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1159), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(652), 2,
+    STATE(657), 2,
       sym_declaration,
       aux_sym__old_style_function_definition_repeat1,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -77906,7 +78693,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -77917,7 +78704,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -77928,55 +78715,56 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [19670] = 22,
+  [19914] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(131), 1,
+    ACTIONS(133), 1,
       anon_sym_LBRACE,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(128), 1,
+    STATE(127), 1,
       sym_compound_statement,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1130), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1159), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(645), 2,
+    STATE(664), 2,
       sym_declaration,
       aux_sym__old_style_function_definition_repeat1,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -77984,7 +78772,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -77995,7 +78783,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -78006,55 +78794,56 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [19770] = 22,
+  [20015] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(502), 1,
+    ACTIONS(133), 1,
       anon_sym_LBRACE,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(280), 1,
+    STATE(132), 1,
       sym_compound_statement,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1130), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1159), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(666), 2,
+    STATE(656), 2,
       sym_declaration,
       aux_sym__old_style_function_definition_repeat1,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -78062,7 +78851,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -78073,7 +78862,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -78084,55 +78873,56 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [19870] = 22,
+  [20116] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(41), 1,
-      anon_sym_LBRACE,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1121), 1,
+    ACTIONS(133), 1,
+      anon_sym_LBRACE,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(372), 1,
+    STATE(124), 1,
       sym_compound_statement,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1130), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1159), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(666), 2,
+    STATE(664), 2,
       sym_declaration,
       aux_sym__old_style_function_definition_repeat1,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -78140,7 +78930,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -78151,7 +78941,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -78162,55 +78952,56 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [19970] = 22,
+  [20217] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(41), 1,
+    ACTIONS(43), 1,
       anon_sym_LBRACE,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(362), 1,
+    STATE(343), 1,
       sym_compound_statement,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1130), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1159), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(653), 2,
+    STATE(664), 2,
       sym_declaration,
       aux_sym__old_style_function_definition_repeat1,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -78218,7 +79009,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -78229,7 +79020,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -78240,55 +79031,56 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [20070] = 22,
+  [20318] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(41), 1,
-      anon_sym_LBRACE,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1121), 1,
+    ACTIONS(506), 1,
+      anon_sym_LBRACE,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(359), 1,
+    STATE(293), 1,
       sym_compound_statement,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1130), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1159), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(666), 2,
+    STATE(647), 2,
       sym_declaration,
       aux_sym__old_style_function_definition_repeat1,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -78296,7 +79088,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -78307,7 +79099,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -78318,55 +79110,56 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [20170] = 22,
+  [20419] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(131), 1,
+    ACTIONS(378), 1,
       anon_sym_LBRACE,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(135), 1,
+    STATE(277), 1,
       sym_compound_statement,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1130), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1159), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(646), 2,
+    STATE(661), 2,
       sym_declaration,
       aux_sym__old_style_function_definition_repeat1,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -78374,7 +79167,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -78385,7 +79178,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -78396,55 +79189,56 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [20270] = 22,
+  [20520] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
+    ACTIONS(43), 1,
+      anon_sym_LBRACE,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(376), 1,
-      anon_sym_LBRACE,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(311), 1,
+    STATE(324), 1,
       sym_compound_statement,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1130), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1159), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(666), 2,
+    STATE(664), 2,
       sym_declaration,
       aux_sym__old_style_function_definition_repeat1,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -78452,7 +79246,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -78463,7 +79257,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -78474,55 +79268,56 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [20370] = 22,
+  [20621] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(41), 1,
-      anon_sym_LBRACE,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1121), 1,
+    ACTIONS(378), 1,
+      anon_sym_LBRACE,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(376), 1,
+    STATE(284), 1,
       sym_compound_statement,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1130), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1159), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(655), 2,
+    STATE(664), 2,
       sym_declaration,
       aux_sym__old_style_function_definition_repeat1,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -78530,7 +79325,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -78541,7 +79336,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -78552,55 +79347,56 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [20470] = 22,
+  [20722] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
+    ACTIONS(43), 1,
+      anon_sym_LBRACE,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(376), 1,
-      anon_sym_LBRACE,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(295), 1,
+    STATE(345), 1,
       sym_compound_statement,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1130), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1159), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(648), 2,
+    STATE(660), 2,
       sym_declaration,
       aux_sym__old_style_function_definition_repeat1,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -78608,7 +79404,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -78619,7 +79415,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -78630,36 +79426,64 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [20570] = 3,
+  [20823] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2305), 9,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_STAR,
-      anon_sym_SEMI,
+    ACTIONS(39), 1,
+      anon_sym___declspec,
+    ACTIONS(53), 1,
+      sym_primitive_type,
+    ACTIONS(55), 1,
+      anon_sym_enum,
+    ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
+      anon_sym_union,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-      anon_sym_EQ,
-      anon_sym_COLON,
-    ACTIONS(2303), 44,
-      anon_sym___extension__,
-      anon_sym_extern,
+    ACTIONS(1819), 1,
+      anon_sym_DOT_DOT_DOT,
+    ACTIONS(2312), 1,
+      sym_identifier,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(722), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1127), 1,
+      sym__declaration_specifiers,
+    STATE(1743), 1,
+      sym_parameter_declaration,
+    STATE(1748), 1,
+      sym_variadic_parameter,
+    ACTIONS(35), 2,
       anon_sym___attribute__,
-      anon_sym___declspec,
-      anon_sym___based,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-      anon_sym_LBRACK,
+    STATE(772), 5,
+      sym_sized_type_specifier,
+      sym_enum_specifier,
+      sym_struct_specifier,
+      sym_union_specifier,
+      sym_macro_type_specifier,
+    STATE(710), 7,
+      sym__declaration_modifiers,
+      sym_attribute_specifier,
+      sym_attribute_declaration,
+      sym_ms_declspec_modifier,
+      sym_storage_class_specifier,
+      sym_type_qualifier,
+      aux_sym__declaration_specifiers_repeat1,
+    ACTIONS(47), 10,
+      anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
       anon_sym_register,
@@ -78669,6 +79493,8 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
       anon_sym_volatile,
@@ -78678,63 +79504,131 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
+  [20923] = 21,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2314), 1,
+      sym_identifier,
+    ACTIONS(2326), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(2329), 1,
+      anon_sym___declspec,
+    ACTIONS(2332), 1,
+      anon_sym_LBRACE,
+    ACTIONS(2340), 1,
       sym_primitive_type,
+    ACTIONS(2343), 1,
       anon_sym_enum,
+    ACTIONS(2346), 1,
       anon_sym_struct,
+    ACTIONS(2349), 1,
       anon_sym_union,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-      sym_identifier,
-  [20631] = 21,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(722), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1159), 1,
+      sym__declaration_specifiers,
+    ACTIONS(2323), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2337), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(664), 2,
+      sym_declaration,
+      aux_sym__old_style_function_definition_repeat1,
+    ACTIONS(2334), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    STATE(772), 5,
+      sym_sized_type_specifier,
+      sym_enum_specifier,
+      sym_struct_specifier,
+      sym_union_specifier,
+      sym_macro_type_specifier,
+    STATE(710), 7,
+      sym__declaration_modifiers,
+      sym_attribute_specifier,
+      sym_attribute_declaration,
+      sym_ms_declspec_modifier,
+      sym_storage_class_specifier,
+      sym_type_qualifier,
+      aux_sym__declaration_specifiers_repeat1,
+    ACTIONS(2317), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+    ACTIONS(2320), 10,
+      anon_sym_extern,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+  [21021] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1810), 1,
+    ACTIONS(1819), 1,
       anon_sym_DOT_DOT_DOT,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1114), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1127), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(1718), 2,
+    STATE(1743), 2,
       sym_variadic_parameter,
       sym_parameter_declaration,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -78742,7 +79636,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -78753,7 +79647,90 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [21119] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2354), 9,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym_SEMI,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
+      anon_sym_EQ,
+      anon_sym_COLON,
+    ACTIONS(2352), 45,
+      anon_sym___extension__,
+      anon_sym_extern,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym___declspec,
+      anon_sym___based,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_LBRACK,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      anon_sym_enum,
+      anon_sym_struct,
+      anon_sym_union,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+      sym_identifier,
+  [21181] = 8,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2363), 1,
+      anon_sym_static,
+    STATE(703), 1,
+      sym_alignas_qualifier,
+    ACTIONS(2366), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(667), 2,
+      sym_type_qualifier,
+      aux_sym_array_declarator_repeat1,
+    ACTIONS(2360), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -78764,10 +79741,49 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [20728] = 3,
+    ACTIONS(2356), 18,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_sizeof,
+      anon_sym___alignof__,
+      anon_sym___alignof,
+      anon_sym__alignof,
+      anon_sym_alignof,
+      anon_sym__Alignof,
+      anon_sym_offsetof,
+      anon_sym__Generic,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+      sym_true,
+      sym_false,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+      sym_identifier,
+    ACTIONS(2358), 19,
+      anon_sym_LPAREN2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+      anon_sym_STAR,
+      anon_sym_AMP,
+      anon_sym_RBRACK,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+      sym_number_literal,
+      anon_sym_L_SQUOTE,
+      anon_sym_u_SQUOTE,
+      anon_sym_U_SQUOTE,
+      anon_sym_u8_SQUOTE,
+      anon_sym_SQUOTE,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+  [21252] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2309), 21,
+    ACTIONS(1740), 21,
       anon_sym_LPAREN2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -78789,7 +79805,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    ACTIONS(2307), 32,
+    ACTIONS(1738), 32,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym___extension__,
@@ -78822,10 +79838,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_NULL,
       anon_sym_nullptr,
       sym_identifier,
-  [20789] = 3,
+  [21313] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1731), 21,
+    ACTIONS(2371), 21,
       anon_sym_LPAREN2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -78847,7 +79863,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    ACTIONS(1729), 32,
+    ACTIONS(2369), 32,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym___extension__,
@@ -78880,73 +79896,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_NULL,
       anon_sym_nullptr,
       sym_identifier,
-  [20850] = 8,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2318), 1,
-      anon_sym_static,
-    STATE(681), 1,
-      sym_alignas_qualifier,
-    ACTIONS(2321), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    STATE(664), 2,
-      sym_type_qualifier,
-      aux_sym_array_declarator_repeat1,
-    ACTIONS(2315), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-    ACTIONS(2311), 18,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_sizeof,
-      anon_sym___alignof__,
-      anon_sym___alignof,
-      anon_sym__alignof,
-      anon_sym_alignof,
-      anon_sym__Alignof,
-      anon_sym_offsetof,
-      anon_sym__Generic,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-      sym_true,
-      sym_false,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-      sym_identifier,
-    ACTIONS(2313), 19,
-      anon_sym_LPAREN2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-      anon_sym_STAR,
-      anon_sym_AMP,
-      anon_sym_RBRACK,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-      sym_number_literal,
-      anon_sym_L_SQUOTE,
-      anon_sym_u_SQUOTE,
-      anon_sym_U_SQUOTE,
-      anon_sym_u8_SQUOTE,
-      anon_sym_SQUOTE,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-  [20921] = 3,
+  [21374] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1735), 21,
+    ACTIONS(1744), 21,
       anon_sym_LPAREN2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -78968,7 +79921,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    ACTIONS(1733), 32,
+    ACTIONS(1742), 32,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym___extension__,
@@ -79001,53 +79954,227 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_NULL,
       anon_sym_nullptr,
       sym_identifier,
-  [20982] = 21,
+  [21435] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2324), 1,
-      sym_identifier,
-    ACTIONS(2333), 1,
+    ACTIONS(2369), 18,
+      aux_sym_preproc_elif_token1,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
       anon_sym___attribute__,
-    ACTIONS(2336), 1,
+      anon_sym___attribute,
+      anon_sym_EQ,
+      anon_sym_DOT,
+      sym_identifier,
+    ACTIONS(2371), 34,
+      anon_sym_DOT_DOT_DOT,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      anon_sym_LPAREN2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_SEMI,
+      anon_sym_LBRACE,
+      anon_sym_RBRACE,
+      anon_sym_LBRACK,
+      anon_sym_RBRACK,
+      anon_sym_COLON,
+      anon_sym_QMARK,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+      anon_sym_DASH_GT,
+  [21495] = 7,
+    ACTIONS(3), 1,
+      sym_comment,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    ACTIONS(2380), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(672), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(2375), 7,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2339), 1,
+      anon_sym_COLON,
+    ACTIONS(2377), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+    ACTIONS(2373), 30,
+      anon_sym_extern,
+      anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
-    ACTIONS(2342), 1,
-      anon_sym_LBRACE,
-    ACTIONS(2350), 1,
+      anon_sym___based,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_LBRACK,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+      sym_primitive_type,
+      anon_sym_enum,
+      anon_sym_struct,
+      anon_sym_union,
+      sym_identifier,
+  [21563] = 6,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2383), 1,
+      sym_identifier,
+    STATE(630), 1,
+      sym_string_literal,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    ACTIONS(2387), 16,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym_EQ,
+      anon_sym_DOT,
+    ACTIONS(2385), 29,
+      anon_sym_DOT_DOT_DOT,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_SEMI,
+      anon_sym_RBRACE,
+      anon_sym_LBRACK,
+      anon_sym_RBRACK,
+      anon_sym_COLON,
+      anon_sym_QMARK,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+      anon_sym_DASH_GT,
+  [21629] = 19,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(39), 1,
+      anon_sym___declspec,
+    ACTIONS(53), 1,
       sym_primitive_type,
-    ACTIONS(2353), 1,
+    ACTIONS(55), 1,
       anon_sym_enum,
-    ACTIONS(2356), 1,
+    ACTIONS(57), 1,
       anon_sym_struct,
-    ACTIONS(2359), 1,
+    ACTIONS(59), 1,
       anon_sym_union,
-    STATE(710), 1,
+    ACTIONS(1126), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(1946), 1,
+      sym_identifier,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1130), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1255), 1,
       sym__declaration_specifiers,
-    ACTIONS(2347), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(666), 2,
-      sym_declaration,
-      aux_sym__old_style_function_definition_repeat1,
-    ACTIONS(2344), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -79055,18 +80182,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(2327), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-    ACTIONS(2330), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -79077,54 +80193,60 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-  [21079] = 22,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [21720] = 19,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1810), 1,
-      anon_sym_DOT_DOT_DOT,
-    ACTIONS(2362), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1114), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1262), 1,
       sym__declaration_specifiers,
-    STATE(1675), 1,
-      sym_variadic_parameter,
-    STATE(1718), 1,
-      sym_parameter_declaration,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -79132,7 +80254,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -79143,7 +80265,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -79154,20 +80276,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [21178] = 6,
+  [21811] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2364), 1,
-      sym_identifier,
-    STATE(625), 1,
-      sym_string_literal,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    ACTIONS(2368), 15,
+    ACTIONS(2389), 18,
+      aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym_STAR,
@@ -79181,12 +80294,18 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
-    ACTIONS(2366), 29,
+      sym_identifier,
+    ACTIONS(2391), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
       anon_sym_LPAREN2,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
@@ -79213,10 +80332,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [21243] = 3,
+  [21870] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2307), 17,
+    ACTIONS(2393), 18,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -79231,10 +80350,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2309), 34,
+    ACTIONS(2395), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -79250,7 +80370,6 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_SEMI,
-      anon_sym_LBRACE,
       anon_sym_RBRACE,
       anon_sym_LBRACK,
       anon_sym_RBRACK,
@@ -79269,99 +80388,29 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [21302] = 19,
+  [21929] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
-      anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
-    ACTIONS(53), 1,
-      anon_sym_enum,
-    ACTIONS(55), 1,
-      anon_sym_struct,
-    ACTIONS(57), 1,
-      anon_sym_union,
-    ACTIONS(1121), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
-      sym_identifier,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    STATE(1206), 1,
-      sym__declaration_specifiers,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    ACTIONS(43), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    STATE(748), 5,
-      sym_sized_type_specifier,
-      sym_enum_specifier,
-      sym_struct_specifier,
-      sym_union_specifier,
-      sym_macro_type_specifier,
-    STATE(706), 7,
-      sym__declaration_modifiers,
-      sym_attribute_specifier,
-      sym_attribute_declaration,
-      sym_ms_declspec_modifier,
-      sym_storage_class_specifier,
-      sym_type_qualifier,
-      aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
-      anon_sym_extern,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [21392] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2370), 17,
-      aux_sym_preproc_elif_token1,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
+    ACTIONS(2397), 18,
+      aux_sym_preproc_elif_token1,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2372), 33,
+    ACTIONS(2399), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -79395,10 +80444,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [21450] = 3,
+  [21988] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2374), 17,
+    ACTIONS(2401), 18,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -79413,10 +80462,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2376), 33,
+    ACTIONS(2403), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -79450,10 +80500,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [21508] = 3,
+  [22047] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2378), 17,
+    ACTIONS(2405), 18,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -79468,10 +80518,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2380), 33,
+    ACTIONS(2407), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -79505,10 +80556,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [21566] = 3,
+  [22106] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2382), 17,
+    ACTIONS(2409), 18,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -79523,10 +80574,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2384), 33,
+    ACTIONS(2411), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -79560,10 +80612,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [21624] = 3,
+  [22165] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2386), 17,
+    ACTIONS(1778), 18,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -79578,10 +80630,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2388), 33,
+    ACTIONS(1772), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -79615,65 +80668,82 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [21682] = 3,
+  [22224] = 19,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2390), 17,
-      aux_sym_preproc_elif_token1,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-      anon_sym___attribute__,
-      anon_sym_EQ,
-      anon_sym_DOT,
+    ACTIONS(39), 1,
+      anon_sym___declspec,
+    ACTIONS(53), 1,
+      sym_primitive_type,
+    ACTIONS(55), 1,
+      anon_sym_enum,
+    ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
+      anon_sym_union,
+    ACTIONS(1126), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(1946), 1,
       sym_identifier,
-    ACTIONS(2392), 33,
-      anon_sym_DOT_DOT_DOT,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      anon_sym_LPAREN2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_SEMI,
-      anon_sym_RBRACE,
-      anon_sym_LBRACK,
-      anon_sym_RBRACK,
-      anon_sym_COLON,
-      anon_sym_QMARK,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-      anon_sym_DASH_GT,
-  [21740] = 3,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(722), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1267), 1,
+      sym__declaration_specifiers,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    ACTIONS(45), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    STATE(772), 5,
+      sym_sized_type_specifier,
+      sym_enum_specifier,
+      sym_struct_specifier,
+      sym_union_specifier,
+      sym_macro_type_specifier,
+    STATE(710), 7,
+      sym__declaration_modifiers,
+      sym_attribute_specifier,
+      sym_attribute_declaration,
+      sym_ms_declspec_modifier,
+      sym_storage_class_specifier,
+      sym_type_qualifier,
+      aux_sym__declaration_specifiers_repeat1,
+    ACTIONS(47), 10,
+      anon_sym_extern,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [22315] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2394), 17,
+    ACTIONS(2413), 18,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -79688,10 +80758,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2396), 33,
+    ACTIONS(2415), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -79725,10 +80796,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [21798] = 3,
+  [22374] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2398), 17,
+    ACTIONS(2417), 18,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -79743,10 +80814,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2400), 33,
+    ACTIONS(2419), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -79780,10 +80852,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [21856] = 3,
+  [22433] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1779), 17,
+    ACTIONS(2421), 18,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -79798,10 +80870,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(1773), 33,
+    ACTIONS(2423), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -79835,10 +80908,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [21914] = 3,
+  [22492] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2402), 17,
+    ACTIONS(2425), 18,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -79853,10 +80926,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2404), 33,
+    ACTIONS(2427), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -79890,120 +80964,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [21972] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1707), 19,
-      anon_sym_LPAREN2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-      anon_sym_STAR,
-      anon_sym_AMP,
-      anon_sym_RBRACK,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-      sym_number_literal,
-      anon_sym_L_SQUOTE,
-      anon_sym_u_SQUOTE,
-      anon_sym_U_SQUOTE,
-      anon_sym_u8_SQUOTE,
-      anon_sym_SQUOTE,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    ACTIONS(1705), 31,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym___extension__,
-      anon_sym_static,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      anon_sym_sizeof,
-      anon_sym___alignof__,
-      anon_sym___alignof,
-      anon_sym__alignof,
-      anon_sym_alignof,
-      anon_sym__Alignof,
-      anon_sym_offsetof,
-      anon_sym__Generic,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-      sym_true,
-      sym_false,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-      sym_identifier,
-  [22030] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2408), 19,
-      anon_sym_LPAREN2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-      anon_sym_STAR,
-      anon_sym_AMP,
-      anon_sym_RBRACK,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-      sym_number_literal,
-      anon_sym_L_SQUOTE,
-      anon_sym_u_SQUOTE,
-      anon_sym_U_SQUOTE,
-      anon_sym_u8_SQUOTE,
-      anon_sym_SQUOTE,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    ACTIONS(2406), 31,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym___extension__,
-      anon_sym_static,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      anon_sym_sizeof,
-      anon_sym___alignof__,
-      anon_sym___alignof,
-      anon_sym__alignof,
-      anon_sym_alignof,
-      anon_sym__Alignof,
-      anon_sym_offsetof,
-      anon_sym__Generic,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-      sym_true,
-      sym_false,
-      anon_sym_NULL,
-      anon_sym_nullptr,
-      sym_identifier,
-  [22088] = 3,
+  [22551] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2410), 17,
+    ACTIONS(2429), 18,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -80018,10 +80982,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2412), 33,
+    ACTIONS(2431), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -80055,10 +81020,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [22146] = 3,
+  [22610] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2414), 17,
+    ACTIONS(2433), 18,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -80073,10 +81038,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2416), 33,
+    ACTIONS(2435), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -80110,10 +81076,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [22204] = 3,
+  [22669] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2418), 17,
+    ACTIONS(2437), 18,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -80128,10 +81094,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2420), 33,
+    ACTIONS(2439), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -80165,10 +81132,82 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [22262] = 3,
+  [22728] = 19,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1779), 17,
+    ACTIONS(39), 1,
+      anon_sym___declspec,
+    ACTIONS(53), 1,
+      sym_primitive_type,
+    ACTIONS(55), 1,
+      anon_sym_enum,
+    ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
+      anon_sym_union,
+    ACTIONS(1126), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(1946), 1,
+      sym_identifier,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(722), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1246), 1,
+      sym__declaration_specifiers,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    ACTIONS(45), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    STATE(772), 5,
+      sym_sized_type_specifier,
+      sym_enum_specifier,
+      sym_struct_specifier,
+      sym_union_specifier,
+      sym_macro_type_specifier,
+    STATE(710), 7,
+      sym__declaration_modifiers,
+      sym_attribute_specifier,
+      sym_attribute_declaration,
+      sym_ms_declspec_modifier,
+      sym_storage_class_specifier,
+      sym_type_qualifier,
+      aux_sym__declaration_specifiers_repeat1,
+    ACTIONS(47), 10,
+      anon_sym_extern,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [22819] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2441), 18,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -80183,10 +81222,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(1773), 33,
+    ACTIONS(2443), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -80220,10 +81260,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [22320] = 3,
+  [22878] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2422), 17,
+    ACTIONS(1778), 18,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -80238,10 +81278,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2424), 33,
+    ACTIONS(1772), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -80275,190 +81316,49 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [22378] = 19,
+  [22937] = 19,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
-    ACTIONS(55), 1,
-      anon_sym_struct,
-    ACTIONS(57), 1,
-      anon_sym_union,
-    ACTIONS(1121), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
-      sym_identifier,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    STATE(1248), 1,
-      sym__declaration_specifiers,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    ACTIONS(43), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    STATE(748), 5,
-      sym_sized_type_specifier,
-      sym_enum_specifier,
-      sym_struct_specifier,
-      sym_union_specifier,
-      sym_macro_type_specifier,
-    STATE(706), 7,
-      sym__declaration_modifiers,
-      sym_attribute_specifier,
-      sym_attribute_declaration,
-      sym_ms_declspec_modifier,
-      sym_storage_class_specifier,
-      sym_type_qualifier,
-      aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
-      anon_sym_extern,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [22468] = 19,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
-      anon_sym___declspec,
-    ACTIONS(51), 1,
       sym_primitive_type,
-    ACTIONS(53), 1,
-      anon_sym_enum,
     ACTIONS(55), 1,
-      anon_sym_struct,
-    ACTIONS(57), 1,
-      anon_sym_union,
-    ACTIONS(1121), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
-      sym_identifier,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    STATE(1212), 1,
-      sym__declaration_specifiers,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    ACTIONS(43), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    STATE(748), 5,
-      sym_sized_type_specifier,
-      sym_enum_specifier,
-      sym_struct_specifier,
-      sym_union_specifier,
-      sym_macro_type_specifier,
-    STATE(706), 7,
-      sym__declaration_modifiers,
-      sym_attribute_specifier,
-      sym_attribute_declaration,
-      sym_ms_declspec_modifier,
-      sym_storage_class_specifier,
-      sym_type_qualifier,
-      aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
-      anon_sym_extern,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [22558] = 19,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
-      anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
-    ACTIONS(53), 1,
       anon_sym_enum,
-    ACTIONS(55), 1,
-      anon_sym_struct,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1225), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1252), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -80466,7 +81366,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -80477,7 +81377,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -80488,48 +81388,49 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [22648] = 19,
+  [23028] = 19,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1243), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1269), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -80537,7 +81438,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -80548,7 +81449,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -80559,48 +81460,49 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [22738] = 19,
+  [23119] = 19,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1218), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1261), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -80608,7 +81510,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -80619,7 +81521,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -80630,48 +81532,49 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [22828] = 19,
+  [23210] = 19,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1249), 1,
+    STATE(727), 1,
+      sym_type_specifier,
+    STATE(1259), 1,
       sym__declaration_specifiers,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(706), 7,
+    STATE(710), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -80679,7 +81582,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -80690,7 +81593,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -80701,10 +81604,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [22918] = 3,
+  [23301] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2426), 17,
+    ACTIONS(2445), 18,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -80719,10 +81622,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2428), 33,
+    ACTIONS(2447), 33,
       anon_sym_DOT_DOT_DOT,
       anon_sym_COMMA,
       anon_sym_RPAREN,
@@ -80756,10 +81660,77 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [22976] = 3,
+  [23360] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2430), 17,
+    ACTIONS(2451), 19,
+      anon_sym_LPAREN2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+      anon_sym_STAR,
+      anon_sym_AMP,
+      anon_sym_RBRACK,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+      sym_number_literal,
+      anon_sym_L_SQUOTE,
+      anon_sym_u_SQUOTE,
+      anon_sym_U_SQUOTE,
+      anon_sym_u8_SQUOTE,
+      anon_sym_SQUOTE,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    ACTIONS(2449), 31,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym___extension__,
+      anon_sym_static,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      anon_sym_sizeof,
+      anon_sym___alignof__,
+      anon_sym___alignof,
+      anon_sym__alignof,
+      anon_sym_alignof,
+      anon_sym__Alignof,
+      anon_sym_offsetof,
+      anon_sym__Generic,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+      sym_true,
+      sym_false,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+      sym_identifier,
+  [23418] = 8,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2453), 17,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -80774,18 +81745,16 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
-      anon_sym_DOT,
       sym_identifier,
-    ACTIONS(2432), 33,
-      anon_sym_DOT_DOT_DOT,
+    ACTIONS(2455), 26,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       aux_sym_preproc_if_token2,
       aux_sym_preproc_else_token1,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
-      anon_sym_LPAREN2,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
       anon_sym_EQ_EQ,
@@ -80794,8 +81763,6 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_EQ,
       anon_sym_SEMI,
       anon_sym_RBRACE,
-      anon_sym_LBRACK,
-      anon_sym_RBRACK,
       anon_sym_COLON,
       anon_sym_QMARK,
       anon_sym_STAR_EQ,
@@ -80808,84 +81775,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-      anon_sym_DASH_GT,
-  [23034] = 19,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
-      anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
-    ACTIONS(53), 1,
-      anon_sym_enum,
-    ACTIONS(55), 1,
-      anon_sym_struct,
-    ACTIONS(57), 1,
-      anon_sym_union,
-    ACTIONS(1121), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
-      sym_identifier,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(718), 1,
-      sym_type_specifier,
-    STATE(751), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    STATE(1247), 1,
-      sym__declaration_specifiers,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    ACTIONS(43), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    STATE(748), 5,
-      sym_sized_type_specifier,
-      sym_enum_specifier,
-      sym_struct_specifier,
-      sym_union_specifier,
-      sym_macro_type_specifier,
-    STATE(706), 7,
-      sym__declaration_modifiers,
-      sym_attribute_specifier,
-      sym_attribute_declaration,
-      sym_ms_declspec_modifier,
-      sym_storage_class_specifier,
-      sym_type_qualifier,
-      aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
-      anon_sym_extern,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [23124] = 3,
+  [23486] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2434), 16,
+    ACTIONS(2465), 17,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -80900,9 +81793,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       sym_identifier,
-    ACTIONS(2436), 33,
+    ACTIONS(2467), 33,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       aux_sym_preproc_if_token2,
@@ -80936,10 +81830,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PLUS_PLUS,
       anon_sym_DOT,
       anon_sym_DASH_GT,
-  [23181] = 3,
+  [23544] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2438), 16,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2469), 17,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -80954,16 +81860,16 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       sym_identifier,
-    ACTIONS(2440), 33,
+    ACTIONS(2471), 26,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       aux_sym_preproc_if_token2,
       aux_sym_preproc_else_token1,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
-      anon_sym_LPAREN2,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
       anon_sym_EQ_EQ,
@@ -80971,9 +81877,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_SEMI,
-      anon_sym_RBRACK_RBRACK,
       anon_sym_RBRACE,
-      anon_sym_LBRACK,
       anon_sym_COLON,
       anon_sym_QMARK,
       anon_sym_STAR_EQ,
@@ -80986,14 +81890,77 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
+  [23612] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(1716), 19,
+      anon_sym_LPAREN2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+      anon_sym_STAR,
+      anon_sym_AMP,
+      anon_sym_RBRACK,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-  [23238] = 3,
+      sym_number_literal,
+      anon_sym_L_SQUOTE,
+      anon_sym_u_SQUOTE,
+      anon_sym_U_SQUOTE,
+      anon_sym_u8_SQUOTE,
+      anon_sym_SQUOTE,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    ACTIONS(1714), 31,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym___extension__,
+      anon_sym_static,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      anon_sym_sizeof,
+      anon_sym___alignof__,
+      anon_sym___alignof,
+      anon_sym__alignof,
+      anon_sym_alignof,
+      anon_sym__Alignof,
+      anon_sym_offsetof,
+      anon_sym__Generic,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+      sym_true,
+      sym_false,
+      anon_sym_NULL,
+      anon_sym_nullptr,
+      sym_identifier,
+  [23670] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2442), 16,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2473), 17,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -81008,16 +81975,16 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       sym_identifier,
-    ACTIONS(2444), 33,
+    ACTIONS(2475), 26,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       aux_sym_preproc_if_token2,
       aux_sym_preproc_else_token1,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
-      anon_sym_LPAREN2,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
       anon_sym_EQ_EQ,
@@ -81025,9 +81992,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_SEMI,
-      anon_sym_RBRACK_RBRACK,
       anon_sym_RBRACE,
-      anon_sym_LBRACK,
       anon_sym_COLON,
       anon_sym_QMARK,
       anon_sym_STAR_EQ,
@@ -81040,22 +82005,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
+  [23738] = 8,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
       anon_sym_DOT,
       anon_sym_DASH_GT,
-  [23295] = 5,
-    ACTIONS(3), 1,
-      sym_comment,
-    STATE(625), 1,
-      sym_string_literal,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    ACTIONS(2368), 15,
+    ACTIONS(2477), 17,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -81069,22 +82034,26 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
+      anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       sym_identifier,
-    ACTIONS(2366), 28,
+    ACTIONS(2479), 26,
       anon_sym_COMMA,
+      anon_sym_RPAREN,
       aux_sym_preproc_if_token2,
       aux_sym_preproc_else_token1,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
-      anon_sym_LPAREN2,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-      anon_sym_LBRACK,
+      anon_sym_SEMI,
+      anon_sym_RBRACE,
+      anon_sym_COLON,
       anon_sym_QMARK,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
@@ -81096,23 +82065,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-  [23356] = 7,
+  [23806] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2446), 16,
+    ACTIONS(2481), 17,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -81127,15 +82083,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       sym_identifier,
-    ACTIONS(2448), 28,
+    ACTIONS(2483), 33,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       aux_sym_preproc_if_token2,
       aux_sym_preproc_else_token1,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
+      anon_sym_LPAREN2,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
       anon_sym_EQ_EQ,
@@ -81143,7 +82101,9 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_SEMI,
+      anon_sym_RBRACK_RBRACK,
       anon_sym_RBRACE,
+      anon_sym_LBRACK,
       anon_sym_COLON,
       anon_sym_QMARK,
       anon_sym_STAR_EQ,
@@ -81158,22 +82118,24 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PIPE_EQ,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-  [23421] = 8,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+  [23864] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2456), 16,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2485), 17,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -81188,9 +82150,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       sym_identifier,
-    ACTIONS(2458), 26,
+    ACTIONS(2487), 26,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       aux_sym_preproc_if_token2,
@@ -81217,22 +82180,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [23488] = 8,
+  [23932] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
+    ACTIONS(2463), 2,
       anon_sym_DOT,
       anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(2462), 16,
+    ACTIONS(2489), 17,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -81247,9 +82207,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       sym_identifier,
-    ACTIONS(2464), 26,
+    ACTIONS(2491), 28,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       aux_sym_preproc_if_token2,
@@ -81276,81 +82237,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [23555] = 8,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2466), 16,
-      aux_sym_preproc_elif_token1,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-      anon_sym___attribute__,
-      anon_sym_EQ,
-      sym_identifier,
-    ACTIONS(2468), 26,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_SEMI,
-      anon_sym_RBRACE,
-      anon_sym_COLON,
-      anon_sym_QMARK,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-  [23622] = 8,
+  [23998] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(2470), 16,
+    ACTIONS(2493), 17,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -81365,15 +82257,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_EQ,
       sym_identifier,
-    ACTIONS(2472), 26,
+    ACTIONS(2495), 33,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       aux_sym_preproc_if_token2,
       aux_sym_preproc_else_token1,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
+      anon_sym_LPAREN2,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
       anon_sym_EQ_EQ,
@@ -81381,7 +82275,9 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_SEMI,
+      anon_sym_RBRACK_RBRACK,
       anon_sym_RBRACE,
+      anon_sym_LBRACK,
       anon_sym_COLON,
       anon_sym_QMARK,
       anon_sym_STAR_EQ,
@@ -81394,46 +82290,51 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [23689] = 18,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+  [24056] = 18,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(51), 1,
-      sym_primitive_type,
     ACTIONS(53), 1,
-      anon_sym_enum,
+      sym_primitive_type,
     ACTIONS(55), 1,
-      anon_sym_struct,
+      anon_sym_enum,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(721), 1,
-      sym_type_specifier,
-    STATE(751), 1,
+    STATE(722), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(49), 2,
+    STATE(724), 1,
+      sym_type_specifier,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(43), 4,
+    ACTIONS(45), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    STATE(638), 7,
+    STATE(646), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -81441,7 +82342,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -81452,7 +82353,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -81463,135 +82364,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [23776] = 8,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(2474), 16,
-      aux_sym_preproc_elif_token1,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-      anon_sym___attribute__,
-      anon_sym_EQ,
-      sym_identifier,
-    ACTIONS(2476), 26,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_SEMI,
-      anon_sym_RBRACE,
-      anon_sym_COLON,
-      anon_sym_QMARK,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-  [23843] = 7,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2478), 1,
-      anon_sym_EQ,
-    STATE(625), 1,
-      sym_string_literal,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    ACTIONS(2480), 10,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-    ACTIONS(1779), 14,
-      aux_sym_preproc_elif_token1,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-      sym_identifier,
-    ACTIONS(1773), 18,
-      anon_sym_COMMA,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      anon_sym_LPAREN2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_LBRACK,
-      anon_sym_QMARK,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-  [23908] = 7,
+  [24144] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(2486), 1,
+    ACTIONS(2501), 1,
       anon_sym_LBRACE,
-    STATE(728), 1,
+    STATE(734), 1,
       sym_field_declaration_list,
-    STATE(744), 1,
+    STATE(779), 1,
       sym_attribute_specifier,
-    ACTIONS(2484), 7,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2499), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -81599,7 +82384,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2482), 37,
+    ACTIONS(2497), 37,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___declspec,
@@ -81637,10 +82422,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [23972] = 3,
+  [24209] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1707), 7,
+    ACTIONS(2501), 1,
+      anon_sym_LBRACE,
+    STATE(738), 1,
+      sym_field_declaration_list,
+    STATE(743), 1,
+      sym_attribute_specifier,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2505), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -81648,10 +82442,9 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(1705), 41,
+    ACTIONS(2503), 37,
       anon_sym___extension__,
       anon_sym_extern,
-      anon_sym___attribute__,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -81686,54 +82479,38 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_alignas,
       anon_sym__Alignas,
       sym_primitive_type,
-      anon_sym_enum,
-      anon_sym_struct,
-      anon_sym_union,
       sym_identifier,
-  [24028] = 7,
+  [24274] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(2486), 1,
-      anon_sym_LBRACE,
-    STATE(727), 1,
-      sym_field_declaration_list,
-    STATE(742), 1,
-      sym_attribute_specifier,
-    ACTIONS(2490), 7,
+    ACTIONS(2507), 1,
+      sym_identifier,
+    ACTIONS(2522), 1,
+      sym_primitive_type,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(754), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(2519), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(672), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(2517), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(2510), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_STAR,
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
-      anon_sym_COLON,
-    ACTIONS(2488), 37,
+    ACTIONS(2512), 10,
       anon_sym___extension__,
-      anon_sym_extern,
-      anon_sym___declspec,
-      anon_sym___based,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-      anon_sym_LBRACK,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
       anon_sym_const,
       anon_sym_constexpr,
       anon_sym_volatile,
@@ -81743,25 +82520,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
-      sym_identifier,
-  [24092] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2494), 7,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_STAR,
-      anon_sym_SEMI,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-    ACTIONS(2492), 41,
-      anon_sym___extension__,
+    ACTIONS(2515), 21,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -81770,10 +82532,6 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
       anon_sym_LBRACK,
       anon_sym_static,
       anon_sym_auto,
@@ -81784,37 +82542,78 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
-      anon_sym_enum,
-      anon_sym_struct,
-      anon_sym_union,
+  [24347] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    STATE(630), 1,
+      sym_string_literal,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    ACTIONS(2387), 15,
+      aux_sym_preproc_elif_token1,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+      anon_sym_EQ,
       sym_identifier,
-  [24148] = 3,
+    ACTIONS(2385), 28,
+      anon_sym_COMMA,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      anon_sym_LPAREN2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_LBRACK,
+      anon_sym_QMARK,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+  [24408] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2408), 7,
+    ACTIONS(2526), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_STAR,
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
-      anon_sym_COLON,
-    ACTIONS(2406), 41,
+      anon_sym_LBRACE,
+    ACTIONS(2524), 42,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -81853,18 +82652,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [24204] = 7,
+  [24465] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(2486), 1,
-      anon_sym_LBRACE,
-    STATE(726), 1,
-      sym_field_declaration_list,
-    STATE(760), 1,
-      sym_attribute_specifier,
-    ACTIONS(2498), 7,
+    ACTIONS(2451), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -81872,9 +82663,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2496), 37,
+    ACTIONS(2449), 42,
       anon_sym___extension__,
       anon_sym_extern,
+      anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -81909,19 +82702,23 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_alignas,
       anon_sym__Alignas,
       sym_primitive_type,
+      anon_sym_enum,
+      anon_sym_struct,
+      anon_sym_union,
       sym_identifier,
-  [24268] = 7,
+  [24522] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(2486), 1,
+    ACTIONS(2501), 1,
       anon_sym_LBRACE,
-    STATE(735), 1,
+    STATE(741), 1,
       sym_field_declaration_list,
-    STATE(757), 1,
+    STATE(781), 1,
       sym_attribute_specifier,
-    ACTIONS(2502), 7,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2530), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -81929,7 +82726,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2500), 37,
+    ACTIONS(2528), 37,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___declspec,
@@ -81967,20 +82764,20 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [24332] = 7,
+  [24587] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1788), 1,
+    ACTIONS(1790), 1,
       anon_sym_EQ,
-    STATE(625), 1,
+    STATE(630), 1,
       sym_string_literal,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    ACTIONS(1792), 10,
+    ACTIONS(1794), 10,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
       anon_sym_PERCENT_EQ,
@@ -81991,7 +82788,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-    ACTIONS(1779), 12,
+    ACTIONS(1778), 13,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym_STAR,
@@ -82004,7 +82801,8 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(1773), 19,
+      anon_sym___attribute,
+    ACTIONS(1772), 19,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -82024,18 +82822,68 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PLUS_PLUS,
       anon_sym_DOT,
       anon_sym_DASH_GT,
-  [24396] = 7,
+  [24652] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(2486), 1,
-      anon_sym_LBRACE,
-    STATE(732), 1,
-      sym_field_declaration_list,
-    STATE(774), 1,
-      sym_attribute_specifier,
-    ACTIONS(2506), 7,
+    ACTIONS(2532), 1,
+      anon_sym_EQ,
+    STATE(630), 1,
+      sym_string_literal,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    ACTIONS(2534), 10,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+    ACTIONS(1778), 14,
+      aux_sym_preproc_elif_token1,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+      sym_identifier,
+    ACTIONS(1772), 18,
+      anon_sym_COMMA,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      anon_sym_LPAREN2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_LBRACK,
+      anon_sym_QMARK,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+  [24717] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(1716), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -82043,9 +82891,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2504), 37,
+    ACTIONS(1714), 42,
       anon_sym___extension__,
       anon_sym_extern,
+      anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -82080,36 +82930,34 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_alignas,
       anon_sym__Alignas,
       sym_primitive_type,
+      anon_sym_enum,
+      anon_sym_struct,
+      anon_sym_union,
       sym_identifier,
-  [24460] = 11,
+  [24774] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
+    ACTIONS(2501), 1,
+      anon_sym_LBRACE,
+    STATE(739), 1,
+      sym_field_declaration_list,
+    STATE(761), 1,
+      sym_attribute_specifier,
+    ACTIONS(35), 2,
       anon_sym___attribute__,
-    ACTIONS(37), 1,
-      anon_sym___declspec,
-    ACTIONS(1121), 1,
-      anon_sym_LBRACK_LBRACK,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    ACTIONS(2510), 5,
+      anon_sym___attribute,
+    ACTIONS(2538), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_STAR,
       anon_sym_SEMI,
-    STATE(722), 7,
-      sym__declaration_modifiers,
-      sym_attribute_specifier,
-      sym_attribute_declaration,
-      sym_ms_declspec_modifier,
-      sym_storage_class_specifier,
-      sym_type_qualifier,
-      aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(2508), 9,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_COLON,
+    ACTIONS(2536), 37,
+      anon_sym___extension__,
+      anon_sym_extern,
+      anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
       anon_sym___clrcall,
@@ -82117,10 +82965,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
       anon_sym_LBRACK,
-      sym_identifier,
-    ACTIONS(45), 10,
-      anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
       anon_sym_register,
@@ -82130,8 +82979,6 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
       anon_sym_volatile,
@@ -82141,20 +82988,95 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [24531] = 3,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      sym_identifier,
+  [24839] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1731), 6,
+    ACTIONS(2540), 1,
+      sym_identifier,
+    ACTIONS(2555), 1,
+      sym_primitive_type,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(749), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(2552), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(713), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(2550), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(2543), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_STAR,
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1729), 41,
+    ACTIONS(2545), 10,
       anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+    ACTIONS(2548), 21,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym___declspec,
+      anon_sym___based,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+      anon_sym_LBRACK,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+  [24912] = 7,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2501), 1,
+      anon_sym_LBRACE,
+    STATE(733), 1,
+      sym_field_declaration_list,
+    STATE(764), 1,
+      sym_attribute_specifier,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2559), 7,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym_SEMI,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_COLON,
+    ACTIONS(2557), 37,
+      anon_sym___extension__,
+      anon_sym_extern,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -82189,31 +83111,29 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_alignas,
       anon_sym__Alignas,
       sym_primitive_type,
-      anon_sym_enum,
-      anon_sym_struct,
-      anon_sym_union,
       sym_identifier,
-  [24586] = 11,
+  [24977] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(2514), 5,
+    ACTIONS(2563), 5,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_STAR,
       anon_sym_SEMI,
-    STATE(638), 7,
+    STATE(725), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -82221,7 +83141,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(2512), 9,
+    ACTIONS(2561), 9,
       anon_sym___based,
       anon_sym___cdecl,
       anon_sym___clrcall,
@@ -82231,7 +83151,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___vectorcall,
       anon_sym_LBRACK,
       sym_identifier,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -82242,7 +83162,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -82253,27 +83173,28 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [24657] = 11,
+  [25049] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(2518), 5,
+    ACTIONS(2567), 5,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_STAR,
       anon_sym_SEMI,
-    STATE(720), 7,
+    STATE(646), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -82281,7 +83202,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(2516), 9,
+    ACTIONS(2565), 9,
       anon_sym___based,
       anon_sym___cdecl,
       anon_sym___clrcall,
@@ -82291,7 +83212,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___vectorcall,
       anon_sym_LBRACK,
       sym_identifier,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -82302,7 +83223,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -82313,27 +83234,81 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [24728] = 11,
+  [25121] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
-      anon_sym___declspec,
-    ACTIONS(1121), 1,
-      anon_sym_LBRACK_LBRACK,
-    STATE(710), 1,
+    ACTIONS(1740), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym_SEMI,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(1738), 42,
+      anon_sym___extension__,
+      anon_sym_extern,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym___declspec,
+      anon_sym___based,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_LBRACK,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      anon_sym_enum,
+      anon_sym_struct,
+      anon_sym_union,
+      sym_identifier,
+  [25177] = 11,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(39), 1,
+      anon_sym___declspec,
+    ACTIONS(1126), 1,
+      anon_sym_LBRACK_LBRACK,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(2522), 5,
+    ACTIONS(2571), 5,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_STAR,
       anon_sym_SEMI,
-    STATE(638), 7,
+    STATE(728), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -82341,7 +83316,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(2520), 9,
+    ACTIONS(2569), 9,
       anon_sym___based,
       anon_sym___cdecl,
       anon_sym___clrcall,
@@ -82351,7 +83326,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___vectorcall,
       anon_sym_LBRACK,
       sym_identifier,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -82362,7 +83337,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -82373,21 +83348,36 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [24799] = 3,
+  [25249] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2526), 6,
+    ACTIONS(39), 1,
+      anon_sym___declspec,
+    ACTIONS(1126), 1,
+      anon_sym_LBRACK_LBRACK,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    ACTIONS(2575), 5,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_STAR,
       anon_sym_SEMI,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(2524), 41,
-      anon_sym___extension__,
-      anon_sym_extern,
-      anon_sym___attribute__,
-      anon_sym___declspec,
+    STATE(646), 7,
+      sym__declaration_modifiers,
+      sym_attribute_specifier,
+      sym_attribute_declaration,
+      sym_ms_declspec_modifier,
+      sym_storage_class_specifier,
+      sym_type_qualifier,
+      aux_sym__declaration_specifiers_repeat1,
+    ACTIONS(2573), 9,
       anon_sym___based,
       anon_sym___cdecl,
       anon_sym___clrcall,
@@ -82395,11 +83385,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
       anon_sym_LBRACK,
+      sym_identifier,
+    ACTIONS(47), 10,
+      anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
       anon_sym_register,
@@ -82409,6 +83398,8 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
       anon_sym_volatile,
@@ -82418,27 +83409,21 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
-      anon_sym_enum,
-      anon_sym_struct,
-      anon_sym_union,
-      sym_identifier,
-  [24854] = 3,
+  [25321] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1735), 6,
+    ACTIONS(2579), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_STAR,
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1733), 41,
+    ACTIONS(2577), 42,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -82477,24 +83462,21 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [24909] = 5,
+  [25377] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    STATE(758), 1,
-      sym_attribute_specifier,
-    ACTIONS(2530), 7,
+    ACTIONS(1744), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_STAR,
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
-      anon_sym_COLON,
-    ACTIONS(2528), 37,
+    ACTIONS(1742), 42,
       anon_sym___extension__,
       anon_sym_extern,
+      anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -82529,15 +83511,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_alignas,
       anon_sym__Alignas,
       sym_primitive_type,
+      anon_sym_enum,
+      anon_sym_struct,
+      anon_sym_union,
       sym_identifier,
-  [24967] = 5,
+  [25433] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    STATE(776), 1,
+    STATE(742), 1,
       sym_attribute_specifier,
-    ACTIONS(2534), 7,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2583), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -82545,7 +83531,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2532), 37,
+    ACTIONS(2581), 37,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___declspec,
@@ -82583,14 +83569,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [25025] = 5,
+  [25492] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    STATE(756), 1,
+    STATE(746), 1,
       sym_attribute_specifier,
-    ACTIONS(2538), 7,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2587), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -82598,7 +83585,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2536), 37,
+    ACTIONS(2585), 37,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___declspec,
@@ -82636,14 +83623,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [25083] = 5,
+  [25551] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    STATE(759), 1,
+    STATE(748), 1,
       sym_attribute_specifier,
-    ACTIONS(2542), 7,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2591), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -82651,7 +83639,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2540), 37,
+    ACTIONS(2589), 37,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___declspec,
@@ -82689,14 +83677,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [25141] = 5,
+  [25610] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    STATE(761), 1,
+    STATE(760), 1,
       sym_attribute_specifier,
-    ACTIONS(2546), 7,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2595), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -82704,7 +83693,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2544), 37,
+    ACTIONS(2593), 37,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___declspec,
@@ -82742,14 +83731,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [25199] = 5,
+  [25669] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    STATE(745), 1,
+    STATE(782), 1,
       sym_attribute_specifier,
-    ACTIONS(2550), 7,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2599), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -82757,7 +83747,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2548), 37,
+    ACTIONS(2597), 37,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___declspec,
@@ -82795,17 +83785,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [25257] = 5,
+  [25728] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(731), 1,
+    STATE(736), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2556), 4,
+    ACTIONS(2605), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    ACTIONS(2554), 7,
+    ACTIONS(2603), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -82813,10 +83803,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2552), 34,
+    ACTIONS(2601), 35,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -82848,14 +83839,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [25315] = 5,
+  [25787] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    STATE(737), 1,
+    STATE(762), 1,
       sym_attribute_specifier,
-    ACTIONS(2561), 7,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2610), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -82863,7 +83855,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2559), 37,
+    ACTIONS(2608), 37,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___declspec,
@@ -82901,14 +83893,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [25373] = 5,
+  [25846] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    STATE(775), 1,
+    STATE(763), 1,
       sym_attribute_specifier,
-    ACTIONS(2565), 7,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2614), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -82916,7 +83909,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2563), 37,
+    ACTIONS(2612), 37,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___declspec,
@@ -82954,14 +83947,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [25431] = 5,
+  [25905] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    STATE(743), 1,
+    STATE(780), 1,
       sym_attribute_specifier,
-    ACTIONS(2569), 7,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2618), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -82969,7 +83963,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2567), 37,
+    ACTIONS(2616), 37,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___declspec,
@@ -83007,14 +84001,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [25489] = 5,
+  [25964] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    STATE(773), 1,
+    STATE(765), 1,
       sym_attribute_specifier,
-    ACTIONS(2573), 7,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2622), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -83022,7 +84017,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2571), 37,
+    ACTIONS(2620), 37,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___declspec,
@@ -83060,17 +84055,15 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [25547] = 5,
+  [26023] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(738), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2579), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    ACTIONS(2577), 7,
+    STATE(744), 1,
+      sym_attribute_specifier,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2626), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -83078,10 +84071,9 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2575), 33,
+    ACTIONS(2624), 37,
       anon_sym___extension__,
       anon_sym_extern,
-      anon_sym___attribute__,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -83090,6 +84082,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
       anon_sym_LBRACK,
       anon_sym_static,
       anon_sym_auto,
@@ -83111,11 +84107,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Nonnull,
       anon_sym_alignas,
       anon_sym__Alignas,
+      sym_primitive_type,
       sym_identifier,
-  [25604] = 3,
+  [26082] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2583), 7,
+    ACTIONS(2630), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -83123,10 +84120,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2581), 38,
+    ACTIONS(2628), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -83162,17 +84160,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [25657] = 5,
+  [26136] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(731), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2589), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    ACTIONS(2587), 7,
+    ACTIONS(2634), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -83180,10 +84171,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2585), 33,
+    ACTIONS(2632), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -83192,6 +84184,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
       anon_sym_LBRACK,
       anon_sym_static,
       anon_sym_auto,
@@ -83213,11 +84209,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Nonnull,
       anon_sym_alignas,
       anon_sym__Alignas,
+      sym_primitive_type,
       sym_identifier,
-  [25714] = 3,
+  [26190] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2593), 7,
+    ACTIONS(2638), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -83225,10 +84222,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2591), 38,
+    ACTIONS(2636), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -83264,10 +84262,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [25767] = 3,
+  [26244] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2597), 7,
+    STATE(750), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(2644), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(2642), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -83275,10 +84280,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2595), 38,
+    ACTIONS(2640), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -83287,10 +84293,6 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
       anon_sym_LBRACK,
       anon_sym_static,
       anon_sym_auto,
@@ -83312,12 +84314,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Nonnull,
       anon_sym_alignas,
       anon_sym__Alignas,
-      sym_primitive_type,
       sym_identifier,
-  [25820] = 3,
+  [26302] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2601), 7,
+    ACTIONS(2648), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -83325,10 +84326,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2599), 38,
+    ACTIONS(2646), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -83364,10 +84366,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [25873] = 3,
+  [26356] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2605), 7,
+    STATE(736), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(2654), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(2652), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -83375,10 +84384,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2603), 38,
+    ACTIONS(2650), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -83387,10 +84397,6 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
       anon_sym_LBRACK,
       anon_sym_static,
       anon_sym_auto,
@@ -83412,12 +84418,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Nonnull,
       anon_sym_alignas,
       anon_sym__Alignas,
-      sym_primitive_type,
       sym_identifier,
-  [25926] = 3,
+  [26414] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2609), 7,
+    ACTIONS(2658), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -83425,10 +84430,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2607), 38,
+    ACTIONS(2656), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -83464,21 +84470,30 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [25979] = 3,
+  [26468] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2613), 7,
+    ACTIONS(2601), 1,
+      sym_primitive_type,
+    STATE(736), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(2605), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(2663), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_STAR,
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
-      anon_sym_COLON,
-    ACTIONS(2611), 38,
+    ACTIONS(2660), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -83487,10 +84502,6 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
       anon_sym_LBRACK,
       anon_sym_static,
       anon_sym_auto,
@@ -83512,12 +84523,18 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Nonnull,
       anon_sym_alignas,
       anon_sym__Alignas,
-      sym_primitive_type,
       sym_identifier,
-  [26032] = 3,
+  [26528] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2617), 7,
+    STATE(736), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(2654), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(2668), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -83525,10 +84542,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2615), 38,
+    ACTIONS(2666), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -83537,10 +84555,6 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
       anon_sym_LBRACK,
       anon_sym_static,
       anon_sym_auto,
@@ -83562,31 +84576,30 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Nonnull,
       anon_sym_alignas,
       anon_sym__Alignas,
-      sym_primitive_type,
       sym_identifier,
-  [26085] = 6,
+  [26586] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2619), 1,
-      anon_sym_LPAREN2,
-    STATE(752), 1,
+    STATE(736), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(1786), 4,
+    ACTIONS(2654), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    ACTIONS(1784), 6,
+    ACTIONS(2672), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
+      anon_sym_LPAREN2,
       anon_sym_STAR,
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(1771), 33,
+    ACTIONS(2670), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -83617,65 +84630,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_alignas,
       anon_sym__Alignas,
       sym_identifier,
-  [26144] = 8,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1788), 1,
-      anon_sym_EQ,
-    ACTIONS(1803), 1,
-      anon_sym_COLON,
-    STATE(625), 1,
-      sym_string_literal,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    ACTIONS(1792), 10,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-    ACTIONS(1779), 12,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(1773), 15,
-      anon_sym_COMMA,
-      anon_sym_LPAREN2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_SEMI,
-      anon_sym_LBRACK,
-      anon_sym_QMARK,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-  [26207] = 3,
+  [26644] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2577), 7,
+    STATE(770), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(2678), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(2676), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -83683,10 +84648,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2575), 38,
+    ACTIONS(2674), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -83695,10 +84661,6 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
       anon_sym_LBRACK,
       anon_sym_static,
       anon_sym_auto,
@@ -83720,19 +84682,18 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Nonnull,
       anon_sym_alignas,
       anon_sym__Alignas,
-      sym_primitive_type,
       sym_identifier,
-  [26260] = 5,
+  [26702] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(731), 1,
+    STATE(771), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2589), 4,
+    ACTIONS(2684), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    ACTIONS(2624), 7,
+    ACTIONS(2682), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -83740,10 +84701,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2622), 33,
+    ACTIONS(2680), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -83774,17 +84736,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_alignas,
       anon_sym__Alignas,
       sym_identifier,
-  [26317] = 5,
+  [26760] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(731), 1,
+    STATE(736), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2589), 4,
+    ACTIONS(2654), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    ACTIONS(2628), 7,
+    ACTIONS(2688), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -83792,10 +84754,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2626), 33,
+    ACTIONS(2686), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -83826,31 +84789,29 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_alignas,
       anon_sym__Alignas,
       sym_identifier,
-  [26374] = 7,
+  [26818] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2630), 1,
-      sym_identifier,
-    ACTIONS(2639), 1,
-      sym_primitive_type,
-    STATE(766), 1,
+    STATE(747), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2637), 4,
+    ACTIONS(2694), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    ACTIONS(2633), 6,
+    ACTIONS(2692), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_STAR,
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2635), 32,
+      anon_sym_COLON,
+    ACTIONS(2690), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -83880,17 +84841,18 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Nonnull,
       anon_sym_alignas,
       anon_sym__Alignas,
-  [26435] = 5,
+      sym_identifier,
+  [26876] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(731), 1,
+    STATE(751), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2589), 4,
+    ACTIONS(2700), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    ACTIONS(2643), 7,
+    ACTIONS(2698), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -83898,10 +84860,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2641), 33,
+    ACTIONS(2696), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -83932,10 +84895,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_alignas,
       anon_sym__Alignas,
       sym_identifier,
-  [26492] = 3,
+  [26934] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2647), 7,
+    ACTIONS(2704), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -83943,10 +84906,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2645), 38,
+    ACTIONS(2702), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -83982,10 +84946,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [26545] = 3,
+  [26988] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2651), 7,
+    ACTIONS(2708), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -83993,10 +84957,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2649), 38,
+    ACTIONS(2706), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -84032,10 +84997,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [26598] = 3,
+  [27042] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2655), 7,
+    ACTIONS(2712), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -84043,10 +85008,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2653), 38,
+    ACTIONS(2710), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -84082,10 +85048,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [26651] = 3,
+  [27096] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2659), 7,
+    ACTIONS(2716), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -84093,10 +85059,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2657), 38,
+    ACTIONS(2714), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -84132,10 +85099,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [26704] = 3,
+  [27150] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2663), 7,
+    ACTIONS(2720), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -84143,10 +85110,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2661), 38,
+    ACTIONS(2718), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -84182,10 +85150,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [26757] = 3,
+  [27204] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2667), 7,
+    ACTIONS(2724), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -84193,10 +85161,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2665), 38,
+    ACTIONS(2722), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -84232,10 +85201,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [26810] = 3,
+  [27258] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2671), 7,
+    ACTIONS(2728), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -84243,10 +85212,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2669), 38,
+    ACTIONS(2726), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -84282,10 +85252,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [26863] = 3,
+  [27312] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2675), 7,
+    ACTIONS(2732), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -84293,10 +85263,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2673), 38,
+    ACTIONS(2730), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -84332,10 +85303,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [26916] = 3,
+  [27366] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2679), 7,
+    ACTIONS(2736), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -84343,10 +85314,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2677), 38,
+    ACTIONS(2734), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -84382,71 +85354,30 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [26969] = 3,
+  [27420] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2683), 7,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
+    ACTIONS(2738), 1,
       anon_sym_LPAREN2,
-      anon_sym_STAR,
-      anon_sym_SEMI,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_COLON,
-    ACTIONS(2681), 38,
-      anon_sym___extension__,
-      anon_sym_extern,
-      anon_sym___attribute__,
-      anon_sym___declspec,
-      anon_sym___based,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
+    STATE(768), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(1788), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-      anon_sym_LBRACK,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
-      sym_identifier,
-  [27022] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2687), 7,
+    ACTIONS(1786), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_LPAREN2,
       anon_sym_STAR,
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2685), 38,
+    ACTIONS(1770), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -84455,10 +85386,6 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
       anon_sym_LBRACK,
       anon_sym_static,
       anon_sym_auto,
@@ -84480,19 +85407,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Nonnull,
       anon_sym_alignas,
       anon_sym__Alignas,
-      sym_primitive_type,
       sym_identifier,
-  [27075] = 5,
+  [27480] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(749), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2693), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    ACTIONS(2691), 7,
+    ACTIONS(2743), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -84500,10 +85419,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2689), 33,
+    ACTIONS(2741), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -84512,58 +85432,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-      anon_sym_LBRACK,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_identifier,
-  [27132] = 5,
-    ACTIONS(3), 1,
-      sym_comment,
-    STATE(750), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2699), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    ACTIONS(2697), 7,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_STAR,
-      anon_sym_SEMI,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_COLON,
-    ACTIONS(2695), 33,
-      anon_sym___extension__,
-      anon_sym_extern,
-      anon_sym___attribute__,
-      anon_sym___declspec,
-      anon_sym___based,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
       anon_sym_LBRACK,
       anon_sym_static,
       anon_sym_auto,
@@ -84585,30 +85457,31 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Nonnull,
       anon_sym_alignas,
       anon_sym__Alignas,
+      sym_primitive_type,
       sym_identifier,
-  [27189] = 6,
+  [27534] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2552), 1,
-      sym_primitive_type,
-    STATE(731), 1,
+    STATE(736), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2556), 4,
+    ACTIONS(2654), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    ACTIONS(2704), 6,
+    ACTIONS(2747), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_STAR,
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2701), 33,
+      anon_sym_COLON,
+    ACTIONS(2745), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -84639,175 +85512,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_alignas,
       anon_sym__Alignas,
       sym_identifier,
-  [27248] = 8,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1788), 1,
-      anon_sym_EQ,
-    ACTIONS(1790), 1,
-      anon_sym_COLON,
-    STATE(625), 1,
-      sym_string_literal,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    ACTIONS(1792), 10,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-    ACTIONS(1779), 12,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(1773), 15,
-      anon_sym_COMMA,
-      anon_sym_LPAREN2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_SEMI,
-      anon_sym_LBRACK,
-      anon_sym_QMARK,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-  [27311] = 8,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1788), 1,
-      anon_sym_EQ,
-    ACTIONS(2707), 1,
-      anon_sym_COLON,
-    STATE(625), 1,
-      sym_string_literal,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    ACTIONS(1792), 10,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-    ACTIONS(1779), 12,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(1773), 15,
-      anon_sym_COMMA,
-      anon_sym_LPAREN2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_RBRACE,
-      anon_sym_LBRACK,
-      anon_sym_QMARK,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-  [27374] = 8,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1788), 1,
-      anon_sym_EQ,
-    ACTIONS(1797), 1,
-      anon_sym_COLON,
-    STATE(625), 1,
-      sym_string_literal,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    ACTIONS(1792), 10,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-    ACTIONS(1779), 12,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(1773), 15,
-      anon_sym_COMMA,
-      anon_sym_LPAREN2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_SEMI,
-      anon_sym_LBRACK,
-      anon_sym_QMARK,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-  [27437] = 3,
+  [27592] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2711), 7,
+    ACTIONS(2751), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -84815,10 +85523,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2709), 38,
+    ACTIONS(2749), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -84854,10 +85563,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [27490] = 3,
+  [27646] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2715), 7,
+    STATE(736), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(2654), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(2755), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -84865,10 +85581,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2713), 38,
+    ACTIONS(2753), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -84877,10 +85594,6 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
       anon_sym_LBRACK,
       anon_sym_static,
       anon_sym_auto,
@@ -84902,67 +85615,64 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Nonnull,
       anon_sym_alignas,
       anon_sym__Alignas,
-      sym_primitive_type,
       sym_identifier,
-  [27543] = 8,
+  [27704] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1788), 1,
-      anon_sym_EQ,
-    ACTIONS(1801), 1,
-      anon_sym_COLON,
-    STATE(625), 1,
-      sym_string_literal,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    ACTIONS(1792), 10,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-    ACTIONS(1779), 12,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(1773), 15,
+    STATE(736), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(2654), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(2759), 7,
       anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_LPAREN2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
+      anon_sym_STAR,
       anon_sym_SEMI,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_COLON,
+    ACTIONS(2757), 34,
+      anon_sym___extension__,
+      anon_sym_extern,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym___declspec,
+      anon_sym___based,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
       anon_sym_LBRACK,
-      anon_sym_QMARK,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-  [27606] = 3,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_identifier,
+  [27762] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2719), 7,
+    ACTIONS(2692), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -84970,10 +85680,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2717), 38,
+    ACTIONS(2690), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -85009,10 +85720,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [27659] = 3,
+  [27816] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2723), 7,
+    ACTIONS(2763), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -85020,10 +85731,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2721), 38,
+    ACTIONS(2761), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -85059,10 +85771,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [27712] = 3,
+  [27870] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2727), 7,
+    ACTIONS(2767), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -85070,10 +85782,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2725), 38,
+    ACTIONS(2765), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -85109,10 +85822,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [27765] = 3,
+  [27924] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2731), 7,
+    ACTIONS(2771), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -85120,10 +85833,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2729), 38,
+    ACTIONS(2769), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -85159,65 +85873,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [27818] = 8,
+  [27978] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1788), 1,
-      anon_sym_EQ,
-    ACTIONS(1799), 1,
-      anon_sym_COLON,
-    STATE(625), 1,
-      sym_string_literal,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    ACTIONS(1792), 10,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-    ACTIONS(1779), 12,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(1773), 15,
-      anon_sym_COMMA,
-      anon_sym_LPAREN2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_SEMI,
-      anon_sym_LBRACK,
-      anon_sym_QMARK,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-  [27881] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2735), 7,
+    ACTIONS(2775), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -85225,10 +85884,11 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2733), 38,
+    ACTIONS(2773), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym___cdecl,
@@ -85264,30 +85924,35 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [27934] = 3,
+  [28032] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2739), 1,
+    ACTIONS(2779), 7,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2737), 43,
-      aux_sym_preproc_def_token1,
-      aux_sym_preproc_if_token1,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_ifdef_token1,
-      aux_sym_preproc_ifdef_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elif_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      sym_preproc_directive,
+      anon_sym_COLON,
+    ACTIONS(2777), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
+      anon_sym___based,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
+      anon_sym_LBRACK,
       anon_sym_static,
       anon_sym_auto,
       anon_sym_register,
@@ -85309,69 +85974,45 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_alignas,
       anon_sym__Alignas,
       sym_primitive_type,
-      anon_sym_enum,
-      anon_sym_struct,
-      anon_sym_union,
       sym_identifier,
-  [27986] = 22,
+  [28086] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1814), 1,
+    ACTIONS(2783), 7,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_LPAREN2,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(2741), 1,
-      sym_identifier,
-    ACTIONS(2745), 1,
       anon_sym_STAR,
-    ACTIONS(2747), 1,
+      anon_sym_SEMI,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_COLON,
+    ACTIONS(2781), 39,
+      anon_sym___extension__,
+      anon_sym_extern,
       anon_sym___attribute__,
-    ACTIONS(2753), 1,
+      anon_sym___attribute,
+      anon_sym___declspec,
+      anon_sym___based,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
       anon_sym_LBRACK,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(1001), 1,
-      sym_ms_unaligned_ptr_modifier,
-    STATE(1373), 1,
-      sym__declarator,
-    STATE(1419), 1,
-      sym__abstract_declarator,
-    STATE(1446), 1,
-      sym_parameter_list,
-    STATE(1978), 1,
-      sym_ms_based_modifier,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    ACTIONS(2743), 2,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-    ACTIONS(2751), 2,
-      anon_sym__unaligned,
-      anon_sym___unaligned,
-    STATE(925), 2,
-      sym_type_qualifier,
-      aux_sym__type_definition_type_repeat1,
-    STATE(944), 2,
-      sym_ms_pointer_modifier,
-      aux_sym_pointer_declarator_repeat1,
-    ACTIONS(2749), 3,
-      sym_ms_restrict_modifier,
-      sym_ms_unsigned_ptr_modifier,
-      sym_ms_signed_ptr_modifier,
-    STATE(1445), 4,
-      sym_abstract_parenthesized_declarator,
-      sym_abstract_pointer_declarator,
-      sym_abstract_function_declarator,
-      sym_abstract_array_declarator,
-    STATE(1303), 5,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_function_declarator,
-      sym_array_declarator,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
       anon_sym_const,
       anon_sym_constexpr,
       anon_sym_volatile,
@@ -85381,30 +86022,39 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [28076] = 3,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      sym_identifier,
+  [28140] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2757), 1,
+    ACTIONS(2787), 7,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2755), 43,
-      aux_sym_preproc_def_token1,
-      aux_sym_preproc_if_token1,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_ifdef_token1,
-      aux_sym_preproc_ifdef_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elif_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      sym_preproc_directive,
+      anon_sym_COLON,
+    ACTIONS(2785), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
+      anon_sym___based,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
+      anon_sym_LBRACK,
       anon_sym_static,
       anon_sym_auto,
       anon_sym_register,
@@ -85426,34 +86076,36 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_alignas,
       anon_sym__Alignas,
       sym_primitive_type,
-      anon_sym_enum,
-      anon_sym_struct,
-      anon_sym_union,
       sym_identifier,
-  [28128] = 3,
+  [28194] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1327), 1,
+    ACTIONS(2791), 7,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1325), 43,
-      aux_sym_preproc_def_token1,
-      aux_sym_preproc_if_token1,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_ifdef_token1,
-      aux_sym_preproc_ifdef_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elif_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      sym_preproc_directive,
+      anon_sym_COLON,
+    ACTIONS(2789), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
+      anon_sym___based,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
+      anon_sym_LBRACK,
       anon_sym_static,
       anon_sym_auto,
       anon_sym_register,
@@ -85475,34 +86127,36 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_alignas,
       anon_sym__Alignas,
       sym_primitive_type,
-      anon_sym_enum,
-      anon_sym_struct,
-      anon_sym_union,
       sym_identifier,
-  [28180] = 3,
+  [28248] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1279), 1,
+    ACTIONS(2795), 7,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1277), 43,
-      aux_sym_preproc_def_token1,
-      aux_sym_preproc_if_token1,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_ifdef_token1,
-      aux_sym_preproc_ifdef_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elif_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      sym_preproc_directive,
+      anon_sym_COLON,
+    ACTIONS(2793), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
+      anon_sym___based,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
+      anon_sym_LBRACK,
       anon_sym_static,
       anon_sym_auto,
       anon_sym_register,
@@ -85524,34 +86178,36 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_alignas,
       anon_sym__Alignas,
       sym_primitive_type,
-      anon_sym_enum,
-      anon_sym_struct,
-      anon_sym_union,
       sym_identifier,
-  [28232] = 3,
+  [28302] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1307), 1,
+    ACTIONS(2799), 7,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1305), 43,
-      aux_sym_preproc_def_token1,
-      aux_sym_preproc_if_token1,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_ifdef_token1,
-      aux_sym_preproc_ifdef_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elif_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      sym_preproc_directive,
+      anon_sym_COLON,
+    ACTIONS(2797), 39,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
+      anon_sym___based,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
+      anon_sym_LBRACK,
       anon_sym_static,
       anon_sym_auto,
       anon_sym_register,
@@ -85573,16 +86229,82 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_alignas,
       anon_sym__Alignas,
       sym_primitive_type,
-      anon_sym_enum,
-      anon_sym_struct,
-      anon_sym_union,
       sym_identifier,
-  [28284] = 3,
+  [28356] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1331), 1,
+    ACTIONS(1823), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(2801), 1,
+      sym_identifier,
+    ACTIONS(2805), 1,
+      anon_sym_STAR,
+    ACTIONS(2813), 1,
+      anon_sym_LBRACK,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(998), 1,
+      sym_ms_unaligned_ptr_modifier,
+    STATE(1369), 1,
+      sym__declarator,
+    STATE(1430), 1,
+      sym__abstract_declarator,
+    STATE(1442), 1,
+      sym_parameter_list,
+    STATE(1992), 1,
+      sym_ms_based_modifier,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    ACTIONS(2803), 2,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+    ACTIONS(2807), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2811), 2,
+      anon_sym__unaligned,
+      anon_sym___unaligned,
+    STATE(934), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    STATE(950), 2,
+      sym_ms_pointer_modifier,
+      aux_sym_pointer_declarator_repeat1,
+    ACTIONS(2809), 3,
+      sym_ms_restrict_modifier,
+      sym_ms_unsigned_ptr_modifier,
+      sym_ms_signed_ptr_modifier,
+    STATE(1467), 4,
+      sym_abstract_parenthesized_declarator,
+      sym_abstract_pointer_declarator,
+      sym_abstract_function_declarator,
+      sym_abstract_array_declarator,
+    STATE(1311), 5,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_function_declarator,
+      sym_array_declarator,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [28447] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2817), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1329), 43,
+    ACTIONS(2815), 44,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -85596,6 +86318,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -85626,12 +86349,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [28336] = 3,
+  [28500] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1335), 1,
+    ACTIONS(2821), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1333), 43,
+    ACTIONS(2819), 44,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -85645,6 +86368,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -85675,12 +86399,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [28388] = 3,
+  [28553] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1271), 1,
+    ACTIONS(2825), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1269), 43,
+    ACTIONS(2823), 44,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -85694,6 +86418,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -85724,44 +86449,31 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [28440] = 12,
+  [28606] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
-      anon_sym___declspec,
-    ACTIONS(1121), 1,
+    ACTIONS(2829), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2759), 1,
-      anon_sym_SEMI,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    ACTIONS(2510), 2,
-      anon_sym_LPAREN2,
-      anon_sym_STAR,
-    STATE(722), 7,
-      sym__declaration_modifiers,
-      sym_attribute_specifier,
-      sym_attribute_declaration,
-      sym_ms_declspec_modifier,
-      sym_storage_class_specifier,
-      sym_type_qualifier,
-      aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(2508), 8,
-      anon_sym___based,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
-      sym_identifier,
-    ACTIONS(45), 10,
+    ACTIONS(2827), 44,
+      aux_sym_preproc_def_token1,
+      aux_sym_preproc_if_token1,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_ifdef_token1,
+      aux_sym_preproc_ifdef_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elif_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      sym_preproc_directive,
+      anon_sym___extension__,
       anon_sym_extern,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym___declspec,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
       anon_sym_static,
       anon_sym_auto,
       anon_sym_register,
@@ -85771,8 +86483,6 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
       anon_sym_volatile,
@@ -85782,20 +86492,29 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [28510] = 7,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      anon_sym_enum,
+      anon_sym_struct,
+      anon_sym_union,
+      sym_identifier,
+  [28659] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2761), 1,
+    ACTIONS(1790), 1,
       anon_sym_EQ,
-    STATE(625), 1,
+    ACTIONS(1798), 1,
+      anon_sym_COLON,
+    STATE(630), 1,
       sym_string_literal,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-    ACTIONS(2763), 10,
+    ACTIONS(1794), 10,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
       anon_sym_PERCENT_EQ,
@@ -85806,7 +86525,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-    ACTIONS(1779), 13,
+    ACTIONS(1778), 12,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym_STAR,
@@ -85819,9 +86538,8 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-      anon_sym_DOT,
-    ACTIONS(1773), 14,
-      anon_sym_DOT_DOT_DOT,
+    ACTIONS(1772), 15,
+      anon_sym_COMMA,
       anon_sym_LPAREN2,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
@@ -85829,50 +86547,38 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_BANG_EQ,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
+      anon_sym_SEMI,
       anon_sym_LBRACK,
-      anon_sym_RBRACK,
       anon_sym_QMARK,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
+      anon_sym_DOT,
       anon_sym_DASH_GT,
-  [28570] = 12,
+  [28722] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
-      anon_sym___declspec,
-    ACTIONS(1121), 1,
+    ACTIONS(2833), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2765), 1,
-      anon_sym_SEMI,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    ACTIONS(2510), 2,
-      anon_sym_LPAREN2,
-      anon_sym_STAR,
-    STATE(722), 7,
-      sym__declaration_modifiers,
-      sym_attribute_specifier,
-      sym_attribute_declaration,
-      sym_ms_declspec_modifier,
-      sym_storage_class_specifier,
-      sym_type_qualifier,
-      aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(2508), 8,
-      anon_sym___based,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
-      sym_identifier,
-    ACTIONS(45), 10,
+    ACTIONS(2831), 44,
+      aux_sym_preproc_def_token1,
+      aux_sym_preproc_if_token1,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_ifdef_token1,
+      aux_sym_preproc_ifdef_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elif_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      sym_preproc_directive,
+      anon_sym___extension__,
       anon_sym_extern,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym___declspec,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
       anon_sym_static,
       anon_sym_auto,
       anon_sym_register,
@@ -85882,8 +86588,6 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
       anon_sym_volatile,
@@ -85893,65 +86597,47 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [28640] = 22,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1814), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(2741), 1,
-      sym_identifier,
-    ACTIONS(2745), 1,
-      anon_sym_STAR,
-    ACTIONS(2753), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2769), 1,
-      anon_sym___attribute__,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(1001), 1,
-      sym_ms_unaligned_ptr_modifier,
-    STATE(1362), 1,
-      sym__declarator,
-    STATE(1405), 1,
-      sym__abstract_declarator,
-    STATE(1446), 1,
-      sym_parameter_list,
-    STATE(1978), 1,
-      sym_ms_based_modifier,
-    ACTIONS(49), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(2751), 2,
-      anon_sym__unaligned,
-      anon_sym___unaligned,
-    ACTIONS(2767), 2,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-    STATE(780), 2,
-      sym_ms_pointer_modifier,
-      aux_sym_pointer_declarator_repeat1,
-    STATE(926), 2,
-      sym_type_qualifier,
-      aux_sym__type_definition_type_repeat1,
-    ACTIONS(2749), 3,
-      sym_ms_restrict_modifier,
-      sym_ms_unsigned_ptr_modifier,
-      sym_ms_signed_ptr_modifier,
-    STATE(1445), 4,
-      sym_abstract_parenthesized_declarator,
-      sym_abstract_pointer_declarator,
-      sym_abstract_function_declarator,
-      sym_abstract_array_declarator,
-    STATE(1303), 5,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_function_declarator,
-      sym_array_declarator,
-    ACTIONS(47), 10,
+      sym_primitive_type,
+      anon_sym_enum,
+      anon_sym_struct,
+      anon_sym_union,
+      sym_identifier,
+  [28775] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2837), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(2835), 44,
+      aux_sym_preproc_def_token1,
+      aux_sym_preproc_if_token1,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_ifdef_token1,
+      aux_sym_preproc_ifdef_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elif_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      sym_preproc_directive,
       anon_sym___extension__,
+      anon_sym_extern,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym___declspec,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
       anon_sym_const,
       anon_sym_constexpr,
       anon_sym_volatile,
@@ -85961,12 +86647,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [28730] = 3,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      anon_sym_enum,
+      anon_sym_struct,
+      anon_sym_union,
+      sym_identifier,
+  [28828] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2773), 1,
+    ACTIONS(2841), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2771), 43,
+    ACTIONS(2839), 44,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -85980,6 +86673,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -86010,26 +86704,82 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [28782] = 12,
+  [28881] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(1790), 1,
+      anon_sym_EQ,
+    ACTIONS(1796), 1,
+      anon_sym_COLON,
+    STATE(630), 1,
+      sym_string_literal,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    ACTIONS(1794), 10,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+    ACTIONS(1778), 12,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(1772), 15,
+      anon_sym_COMMA,
+      anon_sym_LPAREN2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_SEMI,
+      anon_sym_LBRACK,
+      anon_sym_QMARK,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+  [28944] = 12,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2775), 1,
+    ACTIONS(2843), 1,
       anon_sym_SEMI,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(2510), 2,
+    ACTIONS(2571), 2,
       anon_sym_LPAREN2,
       anon_sym_STAR,
-    STATE(722), 7,
+    STATE(728), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -86037,7 +86787,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(2508), 8,
+    ACTIONS(2569), 8,
       anon_sym___based,
       anon_sym___cdecl,
       anon_sym___clrcall,
@@ -86046,7 +86796,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___thiscall,
       anon_sym___vectorcall,
       sym_identifier,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -86057,7 +86807,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -86068,12 +86818,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [28852] = 3,
+  [29015] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2779), 1,
+    ACTIONS(2847), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2777), 43,
+    ACTIONS(2845), 44,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -86087,6 +86837,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -86117,12 +86868,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [28904] = 3,
+  [29068] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2783), 1,
+    ACTIONS(2851), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2781), 43,
+    ACTIONS(2849), 44,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -86136,6 +86887,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -86166,61 +86918,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [28956] = 20,
+  [29121] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2793), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(2795), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(2797), 1,
-      anon_sym_PIPE,
-    ACTIONS(2799), 1,
-      anon_sym_CARET,
-    ACTIONS(2801), 1,
-      anon_sym_AMP,
-    ACTIONS(2811), 1,
-      anon_sym_QMARK,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(2787), 2,
-      aux_sym_preproc_elif_token1,
+    ACTIONS(1790), 1,
       anon_sym_EQ,
-    ACTIONS(2789), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(2803), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(2805), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(2807), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(2809), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(2791), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(2785), 16,
-      anon_sym_COMMA,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
+    ACTIONS(1792), 1,
+      anon_sym_COLON,
+    STATE(630), 1,
+      sym_string_literal,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    ACTIONS(1794), 10,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
       anon_sym_PERCENT_EQ,
@@ -86231,30 +86944,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-      sym_identifier,
-  [29042] = 9,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(2791), 3,
+    ACTIONS(1778), 12,
+      anon_sym_DASH,
+      anon_sym_PLUS,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2462), 11,
-      aux_sym_preproc_elif_token1,
-      anon_sym_DASH,
-      anon_sym_PLUS,
       anon_sym_PIPE,
       anon_sym_CARET,
       anon_sym_AMP,
@@ -86262,84 +86957,166 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-      anon_sym_EQ,
-    ACTIONS(2464), 23,
+    ACTIONS(1772), 15,
       anon_sym_COMMA,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
+      anon_sym_LPAREN2,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
+      anon_sym_SEMI,
+      anon_sym_LBRACK,
       anon_sym_QMARK,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-      sym_identifier,
-  [29106] = 18,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+  [29184] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(1823), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2795), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(2797), 1,
-      anon_sym_PIPE,
-    ACTIONS(2799), 1,
-      anon_sym_CARET,
+    ACTIONS(1827), 1,
+      anon_sym___based,
     ACTIONS(2801), 1,
-      anon_sym_AMP,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(2462), 2,
-      aux_sym_preproc_elif_token1,
-      anon_sym_EQ,
-    ACTIONS(2789), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(2803), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(2805), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(2807), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(2809), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(2791), 3,
+      sym_identifier,
+    ACTIONS(2805), 1,
       anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(2464), 18,
+    ACTIONS(2813), 1,
+      anon_sym_LBRACK,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(998), 1,
+      sym_ms_unaligned_ptr_modifier,
+    STATE(1368), 1,
+      sym__declarator,
+    STATE(1418), 1,
+      sym__abstract_declarator,
+    STATE(1442), 1,
+      sym_parameter_list,
+    STATE(1992), 1,
+      sym_ms_based_modifier,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    ACTIONS(2811), 2,
+      anon_sym__unaligned,
+      anon_sym___unaligned,
+    ACTIONS(2853), 2,
       anon_sym_COMMA,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_QMARK,
+      anon_sym_RPAREN,
+    ACTIONS(2855), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    STATE(783), 2,
+      sym_ms_pointer_modifier,
+      aux_sym_pointer_declarator_repeat1,
+    STATE(936), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(2809), 3,
+      sym_ms_restrict_modifier,
+      sym_ms_unsigned_ptr_modifier,
+      sym_ms_signed_ptr_modifier,
+    STATE(1467), 4,
+      sym_abstract_parenthesized_declarator,
+      sym_abstract_pointer_declarator,
+      sym_abstract_function_declarator,
+      sym_abstract_array_declarator,
+    STATE(1311), 5,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_function_declarator,
+      sym_array_declarator,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [29275] = 12,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(39), 1,
+      anon_sym___declspec,
+    ACTIONS(1126), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(2857), 1,
+      anon_sym_SEMI,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    ACTIONS(2571), 2,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+    STATE(728), 7,
+      sym__declaration_modifiers,
+      sym_attribute_specifier,
+      sym_attribute_declaration,
+      sym_ms_declspec_modifier,
+      sym_storage_class_specifier,
+      sym_type_qualifier,
+      aux_sym__declaration_specifiers_repeat1,
+    ACTIONS(2569), 8,
+      anon_sym___based,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+      sym_identifier,
+    ACTIONS(47), 10,
+      anon_sym_extern,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [29346] = 8,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(1790), 1,
+      anon_sym_EQ,
+    ACTIONS(1800), 1,
+      anon_sym_COLON,
+    STATE(630), 1,
+      sym_string_literal,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    ACTIONS(1794), 10,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
       anon_sym_PERCENT_EQ,
@@ -86350,577 +87127,56 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-      sym_identifier,
-  [29188] = 17,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2797), 1,
+    ACTIONS(1778), 12,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
       anon_sym_PIPE,
-    ACTIONS(2799), 1,
       anon_sym_CARET,
-    ACTIONS(2801), 1,
       anon_sym_AMP,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(2462), 2,
-      aux_sym_preproc_elif_token1,
-      anon_sym_EQ,
-    ACTIONS(2789), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(2803), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(2805), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2807), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(2809), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2791), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(2464), 19,
+    ACTIONS(1772), 15,
       anon_sym_COMMA,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
+      anon_sym_LPAREN2,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_SEMI,
+      anon_sym_LBRACK,
       anon_sym_QMARK,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-      sym_identifier,
-  [29268] = 16,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2799), 1,
-      anon_sym_CARET,
-    ACTIONS(2801), 1,
-      anon_sym_AMP,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(2789), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(2803), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(2805), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(2807), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(2809), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(2462), 3,
-      aux_sym_preproc_elif_token1,
-      anon_sym_PIPE,
-      anon_sym_EQ,
-    ACTIONS(2791), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(2464), 19,
-      anon_sym_COMMA,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_QMARK,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-      sym_identifier,
-  [29346] = 15,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2801), 1,
-      anon_sym_AMP,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(2789), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(2803), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(2805), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(2807), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(2809), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(2791), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(2462), 4,
-      aux_sym_preproc_elif_token1,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_EQ,
-    ACTIONS(2464), 19,
-      anon_sym_COMMA,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_QMARK,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-      sym_identifier,
-  [29422] = 14,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(2789), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(2803), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(2805), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(2807), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(2809), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(2791), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(2462), 5,
-      aux_sym_preproc_elif_token1,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_EQ,
-    ACTIONS(2464), 19,
-      anon_sym_COMMA,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_QMARK,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-      sym_identifier,
-  [29496] = 13,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(2789), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(2805), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(2807), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(2809), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(2791), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(2462), 5,
-      aux_sym_preproc_elif_token1,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_EQ,
-    ACTIONS(2464), 21,
-      anon_sym_COMMA,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_QMARK,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-      sym_identifier,
-  [29568] = 11,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(2789), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(2809), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(2791), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(2462), 7,
-      aux_sym_preproc_elif_token1,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym_EQ,
-    ACTIONS(2464), 23,
-      anon_sym_COMMA,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_QMARK,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-      sym_identifier,
-  [29636] = 10,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(2789), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(2791), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(2462), 9,
-      aux_sym_preproc_elif_token1,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-      anon_sym_EQ,
-    ACTIONS(2464), 23,
-      anon_sym_COMMA,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_QMARK,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-      sym_identifier,
-  [29702] = 20,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2793), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(2795), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(2797), 1,
-      anon_sym_PIPE,
-    ACTIONS(2799), 1,
-      anon_sym_CARET,
-    ACTIONS(2801), 1,
-      anon_sym_AMP,
-    ACTIONS(2811), 1,
-      anon_sym_QMARK,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2789), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(2803), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(2805), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(2807), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(2809), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(2815), 2,
-      aux_sym_preproc_elif_token1,
-      anon_sym_EQ,
-    ACTIONS(2791), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(2813), 16,
-      anon_sym_COMMA,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-      sym_identifier,
-  [29788] = 20,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2793), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(2795), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(2797), 1,
-      anon_sym_PIPE,
-    ACTIONS(2799), 1,
-      anon_sym_CARET,
-    ACTIONS(2801), 1,
-      anon_sym_AMP,
-    ACTIONS(2811), 1,
-      anon_sym_QMARK,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
       anon_sym_DOT,
       anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(2789), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(2803), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(2805), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(2807), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(2809), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(2819), 2,
-      aux_sym_preproc_elif_token1,
-      anon_sym_EQ,
-    ACTIONS(2791), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(2817), 16,
-      anon_sym_COMMA,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-      sym_identifier,
-  [29874] = 12,
+  [29409] = 12,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(1121), 1,
+    ACTIONS(1126), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2821), 1,
+    ACTIONS(2859), 1,
       anon_sym_SEMI,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    ACTIONS(49), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(2510), 2,
+    ACTIONS(2571), 2,
       anon_sym_LPAREN2,
       anon_sym_STAR,
-    STATE(722), 7,
+    STATE(728), 7,
       sym__declaration_modifiers,
       sym_attribute_specifier,
       sym_attribute_declaration,
@@ -86928,7 +87184,7 @@ static const uint16_t ts_small_parse_table[] = {
       sym_storage_class_specifier,
       sym_type_qualifier,
       aux_sym__declaration_specifiers_repeat1,
-    ACTIONS(2508), 8,
+    ACTIONS(2569), 8,
       anon_sym___based,
       anon_sym___cdecl,
       anon_sym___clrcall,
@@ -86937,7 +87193,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___thiscall,
       anon_sym___vectorcall,
       sym_identifier,
-    ACTIONS(45), 10,
+    ACTIONS(47), 10,
       anon_sym_extern,
       anon_sym_static,
       anon_sym_auto,
@@ -86948,7 +87204,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___forceinline,
       anon_sym_thread_local,
       anon_sym___thread,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -86959,60 +87215,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [29944] = 19,
+  [29480] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2793), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(2795), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(2797), 1,
-      anon_sym_PIPE,
-    ACTIONS(2799), 1,
-      anon_sym_CARET,
-    ACTIONS(2801), 1,
-      anon_sym_AMP,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(2789), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(2803), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(2805), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(2807), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(2809), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(2825), 2,
-      aux_sym_preproc_elif_token1,
+    ACTIONS(1790), 1,
       anon_sym_EQ,
-    ACTIONS(2791), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(2823), 17,
-      anon_sym_COMMA,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      anon_sym_QMARK,
+    ACTIONS(2861), 1,
+      anon_sym_COLON,
+    STATE(630), 1,
+      sym_string_literal,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    ACTIONS(1794), 10,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
       anon_sym_PERCENT_EQ,
@@ -87023,13 +87241,41 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-      sym_identifier,
-  [30028] = 3,
+    ACTIONS(1778), 12,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(1772), 15,
+      anon_sym_COMMA,
+      anon_sym_LPAREN2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_RBRACE,
+      anon_sym_LBRACK,
+      anon_sym_QMARK,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+  [29543] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2829), 1,
+    ACTIONS(1314), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2827), 43,
+    ACTIONS(1312), 44,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -87043,6 +87289,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -87073,12 +87320,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [30080] = 3,
+  [29596] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2833), 1,
+    ACTIONS(1358), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2831), 43,
+    ACTIONS(1356), 44,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -87092,6 +87339,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -87122,61 +87370,117 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [30132] = 3,
+  [29649] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2837), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(2835), 43,
-      aux_sym_preproc_def_token1,
-      aux_sym_preproc_if_token1,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_ifdef_token1,
-      aux_sym_preproc_ifdef_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elif_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      sym_preproc_directive,
-      anon_sym___extension__,
-      anon_sym_extern,
-      anon_sym___attribute__,
-      anon_sym___declspec,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
-      anon_sym_enum,
-      anon_sym_struct,
+    ACTIONS(1790), 1,
+      anon_sym_EQ,
+    ACTIONS(1802), 1,
+      anon_sym_COLON,
+    STATE(630), 1,
+      sym_string_literal,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    ACTIONS(1794), 10,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+    ACTIONS(1778), 12,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(1772), 15,
+      anon_sym_COMMA,
+      anon_sym_LPAREN2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_SEMI,
+      anon_sym_LBRACK,
+      anon_sym_QMARK,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+  [29712] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(1370), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(1368), 44,
+      aux_sym_preproc_def_token1,
+      aux_sym_preproc_if_token1,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_ifdef_token1,
+      aux_sym_preproc_ifdef_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elif_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      sym_preproc_directive,
+      anon_sym___extension__,
+      anon_sym_extern,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym___declspec,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      anon_sym_enum,
+      anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [30184] = 3,
+  [29765] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2841), 1,
+    ACTIONS(1378), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2839), 43,
+    ACTIONS(1376), 44,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -87190,6 +87494,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -87220,12 +87525,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [30236] = 3,
+  [29818] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2845), 1,
+    ACTIONS(1274), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2843), 43,
+    ACTIONS(1272), 44,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -87239,6 +87544,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -87269,12 +87575,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [30288] = 3,
+  [29871] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2849), 1,
+    ACTIONS(1322), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2847), 43,
+    ACTIONS(1320), 44,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -87288,6 +87594,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -87318,12 +87625,112 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [30340] = 3,
+  [29924] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2853), 1,
+    ACTIONS(2865), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(2863), 44,
+      aux_sym_preproc_def_token1,
+      aux_sym_preproc_if_token1,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_ifdef_token1,
+      aux_sym_preproc_ifdef_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elif_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      sym_preproc_directive,
+      anon_sym___extension__,
+      anon_sym_extern,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym___declspec,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      anon_sym_enum,
+      anon_sym_struct,
+      anon_sym_union,
+      sym_identifier,
+  [29977] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2869), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(2867), 44,
+      aux_sym_preproc_def_token1,
+      aux_sym_preproc_if_token1,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_ifdef_token1,
+      aux_sym_preproc_ifdef_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elif_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      sym_preproc_directive,
+      anon_sym___extension__,
+      anon_sym_extern,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym___declspec,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      anon_sym_enum,
+      anon_sym_struct,
+      anon_sym_union,
+      sym_identifier,
+  [30030] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2873), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2851), 43,
+    ACTIONS(2871), 44,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -87337,6 +87744,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -87367,55 +87775,342 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [30392] = 20,
+  [30083] = 12,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(39), 1,
+      anon_sym___declspec,
+    ACTIONS(1126), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(2875), 1,
+      anon_sym_SEMI,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    ACTIONS(2571), 2,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+    STATE(728), 7,
+      sym__declaration_modifiers,
+      sym_attribute_specifier,
+      sym_attribute_declaration,
+      sym_ms_declspec_modifier,
+      sym_storage_class_specifier,
+      sym_type_qualifier,
+      aux_sym__declaration_specifiers_repeat1,
+    ACTIONS(2569), 8,
+      anon_sym___based,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+      sym_identifier,
+    ACTIONS(47), 10,
+      anon_sym_extern,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [30154] = 10,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2787), 1,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2877), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(2879), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(2469), 9,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+      anon_sym___attribute,
       anon_sym_EQ,
-    ACTIONS(2859), 1,
+    ACTIONS(2471), 23,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_PIPE_PIPE,
-    ACTIONS(2861), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(2863), 1,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_RBRACE,
+      anon_sym_COLON,
+      anon_sym_QMARK,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+  [30220] = 6,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2888), 2,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
+    ACTIONS(2881), 3,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      sym_identifier,
+    ACTIONS(2884), 4,
+      anon_sym_COMMA,
+      anon_sym_LPAREN2,
+      anon_sym_SEMI,
+      anon_sym_EQ,
+    ACTIONS(2891), 4,
+      anon_sym_LBRACK,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+    ACTIONS(2886), 31,
+      anon_sym___extension__,
+      anon_sym_extern,
+      anon_sym___declspec,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      anon_sym_enum,
+      anon_sym_struct,
+      anon_sym_union,
+  [30278] = 14,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2877), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(2893), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2895), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(2897), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(2899), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(2879), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(2469), 5,
       anon_sym_PIPE,
-    ACTIONS(2865), 1,
       anon_sym_CARET,
-    ACTIONS(2867), 1,
       anon_sym_AMP,
-    ACTIONS(2877), 1,
+      anon_sym___attribute,
+      anon_sym_EQ,
+    ACTIONS(2471), 19,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_RBRACE,
+      anon_sym_COLON,
       anon_sym_QMARK,
-    STATE(673), 1,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+  [30352] = 13,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
       anon_sym_DOT,
       anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2877), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(2895), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(2897), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(2899), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(2879), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(2469), 5,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym___attribute,
+      anon_sym_EQ,
+    ACTIONS(2471), 21,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_RBRACE,
+      anon_sym_COLON,
+      anon_sym_QMARK,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+  [30424] = 20,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(2903), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(2905), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(2907), 1,
+      anon_sym_PIPE,
+    ACTIONS(2909), 1,
+      anon_sym_CARET,
+    ACTIONS(2911), 1,
+      anon_sym_AMP,
+    ACTIONS(2915), 1,
+      anon_sym_QMARK,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2855), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2877), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2869), 2,
+    ACTIONS(2893), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(2871), 2,
+    ACTIONS(2895), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2873), 2,
+    ACTIONS(2897), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(2875), 2,
+    ACTIONS(2899), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2857), 3,
+    ACTIONS(2913), 2,
+      anon_sym___attribute,
+      anon_sym_EQ,
+    ACTIONS(2879), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2785), 16,
+    ACTIONS(2901), 16,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_SEMI,
@@ -87432,53 +88127,110 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [30477] = 17,
+  [30510] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2924), 1,
+      anon_sym_LBRACE,
+    ACTIONS(2926), 1,
+      anon_sym_COLON,
+    STATE(774), 1,
+      sym_attribute_specifier,
+    STATE(879), 1,
+      sym_enumerator_list,
+    ACTIONS(2921), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2919), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+      anon_sym_STAR,
+      anon_sym_SEMI,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(2917), 32,
+      anon_sym___extension__,
+      anon_sym_extern,
+      anon_sym___declspec,
+      anon_sym___based,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
       anon_sym_LBRACK,
-    ACTIONS(2462), 1,
-      anon_sym_EQ,
-    ACTIONS(2863), 1,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_identifier,
+  [30572] = 19,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(2903), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(2905), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(2907), 1,
       anon_sym_PIPE,
-    ACTIONS(2865), 1,
+    ACTIONS(2909), 1,
       anon_sym_CARET,
-    ACTIONS(2867), 1,
+    ACTIONS(2911), 1,
       anon_sym_AMP,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2855), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2877), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2869), 2,
+    ACTIONS(2893), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(2871), 2,
+    ACTIONS(2895), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2873), 2,
+    ACTIONS(2897), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(2875), 2,
+    ACTIONS(2899), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2857), 3,
+    ACTIONS(2930), 2,
+      anon_sym___attribute,
+      anon_sym_EQ,
+    ACTIONS(2879), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2464), 19,
+    ACTIONS(2928), 17,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_RBRACE,
@@ -87494,56 +88246,760 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [30556] = 16,
+  [30656] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2865), 1,
-      anon_sym_CARET,
-    ACTIONS(2867), 1,
-      anon_sym_AMP,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2462), 2,
-      anon_sym_PIPE,
-      anon_sym_EQ,
-    ACTIONS(2855), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2877), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2869), 2,
+    ACTIONS(2899), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(2879), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(2469), 7,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym___attribute,
+      anon_sym_EQ,
+    ACTIONS(2471), 23,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(2871), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_RBRACE,
+      anon_sym_COLON,
+      anon_sym_QMARK,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+  [30724] = 9,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2879), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(2469), 11,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+      anon_sym___attribute,
+      anon_sym_EQ,
+    ACTIONS(2471), 23,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_RBRACE,
+      anon_sym_COLON,
+      anon_sym_QMARK,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+  [30788] = 6,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2939), 2,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
+    ACTIONS(2932), 3,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      sym_identifier,
+    ACTIONS(2935), 4,
+      anon_sym_COMMA,
+      anon_sym_LPAREN2,
+      anon_sym_SEMI,
+      anon_sym_EQ,
+    ACTIONS(2942), 4,
+      anon_sym_LBRACK,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+    ACTIONS(2937), 31,
+      anon_sym___extension__,
+      anon_sym_extern,
+      anon_sym___declspec,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      anon_sym_enum,
+      anon_sym_struct,
+      anon_sym_union,
+  [30846] = 20,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(2952), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(2954), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(2956), 1,
+      anon_sym_PIPE,
+    ACTIONS(2958), 1,
+      anon_sym_CARET,
+    ACTIONS(2960), 1,
+      anon_sym_AMP,
+    ACTIONS(2970), 1,
+      anon_sym_QMARK,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2946), 2,
+      aux_sym_preproc_elif_token1,
+      anon_sym_EQ,
+    ACTIONS(2948), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(2962), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2964), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(2966), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(2968), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(2950), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(2944), 16,
+      anon_sym_COMMA,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+      sym_identifier,
+  [30932] = 9,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2950), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(2469), 11,
+      aux_sym_preproc_elif_token1,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+      anon_sym_EQ,
+    ACTIONS(2471), 23,
+      anon_sym_COMMA,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_QMARK,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+      sym_identifier,
+  [30996] = 18,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(2954), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(2956), 1,
+      anon_sym_PIPE,
+    ACTIONS(2958), 1,
+      anon_sym_CARET,
+    ACTIONS(2960), 1,
+      anon_sym_AMP,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2469), 2,
+      aux_sym_preproc_elif_token1,
+      anon_sym_EQ,
+    ACTIONS(2948), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(2962), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2964), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(2966), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(2968), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(2950), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(2471), 18,
+      anon_sym_COMMA,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_QMARK,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+      sym_identifier,
+  [31078] = 17,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(2956), 1,
+      anon_sym_PIPE,
+    ACTIONS(2958), 1,
+      anon_sym_CARET,
+    ACTIONS(2960), 1,
+      anon_sym_AMP,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2469), 2,
+      aux_sym_preproc_elif_token1,
+      anon_sym_EQ,
+    ACTIONS(2948), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(2962), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2964), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(2966), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(2968), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(2950), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(2471), 19,
+      anon_sym_COMMA,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_QMARK,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+      sym_identifier,
+  [31158] = 15,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(2911), 1,
+      anon_sym_AMP,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2877), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(2893), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2895), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(2897), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(2899), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(2879), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(2469), 4,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym___attribute,
+      anon_sym_EQ,
+    ACTIONS(2471), 19,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_RBRACE,
+      anon_sym_COLON,
+      anon_sym_QMARK,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+  [31234] = 15,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(2960), 1,
+      anon_sym_AMP,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2948), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(2962), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2964), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(2966), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(2968), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(2950), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(2469), 4,
+      aux_sym_preproc_elif_token1,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_EQ,
+    ACTIONS(2471), 19,
+      anon_sym_COMMA,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_QMARK,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+      sym_identifier,
+  [31310] = 14,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2948), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(2962), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2964), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(2966), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(2968), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(2950), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(2469), 5,
+      aux_sym_preproc_elif_token1,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym_EQ,
+    ACTIONS(2471), 19,
+      anon_sym_COMMA,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_QMARK,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+      sym_identifier,
+  [31384] = 13,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2948), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(2964), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(2966), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(2968), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(2950), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(2469), 5,
+      aux_sym_preproc_elif_token1,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym_EQ,
+    ACTIONS(2471), 21,
+      anon_sym_COMMA,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_QMARK,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+      sym_identifier,
+  [31456] = 11,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2948), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(2968), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(2950), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(2469), 7,
+      aux_sym_preproc_elif_token1,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym_EQ,
+    ACTIONS(2471), 23,
+      anon_sym_COMMA,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_QMARK,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+      sym_identifier,
+  [31524] = 10,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2948), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(2950), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(2469), 9,
+      aux_sym_preproc_elif_token1,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2873), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(2875), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2857), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(2464), 19,
+      anon_sym_EQ,
+    ACTIONS(2471), 23,
       anon_sym_COMMA,
-      anon_sym_RPAREN,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_RBRACE,
-      anon_sym_COLON,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
       anon_sym_QMARK,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
@@ -87555,56 +89011,62 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [30633] = 15,
+      sym_identifier,
+  [31590] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2867), 1,
+    ACTIONS(2952), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(2954), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(2956), 1,
+      anon_sym_PIPE,
+    ACTIONS(2958), 1,
+      anon_sym_CARET,
+    ACTIONS(2960), 1,
       anon_sym_AMP,
-    STATE(673), 1,
+    ACTIONS(2970), 1,
+      anon_sym_QMARK,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2855), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2913), 2,
+      aux_sym_preproc_elif_token1,
+      anon_sym_EQ,
+    ACTIONS(2948), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2869), 2,
+    ACTIONS(2962), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(2871), 2,
+    ACTIONS(2964), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2873), 2,
+    ACTIONS(2966), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(2875), 2,
+    ACTIONS(2968), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2462), 3,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_EQ,
-    ACTIONS(2857), 3,
+    ACTIONS(2950), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2464), 19,
+    ACTIONS(2901), 16,
       anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_RBRACE,
-      anon_sym_COLON,
-      anon_sym_QMARK,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
       anon_sym_PERCENT_EQ,
@@ -87615,61 +89077,62 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [30708] = 20,
+      sym_identifier,
+  [31676] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2815), 1,
-      anon_sym_EQ,
-    ACTIONS(2859), 1,
+    ACTIONS(2952), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(2861), 1,
+    ACTIONS(2954), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(2863), 1,
+    ACTIONS(2956), 1,
       anon_sym_PIPE,
-    ACTIONS(2865), 1,
+    ACTIONS(2958), 1,
       anon_sym_CARET,
-    ACTIONS(2867), 1,
+    ACTIONS(2960), 1,
       anon_sym_AMP,
-    ACTIONS(2877), 1,
+    ACTIONS(2970), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2855), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2948), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2869), 2,
+    ACTIONS(2962), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(2871), 2,
+    ACTIONS(2964), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2873), 2,
+    ACTIONS(2966), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(2875), 2,
+    ACTIONS(2968), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2857), 3,
+    ACTIONS(2974), 2,
+      aux_sym_preproc_elif_token1,
+      anon_sym_EQ,
+    ACTIONS(2950), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2813), 16,
+    ACTIONS(2972), 16,
       anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_RBRACE,
-      anon_sym_COLON,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
       anon_sym_PERCENT_EQ,
@@ -87680,54 +89143,60 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [30793] = 14,
+      sym_identifier,
+  [31762] = 19,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    STATE(673), 1,
+    ACTIONS(2952), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(2954), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(2956), 1,
+      anon_sym_PIPE,
+    ACTIONS(2958), 1,
+      anon_sym_CARET,
+    ACTIONS(2960), 1,
+      anon_sym_AMP,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2855), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2930), 2,
+      aux_sym_preproc_elif_token1,
+      anon_sym_EQ,
+    ACTIONS(2948), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2869), 2,
+    ACTIONS(2962), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(2871), 2,
+    ACTIONS(2964), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2873), 2,
+    ACTIONS(2966), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(2875), 2,
+    ACTIONS(2968), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2857), 3,
+    ACTIONS(2950), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2462), 4,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_EQ,
-    ACTIONS(2464), 19,
+    ACTIONS(2928), 17,
       anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_RBRACE,
-      anon_sym_COLON,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
       anon_sym_QMARK,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
@@ -87739,49 +89208,55 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [30866] = 13,
+      sym_identifier,
+  [31846] = 17,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    STATE(673), 1,
+    ACTIONS(2907), 1,
+      anon_sym_PIPE,
+    ACTIONS(2909), 1,
+      anon_sym_CARET,
+    ACTIONS(2911), 1,
+      anon_sym_AMP,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2855), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2469), 2,
+      anon_sym___attribute,
+      anon_sym_EQ,
+    ACTIONS(2877), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2871), 2,
+    ACTIONS(2893), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2895), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2873), 2,
+    ACTIONS(2897), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(2875), 2,
+    ACTIONS(2899), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2857), 3,
+    ACTIONS(2879), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2462), 4,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_EQ,
-    ACTIONS(2464), 21,
+    ACTIONS(2471), 19,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_RBRACE,
@@ -87797,47 +89272,55 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [30937] = 11,
+  [31926] = 18,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    STATE(673), 1,
+    ACTIONS(2905), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(2907), 1,
+      anon_sym_PIPE,
+    ACTIONS(2909), 1,
+      anon_sym_CARET,
+    ACTIONS(2911), 1,
+      anon_sym_AMP,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2855), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2469), 2,
+      anon_sym___attribute,
+      anon_sym_EQ,
+    ACTIONS(2877), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2875), 2,
+    ACTIONS(2893), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2895), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(2897), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(2899), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2857), 3,
+    ACTIONS(2879), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2462), 6,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym_EQ,
-    ACTIONS(2464), 23,
+    ACTIONS(2471), 18,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_RBRACE,
@@ -87853,60 +89336,62 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [31004] = 19,
+  [32008] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2825), 1,
-      anon_sym_EQ,
-    ACTIONS(2859), 1,
+    ACTIONS(2903), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(2861), 1,
+    ACTIONS(2905), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(2863), 1,
+    ACTIONS(2907), 1,
       anon_sym_PIPE,
-    ACTIONS(2865), 1,
+    ACTIONS(2909), 1,
       anon_sym_CARET,
-    ACTIONS(2867), 1,
+    ACTIONS(2911), 1,
       anon_sym_AMP,
-    STATE(673), 1,
+    ACTIONS(2915), 1,
+      anon_sym_QMARK,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2855), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2877), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2869), 2,
+    ACTIONS(2893), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(2871), 2,
+    ACTIONS(2895), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2873), 2,
+    ACTIONS(2897), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(2875), 2,
+    ACTIONS(2899), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2857), 3,
+    ACTIONS(2974), 2,
+      anon_sym___attribute,
+      anon_sym_EQ,
+    ACTIONS(2879), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2823), 17,
+    ACTIONS(2972), 16,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_RBRACE,
       anon_sym_COLON,
-      anon_sym_QMARK,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
       anon_sym_PERCENT_EQ,
@@ -87917,99 +89402,53 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [31087] = 8,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2883), 1,
-      anon_sym___attribute__,
-    ACTIONS(2886), 1,
-      anon_sym_LBRACE,
-    ACTIONS(2888), 1,
-      anon_sym_COLON,
-    STATE(778), 1,
-      sym_attribute_specifier,
-    STATE(867), 1,
-      sym_enumerator_list,
-    ACTIONS(2881), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_STAR,
-      anon_sym_SEMI,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(2879), 32,
-      anon_sym___extension__,
-      anon_sym_extern,
-      anon_sym___declspec,
-      anon_sym___based,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
-      anon_sym_LBRACK,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_identifier,
-  [31148] = 10,
+  [32094] = 16,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    STATE(673), 1,
+    ACTIONS(2909), 1,
+      anon_sym_CARET,
+    ACTIONS(2911), 1,
+      anon_sym_AMP,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2855), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2877), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2857), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(2462), 8,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
+    ACTIONS(2893), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2895), 2,
       anon_sym_GT,
       anon_sym_LT,
+    ACTIONS(2897), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(2899), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
+    ACTIONS(2469), 3,
+      anon_sym_PIPE,
+      anon_sym___attribute,
       anon_sym_EQ,
-    ACTIONS(2464), 23,
+    ACTIONS(2879), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(2471), 19,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_RBRACE,
@@ -88025,12 +89464,20 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [31213] = 5,
+  [32172] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2478), 1,
+    ACTIONS(2976), 1,
       anon_sym_EQ,
-    ACTIONS(2480), 10,
+    STATE(630), 1,
+      sym_string_literal,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    ACTIONS(2978), 10,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
       anon_sym_PERCENT_EQ,
@@ -88041,8 +89488,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-    ACTIONS(1779), 13,
-      aux_sym_preproc_elif_token1,
+    ACTIONS(1778), 13,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym_STAR,
@@ -88055,12 +89501,9 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(1773), 19,
-      anon_sym_COMMA,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
+      anon_sym_DOT,
+    ACTIONS(1772), 14,
+      anon_sym_DOT_DOT_DOT,
       anon_sym_LPAREN2,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
@@ -88069,107 +89512,67 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LBRACK,
+      anon_sym_RBRACK,
       anon_sym_QMARK,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-      anon_sym_DOT,
       anon_sym_DASH_GT,
-      sym_identifier,
-  [31268] = 6,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2890), 2,
-      anon_sym___attribute__,
-      sym_identifier,
-    ACTIONS(2897), 2,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-    ACTIONS(2893), 4,
-      anon_sym_COMMA,
-      anon_sym_LPAREN2,
-      anon_sym_SEMI,
-      anon_sym_EQ,
-    ACTIONS(2900), 4,
-      anon_sym_LBRACK,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-    ACTIONS(2895), 31,
-      anon_sym___extension__,
-      anon_sym_extern,
-      anon_sym___declspec,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
-      anon_sym_enum,
-      anon_sym_struct,
-      anon_sym_union,
-  [31325] = 9,
+  [32232] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    STATE(673), 1,
+    ACTIONS(2903), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(2905), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(2907), 1,
+      anon_sym_PIPE,
+    ACTIONS(2909), 1,
+      anon_sym_CARET,
+    ACTIONS(2911), 1,
+      anon_sym_AMP,
+    ACTIONS(2915), 1,
+      anon_sym_QMARK,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2857), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(2462), 10,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2877), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
+    ACTIONS(2893), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2895), 2,
       anon_sym_GT,
       anon_sym_LT,
+    ACTIONS(2897), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(2899), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
+    ACTIONS(2946), 2,
+      anon_sym___attribute,
       anon_sym_EQ,
-    ACTIONS(2464), 23,
+    ACTIONS(2879), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(2944), 16,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_RBRACE,
       anon_sym_COLON,
-      anon_sym_QMARK,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
       anon_sym_PERCENT_EQ,
@@ -88180,61 +89583,57 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [31388] = 20,
+  [32318] = 16,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2819), 1,
-      anon_sym_EQ,
-    ACTIONS(2859), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(2861), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(2863), 1,
-      anon_sym_PIPE,
-    ACTIONS(2865), 1,
+    ACTIONS(2958), 1,
       anon_sym_CARET,
-    ACTIONS(2867), 1,
+    ACTIONS(2960), 1,
       anon_sym_AMP,
-    ACTIONS(2877), 1,
-      anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2855), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2948), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2869), 2,
+    ACTIONS(2962), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(2871), 2,
+    ACTIONS(2964), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2873), 2,
+    ACTIONS(2966), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(2875), 2,
+    ACTIONS(2968), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2857), 3,
+    ACTIONS(2469), 3,
+      aux_sym_preproc_elif_token1,
+      anon_sym_PIPE,
+      anon_sym_EQ,
+    ACTIONS(2950), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2817), 16,
+    ACTIONS(2471), 19,
       anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_RBRACE,
-      anon_sym_COLON,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_QMARK,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
       anon_sym_PERCENT_EQ,
@@ -88245,139 +89644,77 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [31473] = 6,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2902), 2,
-      anon_sym___attribute__,
       sym_identifier,
-    ACTIONS(2909), 2,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-    ACTIONS(2905), 4,
-      anon_sym_COMMA,
-      anon_sym_LPAREN2,
-      anon_sym_SEMI,
-      anon_sym_EQ,
-    ACTIONS(2912), 4,
-      anon_sym_LBRACK,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-    ACTIONS(2907), 31,
-      anon_sym___extension__,
-      anon_sym_extern,
-      anon_sym___declspec,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
-      anon_sym_enum,
-      anon_sym_struct,
-      anon_sym_union,
-  [31530] = 18,
+  [32396] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2462), 1,
+    ACTIONS(1790), 1,
       anon_sym_EQ,
-    ACTIONS(2861), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(2863), 1,
+    ACTIONS(1794), 10,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+    ACTIONS(1778), 13,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
       anon_sym_PIPE,
-    ACTIONS(2865), 1,
       anon_sym_CARET,
-    ACTIONS(2867), 1,
       anon_sym_AMP,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(2855), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(2869), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(2871), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2873), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(2875), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2857), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(2464), 18,
+      anon_sym___attribute,
+    ACTIONS(1772), 19,
       anon_sym_COMMA,
       anon_sym_RPAREN,
+      anon_sym_LPAREN2,
       anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_RBRACE,
+      anon_sym_LBRACK,
       anon_sym_COLON,
       anon_sym_QMARK,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-  [31611] = 7,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+  [32451] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2886), 1,
+    ACTIONS(2924), 1,
       anon_sym_LBRACE,
-    ACTIONS(2918), 1,
-      anon_sym___attribute__,
-    STATE(771), 1,
+    STATE(776), 1,
       sym_attribute_specifier,
-    STATE(852), 1,
+    STATE(876), 1,
       sym_enumerator_list,
-    ACTIONS(2916), 6,
+    ACTIONS(2984), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2982), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_STAR,
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2914), 32,
+    ACTIONS(2980), 32,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___declspec,
@@ -88410,12 +89747,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_alignas,
       anon_sym__Alignas,
       sym_identifier,
-  [31669] = 5,
+  [32510] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1788), 1,
+    ACTIONS(2532), 1,
       anon_sym_EQ,
-    ACTIONS(1792), 10,
+    ACTIONS(2534), 10,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
       anon_sym_PERCENT_EQ,
@@ -88426,7 +89763,8 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-    ACTIONS(1779), 12,
+    ACTIONS(1778), 13,
+      aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym_STAR,
@@ -88439,9 +89777,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(1773), 19,
+    ACTIONS(1772), 19,
       anon_sym_COMMA,
-      anon_sym_RPAREN,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
       anon_sym_LPAREN2,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
@@ -88449,71 +89790,115 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_BANG_EQ,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_RBRACE,
       anon_sym_LBRACK,
-      anon_sym_COLON,
       anon_sym_QMARK,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DOT,
       anon_sym_DASH_GT,
-  [31723] = 21,
+      sym_identifier,
+  [32565] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2276), 2,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
+    ACTIONS(2274), 40,
+      anon_sym___extension__,
+      anon_sym_extern,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym___declspec,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      anon_sym_enum,
+      anon_sym_struct,
+      anon_sym_union,
+      sym_identifier,
+  [32615] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1814), 1,
+    ACTIONS(1823), 1,
       anon_sym_LPAREN2,
-    ACTIONS(1816), 1,
+    ACTIONS(1825), 1,
       anon_sym_STAR,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(2743), 1,
-      anon_sym_RPAREN,
-    ACTIONS(2753), 1,
+    ACTIONS(2813), 1,
       anon_sym_LBRACK,
-    STATE(710), 1,
+    ACTIONS(2853), 1,
+      anon_sym_RPAREN,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1001), 1,
+    STATE(998), 1,
       sym_ms_unaligned_ptr_modifier,
-    STATE(1283), 1,
+    STATE(1302), 1,
       sym__declarator,
-    STATE(1419), 1,
+    STATE(1418), 1,
       sym__abstract_declarator,
-    STATE(1446), 1,
+    STATE(1442), 1,
       sym_parameter_list,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(2751), 2,
+    ACTIONS(2811), 2,
       anon_sym__unaligned,
       anon_sym___unaligned,
-    STATE(943), 2,
-      sym_type_qualifier,
-      aux_sym__type_definition_type_repeat1,
-    STATE(944), 2,
+    STATE(848), 2,
       sym_ms_pointer_modifier,
       aux_sym_pointer_declarator_repeat1,
-    ACTIONS(2749), 3,
+    STATE(957), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(2809), 3,
       sym_ms_restrict_modifier,
       sym_ms_unsigned_ptr_modifier,
       sym_ms_signed_ptr_modifier,
-    STATE(1445), 4,
+    STATE(1467), 4,
       sym_abstract_parenthesized_declarator,
       sym_abstract_pointer_declarator,
       sym_abstract_function_declarator,
       sym_abstract_array_declarator,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -88524,61 +89909,61 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [31809] = 21,
+  [32701] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1814), 1,
+    ACTIONS(1823), 1,
       anon_sym_LPAREN2,
-    ACTIONS(1816), 1,
+    ACTIONS(1825), 1,
       anon_sym_STAR,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(2753), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2767), 1,
+    ACTIONS(2803), 1,
       anon_sym_RPAREN,
-    STATE(710), 1,
+    ACTIONS(2813), 1,
+      anon_sym_LBRACK,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1001), 1,
+    STATE(998), 1,
       sym_ms_unaligned_ptr_modifier,
-    STATE(1278), 1,
+    STATE(1299), 1,
       sym__declarator,
-    STATE(1405), 1,
+    STATE(1430), 1,
       sym__abstract_declarator,
-    STATE(1446), 1,
+    STATE(1442), 1,
       sym_parameter_list,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(2751), 2,
+    ACTIONS(2811), 2,
       anon_sym__unaligned,
       anon_sym___unaligned,
-    STATE(836), 2,
+    STATE(950), 2,
       sym_ms_pointer_modifier,
       aux_sym_pointer_declarator_repeat1,
-    STATE(949), 2,
+    STATE(953), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(2749), 3,
+    ACTIONS(2809), 3,
       sym_ms_restrict_modifier,
       sym_ms_unsigned_ptr_modifier,
       sym_ms_signed_ptr_modifier,
-    STATE(1445), 4,
+    STATE(1467), 4,
       sym_abstract_parenthesized_declarator,
       sym_abstract_pointer_declarator,
       sym_abstract_function_declarator,
       sym_abstract_array_declarator,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -88589,16 +89974,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [31895] = 3,
+  [32787] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2293), 2,
+    ACTIONS(2260), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
-    ACTIONS(2291), 39,
+    ACTIONS(2258), 40,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___cdecl,
       anon_sym___clrcall,
@@ -88635,23 +90021,25 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [31944] = 3,
+  [32837] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2255), 2,
+    ACTIONS(2579), 1,
       anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-    ACTIONS(2253), 39,
+    STATE(503), 1,
+      sym_string_literal,
+    ACTIONS(2987), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    ACTIONS(2577), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
@@ -88681,12 +90069,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [31993] = 3,
+  [32890] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1279), 1,
+    ACTIONS(1378), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1277), 39,
+    ACTIONS(1376), 40,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -88696,6 +90084,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -88726,12 +90115,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [32041] = 3,
+  [32939] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2837), 1,
+    ACTIONS(1274), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2835), 39,
+    ACTIONS(1272), 40,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -88741,6 +90130,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -88771,26 +90161,33 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [32089] = 3,
+  [32988] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2841), 1,
+    STATE(777), 1,
+      sym_attribute_specifier,
+    ACTIONS(2993), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2991), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2839), 39,
-      aux_sym_preproc_def_token1,
-      aux_sym_preproc_if_token1,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_ifdef_token1,
-      aux_sym_preproc_ifdef_token2,
-      sym_preproc_directive,
+    ACTIONS(2989), 32,
       anon_sym___extension__,
       anon_sym_extern,
-      anon_sym___attribute__,
       anon_sym___declspec,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
+      anon_sym___based,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+      anon_sym_LBRACK,
       anon_sym_static,
       anon_sym_auto,
       anon_sym_register,
@@ -88811,17 +90208,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Nonnull,
       anon_sym_alignas,
       anon_sym__Alignas,
-      sym_primitive_type,
-      anon_sym_enum,
-      anon_sym_struct,
-      anon_sym_union,
       sym_identifier,
-  [32137] = 3,
+  [33041] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2845), 1,
+    ACTIONS(2869), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2843), 39,
+    ACTIONS(2867), 40,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -88831,6 +90224,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -88861,12 +90255,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [32185] = 3,
+  [33090] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2849), 1,
+    ACTIONS(2873), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2847), 39,
+    ACTIONS(2871), 40,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -88876,6 +90270,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -88906,21 +90301,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [32233] = 3,
+  [33139] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1327), 2,
+    ACTIONS(2817), 1,
       anon_sym_LBRACK_LBRACK,
-      anon_sym_RBRACE,
-    ACTIONS(1325), 38,
+    ACTIONS(2815), 40,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
+      aux_sym_preproc_if_token2,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
       sym_preproc_directive,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -88951,21 +90347,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [32281] = 3,
+  [33188] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2757), 2,
+    ACTIONS(1322), 1,
       anon_sym_LBRACK_LBRACK,
-      anon_sym_RBRACE,
-    ACTIONS(2755), 38,
+    ACTIONS(1320), 40,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
+      aux_sym_preproc_if_token2,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
       sym_preproc_directive,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -88996,13 +90393,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [32329] = 3,
+  [33237] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2849), 2,
+    ACTIONS(2865), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_RBRACE,
-    ACTIONS(2847), 38,
+    ACTIONS(2863), 39,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_ifdef_token1,
@@ -89011,6 +90408,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -89041,21 +90439,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [32377] = 3,
+  [33286] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1279), 2,
+    ACTIONS(1314), 1,
       anon_sym_LBRACK_LBRACK,
-      anon_sym_RBRACE,
-    ACTIONS(1277), 38,
+    ACTIONS(1312), 40,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
+      aux_sym_preproc_if_token2,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
       sym_preproc_directive,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -89086,13 +90485,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [32425] = 3,
+  [33335] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1307), 2,
+    ACTIONS(2825), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_RBRACE,
-    ACTIONS(1305), 38,
+    ACTIONS(2823), 39,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_ifdef_token1,
@@ -89101,6 +90500,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -89131,21 +90531,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [32473] = 3,
+  [33384] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2833), 2,
+    ACTIONS(2851), 1,
       anon_sym_LBRACK_LBRACK,
-      anon_sym_RBRACE,
-    ACTIONS(2831), 38,
+    ACTIONS(2849), 40,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
+      aux_sym_preproc_if_token2,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
       sym_preproc_directive,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -89176,13 +90577,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [32521] = 3,
+  [33433] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2837), 2,
+    ACTIONS(2847), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_RBRACE,
-    ACTIONS(2835), 38,
+    ACTIONS(2845), 39,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_ifdef_token1,
@@ -89191,6 +90592,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -89221,60 +90623,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [32569] = 5,
+  [33482] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2925), 1,
-      anon_sym___attribute__,
-    STATE(763), 1,
-      sym_attribute_specifier,
-    ACTIONS(2923), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_STAR,
-      anon_sym_SEMI,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(2921), 32,
-      anon_sym___extension__,
-      anon_sym_extern,
-      anon_sym___declspec,
-      anon_sym___based,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
-      anon_sym_LBRACK,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_identifier,
-  [32621] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2739), 2,
+    ACTIONS(1314), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_RBRACE,
-    ACTIONS(2737), 38,
+    ACTIONS(1312), 39,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_ifdef_token1,
@@ -89283,6 +90638,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -89313,13 +90669,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [32669] = 3,
+  [33531] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2841), 2,
+    ACTIONS(2829), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_RBRACE,
-    ACTIONS(2839), 38,
+    ACTIONS(2827), 39,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_ifdef_token1,
@@ -89328,6 +90684,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -89358,60 +90715,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [32717] = 5,
+  [33580] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2932), 1,
-      anon_sym___attribute__,
-    STATE(740), 1,
-      sym_attribute_specifier,
-    ACTIONS(2930), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_STAR,
-      anon_sym_SEMI,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(2928), 32,
-      anon_sym___extension__,
-      anon_sym_extern,
-      anon_sym___declspec,
-      anon_sym___based,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
-      anon_sym_LBRACK,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_identifier,
-  [32769] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2845), 2,
+    ACTIONS(1358), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_RBRACE,
-    ACTIONS(2843), 38,
+    ACTIONS(1356), 39,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_ifdef_token1,
@@ -89420,6 +90730,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -89450,13 +90761,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [32817] = 3,
+  [33629] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1331), 2,
+    ACTIONS(1370), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_RBRACE,
-    ACTIONS(1329), 38,
+    ACTIONS(1368), 39,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_ifdef_token1,
@@ -89465,6 +90776,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -89495,13 +90807,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [32865] = 3,
+  [33678] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1335), 2,
+    ACTIONS(2851), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_RBRACE,
-    ACTIONS(1333), 38,
+    ACTIONS(2849), 39,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_ifdef_token1,
@@ -89510,6 +90822,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -89540,21 +90853,24 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [32913] = 3,
+  [33727] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2779), 2,
+    ACTIONS(2579), 1,
       anon_sym_LBRACK_LBRACK,
-      anon_sym_RBRACE,
-    ACTIONS(2777), 38,
-      aux_sym_preproc_def_token1,
-      aux_sym_preproc_if_token1,
-      aux_sym_preproc_ifdef_token1,
-      aux_sym_preproc_ifdef_token2,
-      sym_preproc_directive,
+    STATE(506), 1,
+      sym_string_literal,
+    ACTIONS(2987), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    ACTIONS(2577), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -89585,21 +90901,24 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [32961] = 3,
+  [33780] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1271), 2,
+    ACTIONS(2579), 1,
       anon_sym_LBRACK_LBRACK,
-      anon_sym_RBRACE,
-    ACTIONS(1269), 38,
-      aux_sym_preproc_def_token1,
-      aux_sym_preproc_if_token1,
-      aux_sym_preproc_ifdef_token1,
-      aux_sym_preproc_ifdef_token2,
-      sym_preproc_directive,
+    STATE(497), 1,
+      sym_string_literal,
+    ACTIONS(2987), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    ACTIONS(2577), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -89630,23 +90949,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33009] = 5,
+  [33833] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2526), 1,
+    ACTIONS(2865), 1,
       anon_sym_LBRACK_LBRACK,
-    STATE(540), 1,
-      sym_string_literal,
-    ACTIONS(2935), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    ACTIONS(2524), 33,
+    ACTIONS(2863), 40,
+      aux_sym_preproc_def_token1,
+      aux_sym_preproc_if_token1,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_ifdef_token1,
+      aux_sym_preproc_ifdef_token2,
+      sym_preproc_directive,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -89677,21 +90995,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33061] = 3,
+  [33882] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2739), 1,
+    ACTIONS(1274), 2,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2737), 39,
+      anon_sym_RBRACE,
+    ACTIONS(1272), 39,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
-      aux_sym_preproc_if_token2,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
       sym_preproc_directive,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -89722,12 +91041,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33109] = 3,
+  [33931] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2853), 1,
+    ACTIONS(2821), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2851), 39,
+    ACTIONS(2819), 40,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -89737,6 +91056,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -89767,12 +91087,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33157] = 3,
+  [33980] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2773), 1,
+    ACTIONS(2825), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2771), 39,
+    ACTIONS(2823), 40,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -89782,6 +91102,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -89812,13 +91133,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33205] = 3,
+  [34029] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2853), 2,
+    ACTIONS(1322), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_RBRACE,
-    ACTIONS(2851), 38,
+    ACTIONS(1320), 39,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_ifdef_token1,
@@ -89827,6 +91148,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -89857,13 +91179,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33253] = 3,
+  [34078] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2783), 2,
+    ACTIONS(2821), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_RBRACE,
-    ACTIONS(2781), 38,
+    ACTIONS(2819), 39,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_ifdef_token1,
@@ -89872,6 +91194,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -89902,21 +91225,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33301] = 5,
+  [34127] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2941), 1,
-      anon_sym___attribute__,
-    STATE(754), 1,
+    STATE(769), 1,
       sym_attribute_specifier,
-    ACTIONS(2939), 6,
+    ACTIONS(3000), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2998), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_STAR,
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2937), 32,
+    ACTIONS(2996), 32,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___declspec,
@@ -89949,13 +91273,13 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_alignas,
       anon_sym__Alignas,
       sym_identifier,
-  [33353] = 3,
+  [34180] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2773), 2,
+    ACTIONS(2869), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_RBRACE,
-    ACTIONS(2771), 38,
+    ACTIONS(2867), 39,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_ifdef_token1,
@@ -89964,6 +91288,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -89994,21 +91319,24 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33401] = 3,
+  [34229] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2829), 2,
+    ACTIONS(2579), 1,
       anon_sym_LBRACK_LBRACK,
-      anon_sym_RBRACE,
-    ACTIONS(2827), 38,
-      aux_sym_preproc_def_token1,
-      aux_sym_preproc_if_token1,
-      aux_sym_preproc_ifdef_token1,
-      aux_sym_preproc_ifdef_token2,
-      sym_preproc_directive,
+    STATE(499), 1,
+      sym_string_literal,
+    ACTIONS(2987), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+    ACTIONS(2577), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -90039,12 +91367,60 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33449] = 3,
+  [34282] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2779), 1,
+    STATE(758), 1,
+      sym_attribute_specifier,
+    ACTIONS(3007), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(3005), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2777), 39,
+    ACTIONS(3003), 32,
+      anon_sym___extension__,
+      anon_sym_extern,
+      anon_sym___declspec,
+      anon_sym___based,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+      anon_sym_LBRACK,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_identifier,
+  [34335] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2829), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(2827), 40,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -90054,6 +91430,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -90084,12 +91461,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33497] = 3,
+  [34384] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1327), 1,
+    ACTIONS(2833), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1325), 39,
+    ACTIONS(2831), 40,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -90099,6 +91476,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -90129,21 +91507,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33545] = 3,
+  [34433] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2783), 1,
+    ACTIONS(2873), 2,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2781), 39,
+      anon_sym_RBRACE,
+    ACTIONS(2871), 39,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
-      aux_sym_preproc_if_token2,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
       sym_preproc_directive,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -90174,23 +91553,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33593] = 5,
+  [34482] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2526), 1,
+    ACTIONS(2837), 1,
       anon_sym_LBRACK_LBRACK,
-    STATE(520), 1,
-      sym_string_literal,
-    ACTIONS(2935), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    ACTIONS(2524), 33,
+    ACTIONS(2835), 40,
+      aux_sym_preproc_def_token1,
+      aux_sym_preproc_if_token1,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_ifdef_token1,
+      aux_sym_preproc_ifdef_token2,
+      sym_preproc_directive,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -90221,12 +91599,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33645] = 3,
+  [34531] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1307), 1,
+    ACTIONS(2841), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1305), 39,
+    ACTIONS(2839), 40,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -90236,6 +91614,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -90266,12 +91645,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33693] = 3,
+  [34580] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1331), 1,
+    ACTIONS(2847), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1329), 39,
+    ACTIONS(2845), 40,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -90281,6 +91660,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -90311,12 +91691,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33741] = 3,
+  [34629] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1335), 1,
+    ACTIONS(1358), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1333), 39,
+    ACTIONS(1356), 40,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_if_token2,
@@ -90326,6 +91706,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -90356,21 +91737,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33789] = 3,
+  [34678] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1271), 1,
+    ACTIONS(2833), 2,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(1269), 39,
+      anon_sym_RBRACE,
+    ACTIONS(2831), 39,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
-      aux_sym_preproc_if_token2,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
       sym_preproc_directive,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -90401,21 +91783,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33837] = 3,
+  [34727] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2829), 1,
+    ACTIONS(2817), 2,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2827), 39,
+      anon_sym_RBRACE,
+    ACTIONS(2815), 39,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
-      aux_sym_preproc_if_token2,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
       sym_preproc_directive,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -90446,23 +91829,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33885] = 5,
+  [34776] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2526), 1,
+    ACTIONS(1370), 1,
       anon_sym_LBRACK_LBRACK,
-    STATE(566), 1,
-      sym_string_literal,
-    ACTIONS(2935), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    ACTIONS(2524), 33,
+    ACTIONS(1368), 40,
+      aux_sym_preproc_def_token1,
+      aux_sym_preproc_if_token1,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_ifdef_token1,
+      aux_sym_preproc_ifdef_token2,
+      sym_preproc_directive,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -90493,23 +91875,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33937] = 5,
+  [34825] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2526), 1,
+    ACTIONS(2837), 2,
       anon_sym_LBRACK_LBRACK,
-    STATE(579), 1,
-      sym_string_literal,
-    ACTIONS(2935), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-    ACTIONS(2524), 33,
+      anon_sym_RBRACE,
+    ACTIONS(2835), 39,
+      aux_sym_preproc_def_token1,
+      aux_sym_preproc_if_token1,
+      aux_sym_preproc_ifdef_token1,
+      aux_sym_preproc_ifdef_token2,
+      sym_preproc_directive,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -90540,21 +91921,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [33989] = 3,
+  [34874] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2833), 1,
+    ACTIONS(2841), 2,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2831), 39,
+      anon_sym_RBRACE,
+    ACTIONS(2839), 39,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
-      aux_sym_preproc_if_token2,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
       sym_preproc_directive,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -90585,21 +91967,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [34037] = 3,
+  [34923] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2757), 1,
+    ACTIONS(1378), 2,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2755), 39,
+      anon_sym_RBRACE,
+    ACTIONS(1376), 39,
       aux_sym_preproc_def_token1,
       aux_sym_preproc_if_token1,
-      aux_sym_preproc_if_token2,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
       sym_preproc_directive,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -90630,55 +92013,147 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [34085] = 20,
+  [34972] = 18,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(3010), 1,
+      sym_identifier,
+    ACTIONS(3012), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3014), 1,
+      anon_sym_STAR,
+    ACTIONS(3018), 1,
+      sym_primitive_type,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(998), 1,
+      sym_ms_unaligned_ptr_modifier,
+    STATE(1335), 1,
+      sym__type_declarator,
+    STATE(1810), 1,
+      sym_ms_based_modifier,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    ACTIONS(2811), 2,
+      anon_sym__unaligned,
+      anon_sym___unaligned,
+    STATE(908), 2,
+      sym_ms_pointer_modifier,
+      aux_sym_pointer_declarator_repeat1,
+    STATE(1016), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(2809), 3,
+      sym_ms_restrict_modifier,
+      sym_ms_unsigned_ptr_modifier,
+      sym_ms_signed_ptr_modifier,
+    ACTIONS(3016), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    STATE(1421), 5,
+      sym_parenthesized_type_declarator,
+      sym_attributed_type_declarator,
+      sym_pointer_type_declarator,
+      sym_function_type_declarator,
+      sym_array_type_declarator,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [35049] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3022), 3,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(3020), 36,
+      anon_sym___extension__,
+      anon_sym_extern,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym___declspec,
+      anon_sym___based,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_LBRACK,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      anon_sym_enum,
+      anon_sym_struct,
+      anon_sym_union,
+      sym_identifier,
+  [35096] = 9,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2825), 1,
-      anon_sym_EQ,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2950), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(2952), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(2954), 1,
-      anon_sym_PIPE,
-    ACTIONS(2956), 1,
-      anon_sym_CARET,
-    ACTIONS(2958), 1,
-      anon_sym_AMP,
-    ACTIONS(2968), 1,
+    ACTIONS(3026), 1,
       anon_sym_DOT,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2946), 2,
+    ACTIONS(2469), 13,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2960), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(2962), 2,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2964), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(2966), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2948), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(2823), 13,
+      anon_sym_EQ,
+    ACTIONS(2471), 19,
       anon_sym_DOT_DOT_DOT,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
       anon_sym_RBRACK,
       anon_sym_QMARK,
       anon_sym_STAR_EQ,
@@ -90691,23 +92166,23 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [34166] = 9,
+  [35155] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
+    ACTIONS(3026), 1,
       anon_sym_DOT,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2466), 13,
+    ACTIONS(2453), 13,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym_STAR,
@@ -90721,7 +92196,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym_EQ,
-    ACTIONS(2468), 19,
+    ACTIONS(2455), 19,
       anon_sym_DOT_DOT_DOT,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
@@ -90741,56 +92216,106 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [34225] = 21,
+  [35214] = 9,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2738), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3028), 1,
+      anon_sym_COMMA,
+    ACTIONS(3031), 1,
+      anon_sym_RPAREN,
+    STATE(768), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    STATE(1666), 1,
+      aux_sym__old_style_parameter_list_repeat1,
+    ACTIONS(1786), 2,
+      anon_sym_STAR,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(1788), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(1770), 28,
+      anon_sym___extension__,
+      anon_sym_extern,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym___declspec,
+      anon_sym___based,
+      anon_sym_LBRACK,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_identifier,
+  [35273] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2787), 1,
+    ACTIONS(2946), 1,
       anon_sym_EQ,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2950), 1,
+    ACTIONS(3026), 1,
+      anon_sym_DOT,
+    ACTIONS(3038), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(2952), 1,
+    ACTIONS(3040), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(2954), 1,
+    ACTIONS(3042), 1,
       anon_sym_PIPE,
-    ACTIONS(2956), 1,
+    ACTIONS(3044), 1,
       anon_sym_CARET,
-    ACTIONS(2958), 1,
+    ACTIONS(3046), 1,
       anon_sym_AMP,
-    ACTIONS(2968), 1,
-      anon_sym_DOT,
-    ACTIONS(2970), 1,
+    ACTIONS(3056), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2946), 2,
+    ACTIONS(3034), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2960), 2,
+    ACTIONS(3048), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(2962), 2,
+    ACTIONS(3050), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2964), 2,
+    ACTIONS(3052), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(2966), 2,
+    ACTIONS(3054), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2948), 3,
+    ACTIONS(3036), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2785), 12,
+    ACTIONS(2944), 12,
       anon_sym_DOT_DOT_DOT,
       anon_sym_RBRACK,
       anon_sym_STAR_EQ,
@@ -90803,27 +92328,27 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [34308] = 10,
+  [35356] = 10,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
+    ACTIONS(3026), 1,
       anon_sym_DOT,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2948), 3,
+    ACTIONS(3036), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2462), 10,
+    ACTIONS(2469), 10,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym_PIPE,
@@ -90834,7 +92359,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym_EQ,
-    ACTIONS(2464), 19,
+    ACTIONS(2471), 19,
       anon_sym_DOT_DOT_DOT,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
@@ -90854,52 +92379,52 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [34369] = 19,
+  [35417] = 19,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2462), 1,
+    ACTIONS(2469), 1,
       anon_sym_EQ,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2952), 1,
+    ACTIONS(3026), 1,
+      anon_sym_DOT,
+    ACTIONS(3040), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(2954), 1,
+    ACTIONS(3042), 1,
       anon_sym_PIPE,
-    ACTIONS(2956), 1,
+    ACTIONS(3044), 1,
       anon_sym_CARET,
-    ACTIONS(2958), 1,
+    ACTIONS(3046), 1,
       anon_sym_AMP,
-    ACTIONS(2968), 1,
-      anon_sym_DOT,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2946), 2,
+    ACTIONS(3034), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2960), 2,
+    ACTIONS(3048), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(2962), 2,
+    ACTIONS(3050), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2964), 2,
+    ACTIONS(3052), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(2966), 2,
+    ACTIONS(3054), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2948), 3,
+    ACTIONS(3036), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2464), 14,
+    ACTIONS(2471), 14,
       anon_sym_DOT_DOT_DOT,
       anon_sym_PIPE_PIPE,
       anon_sym_RBRACK,
@@ -90914,50 +92439,50 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [34448] = 18,
+  [35496] = 18,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2462), 1,
+    ACTIONS(2469), 1,
       anon_sym_EQ,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2954), 1,
+    ACTIONS(3026), 1,
+      anon_sym_DOT,
+    ACTIONS(3042), 1,
       anon_sym_PIPE,
-    ACTIONS(2956), 1,
+    ACTIONS(3044), 1,
       anon_sym_CARET,
-    ACTIONS(2958), 1,
+    ACTIONS(3046), 1,
       anon_sym_AMP,
-    ACTIONS(2968), 1,
-      anon_sym_DOT,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2946), 2,
+    ACTIONS(3034), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2960), 2,
+    ACTIONS(3048), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(2962), 2,
+    ACTIONS(3050), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2964), 2,
+    ACTIONS(3052), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(2966), 2,
+    ACTIONS(3054), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2948), 3,
+    ACTIONS(3036), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2464), 15,
+    ACTIONS(2471), 15,
       anon_sym_DOT_DOT_DOT,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
@@ -90973,49 +92498,49 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [34525] = 17,
+  [35573] = 17,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2956), 1,
+    ACTIONS(3026), 1,
+      anon_sym_DOT,
+    ACTIONS(3044), 1,
       anon_sym_CARET,
-    ACTIONS(2958), 1,
+    ACTIONS(3046), 1,
       anon_sym_AMP,
-    ACTIONS(2968), 1,
-      anon_sym_DOT,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2462), 2,
+    ACTIONS(2469), 2,
       anon_sym_PIPE,
       anon_sym_EQ,
-    ACTIONS(2946), 2,
+    ACTIONS(3034), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2960), 2,
+    ACTIONS(3048), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(2962), 2,
+    ACTIONS(3050), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2964), 2,
+    ACTIONS(3052), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(2966), 2,
+    ACTIONS(3054), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2948), 3,
+    ACTIONS(3036), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2464), 15,
+    ACTIONS(2471), 15,
       anon_sym_DOT_DOT_DOT,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
@@ -91031,48 +92556,48 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [34600] = 16,
+  [35648] = 16,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2958), 1,
-      anon_sym_AMP,
-    ACTIONS(2968), 1,
+    ACTIONS(3026), 1,
       anon_sym_DOT,
-    STATE(673), 1,
+    ACTIONS(3046), 1,
+      anon_sym_AMP,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2946), 2,
+    ACTIONS(3034), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2960), 2,
+    ACTIONS(3048), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(2962), 2,
+    ACTIONS(3050), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2964), 2,
+    ACTIONS(3052), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(2966), 2,
+    ACTIONS(3054), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2462), 3,
+    ACTIONS(2469), 3,
       anon_sym_PIPE,
       anon_sym_CARET,
       anon_sym_EQ,
-    ACTIONS(2948), 3,
+    ACTIONS(3036), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2464), 15,
+    ACTIONS(2471), 15,
       anon_sym_DOT_DOT_DOT,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
@@ -91088,47 +92613,47 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [34673] = 15,
+  [35721] = 15,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
+    ACTIONS(3026), 1,
       anon_sym_DOT,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2946), 2,
+    ACTIONS(3034), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2960), 2,
+    ACTIONS(3048), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(2962), 2,
+    ACTIONS(3050), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2964), 2,
+    ACTIONS(3052), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(2966), 2,
+    ACTIONS(3054), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2948), 3,
+    ACTIONS(3036), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2462), 4,
+    ACTIONS(2469), 4,
       anon_sym_PIPE,
       anon_sym_CARET,
       anon_sym_AMP,
       anon_sym_EQ,
-    ACTIONS(2464), 15,
+    ACTIONS(2471), 15,
       anon_sym_DOT_DOT_DOT,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
@@ -91144,103 +92669,44 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [34744] = 18,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(2972), 1,
-      sym_identifier,
-    ACTIONS(2974), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2976), 1,
-      anon_sym_STAR,
-    ACTIONS(2980), 1,
-      sym_primitive_type,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(1001), 1,
-      sym_ms_unaligned_ptr_modifier,
-    STATE(1339), 1,
-      sym__type_declarator,
-    STATE(1954), 1,
-      sym_ms_based_modifier,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    ACTIONS(2751), 2,
-      anon_sym__unaligned,
-      anon_sym___unaligned,
-    STATE(944), 2,
-      sym_ms_pointer_modifier,
-      aux_sym_pointer_declarator_repeat1,
-    STATE(999), 2,
-      sym_type_qualifier,
-      aux_sym__type_definition_type_repeat1,
-    ACTIONS(2749), 3,
-      sym_ms_restrict_modifier,
-      sym_ms_unsigned_ptr_modifier,
-      sym_ms_signed_ptr_modifier,
-    ACTIONS(2978), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    STATE(1408), 5,
-      sym_parenthesized_type_declarator,
-      sym_attributed_type_declarator,
-      sym_pointer_type_declarator,
-      sym_function_type_declarator,
-      sym_array_type_declarator,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [34821] = 14,
+  [35792] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
+    ACTIONS(3026), 1,
       anon_sym_DOT,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2946), 2,
+    ACTIONS(3034), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2962), 2,
+    ACTIONS(3050), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2964), 2,
+    ACTIONS(3052), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(2966), 2,
+    ACTIONS(3054), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2948), 3,
+    ACTIONS(3036), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2462), 4,
+    ACTIONS(2469), 4,
       anon_sym_PIPE,
       anon_sym_CARET,
       anon_sym_AMP,
       anon_sym_EQ,
-    ACTIONS(2464), 17,
+    ACTIONS(2471), 17,
       anon_sym_DOT_DOT_DOT,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
@@ -91258,34 +92724,40 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [34890] = 8,
+  [35861] = 12,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
+    ACTIONS(3026), 1,
       anon_sym_DOT,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2446), 13,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(3034), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
+    ACTIONS(3054), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(3036), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
+    ACTIONS(2469), 6,
       anon_sym_PIPE,
       anon_sym_CARET,
       anon_sym_AMP,
       anon_sym_GT,
       anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
       anon_sym_EQ,
-    ACTIONS(2448), 21,
+    ACTIONS(2471), 19,
       anon_sym_DOT_DOT_DOT,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
@@ -91305,30 +92777,30 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-  [34947] = 9,
+  [35926] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
+    ACTIONS(3026), 1,
       anon_sym_DOT,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2456), 13,
+    ACTIONS(3034), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
+    ACTIONS(3036), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
+    ACTIONS(2469), 8,
       anon_sym_PIPE,
       anon_sym_CARET,
       anon_sym_AMP,
@@ -91337,7 +92809,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym_EQ,
-    ACTIONS(2458), 19,
+    ACTIONS(2471), 19,
       anon_sym_DOT_DOT_DOT,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
@@ -91357,49 +92829,117 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [35006] = 12,
+  [35989] = 18,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(3010), 1,
+      sym_identifier,
+    ACTIONS(3012), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3014), 1,
+      anon_sym_STAR,
+    ACTIONS(3018), 1,
+      sym_primitive_type,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(998), 1,
+      sym_ms_unaligned_ptr_modifier,
+    STATE(1345), 1,
+      sym__type_declarator,
+    STATE(1810), 1,
+      sym_ms_based_modifier,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    ACTIONS(2811), 2,
+      anon_sym__unaligned,
+      anon_sym___unaligned,
+    STATE(950), 2,
+      sym_ms_pointer_modifier,
+      aux_sym_pointer_declarator_repeat1,
+    STATE(1013), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(2809), 3,
+      sym_ms_restrict_modifier,
+      sym_ms_unsigned_ptr_modifier,
+      sym_ms_signed_ptr_modifier,
+    ACTIONS(3016), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    STATE(1421), 5,
+      sym_parenthesized_type_declarator,
+      sym_attributed_type_declarator,
+      sym_pointer_type_declarator,
+      sym_function_type_declarator,
+      sym_array_type_declarator,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [36066] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(2913), 1,
+      anon_sym_EQ,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
+    ACTIONS(3026), 1,
       anon_sym_DOT,
-    STATE(673), 1,
+    ACTIONS(3038), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3040), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3042), 1,
+      anon_sym_PIPE,
+    ACTIONS(3044), 1,
+      anon_sym_CARET,
+    ACTIONS(3046), 1,
+      anon_sym_AMP,
+    ACTIONS(3056), 1,
+      anon_sym_QMARK,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2946), 2,
+    ACTIONS(3034), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2966), 2,
+    ACTIONS(3048), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3050), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3052), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(3054), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2948), 3,
+    ACTIONS(3036), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2462), 6,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym_EQ,
-    ACTIONS(2464), 19,
+    ACTIONS(2901), 12,
       anon_sym_DOT_DOT_DOT,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
       anon_sym_RBRACK,
-      anon_sym_QMARK,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
       anon_sym_PERCENT_EQ,
@@ -91410,46 +92950,58 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [35071] = 9,
+  [36149] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(2974), 1,
+      anon_sym_EQ,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
+    ACTIONS(3026), 1,
       anon_sym_DOT,
-    STATE(673), 1,
+    ACTIONS(3038), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3040), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3042), 1,
+      anon_sym_PIPE,
+    ACTIONS(3044), 1,
+      anon_sym_CARET,
+    ACTIONS(3046), 1,
+      anon_sym_AMP,
+    ACTIONS(3056), 1,
+      anon_sym_QMARK,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2474), 13,
+    ACTIONS(3034), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
+    ACTIONS(3048), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3050), 2,
       anon_sym_GT,
       anon_sym_LT,
+    ACTIONS(3052), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(3054), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-      anon_sym_EQ,
-    ACTIONS(2476), 19,
+    ACTIONS(3036), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(2972), 12,
       anon_sym_DOT_DOT_DOT,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
       anon_sym_RBRACK,
-      anon_sym_QMARK,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
       anon_sym_PERCENT_EQ,
@@ -91460,44 +93012,55 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [35130] = 9,
+  [36232] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(2930), 1,
+      anon_sym_EQ,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
+    ACTIONS(3026), 1,
       anon_sym_DOT,
-    STATE(673), 1,
+    ACTIONS(3038), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3040), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3042), 1,
+      anon_sym_PIPE,
+    ACTIONS(3044), 1,
+      anon_sym_CARET,
+    ACTIONS(3046), 1,
+      anon_sym_AMP,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2470), 13,
+    ACTIONS(3034), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
+    ACTIONS(3048), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3050), 2,
       anon_sym_GT,
       anon_sym_LT,
+    ACTIONS(3052), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(3054), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-      anon_sym_EQ,
-    ACTIONS(2472), 19,
+    ACTIONS(3036), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(2928), 13,
       anon_sym_DOT_DOT_DOT,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
       anon_sym_RBRACK,
       anon_sym_QMARK,
       anon_sym_STAR_EQ,
@@ -91510,30 +93073,25 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [35189] = 11,
+  [36313] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
+    ACTIONS(3026), 1,
       anon_sym_DOT,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(2946), 2,
+    ACTIONS(2489), 13,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2948), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(2462), 8,
       anon_sym_PIPE,
       anon_sym_CARET,
       anon_sym_AMP,
@@ -91542,7 +93100,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym_EQ,
-    ACTIONS(2464), 19,
+    ACTIONS(2491), 21,
       anon_sym_DOT_DOT_DOT,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
@@ -91562,117 +93120,48 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [35252] = 18,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(2972), 1,
-      sym_identifier,
-    ACTIONS(2974), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2976), 1,
-      anon_sym_STAR,
-    ACTIONS(2980), 1,
-      sym_primitive_type,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(1001), 1,
-      sym_ms_unaligned_ptr_modifier,
-    STATE(1340), 1,
-      sym__type_declarator,
-    STATE(1954), 1,
-      sym_ms_based_modifier,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    ACTIONS(2751), 2,
-      anon_sym__unaligned,
-      anon_sym___unaligned,
-    STATE(892), 2,
-      sym_ms_pointer_modifier,
-      aux_sym_pointer_declarator_repeat1,
-    STATE(1005), 2,
-      sym_type_qualifier,
-      aux_sym__type_definition_type_repeat1,
-    ACTIONS(2749), 3,
-      sym_ms_restrict_modifier,
-      sym_ms_unsigned_ptr_modifier,
-      sym_ms_signed_ptr_modifier,
-    ACTIONS(2978), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    STATE(1408), 5,
-      sym_parenthesized_type_declarator,
-      sym_attributed_type_declarator,
-      sym_pointer_type_declarator,
-      sym_function_type_declarator,
-      sym_array_type_declarator,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [35329] = 21,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+  [36370] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2815), 1,
-      anon_sym_EQ,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2950), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(2952), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(2954), 1,
-      anon_sym_PIPE,
-    ACTIONS(2956), 1,
-      anon_sym_CARET,
-    ACTIONS(2958), 1,
-      anon_sym_AMP,
-    ACTIONS(2968), 1,
+    ACTIONS(3026), 1,
       anon_sym_DOT,
-    ACTIONS(2970), 1,
-      anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2946), 2,
+    ACTIONS(2485), 13,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2960), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(2962), 2,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2964), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(2966), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2948), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(2813), 12,
+      anon_sym_EQ,
+    ACTIONS(2487), 19,
       anon_sym_DOT_DOT_DOT,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
       anon_sym_RBRACK,
+      anon_sym_QMARK,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
       anon_sym_PERCENT_EQ,
@@ -91683,176 +93172,46 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [35412] = 18,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(2972), 1,
-      sym_identifier,
-    ACTIONS(2974), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2976), 1,
-      anon_sym_STAR,
-    ACTIONS(2980), 1,
-      sym_primitive_type,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(1001), 1,
-      sym_ms_unaligned_ptr_modifier,
-    STATE(1339), 1,
-      sym__type_declarator,
-    STATE(1954), 1,
-      sym_ms_based_modifier,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    ACTIONS(2751), 2,
-      anon_sym__unaligned,
-      anon_sym___unaligned,
-    STATE(903), 2,
-      sym_ms_pointer_modifier,
-      aux_sym_pointer_declarator_repeat1,
-    STATE(999), 2,
-      sym_type_qualifier,
-      aux_sym__type_definition_type_repeat1,
-    ACTIONS(2749), 3,
-      sym_ms_restrict_modifier,
-      sym_ms_unsigned_ptr_modifier,
-      sym_ms_signed_ptr_modifier,
-    ACTIONS(2978), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    STATE(1408), 5,
-      sym_parenthesized_type_declarator,
-      sym_attributed_type_declarator,
-      sym_pointer_type_declarator,
-      sym_function_type_declarator,
-      sym_array_type_declarator,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [35489] = 18,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(2972), 1,
-      sym_identifier,
-    ACTIONS(2974), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2976), 1,
-      anon_sym_STAR,
-    ACTIONS(2980), 1,
-      sym_primitive_type,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(1001), 1,
-      sym_ms_unaligned_ptr_modifier,
-    STATE(1346), 1,
-      sym__type_declarator,
-    STATE(1954), 1,
-      sym_ms_based_modifier,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    ACTIONS(2751), 2,
-      anon_sym__unaligned,
-      anon_sym___unaligned,
-    STATE(944), 2,
-      sym_ms_pointer_modifier,
-      aux_sym_pointer_declarator_repeat1,
-    STATE(1000), 2,
-      sym_type_qualifier,
-      aux_sym__type_definition_type_repeat1,
-    ACTIONS(2749), 3,
-      sym_ms_restrict_modifier,
-      sym_ms_unsigned_ptr_modifier,
-      sym_ms_signed_ptr_modifier,
-    ACTIONS(2978), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    STATE(1408), 5,
-      sym_parenthesized_type_declarator,
-      sym_attributed_type_declarator,
-      sym_pointer_type_declarator,
-      sym_function_type_declarator,
-      sym_array_type_declarator,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [35566] = 21,
+  [36429] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2819), 1,
-      anon_sym_EQ,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2950), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(2952), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(2954), 1,
-      anon_sym_PIPE,
-    ACTIONS(2956), 1,
-      anon_sym_CARET,
-    ACTIONS(2958), 1,
-      anon_sym_AMP,
-    ACTIONS(2968), 1,
+    ACTIONS(3026), 1,
       anon_sym_DOT,
-    ACTIONS(2970), 1,
-      anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2946), 2,
+    ACTIONS(2473), 13,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(2960), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(2962), 2,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2964), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(2966), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2948), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(2817), 12,
+      anon_sym_EQ,
+    ACTIONS(2475), 19,
       anon_sym_DOT_DOT_DOT,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
       anon_sym_RBRACK,
+      anon_sym_QMARK,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
       anon_sym_PERCENT_EQ,
@@ -91863,23 +93222,23 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [35649] = 9,
+  [36488] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
+    ACTIONS(3026), 1,
       anon_sym_DOT,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2462), 13,
+    ACTIONS(2477), 13,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym_STAR,
@@ -91893,7 +93252,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_LT,
       anon_sym_GT_GT,
       anon_sym_EQ,
-    ACTIONS(2464), 19,
+    ACTIONS(2479), 19,
       anon_sym_DOT_DOT_DOT,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
@@ -91913,55 +93272,128 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-  [35708] = 5,
+  [36547] = 18,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(3010), 1,
+      sym_identifier,
+    ACTIONS(3012), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3014), 1,
+      anon_sym_STAR,
+    ACTIONS(3018), 1,
+      sym_primitive_type,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(998), 1,
+      sym_ms_unaligned_ptr_modifier,
+    STATE(1357), 1,
+      sym__type_declarator,
+    STATE(1810), 1,
+      sym_ms_based_modifier,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    ACTIONS(2811), 2,
+      anon_sym__unaligned,
+      anon_sym___unaligned,
+    STATE(950), 2,
+      sym_ms_pointer_modifier,
+      aux_sym_pointer_declarator_repeat1,
+    STATE(1017), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(2809), 3,
+      sym_ms_restrict_modifier,
+      sym_ms_unsigned_ptr_modifier,
+      sym_ms_signed_ptr_modifier,
+    ACTIONS(3016), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    STATE(1421), 5,
+      sym_parenthesized_type_declarator,
+      sym_attributed_type_declarator,
+      sym_pointer_type_declarator,
+      sym_function_type_declarator,
+      sym_array_type_declarator,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [36624] = 18,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2761), 1,
-      anon_sym_EQ,
-    ACTIONS(2763), 10,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-    ACTIONS(1779), 13,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-      anon_sym_DOT,
-    ACTIONS(1773), 14,
-      anon_sym_DOT_DOT_DOT,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(3010), 1,
+      sym_identifier,
+    ACTIONS(3012), 1,
       anon_sym_LPAREN2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_LBRACK,
-      anon_sym_RBRACK,
-      anon_sym_QMARK,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-      anon_sym_DASH_GT,
-  [35758] = 3,
+    ACTIONS(3014), 1,
+      anon_sym_STAR,
+    ACTIONS(3018), 1,
+      sym_primitive_type,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(998), 1,
+      sym_ms_unaligned_ptr_modifier,
+    STATE(1345), 1,
+      sym__type_declarator,
+    STATE(1810), 1,
+      sym_ms_based_modifier,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    ACTIONS(2811), 2,
+      anon_sym__unaligned,
+      anon_sym___unaligned,
+    STATE(916), 2,
+      sym_ms_pointer_modifier,
+      aux_sym_pointer_declarator_repeat1,
+    STATE(1013), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(2809), 3,
+      sym_ms_restrict_modifier,
+      sym_ms_unsigned_ptr_modifier,
+      sym_ms_signed_ptr_modifier,
+    ACTIONS(3016), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    STATE(1421), 5,
+      sym_parenthesized_type_declarator,
+      sym_attributed_type_declarator,
+      sym_pointer_type_declarator,
+      sym_function_type_declarator,
+      sym_array_type_declarator,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [36701] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1189), 19,
+    ACTIONS(1154), 19,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym___extension__,
@@ -91981,7 +93413,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_NULL,
       anon_sym_nullptr,
       sym_identifier,
-    ACTIONS(1191), 19,
+    ACTIONS(1156), 19,
       anon_sym_LPAREN2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -92001,10 +93433,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-  [35804] = 3,
+  [36747] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1189), 19,
+    ACTIONS(1174), 19,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym___extension__,
@@ -92024,7 +93456,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_NULL,
       anon_sym_nullptr,
       sym_identifier,
-    ACTIONS(1191), 19,
+    ACTIONS(1176), 19,
       anon_sym_LPAREN2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -92044,10 +93476,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-  [35850] = 3,
+  [36793] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1201), 19,
+    ACTIONS(1198), 19,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym___extension__,
@@ -92067,7 +93499,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_NULL,
       anon_sym_nullptr,
       sym_identifier,
-    ACTIONS(1203), 19,
+    ACTIONS(1200), 19,
       anon_sym_LPAREN2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -92087,10 +93519,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-  [35896] = 3,
+  [36839] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1201), 19,
+    ACTIONS(1202), 19,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym___extension__,
@@ -92110,7 +93542,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_NULL,
       anon_sym_nullptr,
       sym_identifier,
-    ACTIONS(1203), 19,
+    ACTIONS(1204), 19,
       anon_sym_LPAREN2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -92130,10 +93562,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-  [35942] = 3,
+  [36885] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1205), 19,
+    ACTIONS(1202), 19,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym___extension__,
@@ -92153,7 +93585,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_NULL,
       anon_sym_nullptr,
       sym_identifier,
-    ACTIONS(1207), 19,
+    ACTIONS(1204), 19,
       anon_sym_LPAREN2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -92173,10 +93605,58 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-  [35988] = 3,
+  [36931] = 8,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3061), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3065), 1,
+      anon_sym_LBRACK,
+    STATE(768), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(1786), 2,
+      anon_sym_COMMA,
+      anon_sym_STAR,
+    ACTIONS(3058), 2,
+      anon_sym_RPAREN,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(1788), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(1770), 27,
+      anon_sym___extension__,
+      anon_sym_extern,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym___declspec,
+      anon_sym___based,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_identifier,
+  [36987] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1205), 19,
+    ACTIONS(1214), 19,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym___extension__,
@@ -92196,7 +93676,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_NULL,
       anon_sym_nullptr,
       sym_identifier,
-    ACTIONS(1207), 19,
+    ACTIONS(1216), 19,
       anon_sym_LPAREN2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -92216,53 +93696,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-  [36034] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2442), 14,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-      anon_sym_EQ,
-      anon_sym_DOT,
-    ACTIONS(2444), 24,
-      anon_sym_DOT_DOT_DOT,
-      anon_sym_LPAREN2,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_LBRACK,
-      anon_sym_RBRACK,
-      anon_sym_QMARK,
-      anon_sym_STAR_EQ,
-      anon_sym_SLASH_EQ,
-      anon_sym_PERCENT_EQ,
-      anon_sym_PLUS_EQ,
-      anon_sym_DASH_EQ,
-      anon_sym_LT_LT_EQ,
-      anon_sym_GT_GT_EQ,
-      anon_sym_AMP_EQ,
-      anon_sym_CARET_EQ,
-      anon_sym_PIPE_EQ,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-      anon_sym_DASH_GT,
-  [36080] = 3,
+  [37033] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2438), 14,
+    ACTIONS(2481), 14,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym_STAR,
@@ -92277,7 +93714,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT_GT,
       anon_sym_EQ,
       anon_sym_DOT,
-    ACTIONS(2440), 24,
+    ACTIONS(2483), 24,
       anon_sym_DOT_DOT_DOT,
       anon_sym_LPAREN2,
       anon_sym_PIPE_PIPE,
@@ -92302,10 +93739,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [36126] = 3,
+  [37079] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1233), 19,
+    ACTIONS(1154), 19,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym___extension__,
@@ -92325,7 +93762,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_NULL,
       anon_sym_nullptr,
       sym_identifier,
-    ACTIONS(1235), 19,
+    ACTIONS(1156), 19,
       anon_sym_LPAREN2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -92345,10 +93782,53 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-  [36172] = 3,
+  [37125] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2493), 14,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+      anon_sym_EQ,
+      anon_sym_DOT,
+    ACTIONS(2495), 24,
+      anon_sym_DOT_DOT_DOT,
+      anon_sym_LPAREN2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_LBRACK,
+      anon_sym_RBRACK,
+      anon_sym_QMARK,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+      anon_sym_DASH_GT,
+  [37171] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1237), 19,
+    ACTIONS(1170), 19,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym___extension__,
@@ -92368,7 +93848,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_NULL,
       anon_sym_nullptr,
       sym_identifier,
-    ACTIONS(1239), 19,
+    ACTIONS(1172), 19,
       anon_sym_LPAREN2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -92388,10 +93868,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-  [36218] = 3,
+  [37217] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1237), 19,
+    ACTIONS(1170), 19,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym___extension__,
@@ -92411,7 +93891,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_NULL,
       anon_sym_nullptr,
       sym_identifier,
-    ACTIONS(1239), 19,
+    ACTIONS(1172), 19,
       anon_sym_LPAREN2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -92431,10 +93911,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-  [36264] = 3,
+  [37263] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1249), 19,
+    ACTIONS(1174), 19,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym___extension__,
@@ -92454,7 +93934,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_NULL,
       anon_sym_nullptr,
       sym_identifier,
-    ACTIONS(1251), 19,
+    ACTIONS(1176), 19,
       anon_sym_LPAREN2,
       anon_sym_BANG,
       anon_sym_TILDE,
@@ -92474,102 +93954,10 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-  [36310] = 9,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2619), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2982), 1,
-      anon_sym_COMMA,
-    ACTIONS(2985), 1,
-      anon_sym_RPAREN,
-    STATE(752), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    STATE(1645), 1,
-      aux_sym__old_style_parameter_list_repeat1,
-    ACTIONS(1784), 2,
-      anon_sym_STAR,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(1786), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    ACTIONS(1771), 27,
-      anon_sym___extension__,
-      anon_sym_extern,
-      anon_sym___attribute__,
-      anon_sym___declspec,
-      anon_sym___based,
-      anon_sym_LBRACK,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_identifier,
-  [36368] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2990), 3,
-      anon_sym_LPAREN2,
-      anon_sym_STAR,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(2988), 35,
-      anon_sym___extension__,
-      anon_sym_extern,
-      anon_sym___attribute__,
-      anon_sym___declspec,
-      anon_sym___based,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-      anon_sym_LBRACK,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
-      anon_sym_enum,
-      anon_sym_struct,
-      anon_sym_union,
-      sym_identifier,
-  [36414] = 3,
+  [37309] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2434), 14,
+    ACTIONS(2465), 14,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym_STAR,
@@ -92584,7 +93972,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT_GT,
       anon_sym_EQ,
       anon_sym_DOT,
-    ACTIONS(2436), 24,
+    ACTIONS(2467), 24,
       anon_sym_DOT_DOT_DOT,
       anon_sym_LPAREN2,
       anon_sym_PIPE_PIPE,
@@ -92609,28 +93997,74 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
       anon_sym_DASH_GT,
-  [36460] = 7,
+  [37355] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2976), 1,
+      anon_sym_EQ,
+    ACTIONS(2978), 10,
+      anon_sym_STAR_EQ,
+      anon_sym_SLASH_EQ,
+      anon_sym_PERCENT_EQ,
+      anon_sym_PLUS_EQ,
+      anon_sym_DASH_EQ,
+      anon_sym_LT_LT_EQ,
+      anon_sym_GT_GT_EQ,
+      anon_sym_AMP_EQ,
+      anon_sym_CARET_EQ,
+      anon_sym_PIPE_EQ,
+    ACTIONS(1778), 13,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+      anon_sym_DOT,
+    ACTIONS(1772), 14,
+      anon_sym_DOT_DOT_DOT,
+      anon_sym_LPAREN2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_LBRACK,
+      anon_sym_RBRACK,
+      anon_sym_QMARK,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+      anon_sym_DASH_GT,
+  [37405] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2619), 1,
+    ACTIONS(2738), 1,
       anon_sym_LPAREN2,
-    STATE(752), 1,
+    STATE(768), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(1784), 2,
+    ACTIONS(1786), 2,
       anon_sym_STAR,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(2992), 2,
+    ACTIONS(3068), 2,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-    ACTIONS(1786), 4,
+    ACTIONS(1788), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    ACTIONS(1771), 27,
+    ACTIONS(1770), 28,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym___based,
       anon_sym_LBRACK,
@@ -92655,41 +94089,54 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_alignas,
       anon_sym__Alignas,
       sym_identifier,
-  [36513] = 8,
+  [37459] = 18,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2998), 1,
+    ACTIONS(1823), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3002), 1,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(2801), 1,
+      sym_identifier,
+    ACTIONS(2805), 1,
+      anon_sym_STAR,
+    ACTIONS(2813), 1,
       anon_sym_LBRACK,
-    STATE(752), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(1784), 2,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(1370), 1,
+      sym__declarator,
+    STATE(1429), 1,
+      sym__abstract_declarator,
+    STATE(1442), 1,
+      sym_parameter_list,
+    STATE(1992), 1,
+      sym_ms_based_modifier,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    ACTIONS(3071), 2,
       anon_sym_COMMA,
-      anon_sym_STAR,
-    ACTIONS(2995), 2,
       anon_sym_RPAREN,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(1786), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    ACTIONS(1771), 26,
-      anon_sym___extension__,
-      anon_sym_extern,
+    ACTIONS(3073), 2,
       anon_sym___attribute__,
-      anon_sym___declspec,
-      anon_sym___based,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
+      anon_sym___attribute,
+    STATE(672), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    STATE(1467), 4,
+      sym_abstract_parenthesized_declarator,
+      sym_abstract_pointer_declarator,
+      sym_abstract_function_declarator,
+      sym_abstract_array_declarator,
+    STATE(1311), 5,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_function_declarator,
+      sym_array_declarator,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
       anon_sym_volatile,
@@ -92699,17 +94146,14 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_identifier,
-  [36568] = 6,
+  [37534] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1788), 1,
+    ACTIONS(1790), 1,
       anon_sym_EQ,
-    ACTIONS(3005), 1,
+    ACTIONS(3075), 1,
       anon_sym_SEMI,
-    ACTIONS(1792), 10,
+    ACTIONS(1794), 10,
       anon_sym_STAR_EQ,
       anon_sym_SLASH_EQ,
       anon_sym_PERCENT_EQ,
@@ -92720,7 +94164,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_EQ,
       anon_sym_CARET_EQ,
       anon_sym_PIPE_EQ,
-    ACTIONS(1779), 12,
+    ACTIONS(1778), 12,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym_STAR,
@@ -92733,7 +94177,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(1773), 13,
+    ACTIONS(1772), 13,
       anon_sym_LPAREN2,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
@@ -92747,182 +94191,54 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PLUS_PLUS,
       anon_sym_DOT,
       anon_sym_DASH_GT,
-  [36619] = 18,
+  [37585] = 18,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1814), 1,
+    ACTIONS(1823), 1,
       anon_sym_LPAREN2,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(2745), 1,
+    ACTIONS(2805), 1,
       anon_sym_STAR,
-    ACTIONS(2753), 1,
+    ACTIONS(2813), 1,
       anon_sym_LBRACK,
-    ACTIONS(3009), 1,
-      anon_sym___attribute__,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1354), 1,
+    STATE(1369), 1,
       sym__declarator,
-    STATE(1426), 1,
+    STATE(1430), 1,
       sym__abstract_declarator,
-    STATE(1446), 1,
+    STATE(1442), 1,
       sym_parameter_list,
-    STATE(1978), 1,
+    STATE(1992), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(3007), 2,
+    ACTIONS(2803), 2,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-    STATE(975), 2,
-      sym_type_qualifier,
-      aux_sym__type_definition_type_repeat1,
-    STATE(1445), 4,
-      sym_abstract_parenthesized_declarator,
-      sym_abstract_pointer_declarator,
-      sym_abstract_function_declarator,
-      sym_abstract_array_declarator,
-    STATE(1303), 5,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_function_declarator,
-      sym_array_declarator,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [36693] = 18,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1814), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(2741), 1,
-      sym_identifier,
-    ACTIONS(2745), 1,
-      anon_sym_STAR,
-    ACTIONS(2747), 1,
+    ACTIONS(2807), 2,
       anon_sym___attribute__,
-    ACTIONS(2753), 1,
-      anon_sym_LBRACK,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(1373), 1,
-      sym__declarator,
-    STATE(1419), 1,
-      sym__abstract_declarator,
-    STATE(1446), 1,
-      sym_parameter_list,
-    STATE(1978), 1,
-      sym_ms_based_modifier,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    ACTIONS(2743), 2,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-    STATE(975), 2,
+      anon_sym___attribute,
+    STATE(672), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    STATE(1445), 4,
+    STATE(1467), 4,
       sym_abstract_parenthesized_declarator,
       sym_abstract_pointer_declarator,
       sym_abstract_function_declarator,
       sym_abstract_array_declarator,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [36767] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1203), 2,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-    ACTIONS(1201), 33,
-      anon_sym___extension__,
-      anon_sym_extern,
-      anon_sym___attribute__,
-      anon_sym___declspec,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
-      anon_sym_enum,
-      anon_sym_struct,
-      anon_sym_union,
-      sym_identifier,
-  [36810] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1203), 2,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-    ACTIONS(1201), 33,
+    ACTIONS(49), 10,
       anon_sym___extension__,
-      anon_sym_extern,
-      anon_sym___attribute__,
-      anon_sym___declspec,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-      anon_sym_static,
-      anon_sym_auto,
-      anon_sym_register,
-      anon_sym_inline,
-      anon_sym___inline,
-      anon_sym___inline__,
-      anon_sym___forceinline,
-      anon_sym_thread_local,
-      anon_sym___thread,
       anon_sym_const,
       anon_sym_constexpr,
       anon_sym_volatile,
@@ -92932,23 +94248,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
-      anon_sym_enum,
-      anon_sym_struct,
-      anon_sym_union,
-      sym_identifier,
-  [36853] = 3,
+  [37660] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1207), 2,
+    ACTIONS(1172), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
-    ACTIONS(1205), 33,
+    ACTIONS(1170), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -92979,16 +94289,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [36896] = 3,
+  [37704] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1207), 2,
+    ACTIONS(1176), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
-    ACTIONS(1205), 33,
+    ACTIONS(1174), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -93019,53 +94330,73 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [36939] = 18,
+  [37748] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(47), 1,
+    ACTIONS(1176), 2,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
+    ACTIONS(1174), 34,
+      anon_sym___extension__,
+      anon_sym_extern,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym___declspec,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
       anon_sym_const,
-    ACTIONS(1949), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(1951), 1,
-      anon_sym_STAR,
-    ACTIONS(2749), 1,
-      sym_ms_restrict_modifier,
-    ACTIONS(2753), 1,
-      anon_sym_LBRACK,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(1001), 1,
-      sym_ms_unaligned_ptr_modifier,
-    STATE(1405), 1,
-      sym__abstract_declarator,
-    STATE(1446), 1,
-      sym_parameter_list,
-    ACTIONS(3013), 2,
-      sym_ms_unsigned_ptr_modifier,
-      sym_ms_signed_ptr_modifier,
-    ACTIONS(3015), 2,
-      anon_sym__unaligned,
-      anon_sym___unaligned,
-    ACTIONS(3017), 2,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(941), 2,
-      sym_ms_pointer_modifier,
-      aux_sym_pointer_declarator_repeat1,
-    STATE(1073), 2,
-      sym_type_qualifier,
-      aux_sym__type_definition_type_repeat1,
-    ACTIONS(2767), 3,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_COLON,
-    STATE(1445), 4,
-      sym_abstract_parenthesized_declarator,
-      sym_abstract_pointer_declarator,
-      sym_abstract_function_declarator,
-      sym_abstract_array_declarator,
-    ACTIONS(3011), 9,
+      sym_primitive_type,
+      anon_sym_enum,
+      anon_sym_struct,
+      anon_sym_union,
+      sym_identifier,
+  [37792] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3079), 2,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
+    ACTIONS(3077), 34,
       anon_sym___extension__,
+      anon_sym_extern,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym___declspec,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_static,
+      anon_sym_auto,
+      anon_sym_register,
+      anon_sym_inline,
+      anon_sym___inline,
+      anon_sym___inline__,
+      anon_sym___forceinline,
+      anon_sym_thread_local,
+      anon_sym___thread,
+      anon_sym_const,
       anon_sym_constexpr,
       anon_sym_volatile,
       anon_sym_restrict,
@@ -93074,16 +94405,24 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [37012] = 3,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      anon_sym_enum,
+      anon_sym_struct,
+      anon_sym_union,
+      sym_identifier,
+  [37836] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1235), 2,
+    ACTIONS(1200), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
-    ACTIONS(1233), 33,
+    ACTIONS(1198), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -93114,16 +94453,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [37055] = 3,
+  [37880] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1239), 2,
+    ACTIONS(1204), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
-    ACTIONS(1237), 33,
+    ACTIONS(1202), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -93154,16 +94494,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [37098] = 3,
+  [37924] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1239), 2,
+    ACTIONS(1204), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
-    ACTIONS(1237), 33,
+    ACTIONS(1202), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -93194,16 +94535,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [37141] = 3,
+  [37968] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1251), 2,
+    ACTIONS(1216), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
-    ACTIONS(1249), 33,
+    ACTIONS(1214), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -93234,16 +94576,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [37184] = 3,
+  [38012] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1191), 2,
+    ACTIONS(3083), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
-    ACTIONS(1189), 33,
+    ACTIONS(3081), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -93274,16 +94617,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [37227] = 3,
+  [38056] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1191), 2,
+    ACTIONS(3085), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
-    ACTIONS(1189), 33,
+    ACTIONS(2886), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -93314,16 +94658,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [37270] = 3,
+  [38100] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3021), 2,
+    ACTIONS(1156), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
-    ACTIONS(3019), 33,
+    ACTIONS(1154), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -93354,16 +94699,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [37313] = 3,
+  [38144] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3025), 2,
+    ACTIONS(1172), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
-    ACTIONS(3023), 33,
+    ACTIONS(1170), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -93394,16 +94740,17 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [37356] = 3,
+  [38188] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3027), 2,
+    ACTIONS(1156), 2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
-    ACTIONS(2907), 33,
+    ACTIONS(1154), 34,
       anon_sym___extension__,
       anon_sym_extern,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym___declspec,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -93434,52 +94781,96 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_struct,
       anon_sym_union,
       sym_identifier,
-  [37399] = 18,
+  [38232] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(47), 1,
+    STATE(998), 1,
+      sym_ms_unaligned_ptr_modifier,
+    ACTIONS(3094), 2,
+      anon_sym__unaligned,
+      anon_sym___unaligned,
+    STATE(950), 2,
+      sym_ms_pointer_modifier,
+      aux_sym_pointer_declarator_repeat1,
+    ACTIONS(3091), 3,
+      sym_ms_restrict_modifier,
+      sym_ms_unsigned_ptr_modifier,
+      sym_ms_signed_ptr_modifier,
+    ACTIONS(3089), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym_LBRACK,
+      anon_sym_COLON,
+    ACTIONS(3087), 21,
+      anon_sym___extension__,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym___based,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      sym_identifier,
+  [38283] = 18,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(49), 1,
       anon_sym_const,
-    ACTIONS(1949), 1,
+    ACTIONS(1948), 1,
       anon_sym_LPAREN2,
-    ACTIONS(1951), 1,
+    ACTIONS(1950), 1,
       anon_sym_STAR,
-    ACTIONS(2749), 1,
+    ACTIONS(2809), 1,
       sym_ms_restrict_modifier,
-    ACTIONS(2753), 1,
+    ACTIONS(2813), 1,
       anon_sym_LBRACK,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1001), 1,
+    STATE(998), 1,
       sym_ms_unaligned_ptr_modifier,
-    STATE(1419), 1,
+    STATE(1430), 1,
       sym__abstract_declarator,
-    STATE(1446), 1,
+    STATE(1442), 1,
       sym_parameter_list,
-    ACTIONS(3013), 2,
+    ACTIONS(3099), 2,
       sym_ms_unsigned_ptr_modifier,
       sym_ms_signed_ptr_modifier,
-    ACTIONS(3015), 2,
+    ACTIONS(3101), 2,
       anon_sym__unaligned,
       anon_sym___unaligned,
-    ACTIONS(3017), 2,
+    ACTIONS(3103), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(944), 2,
+    STATE(950), 2,
       sym_ms_pointer_modifier,
       aux_sym_pointer_declarator_repeat1,
-    STATE(1087), 2,
+    STATE(1091), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(2743), 3,
+    ACTIONS(2803), 3,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_COLON,
-    STATE(1445), 4,
+    STATE(1467), 4,
       sym_abstract_parenthesized_declarator,
       sym_abstract_pointer_declarator,
       sym_abstract_function_declarator,
       sym_abstract_array_declarator,
-    ACTIONS(3011), 9,
+    ACTIONS(3097), 9,
       anon_sym___extension__,
       anon_sym_constexpr,
       anon_sym_volatile,
@@ -93489,50 +94880,53 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [37472] = 16,
+  [38356] = 18,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(2741), 1,
-      sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(49), 1,
+      anon_sym_const,
+    ACTIONS(1948), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3031), 1,
+    ACTIONS(1950), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    ACTIONS(2809), 1,
+      sym_ms_restrict_modifier,
+    ACTIONS(2813), 1,
+      anon_sym_LBRACK,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1001), 1,
+    STATE(998), 1,
       sym_ms_unaligned_ptr_modifier,
-    STATE(1373), 1,
-      sym__declarator,
-    STATE(1978), 1,
-      sym_ms_based_modifier,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    ACTIONS(2751), 2,
+    STATE(1418), 1,
+      sym__abstract_declarator,
+    STATE(1442), 1,
+      sym_parameter_list,
+    ACTIONS(3099), 2,
+      sym_ms_unsigned_ptr_modifier,
+      sym_ms_signed_ptr_modifier,
+    ACTIONS(3101), 2,
       anon_sym__unaligned,
       anon_sym___unaligned,
-    STATE(950), 2,
+    ACTIONS(3103), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(951), 2,
       sym_ms_pointer_modifier,
       aux_sym_pointer_declarator_repeat1,
-    STATE(1105), 2,
+    STATE(1085), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(2749), 3,
-      sym_ms_restrict_modifier,
-      sym_ms_unsigned_ptr_modifier,
-      sym_ms_signed_ptr_modifier,
-    STATE(1303), 5,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_function_declarator,
-      sym_array_declarator,
-    ACTIONS(47), 10,
+    ACTIONS(2853), 3,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_COLON,
+    STATE(1467), 4,
+      sym_abstract_parenthesized_declarator,
+      sym_abstract_pointer_declarator,
+      sym_abstract_function_declarator,
+      sym_abstract_array_declarator,
+    ACTIONS(3097), 9,
       anon_sym___extension__,
-      anon_sym_const,
       anon_sym_constexpr,
       anon_sym_volatile,
       anon_sym_restrict,
@@ -93541,49 +94935,49 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [37540] = 17,
+  [38429] = 17,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1814), 1,
+    ACTIONS(1823), 1,
       anon_sym_LPAREN2,
-    ACTIONS(1816), 1,
+    ACTIONS(1825), 1,
       anon_sym_STAR,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(2753), 1,
+    ACTIONS(2813), 1,
       anon_sym_LBRACK,
-    ACTIONS(3007), 1,
+    ACTIONS(3071), 1,
       anon_sym_RPAREN,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1282), 1,
+    STATE(1301), 1,
       sym__declarator,
-    STATE(1426), 1,
+    STATE(1429), 1,
       sym__abstract_declarator,
-    STATE(1446), 1,
+    STATE(1442), 1,
       sym_parameter_list,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(975), 2,
+    STATE(672), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    STATE(1445), 4,
+    STATE(1467), 4,
       sym_abstract_parenthesized_declarator,
       sym_abstract_pointer_declarator,
       sym_abstract_function_declarator,
       sym_abstract_array_declarator,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -93594,36 +94988,49 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [37610] = 7,
+  [38499] = 16,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(1001), 1,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(2801), 1,
+      sym_identifier,
+    ACTIONS(3105), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3107), 1,
+      anon_sym_STAR,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(998), 1,
       sym_ms_unaligned_ptr_modifier,
-    ACTIONS(3040), 2,
+    STATE(1299), 1,
+      sym__declarator,
+    STATE(1967), 1,
+      sym_ms_based_modifier,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    ACTIONS(2811), 2,
       anon_sym__unaligned,
       anon_sym___unaligned,
-    STATE(944), 2,
+    STATE(955), 2,
       sym_ms_pointer_modifier,
       aux_sym_pointer_declarator_repeat1,
-    ACTIONS(3037), 3,
+    STATE(1117), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(2809), 3,
       sym_ms_restrict_modifier,
       sym_ms_unsigned_ptr_modifier,
       sym_ms_signed_ptr_modifier,
-    ACTIONS(3035), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_STAR,
-      anon_sym_LBRACK,
-      anon_sym_COLON,
-    ACTIONS(3033), 20,
+    STATE(1311), 5,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_function_declarator,
+      sym_array_declarator,
+    ACTIONS(49), 10,
       anon_sym___extension__,
-      anon_sym___attribute__,
-      anon_sym___based,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
       anon_sym_const,
       anon_sym_constexpr,
       anon_sym_volatile,
@@ -93633,52 +95040,48 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
-      sym_identifier,
-  [37660] = 16,
+  [38567] = 16,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1001), 1,
+    STATE(998), 1,
       sym_ms_unaligned_ptr_modifier,
-    STATE(1282), 1,
+    STATE(1301), 1,
       sym__declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(2751), 2,
+    ACTIONS(2811), 2,
       anon_sym__unaligned,
       anon_sym___unaligned,
-    STATE(944), 2,
+    STATE(950), 2,
       sym_ms_pointer_modifier,
       aux_sym_pointer_declarator_repeat1,
-    STATE(1099), 2,
+    STATE(1114), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(2749), 3,
+    ACTIONS(2809), 3,
       sym_ms_restrict_modifier,
       sym_ms_unsigned_ptr_modifier,
       sym_ms_signed_ptr_modifier,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -93689,48 +95092,48 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [37728] = 16,
+  [38635] = 16,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3045), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3047), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3049), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1001), 1,
+    STATE(998), 1,
       sym_ms_unaligned_ptr_modifier,
-    STATE(1312), 1,
-      sym__field_declarator,
-    STATE(1788), 1,
+    STATE(1302), 1,
+      sym__declarator,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(2751), 2,
+    ACTIONS(2811), 2,
       anon_sym__unaligned,
       anon_sym___unaligned,
-    STATE(951), 2,
+    STATE(966), 2,
       sym_ms_pointer_modifier,
       aux_sym_pointer_declarator_repeat1,
-    STATE(1101), 2,
+    STATE(1113), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(2749), 3,
+    ACTIONS(2809), 3,
       sym_ms_restrict_modifier,
       sym_ms_unsigned_ptr_modifier,
       sym_ms_signed_ptr_modifier,
-    STATE(1384), 5,
-      sym_parenthesized_field_declarator,
-      sym_attributed_field_declarator,
-      sym_pointer_field_declarator,
-      sym_function_field_declarator,
-      sym_array_field_declarator,
-    ACTIONS(47), 10,
+    STATE(1311), 5,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_function_declarator,
+      sym_array_declarator,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -93741,48 +95144,49 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [37796] = 16,
+  [38703] = 17,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(3045), 1,
-      sym_identifier,
-    ACTIONS(3047), 1,
+    ACTIONS(1823), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3049), 1,
+    ACTIONS(1825), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(2801), 1,
+      sym_identifier,
+    ACTIONS(2803), 1,
+      anon_sym_RPAREN,
+    ACTIONS(2813), 1,
+      anon_sym_LBRACK,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1001), 1,
-      sym_ms_unaligned_ptr_modifier,
-    STATE(1331), 1,
-      sym__field_declarator,
-    STATE(1788), 1,
-      sym_ms_based_modifier,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    ACTIONS(2751), 2,
-      anon_sym__unaligned,
-      anon_sym___unaligned,
-    STATE(956), 2,
-      sym_ms_pointer_modifier,
-      aux_sym_pointer_declarator_repeat1,
-    STATE(1104), 2,
-      sym_type_qualifier,
-      aux_sym__type_definition_type_repeat1,
-    ACTIONS(2749), 3,
-      sym_ms_restrict_modifier,
-      sym_ms_unsigned_ptr_modifier,
-      sym_ms_signed_ptr_modifier,
-    STATE(1384), 5,
-      sym_parenthesized_field_declarator,
-      sym_attributed_field_declarator,
-      sym_pointer_field_declarator,
-      sym_function_field_declarator,
-      sym_array_field_declarator,
-    ACTIONS(47), 10,
+    STATE(1299), 1,
+      sym__declarator,
+    STATE(1430), 1,
+      sym__abstract_declarator,
+    STATE(1442), 1,
+      sym_parameter_list,
+    STATE(1967), 1,
+      sym_ms_based_modifier,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(672), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    STATE(1467), 4,
+      sym_abstract_parenthesized_declarator,
+      sym_abstract_pointer_declarator,
+      sym_abstract_function_declarator,
+      sym_abstract_array_declarator,
+    STATE(1311), 5,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_function_declarator,
+      sym_array_declarator,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -93793,48 +95197,48 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [37864] = 16,
+  [38773] = 16,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3031), 1,
+    ACTIONS(3109), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1001), 1,
+    STATE(998), 1,
       sym_ms_unaligned_ptr_modifier,
-    STATE(1373), 1,
+    STATE(1370), 1,
       sym__declarator,
-    STATE(1978), 1,
+    STATE(1992), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(2751), 2,
+    ACTIONS(2811), 2,
       anon_sym__unaligned,
       anon_sym___unaligned,
-    STATE(944), 2,
+    STATE(950), 2,
       sym_ms_pointer_modifier,
       aux_sym_pointer_declarator_repeat1,
-    STATE(1105), 2,
+    STATE(1115), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(2749), 3,
+    ACTIONS(2809), 3,
       sym_ms_restrict_modifier,
       sym_ms_unsigned_ptr_modifier,
       sym_ms_signed_ptr_modifier,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -93845,49 +95249,48 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [37932] = 17,
+  [38841] = 16,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1814), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(1816), 1,
-      anon_sym_STAR,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(3111), 1,
       sym_identifier,
-    ACTIONS(2743), 1,
-      anon_sym_RPAREN,
-    ACTIONS(2753), 1,
-      anon_sym_LBRACK,
-    STATE(710), 1,
+    ACTIONS(3113), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3115), 1,
+      anon_sym_STAR,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1283), 1,
-      sym__declarator,
-    STATE(1419), 1,
-      sym__abstract_declarator,
-    STATE(1446), 1,
-      sym_parameter_list,
-    STATE(1846), 1,
+    STATE(998), 1,
+      sym_ms_unaligned_ptr_modifier,
+    STATE(1330), 1,
+      sym__field_declarator,
+    STATE(1953), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(975), 2,
+    ACTIONS(2811), 2,
+      anon_sym__unaligned,
+      anon_sym___unaligned,
+    STATE(961), 2,
+      sym_ms_pointer_modifier,
+      aux_sym_pointer_declarator_repeat1,
+    STATE(1118), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    STATE(1445), 4,
-      sym_abstract_parenthesized_declarator,
-      sym_abstract_pointer_declarator,
-      sym_abstract_function_declarator,
-      sym_abstract_array_declarator,
-    STATE(1303), 5,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_function_declarator,
-      sym_array_declarator,
-    ACTIONS(47), 10,
+    ACTIONS(2809), 3,
+      sym_ms_restrict_modifier,
+      sym_ms_unsigned_ptr_modifier,
+      sym_ms_signed_ptr_modifier,
+    STATE(1395), 5,
+      sym_parenthesized_field_declarator,
+      sym_attributed_field_declarator,
+      sym_pointer_field_declarator,
+      sym_function_field_declarator,
+      sym_array_field_declarator,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -93898,48 +95301,48 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [38002] = 16,
+  [38909] = 16,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3031), 1,
+    ACTIONS(3109), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1001), 1,
+    STATE(998), 1,
       sym_ms_unaligned_ptr_modifier,
-    STATE(1354), 1,
+    STATE(1369), 1,
       sym__declarator,
-    STATE(1978), 1,
+    STATE(1992), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(2751), 2,
+    ACTIONS(2811), 2,
       anon_sym__unaligned,
       anon_sym___unaligned,
-    STATE(944), 2,
+    STATE(950), 2,
       sym_ms_pointer_modifier,
       aux_sym_pointer_declarator_repeat1,
-    STATE(1098), 2,
+    STATE(1112), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(2749), 3,
+    ACTIONS(2809), 3,
       sym_ms_restrict_modifier,
       sym_ms_unsigned_ptr_modifier,
       sym_ms_signed_ptr_modifier,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -93950,48 +95353,48 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [38070] = 16,
+  [38977] = 16,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3045), 1,
+    ACTIONS(3111), 1,
       sym_identifier,
-    ACTIONS(3047), 1,
+    ACTIONS(3113), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3049), 1,
+    ACTIONS(3115), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1001), 1,
+    STATE(998), 1,
       sym_ms_unaligned_ptr_modifier,
-    STATE(1331), 1,
+    STATE(1327), 1,
       sym__field_declarator,
-    STATE(1788), 1,
+    STATE(1953), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(2751), 2,
+    ACTIONS(2811), 2,
       anon_sym__unaligned,
       anon_sym___unaligned,
-    STATE(944), 2,
+    STATE(950), 2,
       sym_ms_pointer_modifier,
       aux_sym_pointer_declarator_repeat1,
-    STATE(1104), 2,
+    STATE(1110), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(2749), 3,
+    ACTIONS(2809), 3,
       sym_ms_restrict_modifier,
       sym_ms_unsigned_ptr_modifier,
       sym_ms_signed_ptr_modifier,
-    STATE(1384), 5,
+    STATE(1395), 5,
       sym_parenthesized_field_declarator,
       sym_attributed_field_declarator,
       sym_pointer_field_declarator,
       sym_function_field_declarator,
       sym_array_field_declarator,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -94002,48 +95405,48 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [38138] = 16,
+  [39045] = 16,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(3111), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3113), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3115), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1001), 1,
+    STATE(998), 1,
       sym_ms_unaligned_ptr_modifier,
-    STATE(1283), 1,
-      sym__declarator,
-    STATE(1846), 1,
+    STATE(1327), 1,
+      sym__field_declarator,
+    STATE(1953), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(2751), 2,
+    ACTIONS(2811), 2,
       anon_sym__unaligned,
       anon_sym___unaligned,
-    STATE(944), 2,
+    STATE(965), 2,
       sym_ms_pointer_modifier,
       aux_sym_pointer_declarator_repeat1,
-    STATE(1102), 2,
+    STATE(1110), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(2749), 3,
+    ACTIONS(2809), 3,
       sym_ms_restrict_modifier,
       sym_ms_unsigned_ptr_modifier,
       sym_ms_signed_ptr_modifier,
-    STATE(1303), 5,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_function_declarator,
-      sym_array_declarator,
-    ACTIONS(47), 10,
+    STATE(1395), 5,
+      sym_parenthesized_field_declarator,
+      sym_attributed_field_declarator,
+      sym_pointer_field_declarator,
+      sym_function_field_declarator,
+      sym_array_field_declarator,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -94054,48 +95457,48 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [38206] = 16,
+  [39113] = 16,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3109), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1001), 1,
+    STATE(998), 1,
       sym_ms_unaligned_ptr_modifier,
-    STATE(1283), 1,
+    STATE(1369), 1,
       sym__declarator,
-    STATE(1846), 1,
+    STATE(1992), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(2751), 2,
+    ACTIONS(2811), 2,
       anon_sym__unaligned,
       anon_sym___unaligned,
-    STATE(945), 2,
+    STATE(958), 2,
       sym_ms_pointer_modifier,
       aux_sym_pointer_declarator_repeat1,
-    STATE(1102), 2,
+    STATE(1112), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(2749), 3,
+    ACTIONS(2809), 3,
       sym_ms_restrict_modifier,
       sym_ms_unsigned_ptr_modifier,
       sym_ms_signed_ptr_modifier,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -94106,48 +95509,48 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [38274] = 16,
+  [39181] = 16,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3109), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1001), 1,
+    STATE(998), 1,
       sym_ms_unaligned_ptr_modifier,
-    STATE(1278), 1,
+    STATE(1368), 1,
       sym__declarator,
-    STATE(1846), 1,
+    STATE(1992), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(2751), 2,
+    ACTIONS(2811), 2,
       anon_sym__unaligned,
       anon_sym___unaligned,
-    STATE(952), 2,
+    STATE(960), 2,
       sym_ms_pointer_modifier,
       aux_sym_pointer_declarator_repeat1,
-    STATE(1097), 2,
+    STATE(1111), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(2749), 3,
+    ACTIONS(2809), 3,
       sym_ms_restrict_modifier,
       sym_ms_unsigned_ptr_modifier,
       sym_ms_signed_ptr_modifier,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -94158,48 +95561,48 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [38342] = 16,
+  [39249] = 16,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(3111), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3113), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3031), 1,
+    ACTIONS(3115), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1001), 1,
+    STATE(998), 1,
       sym_ms_unaligned_ptr_modifier,
-    STATE(1362), 1,
-      sym__declarator,
-    STATE(1978), 1,
+    STATE(1326), 1,
+      sym__field_declarator,
+    STATE(1953), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(2751), 2,
+    ACTIONS(2811), 2,
       anon_sym__unaligned,
       anon_sym___unaligned,
-    STATE(948), 2,
+    STATE(950), 2,
       sym_ms_pointer_modifier,
       aux_sym_pointer_declarator_repeat1,
-    STATE(1106), 2,
+    STATE(1109), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(2749), 3,
+    ACTIONS(2809), 3,
       sym_ms_restrict_modifier,
       sym_ms_unsigned_ptr_modifier,
       sym_ms_signed_ptr_modifier,
-    STATE(1303), 5,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_function_declarator,
-      sym_array_declarator,
-    ACTIONS(47), 10,
+    STATE(1395), 5,
+      sym_parenthesized_field_declarator,
+      sym_attributed_field_declarator,
+      sym_pointer_field_declarator,
+      sym_function_field_declarator,
+      sym_array_field_declarator,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -94210,48 +95613,48 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [38410] = 16,
+  [39317] = 16,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3045), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3047), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3049), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1001), 1,
+    STATE(998), 1,
       sym_ms_unaligned_ptr_modifier,
-    STATE(1329), 1,
-      sym__field_declarator,
-    STATE(1788), 1,
+    STATE(1299), 1,
+      sym__declarator,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(2751), 2,
+    ACTIONS(2811), 2,
       anon_sym__unaligned,
       anon_sym___unaligned,
-    STATE(944), 2,
+    STATE(950), 2,
       sym_ms_pointer_modifier,
       aux_sym_pointer_declarator_repeat1,
-    STATE(1096), 2,
+    STATE(1117), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(2749), 3,
+    ACTIONS(2809), 3,
       sym_ms_restrict_modifier,
       sym_ms_unsigned_ptr_modifier,
       sym_ms_signed_ptr_modifier,
-    STATE(1384), 5,
-      sym_parenthesized_field_declarator,
-      sym_attributed_field_declarator,
-      sym_pointer_field_declarator,
-      sym_function_field_declarator,
-      sym_array_field_declarator,
-    ACTIONS(47), 10,
+    STATE(1311), 5,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_function_declarator,
+      sym_array_declarator,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -94262,298 +95665,243 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [38478] = 21,
+  [39385] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3053), 1,
-      aux_sym_preproc_elif_token1,
-    ACTIONS(3059), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3061), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3063), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(3065), 1,
-      anon_sym_PIPE,
-    ACTIONS(3067), 1,
-      anon_sym_CARET,
-    ACTIONS(3069), 1,
-      anon_sym_AMP,
-    ACTIONS(3079), 1,
-      anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3055), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3057), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3071), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3073), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3075), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3077), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(3051), 6,
-      anon_sym_COMMA,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      sym_identifier,
-  [38555] = 12,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3059), 1,
-      anon_sym_SLASH,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(3055), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(3057), 2,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-    ACTIONS(3077), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2462), 5,
-      aux_sym_preproc_elif_token1,
+    ACTIONS(2469), 3,
       anon_sym_PIPE,
       anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(2464), 14,
+      anon_sym___attribute,
+    ACTIONS(2471), 12,
       anon_sym_COMMA,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
+      anon_sym_RPAREN,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
       anon_sym_CARET,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_RBRACE,
+      anon_sym_COLON,
       anon_sym_QMARK,
-      sym_identifier,
-  [38614] = 21,
+  [39448] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2815), 1,
+    ACTIONS(3131), 1,
       aux_sym_preproc_elif_token1,
-    ACTIONS(3059), 1,
+    ACTIONS(3137), 1,
       anon_sym_SLASH,
-    ACTIONS(3061), 1,
+    ACTIONS(3139), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3063), 1,
+    ACTIONS(3141), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3065), 1,
+    ACTIONS(3143), 1,
       anon_sym_PIPE,
-    ACTIONS(3067), 1,
+    ACTIONS(3145), 1,
       anon_sym_CARET,
-    ACTIONS(3069), 1,
+    ACTIONS(3147), 1,
       anon_sym_AMP,
-    ACTIONS(3079), 1,
+    ACTIONS(3157), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3055), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3133), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3057), 2,
+    ACTIONS(3135), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3071), 2,
+    ACTIONS(3149), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3073), 2,
+    ACTIONS(3151), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3075), 2,
+    ACTIONS(3153), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3077), 2,
+    ACTIONS(3155), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2813), 6,
+    ACTIONS(3129), 6,
       anon_sym_COMMA,
       aux_sym_preproc_if_token2,
       aux_sym_preproc_else_token1,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
       sym_identifier,
-  [38691] = 21,
+  [39525] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2819), 1,
-      aux_sym_preproc_elif_token1,
-    ACTIONS(3059), 1,
+    ACTIONS(2930), 1,
+      anon_sym___attribute,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3061), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3063), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3065), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3067), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3069), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3079), 1,
-      anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3055), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3057), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3071), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3073), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3075), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3077), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2817), 6,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2928), 7,
       anon_sym_COMMA,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      sym_identifier,
-  [38768] = 21,
+      anon_sym_RPAREN,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_RBRACE,
+      anon_sym_COLON,
+      anon_sym_QMARK,
+  [39600] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2787), 1,
+    ACTIONS(2946), 1,
       aux_sym_preproc_elif_token1,
-    ACTIONS(3059), 1,
+    ACTIONS(3137), 1,
       anon_sym_SLASH,
-    ACTIONS(3061), 1,
+    ACTIONS(3139), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3063), 1,
+    ACTIONS(3141), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3065), 1,
+    ACTIONS(3143), 1,
       anon_sym_PIPE,
-    ACTIONS(3067), 1,
+    ACTIONS(3145), 1,
       anon_sym_CARET,
-    ACTIONS(3069), 1,
+    ACTIONS(3147), 1,
       anon_sym_AMP,
-    ACTIONS(3079), 1,
+    ACTIONS(3157), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3055), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3133), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3057), 2,
+    ACTIONS(3135), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3071), 2,
+    ACTIONS(3149), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3073), 2,
+    ACTIONS(3151), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3075), 2,
+    ACTIONS(3153), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3077), 2,
+    ACTIONS(3155), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2785), 6,
+    ACTIONS(2944), 6,
       anon_sym_COMMA,
       aux_sym_preproc_if_token2,
       aux_sym_preproc_else_token1,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
       sym_identifier,
-  [38845] = 10,
+  [39677] = 10,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3059), 1,
+    ACTIONS(3137), 1,
       anon_sym_SLASH,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3057), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3135), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(2462), 7,
+    ACTIONS(2469), 7,
       aux_sym_preproc_elif_token1,
       anon_sym_DASH,
       anon_sym_PLUS,
@@ -94561,7 +95909,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2464), 16,
+    ACTIONS(2471), 16,
       anon_sym_COMMA,
       aux_sym_preproc_if_token2,
       aux_sym_preproc_else_token1,
@@ -94578,52 +95926,52 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT_GT,
       anon_sym_QMARK,
       sym_identifier,
-  [38900] = 19,
+  [39732] = 19,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2462), 1,
+    ACTIONS(2469), 1,
       aux_sym_preproc_elif_token1,
-    ACTIONS(3059), 1,
+    ACTIONS(3137), 1,
       anon_sym_SLASH,
-    ACTIONS(3063), 1,
+    ACTIONS(3141), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3065), 1,
+    ACTIONS(3143), 1,
       anon_sym_PIPE,
-    ACTIONS(3067), 1,
+    ACTIONS(3145), 1,
       anon_sym_CARET,
-    ACTIONS(3069), 1,
+    ACTIONS(3147), 1,
       anon_sym_AMP,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3055), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3133), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3057), 2,
+    ACTIONS(3135), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3071), 2,
+    ACTIONS(3149), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3073), 2,
+    ACTIONS(3151), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3075), 2,
+    ACTIONS(3153), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3077), 2,
+    ACTIONS(3155), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2464), 8,
+    ACTIONS(2471), 8,
       anon_sym_COMMA,
       aux_sym_preproc_if_token2,
       aux_sym_preproc_else_token1,
@@ -94632,50 +95980,50 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PIPE_PIPE,
       anon_sym_QMARK,
       sym_identifier,
-  [38973] = 18,
+  [39805] = 18,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2462), 1,
+    ACTIONS(2469), 1,
       aux_sym_preproc_elif_token1,
-    ACTIONS(3059), 1,
+    ACTIONS(3137), 1,
       anon_sym_SLASH,
-    ACTIONS(3065), 1,
+    ACTIONS(3143), 1,
       anon_sym_PIPE,
-    ACTIONS(3067), 1,
+    ACTIONS(3145), 1,
       anon_sym_CARET,
-    ACTIONS(3069), 1,
+    ACTIONS(3147), 1,
       anon_sym_AMP,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3055), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3133), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3057), 2,
+    ACTIONS(3135), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3071), 2,
+    ACTIONS(3149), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3073), 2,
+    ACTIONS(3151), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3075), 2,
+    ACTIONS(3153), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3077), 2,
+    ACTIONS(3155), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2464), 9,
+    ACTIONS(2471), 9,
       anon_sym_COMMA,
       aux_sym_preproc_if_token2,
       aux_sym_preproc_else_token1,
@@ -94685,49 +96033,49 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_AMP,
       anon_sym_QMARK,
       sym_identifier,
-  [39044] = 17,
+  [39876] = 17,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3059), 1,
+    ACTIONS(3137), 1,
       anon_sym_SLASH,
-    ACTIONS(3067), 1,
+    ACTIONS(3145), 1,
       anon_sym_CARET,
-    ACTIONS(3069), 1,
+    ACTIONS(3147), 1,
       anon_sym_AMP,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2462), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2469), 2,
       aux_sym_preproc_elif_token1,
       anon_sym_PIPE,
-    ACTIONS(3055), 2,
+    ACTIONS(3133), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3057), 2,
+    ACTIONS(3135), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3071), 2,
+    ACTIONS(3149), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3073), 2,
+    ACTIONS(3151), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3075), 2,
+    ACTIONS(3153), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3077), 2,
+    ACTIONS(3155), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2464), 9,
+    ACTIONS(2471), 9,
       anon_sym_COMMA,
       aux_sym_preproc_if_token2,
       aux_sym_preproc_else_token1,
@@ -94737,102 +96085,97 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_AMP,
       anon_sym_QMARK,
       sym_identifier,
-  [39113] = 20,
+  [39945] = 16,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2825), 1,
-      aux_sym_preproc_elif_token1,
-    ACTIONS(3059), 1,
+    ACTIONS(3137), 1,
       anon_sym_SLASH,
-    ACTIONS(3061), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3063), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(3065), 1,
-      anon_sym_PIPE,
-    ACTIONS(3067), 1,
-      anon_sym_CARET,
-    ACTIONS(3069), 1,
+    ACTIONS(3147), 1,
       anon_sym_AMP,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3055), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2469), 2,
+      aux_sym_preproc_elif_token1,
+      anon_sym_PIPE,
+    ACTIONS(3133), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3057), 2,
+    ACTIONS(3135), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3071), 2,
+    ACTIONS(3149), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3073), 2,
+    ACTIONS(3151), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3075), 2,
+    ACTIONS(3153), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3077), 2,
+    ACTIONS(3155), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2823), 7,
+    ACTIONS(2471), 10,
       anon_sym_COMMA,
       aux_sym_preproc_if_token2,
       aux_sym_preproc_else_token1,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_CARET,
       anon_sym_QMARK,
       sym_identifier,
-  [39188] = 16,
+  [40012] = 15,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3059), 1,
+    ACTIONS(3137), 1,
       anon_sym_SLASH,
-    ACTIONS(3069), 1,
-      anon_sym_AMP,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2462), 2,
-      aux_sym_preproc_elif_token1,
-      anon_sym_PIPE,
-    ACTIONS(3055), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3133), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3057), 2,
+    ACTIONS(3135), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3071), 2,
+    ACTIONS(3149), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3073), 2,
+    ACTIONS(3151), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3075), 2,
+    ACTIONS(3153), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3077), 2,
+    ACTIONS(3155), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2464), 10,
+    ACTIONS(2469), 3,
+      aux_sym_preproc_elif_token1,
+      anon_sym_PIPE,
+      anon_sym_AMP,
+    ACTIONS(2471), 10,
       anon_sym_COMMA,
       aux_sym_preproc_if_token2,
       aux_sym_preproc_else_token1,
@@ -94843,46 +96186,43 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_CARET,
       anon_sym_QMARK,
       sym_identifier,
-  [39255] = 15,
+  [40077] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3059), 1,
+    ACTIONS(3137), 1,
       anon_sym_SLASH,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3055), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3133), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3057), 2,
+    ACTIONS(3135), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3071), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3073), 2,
+    ACTIONS(3151), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3075), 2,
+    ACTIONS(3153), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3077), 2,
+    ACTIONS(3155), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2462), 3,
+    ACTIONS(2469), 3,
       aux_sym_preproc_elif_token1,
       anon_sym_PIPE,
       anon_sym_AMP,
-    ACTIONS(2464), 10,
+    ACTIONS(2471), 12,
       anon_sym_COMMA,
       aux_sym_preproc_if_token2,
       aux_sym_preproc_else_token1,
@@ -94891,45 +96231,43 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
       anon_sym_CARET,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
       anon_sym_QMARK,
       sym_identifier,
-  [39320] = 14,
+  [40140] = 12,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3059), 1,
+    ACTIONS(3137), 1,
       anon_sym_SLASH,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3055), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3133), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3057), 2,
+    ACTIONS(3135), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3073), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(3075), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(3077), 2,
+    ACTIONS(3155), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2462), 3,
+    ACTIONS(2469), 5,
       aux_sym_preproc_elif_token1,
       anon_sym_PIPE,
       anon_sym_AMP,
-    ACTIONS(2464), 12,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(2471), 14,
       anon_sym_COMMA,
       aux_sym_preproc_if_token2,
       aux_sym_preproc_else_token1,
@@ -94940,38 +96278,40 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_CARET,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
       anon_sym_QMARK,
       sym_identifier,
-  [39383] = 11,
+  [40199] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3059), 1,
+    ACTIONS(3137), 1,
       anon_sym_SLASH,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3055), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3133), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3057), 2,
+    ACTIONS(3135), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(2462), 5,
+    ACTIONS(2469), 5,
       aux_sym_preproc_elif_token1,
       anon_sym_PIPE,
       anon_sym_AMP,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2464), 16,
+    ACTIONS(2471), 16,
       anon_sym_COMMA,
       aux_sym_preproc_if_token2,
       aux_sym_preproc_else_token1,
@@ -94988,834 +96328,913 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT_GT,
       anon_sym_QMARK,
       sym_identifier,
-  [39440] = 15,
+  [40256] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(51), 1,
-      sym_primitive_type,
-    ACTIONS(55), 1,
-      anon_sym_struct,
-    ACTIONS(57), 1,
-      anon_sym_union,
-    ACTIONS(1947), 1,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(2913), 1,
+      aux_sym_preproc_elif_token1,
+    ACTIONS(3137), 1,
+      anon_sym_SLASH,
+    ACTIONS(3139), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3141), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3143), 1,
+      anon_sym_PIPE,
+    ACTIONS(3145), 1,
+      anon_sym_CARET,
+    ACTIONS(3147), 1,
+      anon_sym_AMP,
+    ACTIONS(3157), 1,
+      anon_sym_QMARK,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3133), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(3135), 2,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+    ACTIONS(3149), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3151), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3153), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(3155), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(2901), 6,
+      anon_sym_COMMA,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
       sym_identifier,
-    ACTIONS(3081), 1,
-      anon_sym_enum,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(1095), 1,
-      sym_type_specifier,
-    STATE(1108), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    STATE(1850), 1,
-      sym_type_descriptor,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    STATE(998), 2,
-      sym_type_qualifier,
-      aux_sym__type_definition_type_repeat1,
-    ACTIONS(1713), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    STATE(748), 5,
-      sym_sized_type_specifier,
-      sym_enum_specifier,
-      sym_struct_specifier,
-      sym_union_specifier,
-      sym_macro_type_specifier,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [39504] = 19,
+  [40333] = 21,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(2974), 1,
+      aux_sym_preproc_elif_token1,
+    ACTIONS(3137), 1,
+      anon_sym_SLASH,
+    ACTIONS(3139), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3141), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3143), 1,
+      anon_sym_PIPE,
+    ACTIONS(3145), 1,
+      anon_sym_CARET,
+    ACTIONS(3147), 1,
+      anon_sym_AMP,
+    ACTIONS(3157), 1,
+      anon_sym_QMARK,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3133), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(3135), 2,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+    ACTIONS(3149), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3151), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3153), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(3155), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(2972), 6,
+      anon_sym_COMMA,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      sym_identifier,
+  [40410] = 21,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(2974), 1,
+      anon_sym___attribute,
+    ACTIONS(3121), 1,
+      anon_sym_SLASH,
+    ACTIONS(3159), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3161), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3163), 1,
+      anon_sym_PIPE,
+    ACTIONS(3165), 1,
+      anon_sym_CARET,
+    ACTIONS(3167), 1,
+      anon_sym_AMP,
+    ACTIONS(3171), 1,
+      anon_sym_QMARK,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(3119), 2,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+    ACTIONS(3123), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3125), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(3127), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2972), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_RBRACE,
+      anon_sym_COLON,
+  [40487] = 10,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3121), 1,
+      anon_sym_SLASH,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3119), 2,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+    ACTIONS(2469), 7,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_PIPE,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym___attribute,
+    ACTIONS(2471), 16,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_CARET,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_RBRACE,
+      anon_sym_COLON,
+      anon_sym_QMARK,
+  [40542] = 19,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(2469), 1,
+      anon_sym___attribute,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2823), 7,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2471), 8,
       anon_sym_COMMA,
       anon_sym_RPAREN,
+      anon_sym_PIPE_PIPE,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_RBRACE,
       anon_sym_COLON,
       anon_sym_QMARK,
-  [39576] = 10,
+  [40615] = 18,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(2469), 1,
+      anon_sym___attribute,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    STATE(673), 1,
+    ACTIONS(3163), 1,
+      anon_sym_PIPE,
+    ACTIONS(3165), 1,
+      anon_sym_CARET,
+    ACTIONS(3167), 1,
+      anon_sym_AMP,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3085), 2,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-    ACTIONS(2462), 6,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-      anon_sym_PIPE,
-      anon_sym_AMP,
+    ACTIONS(3119), 2,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2464), 16,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2471), 9,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_RBRACE,
       anon_sym_COLON,
       anon_sym_QMARK,
-  [39630] = 15,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(51), 1,
-      sym_primitive_type,
-    ACTIONS(55), 1,
-      anon_sym_struct,
-    ACTIONS(57), 1,
-      anon_sym_union,
-    ACTIONS(1715), 1,
-      anon_sym_enum,
-    ACTIONS(1947), 1,
-      sym_identifier,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(1095), 1,
-      sym_type_specifier,
-    STATE(1108), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    STATE(1885), 1,
-      sym_type_descriptor,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    STATE(1004), 2,
-      sym_type_qualifier,
-      aux_sym__type_definition_type_repeat1,
-    ACTIONS(1713), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    STATE(748), 5,
-      sym_sized_type_specifier,
-      sym_enum_specifier,
-      sym_struct_specifier,
-      sym_union_specifier,
-      sym_macro_type_specifier,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [39694] = 7,
-    ACTIONS(3), 1,
-      sym_comment,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    ACTIONS(3114), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    STATE(975), 2,
-      sym_type_qualifier,
-      aux_sym__type_definition_type_repeat1,
-    ACTIONS(3109), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_STAR,
-      anon_sym_LBRACK,
-      anon_sym_COLON,
-    ACTIONS(3111), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-    ACTIONS(3107), 11,
-      anon_sym___attribute__,
-      anon_sym___based,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-      sym_primitive_type,
-      anon_sym_enum,
-      anon_sym_struct,
-      anon_sym_union,
-      sym_identifier,
-  [39742] = 11,
+  [40686] = 17,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    STATE(673), 1,
+    ACTIONS(3165), 1,
+      anon_sym_CARET,
+    ACTIONS(3167), 1,
+      anon_sym_AMP,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2469), 2,
+      anon_sym_PIPE,
+      anon_sym___attribute,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(2462), 4,
-      anon_sym_PIPE,
-      anon_sym_AMP,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2464), 16,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2471), 9,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_RBRACE,
       anon_sym_COLON,
       anon_sym_QMARK,
-  [39798] = 15,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(51), 1,
-      sym_primitive_type,
-    ACTIONS(55), 1,
-      anon_sym_struct,
-    ACTIONS(57), 1,
-      anon_sym_union,
-    ACTIONS(1947), 1,
-      sym_identifier,
-    ACTIONS(3081), 1,
-      anon_sym_enum,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(1095), 1,
-      sym_type_specifier,
-    STATE(1108), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    STATE(1971), 1,
-      sym_type_descriptor,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    STATE(998), 2,
-      sym_type_qualifier,
-      aux_sym__type_definition_type_repeat1,
-    ACTIONS(1713), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    STATE(748), 5,
-      sym_sized_type_specifier,
-      sym_enum_specifier,
-      sym_struct_specifier,
-      sym_union_specifier,
-      sym_macro_type_specifier,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [39862] = 16,
+  [40755] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2462), 1,
-      anon_sym_PIPE,
-    ACTIONS(3087), 1,
+    ACTIONS(2930), 1,
+      aux_sym_preproc_elif_token1,
+    ACTIONS(3137), 1,
       anon_sym_SLASH,
-    ACTIONS(3097), 1,
+    ACTIONS(3139), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3141), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3143), 1,
+      anon_sym_PIPE,
+    ACTIONS(3145), 1,
+      anon_sym_CARET,
+    ACTIONS(3147), 1,
       anon_sym_AMP,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3133), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3135), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
+    ACTIONS(3149), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3151), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3153), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3155), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2464), 10,
+    ACTIONS(2928), 7,
       anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_RBRACE,
-      anon_sym_COLON,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
       anon_sym_QMARK,
-  [39928] = 15,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(51), 1,
-      sym_primitive_type,
-    ACTIONS(55), 1,
-      anon_sym_struct,
-    ACTIONS(57), 1,
-      anon_sym_union,
-    ACTIONS(1715), 1,
-      anon_sym_enum,
-    ACTIONS(1947), 1,
       sym_identifier,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(1095), 1,
-      sym_type_specifier,
-    STATE(1108), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    STATE(1829), 1,
-      sym_type_descriptor,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    STATE(1004), 2,
-      sym_type_qualifier,
-      aux_sym__type_definition_type_repeat1,
-    ACTIONS(1713), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    STATE(748), 5,
-      sym_sized_type_specifier,
-      sym_enum_specifier,
-      sym_struct_specifier,
-      sym_union_specifier,
-      sym_macro_type_specifier,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [39992] = 18,
+  [40830] = 16,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3091), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
-      anon_sym_PIPE,
-    ACTIONS(3095), 1,
-      anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(2469), 2,
+      anon_sym_PIPE,
+      anon_sym___attribute,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2464), 8,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2471), 10,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_CARET,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_RBRACE,
       anon_sym_COLON,
       anon_sym_QMARK,
-  [40062] = 15,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(55), 1,
-      anon_sym_struct,
-    ACTIONS(57), 1,
-      anon_sym_union,
-    ACTIONS(1715), 1,
-      anon_sym_enum,
-    ACTIONS(3117), 1,
-      sym_identifier,
-    ACTIONS(3121), 1,
-      sym_primitive_type,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(1110), 1,
-      sym_type_specifier,
-    STATE(1115), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    STATE(1254), 1,
-      sym__type_definition_type,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    STATE(1009), 2,
-      sym_type_qualifier,
-      aux_sym__type_definition_type_repeat1,
-    ACTIONS(3119), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    STATE(748), 5,
-      sym_sized_type_specifier,
-      sym_enum_specifier,
-      sym_struct_specifier,
-      sym_union_specifier,
-      sym_macro_type_specifier,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [40126] = 17,
+  [40897] = 15,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3093), 1,
-      anon_sym_PIPE,
-    ACTIONS(3095), 1,
-      anon_sym_CARET,
-    ACTIONS(3097), 1,
-      anon_sym_AMP,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2464), 9,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2469), 3,
+      anon_sym_PIPE,
+      anon_sym_AMP,
+      anon_sym___attribute,
+    ACTIONS(2471), 10,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
+      anon_sym_CARET,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_RBRACE,
       anon_sym_COLON,
       anon_sym_QMARK,
-  [40194] = 20,
+  [40962] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(2946), 1,
+      anon_sym___attribute,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2813), 6,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2944), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_RBRACE,
       anon_sym_COLON,
-  [40268] = 20,
+  [41039] = 12,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(3119), 2,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+    ACTIONS(3127), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(2469), 5,
+      anon_sym_PIPE,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym___attribute,
+    ACTIONS(2471), 14,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
-      anon_sym_PIPE,
-    ACTIONS(3095), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
-      anon_sym_AMP,
-    ACTIONS(3123), 1,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_RBRACE,
+      anon_sym_COLON,
       anon_sym_QMARK,
-    STATE(673), 1,
+  [41098] = 11,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3121), 1,
+      anon_sym_SLASH,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(2469), 5,
+      anon_sym_PIPE,
+      anon_sym_AMP,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+      anon_sym___attribute,
+    ACTIONS(2471), 16,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_CARET,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2785), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_RBRACE,
       anon_sym_COLON,
-  [40342] = 15,
+      anon_sym_QMARK,
+  [41155] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(2913), 1,
+      anon_sym___attribute,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    STATE(673), 1,
+    ACTIONS(3159), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3161), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3163), 1,
+      anon_sym_PIPE,
+    ACTIONS(3165), 1,
+      anon_sym_CARET,
+    ACTIONS(3167), 1,
+      anon_sym_AMP,
+    ACTIONS(3171), 1,
+      anon_sym_QMARK,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2462), 2,
-      anon_sym_PIPE,
-      anon_sym_AMP,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2464), 10,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(2901), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_RBRACE,
       anon_sym_COLON,
-      anon_sym_QMARK,
-  [40406] = 17,
+  [41232] = 15,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
+      anon_sym_union,
+    ACTIONS(1728), 1,
+      anon_sym_enum,
+    ACTIONS(3173), 1,
+      sym_identifier,
+    ACTIONS(3177), 1,
+      sym_primitive_type,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(1122), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    STATE(1124), 1,
+      sym_type_specifier,
+    STATE(1280), 1,
+      sym__type_definition_type,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(1018), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(3175), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    STATE(772), 5,
+      sym_sized_type_specifier,
+      sym_enum_specifier,
+      sym_struct_specifier,
+      sym_union_specifier,
+      sym_macro_type_specifier,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [41296] = 15,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
+      anon_sym_union,
+    ACTIONS(1728), 1,
+      anon_sym_enum,
+    ACTIONS(3173), 1,
+      sym_identifier,
+    ACTIONS(3177), 1,
+      sym_primitive_type,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(1122), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    STATE(1124), 1,
+      sym_type_specifier,
+    STATE(1271), 1,
+      sym__type_definition_type,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(1018), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(3175), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    STATE(772), 5,
+      sym_sized_type_specifier,
+      sym_enum_specifier,
+      sym_struct_specifier,
+      sym_union_specifier,
+      sym_macro_type_specifier,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [41360] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2462), 1,
-      anon_sym_PIPE,
-    ACTIONS(3087), 1,
-      anon_sym_SLASH,
-    ACTIONS(3095), 1,
-      anon_sym_CARET,
-    ACTIONS(3097), 1,
-      anon_sym_AMP,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(3085), 2,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(3103), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(2464), 9,
+    ACTIONS(3181), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_RBRACE,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym_LBRACK,
       anon_sym_COLON,
-      anon_sym_QMARK,
-  [40474] = 15,
+    ACTIONS(3179), 26,
+      anon_sym___extension__,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym___based,
+      sym_ms_restrict_modifier,
+      sym_ms_unsigned_ptr_modifier,
+      sym_ms_signed_ptr_modifier,
+      anon_sym__unaligned,
+      anon_sym___unaligned,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      sym_identifier,
+  [41400] = 15,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(55), 1,
-      anon_sym_struct,
+    ACTIONS(53), 1,
+      sym_primitive_type,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1715), 1,
+    ACTIONS(1728), 1,
       anon_sym_enum,
-    ACTIONS(3117), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    ACTIONS(3121), 1,
-      sym_primitive_type,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1110), 1,
-      sym_type_specifier,
-    STATE(1115), 1,
+    STATE(1063), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1253), 1,
-      sym__type_definition_type,
-    ACTIONS(49), 2,
+    STATE(1084), 1,
+      sym_type_specifier,
+    STATE(1845), 1,
+      sym_type_descriptor,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(1009), 2,
+    STATE(1015), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(3119), 4,
+    ACTIONS(1726), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -95826,142 +97245,105 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [40538] = 20,
+  [41464] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(3185), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+      anon_sym_STAR,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+      anon_sym_COLON,
+    ACTIONS(3183), 26,
+      anon_sym___extension__,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym___based,
+      sym_ms_restrict_modifier,
+      sym_ms_unsigned_ptr_modifier,
+      sym_ms_signed_ptr_modifier,
+      anon_sym__unaligned,
+      anon_sym___unaligned,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      sym_identifier,
+  [41504] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3187), 13,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
-      anon_sym_CARET,
-    ACTIONS(3097), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
-      anon_sym_QMARK,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym_LBRACK,
+      anon_sym_EQ,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+      sym_identifier,
+    ACTIONS(3189), 19,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_CARET,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(3103), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2817), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
       anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_RBRACE,
-      anon_sym_COLON,
-  [40612] = 14,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
+  [41544] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3191), 13,
       anon_sym_SLASH,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(2462), 2,
       anon_sym_PIPE,
       anon_sym_AMP,
-    ACTIONS(3083), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(3085), 2,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-    ACTIONS(3101), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(2464), 12,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym_LBRACK,
+      anon_sym_EQ,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+      sym_identifier,
+    ACTIONS(3193), 19,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_RBRACE,
-      anon_sym_COLON,
-      anon_sym_QMARK,
-  [40674] = 12,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3087), 1,
-      anon_sym_SLASH,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3105), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(2462), 4,
-      anon_sym_PIPE,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(2464), 14,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
       anon_sym_CARET,
@@ -95969,50 +97351,50 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_BANG_EQ,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
       anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_RBRACE,
-      anon_sym_COLON,
-      anon_sym_QMARK,
-  [40732] = 15,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
+  [41584] = 15,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(55), 1,
-      anon_sym_struct,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1715), 1,
+    ACTIONS(1728), 1,
       anon_sym_enum,
-    ACTIONS(3117), 1,
+    ACTIONS(3173), 1,
       sym_identifier,
-    ACTIONS(3121), 1,
+    ACTIONS(3177), 1,
       sym_primitive_type,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1110), 1,
-      sym_type_specifier,
-    STATE(1115), 1,
+    STATE(1122), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1255), 1,
+    STATE(1124), 1,
+      sym_type_specifier,
+    STATE(1277), 1,
       sym__type_definition_type,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(1009), 2,
+    STATE(1018), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(3119), 4,
+    ACTIONS(3175), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -96023,45 +97405,45 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [40796] = 15,
+  [41648] = 15,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(51), 1,
+    ACTIONS(53), 1,
       sym_primitive_type,
-    ACTIONS(55), 1,
-      anon_sym_struct,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1715), 1,
-      anon_sym_enum,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(710), 1,
+    ACTIONS(3195), 1,
+      anon_sym_enum,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1095), 1,
-      sym_type_specifier,
-    STATE(1108), 1,
+    STATE(1063), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1866), 1,
+    STATE(1084), 1,
+      sym_type_specifier,
+    STATE(1850), 1,
       sym_type_descriptor,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(1004), 2,
+    STATE(1014), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(1713), 4,
+    ACTIONS(1726), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -96072,45 +97454,45 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [40860] = 15,
+  [41712] = 15,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(55), 1,
-      anon_sym_struct,
+    ACTIONS(53), 1,
+      sym_primitive_type,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1715), 1,
+    ACTIONS(1728), 1,
       anon_sym_enum,
-    ACTIONS(3117), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    ACTIONS(3121), 1,
-      sym_primitive_type,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1110), 1,
-      sym_type_specifier,
-    STATE(1115), 1,
+    STATE(1063), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1256), 1,
-      sym__type_definition_type,
-    ACTIONS(49), 2,
+    STATE(1084), 1,
+      sym_type_specifier,
+    STATE(1811), 1,
+      sym_type_descriptor,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(1009), 2,
+    STATE(1015), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(3119), 4,
+    ACTIONS(1726), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -96121,45 +97503,82 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [40924] = 15,
+  [41776] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(55), 1,
-      anon_sym_struct,
+    ACTIONS(3197), 13,
+      anon_sym_SLASH,
+      anon_sym_PIPE,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym_LBRACK,
+      anon_sym_EQ,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+      sym_identifier,
+    ACTIONS(3199), 19,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_CARET,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+      anon_sym_SEMI,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
+  [41816] = 15,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(53), 1,
+      sym_primitive_type,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1715), 1,
-      anon_sym_enum,
-    ACTIONS(3117), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    ACTIONS(3121), 1,
-      sym_primitive_type,
-    STATE(710), 1,
+    ACTIONS(3195), 1,
+      anon_sym_enum,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1110), 1,
-      sym_type_specifier,
-    STATE(1115), 1,
+    STATE(1063), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1258), 1,
-      sym__type_definition_type,
-    ACTIONS(49), 2,
+    STATE(1084), 1,
+      sym_type_specifier,
+    STATE(2020), 1,
+      sym_type_descriptor,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(1009), 2,
+    STATE(1014), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(3119), 4,
+    ACTIONS(1726), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -96170,45 +97589,45 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [40988] = 15,
+  [41880] = 15,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(55), 1,
-      anon_sym_struct,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1715), 1,
+    ACTIONS(1728), 1,
       anon_sym_enum,
-    ACTIONS(3117), 1,
+    ACTIONS(3173), 1,
       sym_identifier,
-    ACTIONS(3121), 1,
+    ACTIONS(3177), 1,
       sym_primitive_type,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1110), 1,
-      sym_type_specifier,
-    STATE(1115), 1,
+    STATE(1122), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1257), 1,
+    STATE(1124), 1,
+      sym_type_specifier,
+    STATE(1279), 1,
       sym__type_definition_type,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(1009), 2,
+    STATE(1018), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(3119), 4,
+    ACTIONS(3175), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -96219,45 +97638,45 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [41052] = 15,
+  [41944] = 15,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(55), 1,
-      anon_sym_struct,
+    ACTIONS(53), 1,
+      sym_primitive_type,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1715), 1,
+    ACTIONS(1728), 1,
       anon_sym_enum,
-    ACTIONS(3117), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    ACTIONS(3121), 1,
-      sym_primitive_type,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1110), 1,
-      sym_type_specifier,
-    STATE(1115), 1,
+    STATE(1063), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1259), 1,
-      sym__type_definition_type,
-    ACTIONS(49), 2,
+    STATE(1084), 1,
+      sym_type_specifier,
+    STATE(1828), 1,
+      sym_type_descriptor,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(1009), 2,
+    STATE(1015), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(3119), 4,
+    ACTIONS(1726), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -96268,45 +97687,45 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [41116] = 15,
+  [42008] = 15,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(55), 1,
-      anon_sym_struct,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1715), 1,
+    ACTIONS(1728), 1,
       anon_sym_enum,
-    ACTIONS(3117), 1,
+    ACTIONS(3173), 1,
       sym_identifier,
-    ACTIONS(3121), 1,
+    ACTIONS(3177), 1,
       sym_primitive_type,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1110), 1,
-      sym_type_specifier,
-    STATE(1115), 1,
+    STATE(1122), 1,
       aux_sym_sized_type_specifier_repeat1,
-    STATE(1252), 1,
+    STATE(1124), 1,
+      sym_type_specifier,
+    STATE(1274), 1,
       sym__type_definition_type,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(1009), 2,
+    STATE(1018), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(3119), 4,
+    ACTIONS(3175), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -96317,43 +97736,45 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [41180] = 14,
+  [42072] = 15,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(51), 1,
-      sym_primitive_type,
-    ACTIONS(55), 1,
-      anon_sym_struct,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1947), 1,
-      sym_identifier,
-    ACTIONS(3081), 1,
+    ACTIONS(1728), 1,
       anon_sym_enum,
-    STATE(710), 1,
+    ACTIONS(3173), 1,
+      sym_identifier,
+    ACTIONS(3177), 1,
+      sym_primitive_type,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1076), 1,
-      sym_type_specifier,
-    STATE(1108), 1,
+    STATE(1122), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(49), 2,
+    STATE(1124), 1,
+      sym_type_specifier,
+    STATE(1278), 1,
+      sym__type_definition_type,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(975), 2,
+    STATE(1018), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(1713), 4,
+    ACTIONS(3175), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -96364,43 +97785,45 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [41241] = 14,
+  [42136] = 15,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(2972), 1,
+    ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
+      anon_sym_union,
+    ACTIONS(1728), 1,
+      anon_sym_enum,
+    ACTIONS(3173), 1,
       sym_identifier,
-    ACTIONS(2974), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2976), 1,
-      anon_sym_STAR,
-    ACTIONS(2980), 1,
+    ACTIONS(3177), 1,
       sym_primitive_type,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1346), 1,
-      sym__type_declarator,
-    STATE(1954), 1,
-      sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    STATE(1122), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    STATE(1124), 1,
+      sym_type_specifier,
+    STATE(1282), 1,
+      sym__type_definition_type,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(975), 2,
+    STATE(1018), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(2978), 4,
+    ACTIONS(3175), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(1408), 5,
-      sym_parenthesized_type_declarator,
-      sym_attributed_type_declarator,
-      sym_pointer_type_declarator,
-      sym_function_type_declarator,
-      sym_array_type_declarator,
-    ACTIONS(47), 10,
+    STATE(772), 5,
+      sym_sized_type_specifier,
+      sym_enum_specifier,
+      sym_struct_specifier,
+      sym_union_specifier,
+      sym_macro_type_specifier,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -96411,76 +97834,46 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [41302] = 14,
+  [42200] = 15,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(2972), 1,
+    ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
+      anon_sym_union,
+    ACTIONS(1728), 1,
+      anon_sym_enum,
+    ACTIONS(3173), 1,
       sym_identifier,
-    ACTIONS(2974), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2976), 1,
-      anon_sym_STAR,
-    ACTIONS(2980), 1,
+    ACTIONS(3177), 1,
       sym_primitive_type,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1337), 1,
-      sym__type_declarator,
-    STATE(1954), 1,
-      sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    STATE(1122), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    STATE(1124), 1,
+      sym_type_specifier,
+    STATE(1276), 1,
+      sym__type_definition_type,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(975), 2,
+    STATE(1018), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(2978), 4,
+    ACTIONS(3175), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(1408), 5,
-      sym_parenthesized_type_declarator,
-      sym_attributed_type_declarator,
-      sym_pointer_type_declarator,
-      sym_function_type_declarator,
-      sym_array_type_declarator,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [41363] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3127), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_STAR,
-      anon_sym_LBRACK,
-      anon_sym_COLON,
-    ACTIONS(3125), 25,
+    STATE(772), 5,
+      sym_sized_type_specifier,
+      sym_enum_specifier,
+      sym_struct_specifier,
+      sym_union_specifier,
+      sym_macro_type_specifier,
+    ACTIONS(49), 10,
       anon_sym___extension__,
-      anon_sym___attribute__,
-      anon_sym___based,
-      sym_ms_restrict_modifier,
-      sym_ms_unsigned_ptr_modifier,
-      sym_ms_signed_ptr_modifier,
-      anon_sym__unaligned,
-      anon_sym___unaligned,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
       anon_sym_const,
       anon_sym_constexpr,
       anon_sym_volatile,
@@ -96490,27 +97883,24 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
-      sym_identifier,
-  [41402] = 3,
+  [42264] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3129), 12,
+    ACTIONS(3201), 13,
       anon_sym_SLASH,
       anon_sym_PIPE,
       anon_sym_AMP,
       anon_sym_GT,
       anon_sym_LT,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_LBRACK,
       anon_sym_EQ,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
       sym_identifier,
-    ACTIONS(3131), 19,
+    ACTIONS(3203), 19,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -96530,29 +97920,91 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
-  [41441] = 3,
+  [42304] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3135), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(3010), 1,
+      sym_identifier,
+    ACTIONS(3012), 1,
       anon_sym_LPAREN2,
+    ACTIONS(3014), 1,
       anon_sym_STAR,
-      anon_sym_LBRACK,
-      anon_sym_COLON,
-    ACTIONS(3133), 25,
+    ACTIONS(3018), 1,
+      sym_primitive_type,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(1357), 1,
+      sym__type_declarator,
+    STATE(1810), 1,
+      sym_ms_based_modifier,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(672), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(3016), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    STATE(1421), 5,
+      sym_parenthesized_type_declarator,
+      sym_attributed_type_declarator,
+      sym_pointer_type_declarator,
+      sym_function_type_declarator,
+      sym_array_type_declarator,
+    ACTIONS(49), 10,
       anon_sym___extension__,
-      anon_sym___attribute__,
-      anon_sym___based,
-      sym_ms_restrict_modifier,
-      sym_ms_unsigned_ptr_modifier,
-      sym_ms_signed_ptr_modifier,
-      anon_sym__unaligned,
-      anon_sym___unaligned,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [42365] = 14,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(53), 1,
+      sym_primitive_type,
+    ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
+      anon_sym_union,
+    ACTIONS(1946), 1,
+      sym_identifier,
+    ACTIONS(3195), 1,
+      anon_sym_enum,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(1063), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    STATE(1101), 1,
+      sym_type_specifier,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(672), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(1726), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
+    STATE(772), 5,
+      sym_sized_type_specifier,
+      sym_enum_specifier,
+      sym_struct_specifier,
+      sym_union_specifier,
+      sym_macro_type_specifier,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
       anon_sym_volatile,
@@ -96562,47 +98014,43 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
-      sym_identifier,
-  [41480] = 14,
+  [42426] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(51), 1,
+    ACTIONS(53), 1,
       sym_primitive_type,
-    ACTIONS(55), 1,
-      anon_sym_struct,
     ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
       anon_sym_union,
-    ACTIONS(1715), 1,
+    ACTIONS(1728), 1,
       anon_sym_enum,
-    ACTIONS(1947), 1,
+    ACTIONS(1946), 1,
       sym_identifier,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1076), 1,
-      sym_type_specifier,
-    STATE(1108), 1,
+    STATE(1063), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(49), 2,
+    STATE(1101), 1,
+      sym_type_specifier,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(975), 2,
+    STATE(672), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(1713), 4,
+    ACTIONS(1726), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
+    STATE(772), 5,
       sym_sized_type_specifier,
       sym_enum_specifier,
       sym_struct_specifier,
       sym_union_specifier,
       sym_macro_type_specifier,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -96613,43 +98061,137 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [41541] = 14,
+  [42487] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2972), 1,
+    ACTIONS(3010), 1,
       sym_identifier,
-    ACTIONS(2974), 1,
+    ACTIONS(3012), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2976), 1,
+    ACTIONS(3014), 1,
       anon_sym_STAR,
-    ACTIONS(2980), 1,
+    ACTIONS(3018), 1,
       sym_primitive_type,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1339), 1,
+    STATE(1345), 1,
       sym__type_declarator,
-    STATE(1954), 1,
+    STATE(1810), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(975), 2,
+    STATE(672), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(2978), 4,
+    ACTIONS(3016), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(1408), 5,
+    STATE(1421), 5,
       sym_parenthesized_type_declarator,
       sym_attributed_type_declarator,
       sym_pointer_type_declarator,
       sym_function_type_declarator,
       sym_array_type_declarator,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [42548] = 14,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(3010), 1,
+      sym_identifier,
+    ACTIONS(3012), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3014), 1,
+      anon_sym_STAR,
+    ACTIONS(3018), 1,
+      sym_primitive_type,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(1337), 1,
+      sym__type_declarator,
+    STATE(1810), 1,
+      sym_ms_based_modifier,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(672), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(3016), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    STATE(1421), 5,
+      sym_parenthesized_type_declarator,
+      sym_attributed_type_declarator,
+      sym_pointer_type_declarator,
+      sym_function_type_declarator,
+      sym_array_type_declarator,
+    ACTIONS(49), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [42609] = 14,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(57), 1,
+      anon_sym_struct,
+    ACTIONS(59), 1,
+      anon_sym_union,
+    ACTIONS(1728), 1,
+      anon_sym_enum,
+    ACTIONS(3173), 1,
+      sym_identifier,
+    ACTIONS(3177), 1,
+      sym_primitive_type,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(1122), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    STATE(1126), 1,
+      sym_type_specifier,
+    ACTIONS(51), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(672), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(3175), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    STATE(772), 5,
+      sym_sized_type_specifier,
+      sym_enum_specifier,
+      sym_struct_specifier,
+      sym_union_specifier,
+      sym_macro_type_specifier,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -96660,152 +98202,178 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [41602] = 3,
+  [42670] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3137), 12,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
+    ACTIONS(3159), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3161), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
+    ACTIONS(3165), 1,
+      anon_sym_CARET,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym___attribute__,
-      anon_sym_LBRACK,
-      anon_sym_EQ,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-      sym_identifier,
-    ACTIONS(3139), 19,
+    ACTIONS(3171), 1,
+      anon_sym_QMARK,
+    ACTIONS(3205), 1,
       anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
+    ACTIONS(3123), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3207), 3,
+      anon_sym_RPAREN,
       anon_sym_SEMI,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-  [41641] = 3,
+      anon_sym_COLON,
+  [42744] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3141), 12,
-      anon_sym_SLASH,
-      anon_sym_PIPE,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
+    ACTIONS(2924), 1,
+      anon_sym_LBRACE,
+    ACTIONS(3209), 1,
+      anon_sym_COLON,
+    STATE(774), 1,
+      sym_attribute_specifier,
+    STATE(1044), 1,
+      sym_enumerator_list,
+    ACTIONS(35), 2,
       anon_sym___attribute__,
-      anon_sym_LBRACK,
-      anon_sym_EQ,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-      sym_identifier,
-    ACTIONS(3143), 19,
+      anon_sym___attribute,
+    ACTIONS(2919), 5,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
       anon_sym_STAR,
-      anon_sym_PERCENT,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-      anon_sym_SEMI,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-  [41680] = 3,
+      anon_sym_LBRACK,
+    ACTIONS(2917), 19,
+      anon_sym___extension__,
+      anon_sym___based,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      sym_identifier,
+  [42792] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3145), 12,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
+    ACTIONS(3159), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3161), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
+    ACTIONS(3165), 1,
+      anon_sym_CARET,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-      anon_sym___attribute__,
-      anon_sym_LBRACK,
-      anon_sym_EQ,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-      sym_identifier,
-    ACTIONS(3147), 19,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
+    ACTIONS(3171), 1,
+      anon_sym_QMARK,
+    ACTIONS(3213), 1,
+      anon_sym___attribute,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
+    ACTIONS(3123), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3211), 3,
+      anon_sym_COMMA,
       anon_sym_SEMI,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-  [41719] = 14,
+      anon_sym___attribute__,
+  [42866] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(55), 1,
-      anon_sym_struct,
-    ACTIONS(57), 1,
-      anon_sym_union,
-    ACTIONS(1715), 1,
-      anon_sym_enum,
-    ACTIONS(3117), 1,
-      sym_identifier,
-    ACTIONS(3121), 1,
-      sym_primitive_type,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(1109), 1,
-      sym_type_specifier,
-    STATE(1115), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(49), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    STATE(975), 2,
-      sym_type_qualifier,
-      aux_sym__type_definition_type_repeat1,
-    ACTIONS(3119), 4,
+    ACTIONS(2924), 1,
+      anon_sym_LBRACE,
+    STATE(776), 1,
+      sym_attribute_specifier,
+    STATE(1062), 1,
+      sym_enumerator_list,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2982), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym_LBRACK,
+      anon_sym_COLON,
+    ACTIONS(2980), 19,
+      anon_sym___extension__,
+      anon_sym___based,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(748), 5,
-      sym_sized_type_specifier,
-      sym_enum_specifier,
-      sym_struct_specifier,
-      sym_union_specifier,
-      sym_macro_type_specifier,
-    ACTIONS(47), 10,
-      anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
       anon_sym_volatile,
@@ -96815,3157 +98383,3347 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [41780] = 21,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      sym_identifier,
+  [42912] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
+    ACTIONS(3215), 1,
       anon_sym_COMMA,
-    STATE(673), 1,
+    ACTIONS(3217), 1,
+      anon_sym_RPAREN,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    STATE(1587), 1,
+      aux_sym_generic_expression_repeat1,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3151), 3,
-      anon_sym_RPAREN,
-      anon_sym_SEMI,
-      anon_sym_COLON,
-  [41854] = 22,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [42987] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3153), 1,
+    ACTIONS(3219), 1,
       anon_sym_COMMA,
-    ACTIONS(3155), 1,
+    ACTIONS(3221), 1,
       anon_sym_RPAREN,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    STATE(1627), 1,
-      aux_sym_generic_expression_repeat1,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    STATE(1572), 1,
+      aux_sym_argument_list_repeat1,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [41929] = 22,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [43062] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3157), 1,
+    ACTIONS(3223), 1,
       anon_sym_COMMA,
-    ACTIONS(3159), 1,
+    ACTIONS(3225), 1,
       anon_sym_RBRACE,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    STATE(1551), 1,
+    STATE(1670), 1,
       aux_sym_initializer_list_repeat1,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [42004] = 22,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [43137] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3161), 1,
+    ACTIONS(3219), 1,
       anon_sym_COMMA,
-    ACTIONS(3163), 1,
+    ACTIONS(3227), 1,
       anon_sym_RPAREN,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    STATE(1637), 1,
+    STATE(1617), 1,
       aux_sym_argument_list_repeat1,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [42079] = 20,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [43212] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3165), 3,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3229), 2,
       anon_sym_COMMA,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-  [42150] = 7,
+      anon_sym_RBRACE,
+  [43282] = 22,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(2886), 1,
-      anon_sym_LBRACE,
-    STATE(771), 1,
-      sym_attribute_specifier,
-    STATE(1081), 1,
-      sym_enumerator_list,
-    ACTIONS(2916), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_STAR,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-      anon_sym_COLON,
-    ACTIONS(2914), 19,
-      anon_sym___extension__,
-      anon_sym___based,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
-      sym_identifier,
-  [42195] = 22,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2463), 1,
+      anon_sym_DASH_GT,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3026), 1,
+      anon_sym_DOT,
+    ACTIONS(3231), 1,
+      anon_sym_DOT_DOT_DOT,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3239), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3241), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3243), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3245), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3247), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3257), 1,
+      anon_sym_RBRACK,
+    ACTIONS(3259), 1,
       anon_sym_QMARK,
-    ACTIONS(3161), 1,
-      anon_sym_COMMA,
-    ACTIONS(3167), 1,
-      anon_sym_RPAREN,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    STATE(1573), 1,
-      aux_sym_argument_list_repeat1,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [42270] = 8,
+  [43356] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(2886), 1,
-      anon_sym_LBRACE,
-    ACTIONS(3169), 1,
-      anon_sym_COLON,
-    STATE(778), 1,
-      sym_attribute_specifier,
-    STATE(1094), 1,
-      sym_enumerator_list,
-    ACTIONS(2881), 5,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(2463), 1,
+      anon_sym_DASH_GT,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
+    ACTIONS(3026), 1,
+      anon_sym_DOT,
+    ACTIONS(3237), 1,
+      anon_sym_SLASH,
+    ACTIONS(3239), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3241), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3243), 1,
+      anon_sym_PIPE,
+    ACTIONS(3245), 1,
+      anon_sym_CARET,
+    ACTIONS(3247), 1,
+      anon_sym_AMP,
+    ACTIONS(3259), 1,
+      anon_sym_QMARK,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2944), 2,
+      anon_sym_DOT_DOT_DOT,
+      anon_sym_RBRACK,
+    ACTIONS(3233), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
-      anon_sym_LBRACK,
-    ACTIONS(2879), 19,
-      anon_sym___extension__,
-      anon_sym___based,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
-      sym_identifier,
-  [42317] = 22,
+      anon_sym_PERCENT,
+    ACTIONS(3249), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3251), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3253), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(3255), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+  [43428] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
+    ACTIONS(3026), 1,
       anon_sym_DOT,
-    ACTIONS(3171), 1,
-      anon_sym_DOT_DOT_DOT,
-    ACTIONS(3177), 1,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3179), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3181), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(3183), 1,
-      anon_sym_PIPE,
-    ACTIONS(3185), 1,
-      anon_sym_CARET,
-    ACTIONS(3187), 1,
-      anon_sym_AMP,
-    ACTIONS(3197), 1,
-      anon_sym_RBRACK,
-    ACTIONS(3199), 1,
-      anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(2469), 6,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_PIPE,
+      anon_sym_AMP,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(2471), 12,
+      anon_sym_DOT_DOT_DOT,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_CARET,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [42391] = 21,
+      anon_sym_RBRACK,
+      anon_sym_QMARK,
+  [43480] = 19,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(2463), 1,
+      anon_sym_DASH_GT,
+    ACTIONS(3024), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3026), 1,
+      anon_sym_DOT,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3241), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3243), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3245), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3247), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
-      anon_sym_QMARK,
-    ACTIONS(3149), 1,
-      anon_sym_COMMA,
-    ACTIONS(3201), 1,
-      anon_sym_SEMI,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [42463] = 21,
+    ACTIONS(2471), 4,
+      anon_sym_DOT_DOT_DOT,
+      anon_sym_PIPE_PIPE,
+      anon_sym_RBRACK,
+      anon_sym_QMARK,
+  [43548] = 18,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(2463), 1,
+      anon_sym_DASH_GT,
+    ACTIONS(3024), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3026), 1,
+      anon_sym_DOT,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3243), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3245), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3247), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
-      anon_sym_QMARK,
-    ACTIONS(3149), 1,
-      anon_sym_COMMA,
-    ACTIONS(3203), 1,
-      anon_sym_RPAREN,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [42535] = 21,
+    ACTIONS(2471), 5,
+      anon_sym_DOT_DOT_DOT,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_RBRACK,
+      anon_sym_QMARK,
+  [43614] = 18,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
-      anon_sym_SLASH,
-    ACTIONS(3089), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(2463), 1,
+      anon_sym_DASH_GT,
+    ACTIONS(2469), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3024), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3026), 1,
+      anon_sym_DOT,
+    ACTIONS(3237), 1,
+      anon_sym_SLASH,
+    ACTIONS(3245), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3247), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
-      anon_sym_QMARK,
-    ACTIONS(3149), 1,
-      anon_sym_COMMA,
-    ACTIONS(3205), 1,
-      anon_sym_SEMI,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [42607] = 20,
+    ACTIONS(2471), 5,
+      anon_sym_DOT_DOT_DOT,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_RBRACK,
+      anon_sym_QMARK,
+  [43680] = 17,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
-      anon_sym_SLASH,
-    ACTIONS(3089), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(2463), 1,
+      anon_sym_DASH_GT,
+    ACTIONS(2469), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
-      anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3024), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3026), 1,
+      anon_sym_DOT,
+    ACTIONS(3237), 1,
+      anon_sym_SLASH,
+    ACTIONS(3247), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
-      anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3051), 2,
-      anon_sym_COMMA,
-      anon_sym_RBRACE,
-    ACTIONS(3083), 2,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [42677] = 21,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3087), 1,
-      anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(2471), 6,
+      anon_sym_DOT_DOT_DOT,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
-      anon_sym_PIPE,
-    ACTIONS(3095), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
-      anon_sym_AMP,
-    ACTIONS(3123), 1,
+      anon_sym_RBRACK,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
-      anon_sym_COMMA,
-    ACTIONS(3207), 1,
-      anon_sym_SEMI,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
+  [43744] = 16,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(3024), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3026), 1,
+      anon_sym_DOT,
+    ACTIONS(3237), 1,
+      anon_sym_SLASH,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2469), 2,
+      anon_sym_PIPE,
+      anon_sym_AMP,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [42749] = 21,
+    ACTIONS(2471), 6,
+      anon_sym_DOT_DOT_DOT,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_CARET,
+      anon_sym_RBRACK,
+      anon_sym_QMARK,
+  [43806] = 15,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
+    ACTIONS(3026), 1,
       anon_sym_DOT,
-    ACTIONS(3177), 1,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3179), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3181), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(3183), 1,
-      anon_sym_PIPE,
-    ACTIONS(3185), 1,
-      anon_sym_CARET,
-    ACTIONS(3187), 1,
-      anon_sym_AMP,
-    ACTIONS(3199), 1,
-      anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2817), 2,
-      anon_sym_DOT_DOT_DOT,
-      anon_sym_RBRACK,
-    ACTIONS(3173), 2,
+    ACTIONS(2469), 2,
+      anon_sym_PIPE,
+      anon_sym_AMP,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [42821] = 21,
+    ACTIONS(2471), 8,
+      anon_sym_DOT_DOT_DOT,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_CARET,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_RBRACK,
+      anon_sym_QMARK,
+  [43866] = 13,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(2463), 1,
+      anon_sym_DASH_GT,
+    ACTIONS(3024), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3026), 1,
+      anon_sym_DOT,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(3233), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(3235), 2,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+    ACTIONS(3255), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(2469), 4,
+      anon_sym_PIPE,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(2471), 10,
+      anon_sym_DOT_DOT_DOT,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
-      anon_sym_PIPE,
-    ACTIONS(3095), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
-      anon_sym_AMP,
-    ACTIONS(3123), 1,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_RBRACK,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
-      anon_sym_COMMA,
-    ACTIONS(3209), 1,
-      anon_sym_COLON,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
+  [43922] = 12,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(2463), 1,
       anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(3024), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3026), 1,
+      anon_sym_DOT,
+    ACTIONS(3237), 1,
+      anon_sym_SLASH,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(2469), 4,
+      anon_sym_PIPE,
+      anon_sym_AMP,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(2471), 12,
+      anon_sym_DOT_DOT_DOT,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_CARET,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [42893] = 21,
+      anon_sym_RBRACK,
+      anon_sym_QMARK,
+  [43976] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
+    ACTIONS(3205), 1,
       anon_sym_COMMA,
-    ACTIONS(3211), 1,
-      anon_sym_SEMI,
-    STATE(673), 1,
+    ACTIONS(3261), 1,
+      anon_sym_COLON,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [42965] = 20,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [44048] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(2463), 1,
+      anon_sym_DASH_GT,
+    ACTIONS(3024), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3026), 1,
+      anon_sym_DOT,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3239), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3241), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3243), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3245), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3247), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3259), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2901), 2,
+      anon_sym_DOT_DOT_DOT,
+      anon_sym_RBRACK,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3213), 2,
-      anon_sym_COMMA,
-      anon_sym_RBRACE,
-  [43035] = 20,
+  [44120] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    ACTIONS(3205), 1,
+      anon_sym_COMMA,
+    ACTIONS(3263), 1,
+      anon_sym_COLON,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3215), 2,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-  [43105] = 21,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [44192] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(2463), 1,
+      anon_sym_DASH_GT,
+    ACTIONS(3024), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3026), 1,
+      anon_sym_DOT,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3239), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3241), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3243), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3245), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3247), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3259), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
-      anon_sym_COMMA,
-    ACTIONS(3217), 1,
-      anon_sym_RPAREN,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2972), 2,
+      anon_sym_DOT_DOT_DOT,
+      anon_sym_RBRACK,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [43177] = 20,
+  [44264] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3219), 2,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3265), 2,
       anon_sym_COMMA,
       anon_sym_SEMI,
-  [43247] = 21,
+  [44334] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    STATE(758), 1,
+      sym_attribute_specifier,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(3005), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym_LBRACK,
+      anon_sym_COLON,
+    ACTIONS(3003), 19,
+      anon_sym___extension__,
+      anon_sym___based,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      sym_identifier,
+  [44374] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
-      anon_sym_COMMA,
-    ACTIONS(3221), 1,
-      anon_sym_SEMI,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [43319] = 20,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3267), 2,
+      anon_sym_COMMA,
+      anon_sym_RBRACE,
+  [44444] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3223), 2,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3269), 2,
       anon_sym_COMMA,
       anon_sym_RBRACE,
-  [43389] = 21,
+  [44514] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
-      anon_sym_COMMA,
-    ACTIONS(3225), 1,
-      anon_sym_SEMI,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [43461] = 21,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3271), 2,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+  [44584] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
+    ACTIONS(3205), 1,
       anon_sym_COMMA,
-    ACTIONS(3227), 1,
+    ACTIONS(3273), 1,
       anon_sym_RPAREN,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [43533] = 21,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [44656] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
+    ACTIONS(3205), 1,
       anon_sym_COMMA,
-    ACTIONS(3229), 1,
+    ACTIONS(3275), 1,
       anon_sym_SEMI,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(3085), 2,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+      anon_sym_PLUS,
+    ACTIONS(3119), 2,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [43605] = 20,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [44728] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    ACTIONS(3205), 1,
+      anon_sym_COMMA,
+    ACTIONS(3277), 1,
+      anon_sym_SEMI,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3231), 2,
-      anon_sym_COMMA,
-      anon_sym_RBRACE,
-  [43675] = 21,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [44800] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
+    ACTIONS(3205), 1,
       anon_sym_COMMA,
-    ACTIONS(3233), 1,
-      anon_sym_RPAREN,
-    STATE(673), 1,
+    ACTIONS(3279), 1,
+      anon_sym_SEMI,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [43747] = 21,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [44872] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
+    ACTIONS(3205), 1,
       anon_sym_COMMA,
-    ACTIONS(3235), 1,
-      anon_sym_COLON,
-    STATE(673), 1,
+    ACTIONS(3281), 1,
+      anon_sym_SEMI,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [43819] = 21,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [44944] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
+    ACTIONS(3205), 1,
       anon_sym_COMMA,
-    ACTIONS(3237), 1,
+    ACTIONS(3283), 1,
       anon_sym_RPAREN,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [43891] = 20,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [45016] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2454), 1,
-      anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
-      anon_sym_DOT,
-    ACTIONS(3177), 1,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3179), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3181), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3183), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3185), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3187), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    STATE(673), 1,
+    ACTIONS(3171), 1,
+      anon_sym_QMARK,
+    ACTIONS(3205), 1,
+      anon_sym_COMMA,
+    ACTIONS(3285), 1,
+      anon_sym_RPAREN,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2823), 3,
-      anon_sym_DOT_DOT_DOT,
-      anon_sym_RBRACK,
-      anon_sym_QMARK,
-  [43961] = 21,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [45088] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
+    ACTIONS(3205), 1,
       anon_sym_COMMA,
-    ACTIONS(3239), 1,
-      anon_sym_RPAREN,
-    STATE(673), 1,
+    ACTIONS(3287), 1,
+      anon_sym_SEMI,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [44033] = 21,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [45160] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
+    ACTIONS(3205), 1,
       anon_sym_COMMA,
-    ACTIONS(3241), 1,
+    ACTIONS(3289), 1,
       anon_sym_SEMI,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [44105] = 21,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [45232] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
-      anon_sym_COMMA,
-    ACTIONS(3243), 1,
-      anon_sym_RPAREN,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [44177] = 21,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3291), 2,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+  [45302] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
+    ACTIONS(3205), 1,
       anon_sym_COMMA,
-    ACTIONS(3245), 1,
+    ACTIONS(3293), 1,
       anon_sym_SEMI,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [44249] = 21,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [45374] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
+    ACTIONS(3205), 1,
       anon_sym_COMMA,
-    ACTIONS(3247), 1,
-      anon_sym_SEMI,
-    STATE(673), 1,
+    ACTIONS(3295), 1,
+      anon_sym_RPAREN,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [44321] = 21,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [45446] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(2463), 1,
+      anon_sym_DASH_GT,
+    ACTIONS(3024), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3026), 1,
+      anon_sym_DOT,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3239), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3241), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3243), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3245), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3247), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
-      anon_sym_QMARK,
-    ACTIONS(3149), 1,
-      anon_sym_COMMA,
-    ACTIONS(3249), 1,
-      anon_sym_COLON,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [44393] = 21,
+    ACTIONS(2928), 3,
+      anon_sym_DOT_DOT_DOT,
+      anon_sym_RBRACK,
+      anon_sym_QMARK,
+  [45516] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
+    ACTIONS(3205), 1,
       anon_sym_COMMA,
-    ACTIONS(3251), 1,
+    ACTIONS(3297), 1,
       anon_sym_SEMI,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [44465] = 21,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [45588] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    STATE(769), 1,
+      sym_attribute_specifier,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2998), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
       anon_sym_LBRACK,
-    ACTIONS(2454), 1,
-      anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+      anon_sym_COLON,
+    ACTIONS(2996), 19,
+      anon_sym___extension__,
+      anon_sym___based,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      sym_identifier,
+  [45628] = 10,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2555), 1,
+      sym_primitive_type,
+    ACTIONS(3299), 1,
+      sym_identifier,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(1121), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(2552), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(1076), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(3301), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(2543), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
-      anon_sym_DOT,
-    ACTIONS(3177), 1,
+      anon_sym_STAR,
+      anon_sym_LBRACK,
+      anon_sym_COLON,
+    ACTIONS(2545), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [45678] = 21,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3179), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3181), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3183), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3185), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3187), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3199), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    ACTIONS(3205), 1,
+      anon_sym_COMMA,
+    ACTIONS(3303), 1,
+      anon_sym_RPAREN,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2785), 2,
-      anon_sym_DOT_DOT_DOT,
-      anon_sym_RBRACK,
-    ACTIONS(3173), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [44537] = 21,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [45750] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
+    ACTIONS(3205), 1,
       anon_sym_COMMA,
-    ACTIONS(3253), 1,
+    ACTIONS(3305), 1,
       anon_sym_COLON,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [44609] = 11,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [45822] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2454), 1,
-      anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
-      anon_sym_DOT,
-    ACTIONS(3177), 1,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    STATE(673), 1,
+    ACTIONS(3159), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3161), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3163), 1,
+      anon_sym_PIPE,
+    ACTIONS(3165), 1,
+      anon_sym_CARET,
+    ACTIONS(3167), 1,
+      anon_sym_AMP,
+    ACTIONS(3171), 1,
+      anon_sym_QMARK,
+    ACTIONS(3205), 1,
+      anon_sym_COMMA,
+    ACTIONS(3307), 1,
+      anon_sym_RPAREN,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3175), 2,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-    ACTIONS(2462), 6,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-      anon_sym_PIPE,
-      anon_sym_AMP,
+    ACTIONS(3119), 2,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(2464), 12,
-      anon_sym_DOT_DOT_DOT,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-      anon_sym_RBRACK,
-      anon_sym_QMARK,
-  [44661] = 21,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [45894] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
-      anon_sym_COMMA,
-    ACTIONS(3255), 1,
-      anon_sym_SEMI,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [44733] = 19,
+    ACTIONS(3129), 2,
+      anon_sym_COMMA,
+      anon_sym_RBRACE,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [45964] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2454), 1,
-      anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
-      anon_sym_DOT,
-    ACTIONS(3177), 1,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3181), 1,
+    ACTIONS(3159), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3183), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3185), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3187), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    STATE(673), 1,
+    ACTIONS(3171), 1,
+      anon_sym_QMARK,
+    ACTIONS(3205), 1,
+      anon_sym_COMMA,
+    ACTIONS(3309), 1,
+      anon_sym_RPAREN,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2464), 4,
-      anon_sym_DOT_DOT_DOT,
-      anon_sym_PIPE_PIPE,
-      anon_sym_RBRACK,
-      anon_sym_QMARK,
-  [44801] = 20,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [46036] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    STATE(777), 1,
+      sym_attribute_specifier,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(2991), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym_LBRACK,
+      anon_sym_COLON,
+    ACTIONS(2989), 19,
+      anon_sym___extension__,
+      anon_sym___based,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      sym_identifier,
+  [46076] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    ACTIONS(3205), 1,
+      anon_sym_COMMA,
+    ACTIONS(3311), 1,
+      anon_sym_COLON,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3257), 2,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-  [44871] = 18,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [46148] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2454), 1,
-      anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
-      anon_sym_DOT,
-    ACTIONS(3177), 1,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3183), 1,
+    ACTIONS(3159), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3161), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3185), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3187), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    STATE(673), 1,
+    ACTIONS(3171), 1,
+      anon_sym_QMARK,
+    ACTIONS(3205), 1,
+      anon_sym_COMMA,
+    ACTIONS(3313), 1,
+      anon_sym_SEMI,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2464), 5,
-      anon_sym_DOT_DOT_DOT,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_RBRACK,
-      anon_sym_QMARK,
-  [44937] = 18,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [46220] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2454), 1,
-      anon_sym_DASH_GT,
-    ACTIONS(2462), 1,
-      anon_sym_PIPE,
-    ACTIONS(2944), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
-      anon_sym_DOT,
-    ACTIONS(3177), 1,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3185), 1,
+    ACTIONS(3159), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3161), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3163), 1,
+      anon_sym_PIPE,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3187), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    STATE(673), 1,
+    ACTIONS(3171), 1,
+      anon_sym_QMARK,
+    ACTIONS(3205), 1,
+      anon_sym_COMMA,
+    ACTIONS(3315), 1,
+      anon_sym_RPAREN,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2464), 5,
-      anon_sym_DOT_DOT_DOT,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_RBRACK,
-      anon_sym_QMARK,
-  [45003] = 17,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [46292] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2454), 1,
-      anon_sym_DASH_GT,
-    ACTIONS(2462), 1,
-      anon_sym_PIPE,
-    ACTIONS(2944), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
-      anon_sym_DOT,
-    ACTIONS(3177), 1,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3187), 1,
+    ACTIONS(3159), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3161), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3163), 1,
+      anon_sym_PIPE,
+    ACTIONS(3165), 1,
+      anon_sym_CARET,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    STATE(673), 1,
+    ACTIONS(3171), 1,
+      anon_sym_QMARK,
+    ACTIONS(3205), 1,
+      anon_sym_COMMA,
+    ACTIONS(3317), 1,
+      anon_sym_COLON,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2464), 6,
-      anon_sym_DOT_DOT_DOT,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
-      anon_sym_RBRACK,
-      anon_sym_QMARK,
-  [45067] = 16,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [46364] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2454), 1,
-      anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
-      anon_sym_DOT,
-    ACTIONS(3177), 1,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    STATE(673), 1,
+    ACTIONS(3159), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3161), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3163), 1,
+      anon_sym_PIPE,
+    ACTIONS(3165), 1,
+      anon_sym_CARET,
+    ACTIONS(3167), 1,
+      anon_sym_AMP,
+    ACTIONS(3171), 1,
+      anon_sym_QMARK,
+    ACTIONS(3205), 1,
+      anon_sym_COMMA,
+    ACTIONS(3319), 1,
+      anon_sym_SEMI,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2462), 2,
-      anon_sym_PIPE,
-      anon_sym_AMP,
-    ACTIONS(3173), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2464), 6,
-      anon_sym_DOT_DOT_DOT,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
-      anon_sym_RBRACK,
-      anon_sym_QMARK,
-  [45129] = 15,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [46436] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2454), 1,
-      anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
-      anon_sym_DOT,
-    ACTIONS(3177), 1,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    STATE(673), 1,
+    ACTIONS(3159), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3161), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3163), 1,
+      anon_sym_PIPE,
+    ACTIONS(3165), 1,
+      anon_sym_CARET,
+    ACTIONS(3167), 1,
+      anon_sym_AMP,
+    ACTIONS(3171), 1,
+      anon_sym_QMARK,
+    ACTIONS(3205), 1,
+      anon_sym_COMMA,
+    ACTIONS(3321), 1,
+      anon_sym_SEMI,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2462), 2,
-      anon_sym_PIPE,
-      anon_sym_AMP,
-    ACTIONS(3173), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3191), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(2464), 8,
-      anon_sym_DOT_DOT_DOT,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
+    ACTIONS(3169), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-      anon_sym_RBRACK,
-      anon_sym_QMARK,
-  [45189] = 13,
+  [46508] = 10,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2454), 1,
-      anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(2522), 1,
+      sym_primitive_type,
+    ACTIONS(3323), 1,
+      sym_identifier,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(754), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(2519), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(672), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(2517), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(2510), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
-      anon_sym_DOT,
-    ACTIONS(3177), 1,
-      anon_sym_SLASH,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(3175), 2,
       anon_sym_STAR,
-      anon_sym_PERCENT,
-    ACTIONS(3195), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(2462), 4,
-      anon_sym_PIPE,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(2464), 10,
-      anon_sym_DOT_DOT_DOT,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_RBRACK,
-      anon_sym_QMARK,
-  [45245] = 21,
+      anon_sym_LBRACK,
+      anon_sym_COLON,
+    ACTIONS(2512), 10,
+      anon_sym___extension__,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [46558] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
+    ACTIONS(3205), 1,
       anon_sym_COMMA,
-    ACTIONS(3259), 1,
-      anon_sym_COLON,
-    STATE(673), 1,
+    ACTIONS(3325), 1,
+      anon_sym_SEMI,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [45317] = 12,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2454), 1,
-      anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
-      anon_sym_DOT,
-    ACTIONS(3177), 1,
-      anon_sym_SLASH,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(3175), 2,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-    ACTIONS(2462), 4,
-      anon_sym_PIPE,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(2464), 12,
-      anon_sym_DOT_DOT_DOT,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
+    ACTIONS(3169), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-      anon_sym_RBRACK,
-      anon_sym_QMARK,
-  [45371] = 21,
+  [46630] = 21,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
+    ACTIONS(3205), 1,
       anon_sym_COMMA,
-    ACTIONS(3261), 1,
+    ACTIONS(3327), 1,
       anon_sym_COLON,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [45443] = 21,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [46702] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2454), 1,
-      anon_sym_DASH_GT,
-    ACTIONS(2944), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2968), 1,
-      anon_sym_DOT,
-    ACTIONS(3177), 1,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3179), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3181), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3183), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3185), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3187), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3199), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    ACTIONS(3329), 1,
+      anon_sym_COLON,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(2813), 2,
-      anon_sym_DOT_DOT_DOT,
-      anon_sym_RBRACK,
-    ACTIONS(3173), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [45515] = 21,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [46771] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2198), 1,
+      anon_sym_RBRACK,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3024), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3239), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3241), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3243), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3245), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3247), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3259), 1,
       anon_sym_QMARK,
-    ACTIONS(3149), 1,
-      anon_sym_COMMA,
-    ACTIONS(3263), 1,
-      anon_sym_RPAREN,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [45587] = 20,
+  [46840] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2167), 1,
-      anon_sym_RBRACK,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2944), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3177), 1,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3179), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3181), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3183), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3185), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3187), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3199), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    ACTIONS(3331), 1,
+      anon_sym_RPAREN,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [45656] = 20,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [46909] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3177), 1,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3179), 1,
+    ACTIONS(3239), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3181), 1,
+    ACTIONS(3241), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3183), 1,
+    ACTIONS(3243), 1,
       anon_sym_PIPE,
-    ACTIONS(3185), 1,
+    ACTIONS(3245), 1,
       anon_sym_CARET,
-    ACTIONS(3187), 1,
+    ACTIONS(3247), 1,
       anon_sym_AMP,
-    ACTIONS(3199), 1,
+    ACTIONS(3259), 1,
       anon_sym_QMARK,
-    ACTIONS(3265), 1,
+    ACTIONS(3333), 1,
       anon_sym_RBRACK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [45725] = 20,
+  [46978] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3267), 1,
+    ACTIONS(3335), 1,
       anon_sym_COLON,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [45794] = 20,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [47047] = 13,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(49), 1,
+      anon_sym_const,
+    ACTIONS(1948), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(1950), 1,
+      anon_sym_STAR,
+    ACTIONS(2813), 1,
+      anon_sym_LBRACK,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(1442), 1,
+      sym_parameter_list,
+    STATE(1486), 1,
+      sym__abstract_declarator,
+    ACTIONS(3103), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(1093), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(3337), 3,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_COLON,
+    STATE(1467), 4,
+      sym_abstract_parenthesized_declarator,
+      sym_abstract_pointer_declarator,
+      sym_abstract_function_declarator,
+      sym_abstract_array_declarator,
+    ACTIONS(3097), 9,
+      anon_sym___extension__,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [47102] = 13,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(49), 1,
+      anon_sym_const,
+    ACTIONS(1948), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(1950), 1,
+      anon_sym_STAR,
+    ACTIONS(2813), 1,
+      anon_sym_LBRACK,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(1430), 1,
+      sym__abstract_declarator,
+    STATE(1442), 1,
+      sym_parameter_list,
+    ACTIONS(3103), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(672), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(2803), 3,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_COLON,
+    STATE(1467), 4,
+      sym_abstract_parenthesized_declarator,
+      sym_abstract_pointer_declarator,
+      sym_abstract_function_declarator,
+      sym_abstract_array_declarator,
+    ACTIONS(3097), 9,
+      anon_sym___extension__,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [47157] = 20,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2190), 1,
+      anon_sym_RBRACK,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3024), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3239), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3241), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3243), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3245), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3247), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3259), 1,
       anon_sym_QMARK,
-    ACTIONS(3269), 1,
-      anon_sym_RPAREN,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [45863] = 20,
+  [47226] = 13,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(49), 1,
+      anon_sym_const,
+    ACTIONS(1948), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(1950), 1,
+      anon_sym_STAR,
+    ACTIONS(2813), 1,
+      anon_sym_LBRACK,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(1442), 1,
+      sym_parameter_list,
+    STATE(1484), 1,
+      sym__abstract_declarator,
+    ACTIONS(3103), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(672), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(3339), 3,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_COLON,
+    STATE(1467), 4,
+      sym_abstract_parenthesized_declarator,
+      sym_abstract_pointer_declarator,
+      sym_abstract_function_declarator,
+      sym_abstract_array_declarator,
+    ACTIONS(3097), 9,
+      anon_sym___extension__,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+  [47281] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3271), 1,
-      anon_sym_COLON,
-    STATE(673), 1,
+    ACTIONS(3341), 1,
+      anon_sym_RPAREN,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [45932] = 20,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [47350] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2173), 1,
+    ACTIONS(2188), 1,
       anon_sym_RBRACK,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3177), 1,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3179), 1,
+    ACTIONS(3239), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3181), 1,
+    ACTIONS(3241), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3183), 1,
+    ACTIONS(3243), 1,
       anon_sym_PIPE,
-    ACTIONS(3185), 1,
+    ACTIONS(3245), 1,
       anon_sym_CARET,
-    ACTIONS(3187), 1,
+    ACTIONS(3247), 1,
       anon_sym_AMP,
-    ACTIONS(3199), 1,
+    ACTIONS(3259), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [46001] = 20,
+  [47419] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3273), 1,
+    ACTIONS(3343), 1,
       anon_sym_COLON,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [46070] = 13,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(47), 1,
-      anon_sym_const,
-    ACTIONS(1949), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(1951), 1,
-      anon_sym_STAR,
-    ACTIONS(2753), 1,
-      anon_sym_LBRACK,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(1446), 1,
-      sym_parameter_list,
-    STATE(1452), 1,
-      sym__abstract_declarator,
-    ACTIONS(3017), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    STATE(975), 2,
-      sym_type_qualifier,
-      aux_sym__type_definition_type_repeat1,
-    ACTIONS(3275), 3,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_COLON,
-    STATE(1445), 4,
-      sym_abstract_parenthesized_declarator,
-      sym_abstract_pointer_declarator,
-      sym_abstract_function_declarator,
-      sym_abstract_array_declarator,
-    ACTIONS(3011), 9,
-      anon_sym___extension__,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [46125] = 13,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [47488] = 13,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(47), 1,
+    ACTIONS(49), 1,
       anon_sym_const,
-    ACTIONS(1949), 1,
+    ACTIONS(1948), 1,
       anon_sym_LPAREN2,
-    ACTIONS(1951), 1,
+    ACTIONS(1950), 1,
       anon_sym_STAR,
-    ACTIONS(2753), 1,
+    ACTIONS(2813), 1,
       anon_sym_LBRACK,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1419), 1,
+    STATE(1429), 1,
       sym__abstract_declarator,
-    STATE(1446), 1,
+    STATE(1442), 1,
       sym_parameter_list,
-    ACTIONS(3017), 2,
+    ACTIONS(3103), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(975), 2,
+    STATE(672), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(2743), 3,
+    ACTIONS(3071), 3,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_COLON,
-    STATE(1445), 4,
+    STATE(1467), 4,
       sym_abstract_parenthesized_declarator,
       sym_abstract_pointer_declarator,
       sym_abstract_function_declarator,
       sym_abstract_array_declarator,
-    ACTIONS(3011), 9,
+    ACTIONS(3097), 9,
       anon_sym___extension__,
       anon_sym_constexpr,
       anon_sym_volatile,
@@ -99975,137 +101733,88 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [46180] = 20,
+  [47543] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2179), 1,
+    ACTIONS(2178), 1,
       anon_sym_RBRACK,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3177), 1,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3179), 1,
+    ACTIONS(3239), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3181), 1,
+    ACTIONS(3241), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3183), 1,
+    ACTIONS(3243), 1,
       anon_sym_PIPE,
-    ACTIONS(3185), 1,
+    ACTIONS(3245), 1,
       anon_sym_CARET,
-    ACTIONS(3187), 1,
+    ACTIONS(3247), 1,
       anon_sym_AMP,
-    ACTIONS(3199), 1,
+    ACTIONS(3259), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(3175), 2,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-    ACTIONS(3189), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(3193), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-  [46249] = 20,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2165), 1,
-      anon_sym_RBRACK,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2944), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3177), 1,
-      anon_sym_SLASH,
-    ACTIONS(3179), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3181), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(3183), 1,
-      anon_sym_PIPE,
-    ACTIONS(3185), 1,
-      anon_sym_CARET,
-    ACTIONS(3187), 1,
-      anon_sym_AMP,
-    ACTIONS(3199), 1,
-      anon_sym_QMARK,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
+    ACTIONS(2463), 2,
       anon_sym_DOT,
       anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [46318] = 13,
+  [47612] = 13,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(47), 1,
+    ACTIONS(49), 1,
       anon_sym_const,
-    ACTIONS(1949), 1,
+    ACTIONS(1948), 1,
       anon_sym_LPAREN2,
-    ACTIONS(1951), 1,
+    ACTIONS(1950), 1,
       anon_sym_STAR,
-    ACTIONS(2753), 1,
+    ACTIONS(2813), 1,
       anon_sym_LBRACK,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1446), 1,
+    STATE(1442), 1,
       sym_parameter_list,
-    STATE(1454), 1,
+    STATE(1495), 1,
       sym__abstract_declarator,
-    ACTIONS(3017), 2,
+    ACTIONS(3103), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(1084), 2,
+    STATE(672), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(3277), 3,
+    ACTIONS(3345), 3,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_COLON,
-    STATE(1445), 4,
+    STATE(1467), 4,
       sym_abstract_parenthesized_declarator,
       sym_abstract_pointer_declarator,
       sym_abstract_function_declarator,
       sym_abstract_array_declarator,
-    ACTIONS(3011), 9,
+    ACTIONS(3097), 9,
       anon_sym___extension__,
       anon_sym_constexpr,
       anon_sym_volatile,
@@ -100115,492 +101824,382 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [46373] = 20,
+  [47667] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2180), 1,
+      anon_sym_RBRACK,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3024), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3239), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3241), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3243), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3245), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3247), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3259), 1,
       anon_sym_QMARK,
-    ACTIONS(3279), 1,
-      anon_sym_COLON,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [46442] = 20,
+  [47736] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2175), 1,
-      anon_sym_RBRACK,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2944), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3177), 1,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3179), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3181), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3183), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3185), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3187), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3199), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    ACTIONS(3347), 1,
+      anon_sym_RPAREN,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [46511] = 5,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [47805] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    STATE(740), 1,
-      sym_attribute_specifier,
-    ACTIONS(2930), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_STAR,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-      anon_sym_COLON,
-    ACTIONS(2928), 19,
-      anon_sym___extension__,
-      anon_sym___based,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
-      sym_identifier,
-  [46550] = 20,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3239), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3241), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3243), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3245), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3247), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3259), 1,
       anon_sym_QMARK,
-    ACTIONS(3281), 1,
-      anon_sym_RPAREN,
-    STATE(673), 1,
+    ACTIONS(3349), 1,
+      anon_sym_RBRACK,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [46619] = 5,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    STATE(763), 1,
-      sym_attribute_specifier,
-    ACTIONS(2923), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_STAR,
-      anon_sym_LBRACK,
-      anon_sym_COLON,
-    ACTIONS(2921), 19,
-      anon_sym___extension__,
-      anon_sym___based,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
-      sym_identifier,
-  [46658] = 20,
+  [47874] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3283), 1,
-      anon_sym_RPAREN,
-    STATE(673), 1,
+    ACTIONS(3351), 1,
+      anon_sym_COLON,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [46727] = 20,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [47943] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3285), 1,
+    ACTIONS(3353), 1,
       anon_sym_COMMA,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [46796] = 13,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [48012] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(47), 1,
-      anon_sym_const,
-    ACTIONS(1949), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(1951), 1,
-      anon_sym_STAR,
-    ACTIONS(2753), 1,
-      anon_sym_LBRACK,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(1446), 1,
-      sym_parameter_list,
-    STATE(1467), 1,
-      sym__abstract_declarator,
-    ACTIONS(3017), 2,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-    STATE(975), 2,
-      sym_type_qualifier,
-      aux_sym__type_definition_type_repeat1,
-    ACTIONS(3287), 3,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_COLON,
-    STATE(1445), 4,
-      sym_abstract_parenthesized_declarator,
-      sym_abstract_pointer_declarator,
-      sym_abstract_function_declarator,
-      sym_abstract_array_declarator,
-    ACTIONS(3011), 9,
-      anon_sym___extension__,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-  [46851] = 20,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2177), 1,
-      anon_sym_RBRACK,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2944), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3177), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3179), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3181), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3183), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3185), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3187), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3199), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    ACTIONS(3355), 1,
+      anon_sym_RPAREN,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [46920] = 20,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [48081] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2181), 1,
+    ACTIONS(2174), 1,
       anon_sym_RBRACK,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3177), 1,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3179), 1,
+    ACTIONS(3239), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3181), 1,
+    ACTIONS(3241), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3183), 1,
+    ACTIONS(3243), 1,
       anon_sym_PIPE,
-    ACTIONS(3185), 1,
+    ACTIONS(3245), 1,
       anon_sym_CARET,
-    ACTIONS(3187), 1,
+    ACTIONS(3247), 1,
       anon_sym_AMP,
-    ACTIONS(3199), 1,
+    ACTIONS(3259), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [46989] = 13,
+  [48150] = 13,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(47), 1,
+    ACTIONS(49), 1,
       anon_sym_const,
-    ACTIONS(1949), 1,
+    ACTIONS(1948), 1,
       anon_sym_LPAREN2,
-    ACTIONS(1951), 1,
+    ACTIONS(1950), 1,
       anon_sym_STAR,
-    ACTIONS(2753), 1,
+    ACTIONS(2813), 1,
       anon_sym_LBRACK,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1426), 1,
-      sym__abstract_declarator,
-    STATE(1446), 1,
+    STATE(1442), 1,
       sym_parameter_list,
-    ACTIONS(3017), 2,
+    STATE(1474), 1,
+      sym__abstract_declarator,
+    ACTIONS(3103), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(975), 2,
+    STATE(1087), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(3007), 3,
+    ACTIONS(3357), 3,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_COLON,
-    STATE(1445), 4,
+    STATE(1467), 4,
       sym_abstract_parenthesized_declarator,
       sym_abstract_pointer_declarator,
       sym_abstract_function_declarator,
       sym_abstract_array_declarator,
-    ACTIONS(3011), 9,
+    ACTIONS(3097), 9,
       anon_sym___extension__,
       anon_sym_constexpr,
       anon_sym_volatile,
@@ -100610,368 +102209,381 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [47044] = 20,
+  [48205] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2183), 1,
+    ACTIONS(2196), 1,
       anon_sym_RBRACK,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3177), 1,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3179), 1,
+    ACTIONS(3239), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3181), 1,
+    ACTIONS(3241), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3183), 1,
+    ACTIONS(3243), 1,
       anon_sym_PIPE,
-    ACTIONS(3185), 1,
+    ACTIONS(3245), 1,
       anon_sym_CARET,
-    ACTIONS(3187), 1,
+    ACTIONS(3247), 1,
       anon_sym_AMP,
-    ACTIONS(3199), 1,
+    ACTIONS(3259), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [47113] = 20,
+  [48274] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2169), 1,
+    ACTIONS(2192), 1,
       anon_sym_RBRACK,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3177), 1,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3179), 1,
+    ACTIONS(3239), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3181), 1,
+    ACTIONS(3241), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3183), 1,
+    ACTIONS(3243), 1,
       anon_sym_PIPE,
-    ACTIONS(3185), 1,
+    ACTIONS(3245), 1,
       anon_sym_CARET,
-    ACTIONS(3187), 1,
+    ACTIONS(3247), 1,
       anon_sym_AMP,
-    ACTIONS(3199), 1,
+    ACTIONS(3259), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
+    ACTIONS(2461), 2,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
       anon_sym_DOT,
       anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(3233), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(3235), 2,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+    ACTIONS(3249), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3251), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3253), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(3255), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+  [48343] = 20,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2184), 1,
+      anon_sym_RBRACK,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3024), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3237), 1,
+      anon_sym_SLASH,
+    ACTIONS(3239), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3241), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3243), 1,
+      anon_sym_PIPE,
+    ACTIONS(3245), 1,
+      anon_sym_CARET,
+    ACTIONS(3247), 1,
+      anon_sym_AMP,
+    ACTIONS(3259), 1,
+      anon_sym_QMARK,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [47182] = 20,
+  [48412] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3289), 1,
+    ACTIONS(3359), 1,
       anon_sym_RPAREN,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [47251] = 20,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [48481] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2171), 1,
+    ACTIONS(2176), 1,
       anon_sym_RBRACK,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(2944), 1,
+    ACTIONS(3024), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3177), 1,
+    ACTIONS(3237), 1,
       anon_sym_SLASH,
-    ACTIONS(3179), 1,
+    ACTIONS(3239), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3181), 1,
+    ACTIONS(3241), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3183), 1,
+    ACTIONS(3243), 1,
       anon_sym_PIPE,
-    ACTIONS(3185), 1,
+    ACTIONS(3245), 1,
       anon_sym_CARET,
-    ACTIONS(3187), 1,
+    ACTIONS(3247), 1,
       anon_sym_AMP,
-    ACTIONS(3199), 1,
+    ACTIONS(3259), 1,
       anon_sym_QMARK,
-    STATE(673), 1,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3233), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3235), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
+    ACTIONS(3249), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3251), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3253), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3255), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [47320] = 20,
+  [48550] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
+    ACTIONS(2459), 1,
       anon_sym_LBRACK,
-    ACTIONS(3087), 1,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3089), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3095), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3097), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3123), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3291), 1,
-      anon_sym_COLON,
-    STATE(673), 1,
+    ACTIONS(3361), 1,
+      anon_sym_RPAREN,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3085), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3103), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [47389] = 20,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [48619] = 20,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(2944), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3177), 1,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3121), 1,
       anon_sym_SLASH,
-    ACTIONS(3179), 1,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3181), 1,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3183), 1,
+    ACTIONS(3163), 1,
       anon_sym_PIPE,
-    ACTIONS(3185), 1,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-    ACTIONS(3187), 1,
+    ACTIONS(3167), 1,
       anon_sym_AMP,
-    ACTIONS(3199), 1,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
-    ACTIONS(3293), 1,
-      anon_sym_RBRACK,
-    STATE(673), 1,
+    ACTIONS(3363), 1,
+      anon_sym_COLON,
+    STATE(676), 1,
       sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
-    ACTIONS(3173), 2,
+    ACTIONS(2463), 2,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+    ACTIONS(3117), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3175), 2,
+    ACTIONS(3119), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3189), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3191), 2,
+    ACTIONS(3123), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3193), 2,
+    ACTIONS(3125), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3195), 2,
+    ACTIONS(3127), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [47458] = 5,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [48688] = 12,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    STATE(754), 1,
-      sym_attribute_specifier,
-    ACTIONS(2939), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_STAR,
-      anon_sym_LBRACK,
-      anon_sym_COLON,
-    ACTIONS(2937), 19,
-      anon_sym___extension__,
+    ACTIONS(1827), 1,
       anon_sym___based,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
+    ACTIONS(3111), 1,
       sym_identifier,
-  [47497] = 13,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(47), 1,
-      anon_sym_const,
-    ACTIONS(1949), 1,
+    ACTIONS(3113), 1,
       anon_sym_LPAREN2,
-    ACTIONS(1951), 1,
+    ACTIONS(3115), 1,
       anon_sym_STAR,
-    ACTIONS(2753), 1,
-      anon_sym_LBRACK,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1446), 1,
-      sym_parameter_list,
-    STATE(1471), 1,
-      sym__abstract_declarator,
-    ACTIONS(3017), 2,
+    STATE(1325), 1,
+      sym__field_declarator,
+    STATE(1953), 1,
+      sym_ms_based_modifier,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(1072), 2,
+    STATE(672), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(3295), 3,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_COLON,
-    STATE(1445), 4,
-      sym_abstract_parenthesized_declarator,
-      sym_abstract_pointer_declarator,
-      sym_abstract_function_declarator,
-      sym_abstract_array_declarator,
-    ACTIONS(3011), 9,
+    STATE(1395), 5,
+      sym_parenthesized_field_declarator,
+      sym_attributed_field_declarator,
+      sym_pointer_field_declarator,
+      sym_function_field_declarator,
+      sym_array_field_declarator,
+    ACTIONS(49), 10,
       anon_sym___extension__,
+      anon_sym_const,
       anon_sym_constexpr,
       anon_sym_volatile,
       anon_sym_restrict,
@@ -100980,36 +102592,36 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [47552] = 12,
+  [48740] = 12,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3045), 1,
+    ACTIONS(3111), 1,
       sym_identifier,
-    ACTIONS(3047), 1,
+    ACTIONS(3113), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3049), 1,
+    ACTIONS(3115), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1317), 1,
+    STATE(1326), 1,
       sym__field_declarator,
-    STATE(1788), 1,
+    STATE(1953), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(975), 2,
+    STATE(672), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    STATE(1384), 5,
+    STATE(1395), 5,
       sym_parenthesized_field_declarator,
       sym_attributed_field_declarator,
       sym_pointer_field_declarator,
       sym_function_field_declarator,
       sym_array_field_declarator,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -101020,36 +102632,36 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [47604] = 12,
+  [48792] = 12,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3109), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1283), 1,
+    STATE(1369), 1,
       sym__declarator,
-    STATE(1846), 1,
+    STATE(1992), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(975), 2,
+    STATE(672), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -101060,36 +102672,36 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [47656] = 12,
+  [48844] = 12,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3031), 1,
+    ACTIONS(3109), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1355), 1,
+    STATE(1370), 1,
       sym__declarator,
-    STATE(1978), 1,
+    STATE(1992), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(975), 2,
+    STATE(672), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -101100,36 +102712,36 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [47708] = 12,
+  [48896] = 12,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1279), 1,
+    STATE(1299), 1,
       sym__declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(975), 2,
+    STATE(672), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -101140,83 +102752,36 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [47760] = 19,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(2452), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3087), 1,
-      anon_sym_SLASH,
-    ACTIONS(3089), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3091), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(3093), 1,
-      anon_sym_PIPE,
-    ACTIONS(3095), 1,
-      anon_sym_CARET,
-    ACTIONS(3097), 1,
-      anon_sym_AMP,
-    ACTIONS(3123), 1,
-      anon_sym_QMARK,
-    STATE(673), 1,
-      sym_argument_list,
-    ACTIONS(2454), 2,
-      anon_sym_DOT,
-      anon_sym_DASH_GT,
-    ACTIONS(2460), 2,
-      anon_sym_DASH_DASH,
-      anon_sym_PLUS_PLUS,
-    ACTIONS(3083), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(3085), 2,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-    ACTIONS(3099), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3101), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(3103), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(3105), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-  [47826] = 12,
+  [48948] = 12,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3045), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3047), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3049), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1331), 1,
-      sym__field_declarator,
-    STATE(1788), 1,
+    STATE(1300), 1,
+      sym__declarator,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(975), 2,
+    STATE(672), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    STATE(1384), 5,
-      sym_parenthesized_field_declarator,
-      sym_attributed_field_declarator,
-      sym_pointer_field_declarator,
-      sym_function_field_declarator,
-      sym_array_field_declarator,
-    ACTIONS(47), 10,
+    STATE(1311), 5,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_function_declarator,
+      sym_array_declarator,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -101227,36 +102792,36 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [47878] = 12,
+  [49000] = 12,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3109), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1282), 1,
+    STATE(1371), 1,
       sym__declarator,
-    STATE(1846), 1,
+    STATE(1992), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(975), 2,
+    STATE(672), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -101267,68 +102832,83 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [47930] = 4,
+  [49052] = 19,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3005), 1,
-      anon_sym_SEMI,
-    ACTIONS(1779), 7,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_SLASH,
-      anon_sym_PIPE,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(1773), 18,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
+    ACTIONS(2459), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3121), 1,
+      anon_sym_SLASH,
+    ACTIONS(3159), 1,
       anon_sym_PIPE_PIPE,
+    ACTIONS(3161), 1,
       anon_sym_AMP_AMP,
+    ACTIONS(3163), 1,
+      anon_sym_PIPE,
+    ACTIONS(3165), 1,
       anon_sym_CARET,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-      anon_sym_LBRACK,
+    ACTIONS(3167), 1,
+      anon_sym_AMP,
+    ACTIONS(3171), 1,
       anon_sym_QMARK,
+    STATE(676), 1,
+      sym_argument_list,
+    ACTIONS(2461), 2,
       anon_sym_DASH_DASH,
       anon_sym_PLUS_PLUS,
+    ACTIONS(2463), 2,
       anon_sym_DOT,
       anon_sym_DASH_GT,
-  [47966] = 12,
+    ACTIONS(3117), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(3119), 2,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+    ACTIONS(3123), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3125), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(3127), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(3169), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+  [49118] = 12,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3045), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3047), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3049), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1329), 1,
-      sym__field_declarator,
-    STATE(1788), 1,
+    STATE(1301), 1,
+      sym__declarator,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(975), 2,
+    STATE(672), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    STATE(1384), 5,
-      sym_parenthesized_field_declarator,
-      sym_attributed_field_declarator,
-      sym_pointer_field_declarator,
-      sym_function_field_declarator,
-      sym_array_field_declarator,
-    ACTIONS(47), 10,
+    STATE(1311), 5,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_function_declarator,
+      sym_array_declarator,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -101339,36 +102919,36 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [48018] = 12,
+  [49170] = 12,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(3111), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3113), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3031), 1,
+    ACTIONS(3115), 1,
       anon_sym_STAR,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    STATE(1354), 1,
-      sym__declarator,
-    STATE(1978), 1,
+    STATE(1327), 1,
+      sym__field_declarator,
+    STATE(1953), 1,
       sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(975), 2,
+    STATE(672), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    STATE(1303), 5,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_function_declarator,
-      sym_array_declarator,
-    ACTIONS(47), 10,
+    STATE(1395), 5,
+      sym_parenthesized_field_declarator,
+      sym_attributed_field_declarator,
+      sym_pointer_field_declarator,
+      sym_function_field_declarator,
+      sym_array_field_declarator,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -101379,36 +102959,66 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [48070] = 12,
+  [49222] = 4,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3075), 1,
+      anon_sym_SEMI,
+    ACTIONS(1778), 7,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_SLASH,
+      anon_sym_PIPE,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(1772), 18,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_CARET,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+      anon_sym_LBRACK,
+      anon_sym_QMARK,
+      anon_sym_DASH_DASH,
+      anon_sym_PLUS_PLUS,
+      anon_sym_DOT,
+      anon_sym_DASH_GT,
+  [49258] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(2515), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(3365), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3371), 1,
+      sym_primitive_type,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(1134), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(2510), 2,
       anon_sym_LPAREN2,
-    ACTIONS(3031), 1,
       anon_sym_STAR,
-    STATE(710), 1,
-      sym_alignas_qualifier,
-    STATE(1373), 1,
-      sym__declarator,
-    STATE(1978), 1,
-      sym_ms_based_modifier,
-    ACTIONS(49), 2,
+    ACTIONS(2519), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    STATE(975), 2,
+    STATE(672), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    STATE(1303), 5,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_function_declarator,
-      sym_array_declarator,
-    ACTIONS(47), 10,
+    ACTIONS(3368), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(2512), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -101419,27 +103029,27 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [48122] = 6,
+  [49307] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(731), 1,
+    STATE(736), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2552), 2,
+    ACTIONS(2601), 2,
       sym_primitive_type,
       sym_identifier,
-    ACTIONS(2556), 4,
+    ACTIONS(2605), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    ACTIONS(2704), 6,
+    ACTIONS(2663), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_STAR,
       anon_sym_LBRACK,
       anon_sym_COLON,
-    ACTIONS(2701), 12,
+    ACTIONS(2660), 12,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -101452,28 +103062,34 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Nonnull,
       anon_sym_alignas,
       anon_sym__Alignas,
-  [48161] = 7,
+  [49346] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2639), 1,
-      sym_primitive_type,
-    ACTIONS(3297), 1,
+    ACTIONS(2548), 1,
+      anon_sym___based,
+    ACTIONS(3374), 1,
       sym_identifier,
-    STATE(1107), 1,
+    ACTIONS(3380), 1,
+      sym_primitive_type,
+    STATE(720), 1,
+      sym_alignas_qualifier,
+    STATE(1143), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(3299), 4,
+    ACTIONS(2543), 2,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+    ACTIONS(2552), 2,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+    STATE(1120), 2,
+      sym_type_qualifier,
+      aux_sym__type_definition_type_repeat1,
+    ACTIONS(3377), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    ACTIONS(2633), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_STAR,
-      anon_sym_LBRACK,
-      anon_sym_COLON,
-    ACTIONS(2635), 12,
+    ACTIONS(2545), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -101484,23 +103100,21 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-  [48202] = 7,
+  [49395] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(3303), 2,
+    ACTIONS(3385), 2,
       anon_sym_LPAREN2,
       anon_sym_STAR,
-    STATE(1112), 2,
+    STATE(672), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(3301), 7,
+    ACTIONS(3383), 7,
       anon_sym___based,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -101508,7 +103122,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_short,
       sym_primitive_type,
       sym_identifier,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -101519,21 +103133,21 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [48242] = 7,
+  [49435] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(3307), 2,
+    ACTIONS(3389), 2,
       anon_sym_LPAREN2,
       anon_sym_STAR,
-    STATE(1111), 2,
+    STATE(1125), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(3305), 7,
+    ACTIONS(3387), 7,
       anon_sym___based,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -101541,7 +103155,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_short,
       sym_primitive_type,
       sym_identifier,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -101552,21 +103166,21 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [48282] = 7,
+  [49475] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(3311), 2,
+    ACTIONS(3393), 2,
       anon_sym_LPAREN2,
       anon_sym_STAR,
-    STATE(975), 2,
+    STATE(672), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(3309), 7,
+    ACTIONS(3391), 7,
       anon_sym___based,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -101574,7 +103188,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_short,
       sym_primitive_type,
       sym_identifier,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -101585,21 +103199,21 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [48322] = 7,
+  [49515] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(710), 1,
+    STATE(720), 1,
       sym_alignas_qualifier,
-    ACTIONS(49), 2,
+    ACTIONS(51), 2,
       anon_sym_alignas,
       anon_sym__Alignas,
-    ACTIONS(3315), 2,
+    ACTIONS(3397), 2,
       anon_sym_LPAREN2,
       anon_sym_STAR,
-    STATE(975), 2,
+    STATE(1123), 2,
       sym_type_qualifier,
       aux_sym__type_definition_type_repeat1,
-    ACTIONS(3313), 7,
+    ACTIONS(3395), 7,
       anon_sym___based,
       anon_sym_signed,
       anon_sym_unsigned,
@@ -101607,7 +103221,7 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_short,
       sym_primitive_type,
       sym_identifier,
-    ACTIONS(47), 10,
+    ACTIONS(49), 10,
       anon_sym___extension__,
       anon_sym_const,
       anon_sym_constexpr,
@@ -101618,101 +103232,272 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Noreturn,
       anon_sym_noreturn,
       anon_sym__Nonnull,
-  [48362] = 12,
+  [49555] = 15,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1823), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2972), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(2974), 1,
+    ACTIONS(2805), 1,
+      anon_sym_STAR,
+    ACTIONS(2813), 1,
+      anon_sym_LBRACK,
+    STATE(1329), 1,
+      sym__declarator,
+    STATE(1389), 1,
+      sym__abstract_declarator,
+    STATE(1442), 1,
+      sym_parameter_list,
+    STATE(1992), 1,
+      sym_ms_based_modifier,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(3399), 2,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+    STATE(1478), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+    STATE(1467), 4,
+      sym_abstract_parenthesized_declarator,
+      sym_abstract_pointer_declarator,
+      sym_abstract_function_declarator,
+      sym_abstract_array_declarator,
+    STATE(1311), 5,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_function_declarator,
+      sym_array_declarator,
+  [49611] = 12,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(3010), 1,
+      sym_identifier,
+    ACTIONS(3012), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2976), 1,
+    ACTIONS(3014), 1,
       anon_sym_STAR,
-    ACTIONS(2980), 1,
+    ACTIONS(3018), 1,
       sym_primitive_type,
-    STATE(1264), 1,
+    STATE(1287), 1,
       sym_ms_call_modifier,
-    STATE(1432), 1,
+    STATE(1438), 1,
       sym__type_declarator,
-    STATE(1954), 1,
+    STATE(1810), 1,
       sym_ms_based_modifier,
-    ACTIONS(2978), 4,
+    ACTIONS(3016), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(1408), 5,
+    STATE(1421), 5,
       sym_parenthesized_type_declarator,
       sym_attributed_type_declarator,
       sym_pointer_type_declarator,
       sym_function_type_declarator,
       sym_array_type_declarator,
-    ACTIONS(39), 6,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [48411] = 15,
+  [49660] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(1814), 1,
+    STATE(736), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(2747), 2,
       anon_sym_LPAREN2,
-    ACTIONS(1818), 1,
+      anon_sym_STAR,
+    ACTIONS(3401), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(2745), 15,
+      anon_sym___extension__,
       anon_sym___based,
-    ACTIONS(2741), 1,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
       sym_identifier,
-    ACTIONS(2745), 1,
+  [49694] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    STATE(736), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(2668), 2,
+      anon_sym_LPAREN2,
       anon_sym_STAR,
-    ACTIONS(2753), 1,
-      anon_sym_LBRACK,
-    STATE(1316), 1,
-      sym__declarator,
-    STATE(1389), 1,
-      sym__abstract_declarator,
-    STATE(1446), 1,
-      sym_parameter_list,
-    STATE(1978), 1,
-      sym_ms_based_modifier,
-    ACTIONS(3317), 2,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-    STATE(1485), 2,
-      sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-    STATE(1445), 4,
-      sym_abstract_parenthesized_declarator,
-      sym_abstract_pointer_declarator,
-      sym_abstract_function_declarator,
-      sym_abstract_array_declarator,
-    STATE(1303), 5,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_function_declarator,
-      sym_array_declarator,
-  [48466] = 7,
+    ACTIONS(3404), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(2666), 15,
+      anon_sym___extension__,
+      anon_sym___based,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      sym_identifier,
+  [49728] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3319), 1,
+    STATE(736), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(2672), 2,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+    ACTIONS(3407), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(2670), 15,
+      anon_sym___extension__,
+      anon_sym___based,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
       sym_identifier,
-    ACTIONS(3325), 1,
+  [49762] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    STATE(1140), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(2676), 2,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+    ACTIONS(3410), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(2674), 15,
+      anon_sym___extension__,
+      anon_sym___based,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      sym_identifier,
+  [49796] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    STATE(1141), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(2682), 2,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+    ACTIONS(3413), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(2680), 15,
+      anon_sym___extension__,
+      anon_sym___based,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+      sym_primitive_type,
+      sym_identifier,
+  [49830] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    STATE(736), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(2688), 2,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+    ACTIONS(3416), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    ACTIONS(2686), 15,
+      anon_sym___extension__,
+      anon_sym___based,
+      anon_sym_const,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
       sym_primitive_type,
-    STATE(1123), 1,
+      sym_identifier,
+  [49864] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    STATE(736), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2633), 2,
+    ACTIONS(2652), 2,
       anon_sym_LPAREN2,
       anon_sym_STAR,
-    ACTIONS(3322), 4,
+    ACTIONS(3419), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    ACTIONS(2635), 13,
+    ACTIONS(2650), 15,
       anon_sym___extension__,
       anon_sym___based,
       anon_sym_const,
@@ -101726,166 +103511,178 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Nonnull,
       anon_sym_alignas,
       anon_sym__Alignas,
-  [48504] = 15,
+      sym_primitive_type,
+      sym_identifier,
+  [49898] = 15,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(647), 1,
+    STATE(653), 1,
       sym__old_style_function_declarator,
-    STATE(1297), 1,
+    STATE(1306), 1,
       sym_ms_call_modifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1344), 1,
+    STATE(1365), 1,
       sym__declarator,
-    STATE(1435), 1,
+    STATE(1446), 1,
       sym__declaration_declarator,
-    STATE(1484), 1,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1615), 1,
+    STATE(1597), 1,
+      sym_init_declarator,
+    STATE(1967), 1,
+      sym_ms_based_modifier,
+    STATE(1375), 4,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_array_declarator,
+    ACTIONS(41), 6,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+  [49952] = 15,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(3105), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3107), 1,
+      anon_sym_STAR,
+    ACTIONS(3422), 1,
+      sym_identifier,
+    STATE(649), 1,
+      sym__old_style_function_declarator,
+    STATE(1310), 1,
+      sym_ms_call_modifier,
+    STATE(1311), 1,
+      sym_function_declarator,
+    STATE(1376), 1,
+      sym__declarator,
+    STATE(1445), 1,
+      sym__declaration_declarator,
+    STATE(1512), 1,
+      sym__function_declaration_declarator,
+    STATE(1586), 1,
       sym_init_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-    ACTIONS(39), 6,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [48558] = 5,
+  [50006] = 15,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(1124), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2697), 2,
-      anon_sym_LPAREN2,
-      anon_sym_STAR,
-    ACTIONS(3330), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    ACTIONS(2695), 15,
-      anon_sym___extension__,
-      anon_sym___based,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
-      sym_identifier,
-  [48592] = 15,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(654), 1,
+    STATE(652), 1,
       sym__old_style_function_declarator,
-    STATE(1292), 1,
-      sym_ms_call_modifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1345), 1,
+    STATE(1316), 1,
+      sym_ms_call_modifier,
+    STATE(1374), 1,
       sym__declarator,
-    STATE(1418), 1,
+    STATE(1468), 1,
       sym__declaration_declarator,
-    STATE(1484), 1,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1657), 1,
+    STATE(1673), 1,
       sym_init_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-    ACTIONS(39), 6,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [48646] = 15,
+  [50060] = 15,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(659), 1,
+    STATE(658), 1,
       sym__old_style_function_declarator,
-    STATE(1291), 1,
-      sym_ms_call_modifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1342), 1,
+    STATE(1319), 1,
+      sym_ms_call_modifier,
+    STATE(1373), 1,
       sym__declarator,
-    STATE(1424), 1,
+    STATE(1459), 1,
       sym__declaration_declarator,
-    STATE(1484), 1,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1571), 1,
+    STATE(1644), 1,
       sym_init_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-    ACTIONS(39), 6,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [48700] = 5,
+  [50114] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(1125), 1,
+    STATE(736), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2577), 2,
+    ACTIONS(2755), 2,
       anon_sym_LPAREN2,
       anon_sym_STAR,
-    ACTIONS(3333), 4,
+    ACTIONS(3424), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    ACTIONS(2575), 15,
+    ACTIONS(2753), 15,
       anon_sym___extension__,
       anon_sym___based,
       anon_sym_const,
@@ -101901,49 +103698,20 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [48734] = 5,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3338), 1,
-      anon_sym_LPAREN2,
-    STATE(1002), 1,
-      sym_preproc_argument_list,
-    ACTIONS(3340), 5,
-      anon_sym_SLASH,
-      anon_sym_PIPE,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(3336), 15,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-  [48768] = 5,
+  [50148] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(731), 1,
+    STATE(736), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2624), 2,
+    ACTIONS(2759), 2,
       anon_sym_LPAREN2,
       anon_sym_STAR,
-    ACTIONS(3342), 4,
+    ACTIONS(3427), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    ACTIONS(2622), 15,
+    ACTIONS(2757), 15,
       anon_sym___extension__,
       anon_sym___based,
       anon_sym_const,
@@ -101959,20 +103727,20 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [48802] = 5,
+  [50182] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(731), 1,
+    STATE(1135), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2704), 2,
+    ACTIONS(2692), 2,
       anon_sym_LPAREN2,
       anon_sym_STAR,
-    ACTIONS(3345), 4,
+    ACTIONS(3430), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    ACTIONS(2701), 15,
+    ACTIONS(2690), 15,
       anon_sym___extension__,
       anon_sym___based,
       anon_sym_const,
@@ -101988,20 +103756,20 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [48836] = 5,
+  [50216] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(731), 1,
+    STATE(736), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2628), 2,
+    ACTIONS(2663), 2,
       anon_sym_LPAREN2,
       anon_sym_STAR,
-    ACTIONS(3349), 4,
+    ACTIONS(3433), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    ACTIONS(2626), 15,
+    ACTIONS(2660), 15,
       anon_sym___extension__,
       anon_sym___based,
       anon_sym_const,
@@ -102017,20 +103785,21 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [48870] = 5,
+  [50250] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(731), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2587), 2,
-      anon_sym_LPAREN2,
+    ACTIONS(1786), 1,
       anon_sym_STAR,
-    ACTIONS(3352), 4,
+    ACTIONS(2738), 1,
+      anon_sym_LPAREN2,
+    STATE(1129), 1,
+      aux_sym_sized_type_specifier_repeat1,
+    ACTIONS(3437), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    ACTIONS(2585), 15,
+    ACTIONS(1770), 15,
       anon_sym___extension__,
       anon_sym___based,
       anon_sym_const,
@@ -102046,49 +103815,49 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [48904] = 5,
+  [50286] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(1122), 1,
-      aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2691), 2,
+    ACTIONS(3442), 1,
       anon_sym_LPAREN2,
+    STATE(1012), 1,
+      sym_preproc_argument_list,
+    ACTIONS(3444), 5,
+      anon_sym_SLASH,
+      anon_sym_PIPE,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3440), 15,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_DASH,
+      anon_sym_PLUS,
       anon_sym_STAR,
-    ACTIONS(3355), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    ACTIONS(2689), 15,
-      anon_sym___extension__,
-      anon_sym___based,
-      anon_sym_const,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-      sym_primitive_type,
-      sym_identifier,
-  [48938] = 5,
+      anon_sym_PERCENT,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_CARET,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+  [50320] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(731), 1,
+    STATE(1130), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(2643), 2,
+    ACTIONS(2642), 2,
       anon_sym_LPAREN2,
       anon_sym_STAR,
-    ACTIONS(3358), 4,
+    ACTIONS(3446), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    ACTIONS(2641), 15,
+    ACTIONS(2640), 15,
       anon_sym___extension__,
       anon_sym___based,
       anon_sym_const,
@@ -102104,21 +103873,20 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [48972] = 6,
+  [50354] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1784), 1,
-      anon_sym_STAR,
-    ACTIONS(2619), 1,
-      anon_sym_LPAREN2,
-    STATE(1127), 1,
+    STATE(1131), 1,
       aux_sym_sized_type_specifier_repeat1,
-    ACTIONS(3361), 4,
+    ACTIONS(2698), 2,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+    ACTIONS(3449), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    ACTIONS(1771), 15,
+    ACTIONS(2696), 15,
       anon_sym___extension__,
       anon_sym___based,
       anon_sym_const,
@@ -102134,615 +103902,617 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym__Alignas,
       sym_primitive_type,
       sym_identifier,
-  [49008] = 15,
+  [50388] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(656), 1,
-      sym__old_style_function_declarator,
-    STATE(1295), 1,
+    STATE(1306), 1,
       sym_ms_call_modifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1336), 1,
+    STATE(1394), 1,
       sym__declarator,
-    STATE(1427), 1,
+    STATE(1446), 1,
       sym__declaration_declarator,
-    STATE(1484), 1,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1563), 1,
+    STATE(1597), 1,
       sym_init_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-    ACTIONS(39), 6,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [49062] = 14,
+  [50439] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(1293), 1,
-      sym_ms_call_modifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1422), 1,
-      sym__declarator,
-    STATE(1431), 1,
+    STATE(1318), 1,
+      sym_ms_call_modifier,
+    STATE(1445), 1,
       sym__declaration_declarator,
-    STATE(1484), 1,
+    STATE(1469), 1,
+      sym__declarator,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1606), 1,
+    STATE(1586), 1,
       sym_init_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-    ACTIONS(39), 6,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [49113] = 5,
-    ACTIONS(3336), 1,
-      anon_sym_LF,
-    ACTIONS(3364), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3366), 1,
+  [50490] = 16,
+    ACTIONS(3), 1,
       sym_comment,
-    STATE(1233), 1,
-      sym_preproc_argument_list,
-    ACTIONS(3340), 18,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_STAR,
+    ACTIONS(3452), 1,
+      anon_sym_COMMA,
+    ACTIONS(3454), 1,
+      anon_sym_RPAREN,
+    ACTIONS(3460), 1,
       anon_sym_SLASH,
-      anon_sym_PERCENT,
+    ACTIONS(3462), 1,
       anon_sym_PIPE_PIPE,
+    ACTIONS(3464), 1,
       anon_sym_AMP_AMP,
+    ACTIONS(3466), 1,
       anon_sym_PIPE,
+    ACTIONS(3468), 1,
       anon_sym_CARET,
+    ACTIONS(3470), 1,
       anon_sym_AMP,
+    STATE(1619), 1,
+      aux_sym_preproc_argument_list_repeat1,
+    ACTIONS(3456), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(3458), 2,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+    ACTIONS(3472), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
+    ACTIONS(3474), 2,
       anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3476), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-      anon_sym_LT,
+    ACTIONS(3478), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [49146] = 10,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3368), 1,
-      sym_identifier,
-    ACTIONS(3370), 1,
-      anon_sym_RPAREN,
-    ACTIONS(3372), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3374), 1,
-      anon_sym_defined,
-    ACTIONS(3380), 1,
-      sym_number_literal,
-    ACTIONS(3376), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(3378), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(3382), 5,
-      anon_sym_L_SQUOTE,
-      anon_sym_u_SQUOTE,
-      anon_sym_U_SQUOTE,
-      anon_sym_u8_SQUOTE,
-      anon_sym_SQUOTE,
-    STATE(1142), 7,
-      sym__preproc_expression,
-      sym_preproc_parenthesized_expression,
-      sym_preproc_defined,
-      sym_preproc_unary_expression,
-      sym_preproc_call_expression,
-      sym_preproc_binary_expression,
-      sym_char_literal,
-  [49189] = 16,
+  [50545] = 16,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3384), 1,
+    ACTIONS(3452), 1,
       anon_sym_COMMA,
-    ACTIONS(3386), 1,
-      anon_sym_RPAREN,
-    ACTIONS(3392), 1,
+    ACTIONS(3460), 1,
       anon_sym_SLASH,
-    ACTIONS(3394), 1,
+    ACTIONS(3462), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3396), 1,
+    ACTIONS(3464), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3398), 1,
+    ACTIONS(3466), 1,
       anon_sym_PIPE,
-    ACTIONS(3400), 1,
+    ACTIONS(3468), 1,
       anon_sym_CARET,
-    ACTIONS(3402), 1,
+    ACTIONS(3470), 1,
       anon_sym_AMP,
-    STATE(1579), 1,
+    ACTIONS(3480), 1,
+      anon_sym_RPAREN,
+    STATE(1604), 1,
       aux_sym_preproc_argument_list_repeat1,
-    ACTIONS(3388), 2,
+    ACTIONS(3456), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3390), 2,
+    ACTIONS(3458), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3404), 2,
+    ACTIONS(3472), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3406), 2,
+    ACTIONS(3474), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3408), 2,
+    ACTIONS(3476), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3410), 2,
+    ACTIONS(3478), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [49244] = 10,
+  [50600] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3368), 1,
-      sym_identifier,
-    ACTIONS(3372), 1,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3374), 1,
-      anon_sym_defined,
-    ACTIONS(3412), 1,
-      anon_sym_RPAREN,
-    ACTIONS(3414), 1,
-      sym_number_literal,
-    ACTIONS(3376), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(3378), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(3382), 5,
-      anon_sym_L_SQUOTE,
-      anon_sym_u_SQUOTE,
-      anon_sym_U_SQUOTE,
-      anon_sym_u8_SQUOTE,
-      anon_sym_SQUOTE,
-    STATE(1138), 7,
-      sym__preproc_expression,
-      sym_preproc_parenthesized_expression,
-      sym_preproc_defined,
-      sym_preproc_unary_expression,
-      sym_preproc_call_expression,
-      sym_preproc_binary_expression,
-      sym_char_literal,
-  [49287] = 14,
+    ACTIONS(3107), 1,
+      anon_sym_STAR,
+    ACTIONS(3422), 1,
+      sym_identifier,
+    STATE(1311), 1,
+      sym_function_declarator,
+    STATE(1320), 1,
+      sym_ms_call_modifier,
+    STATE(1459), 1,
+      sym__declaration_declarator,
+    STATE(1469), 1,
+      sym__declarator,
+    STATE(1512), 1,
+      sym__function_declaration_declarator,
+    STATE(1644), 1,
+      sym_init_declarator,
+    STATE(1967), 1,
+      sym_ms_based_modifier,
+    STATE(1375), 4,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_array_declarator,
+    ACTIONS(41), 6,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+  [50651] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(1291), 1,
-      sym_ms_call_modifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1365), 1,
+    STATE(1319), 1,
+      sym_ms_call_modifier,
+    STATE(1402), 1,
       sym__declarator,
-    STATE(1424), 1,
+    STATE(1459), 1,
       sym__declaration_declarator,
-    STATE(1484), 1,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1571), 1,
+    STATE(1644), 1,
       sym_init_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-    ACTIONS(39), 6,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [49338] = 14,
+  [50702] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(1288), 1,
-      sym_ms_call_modifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1422), 1,
-      sym__declarator,
-    STATE(1442), 1,
+    STATE(1323), 1,
+      sym_ms_call_modifier,
+    STATE(1446), 1,
       sym__declaration_declarator,
-    STATE(1484), 1,
+    STATE(1469), 1,
+      sym__declarator,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1589), 1,
+    STATE(1597), 1,
       sym_init_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-    ACTIONS(39), 6,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [49389] = 14,
+  [50753] = 9,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(2917), 1,
+      anon_sym_const,
+    ACTIONS(2924), 1,
+      anon_sym_LBRACE,
+    ACTIONS(3482), 1,
+      anon_sym___attribute__,
+    ACTIONS(3484), 1,
+      anon_sym_COLON,
+    STATE(774), 1,
+      sym_attribute_specifier,
+    STATE(1044), 1,
+      sym_enumerator_list,
+    ACTIONS(2919), 14,
+      anon_sym_LPAREN2,
+      anon_sym_STAR,
+      anon_sym___extension__,
+      anon_sym_LBRACK,
+      anon_sym_constexpr,
+      anon_sym_volatile,
+      anon_sym_restrict,
+      anon_sym___restrict__,
+      anon_sym__Atomic,
+      anon_sym__Noreturn,
+      anon_sym_noreturn,
+      anon_sym__Nonnull,
+      anon_sym_alignas,
+      anon_sym__Alignas,
+  [50794] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(1297), 1,
+    STATE(1309), 1,
       sym_ms_call_modifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1360), 1,
+    STATE(1469), 1,
       sym__declarator,
-    STATE(1435), 1,
+    STATE(1494), 1,
       sym__declaration_declarator,
-    STATE(1484), 1,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1615), 1,
+    STATE(1740), 1,
       sym_init_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-    ACTIONS(39), 6,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [49440] = 16,
+  [50845] = 16,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3384), 1,
+    ACTIONS(3452), 1,
       anon_sym_COMMA,
-    ACTIONS(3392), 1,
+    ACTIONS(3460), 1,
       anon_sym_SLASH,
-    ACTIONS(3394), 1,
+    ACTIONS(3462), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3396), 1,
+    ACTIONS(3464), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3398), 1,
+    ACTIONS(3466), 1,
       anon_sym_PIPE,
-    ACTIONS(3400), 1,
+    ACTIONS(3468), 1,
       anon_sym_CARET,
-    ACTIONS(3402), 1,
+    ACTIONS(3470), 1,
       anon_sym_AMP,
-    ACTIONS(3416), 1,
+    ACTIONS(3487), 1,
       anon_sym_RPAREN,
-    STATE(1639), 1,
+    STATE(1582), 1,
       aux_sym_preproc_argument_list_repeat1,
-    ACTIONS(3388), 2,
+    ACTIONS(3456), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3390), 2,
+    ACTIONS(3458), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3404), 2,
+    ACTIONS(3472), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3406), 2,
+    ACTIONS(3474), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3408), 2,
+    ACTIONS(3476), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3410), 2,
+    ACTIONS(3478), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [49495] = 14,
+  [50900] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(1287), 1,
-      sym_ms_call_modifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1418), 1,
+    STATE(1322), 1,
+      sym_ms_call_modifier,
+    STATE(1468), 1,
       sym__declaration_declarator,
-    STATE(1422), 1,
+    STATE(1469), 1,
       sym__declarator,
-    STATE(1484), 1,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1657), 1,
+    STATE(1673), 1,
       sym_init_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-    ACTIONS(39), 6,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [49546] = 14,
+  [50951] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(1292), 1,
-      sym_ms_call_modifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1372), 1,
-      sym__declarator,
-    STATE(1418), 1,
+    STATE(1312), 1,
+      sym_ms_call_modifier,
+    STATE(1457), 1,
       sym__declaration_declarator,
-    STATE(1484), 1,
+    STATE(1469), 1,
+      sym__declarator,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1657), 1,
+    STATE(1635), 1,
       sym_init_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-    ACTIONS(39), 6,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [49597] = 14,
+  [51002] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(1285), 1,
+    STATE(1307), 1,
       sym_ms_call_modifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1422), 1,
-      sym__declarator,
-    STATE(1458), 1,
+    STATE(1453), 1,
       sym__declaration_declarator,
-    STATE(1484), 1,
+    STATE(1469), 1,
+      sym__declarator,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1749), 1,
+    STATE(1620), 1,
       sym_init_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-    ACTIONS(39), 6,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [49648] = 16,
+  [51053] = 10,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3384), 1,
-      anon_sym_COMMA,
-    ACTIONS(3392), 1,
-      anon_sym_SLASH,
-    ACTIONS(3394), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3396), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(3398), 1,
-      anon_sym_PIPE,
-    ACTIONS(3400), 1,
-      anon_sym_CARET,
-    ACTIONS(3402), 1,
-      anon_sym_AMP,
-    ACTIONS(3418), 1,
+    ACTIONS(3489), 1,
+      sym_identifier,
+    ACTIONS(3491), 1,
       anon_sym_RPAREN,
-    STATE(1575), 1,
-      aux_sym_preproc_argument_list_repeat1,
-    ACTIONS(3388), 2,
+    ACTIONS(3493), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3495), 1,
+      anon_sym_defined,
+    ACTIONS(3501), 1,
+      sym_number_literal,
+    ACTIONS(3497), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(3499), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3390), 2,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-    ACTIONS(3404), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3406), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(3408), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(3410), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-  [49703] = 14,
+    ACTIONS(3503), 5,
+      anon_sym_L_SQUOTE,
+      anon_sym_u_SQUOTE,
+      anon_sym_U_SQUOTE,
+      anon_sym_u8_SQUOTE,
+      anon_sym_SQUOTE,
+    STATE(1150), 7,
+      sym__preproc_expression,
+      sym_preproc_parenthesized_expression,
+      sym_preproc_defined,
+      sym_preproc_unary_expression,
+      sym_preproc_call_expression,
+      sym_preproc_binary_expression,
+      sym_char_literal,
+  [51096] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(1296), 1,
+    STATE(1310), 1,
       sym_ms_call_modifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1422), 1,
+    STATE(1404), 1,
       sym__declarator,
-    STATE(1427), 1,
+    STATE(1445), 1,
       sym__declaration_declarator,
-    STATE(1484), 1,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1563), 1,
+    STATE(1586), 1,
       sym_init_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-    ACTIONS(39), 6,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [49754] = 14,
+  [51147] = 10,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(3029), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
-      anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3489), 1,
       sym_identifier,
-    STATE(1290), 1,
-      sym_ms_call_modifier,
-    STATE(1303), 1,
-      sym_function_declarator,
-    STATE(1422), 1,
-      sym__declarator,
-    STATE(1435), 1,
-      sym__declaration_declarator,
-    STATE(1484), 1,
-      sym__function_declaration_declarator,
-    STATE(1615), 1,
-      sym_init_declarator,
-    STATE(1846), 1,
-      sym_ms_based_modifier,
-    STATE(1343), 4,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_array_declarator,
-    ACTIONS(39), 6,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
-  [49805] = 10,
+    ACTIONS(3493), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3495), 1,
+      anon_sym_defined,
+    ACTIONS(3505), 1,
+      anon_sym_RPAREN,
+    ACTIONS(3507), 1,
+      sym_number_literal,
+    ACTIONS(3497), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(3499), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(3503), 5,
+      anon_sym_L_SQUOTE,
+      anon_sym_u_SQUOTE,
+      anon_sym_U_SQUOTE,
+      anon_sym_u8_SQUOTE,
+      anon_sym_SQUOTE,
+    STATE(1151), 7,
+      sym__preproc_expression,
+      sym_preproc_parenthesized_expression,
+      sym_preproc_defined,
+      sym_preproc_unary_expression,
+      sym_preproc_call_expression,
+      sym_preproc_binary_expression,
+      sym_char_literal,
+  [51190] = 10,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3368), 1,
+    ACTIONS(3489), 1,
       sym_identifier,
-    ACTIONS(3372), 1,
+    ACTIONS(3493), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3374), 1,
+    ACTIONS(3495), 1,
       anon_sym_defined,
-    ACTIONS(3420), 1,
+    ACTIONS(3509), 1,
       anon_sym_RPAREN,
-    ACTIONS(3422), 1,
+    ACTIONS(3511), 1,
       sym_number_literal,
-    ACTIONS(3376), 2,
+    ACTIONS(3497), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3378), 2,
+    ACTIONS(3499), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3382), 5,
+    ACTIONS(3503), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1133), 7,
+    STATE(1157), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -102750,104 +104520,95 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [49848] = 14,
+  [51233] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(1295), 1,
-      sym_ms_call_modifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1353), 1,
+    STATE(1316), 1,
+      sym_ms_call_modifier,
+    STATE(1378), 1,
       sym__declarator,
-    STATE(1427), 1,
+    STATE(1468), 1,
       sym__declaration_declarator,
-    STATE(1484), 1,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1563), 1,
+    STATE(1673), 1,
       sym_init_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-    ACTIONS(39), 6,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [49899] = 14,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(3029), 1,
+  [51284] = 5,
+    ACTIONS(3440), 1,
+      anon_sym_LF,
+    ACTIONS(3513), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3515), 1,
+      sym_comment,
+    STATE(1240), 1,
+      sym_preproc_argument_list,
+    ACTIONS(3444), 18,
+      anon_sym_DASH,
+      anon_sym_PLUS,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
-      sym_identifier,
-    STATE(1286), 1,
-      sym_ms_call_modifier,
-    STATE(1303), 1,
-      sym_function_declarator,
-    STATE(1422), 1,
-      sym__declarator,
-    STATE(1424), 1,
-      sym__declaration_declarator,
-    STATE(1484), 1,
-      sym__function_declaration_declarator,
-    STATE(1571), 1,
-      sym_init_declarator,
-    STATE(1846), 1,
-      sym_ms_based_modifier,
-    STATE(1343), 4,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_array_declarator,
-    ACTIONS(39), 6,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
-  [49950] = 9,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+      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_GT,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_LT,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+  [51317] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3489), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3493), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3495), 1,
       anon_sym_defined,
-    ACTIONS(3434), 1,
+    ACTIONS(3517), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3497), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3499), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3503), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1215), 7,
+    STATE(1202), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -102855,61 +104616,80 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [49990] = 9,
+  [51357] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
-      sym_identifier,
-    ACTIONS(3426), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
-      anon_sym_defined,
-    ACTIONS(3438), 1,
-      sym_number_literal,
-    ACTIONS(3430), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(2413), 5,
+      anon_sym_SLASH,
+      anon_sym_PIPE,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(2415), 15,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
-      anon_sym_L_SQUOTE,
-      anon_sym_u_SQUOTE,
-      anon_sym_U_SQUOTE,
-      anon_sym_u8_SQUOTE,
-      anon_sym_SQUOTE,
-    STATE(1211), 7,
-      sym__preproc_expression,
-      sym_preproc_parenthesized_expression,
-      sym_preproc_defined,
-      sym_preproc_unary_expression,
-      sym_preproc_call_expression,
-      sym_preproc_binary_expression,
-      sym_char_literal,
-  [50030] = 9,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_CARET,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+  [51385] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3521), 5,
+      anon_sym_SLASH,
+      anon_sym_PIPE,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3519), 15,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_CARET,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+  [51413] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3440), 1,
+    ACTIONS(3533), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1224), 7,
+    STATE(1226), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -102917,64 +104697,65 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [50070] = 12,
+  [51453] = 13,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3392), 1,
+    ACTIONS(3460), 1,
       anon_sym_SLASH,
-    ACTIONS(3398), 1,
+    ACTIONS(3464), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3466), 1,
       anon_sym_PIPE,
-    ACTIONS(3400), 1,
+    ACTIONS(3468), 1,
       anon_sym_CARET,
-    ACTIONS(3402), 1,
+    ACTIONS(3470), 1,
       anon_sym_AMP,
-    ACTIONS(3388), 2,
+    ACTIONS(3456), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3390), 2,
+    ACTIONS(3458), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3404), 2,
+    ACTIONS(3472), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3406), 2,
+    ACTIONS(3474), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3408), 2,
+    ACTIONS(3476), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3410), 2,
+    ACTIONS(3478), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3442), 4,
+    ACTIONS(3519), 3,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-  [50116] = 9,
+  [51501] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3444), 1,
+    ACTIONS(3537), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1222), 7,
+    STATE(1239), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -102982,30 +104763,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [50156] = 9,
+  [51541] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3489), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3493), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3495), 1,
       anon_sym_defined,
-    ACTIONS(3446), 1,
+    ACTIONS(3539), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3497), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3499), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3503), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1223), 7,
+    STATE(1178), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103013,115 +104794,84 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [50196] = 8,
+  [51581] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2879), 1,
-      anon_sym_const,
-    ACTIONS(2886), 1,
-      anon_sym_LBRACE,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(3450), 1,
-      anon_sym_COLON,
-    STATE(778), 1,
-      sym_attribute_specifier,
-    STATE(1094), 1,
-      sym_enumerator_list,
-    ACTIONS(2881), 14,
+    ACTIONS(3523), 1,
+      sym_identifier,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-      anon_sym_STAR,
-      anon_sym___extension__,
-      anon_sym_LBRACK,
-      anon_sym_constexpr,
-      anon_sym_volatile,
-      anon_sym_restrict,
-      anon_sym___restrict__,
-      anon_sym__Atomic,
-      anon_sym__Noreturn,
-      anon_sym_noreturn,
-      anon_sym__Nonnull,
-      anon_sym_alignas,
-      anon_sym__Alignas,
-  [50234] = 9,
+    ACTIONS(3527), 1,
+      anon_sym_defined,
+    ACTIONS(3541), 1,
+      sym_number_literal,
+    ACTIONS(3529), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(3531), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(3535), 5,
+      anon_sym_L_SQUOTE,
+      anon_sym_u_SQUOTE,
+      anon_sym_U_SQUOTE,
+      anon_sym_u8_SQUOTE,
+      anon_sym_SQUOTE,
+    STATE(1250), 7,
+      sym__preproc_expression,
+      sym_preproc_parenthesized_expression,
+      sym_preproc_defined,
+      sym_preproc_unary_expression,
+      sym_preproc_call_expression,
+      sym_preproc_binary_expression,
+      sym_char_literal,
+  [51621] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3392), 1,
-      anon_sym_SLASH,
-    ACTIONS(3388), 2,
+    ACTIONS(3523), 1,
+      sym_identifier,
+    ACTIONS(3525), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3527), 1,
+      anon_sym_defined,
+    ACTIONS(3543), 1,
+      sym_number_literal,
+    ACTIONS(3529), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3390), 2,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-    ACTIONS(3406), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(3408), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(3410), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(3453), 2,
-      anon_sym_PIPE,
-      anon_sym_AMP,
-    ACTIONS(3442), 7,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-  [50274] = 7,
+    ACTIONS(3535), 5,
+      anon_sym_L_SQUOTE,
+      anon_sym_u_SQUOTE,
+      anon_sym_U_SQUOTE,
+      anon_sym_u8_SQUOTE,
+      anon_sym_SQUOTE,
+    STATE(1241), 7,
+      sym__preproc_expression,
+      sym_preproc_parenthesized_expression,
+      sym_preproc_defined,
+      sym_preproc_unary_expression,
+      sym_preproc_call_expression,
+      sym_preproc_binary_expression,
+      sym_char_literal,
+  [51661] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3392), 1,
+    ACTIONS(3547), 5,
       anon_sym_SLASH,
-    ACTIONS(3388), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(3390), 2,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-    ACTIONS(3410), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(3453), 4,
       anon_sym_PIPE,
       anon_sym_AMP,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3442), 9,
+    ACTIONS(3545), 15,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-  [50310] = 6,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3392), 1,
-      anon_sym_SLASH,
-    ACTIONS(3388), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3390), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3453), 4,
-      anon_sym_PIPE,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(3442), 11,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
       anon_sym_CARET,
@@ -103131,30 +104881,30 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_EQ,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [50344] = 9,
+  [51689] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3489), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3493), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3495), 1,
       anon_sym_defined,
-    ACTIONS(3455), 1,
+    ACTIONS(3549), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3497), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3499), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3503), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1241), 7,
+    STATE(1220), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103162,30 +104912,64 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [50384] = 9,
+  [51729] = 12,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3460), 1,
+      anon_sym_SLASH,
+    ACTIONS(3466), 1,
+      anon_sym_PIPE,
+    ACTIONS(3468), 1,
+      anon_sym_CARET,
+    ACTIONS(3470), 1,
+      anon_sym_AMP,
+    ACTIONS(3456), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(3458), 2,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+    ACTIONS(3472), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3474), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3476), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(3478), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(3519), 4,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+  [51775] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3457), 1,
+    ACTIONS(3551), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1239), 7,
+    STATE(1251), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103193,30 +104977,66 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [50424] = 9,
+  [51815] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3460), 1,
+      anon_sym_SLASH,
+    ACTIONS(3462), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3464), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3466), 1,
+      anon_sym_PIPE,
+    ACTIONS(3468), 1,
+      anon_sym_CARET,
+    ACTIONS(3470), 1,
+      anon_sym_AMP,
+    ACTIONS(3456), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(3458), 2,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+    ACTIONS(3472), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3474), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3476), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(3478), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(3553), 2,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+  [51865] = 9,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3459), 1,
+    ACTIONS(3555), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1205), 7,
+    STATE(1227), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103224,62 +105044,64 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [50464] = 10,
+  [51905] = 12,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3392), 1,
+    ACTIONS(3460), 1,
       anon_sym_SLASH,
-    ACTIONS(3388), 2,
+    ACTIONS(3468), 1,
+      anon_sym_CARET,
+    ACTIONS(3470), 1,
+      anon_sym_AMP,
+    ACTIONS(3521), 1,
+      anon_sym_PIPE,
+    ACTIONS(3456), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3390), 2,
+    ACTIONS(3458), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3404), 2,
+    ACTIONS(3472), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3406), 2,
+    ACTIONS(3474), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3408), 2,
+    ACTIONS(3476), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3410), 2,
+    ACTIONS(3478), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3453), 2,
-      anon_sym_PIPE,
-      anon_sym_AMP,
-    ACTIONS(3442), 5,
+    ACTIONS(3519), 4,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
-      anon_sym_CARET,
-  [50506] = 9,
+  [51951] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3489), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3493), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3495), 1,
       anon_sym_defined,
-    ACTIONS(3461), 1,
+    ACTIONS(3557), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3497), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3499), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3503), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1235), 7,
+    STATE(1222), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103287,61 +105109,63 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [50546] = 9,
+  [51991] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
-      sym_identifier,
-    ACTIONS(3426), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
-      anon_sym_defined,
-    ACTIONS(3463), 1,
-      sym_number_literal,
-    ACTIONS(3430), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3460), 1,
+      anon_sym_SLASH,
+    ACTIONS(3470), 1,
+      anon_sym_AMP,
+    ACTIONS(3521), 1,
+      anon_sym_PIPE,
+    ACTIONS(3456), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
-      anon_sym_L_SQUOTE,
-      anon_sym_u_SQUOTE,
-      anon_sym_U_SQUOTE,
-      anon_sym_u8_SQUOTE,
-      anon_sym_SQUOTE,
-    STATE(1229), 7,
-      sym__preproc_expression,
-      sym_preproc_parenthesized_expression,
-      sym_preproc_defined,
-      sym_preproc_unary_expression,
-      sym_preproc_call_expression,
-      sym_preproc_binary_expression,
-      sym_char_literal,
-  [50586] = 9,
+    ACTIONS(3458), 2,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+    ACTIONS(3472), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3474), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3476), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(3478), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(3519), 5,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_CARET,
+  [52035] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3465), 1,
+    ACTIONS(3559), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1240), 7,
+    STATE(1242), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103349,30 +105173,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [50626] = 9,
+  [52075] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3368), 1,
+    ACTIONS(3489), 1,
       sym_identifier,
-    ACTIONS(3372), 1,
+    ACTIONS(3493), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3374), 1,
+    ACTIONS(3495), 1,
       anon_sym_defined,
-    ACTIONS(3467), 1,
+    ACTIONS(3561), 1,
       sym_number_literal,
-    ACTIONS(3376), 2,
+    ACTIONS(3497), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3378), 2,
+    ACTIONS(3499), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3382), 5,
+    ACTIONS(3503), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1227), 7,
+    STATE(1187), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103380,55 +105204,62 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [50666] = 3,
+  [52115] = 10,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2414), 5,
+    ACTIONS(3460), 1,
       anon_sym_SLASH,
-      anon_sym_PIPE,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(2416), 15,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
+    ACTIONS(3456), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
+    ACTIONS(3458), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
+    ACTIONS(3472), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
+    ACTIONS(3474), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3476), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
+    ACTIONS(3478), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [50694] = 9,
+    ACTIONS(3521), 2,
+      anon_sym_PIPE,
+      anon_sym_AMP,
+    ACTIONS(3519), 5,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_CARET,
+  [52157] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3469), 1,
+    ACTIONS(3563), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1236), 7,
+    STATE(1228), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103436,72 +105267,47 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [50734] = 3,
+  [52197] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3473), 5,
+    ACTIONS(3460), 1,
       anon_sym_SLASH,
-      anon_sym_PIPE,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(3471), 15,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
+    ACTIONS(3456), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
+    ACTIONS(3458), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
+    ACTIONS(3474), 2,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3476), 2,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+    ACTIONS(3478), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(3521), 2,
+      anon_sym_PIPE,
+      anon_sym_AMP,
+    ACTIONS(3519), 7,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
       anon_sym_CARET,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-  [50762] = 9,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3424), 1,
-      sym_identifier,
-    ACTIONS(3426), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
-      anon_sym_defined,
-    ACTIONS(3475), 1,
-      sym_number_literal,
-    ACTIONS(3430), 2,
-      anon_sym_BANG,
-      anon_sym_TILDE,
-    ACTIONS(3432), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(3436), 5,
-      anon_sym_L_SQUOTE,
-      anon_sym_u_SQUOTE,
-      anon_sym_U_SQUOTE,
-      anon_sym_u8_SQUOTE,
-      anon_sym_SQUOTE,
-    STATE(1220), 7,
-      sym__preproc_expression,
-      sym_preproc_parenthesized_expression,
-      sym_preproc_defined,
-      sym_preproc_unary_expression,
-      sym_preproc_call_expression,
-      sym_preproc_binary_expression,
-      sym_char_literal,
-  [50802] = 3,
+  [52237] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3479), 5,
+    ACTIONS(3567), 5,
       anon_sym_SLASH,
       anon_sym_PIPE,
       anon_sym_AMP,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3477), 15,
+    ACTIONS(3565), 15,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_DASH,
@@ -103517,30 +105323,30 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_EQ,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [50830] = 9,
+  [52265] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3481), 1,
+    ACTIONS(3569), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1230), 7,
+    STATE(1238), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103548,30 +105354,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [50870] = 9,
+  [52305] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3489), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3493), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3495), 1,
       anon_sym_defined,
-    ACTIONS(3483), 1,
+    ACTIONS(3571), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3497), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3499), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3503), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1234), 7,
+    STATE(1189), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103579,30 +105385,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [50910] = 9,
+  [52345] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3368), 1,
+    ACTIONS(3489), 1,
       sym_identifier,
-    ACTIONS(3372), 1,
+    ACTIONS(3493), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3374), 1,
+    ACTIONS(3495), 1,
       anon_sym_defined,
-    ACTIONS(3485), 1,
+    ACTIONS(3573), 1,
       sym_number_literal,
-    ACTIONS(3376), 2,
+    ACTIONS(3497), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3378), 2,
+    ACTIONS(3499), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3382), 5,
+    ACTIONS(3503), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1198), 7,
+    STATE(1180), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103610,30 +105416,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [50950] = 9,
+  [52385] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3487), 1,
+    ACTIONS(3575), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1209), 7,
+    STATE(1237), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103641,65 +105447,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [50990] = 13,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3392), 1,
-      anon_sym_SLASH,
-    ACTIONS(3396), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(3398), 1,
-      anon_sym_PIPE,
-    ACTIONS(3400), 1,
-      anon_sym_CARET,
-    ACTIONS(3402), 1,
-      anon_sym_AMP,
-    ACTIONS(3388), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(3390), 2,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-    ACTIONS(3404), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3406), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(3408), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(3410), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(3442), 3,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_PIPE_PIPE,
-  [51038] = 9,
+  [52425] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3368), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3372), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3374), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3489), 1,
+    ACTIONS(3577), 1,
       sym_number_literal,
-    ACTIONS(3376), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3378), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3382), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1202), 7,
+    STATE(1229), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103707,30 +105478,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [51078] = 9,
+  [52465] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3368), 1,
+    ACTIONS(3489), 1,
       sym_identifier,
-    ACTIONS(3372), 1,
+    ACTIONS(3493), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3374), 1,
+    ACTIONS(3495), 1,
       anon_sym_defined,
-    ACTIONS(3491), 1,
+    ACTIONS(3579), 1,
       sym_number_literal,
-    ACTIONS(3376), 2,
+    ACTIONS(3497), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3378), 2,
+    ACTIONS(3499), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3382), 5,
+    ACTIONS(3503), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1207), 7,
+    STATE(1233), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103738,30 +105509,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [51118] = 9,
+  [52505] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3368), 1,
+    ACTIONS(3489), 1,
       sym_identifier,
-    ACTIONS(3372), 1,
+    ACTIONS(3493), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3374), 1,
+    ACTIONS(3495), 1,
       anon_sym_defined,
-    ACTIONS(3493), 1,
+    ACTIONS(3581), 1,
       sym_number_literal,
-    ACTIONS(3376), 2,
+    ACTIONS(3497), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3378), 2,
+    ACTIONS(3499), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3382), 5,
+    ACTIONS(3503), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1175), 7,
+    STATE(1205), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103769,55 +105540,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [51158] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3497), 5,
-      anon_sym_SLASH,
-      anon_sym_PIPE,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(3495), 15,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-  [51186] = 9,
+  [52545] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3368), 1,
+    ACTIONS(3489), 1,
       sym_identifier,
-    ACTIONS(3372), 1,
+    ACTIONS(3493), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3374), 1,
+    ACTIONS(3495), 1,
       anon_sym_defined,
-    ACTIONS(3499), 1,
+    ACTIONS(3583), 1,
       sym_number_literal,
-    ACTIONS(3376), 2,
+    ACTIONS(3497), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3378), 2,
+    ACTIONS(3499), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3382), 5,
+    ACTIONS(3503), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1151), 7,
+    STATE(1176), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103825,30 +105571,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [51226] = 9,
+  [52585] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3368), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3372), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3374), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3501), 1,
+    ACTIONS(3585), 1,
       sym_number_literal,
-    ACTIONS(3376), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3378), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3382), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1192), 7,
+    STATE(1235), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103856,30 +105602,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [51266] = 9,
+  [52625] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3368), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3372), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3374), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3503), 1,
+    ACTIONS(3587), 1,
       sym_number_literal,
-    ACTIONS(3376), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3378), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3382), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1193), 7,
+    STATE(1260), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103887,30 +105633,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [51306] = 9,
+  [52665] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3368), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3372), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3374), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3505), 1,
+    ACTIONS(3589), 1,
       sym_number_literal,
-    ACTIONS(3376), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3378), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3382), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1203), 7,
+    STATE(1230), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103918,30 +105664,59 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [51346] = 9,
+  [52705] = 7,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3460), 1,
+      anon_sym_SLASH,
+    ACTIONS(3456), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(3458), 2,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+    ACTIONS(3478), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(3521), 4,
+      anon_sym_PIPE,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3519), 9,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_CARET,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+  [52741] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3368), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3372), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3374), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3507), 1,
+    ACTIONS(3591), 1,
       sym_number_literal,
-    ACTIONS(3376), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3378), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3382), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1161), 7,
+    STATE(1225), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103949,30 +105724,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [51386] = 9,
+  [52781] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3509), 1,
+    ACTIONS(3593), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1238), 7,
+    STATE(1253), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -103980,30 +105755,58 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [51426] = 9,
+  [52821] = 6,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3460), 1,
+      anon_sym_SLASH,
+    ACTIONS(3456), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(3458), 2,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+    ACTIONS(3521), 4,
+      anon_sym_PIPE,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3519), 11,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_CARET,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+  [52855] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3368), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3372), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3374), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3511), 1,
+    ACTIONS(3595), 1,
       sym_number_literal,
-    ACTIONS(3376), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3378), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3382), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1155), 7,
+    STATE(1254), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -104011,30 +105814,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [51466] = 9,
+  [52895] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3368), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3372), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3374), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3513), 1,
+    ACTIONS(3597), 1,
       sym_number_literal,
-    ACTIONS(3376), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3378), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3382), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1156), 7,
+    STATE(1231), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -104042,30 +105845,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [51506] = 9,
+  [52935] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3489), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3493), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3495), 1,
       anon_sym_defined,
-    ACTIONS(3515), 1,
+    ACTIONS(3599), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3497), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3499), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3503), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1228), 7,
+    STATE(1171), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -104073,30 +105876,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [51546] = 9,
+  [52975] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3368), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3372), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3374), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3517), 1,
+    ACTIONS(3601), 1,
       sym_number_literal,
-    ACTIONS(3376), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3378), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3382), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1157), 7,
+    STATE(1236), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -104104,30 +105907,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [51586] = 9,
+  [53015] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3519), 1,
+    ACTIONS(3603), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1242), 7,
+    STATE(1257), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -104135,30 +105938,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [51626] = 9,
+  [53055] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3521), 1,
+    ACTIONS(3605), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1237), 7,
+    STATE(1258), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -104166,100 +105969,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [51666] = 12,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3392), 1,
-      anon_sym_SLASH,
-    ACTIONS(3400), 1,
-      anon_sym_CARET,
-    ACTIONS(3402), 1,
-      anon_sym_AMP,
-    ACTIONS(3453), 1,
-      anon_sym_PIPE,
-    ACTIONS(3388), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(3390), 2,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-    ACTIONS(3404), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3406), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(3408), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(3410), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(3442), 4,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-  [51712] = 14,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3392), 1,
-      anon_sym_SLASH,
-    ACTIONS(3394), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3396), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(3398), 1,
-      anon_sym_PIPE,
-    ACTIONS(3400), 1,
-      anon_sym_CARET,
-    ACTIONS(3402), 1,
-      anon_sym_AMP,
-    ACTIONS(3388), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(3390), 2,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-    ACTIONS(3404), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3406), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(3408), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(3410), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(3523), 2,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-  [51762] = 9,
+  [53095] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3525), 1,
+    ACTIONS(3607), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1231), 7,
+    STATE(1224), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -104267,16 +106000,16 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [51802] = 3,
+  [53135] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3529), 5,
+    ACTIONS(3611), 5,
       anon_sym_SLASH,
       anon_sym_PIPE,
       anon_sym_AMP,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3527), 15,
+    ACTIONS(3609), 15,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_DASH,
@@ -104292,30 +106025,30 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_EQ,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [51830] = 9,
+  [53163] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3531), 1,
+    ACTIONS(3613), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1210), 7,
+    STATE(1223), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -104323,30 +106056,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [51870] = 9,
+  [53203] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3523), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3525), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3527), 1,
       anon_sym_defined,
-    ACTIONS(3533), 1,
+    ACTIONS(3615), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3529), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3531), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3535), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1219), 7,
+    STATE(1232), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -104354,57 +106087,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [51910] = 5,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3392), 1,
-      anon_sym_SLASH,
-    ACTIONS(3390), 2,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-    ACTIONS(3453), 4,
-      anon_sym_PIPE,
-      anon_sym_AMP,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(3442), 13,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-  [51942] = 9,
+  [53243] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3489), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3493), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3495), 1,
       anon_sym_defined,
-    ACTIONS(3535), 1,
+    ACTIONS(3617), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3497), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3499), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3503), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1213), 7,
+    STATE(1182), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -104412,30 +106118,30 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [51982] = 9,
+  [53283] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3424), 1,
+    ACTIONS(3489), 1,
       sym_identifier,
-    ACTIONS(3426), 1,
+    ACTIONS(3493), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3428), 1,
+    ACTIONS(3495), 1,
       anon_sym_defined,
-    ACTIONS(3537), 1,
+    ACTIONS(3619), 1,
       sym_number_literal,
-    ACTIONS(3430), 2,
+    ACTIONS(3497), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3432), 2,
+    ACTIONS(3499), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3436), 5,
+    ACTIONS(3503), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1217), 7,
+    STATE(1184), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -104443,30 +106149,55 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [52022] = 9,
+  [53323] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3623), 5,
+      anon_sym_SLASH,
+      anon_sym_PIPE,
+      anon_sym_AMP,
+      anon_sym_GT,
+      anon_sym_LT,
+    ACTIONS(3621), 15,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_CARET,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+  [53351] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3368), 1,
+    ACTIONS(3489), 1,
       sym_identifier,
-    ACTIONS(3372), 1,
+    ACTIONS(3493), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3374), 1,
+    ACTIONS(3495), 1,
       anon_sym_defined,
-    ACTIONS(3539), 1,
+    ACTIONS(3625), 1,
       sym_number_literal,
-    ACTIONS(3376), 2,
+    ACTIONS(3497), 2,
       anon_sym_BANG,
       anon_sym_TILDE,
-    ACTIONS(3378), 2,
+    ACTIONS(3499), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3382), 5,
+    ACTIONS(3503), 5,
       anon_sym_L_SQUOTE,
       anon_sym_u_SQUOTE,
       anon_sym_U_SQUOTE,
       anon_sym_u8_SQUOTE,
       anon_sym_SQUOTE,
-    STATE(1170), 7,
+    STATE(1169), 7,
       sym__preproc_expression,
       sym_preproc_parenthesized_expression,
       sym_preproc_defined,
@@ -104474,22 +106205,24 @@ static const uint16_t ts_small_parse_table[] = {
       sym_preproc_call_expression,
       sym_preproc_binary_expression,
       sym_char_literal,
-  [52062] = 3,
+  [53391] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3453), 5,
+    ACTIONS(3460), 1,
       anon_sym_SLASH,
+    ACTIONS(3458), 2,
+      anon_sym_STAR,
+      anon_sym_PERCENT,
+    ACTIONS(3521), 4,
       anon_sym_PIPE,
       anon_sym_AMP,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3442), 15,
+    ACTIONS(3519), 13,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_DASH,
       anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
       anon_sym_CARET,
@@ -104499,45 +106232,78 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT_EQ,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [52090] = 11,
+  [53423] = 9,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3523), 1,
+      sym_identifier,
+    ACTIONS(3525), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3527), 1,
+      anon_sym_defined,
+    ACTIONS(3627), 1,
+      sym_number_literal,
+    ACTIONS(3529), 2,
+      anon_sym_BANG,
+      anon_sym_TILDE,
+    ACTIONS(3531), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(3535), 5,
+      anon_sym_L_SQUOTE,
+      anon_sym_u_SQUOTE,
+      anon_sym_U_SQUOTE,
+      anon_sym_u8_SQUOTE,
+      anon_sym_SQUOTE,
+    STATE(1248), 7,
+      sym__preproc_expression,
+      sym_preproc_parenthesized_expression,
+      sym_preproc_defined,
+      sym_preproc_unary_expression,
+      sym_preproc_call_expression,
+      sym_preproc_binary_expression,
+      sym_char_literal,
+  [53463] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3392), 1,
+    ACTIONS(3460), 1,
       anon_sym_SLASH,
-    ACTIONS(3402), 1,
-      anon_sym_AMP,
-    ACTIONS(3453), 1,
+    ACTIONS(3462), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3464), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3466), 1,
       anon_sym_PIPE,
-    ACTIONS(3388), 2,
+    ACTIONS(3468), 1,
+      anon_sym_CARET,
+    ACTIONS(3470), 1,
+      anon_sym_AMP,
+    ACTIONS(3629), 1,
+      anon_sym_RPAREN,
+    ACTIONS(3456), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3390), 2,
+    ACTIONS(3458), 2,
       anon_sym_STAR,
       anon_sym_PERCENT,
-    ACTIONS(3404), 2,
+    ACTIONS(3472), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3406), 2,
+    ACTIONS(3474), 2,
       anon_sym_GT,
       anon_sym_LT,
-    ACTIONS(3408), 2,
+    ACTIONS(3476), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3410), 2,
+    ACTIONS(3478), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3442), 5,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_CARET,
-  [52134] = 3,
-    ACTIONS(3366), 1,
+  [53512] = 3,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3495), 1,
+    ACTIONS(3519), 1,
       anon_sym_LF,
-    ACTIONS(3497), 18,
+    ACTIONS(3521), 18,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym_STAR,
@@ -104556,291 +106322,182 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [52161] = 12,
-    ACTIONS(3366), 1,
+  [53539] = 12,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3541), 1,
+    ACTIONS(3519), 1,
       anon_sym_LF,
-    ACTIONS(3547), 1,
+    ACTIONS(3521), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3549), 1,
+    ACTIONS(3635), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3551), 1,
+    ACTIONS(3637), 1,
       anon_sym_PIPE,
-    ACTIONS(3553), 1,
+    ACTIONS(3639), 1,
       anon_sym_CARET,
-    ACTIONS(3555), 1,
+    ACTIONS(3641), 1,
       anon_sym_AMP,
-    ACTIONS(3543), 2,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3557), 2,
+    ACTIONS(3643), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3561), 2,
+    ACTIONS(3647), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3545), 3,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(3559), 4,
+    ACTIONS(3645), 4,
       anon_sym_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-  [52206] = 11,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(2741), 1,
-      sym_identifier,
-    ACTIONS(3029), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
-      anon_sym_STAR,
-    STATE(644), 1,
-      sym__old_style_function_declarator,
-    STATE(1320), 1,
-      sym_ms_call_modifier,
-    STATE(1357), 1,
-      sym__declarator,
-    STATE(1846), 1,
-      sym_ms_based_modifier,
-    STATE(1303), 5,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_function_declarator,
-      sym_array_declarator,
-    ACTIONS(39), 6,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
-  [52249] = 14,
-    ACTIONS(3), 1,
+  [53584] = 11,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3392), 1,
-      anon_sym_SLASH,
-    ACTIONS(3394), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3396), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(3398), 1,
+    ACTIONS(3519), 1,
+      anon_sym_LF,
+    ACTIONS(3637), 1,
       anon_sym_PIPE,
-    ACTIONS(3400), 1,
+    ACTIONS(3639), 1,
       anon_sym_CARET,
-    ACTIONS(3402), 1,
+    ACTIONS(3641), 1,
       anon_sym_AMP,
-    ACTIONS(3563), 1,
-      anon_sym_RPAREN,
-    ACTIONS(3388), 2,
+    ACTIONS(3521), 2,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3390), 2,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-    ACTIONS(3404), 2,
+    ACTIONS(3643), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3406), 2,
-      anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(3408), 2,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-    ACTIONS(3410), 2,
+    ACTIONS(3647), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [52298] = 3,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(3527), 1,
-      anon_sym_LF,
-    ACTIONS(3529), 18,
-      anon_sym_DASH,
-      anon_sym_PLUS,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-      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,
+    ACTIONS(3645), 4,
       anon_sym_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-  [52325] = 6,
-    ACTIONS(3366), 1,
+  [53627] = 10,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3442), 1,
+    ACTIONS(3519), 1,
       anon_sym_LF,
-    ACTIONS(3543), 2,
+    ACTIONS(3639), 1,
+      anon_sym_CARET,
+    ACTIONS(3641), 1,
+      anon_sym_AMP,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3561), 2,
+    ACTIONS(3643), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3647), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3545), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(3453), 11,
+    ACTIONS(3521), 3,
       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,
+    ACTIONS(3633), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(3645), 4,
       anon_sym_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-  [52358] = 12,
-    ACTIONS(3366), 1,
+  [53668] = 9,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3547), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3549), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(3551), 1,
-      anon_sym_PIPE,
-    ACTIONS(3553), 1,
-      anon_sym_CARET,
-    ACTIONS(3555), 1,
-      anon_sym_AMP,
-    ACTIONS(3565), 1,
+    ACTIONS(3519), 1,
       anon_sym_LF,
-    ACTIONS(3543), 2,
+    ACTIONS(3641), 1,
+      anon_sym_AMP,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3557), 2,
+    ACTIONS(3643), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3561), 2,
+    ACTIONS(3647), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3545), 3,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(3559), 4,
+    ACTIONS(3521), 4,
+      anon_sym_PIPE_PIPE,
+      anon_sym_AMP_AMP,
+      anon_sym_PIPE,
+      anon_sym_CARET,
+    ACTIONS(3645), 4,
       anon_sym_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-  [52403] = 4,
-    ACTIONS(3366), 1,
+  [53707] = 8,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3442), 1,
+    ACTIONS(3519), 1,
       anon_sym_LF,
-    ACTIONS(3545), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(3453), 15,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
+    ACTIONS(3643), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
+    ACTIONS(3647), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(3633), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(3645), 4,
       anon_sym_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-  [52432] = 11,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(2741), 1,
-      sym_identifier,
-    ACTIONS(3029), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
-      anon_sym_STAR,
-    STATE(651), 1,
-      sym__old_style_function_declarator,
-    STATE(1328), 1,
-      sym_ms_call_modifier,
-    STATE(1374), 1,
-      sym__declarator,
-    STATE(1846), 1,
-      sym_ms_based_modifier,
-    STATE(1303), 5,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_function_declarator,
-      sym_array_declarator,
-    ACTIONS(39), 6,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
-  [52475] = 12,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(3547), 1,
+    ACTIONS(3521), 5,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3549), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3551), 1,
       anon_sym_PIPE,
-    ACTIONS(3553), 1,
       anon_sym_CARET,
-    ACTIONS(3555), 1,
       anon_sym_AMP,
-    ACTIONS(3567), 1,
+  [53744] = 7,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(3519), 1,
       anon_sym_LF,
-    ACTIONS(3543), 2,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3557), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3561), 2,
+    ACTIONS(3647), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3545), 3,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(3559), 4,
+    ACTIONS(3645), 4,
       anon_sym_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-  [52520] = 3,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(3471), 1,
-      anon_sym_LF,
-    ACTIONS(3473), 18,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
+    ACTIONS(3521), 7,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
       anon_sym_PIPE,
@@ -104848,25 +106505,22 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-      anon_sym_GT,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-  [52547] = 5,
-    ACTIONS(3366), 1,
+  [53779] = 6,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3442), 1,
+    ACTIONS(3519), 1,
       anon_sym_LF,
-    ACTIONS(3543), 2,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3545), 3,
+    ACTIONS(3647), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(3453), 13,
+    ACTIONS(3521), 11,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
       anon_sym_PIPE,
@@ -104878,19 +106532,19 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-  [52578] = 3,
-    ACTIONS(3143), 1,
-      anon_sym_LF,
-    ACTIONS(3366), 1,
+  [53812] = 5,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3141), 18,
+    ACTIONS(3519), 1,
+      anon_sym_LF,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
+    ACTIONS(3521), 13,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
       anon_sym_PIPE,
@@ -104904,164 +106558,80 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [52605] = 12,
-    ACTIONS(3366), 1,
+  [53843] = 12,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3547), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3549), 1,
+    ACTIONS(3635), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3551), 1,
+    ACTIONS(3637), 1,
       anon_sym_PIPE,
-    ACTIONS(3553), 1,
+    ACTIONS(3639), 1,
       anon_sym_CARET,
-    ACTIONS(3555), 1,
+    ACTIONS(3641), 1,
       anon_sym_AMP,
-    ACTIONS(3569), 1,
+    ACTIONS(3649), 1,
       anon_sym_LF,
-    ACTIONS(3543), 2,
+    ACTIONS(3651), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3557), 2,
+    ACTIONS(3643), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3561), 2,
+    ACTIONS(3647), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3545), 3,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(3559), 4,
+    ACTIONS(3645), 4,
       anon_sym_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-  [52650] = 11,
+  [53888] = 14,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(2741), 1,
-      sym_identifier,
-    ACTIONS(3029), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
-      anon_sym_STAR,
-    STATE(650), 1,
-      sym__old_style_function_declarator,
-    STATE(1334), 1,
-      sym_ms_call_modifier,
-    STATE(1358), 1,
-      sym__declarator,
-    STATE(1846), 1,
-      sym_ms_based_modifier,
-    STATE(1303), 5,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_function_declarator,
-      sym_array_declarator,
-    ACTIONS(39), 6,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
-  [52693] = 12,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(3547), 1,
+    ACTIONS(3460), 1,
+      anon_sym_SLASH,
+    ACTIONS(3462), 1,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3549), 1,
+    ACTIONS(3464), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3551), 1,
+    ACTIONS(3466), 1,
       anon_sym_PIPE,
-    ACTIONS(3553), 1,
+    ACTIONS(3468), 1,
       anon_sym_CARET,
-    ACTIONS(3555), 1,
+    ACTIONS(3470), 1,
       anon_sym_AMP,
-    ACTIONS(3571), 1,
-      anon_sym_LF,
-    ACTIONS(3543), 2,
+    ACTIONS(3653), 1,
+      anon_sym_RPAREN,
+    ACTIONS(3456), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3557), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3561), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(3545), 3,
+    ACTIONS(3458), 2,
       anon_sym_STAR,
-      anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(3559), 4,
-      anon_sym_GT,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_LT,
-  [52738] = 9,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(3442), 1,
-      anon_sym_LF,
-    ACTIONS(3555), 1,
-      anon_sym_AMP,
-    ACTIONS(3543), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(3557), 2,
+    ACTIONS(3472), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3561), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(3545), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(3453), 4,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-    ACTIONS(3559), 4,
+    ACTIONS(3474), 2,
       anon_sym_GT,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
       anon_sym_LT,
-  [52777] = 3,
-    ACTIONS(3147), 1,
-      anon_sym_LF,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(3145), 18,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-      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_GT,
+    ACTIONS(3476), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-      anon_sym_LT,
+    ACTIONS(3478), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [52804] = 3,
-    ACTIONS(3366), 1,
+  [53937] = 3,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3442), 1,
+    ACTIONS(3621), 1,
       anon_sym_LF,
-    ACTIONS(3453), 18,
+    ACTIONS(3623), 18,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym_STAR,
@@ -105071,119 +106641,54 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP_AMP,
       anon_sym_PIPE,
       anon_sym_CARET,
-      anon_sym_AMP,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-      anon_sym_GT,
-      anon_sym_GT_EQ,
-      anon_sym_LT_EQ,
-      anon_sym_LT,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-  [52831] = 12,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(3442), 1,
-      anon_sym_LF,
-    ACTIONS(3453), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3549), 1,
-      anon_sym_AMP_AMP,
-    ACTIONS(3551), 1,
-      anon_sym_PIPE,
-    ACTIONS(3553), 1,
-      anon_sym_CARET,
-    ACTIONS(3555), 1,
-      anon_sym_AMP,
-    ACTIONS(3543), 2,
-      anon_sym_DASH,
-      anon_sym_PLUS,
-    ACTIONS(3557), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3561), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(3545), 3,
-      anon_sym_STAR,
-      anon_sym_SLASH,
-      anon_sym_PERCENT,
-    ACTIONS(3559), 4,
+      anon_sym_AMP,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
       anon_sym_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-  [52876] = 12,
-    ACTIONS(3366), 1,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+  [53964] = 12,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3547), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3549), 1,
+    ACTIONS(3635), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3551), 1,
+    ACTIONS(3637), 1,
       anon_sym_PIPE,
-    ACTIONS(3553), 1,
+    ACTIONS(3639), 1,
       anon_sym_CARET,
-    ACTIONS(3555), 1,
+    ACTIONS(3641), 1,
       anon_sym_AMP,
-    ACTIONS(3573), 1,
+    ACTIONS(3651), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3655), 1,
       anon_sym_LF,
-    ACTIONS(3543), 2,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3557), 2,
+    ACTIONS(3643), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3561), 2,
+    ACTIONS(3647), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3545), 3,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(3559), 4,
+    ACTIONS(3645), 4,
       anon_sym_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-  [52921] = 11,
-    ACTIONS(3), 1,
+  [54009] = 3,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(2741), 1,
-      sym_identifier,
-    ACTIONS(3029), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
-      anon_sym_STAR,
-    STATE(658), 1,
-      sym__old_style_function_declarator,
-    STATE(1324), 1,
-      sym_ms_call_modifier,
-    STATE(1356), 1,
-      sym__declarator,
-    STATE(1846), 1,
-      sym_ms_based_modifier,
-    STATE(1303), 5,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_function_declarator,
-      sym_array_declarator,
-    ACTIONS(39), 6,
-      anon_sym___cdecl,
-      anon_sym___clrcall,
-      anon_sym___stdcall,
-      anon_sym___fastcall,
-      anon_sym___thiscall,
-      anon_sym___vectorcall,
-  [52964] = 3,
-    ACTIONS(2416), 1,
+    ACTIONS(3545), 1,
       anon_sym_LF,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(2414), 18,
+    ACTIONS(3547), 18,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym_STAR,
@@ -105202,52 +106707,51 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [52991] = 14,
-    ACTIONS(3), 1,
+  [54036] = 12,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3392), 1,
-      anon_sym_SLASH,
-    ACTIONS(3394), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3396), 1,
+    ACTIONS(3635), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3398), 1,
+    ACTIONS(3637), 1,
       anon_sym_PIPE,
-    ACTIONS(3400), 1,
+    ACTIONS(3639), 1,
       anon_sym_CARET,
-    ACTIONS(3402), 1,
+    ACTIONS(3641), 1,
       anon_sym_AMP,
-    ACTIONS(3575), 1,
-      anon_sym_RPAREN,
-    ACTIONS(3388), 2,
+    ACTIONS(3651), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3657), 1,
+      anon_sym_LF,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3390), 2,
-      anon_sym_STAR,
-      anon_sym_PERCENT,
-    ACTIONS(3404), 2,
+    ACTIONS(3643), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3406), 2,
+    ACTIONS(3647), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(3633), 3,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(3645), 4,
       anon_sym_GT,
-      anon_sym_LT,
-    ACTIONS(3408), 2,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
-    ACTIONS(3410), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-  [53040] = 3,
-    ACTIONS(3366), 1,
+      anon_sym_LT,
+  [54081] = 4,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3477), 1,
+    ACTIONS(3519), 1,
       anon_sym_LF,
-    ACTIONS(3479), 18,
-      anon_sym_DASH,
-      anon_sym_PLUS,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
+    ACTIONS(3521), 15,
+      anon_sym_DASH,
+      anon_sym_PLUS,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
       anon_sym_PIPE,
@@ -105261,106 +106765,135 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [53067] = 11,
-    ACTIONS(3366), 1,
+  [54110] = 12,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3442), 1,
-      anon_sym_LF,
-    ACTIONS(3551), 1,
+    ACTIONS(3635), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3637), 1,
       anon_sym_PIPE,
-    ACTIONS(3553), 1,
+    ACTIONS(3639), 1,
       anon_sym_CARET,
-    ACTIONS(3555), 1,
+    ACTIONS(3641), 1,
       anon_sym_AMP,
-    ACTIONS(3453), 2,
+    ACTIONS(3651), 1,
       anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-    ACTIONS(3543), 2,
+    ACTIONS(3659), 1,
+      anon_sym_LF,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3557), 2,
+    ACTIONS(3643), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3561), 2,
+    ACTIONS(3647), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3545), 3,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(3559), 4,
+    ACTIONS(3645), 4,
       anon_sym_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-  [53110] = 8,
-    ACTIONS(3366), 1,
+  [54155] = 3,
+    ACTIONS(3203), 1,
+      anon_sym_LF,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3442), 1,
+    ACTIONS(3201), 18,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+      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_GT,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_LT,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+  [54182] = 12,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(3635), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3637), 1,
+      anon_sym_PIPE,
+    ACTIONS(3639), 1,
+      anon_sym_CARET,
+    ACTIONS(3641), 1,
+      anon_sym_AMP,
+    ACTIONS(3651), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3661), 1,
       anon_sym_LF,
-    ACTIONS(3543), 2,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3557), 2,
+    ACTIONS(3643), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3561), 2,
+    ACTIONS(3647), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3545), 3,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(3559), 4,
+    ACTIONS(3645), 4,
       anon_sym_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-    ACTIONS(3453), 5,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_PIPE,
-      anon_sym_CARET,
-      anon_sym_AMP,
-  [53147] = 12,
-    ACTIONS(3366), 1,
+  [54227] = 12,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3547), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3549), 1,
+    ACTIONS(3635), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3551), 1,
+    ACTIONS(3637), 1,
       anon_sym_PIPE,
-    ACTIONS(3553), 1,
+    ACTIONS(3639), 1,
       anon_sym_CARET,
-    ACTIONS(3555), 1,
+    ACTIONS(3641), 1,
       anon_sym_AMP,
-    ACTIONS(3577), 1,
+    ACTIONS(3651), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3663), 1,
       anon_sym_LF,
-    ACTIONS(3543), 2,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3557), 2,
+    ACTIONS(3643), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3561), 2,
+    ACTIONS(3647), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3545), 3,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(3559), 4,
+    ACTIONS(3645), 4,
       anon_sym_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-  [53192] = 3,
-    ACTIONS(3139), 1,
+  [54272] = 3,
+    ACTIONS(2415), 1,
       anon_sym_LF,
-    ACTIONS(3366), 1,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3137), 18,
+    ACTIONS(2413), 18,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym_STAR,
@@ -105379,12 +106912,12 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [53219] = 3,
-    ACTIONS(3131), 1,
+  [54299] = 3,
+    ACTIONS(3199), 1,
       anon_sym_LF,
-    ACTIONS(3366), 1,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3129), 18,
+    ACTIONS(3197), 18,
       anon_sym_DASH,
       anon_sym_PLUS,
       anon_sym_STAR,
@@ -105403,27 +106936,73 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LT,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-  [53246] = 7,
-    ACTIONS(3366), 1,
+  [54326] = 3,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3442), 1,
+    ACTIONS(3565), 1,
       anon_sym_LF,
-    ACTIONS(3543), 2,
+    ACTIONS(3567), 18,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3561), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(3545), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(3559), 4,
+      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_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-    ACTIONS(3453), 7,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+  [54353] = 11,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(2801), 1,
+      sym_identifier,
+    ACTIONS(3105), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3107), 1,
+      anon_sym_STAR,
+    STATE(662), 1,
+      sym__old_style_function_declarator,
+    STATE(1354), 1,
+      sym_ms_call_modifier,
+    STATE(1393), 1,
+      sym__declarator,
+    STATE(1967), 1,
+      sym_ms_based_modifier,
+    STATE(1311), 5,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_function_declarator,
+      sym_array_declarator,
+    ACTIONS(41), 6,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+  [54396] = 3,
+    ACTIONS(3193), 1,
+      anon_sym_LF,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(3191), 18,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
       anon_sym_PIPE_PIPE,
       anon_sym_AMP_AMP,
       anon_sym_PIPE,
@@ -105431,1208 +107010,1442 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_AMP,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-  [53281] = 12,
-    ACTIONS(3366), 1,
+      anon_sym_GT,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_LT,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+  [54423] = 12,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3547), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3549), 1,
+    ACTIONS(3635), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3551), 1,
+    ACTIONS(3637), 1,
       anon_sym_PIPE,
-    ACTIONS(3553), 1,
+    ACTIONS(3639), 1,
       anon_sym_CARET,
-    ACTIONS(3555), 1,
+    ACTIONS(3641), 1,
       anon_sym_AMP,
-    ACTIONS(3579), 1,
+    ACTIONS(3651), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3665), 1,
       anon_sym_LF,
-    ACTIONS(3543), 2,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3557), 2,
+    ACTIONS(3643), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3561), 2,
+    ACTIONS(3647), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3545), 3,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(3559), 4,
+    ACTIONS(3645), 4,
       anon_sym_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-  [53326] = 12,
-    ACTIONS(3366), 1,
+  [54468] = 3,
+    ACTIONS(3189), 1,
+      anon_sym_LF,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3547), 1,
+    ACTIONS(3187), 18,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+      anon_sym_STAR,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
       anon_sym_PIPE_PIPE,
-    ACTIONS(3549), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3551), 1,
       anon_sym_PIPE,
-    ACTIONS(3553), 1,
       anon_sym_CARET,
-    ACTIONS(3555), 1,
       anon_sym_AMP,
-    ACTIONS(3581), 1,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+      anon_sym_GT,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_LT,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+  [54495] = 12,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(3635), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3637), 1,
+      anon_sym_PIPE,
+    ACTIONS(3639), 1,
+      anon_sym_CARET,
+    ACTIONS(3641), 1,
+      anon_sym_AMP,
+    ACTIONS(3651), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3667), 1,
       anon_sym_LF,
-    ACTIONS(3543), 2,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3557), 2,
+    ACTIONS(3643), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3561), 2,
+    ACTIONS(3647), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3545), 3,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(3559), 4,
+    ACTIONS(3645), 4,
       anon_sym_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-  [53371] = 12,
-    ACTIONS(3366), 1,
+  [54540] = 12,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3547), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3549), 1,
+    ACTIONS(3635), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3551), 1,
+    ACTIONS(3637), 1,
       anon_sym_PIPE,
-    ACTIONS(3553), 1,
+    ACTIONS(3639), 1,
       anon_sym_CARET,
-    ACTIONS(3555), 1,
+    ACTIONS(3641), 1,
       anon_sym_AMP,
-    ACTIONS(3583), 1,
+    ACTIONS(3651), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3669), 1,
       anon_sym_LF,
-    ACTIONS(3543), 2,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3557), 2,
+    ACTIONS(3643), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3561), 2,
+    ACTIONS(3647), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3545), 3,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(3559), 4,
+    ACTIONS(3645), 4,
       anon_sym_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-  [53416] = 12,
-    ACTIONS(3366), 1,
+  [54585] = 11,
+    ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3547), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3549), 1,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(2801), 1,
+      sym_identifier,
+    ACTIONS(3105), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3107), 1,
+      anon_sym_STAR,
+    STATE(659), 1,
+      sym__old_style_function_declarator,
+    STATE(1349), 1,
+      sym_ms_call_modifier,
+    STATE(1381), 1,
+      sym__declarator,
+    STATE(1967), 1,
+      sym_ms_based_modifier,
+    STATE(1311), 5,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_function_declarator,
+      sym_array_declarator,
+    ACTIONS(41), 6,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+  [54628] = 12,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(3635), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3551), 1,
+    ACTIONS(3637), 1,
       anon_sym_PIPE,
-    ACTIONS(3553), 1,
+    ACTIONS(3639), 1,
       anon_sym_CARET,
-    ACTIONS(3555), 1,
+    ACTIONS(3641), 1,
       anon_sym_AMP,
-    ACTIONS(3585), 1,
+    ACTIONS(3651), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3671), 1,
       anon_sym_LF,
-    ACTIONS(3543), 2,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3557), 2,
+    ACTIONS(3643), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3561), 2,
+    ACTIONS(3647), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3545), 3,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(3559), 4,
+    ACTIONS(3645), 4,
       anon_sym_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-  [53461] = 12,
-    ACTIONS(3366), 1,
+  [54673] = 12,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3547), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3549), 1,
+    ACTIONS(3635), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3551), 1,
+    ACTIONS(3637), 1,
       anon_sym_PIPE,
-    ACTIONS(3553), 1,
+    ACTIONS(3639), 1,
       anon_sym_CARET,
-    ACTIONS(3555), 1,
+    ACTIONS(3641), 1,
       anon_sym_AMP,
-    ACTIONS(3587), 1,
+    ACTIONS(3651), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3673), 1,
       anon_sym_LF,
-    ACTIONS(3543), 2,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3557), 2,
+    ACTIONS(3643), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3561), 2,
+    ACTIONS(3647), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3545), 3,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(3559), 4,
+    ACTIONS(3645), 4,
       anon_sym_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-  [53506] = 10,
-    ACTIONS(3366), 1,
+  [54718] = 11,
+    ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3442), 1,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(2801), 1,
+      sym_identifier,
+    ACTIONS(3105), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3107), 1,
+      anon_sym_STAR,
+    STATE(655), 1,
+      sym__old_style_function_declarator,
+    STATE(1355), 1,
+      sym_ms_call_modifier,
+    STATE(1400), 1,
+      sym__declarator,
+    STATE(1967), 1,
+      sym_ms_based_modifier,
+    STATE(1311), 5,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_function_declarator,
+      sym_array_declarator,
+    ACTIONS(41), 6,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+  [54761] = 3,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(3609), 1,
       anon_sym_LF,
-    ACTIONS(3553), 1,
-      anon_sym_CARET,
-    ACTIONS(3555), 1,
-      anon_sym_AMP,
-    ACTIONS(3543), 2,
+    ACTIONS(3611), 18,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3557), 2,
-      anon_sym_EQ_EQ,
-      anon_sym_BANG_EQ,
-    ACTIONS(3561), 2,
-      anon_sym_LT_LT,
-      anon_sym_GT_GT,
-    ACTIONS(3453), 3,
-      anon_sym_PIPE_PIPE,
-      anon_sym_AMP_AMP,
-      anon_sym_PIPE,
-    ACTIONS(3545), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(3559), 4,
+      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_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-  [53547] = 12,
-    ACTIONS(3366), 1,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+  [54788] = 12,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3547), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3549), 1,
+    ACTIONS(3635), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3551), 1,
+    ACTIONS(3637), 1,
       anon_sym_PIPE,
-    ACTIONS(3553), 1,
+    ACTIONS(3639), 1,
       anon_sym_CARET,
-    ACTIONS(3555), 1,
+    ACTIONS(3641), 1,
       anon_sym_AMP,
-    ACTIONS(3589), 1,
+    ACTIONS(3651), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3675), 1,
       anon_sym_LF,
-    ACTIONS(3543), 2,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3557), 2,
+    ACTIONS(3643), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3561), 2,
+    ACTIONS(3647), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3545), 3,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(3559), 4,
+    ACTIONS(3645), 4,
       anon_sym_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-  [53592] = 12,
-    ACTIONS(3366), 1,
+  [54833] = 12,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3547), 1,
-      anon_sym_PIPE_PIPE,
-    ACTIONS(3549), 1,
+    ACTIONS(3635), 1,
       anon_sym_AMP_AMP,
-    ACTIONS(3551), 1,
+    ACTIONS(3637), 1,
       anon_sym_PIPE,
-    ACTIONS(3553), 1,
+    ACTIONS(3639), 1,
       anon_sym_CARET,
-    ACTIONS(3555), 1,
+    ACTIONS(3641), 1,
       anon_sym_AMP,
-    ACTIONS(3591), 1,
+    ACTIONS(3651), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3677), 1,
       anon_sym_LF,
-    ACTIONS(3543), 2,
+    ACTIONS(3631), 2,
       anon_sym_DASH,
       anon_sym_PLUS,
-    ACTIONS(3557), 2,
+    ACTIONS(3643), 2,
       anon_sym_EQ_EQ,
       anon_sym_BANG_EQ,
-    ACTIONS(3561), 2,
+    ACTIONS(3647), 2,
       anon_sym_LT_LT,
       anon_sym_GT_GT,
-    ACTIONS(3545), 3,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
       anon_sym_SLASH,
       anon_sym_PERCENT,
-    ACTIONS(3559), 4,
+    ACTIONS(3645), 4,
       anon_sym_GT,
       anon_sym_GT_EQ,
       anon_sym_LT_EQ,
       anon_sym_LT,
-  [53637] = 10,
+  [54878] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    STATE(1328), 1,
+    STATE(648), 1,
+      sym__old_style_function_declarator,
+    STATE(1358), 1,
       sym_ms_call_modifier,
-    STATE(1380), 1,
+    STATE(1401), 1,
       sym__declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-    ACTIONS(39), 6,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [53677] = 12,
-    ACTIONS(3), 1,
+  [54921] = 12,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(1814), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(1816), 1,
+    ACTIONS(3635), 1,
+      anon_sym_AMP_AMP,
+    ACTIONS(3637), 1,
+      anon_sym_PIPE,
+    ACTIONS(3639), 1,
+      anon_sym_CARET,
+    ACTIONS(3641), 1,
+      anon_sym_AMP,
+    ACTIONS(3651), 1,
+      anon_sym_PIPE_PIPE,
+    ACTIONS(3679), 1,
+      anon_sym_LF,
+    ACTIONS(3631), 2,
+      anon_sym_DASH,
+      anon_sym_PLUS,
+    ACTIONS(3643), 2,
+      anon_sym_EQ_EQ,
+      anon_sym_BANG_EQ,
+    ACTIONS(3647), 2,
+      anon_sym_LT_LT,
+      anon_sym_GT_GT,
+    ACTIONS(3633), 3,
       anon_sym_STAR,
-    ACTIONS(1818), 1,
+      anon_sym_SLASH,
+      anon_sym_PERCENT,
+    ACTIONS(3645), 4,
+      anon_sym_GT,
+      anon_sym_GT_EQ,
+      anon_sym_LT_EQ,
+      anon_sym_LT,
+  [54966] = 10,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(2753), 1,
-      anon_sym_LBRACK,
-    STATE(1414), 1,
+    ACTIONS(3105), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3107), 1,
+      anon_sym_STAR,
+    STATE(1355), 1,
+      sym_ms_call_modifier,
+    STATE(1416), 1,
       sym__declarator,
-    STATE(1446), 1,
-      sym_parameter_list,
-    STATE(1496), 1,
-      sym__abstract_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1445), 4,
-      sym_abstract_parenthesized_declarator,
-      sym_abstract_pointer_declarator,
-      sym_abstract_function_declarator,
-      sym_abstract_array_declarator,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-  [53721] = 10,
+    ACTIONS(41), 6,
+      anon_sym___cdecl,
+      anon_sym___clrcall,
+      anon_sym___stdcall,
+      anon_sym___fastcall,
+      anon_sym___thiscall,
+      anon_sym___vectorcall,
+  [55006] = 10,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3045), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3047), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3049), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    STATE(1307), 1,
+    STATE(1358), 1,
       sym_ms_call_modifier,
-    STATE(1439), 1,
-      sym__field_declarator,
-    STATE(1788), 1,
+    STATE(1435), 1,
+      sym__declarator,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1384), 5,
-      sym_parenthesized_field_declarator,
-      sym_attributed_field_declarator,
-      sym_pointer_field_declarator,
-      sym_function_field_declarator,
-      sym_array_field_declarator,
-    ACTIONS(39), 6,
+    STATE(1311), 5,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_function_declarator,
+      sym_array_declarator,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [53761] = 10,
+  [55046] = 8,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3681), 1,
+      sym_identifier,
+    ACTIONS(3685), 1,
+      anon_sym_LBRACK,
+    STATE(1275), 1,
+      sym_gnu_asm_expression,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(93), 3,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+    STATE(1273), 3,
+      sym_preproc_call_expression,
+      sym_attribute_specifier,
+      aux_sym_function_declarator_repeat1,
+    ACTIONS(3683), 7,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_SEMI,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
+      anon_sym_EQ,
+  [55082] = 10,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    STATE(1311), 1,
+    STATE(1338), 1,
       sym_ms_call_modifier,
-    STATE(1440), 1,
+    STATE(1454), 1,
       sym__declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-    ACTIONS(39), 6,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [53801] = 10,
+  [55122] = 10,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(3111), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3113), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3115), 1,
       anon_sym_STAR,
-    STATE(1324), 1,
+    STATE(1356), 1,
       sym_ms_call_modifier,
-    STATE(1385), 1,
-      sym__declarator,
-    STATE(1846), 1,
+    STATE(1470), 1,
+      sym__field_declarator,
+    STATE(1953), 1,
       sym_ms_based_modifier,
-    STATE(1303), 5,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_function_declarator,
-      sym_array_declarator,
-    ACTIONS(39), 6,
+    STATE(1395), 5,
+      sym_parenthesized_field_declarator,
+      sym_attributed_field_declarator,
+      sym_pointer_field_declarator,
+      sym_function_field_declarator,
+      sym_array_field_declarator,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [53841] = 10,
+  [55162] = 12,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(1823), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(1825), 1,
+      anon_sym_STAR,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(2801), 1,
+      sym_identifier,
+    ACTIONS(2813), 1,
+      anon_sym_LBRACK,
+    STATE(1442), 1,
+      sym_parameter_list,
+    STATE(1443), 1,
+      sym__declarator,
+    STATE(1547), 1,
+      sym__abstract_declarator,
+    STATE(1967), 1,
+      sym_ms_based_modifier,
+    STATE(1467), 4,
+      sym_abstract_parenthesized_declarator,
+      sym_abstract_pointer_declarator,
+      sym_abstract_function_declarator,
+      sym_abstract_array_declarator,
+    STATE(1311), 5,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_function_declarator,
+      sym_array_declarator,
+  [55206] = 10,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    STATE(1320), 1,
+    STATE(1354), 1,
       sym_ms_call_modifier,
-    STATE(1390), 1,
+    STATE(1412), 1,
       sym__declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-    ACTIONS(39), 6,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [53881] = 10,
+  [55246] = 11,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3681), 1,
+      sym_identifier,
+    ACTIONS(3685), 1,
+      anon_sym_LBRACK,
+    STATE(1272), 1,
+      sym_gnu_asm_expression,
+    STATE(1313), 1,
+      sym_attribute_specifier,
+    STATE(1396), 1,
+      aux_sym_type_definition_repeat1,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(3687), 2,
+      anon_sym_COMMA,
+      anon_sym_SEMI,
+    STATE(1273), 2,
+      sym_preproc_call_expression,
+      aux_sym_function_declarator_repeat1,
+    ACTIONS(93), 3,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+    ACTIONS(3683), 4,
+      anon_sym_LPAREN2,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
+      anon_sym_EQ,
+  [55288] = 10,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    STATE(1334), 1,
+    STATE(1349), 1,
       sym_ms_call_modifier,
-    STATE(1388), 1,
+    STATE(1408), 1,
       sym__declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-    ACTIONS(39), 6,
+    ACTIONS(41), 6,
       anon_sym___cdecl,
       anon_sym___clrcall,
       anon_sym___stdcall,
       anon_sym___fastcall,
       anon_sym___thiscall,
       anon_sym___vectorcall,
-  [53921] = 8,
+  [55328] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
+    ACTIONS(3689), 1,
+      sym_identifier,
+    ACTIONS(3694), 2,
       anon_sym___attribute__,
-    ACTIONS(3593), 1,
+      anon_sym___attribute,
+    STATE(1270), 3,
+      sym_preproc_call_expression,
+      sym_attribute_specifier,
+      aux_sym_function_declarator_repeat1,
+    ACTIONS(3697), 4,
+      anon_sym_LBRACK,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+    ACTIONS(3692), 7,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_SEMI,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
+      anon_sym_EQ,
+  [55359] = 11,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(3010), 1,
       sym_identifier,
-    ACTIONS(3597), 1,
+    ACTIONS(3012), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3014), 1,
+      anon_sym_STAR,
+    ACTIONS(3018), 1,
+      sym_primitive_type,
+    STATE(1350), 1,
+      sym__type_declarator,
+    STATE(1523), 1,
+      sym__type_definition_declarators,
+    STATE(1810), 1,
+      sym_ms_based_modifier,
+    ACTIONS(3016), 4,
+      anon_sym_signed,
+      anon_sym_unsigned,
+      anon_sym_long,
+      anon_sym_short,
+    STATE(1421), 5,
+      sym_parenthesized_type_declarator,
+      sym_attributed_type_declarator,
+      sym_pointer_type_declarator,
+      sym_function_type_declarator,
+      sym_array_type_declarator,
+  [55400] = 10,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3681), 1,
+      sym_identifier,
+    ACTIONS(3703), 1,
       anon_sym_LBRACK,
-    STATE(1263), 1,
-      sym_gnu_asm_expression,
-    ACTIONS(91), 3,
+    STATE(1313), 1,
+      sym_attribute_specifier,
+    STATE(1380), 1,
+      aux_sym_type_definition_repeat1,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(3699), 2,
+      anon_sym_COMMA,
+      anon_sym_SEMI,
+    STATE(1281), 2,
+      sym_preproc_call_expression,
+      aux_sym_function_declarator_repeat1,
+    ACTIONS(3705), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    STATE(1260), 3,
-      sym_preproc_call_expression,
-      sym_attribute_specifier,
-      aux_sym_function_declarator_repeat1,
-    ACTIONS(3595), 7,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
+    ACTIONS(3701), 4,
       anon_sym_LPAREN2,
-      anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
       anon_sym_EQ,
-  [53956] = 11,
+  [55439] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(3593), 1,
+    ACTIONS(3681), 1,
       sym_identifier,
-    ACTIONS(3597), 1,
-      anon_sym_LBRACK,
-    STATE(1261), 1,
-      sym_gnu_asm_expression,
-    STATE(1306), 1,
-      sym_attribute_specifier,
-    STATE(1393), 1,
-      aux_sym_type_definition_repeat1,
-    ACTIONS(3599), 2,
-      anon_sym_COMMA,
-      anon_sym_SEMI,
-    STATE(1260), 2,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    STATE(1270), 3,
       sym_preproc_call_expression,
+      sym_attribute_specifier,
       aux_sym_function_declarator_repeat1,
-    ACTIONS(91), 3,
+    ACTIONS(3703), 4,
+      anon_sym_LBRACK,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(3595), 4,
+    ACTIONS(3701), 7,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_LPAREN2,
+      anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
       anon_sym_EQ,
-  [53997] = 11,
+  [55470] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2972), 1,
+    ACTIONS(3010), 1,
       sym_identifier,
-    ACTIONS(2974), 1,
+    ACTIONS(3012), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2976), 1,
+    ACTIONS(3014), 1,
       anon_sym_STAR,
-    ACTIONS(2980), 1,
+    ACTIONS(3018), 1,
       sym_primitive_type,
-    STATE(1349), 1,
+    STATE(1350), 1,
       sym__type_declarator,
-    STATE(1539), 1,
+    STATE(1510), 1,
       sym__type_definition_declarators,
-    STATE(1954), 1,
+    STATE(1810), 1,
       sym_ms_based_modifier,
-    ACTIONS(2978), 4,
+    ACTIONS(3016), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(1408), 5,
+    STATE(1421), 5,
       sym_parenthesized_type_declarator,
       sym_attributed_type_declarator,
       sym_pointer_type_declarator,
       sym_function_type_declarator,
       sym_array_type_declarator,
-  [54038] = 11,
+  [55511] = 6,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3681), 1,
+      sym_identifier,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    STATE(1281), 3,
+      sym_preproc_call_expression,
+      sym_attribute_specifier,
+      aux_sym_function_declarator_repeat1,
+    ACTIONS(3703), 4,
+      anon_sym_LBRACK,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+    ACTIONS(3701), 7,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_SEMI,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
+      anon_sym_EQ,
+  [55542] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2972), 1,
+    ACTIONS(3010), 1,
       sym_identifier,
-    ACTIONS(2974), 1,
+    ACTIONS(3012), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2976), 1,
+    ACTIONS(3014), 1,
       anon_sym_STAR,
-    ACTIONS(2980), 1,
+    ACTIONS(3018), 1,
       sym_primitive_type,
-    STATE(1349), 1,
+    STATE(1350), 1,
       sym__type_declarator,
-    STATE(1494), 1,
+    STATE(1499), 1,
       sym__type_definition_declarators,
-    STATE(1954), 1,
+    STATE(1810), 1,
       sym_ms_based_modifier,
-    ACTIONS(2978), 4,
+    ACTIONS(3016), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(1408), 5,
+    STATE(1421), 5,
       sym_parenthesized_type_declarator,
       sym_attributed_type_declarator,
       sym_pointer_type_declarator,
       sym_function_type_declarator,
       sym_array_type_declarator,
-  [54079] = 11,
+  [55583] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2972), 1,
+    ACTIONS(3010), 1,
       sym_identifier,
-    ACTIONS(2974), 1,
+    ACTIONS(3012), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2976), 1,
+    ACTIONS(3014), 1,
       anon_sym_STAR,
-    ACTIONS(2980), 1,
+    ACTIONS(3018), 1,
       sym_primitive_type,
-    STATE(1349), 1,
+    STATE(1350), 1,
       sym__type_declarator,
-    STATE(1547), 1,
+    STATE(1501), 1,
       sym__type_definition_declarators,
-    STATE(1954), 1,
+    STATE(1810), 1,
       sym_ms_based_modifier,
-    ACTIONS(2978), 4,
+    ACTIONS(3016), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(1408), 5,
+    STATE(1421), 5,
       sym_parenthesized_type_declarator,
       sym_attributed_type_declarator,
       sym_pointer_type_declarator,
       sym_function_type_declarator,
       sym_array_type_declarator,
-  [54120] = 11,
+  [55624] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2972), 1,
+    ACTIONS(3010), 1,
       sym_identifier,
-    ACTIONS(2974), 1,
+    ACTIONS(3012), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2976), 1,
+    ACTIONS(3014), 1,
       anon_sym_STAR,
-    ACTIONS(2980), 1,
+    ACTIONS(3018), 1,
       sym_primitive_type,
-    STATE(1349), 1,
+    STATE(1350), 1,
       sym__type_declarator,
-    STATE(1514), 1,
+    STATE(1503), 1,
       sym__type_definition_declarators,
-    STATE(1954), 1,
+    STATE(1810), 1,
       sym_ms_based_modifier,
-    ACTIONS(2978), 4,
+    ACTIONS(3016), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(1408), 5,
+    STATE(1421), 5,
       sym_parenthesized_type_declarator,
       sym_attributed_type_declarator,
       sym_pointer_type_declarator,
       sym_function_type_declarator,
       sym_array_type_declarator,
-  [54161] = 11,
+  [55665] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2972), 1,
+    ACTIONS(3010), 1,
       sym_identifier,
-    ACTIONS(2974), 1,
+    ACTIONS(3012), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2976), 1,
+    ACTIONS(3014), 1,
       anon_sym_STAR,
-    ACTIONS(2980), 1,
+    ACTIONS(3018), 1,
       sym_primitive_type,
-    STATE(1349), 1,
+    STATE(1350), 1,
       sym__type_declarator,
-    STATE(1489), 1,
+    STATE(1508), 1,
       sym__type_definition_declarators,
-    STATE(1954), 1,
+    STATE(1810), 1,
       sym_ms_based_modifier,
-    ACTIONS(2978), 4,
+    ACTIONS(3016), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(1408), 5,
+    STATE(1421), 5,
       sym_parenthesized_type_declarator,
       sym_attributed_type_declarator,
       sym_pointer_type_declarator,
       sym_function_type_declarator,
       sym_array_type_declarator,
-  [54202] = 11,
+  [55706] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2972), 1,
+    ACTIONS(3010), 1,
       sym_identifier,
-    ACTIONS(2974), 1,
+    ACTIONS(3012), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2976), 1,
+    ACTIONS(3014), 1,
       anon_sym_STAR,
-    ACTIONS(2980), 1,
+    ACTIONS(3018), 1,
       sym_primitive_type,
-    STATE(1349), 1,
+    STATE(1350), 1,
       sym__type_declarator,
-    STATE(1502), 1,
+    STATE(1519), 1,
       sym__type_definition_declarators,
-    STATE(1954), 1,
+    STATE(1810), 1,
       sym_ms_based_modifier,
-    ACTIONS(2978), 4,
+    ACTIONS(3016), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(1408), 5,
+    STATE(1421), 5,
       sym_parenthesized_type_declarator,
       sym_attributed_type_declarator,
       sym_pointer_type_declarator,
       sym_function_type_declarator,
       sym_array_type_declarator,
-  [54243] = 11,
+  [55747] = 6,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3681), 1,
+      sym_identifier,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    STATE(1270), 3,
+      sym_preproc_call_expression,
+      sym_attribute_specifier,
+      aux_sym_function_declarator_repeat1,
+    ACTIONS(3709), 4,
+      anon_sym_LBRACK,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+    ACTIONS(3707), 7,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_SEMI,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
+      anon_sym_EQ,
+  [55778] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2972), 1,
+    ACTIONS(3010), 1,
       sym_identifier,
-    ACTIONS(2974), 1,
+    ACTIONS(3012), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2976), 1,
+    ACTIONS(3014), 1,
       anon_sym_STAR,
-    ACTIONS(2980), 1,
+    ACTIONS(3018), 1,
       sym_primitive_type,
-    STATE(1349), 1,
+    STATE(1350), 1,
       sym__type_declarator,
-    STATE(1505), 1,
+    STATE(1522), 1,
       sym__type_definition_declarators,
-    STATE(1954), 1,
+    STATE(1810), 1,
       sym_ms_based_modifier,
-    ACTIONS(2978), 4,
+    ACTIONS(3016), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(1408), 5,
+    STATE(1421), 5,
       sym_parenthesized_type_declarator,
       sym_attributed_type_declarator,
       sym_pointer_type_declarator,
       sym_function_type_declarator,
       sym_array_type_declarator,
-  [54284] = 11,
+  [55819] = 12,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2972), 1,
+    ACTIONS(3111), 1,
       sym_identifier,
-    ACTIONS(2974), 1,
+    ACTIONS(3113), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2976), 1,
+    ACTIONS(3115), 1,
       anon_sym_STAR,
-    ACTIONS(2980), 1,
-      sym_primitive_type,
-    STATE(1349), 1,
-      sym__type_declarator,
-    STATE(1500), 1,
-      sym__type_definition_declarators,
-    STATE(1954), 1,
+    ACTIONS(3711), 1,
+      anon_sym_SEMI,
+    STATE(1303), 1,
+      sym__field_declarator,
+    STATE(1543), 1,
+      sym__field_declaration_declarator,
+    STATE(1921), 1,
+      sym_attribute_specifier,
+    STATE(1953), 1,
       sym_ms_based_modifier,
-    ACTIONS(2978), 4,
-      anon_sym_signed,
-      anon_sym_unsigned,
-      anon_sym_long,
-      anon_sym_short,
-    STATE(1408), 5,
-      sym_parenthesized_type_declarator,
-      sym_attributed_type_declarator,
-      sym_pointer_type_declarator,
-      sym_function_type_declarator,
-      sym_array_type_declarator,
-  [54325] = 6,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    STATE(1395), 5,
+      sym_parenthesized_field_declarator,
+      sym_attributed_field_declarator,
+      sym_pointer_field_declarator,
+      sym_function_field_declarator,
+      sym_array_field_declarator,
+  [55861] = 12,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(3593), 1,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(3111), 1,
       sym_identifier,
-    STATE(1265), 3,
-      sym_preproc_call_expression,
+    ACTIONS(3113), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3115), 1,
+      anon_sym_STAR,
+    ACTIONS(3713), 1,
+      anon_sym_SEMI,
+    STATE(1303), 1,
+      sym__field_declarator,
+    STATE(1533), 1,
+      sym__field_declaration_declarator,
+    STATE(1929), 1,
       sym_attribute_specifier,
-      aux_sym_function_declarator_repeat1,
-    ACTIONS(3603), 4,
+    STATE(1953), 1,
+      sym_ms_based_modifier,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    STATE(1395), 5,
+      sym_parenthesized_field_declarator,
+      sym_attributed_field_declarator,
+      sym_pointer_field_declarator,
+      sym_function_field_declarator,
+      sym_array_field_declarator,
+  [55903] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3719), 1,
+      anon_sym_LBRACK_LBRACK,
+    STATE(1285), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+    ACTIONS(3717), 3,
+      anon_sym___attribute,
       anon_sym_LBRACK,
-      anon_sym_asm,
-      anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(3601), 7,
+    ACTIONS(3715), 10,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_SEMI,
-      anon_sym_LBRACK_LBRACK,
+      anon_sym___attribute__,
       anon_sym_LBRACE,
       anon_sym_EQ,
-  [54355] = 10,
+      anon_sym_COLON,
+      anon_sym_asm,
+      anon_sym___asm__,
+  [55931] = 12,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(3593), 1,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(3111), 1,
       sym_identifier,
-    ACTIONS(3603), 1,
-      anon_sym_LBRACK,
-    STATE(1306), 1,
-      sym_attribute_specifier,
-    STATE(1394), 1,
-      aux_sym_type_definition_repeat1,
-    ACTIONS(3605), 2,
-      anon_sym_COMMA,
-      anon_sym_SEMI,
-    STATE(1266), 2,
-      sym_preproc_call_expression,
-      aux_sym_function_declarator_repeat1,
-    ACTIONS(3607), 3,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-    ACTIONS(3601), 4,
+    ACTIONS(3113), 1,
       anon_sym_LPAREN2,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-      anon_sym_EQ,
-  [54393] = 10,
+    ACTIONS(3115), 1,
+      anon_sym_STAR,
+    ACTIONS(3722), 1,
+      anon_sym_SEMI,
+    STATE(1303), 1,
+      sym__field_declarator,
+    STATE(1568), 1,
+      sym__field_declaration_declarator,
+    STATE(1886), 1,
+      sym_attribute_specifier,
+    STATE(1953), 1,
+      sym_ms_based_modifier,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    STATE(1395), 5,
+      sym_parenthesized_field_declarator,
+      sym_attributed_field_declarator,
+      sym_pointer_field_declarator,
+      sym_function_field_declarator,
+      sym_array_field_declarator,
+  [55973] = 10,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2972), 1,
+    ACTIONS(3010), 1,
       sym_identifier,
-    ACTIONS(2974), 1,
+    ACTIONS(3012), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2976), 1,
+    ACTIONS(3014), 1,
       anon_sym_STAR,
-    ACTIONS(2980), 1,
+    ACTIONS(3018), 1,
       sym_primitive_type,
-    STATE(1367), 1,
+    STATE(1461), 1,
       sym__type_declarator,
-    STATE(1954), 1,
+    STATE(1810), 1,
       sym_ms_based_modifier,
-    ACTIONS(2978), 4,
+    ACTIONS(3016), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(1408), 5,
+    STATE(1421), 5,
       sym_parenthesized_type_declarator,
       sym_attributed_type_declarator,
       sym_pointer_type_declarator,
       sym_function_type_declarator,
       sym_array_type_declarator,
-  [54431] = 6,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(3593), 1,
-      sym_identifier,
-    STATE(1266), 3,
-      sym_preproc_call_expression,
-      sym_attribute_specifier,
-      aux_sym_function_declarator_repeat1,
-    ACTIONS(3603), 4,
-      anon_sym_LBRACK,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-    ACTIONS(3601), 7,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_SEMI,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-      anon_sym_EQ,
-  [54461] = 10,
+  [56011] = 10,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2972), 1,
+    ACTIONS(3010), 1,
       sym_identifier,
-    ACTIONS(2974), 1,
+    ACTIONS(3012), 1,
       anon_sym_LPAREN2,
-    ACTIONS(2976), 1,
+    ACTIONS(3014), 1,
       anon_sym_STAR,
-    ACTIONS(2980), 1,
+    ACTIONS(3018), 1,
       sym_primitive_type,
-    STATE(1416), 1,
+    STATE(1363), 1,
       sym__type_declarator,
-    STATE(1954), 1,
+    STATE(1810), 1,
       sym_ms_based_modifier,
-    ACTIONS(2978), 4,
+    ACTIONS(3016), 4,
       anon_sym_signed,
       anon_sym_unsigned,
       anon_sym_long,
       anon_sym_short,
-    STATE(1408), 5,
+    STATE(1421), 5,
       sym_parenthesized_type_declarator,
       sym_attributed_type_declarator,
       sym_pointer_type_declarator,
       sym_function_type_declarator,
       sym_array_type_declarator,
-  [54499] = 6,
+  [56049] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3609), 1,
-      sym_identifier,
-    ACTIONS(3614), 1,
-      anon_sym___attribute__,
-    STATE(1265), 3,
-      sym_preproc_call_expression,
-      sym_attribute_specifier,
-      aux_sym_function_declarator_repeat1,
-    ACTIONS(3617), 4,
-      anon_sym_LBRACK,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-    ACTIONS(3612), 7,
+    ACTIONS(3442), 1,
+      anon_sym_LPAREN2,
+    STATE(1012), 1,
+      sym_preproc_argument_list,
+    ACTIONS(3726), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_LPAREN2,
       anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
       anon_sym_EQ,
-  [54529] = 6,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(33), 1,
+    ACTIONS(3724), 7,
       anon_sym___attribute__,
-    ACTIONS(3593), 1,
-      sym_identifier,
-    STATE(1265), 3,
-      sym_preproc_call_expression,
-      sym_attribute_specifier,
-      aux_sym_function_declarator_repeat1,
-    ACTIONS(3621), 4,
+      anon_sym___attribute,
       anon_sym_LBRACK,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-    ACTIONS(3619), 7,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_SEMI,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-      anon_sym_EQ,
-  [54559] = 5,
+      sym_identifier,
+  [56076] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3625), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(3628), 2,
+    ACTIONS(2891), 7,
+      anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_LBRACK,
+      anon_sym_asm,
+      anon_sym___asm__,
       anon_sym___asm,
-    STATE(1267), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3623), 10,
+      sym_identifier,
+    ACTIONS(2884), 8,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_SEMI,
-      anon_sym___attribute__,
+      anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
       anon_sym_EQ,
       anon_sym_COLON,
-      anon_sym_asm,
-      anon_sym___asm__,
-  [54586] = 12,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(3045), 1,
-      sym_identifier,
-    ACTIONS(3047), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3049), 1,
-      anon_sym_STAR,
-    ACTIONS(3630), 1,
-      anon_sym_SEMI,
-    STATE(1305), 1,
-      sym__field_declarator,
-    STATE(1630), 1,
-      sym__field_declaration_declarator,
-    STATE(1788), 1,
-      sym_ms_based_modifier,
-    STATE(1845), 1,
-      sym_attribute_specifier,
-    STATE(1384), 5,
-      sym_parenthesized_field_declarator,
-      sym_attributed_field_declarator,
-      sym_pointer_field_declarator,
-      sym_function_field_declarator,
-      sym_array_field_declarator,
-  [54627] = 11,
+  [56099] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3632), 1,
+    ACTIONS(3728), 1,
       sym_identifier,
-    ACTIONS(3634), 1,
+    ACTIONS(3730), 1,
       aux_sym_preproc_if_token2,
-    ACTIONS(3636), 1,
+    ACTIONS(3732), 1,
       aux_sym_preproc_else_token1,
-    ACTIONS(3638), 1,
+    ACTIONS(3734), 1,
       aux_sym_preproc_elif_token1,
-    STATE(1322), 1,
+    STATE(1332), 1,
       aux_sym_preproc_if_in_enumerator_list_repeat1,
-    STATE(1323), 1,
+    STATE(1359), 1,
       aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1,
-    STATE(1428), 1,
+    STATE(1463), 1,
       sym_enumerator,
-    ACTIONS(3640), 2,
+    ACTIONS(3736), 2,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
-    STATE(1884), 3,
+    STATE(2012), 3,
       sym_preproc_else_in_enumerator_list,
       sym_preproc_elif_in_enumerator_list,
       sym_preproc_elifdef_in_enumerator_list,
-    STATE(1891), 3,
+    STATE(2015), 3,
       sym_preproc_else_in_enumerator_list_no_comma,
       sym_preproc_elif_in_enumerator_list_no_comma,
       sym_preproc_elifdef_in_enumerator_list_no_comma,
-  [54666] = 11,
+  [56138] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3632), 1,
+    ACTIONS(3728), 1,
       sym_identifier,
-    ACTIONS(3636), 1,
+    ACTIONS(3732), 1,
       aux_sym_preproc_else_token1,
-    ACTIONS(3638), 1,
+    ACTIONS(3734), 1,
       aux_sym_preproc_elif_token1,
-    ACTIONS(3642), 1,
+    ACTIONS(3738), 1,
       aux_sym_preproc_if_token2,
-    STATE(1309), 1,
+    STATE(1342), 1,
       aux_sym_preproc_if_in_enumerator_list_repeat1,
-    STATE(1310), 1,
+    STATE(1343), 1,
       aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1,
-    STATE(1428), 1,
+    STATE(1463), 1,
       sym_enumerator,
-    ACTIONS(3640), 2,
+    ACTIONS(3736), 2,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
-    STATE(1868), 3,
+    STATE(1835), 3,
       sym_preproc_else_in_enumerator_list,
       sym_preproc_elif_in_enumerator_list,
       sym_preproc_elifdef_in_enumerator_list,
-    STATE(1870), 3,
+    STATE(1836), 3,
       sym_preproc_else_in_enumerator_list_no_comma,
       sym_preproc_elif_in_enumerator_list_no_comma,
       sym_preproc_elifdef_in_enumerator_list_no_comma,
-  [54705] = 11,
+  [56177] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3632), 1,
+    ACTIONS(3728), 1,
       sym_identifier,
-    ACTIONS(3636), 1,
+    ACTIONS(3732), 1,
       aux_sym_preproc_else_token1,
-    ACTIONS(3638), 1,
+    ACTIONS(3734), 1,
       aux_sym_preproc_elif_token1,
-    ACTIONS(3644), 1,
+    ACTIONS(3740), 1,
       aux_sym_preproc_if_token2,
-    STATE(1319), 1,
+    STATE(1340), 1,
       aux_sym_preproc_if_in_enumerator_list_repeat1,
-    STATE(1321), 1,
+    STATE(1341), 1,
       aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1,
-    STATE(1428), 1,
+    STATE(1463), 1,
       sym_enumerator,
-    ACTIONS(3640), 2,
+    ACTIONS(3736), 2,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
-    STATE(1857), 3,
+    STATE(1926), 3,
       sym_preproc_else_in_enumerator_list,
       sym_preproc_elif_in_enumerator_list,
       sym_preproc_elifdef_in_enumerator_list,
-    STATE(1893), 3,
+    STATE(1927), 3,
       sym_preproc_else_in_enumerator_list_no_comma,
       sym_preproc_elif_in_enumerator_list_no_comma,
       sym_preproc_elifdef_in_enumerator_list_no_comma,
-  [54744] = 12,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(3045), 1,
-      sym_identifier,
-    ACTIONS(3047), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3049), 1,
-      anon_sym_STAR,
-    ACTIONS(3646), 1,
-      anon_sym_SEMI,
-    STATE(1305), 1,
-      sym__field_declarator,
-    STATE(1574), 1,
-      sym__field_declaration_declarator,
-    STATE(1786), 1,
-      sym_attribute_specifier,
-    STATE(1788), 1,
-      sym_ms_based_modifier,
-    STATE(1384), 5,
-      sym_parenthesized_field_declarator,
-      sym_attributed_field_declarator,
-      sym_pointer_field_declarator,
-      sym_function_field_declarator,
-      sym_array_field_declarator,
-  [54785] = 12,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(3045), 1,
-      sym_identifier,
-    ACTIONS(3047), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3049), 1,
-      anon_sym_STAR,
-    ACTIONS(3648), 1,
-      anon_sym_SEMI,
-    STATE(1305), 1,
-      sym__field_declarator,
-    STATE(1636), 1,
-      sym__field_declaration_declarator,
-    STATE(1788), 1,
-      sym_ms_based_modifier,
-    STATE(1990), 1,
-      sym_attribute_specifier,
-    STATE(1384), 5,
-      sym_parenthesized_field_declarator,
-      sym_attributed_field_declarator,
-      sym_pointer_field_declarator,
-      sym_function_field_declarator,
-      sym_array_field_declarator,
-  [54826] = 11,
+  [56216] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3632), 1,
+    ACTIONS(3728), 1,
       sym_identifier,
-    ACTIONS(3636), 1,
+    ACTIONS(3732), 1,
       aux_sym_preproc_else_token1,
-    ACTIONS(3638), 1,
+    ACTIONS(3734), 1,
       aux_sym_preproc_elif_token1,
-    ACTIONS(3650), 1,
+    ACTIONS(3742), 1,
       aux_sym_preproc_if_token2,
-    STATE(1332), 1,
+    STATE(1352), 1,
       aux_sym_preproc_if_in_enumerator_list_repeat1,
-    STATE(1333), 1,
+    STATE(1353), 1,
       aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1,
-    STATE(1428), 1,
+    STATE(1463), 1,
       sym_enumerator,
-    ACTIONS(3640), 2,
+    ACTIONS(3736), 2,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
-    STATE(1834), 3,
+    STATE(1896), 3,
       sym_preproc_else_in_enumerator_list,
       sym_preproc_elif_in_enumerator_list,
       sym_preproc_elifdef_in_enumerator_list,
-    STATE(1855), 3,
+    STATE(1897), 3,
       sym_preproc_else_in_enumerator_list_no_comma,
       sym_preproc_elif_in_enumerator_list_no_comma,
       sym_preproc_elifdef_in_enumerator_list_no_comma,
-  [54865] = 3,
+  [56255] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3652), 6,
+    ACTIONS(37), 1,
+      anon_sym_LBRACK_LBRACK,
+    STATE(1285), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+    ACTIONS(3746), 3,
+      anon_sym___attribute,
+      anon_sym_LBRACK,
+      anon_sym___asm,
+    ACTIONS(3744), 9,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_SEMI,
       anon_sym___attribute__,
+      anon_sym_LBRACE,
+      anon_sym_EQ,
+      anon_sym_asm,
+      anon_sym___asm__,
+  [56282] = 8,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3681), 1,
+      sym_identifier,
+    ACTIONS(3685), 1,
       anon_sym_LBRACK,
+    STATE(1351), 1,
+      sym_gnu_asm_expression,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(93), 3,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
-      sym_identifier,
-    ACTIONS(3654), 8,
+    STATE(1333), 3,
+      sym_preproc_call_expression,
+      sym_attribute_specifier,
+      aux_sym_function_declarator_repeat1,
+    ACTIONS(3683), 4,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
-      anon_sym_SEMI,
       anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-      anon_sym_EQ,
-      anon_sym_COLON,
-  [54887] = 3,
+  [56315] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2900), 6,
+    ACTIONS(2942), 7,
       anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_LBRACK,
       anon_sym_asm,
       anon_sym___asm__,
       anon_sym___asm,
       sym_identifier,
-    ACTIONS(2893), 8,
+    ACTIONS(2935), 8,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -106641,44 +108454,43 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_LBRACE,
       anon_sym_EQ,
       anon_sym_COLON,
-  [54909] = 5,
+  [56338] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(3658), 2,
+    ACTIONS(3748), 7,
+      anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_LBRACK,
+      anon_sym_asm,
+      anon_sym___asm__,
       anon_sym___asm,
-    STATE(1267), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3656), 9,
+      sym_identifier,
+    ACTIONS(3750), 8,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_SEMI,
-      anon_sym___attribute__,
+      anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
       anon_sym_EQ,
-      anon_sym_asm,
-      anon_sym___asm__,
-  [54935] = 8,
+      anon_sym_COLON,
+  [56361] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    ACTIONS(3666), 1,
+    ACTIONS(3758), 1,
       anon_sym___asm,
-    STATE(1250), 1,
+    STATE(1263), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3660), 7,
+    ACTIONS(3752), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_SEMI,
@@ -106686,23 +108498,23 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_EQ,
       anon_sym_asm,
       anon_sym___asm__,
-  [54967] = 8,
+  [56393] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    ACTIONS(3670), 1,
+    ACTIONS(3762), 1,
       anon_sym___asm,
-    STATE(1250), 1,
+    STATE(1263), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3668), 7,
+    ACTIONS(3760), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_SEMI,
@@ -106710,66 +108522,47 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_EQ,
       anon_sym_asm,
       anon_sym___asm__,
-  [54999] = 8,
+  [56425] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(3593), 1,
-      sym_identifier,
-    ACTIONS(3597), 1,
-      anon_sym_LBRACK,
-    STATE(1351), 1,
-      sym_gnu_asm_expression,
-    ACTIONS(91), 3,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-    STATE(1338), 3,
-      sym_preproc_call_expression,
-      sym_attribute_specifier,
-      aux_sym_function_declarator_repeat1,
-    ACTIONS(3595), 4,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-  [55031] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2912), 6,
-      anon_sym___attribute__,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-      anon_sym_asm,
-      anon_sym___asm__,
+    ACTIONS(3766), 1,
       anon_sym___asm,
-      sym_identifier,
-    ACTIONS(2905), 8,
+    STATE(1263), 1,
+      sym_parameter_list,
+    STATE(1295), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+    ACTIONS(3764), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_LPAREN2,
       anon_sym_SEMI,
-      anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
       anon_sym_EQ,
-      anon_sym_COLON,
-  [55053] = 8,
+      anon_sym_asm,
+      anon_sym___asm__,
+  [56457] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    ACTIONS(3674), 1,
+    ACTIONS(3770), 1,
       anon_sym___asm,
-    STATE(1250), 1,
+    STATE(1263), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3672), 7,
+    ACTIONS(3768), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_SEMI,
@@ -106777,392 +108570,428 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_EQ,
       anon_sym_asm,
       anon_sym___asm__,
-  [55085] = 8,
+  [56489] = 12,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3772), 1,
+      anon_sym_COMMA,
+    ACTIONS(3776), 1,
+      anon_sym___attribute,
+    ACTIONS(3778), 1,
       anon_sym_LBRACK,
-    ACTIONS(3678), 1,
-      anon_sym___asm,
-    STATE(1250), 1,
+    ACTIONS(3780), 1,
+      anon_sym_COLON,
+    STATE(1403), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1524), 1,
+      sym_bitfield_clause,
+    STATE(1526), 1,
+      aux_sym__field_declaration_declarator_repeat1,
+    ACTIONS(3774), 2,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+    STATE(1362), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3676), 7,
+  [56528] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3784), 3,
+      anon_sym___attribute,
+      anon_sym_LBRACK,
+      anon_sym___asm,
+    ACTIONS(3782), 10,
       anon_sym_COMMA,
       anon_sym_RPAREN,
+      anon_sym_LPAREN2,
       anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
       anon_sym_EQ,
       anon_sym_asm,
       anon_sym___asm__,
-  [55117] = 5,
+  [56549] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3338), 1,
-      anon_sym_LPAREN2,
-    STATE(1002), 1,
-      sym_preproc_argument_list,
-    ACTIONS(3680), 6,
-      anon_sym___attribute__,
+    ACTIONS(3788), 3,
+      anon_sym___attribute,
       anon_sym_LBRACK,
-      anon_sym_asm,
-      anon_sym___asm__,
       anon_sym___asm,
-      sym_identifier,
-    ACTIONS(3682), 6,
+    ACTIONS(3786), 10,
       anon_sym_COMMA,
       anon_sym_RPAREN,
+      anon_sym_LPAREN2,
       anon_sym_SEMI,
+      anon_sym___attribute__,
       anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
       anon_sym_EQ,
-  [55143] = 11,
+      anon_sym_asm,
+      anon_sym___asm__,
+  [56570] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1450), 1,
+    STATE(1407), 1,
       sym__declarator,
-    STATE(1469), 1,
-      sym__declaration_declarator,
-    STATE(1484), 1,
-      sym__function_declaration_declarator,
-    STATE(1846), 1,
-      sym_ms_based_modifier,
-    STATE(1343), 4,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_array_declarator,
-  [55180] = 11,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(3029), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
-      anon_sym_STAR,
-    ACTIONS(3328), 1,
-      sym_identifier,
-    STATE(1303), 1,
-      sym_function_declarator,
-    STATE(1413), 1,
+    STATE(1462), 1,
       sym__declaration_declarator,
-    STATE(1450), 1,
-      sym__declarator,
-    STATE(1484), 1,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-  [55217] = 11,
+  [56607] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1407), 1,
+    STATE(1455), 1,
       sym__declaration_declarator,
-    STATE(1450), 1,
+    STATE(1481), 1,
       sym__declarator,
-    STATE(1484), 1,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-  [55254] = 11,
+  [56644] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3792), 3,
+      anon_sym___attribute,
+      anon_sym_LBRACK,
+      anon_sym___asm,
+    ACTIONS(3790), 10,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
-      anon_sym_STAR,
-    ACTIONS(3328), 1,
-      sym_identifier,
-    STATE(1303), 1,
-      sym_function_declarator,
-    STATE(1409), 1,
-      sym__declaration_declarator,
-    STATE(1450), 1,
-      sym__declarator,
-    STATE(1484), 1,
-      sym__function_declaration_declarator,
-    STATE(1846), 1,
-      sym_ms_based_modifier,
-    STATE(1343), 4,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_array_declarator,
-  [55291] = 9,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(17), 1,
-      sym_preproc_directive,
-    ACTIONS(3684), 1,
-      sym_identifier,
-    ACTIONS(3686), 1,
-      aux_sym_preproc_if_token1,
-    ACTIONS(3690), 1,
-      anon_sym_RBRACE,
-    ACTIONS(3688), 2,
-      aux_sym_preproc_ifdef_token1,
-      aux_sym_preproc_ifdef_token2,
-    STATE(1747), 2,
-      sym_preproc_call,
-      sym_enumerator,
-    STATE(1985), 2,
-      sym_preproc_if_in_enumerator_list_no_comma,
-      sym_preproc_ifdef_in_enumerator_list_no_comma,
-    STATE(1308), 3,
-      sym_preproc_if_in_enumerator_list,
-      sym_preproc_ifdef_in_enumerator_list,
-      aux_sym_enumerator_list_repeat1,
-  [55324] = 11,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
+      anon_sym_EQ,
+      anon_sym_asm,
+      anon_sym___asm__,
+  [56665] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1438), 1,
+    STATE(1475), 1,
       sym__declaration_declarator,
-    STATE(1450), 1,
+    STATE(1481), 1,
       sym__declarator,
-    STATE(1484), 1,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-  [55361] = 11,
+  [56702] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1381), 1,
+    STATE(1411), 1,
       sym__declarator,
-    STATE(1413), 1,
+    STATE(1448), 1,
       sym__declaration_declarator,
-    STATE(1484), 1,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-  [55398] = 11,
+  [56739] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3796), 3,
+      anon_sym___attribute,
+      anon_sym_LBRACK,
+      anon_sym___asm,
+    ACTIONS(3794), 10,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
+      anon_sym_EQ,
+      anon_sym_asm,
+      anon_sym___asm__,
+  [56760] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1397), 1,
-      sym__declarator,
-    STATE(1407), 1,
+    STATE(1458), 1,
       sym__declaration_declarator,
-    STATE(1484), 1,
+    STATE(1481), 1,
+      sym__declarator,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-  [55435] = 11,
+  [56797] = 6,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3724), 2,
+      anon_sym_LBRACK,
+      sym_identifier,
+    ACTIONS(3798), 2,
+      anon_sym_COMMA,
+      anon_sym_SEMI,
+    ACTIONS(3800), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    ACTIONS(3803), 3,
+      anon_sym_asm,
+      anon_sym___asm__,
+      anon_sym___asm,
+    ACTIONS(3726), 4,
+      anon_sym_LPAREN2,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
+      anon_sym_EQ,
+  [56824] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3807), 3,
+      anon_sym___attribute,
+      anon_sym_LBRACK,
+      anon_sym___asm,
+    ACTIONS(3805), 10,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
+      anon_sym_EQ,
+      anon_sym_asm,
+      anon_sym___asm__,
+  [56845] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3811), 3,
+      anon_sym___attribute,
+      anon_sym_LBRACK,
+      anon_sym___asm,
+    ACTIONS(3809), 10,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACE,
+      anon_sym_EQ,
+      anon_sym_asm,
+      anon_sym___asm__,
+  [56866] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1434), 1,
-      sym__declaration_declarator,
-    STATE(1450), 1,
+    STATE(1428), 1,
       sym__declarator,
-    STATE(1484), 1,
+    STATE(1440), 1,
+      sym__declaration_declarator,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-  [55472] = 9,
+  [56903] = 9,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(17), 1,
       sym_preproc_directive,
-    ACTIONS(3684), 1,
+    ACTIONS(3813), 1,
       sym_identifier,
-    ACTIONS(3686), 1,
+    ACTIONS(3815), 1,
       aux_sym_preproc_if_token1,
-    ACTIONS(3692), 1,
+    ACTIONS(3819), 1,
       anon_sym_RBRACE,
-    ACTIONS(3688), 2,
+    ACTIONS(3817), 2,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
-    STATE(1746), 2,
+    STATE(1696), 2,
       sym_preproc_call,
       sym_enumerator,
-    STATE(2000), 2,
+    STATE(1862), 2,
       sym_preproc_if_in_enumerator_list_no_comma,
       sym_preproc_ifdef_in_enumerator_list_no_comma,
-    STATE(1289), 3,
+    STATE(1334), 3,
       sym_preproc_if_in_enumerator_list,
       sym_preproc_ifdef_in_enumerator_list,
       aux_sym_enumerator_list_repeat1,
-  [55505] = 11,
+  [56936] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1400), 1,
-      sym__declarator,
-    STATE(1437), 1,
+    STATE(1448), 1,
       sym__declaration_declarator,
-    STATE(1484), 1,
+    STATE(1481), 1,
+      sym__declarator,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-  [55542] = 11,
+  [56973] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1437), 1,
-      sym__declaration_declarator,
-    STATE(1450), 1,
+    STATE(1425), 1,
       sym__declarator,
-    STATE(1484), 1,
+    STATE(1460), 1,
+      sym__declaration_declarator,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-  [55579] = 11,
+  [57010] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    ACTIONS(3328), 1,
+    ACTIONS(3422), 1,
       sym_identifier,
-    STATE(1303), 1,
+    STATE(1311), 1,
       sym_function_declarator,
-    STATE(1379), 1,
-      sym__declarator,
-    STATE(1438), 1,
+    STATE(1460), 1,
       sym__declaration_declarator,
-    STATE(1484), 1,
+    STATE(1481), 1,
+      sym__declarator,
+    STATE(1512), 1,
       sym__function_declaration_declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1343), 4,
+    STATE(1375), 4,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_array_declarator,
-  [55616] = 3,
+  [57047] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3696), 2,
+    ACTIONS(3823), 3,
+      anon_sym___attribute,
       anon_sym_LBRACK,
       anon_sym___asm,
-    ACTIONS(3694), 10,
+    ACTIONS(3821), 10,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
@@ -107173,8091 +109002,8168 @@ static const uint16_t ts_small_parse_table[] = {
       anon_sym_EQ,
       anon_sym_asm,
       anon_sym___asm__,
-  [55636] = 3,
+  [57068] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3700), 2,
-      anon_sym_LBRACK,
-      anon_sym___asm,
-    ACTIONS(3698), 10,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-      anon_sym_EQ,
-      anon_sym_asm,
-      anon_sym___asm__,
-  [55656] = 3,
+    ACTIONS(3107), 1,
+      anon_sym_STAR,
+    ACTIONS(3422), 1,
+      sym_identifier,
+    STATE(1311), 1,
+      sym_function_declarator,
+    STATE(1440), 1,
+      sym__declaration_declarator,
+    STATE(1481), 1,
+      sym__declarator,
+    STATE(1512), 1,
+      sym__function_declaration_declarator,
+    STATE(1967), 1,
+      sym_ms_based_modifier,
+    STATE(1375), 4,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_array_declarator,
+  [57105] = 11,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3704), 2,
-      anon_sym_LBRACK,
-      anon_sym___asm,
-    ACTIONS(3702), 10,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-      anon_sym_EQ,
-      anon_sym_asm,
-      anon_sym___asm__,
-  [55676] = 3,
+    ACTIONS(3107), 1,
+      anon_sym_STAR,
+    ACTIONS(3422), 1,
+      sym_identifier,
+    STATE(1311), 1,
+      sym_function_declarator,
+    STATE(1462), 1,
+      sym__declaration_declarator,
+    STATE(1481), 1,
+      sym__declarator,
+    STATE(1512), 1,
+      sym__function_declaration_declarator,
+    STATE(1967), 1,
+      sym_ms_based_modifier,
+    STATE(1375), 4,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_array_declarator,
+  [57142] = 9,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(17), 1,
+      sym_preproc_directive,
+    ACTIONS(3813), 1,
+      sym_identifier,
+    ACTIONS(3815), 1,
+      aux_sym_preproc_if_token1,
+    ACTIONS(3825), 1,
+      anon_sym_RBRACE,
+    ACTIONS(3817), 2,
+      aux_sym_preproc_ifdef_token1,
+      aux_sym_preproc_ifdef_token2,
+    STATE(1768), 2,
+      sym_preproc_call,
+      sym_enumerator,
+    STATE(2004), 2,
+      sym_preproc_if_in_enumerator_list_no_comma,
+      sym_preproc_ifdef_in_enumerator_list_no_comma,
+    STATE(1317), 3,
+      sym_preproc_if_in_enumerator_list,
+      sym_preproc_ifdef_in_enumerator_list,
+      aux_sym_enumerator_list_repeat1,
+  [57175] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3708), 2,
+    ACTIONS(37), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3778), 1,
       anon_sym_LBRACK,
-      anon_sym___asm,
-    ACTIONS(3706), 10,
+    ACTIONS(3829), 1,
+      anon_sym___attribute,
+    STATE(1403), 1,
+      sym_parameter_list,
+    STATE(1362), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+    ACTIONS(3827), 5,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_LPAREN2,
       anon_sym_SEMI,
       anon_sym___attribute__,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-      anon_sym_EQ,
-      anon_sym_asm,
-      anon_sym___asm__,
-  [55696] = 3,
+      anon_sym_COLON,
+  [57205] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3712), 2,
+    ACTIONS(37), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3778), 1,
       anon_sym_LBRACK,
-      anon_sym___asm,
-    ACTIONS(3710), 10,
+    ACTIONS(3833), 1,
+      anon_sym___attribute,
+    STATE(1403), 1,
+      sym_parameter_list,
+    STATE(1362), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+    ACTIONS(3831), 5,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_LPAREN2,
       anon_sym_SEMI,
       anon_sym___attribute__,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-      anon_sym_EQ,
-      anon_sym_asm,
-      anon_sym___asm__,
-  [55716] = 3,
+      anon_sym_COLON,
+  [57235] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3716), 2,
+    ACTIONS(37), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3778), 1,
       anon_sym_LBRACK,
-      anon_sym___asm,
-    ACTIONS(3714), 10,
+    ACTIONS(3837), 1,
+      anon_sym___attribute,
+    STATE(1403), 1,
+      sym_parameter_list,
+    STATE(1362), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+    ACTIONS(3835), 5,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_LPAREN2,
       anon_sym_SEMI,
       anon_sym___attribute__,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-      anon_sym_EQ,
-      anon_sym_asm,
-      anon_sym___asm__,
-  [55736] = 3,
+      anon_sym_COLON,
+  [57265] = 10,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3720), 2,
+    ACTIONS(37), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3778), 1,
       anon_sym_LBRACK,
-      anon_sym___asm,
-    ACTIONS(3718), 10,
+    ACTIONS(3780), 1,
+      anon_sym_COLON,
+    ACTIONS(3841), 1,
+      anon_sym___attribute,
+    STATE(1403), 1,
+      sym_parameter_list,
+    STATE(1552), 1,
+      sym_bitfield_clause,
+    STATE(1362), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+    ACTIONS(3839), 3,
       anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
       anon_sym_SEMI,
       anon_sym___attribute__,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-      anon_sym_EQ,
-      anon_sym_asm,
-      anon_sym___asm__,
-  [55756] = 11,
+  [57299] = 10,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
+    ACTIONS(3482), 1,
+      anon_sym___attribute__,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3722), 1,
-      anon_sym_COMMA,
-    ACTIONS(3726), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    ACTIONS(3728), 1,
-      anon_sym_COLON,
-    STATE(1401), 1,
+    STATE(1296), 1,
       sym_parameter_list,
-    STATE(1515), 1,
-      aux_sym__field_declaration_declarator_repeat1,
-    STATE(1541), 1,
-      sym_bitfield_clause,
-    ACTIONS(3724), 2,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-    STATE(1347), 2,
+    ACTIONS(3843), 2,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [55792] = 6,
+    STATE(1491), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+  [57333] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3732), 1,
-      anon_sym___attribute__,
-    ACTIONS(3680), 2,
+    ACTIONS(37), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3778), 1,
       anon_sym_LBRACK,
-      sym_identifier,
-    ACTIONS(3730), 2,
+    ACTIONS(3847), 1,
+      anon_sym___attribute,
+    STATE(1403), 1,
+      sym_parameter_list,
+    STATE(1362), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+    ACTIONS(3845), 5,
       anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_SEMI,
-    ACTIONS(3735), 3,
-      anon_sym_asm,
-      anon_sym___asm__,
-      anon_sym___asm,
-    ACTIONS(3682), 4,
-      anon_sym_LPAREN2,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_LBRACE,
-      anon_sym_EQ,
-  [55818] = 8,
+      anon_sym___attribute__,
+      anon_sym_COLON,
+  [57363] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(3045), 1,
+    ACTIONS(3849), 1,
+      sym_identifier,
+    STATE(673), 1,
+      sym_string_literal,
+    ACTIONS(3851), 2,
+      anon_sym_RPAREN,
+      anon_sym_COLON,
+    STATE(1566), 2,
+      sym__string,
+      sym_concatenated_string,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+  [57388] = 9,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3813), 1,
+      sym_identifier,
+    ACTIONS(3853), 1,
+      aux_sym_preproc_if_token2,
+    ACTIONS(3855), 1,
+      aux_sym_preproc_else_token1,
+    ACTIONS(3857), 1,
+      aux_sym_preproc_elif_token1,
+    STATE(1415), 1,
+      aux_sym_preproc_if_in_enumerator_list_repeat1,
+    STATE(1900), 1,
+      sym_enumerator,
+    ACTIONS(3859), 2,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+    STATE(1775), 3,
+      sym_preproc_else_in_enumerator_list,
+      sym_preproc_elif_in_enumerator_list,
+      sym_preproc_elifdef_in_enumerator_list,
+  [57419] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3681), 1,
       sym_identifier,
-    ACTIONS(3047), 1,
+    ACTIONS(3703), 3,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+      anon_sym_LBRACK,
+    STATE(1270), 3,
+      sym_preproc_call_expression,
+      sym_attribute_specifier,
+      aux_sym_function_declarator_repeat1,
+    ACTIONS(3701), 4,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_LPAREN2,
-    ACTIONS(3049), 1,
-      anon_sym_STAR,
-    STATE(1436), 1,
-      sym__field_declarator,
-    STATE(1788), 1,
-      sym_ms_based_modifier,
-    STATE(1384), 5,
-      sym_parenthesized_field_declarator,
-      sym_attributed_field_declarator,
-      sym_pointer_field_declarator,
-      sym_function_field_declarator,
-      sym_array_field_declarator,
-  [55847] = 8,
+      anon_sym_LBRACK_LBRACK,
+  [57442] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3737), 1,
+    ACTIONS(3861), 1,
       sym_identifier,
-    ACTIONS(3740), 1,
+    ACTIONS(3864), 1,
       aux_sym_preproc_if_token1,
-    ACTIONS(3746), 1,
+    ACTIONS(3870), 1,
       sym_preproc_directive,
-    ACTIONS(3749), 1,
+    ACTIONS(3873), 1,
       anon_sym_RBRACE,
-    ACTIONS(3743), 2,
+    ACTIONS(3867), 2,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
-    STATE(1785), 2,
+    STATE(1905), 2,
       sym_preproc_call,
       sym_enumerator,
-    STATE(1308), 3,
+    STATE(1334), 3,
       sym_preproc_if_in_enumerator_list,
       sym_preproc_ifdef_in_enumerator_list,
       aux_sym_enumerator_list_repeat1,
-  [55876] = 9,
+  [57471] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3684), 1,
-      sym_identifier,
-    ACTIONS(3751), 1,
-      aux_sym_preproc_if_token2,
-    ACTIONS(3753), 1,
-      aux_sym_preproc_else_token1,
-    ACTIONS(3755), 1,
-      aux_sym_preproc_elif_token1,
-    STATE(1399), 1,
-      aux_sym_preproc_if_in_enumerator_list_repeat1,
-    STATE(1812), 1,
-      sym_enumerator,
-    ACTIONS(3757), 2,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-    STATE(1967), 3,
-      sym_preproc_else_in_enumerator_list,
-      sym_preproc_elif_in_enumerator_list,
-      sym_preproc_elifdef_in_enumerator_list,
-  [55907] = 8,
+    ACTIONS(37), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3877), 1,
+      anon_sym___attribute,
+    ACTIONS(3879), 1,
+      anon_sym_LBRACK,
+    STATE(1410), 1,
+      sym_parameter_list,
+    STATE(1366), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+    ACTIONS(3875), 4,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+  [57500] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3632), 1,
+    ACTIONS(3728), 1,
       sym_identifier,
-    ACTIONS(3759), 1,
+    ACTIONS(3881), 1,
       aux_sym_preproc_if_token2,
-    ACTIONS(3761), 1,
+    ACTIONS(3883), 1,
       aux_sym_preproc_else_token1,
-    ACTIONS(3763), 1,
+    ACTIONS(3885), 1,
       aux_sym_preproc_elif_token1,
-    ACTIONS(3765), 2,
+    ACTIONS(3887), 2,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
-    STATE(1382), 2,
+    STATE(1359), 2,
       sym_enumerator,
       aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1,
-    STATE(1968), 3,
+    STATE(2015), 3,
       sym_preproc_else_in_enumerator_list_no_comma,
       sym_preproc_elif_in_enumerator_list_no_comma,
       sym_preproc_elifdef_in_enumerator_list_no_comma,
-  [55936] = 8,
+  [57529] = 8,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(37), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3879), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3891), 1,
+      anon_sym___attribute,
+    STATE(1410), 1,
+      sym_parameter_list,
+    STATE(1366), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+    ACTIONS(3889), 4,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+  [57558] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    STATE(1414), 1,
+    STATE(1443), 1,
       sym__declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-  [55965] = 7,
+  [57587] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3726), 1,
+    ACTIONS(3681), 1,
+      sym_identifier,
+    ACTIONS(3709), 3,
+      anon_sym___attribute__,
+      anon_sym___attribute,
       anon_sym_LBRACK,
-    STATE(1401), 1,
-      sym_parameter_list,
-    STATE(1347), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3767), 5,
+    STATE(1270), 3,
+      sym_preproc_call_expression,
+      sym_attribute_specifier,
+      aux_sym_function_declarator_repeat1,
+    ACTIONS(3707), 4,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_COLON,
-  [55992] = 9,
+      anon_sym_LPAREN2,
+      anon_sym_LBRACK_LBRACK,
+  [57610] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3642), 1,
-      aux_sym_preproc_if_token2,
-    ACTIONS(3684), 1,
+    ACTIONS(3813), 1,
       sym_identifier,
-    ACTIONS(3753), 1,
+    ACTIONS(3855), 1,
       aux_sym_preproc_else_token1,
-    ACTIONS(3755), 1,
+    ACTIONS(3857), 1,
       aux_sym_preproc_elif_token1,
-    STATE(1309), 1,
+    ACTIONS(3893), 1,
+      aux_sym_preproc_if_token2,
+    STATE(1415), 1,
       aux_sym_preproc_if_in_enumerator_list_repeat1,
-    STATE(1812), 1,
+    STATE(1900), 1,
       sym_enumerator,
-    ACTIONS(3757), 2,
+    ACTIONS(3859), 2,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
-    STATE(1868), 3,
+    STATE(1870), 3,
       sym_preproc_else_in_enumerator_list,
       sym_preproc_elif_in_enumerator_list,
       sym_preproc_elifdef_in_enumerator_list,
-  [56023] = 8,
+  [57641] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3632), 1,
+    ACTIONS(3728), 1,
       sym_identifier,
-    ACTIONS(3761), 1,
+    ACTIONS(3883), 1,
       aux_sym_preproc_else_token1,
-    ACTIONS(3763), 1,
+    ACTIONS(3885), 1,
       aux_sym_preproc_elif_token1,
-    ACTIONS(3769), 1,
+    ACTIONS(3895), 1,
       aux_sym_preproc_if_token2,
-    ACTIONS(3765), 2,
+    ACTIONS(3887), 2,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
-    STATE(1310), 2,
+    STATE(1427), 2,
       sym_enumerator,
       aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1,
-    STATE(1870), 3,
+    STATE(1954), 3,
       sym_preproc_else_in_enumerator_list_no_comma,
       sym_preproc_elif_in_enumerator_list_no_comma,
       sym_preproc_elifdef_in_enumerator_list_no_comma,
-  [56052] = 8,
+  [57670] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(3045), 1,
+    ACTIONS(3813), 1,
       sym_identifier,
-    ACTIONS(3047), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3049), 1,
-      anon_sym_STAR,
-    STATE(1330), 1,
-      sym__field_declarator,
-    STATE(1788), 1,
-      sym_ms_based_modifier,
-    STATE(1384), 5,
-      sym_parenthesized_field_declarator,
-      sym_attributed_field_declarator,
-      sym_pointer_field_declarator,
-      sym_function_field_declarator,
-      sym_array_field_declarator,
-  [56081] = 9,
+    ACTIONS(3855), 1,
+      aux_sym_preproc_else_token1,
+    ACTIONS(3857), 1,
+      aux_sym_preproc_elif_token1,
+    ACTIONS(3897), 1,
+      aux_sym_preproc_if_token2,
+    STATE(1415), 1,
+      aux_sym_preproc_if_in_enumerator_list_repeat1,
+    STATE(1900), 1,
+      sym_enumerator,
+    ACTIONS(3859), 2,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+    STATE(1776), 3,
+      sym_preproc_else_in_enumerator_list,
+      sym_preproc_elif_in_enumerator_list,
+      sym_preproc_elifdef_in_enumerator_list,
+  [57701] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
-      anon_sym_LBRACK,
-    STATE(1280), 1,
-      sym_parameter_list,
-    ACTIONS(3771), 2,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-    STATE(1277), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-    STATE(1486), 2,
-      sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-  [56112] = 7,
+    ACTIONS(3728), 1,
+      sym_identifier,
+    ACTIONS(3883), 1,
+      aux_sym_preproc_else_token1,
+    ACTIONS(3885), 1,
+      aux_sym_preproc_elif_token1,
+    ACTIONS(3899), 1,
+      aux_sym_preproc_if_token2,
+    ACTIONS(3887), 2,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+    STATE(1427), 2,
+      sym_enumerator,
+      aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1,
+    STATE(1986), 3,
+      sym_preproc_else_in_enumerator_list_no_comma,
+      sym_preproc_elif_in_enumerator_list_no_comma,
+      sym_preproc_elifdef_in_enumerator_list_no_comma,
+  [57730] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(3738), 1,
+      aux_sym_preproc_if_token2,
+    ACTIONS(3813), 1,
+      sym_identifier,
+    ACTIONS(3855), 1,
+      aux_sym_preproc_else_token1,
+    ACTIONS(3857), 1,
+      aux_sym_preproc_elif_token1,
+    STATE(1342), 1,
+      aux_sym_preproc_if_in_enumerator_list_repeat1,
+    STATE(1900), 1,
+      sym_enumerator,
+    ACTIONS(3859), 2,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+    STATE(1835), 3,
+      sym_preproc_else_in_enumerator_list,
+      sym_preproc_elif_in_enumerator_list,
+      sym_preproc_elifdef_in_enumerator_list,
+  [57761] = 8,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3726), 1,
+    ACTIONS(3879), 1,
       anon_sym_LBRACK,
-    STATE(1401), 1,
+    ACTIONS(3903), 1,
+      anon_sym___attribute,
+    STATE(1410), 1,
       sym_parameter_list,
-    STATE(1347), 2,
+    STATE(1366), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3773), 5,
+    ACTIONS(3901), 4,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_SEMI,
       anon_sym___attribute__,
-      anon_sym_COLON,
-  [56139] = 9,
+  [57790] = 8,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3728), 1,
+      sym_identifier,
+    ACTIONS(3883), 1,
+      aux_sym_preproc_else_token1,
+    ACTIONS(3885), 1,
+      aux_sym_preproc_elif_token1,
+    ACTIONS(3905), 1,
+      aux_sym_preproc_if_token2,
+    ACTIONS(3887), 2,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+    STATE(1343), 2,
+      sym_enumerator,
+      aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1,
+    STATE(1836), 3,
+      sym_preproc_else_in_enumerator_list_no_comma,
+      sym_preproc_elif_in_enumerator_list_no_comma,
+      sym_preproc_elifdef_in_enumerator_list_no_comma,
+  [57819] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3684), 1,
+    ACTIONS(3813), 1,
       sym_identifier,
-    ACTIONS(3753), 1,
+    ACTIONS(3855), 1,
       aux_sym_preproc_else_token1,
-    ACTIONS(3755), 1,
+    ACTIONS(3857), 1,
       aux_sym_preproc_elif_token1,
-    ACTIONS(3775), 1,
+    ACTIONS(3907), 1,
       aux_sym_preproc_if_token2,
-    STATE(1332), 1,
+    STATE(1352), 1,
       aux_sym_preproc_if_in_enumerator_list_repeat1,
-    STATE(1812), 1,
+    STATE(1900), 1,
       sym_enumerator,
-    ACTIONS(3757), 2,
+    ACTIONS(3859), 2,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
-    STATE(1834), 3,
+    STATE(1896), 3,
       sym_preproc_else_in_enumerator_list,
       sym_preproc_elif_in_enumerator_list,
       sym_preproc_elifdef_in_enumerator_list,
-  [56170] = 9,
+  [57850] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3684), 1,
+    ACTIONS(3813), 1,
       sym_identifier,
-    ACTIONS(3753), 1,
+    ACTIONS(3855), 1,
       aux_sym_preproc_else_token1,
-    ACTIONS(3755), 1,
+    ACTIONS(3857), 1,
       aux_sym_preproc_elif_token1,
-    ACTIONS(3777), 1,
+    ACTIONS(3909), 1,
       aux_sym_preproc_if_token2,
-    STATE(1399), 1,
+    STATE(1340), 1,
       aux_sym_preproc_if_in_enumerator_list_repeat1,
-    STATE(1812), 1,
+    STATE(1900), 1,
       sym_enumerator,
-    ACTIONS(3757), 2,
+    ACTIONS(3859), 2,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
-    STATE(1822), 3,
+    STATE(1926), 3,
       sym_preproc_else_in_enumerator_list,
       sym_preproc_elif_in_enumerator_list,
       sym_preproc_elifdef_in_enumerator_list,
-  [56201] = 8,
+  [57881] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    STATE(1402), 1,
+    STATE(1406), 1,
       sym__declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-  [56230] = 8,
+  [57910] = 10,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(37), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3879), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3911), 1,
+      anon_sym_COMMA,
+    ACTIONS(3915), 1,
+      anon_sym___attribute,
+    STATE(1410), 1,
+      sym_parameter_list,
+    STATE(1518), 1,
+      aux_sym__type_definition_declarators_repeat1,
+    ACTIONS(3913), 2,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+    STATE(1366), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+  [57943] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3632), 1,
+    ACTIONS(3681), 1,
       sym_identifier,
-    ACTIONS(3761), 1,
-      aux_sym_preproc_else_token1,
-    ACTIONS(3763), 1,
-      aux_sym_preproc_elif_token1,
-    ACTIONS(3779), 1,
-      aux_sym_preproc_if_token2,
-    ACTIONS(3765), 2,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-    STATE(1382), 2,
-      sym_enumerator,
-      aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1,
-    STATE(1872), 3,
-      sym_preproc_else_in_enumerator_list_no_comma,
-      sym_preproc_elif_in_enumerator_list_no_comma,
-      sym_preproc_elifdef_in_enumerator_list_no_comma,
-  [56259] = 9,
+    ACTIONS(3703), 1,
+      anon_sym_LBRACK,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+    STATE(1339), 3,
+      sym_preproc_call_expression,
+      sym_attribute_specifier,
+      aux_sym_function_declarator_repeat1,
+    ACTIONS(3701), 4,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_LBRACK_LBRACK,
+  [57968] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3684), 1,
+    ACTIONS(3813), 1,
       sym_identifier,
-    ACTIONS(3753), 1,
+    ACTIONS(3855), 1,
       aux_sym_preproc_else_token1,
-    ACTIONS(3755), 1,
+    ACTIONS(3857), 1,
       aux_sym_preproc_elif_token1,
-    ACTIONS(3781), 1,
+    ACTIONS(3917), 1,
       aux_sym_preproc_if_token2,
-    STATE(1399), 1,
+    STATE(1415), 1,
       aux_sym_preproc_if_in_enumerator_list_repeat1,
-    STATE(1812), 1,
+    STATE(1900), 1,
       sym_enumerator,
-    ACTIONS(3757), 2,
+    ACTIONS(3859), 2,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
-    STATE(1876), 3,
+    STATE(1899), 3,
       sym_preproc_else_in_enumerator_list,
       sym_preproc_elif_in_enumerator_list,
       sym_preproc_elifdef_in_enumerator_list,
-  [56290] = 8,
+  [57999] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3632), 1,
+    ACTIONS(3728), 1,
       sym_identifier,
-    ACTIONS(3761), 1,
+    ACTIONS(3883), 1,
       aux_sym_preproc_else_token1,
-    ACTIONS(3763), 1,
+    ACTIONS(3885), 1,
       aux_sym_preproc_elif_token1,
-    ACTIONS(3783), 1,
+    ACTIONS(3919), 1,
       aux_sym_preproc_if_token2,
-    ACTIONS(3765), 2,
+    ACTIONS(3887), 2,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
-    STATE(1382), 2,
+    STATE(1427), 2,
       sym_enumerator,
       aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1,
-    STATE(1890), 3,
+    STATE(1934), 3,
       sym_preproc_else_in_enumerator_list_no_comma,
       sym_preproc_elif_in_enumerator_list_no_comma,
       sym_preproc_elifdef_in_enumerator_list_no_comma,
-  [56319] = 8,
+  [58028] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3105), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3107), 1,
       anon_sym_STAR,
-    STATE(1377), 1,
+    STATE(1422), 1,
       sym__declarator,
-    STATE(1846), 1,
+    STATE(1967), 1,
       sym_ms_based_modifier,
-    STATE(1303), 5,
+    STATE(1311), 5,
       sym_parenthesized_declarator,
       sym_attributed_declarator,
       sym_pointer_declarator,
       sym_function_declarator,
       sym_array_declarator,
-  [56348] = 9,
+  [58057] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3634), 1,
-      aux_sym_preproc_if_token2,
-    ACTIONS(3684), 1,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(2801), 1,
       sym_identifier,
-    ACTIONS(3753), 1,
-      aux_sym_preproc_else_token1,
-    ACTIONS(3755), 1,
-      aux_sym_preproc_elif_token1,
-    STATE(1322), 1,
-      aux_sym_preproc_if_in_enumerator_list_repeat1,
-    STATE(1812), 1,
-      sym_enumerator,
-    ACTIONS(3757), 2,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-    STATE(1884), 3,
-      sym_preproc_else_in_enumerator_list,
-      sym_preproc_elif_in_enumerator_list,
-      sym_preproc_elifdef_in_enumerator_list,
-  [56379] = 8,
+    ACTIONS(3105), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3107), 1,
+      anon_sym_STAR,
+    STATE(1433), 1,
+      sym__declarator,
+    STATE(1967), 1,
+      sym_ms_based_modifier,
+    STATE(1311), 5,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_function_declarator,
+      sym_array_declarator,
+  [58086] = 8,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(3111), 1,
+      sym_identifier,
+    ACTIONS(3113), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3115), 1,
+      anon_sym_STAR,
+    STATE(1439), 1,
+      sym__field_declarator,
+    STATE(1953), 1,
+      sym_ms_based_modifier,
+    STATE(1395), 5,
+      sym_parenthesized_field_declarator,
+      sym_attributed_field_declarator,
+      sym_pointer_field_declarator,
+      sym_function_field_declarator,
+      sym_array_field_declarator,
+  [58115] = 8,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(37), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3879), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3923), 1,
+      anon_sym___attribute,
+    STATE(1410), 1,
+      sym_parameter_list,
+    STATE(1366), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+    ACTIONS(3921), 4,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+  [58144] = 8,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(1827), 1,
+      anon_sym___based,
+    ACTIONS(2801), 1,
+      sym_identifier,
+    ACTIONS(3105), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3107), 1,
+      anon_sym_STAR,
+    STATE(1434), 1,
+      sym__declarator,
+    STATE(1967), 1,
+      sym_ms_based_modifier,
+    STATE(1311), 5,
+      sym_parenthesized_declarator,
+      sym_attributed_declarator,
+      sym_pointer_declarator,
+      sym_function_declarator,
+      sym_array_declarator,
+  [58173] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3632), 1,
+    ACTIONS(3728), 1,
       sym_identifier,
-    ACTIONS(3761), 1,
+    ACTIONS(3883), 1,
       aux_sym_preproc_else_token1,
-    ACTIONS(3763), 1,
+    ACTIONS(3885), 1,
       aux_sym_preproc_elif_token1,
-    ACTIONS(3785), 1,
+    ACTIONS(3925), 1,
       aux_sym_preproc_if_token2,
-    ACTIONS(3765), 2,
+    ACTIONS(3887), 2,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
-    STATE(1323), 2,
+    STATE(1427), 2,
       sym_enumerator,
       aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1,
-    STATE(1891), 3,
+    STATE(1903), 3,
       sym_preproc_else_in_enumerator_list_no_comma,
       sym_preproc_elif_in_enumerator_list_no_comma,
       sym_preproc_elifdef_in_enumerator_list_no_comma,
-  [56408] = 9,
+  [58202] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3684), 1,
+    ACTIONS(3730), 1,
+      aux_sym_preproc_if_token2,
+    ACTIONS(3813), 1,
       sym_identifier,
-    ACTIONS(3753), 1,
+    ACTIONS(3855), 1,
       aux_sym_preproc_else_token1,
-    ACTIONS(3755), 1,
+    ACTIONS(3857), 1,
       aux_sym_preproc_elif_token1,
-    ACTIONS(3787), 1,
-      aux_sym_preproc_if_token2,
-    STATE(1319), 1,
+    STATE(1332), 1,
       aux_sym_preproc_if_in_enumerator_list_repeat1,
-    STATE(1812), 1,
+    STATE(1900), 1,
       sym_enumerator,
-    ACTIONS(3757), 2,
+    ACTIONS(3859), 2,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
-    STATE(1857), 3,
+    STATE(2012), 3,
       sym_preproc_else_in_enumerator_list,
       sym_preproc_elif_in_enumerator_list,
       sym_preproc_elifdef_in_enumerator_list,
-  [56439] = 8,
+  [58233] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1818), 1,
+    ACTIONS(1827), 1,
       anon_sym___based,
-    ACTIONS(2741), 1,
+    ACTIONS(3111), 1,
       sym_identifier,
-    ACTIONS(3029), 1,
+    ACTIONS(3113), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
+    ACTIONS(3115), 1,
       anon_sym_STAR,
-    STATE(1376), 1,
-      sym__declarator,
-    STATE(1846), 1,
+    STATE(1328), 1,
+      sym__field_declarator,
+    STATE(1953), 1,
       sym_ms_based_modifier,
-    STATE(1303), 5,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_function_declarator,
-      sym_array_declarator,
-  [56468] = 7,
+    STATE(1395), 5,
+      sym_parenthesized_field_declarator,
+      sym_attributed_field_declarator,
+      sym_pointer_field_declarator,
+      sym_function_field_declarator,
+      sym_array_field_declarator,
+  [58262] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3726), 1,
+    ACTIONS(3929), 2,
+      anon_sym___attribute,
       anon_sym_LBRACK,
-    STATE(1401), 1,
-      sym_parameter_list,
-    STATE(1347), 2,
+    STATE(1285), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3789), 5,
+    ACTIONS(3927), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
+      anon_sym_LPAREN2,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_COLON,
-  [56495] = 9,
+  [58285] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3726), 1,
+    ACTIONS(3879), 1,
       anon_sym_LBRACK,
-    ACTIONS(3728), 1,
-      anon_sym_COLON,
-    STATE(1401), 1,
+    ACTIONS(3933), 1,
+      anon_sym___attribute,
+    STATE(1410), 1,
       sym_parameter_list,
-    STATE(1555), 1,
-      sym_bitfield_clause,
-    STATE(1347), 2,
+    STATE(1366), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3791), 3,
+    ACTIONS(3931), 3,
       anon_sym_COMMA,
       anon_sym_SEMI,
       anon_sym___attribute__,
-  [56526] = 7,
+  [58313] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3726), 1,
+    ACTIONS(3937), 1,
       anon_sym_LBRACK,
-    STATE(1401), 1,
-      sym_parameter_list,
-    STATE(1347), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3793), 5,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_COLON,
-  [56553] = 9,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3684), 1,
-      sym_identifier,
-    ACTIONS(3753), 1,
-      aux_sym_preproc_else_token1,
-    ACTIONS(3755), 1,
-      aux_sym_preproc_elif_token1,
-    ACTIONS(3795), 1,
-      aux_sym_preproc_if_token2,
-    STATE(1399), 1,
-      aux_sym_preproc_if_in_enumerator_list_repeat1,
-    STATE(1812), 1,
-      sym_enumerator,
-    ACTIONS(3757), 2,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-    STATE(1925), 3,
-      sym_preproc_else_in_enumerator_list,
-      sym_preproc_elif_in_enumerator_list,
-      sym_preproc_elifdef_in_enumerator_list,
-  [56584] = 8,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3632), 1,
-      sym_identifier,
-    ACTIONS(3761), 1,
-      aux_sym_preproc_else_token1,
-    ACTIONS(3763), 1,
-      aux_sym_preproc_elif_token1,
-    ACTIONS(3797), 1,
-      aux_sym_preproc_if_token2,
-    ACTIONS(3765), 2,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-    STATE(1382), 2,
-      sym_enumerator,
-      aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1,
-    STATE(1863), 3,
-      sym_preproc_else_in_enumerator_list_no_comma,
-      sym_preproc_elif_in_enumerator_list_no_comma,
-      sym_preproc_elifdef_in_enumerator_list_no_comma,
-  [56613] = 8,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1818), 1,
-      anon_sym___based,
-    ACTIONS(2741), 1,
-      sym_identifier,
-    ACTIONS(3029), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3043), 1,
-      anon_sym_STAR,
-    STATE(1383), 1,
-      sym__declarator,
-    STATE(1846), 1,
-      sym_ms_based_modifier,
-    STATE(1303), 5,
-      sym_parenthesized_declarator,
-      sym_attributed_declarator,
-      sym_pointer_declarator,
-      sym_function_declarator,
-      sym_array_declarator,
-  [56642] = 6,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3799), 1,
-      sym_identifier,
-    STATE(668), 1,
+    STATE(1532), 1,
+      sym_gnu_asm_output_operand,
+    STATE(1963), 1,
       sym_string_literal,
-    ACTIONS(3801), 2,
+    ACTIONS(3935), 2,
       anon_sym_RPAREN,
       anon_sym_COLON,
-    STATE(1548), 2,
-      sym__string,
-      sym_concatenated_string,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-  [56667] = 10,
+  [58337] = 10,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(131), 1,
+    ACTIONS(43), 1,
       anon_sym_LBRACE,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    ACTIONS(3803), 1,
+    ACTIONS(3939), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3805), 1,
+    ACTIONS(3941), 1,
       anon_sym_EQ,
-    STATE(132), 1,
+    STATE(320), 1,
       sym_compound_statement,
-    STATE(939), 1,
+    STATE(945), 1,
       sym__old_style_parameter_list,
-    STATE(1251), 1,
+    STATE(1268), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [56699] = 7,
+  [58369] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3809), 1,
+    ACTIONS(3945), 2,
+      anon_sym___attribute,
       anon_sym_LBRACK,
-    STATE(1412), 1,
-      sym_parameter_list,
-    STATE(1370), 2,
+    STATE(1285), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3807), 4,
+    ACTIONS(3943), 5,
       anon_sym_COMMA,
       anon_sym_RPAREN,
+      anon_sym_LPAREN2,
       anon_sym_SEMI,
       anon_sym___attribute__,
-  [56725] = 5,
+  [58391] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3593), 1,
-      sym_identifier,
-    ACTIONS(3603), 2,
+    ACTIONS(3949), 1,
       anon_sym___attribute__,
-      anon_sym_LBRACK,
-    STATE(1265), 3,
-      sym_preproc_call_expression,
+    ACTIONS(3952), 1,
+      anon_sym___attribute,
+    ACTIONS(3955), 1,
+      anon_sym___asm,
+    STATE(1367), 2,
       sym_attribute_specifier,
-      aux_sym_function_declarator_repeat1,
-    ACTIONS(3601), 4,
+      aux_sym_type_definition_repeat1,
+    ACTIONS(3947), 5,
       anon_sym_COMMA,
       anon_sym_RPAREN,
+      anon_sym_SEMI,
+      anon_sym_asm,
+      anon_sym___asm__,
+  [58415] = 8,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(37), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
+    ACTIONS(3756), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3770), 1,
+      anon_sym___attribute,
+    STATE(1296), 1,
+      sym_parameter_list,
+    STATE(1295), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+    ACTIONS(3768), 3,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym___attribute__,
+  [58443] = 8,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-  [56747] = 7,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3756), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3758), 1,
+      anon_sym___attribute,
+    STATE(1296), 1,
+      sym_parameter_list,
+    STATE(1295), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+    ACTIONS(3752), 3,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym___attribute__,
+  [58471] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3809), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    STATE(1412), 1,
+    ACTIONS(3766), 1,
+      anon_sym___attribute,
+    STATE(1296), 1,
       sym_parameter_list,
-    STATE(1370), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3811), 4,
+    ACTIONS(3764), 3,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_SEMI,
       anon_sym___attribute__,
-  [56773] = 7,
+  [58499] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3809), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    STATE(1412), 1,
+    ACTIONS(3762), 1,
+      anon_sym___attribute,
+    STATE(1296), 1,
       sym_parameter_list,
-    STATE(1370), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3813), 4,
+    ACTIONS(3760), 3,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_SEMI,
       anon_sym___attribute__,
-  [56799] = 6,
+  [58527] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3817), 1,
+    ACTIONS(3959), 1,
       anon_sym_LBRACK,
-    STATE(1538), 1,
+    STATE(1551), 1,
       sym_gnu_asm_input_operand,
-    STATE(1898), 1,
+    STATE(1975), 1,
       sym_string_literal,
-    ACTIONS(3815), 2,
+    ACTIONS(3957), 2,
       anon_sym_RPAREN,
       anon_sym_COLON,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-  [56823] = 10,
+  [58551] = 10,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(506), 1,
+      anon_sym_LBRACE,
+    ACTIONS(3756), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3939), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3941), 1,
+      anon_sym_EQ,
+    STATE(292), 1,
+      sym_compound_statement,
+    STATE(945), 1,
+      sym__old_style_parameter_list,
+    STATE(1268), 1,
+      sym_parameter_list,
+    STATE(1295), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+  [58583] = 10,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(376), 1,
+    ACTIONS(378), 1,
       anon_sym_LBRACE,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    ACTIONS(3803), 1,
+    ACTIONS(3939), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3805), 1,
+    ACTIONS(3941), 1,
       anon_sym_EQ,
-    STATE(290), 1,
+    STATE(263), 1,
       sym_compound_statement,
-    STATE(939), 1,
+    STATE(945), 1,
       sym__old_style_parameter_list,
-    STATE(1251), 1,
+    STATE(1268), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [56855] = 5,
+  [58615] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3716), 1,
+    ACTIONS(3796), 1,
       anon_sym_LBRACK,
-    ACTIONS(3821), 1,
+    ACTIONS(3963), 1,
       anon_sym___asm,
-    ACTIONS(3714), 4,
+    ACTIONS(3794), 4,
       anon_sym_LPAREN2,
       anon_sym_LBRACK_LBRACK,
       anon_sym_LBRACE,
       anon_sym_EQ,
-    ACTIONS(3819), 4,
+    ACTIONS(3961), 4,
       anon_sym_COMMA,
       anon_sym_SEMI,
       anon_sym_asm,
       anon_sym___asm__,
-  [56877] = 10,
+  [58637] = 10,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(502), 1,
+    ACTIONS(133), 1,
       anon_sym_LBRACE,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    ACTIONS(3803), 1,
+    ACTIONS(3939), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3805), 1,
+    ACTIONS(3941), 1,
       anon_sym_EQ,
-    STATE(315), 1,
+    STATE(146), 1,
       sym_compound_statement,
-    STATE(939), 1,
+    STATE(945), 1,
       sym__old_style_parameter_list,
-    STATE(1251), 1,
+    STATE(1268), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [56909] = 10,
+  [58669] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(3849), 1,
+      sym_identifier,
+    STATE(673), 1,
+      sym_string_literal,
+    STATE(1608), 2,
+      sym__string,
+      sym_concatenated_string,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+  [58690] = 9,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(41), 1,
+    ACTIONS(378), 1,
       anon_sym_LBRACE,
-    ACTIONS(3664), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3803), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3805), 1,
+    ACTIONS(3756), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3941), 1,
       anon_sym_EQ,
-    STATE(354), 1,
+    STATE(263), 1,
       sym_compound_statement,
-    STATE(939), 1,
-      sym__old_style_parameter_list,
-    STATE(1251), 1,
+    STATE(1268), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [56941] = 7,
+  [58719] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3965), 1,
+      sym_identifier,
+    ACTIONS(3969), 1,
+      sym_system_lib_string,
+    STATE(1861), 2,
+      sym_preproc_call_expression,
+      sym_string_literal,
+    ACTIONS(3967), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+  [58740] = 6,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3809), 1,
-      anon_sym_LBRACK,
-    STATE(1412), 1,
-      sym_parameter_list,
-    STATE(1370), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3823), 4,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
+      anon_sym___attribute__,
+    ACTIONS(3973), 1,
+      anon_sym___asm,
+    STATE(1367), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+    ACTIONS(3971), 4,
       anon_sym_COMMA,
-      anon_sym_RPAREN,
       anon_sym_SEMI,
-      anon_sym___attribute__,
-  [56967] = 5,
+      anon_sym_asm,
+      anon_sym___asm__,
+  [58763] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(3827), 1,
+    ACTIONS(378), 1,
+      anon_sym_LBRACE,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    STATE(1267), 2,
+    ACTIONS(3939), 1,
+      anon_sym_LPAREN2,
+    STATE(276), 1,
+      sym_compound_statement,
+    STATE(945), 1,
+      sym__old_style_parameter_list,
+    STATE(1263), 1,
+      sym_parameter_list,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3825), 6,
+  [58792] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3977), 2,
+      anon_sym___attribute,
+      anon_sym_LBRACK,
+    ACTIONS(3975), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_SEMI,
       anon_sym___attribute__,
+      anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-  [56989] = 5,
+  [58809] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3593), 1,
-      sym_identifier,
-    ACTIONS(3621), 2,
-      anon_sym___attribute__,
+    ACTIONS(3981), 2,
+      anon_sym___attribute,
       anon_sym_LBRACK,
-    STATE(1265), 3,
-      sym_preproc_call_expression,
-      sym_attribute_specifier,
-      aux_sym_function_declarator_repeat1,
-    ACTIONS(3619), 4,
+    ACTIONS(3979), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
       anon_sym_LBRACK_LBRACK,
-  [57011] = 9,
+      anon_sym_COLON,
+  [58826] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3809), 1,
+    ACTIONS(3985), 2,
+      anon_sym___attribute,
       anon_sym_LBRACK,
-    ACTIONS(3829), 1,
+    ACTIONS(3983), 7,
       anon_sym_COMMA,
-    STATE(1412), 1,
-      sym_parameter_list,
-    STATE(1509), 1,
-      aux_sym__type_definition_declarators_repeat1,
-    ACTIONS(3831), 2,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
       anon_sym_SEMI,
       anon_sym___attribute__,
-    STATE(1370), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-  [57041] = 6,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_COLON,
+  [58843] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3835), 1,
-      anon_sym_LBRACK,
-    STATE(1536), 1,
-      sym_gnu_asm_output_operand,
-    STATE(1854), 1,
+    ACTIONS(3849), 1,
+      sym_identifier,
+    STATE(673), 1,
       sym_string_literal,
-    ACTIONS(3833), 2,
-      anon_sym_RPAREN,
-      anon_sym_COLON,
-    ACTIONS(97), 5,
+    STATE(1605), 2,
+      sym__string,
+      sym_concatenated_string,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-  [57065] = 6,
+  [58864] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(3593), 1,
+    ACTIONS(3849), 1,
       sym_identifier,
-    ACTIONS(3603), 1,
-      anon_sym_LBRACK,
-    STATE(1348), 3,
-      sym_preproc_call_expression,
-      sym_attribute_specifier,
-      aux_sym_function_declarator_repeat1,
-    ACTIONS(3601), 4,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_LBRACK_LBRACK,
-  [57089] = 5,
+    STATE(673), 1,
+      sym_string_literal,
+    STATE(1598), 2,
+      sym__string,
+      sym_concatenated_string,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+  [58885] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3837), 1,
+    ACTIONS(3987), 1,
       sym_identifier,
-    ACTIONS(3841), 1,
+    ACTIONS(3989), 1,
       sym_system_lib_string,
-    STATE(1896), 2,
+    STATE(1989), 2,
       sym_preproc_call_expression,
       sym_string_literal,
-    ACTIONS(3839), 5,
+    ACTIONS(3967), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-  [57110] = 9,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(131), 1,
-      anon_sym_LBRACE,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3805), 1,
-      anon_sym_EQ,
-    STATE(132), 1,
-      sym_compound_statement,
-    STATE(1251), 1,
-      sym_parameter_list,
-    STATE(1277), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-  [57139] = 7,
+  [58906] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3993), 2,
+      anon_sym___attribute,
       anon_sym_LBRACK,
-    STATE(1280), 1,
-      sym_parameter_list,
-    STATE(1277), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3672), 3,
+    ACTIONS(3991), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_SEMI,
       anon_sym___attribute__,
-  [57164] = 7,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_COLON,
+  [58923] = 8,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
+      anon_sym___attribute__,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3995), 1,
       anon_sym_LBRACK,
-    STATE(1280), 1,
+    STATE(1465), 1,
       sym_parameter_list,
-    STATE(1277), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3668), 3,
+    ACTIONS(3843), 2,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym___attribute__,
-  [57189] = 9,
+    STATE(1492), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+  [58950] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(41), 1,
-      anon_sym_LBRACE,
-    ACTIONS(3664), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3803), 1,
+    ACTIONS(3997), 1,
+      sym_identifier,
+    ACTIONS(3999), 1,
+      sym_system_lib_string,
+    STATE(1879), 2,
+      sym_preproc_call_expression,
+      sym_string_literal,
+    ACTIONS(3967), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+  [58971] = 7,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(1948), 1,
       anon_sym_LPAREN2,
-    STATE(375), 1,
-      sym_compound_statement,
-    STATE(939), 1,
-      sym__old_style_parameter_list,
-    STATE(1250), 1,
+    ACTIONS(1950), 1,
+      anon_sym_STAR,
+    ACTIONS(2813), 1,
+      anon_sym_LBRACK,
+    STATE(1442), 1,
       sym_parameter_list,
-    STATE(1277), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-  [57218] = 9,
+    STATE(1547), 1,
+      sym__abstract_declarator,
+    STATE(1467), 4,
+      sym_abstract_parenthesized_declarator,
+      sym_abstract_pointer_declarator,
+      sym_abstract_function_declarator,
+      sym_abstract_array_declarator,
+  [58996] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(376), 1,
-      anon_sym_LBRACE,
-    ACTIONS(3664), 1,
+    ACTIONS(4003), 2,
+      anon_sym___attribute,
       anon_sym_LBRACK,
-    ACTIONS(3803), 1,
+    ACTIONS(4001), 7,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_LPAREN2,
-    STATE(273), 1,
-      sym_compound_statement,
-    STATE(939), 1,
-      sym__old_style_parameter_list,
-    STATE(1250), 1,
-      sym_parameter_list,
-    STATE(1277), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-  [57247] = 9,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_COLON,
+  [59013] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(502), 1,
+    ACTIONS(43), 1,
       anon_sym_LBRACE,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    ACTIONS(3803), 1,
+    ACTIONS(3939), 1,
       anon_sym_LPAREN2,
-    STATE(267), 1,
+    STATE(344), 1,
       sym_compound_statement,
-    STATE(939), 1,
+    STATE(945), 1,
       sym__old_style_parameter_list,
-    STATE(1250), 1,
+    STATE(1263), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [57276] = 7,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1949), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(1951), 1,
-      anon_sym_STAR,
-    ACTIONS(2753), 1,
-      anon_sym_LBRACK,
-    STATE(1446), 1,
-      sym_parameter_list,
-    STATE(1496), 1,
-      sym__abstract_declarator,
-    STATE(1445), 4,
-      sym_abstract_parenthesized_declarator,
-      sym_abstract_pointer_declarator,
-      sym_abstract_function_declarator,
-      sym_abstract_array_declarator,
-  [57301] = 9,
+  [59042] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(502), 1,
+    ACTIONS(43), 1,
       anon_sym_LBRACE,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    ACTIONS(3805), 1,
+    ACTIONS(3941), 1,
       anon_sym_EQ,
-    STATE(315), 1,
+    STATE(320), 1,
       sym_compound_statement,
-    STATE(1251), 1,
+    STATE(1268), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [57330] = 5,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3843), 1,
-      sym_identifier,
-    ACTIONS(3845), 1,
-      sym_system_lib_string,
-    STATE(1814), 2,
-      sym_preproc_call_expression,
-      sym_string_literal,
-    ACTIONS(3839), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-  [57351] = 7,
+  [59071] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(4007), 2,
+      anon_sym___attribute,
       anon_sym_LBRACK,
-    STATE(1280), 1,
-      sym_parameter_list,
-    STATE(1277), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3660), 3,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym___attribute__,
-  [57376] = 5,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3847), 1,
-      sym_identifier,
-    ACTIONS(3849), 1,
-      sym_system_lib_string,
-    STATE(1915), 2,
-      sym_preproc_call_expression,
-      sym_string_literal,
-    ACTIONS(3839), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-  [57397] = 5,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3853), 1,
-      anon_sym___attribute__,
-    ACTIONS(3856), 1,
-      anon_sym___asm,
-    STATE(1364), 2,
-      sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-    ACTIONS(3851), 5,
+    ACTIONS(4005), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
+      anon_sym_LPAREN2,
       anon_sym_SEMI,
-      anon_sym_asm,
-      anon_sym___asm__,
-  [57418] = 9,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(35), 1,
+      anon_sym___attribute__,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(376), 1,
-      anon_sym_LBRACE,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3805), 1,
-      anon_sym_EQ,
-    STATE(290), 1,
-      sym_compound_statement,
-    STATE(1251), 1,
-      sym_parameter_list,
-    STATE(1277), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-  [57447] = 5,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3799), 1,
-      sym_identifier,
-    STATE(668), 1,
-      sym_string_literal,
-    STATE(1665), 2,
-      sym__string,
-      sym_concatenated_string,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-  [57468] = 7,
+      anon_sym_COLON,
+  [59088] = 6,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3809), 1,
-      anon_sym_LBRACK,
-    STATE(1412), 1,
-      sym_parameter_list,
-    STATE(1370), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3858), 3,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
+      anon_sym___attribute__,
+    ACTIONS(3705), 1,
+      anon_sym___asm,
+    STATE(1367), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+    ACTIONS(3699), 4,
       anon_sym_COMMA,
       anon_sym_SEMI,
-      anon_sym___attribute__,
-  [57493] = 5,
+      anon_sym_asm,
+      anon_sym___asm__,
+  [59111] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3799), 1,
-      sym_identifier,
-    STATE(668), 1,
-      sym_string_literal,
-    STATE(1587), 2,
-      sym__string,
-      sym_concatenated_string,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-  [57514] = 5,
+    ACTIONS(4011), 2,
+      anon_sym___attribute,
+      anon_sym_LBRACK,
+    ACTIONS(4009), 7,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_COLON,
+  [59128] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3860), 1,
+    ACTIONS(4013), 1,
       sym_identifier,
-    ACTIONS(3862), 1,
+    ACTIONS(4015), 1,
       sym_system_lib_string,
-    STATE(1864), 2,
+    STATE(1817), 2,
       sym_preproc_call_expression,
       sym_string_literal,
-    ACTIONS(3839), 5,
+    ACTIONS(3967), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-  [57535] = 5,
+  [59149] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(3866), 1,
+    ACTIONS(4019), 2,
+      anon_sym___attribute,
       anon_sym_LBRACK,
-    STATE(1267), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3864), 5,
+    ACTIONS(4017), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_SEMI,
       anon_sym___attribute__,
-  [57556] = 5,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_COLON,
+  [59166] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3799), 1,
-      sym_identifier,
-    STATE(668), 1,
-      sym_string_literal,
-    STATE(1562), 2,
-      sym__string,
-      sym_concatenated_string,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-  [57577] = 9,
+    ACTIONS(37), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(133), 1,
+      anon_sym_LBRACE,
+    ACTIONS(3756), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3939), 1,
+      anon_sym_LPAREN2,
+    STATE(130), 1,
+      sym_compound_statement,
+    STATE(945), 1,
+      sym__old_style_parameter_list,
+    STATE(1263), 1,
+      sym_parameter_list,
+    STATE(1295), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+  [59195] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(41), 1,
+    ACTIONS(506), 1,
       anon_sym_LBRACE,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    ACTIONS(3805), 1,
-      anon_sym_EQ,
-    STATE(354), 1,
+    ACTIONS(3939), 1,
+      anon_sym_LPAREN2,
+    STATE(300), 1,
       sym_compound_statement,
-    STATE(1251), 1,
+    STATE(945), 1,
+      sym__old_style_parameter_list,
+    STATE(1263), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [57606] = 7,
+  [59224] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
+    ACTIONS(506), 1,
+      anon_sym_LBRACE,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    STATE(1280), 1,
+    ACTIONS(3941), 1,
+      anon_sym_EQ,
+    STATE(292), 1,
+      sym_compound_statement,
+    STATE(1268), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-    ACTIONS(3676), 3,
+  [59253] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4023), 2,
+      anon_sym___attribute,
+      anon_sym_LBRACK,
+    ACTIONS(4021), 7,
       anon_sym_COMMA,
       anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_SEMI,
       anon_sym___attribute__,
-  [57631] = 9,
+      anon_sym_LBRACK_LBRACK,
+      anon_sym_COLON,
+  [59270] = 9,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(131), 1,
+    ACTIONS(133), 1,
       anon_sym_LBRACE,
-    ACTIONS(3664), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3803), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    STATE(127), 1,
+    ACTIONS(3756), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3941), 1,
+      anon_sym_EQ,
+    STATE(146), 1,
       sym_compound_statement,
-    STATE(939), 1,
-      sym__old_style_parameter_list,
-    STATE(1250), 1,
+    STATE(1268), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [57660] = 5,
+  [59299] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3835), 1,
+    ACTIONS(4027), 2,
+      anon_sym___attribute,
       anon_sym_LBRACK,
-    STATE(1572), 1,
-      sym_gnu_asm_output_operand,
-    STATE(1854), 1,
-      sym_string_literal,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-  [57680] = 8,
+    ACTIONS(4025), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_LBRACK_LBRACK,
+  [59315] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(131), 1,
+    ACTIONS(378), 1,
       anon_sym_LBRACE,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    STATE(141), 1,
+    STATE(283), 1,
       sym_compound_statement,
-    STATE(1250), 1,
+    STATE(1263), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [57706] = 8,
+  [59341] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(41), 1,
+    ACTIONS(43), 1,
       anon_sym_LBRACE,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    STATE(358), 1,
+    STATE(342), 1,
       sym_compound_statement,
-    STATE(1250), 1,
+    STATE(1268), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [57732] = 3,
+  [59367] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3870), 1,
+    ACTIONS(37), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(378), 1,
+      anon_sym_LBRACE,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3756), 1,
+      anon_sym_LBRACK,
+    STATE(276), 1,
+      sym_compound_statement,
+    STATE(1263), 1,
+      sym_parameter_list,
+    STATE(1295), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+  [59393] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4031), 2,
+      anon_sym___attribute,
       anon_sym_LBRACK,
-    ACTIONS(3868), 7,
+    ACTIONS(4029), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_LBRACK_LBRACK,
-      anon_sym_COLON,
-  [57748] = 8,
+  [59409] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(4035), 2,
+      anon_sym___attribute,
+      anon_sym_LBRACK,
+    ACTIONS(4033), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_LBRACK_LBRACK,
+  [59425] = 8,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(502), 1,
+    ACTIONS(133), 1,
       anon_sym_LBRACE,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    STATE(265), 1,
+    STATE(120), 1,
       sym_compound_statement,
-    STATE(1251), 1,
+    STATE(1268), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [57774] = 8,
+  [59451] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(131), 1,
+    ACTIONS(43), 1,
       anon_sym_LBRACE,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    STATE(127), 1,
+    STATE(344), 1,
       sym_compound_statement,
-    STATE(1250), 1,
+    STATE(1263), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [57800] = 8,
+  [59477] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(376), 1,
+    ACTIONS(39), 1,
+      anon_sym___declspec,
+    ACTIONS(2501), 1,
       anon_sym_LBRACE,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(4037), 1,
+      sym_identifier,
+    STATE(735), 1,
+      sym_field_declaration_list,
+    STATE(1511), 1,
+      sym_attribute_specifier,
+    STATE(1611), 1,
+      sym_ms_declspec_modifier,
+    ACTIONS(35), 2,
+      anon_sym___attribute__,
+      anon_sym___attribute,
+  [59503] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4041), 2,
+      anon_sym___attribute,
       anon_sym_LBRACK,
-    STATE(314), 1,
-      sym_compound_statement,
-    STATE(1251), 1,
-      sym_parameter_list,
-    STATE(1277), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-  [57826] = 5,
+    ACTIONS(4039), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_LBRACK_LBRACK,
+  [59519] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3872), 1,
+    ACTIONS(4043), 1,
       sym_identifier,
-    ACTIONS(3877), 1,
+    ACTIONS(4048), 1,
       aux_sym_preproc_elif_token1,
-    STATE(1382), 2,
+    STATE(1415), 1,
+      aux_sym_preproc_if_in_enumerator_list_repeat1,
+    STATE(1900), 1,
       sym_enumerator,
-      aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1,
-    ACTIONS(3875), 4,
+    ACTIONS(4046), 4,
       aux_sym_preproc_if_token2,
       aux_sym_preproc_else_token1,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
-  [57846] = 8,
+  [59541] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(502), 1,
+    ACTIONS(133), 1,
       anon_sym_LBRACE,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    STATE(279), 1,
+    STATE(130), 1,
       sym_compound_statement,
-    STATE(1250), 1,
+    STATE(1263), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [57872] = 3,
+  [59567] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3881), 1,
+    ACTIONS(4052), 1,
+      aux_sym_preproc_elif_token1,
+    ACTIONS(4054), 1,
+      anon_sym_EQ,
+    ACTIONS(4050), 6,
+      anon_sym_COMMA,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      sym_identifier,
+  [59585] = 6,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3995), 1,
+      anon_sym_LBRACK,
+    ACTIONS(4058), 1,
+      anon_sym___attribute,
+    STATE(1465), 1,
+      sym_parameter_list,
+    ACTIONS(4056), 4,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym___attribute__,
+      anon_sym_COLON,
+  [59607] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3937), 1,
       anon_sym_LBRACK,
-    ACTIONS(3879), 7,
+    STATE(1677), 1,
+      sym_gnu_asm_output_operand,
+    STATE(1963), 1,
+      sym_string_literal,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+  [59627] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4062), 2,
+      anon_sym___attribute,
+      anon_sym_LBRACK,
+    ACTIONS(4060), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_LBRACK_LBRACK,
-      anon_sym_COLON,
-  [57888] = 8,
+  [59643] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(4066), 2,
+      anon_sym___attribute,
+      anon_sym_LBRACK,
+    ACTIONS(4064), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_LBRACK_LBRACK,
+  [59659] = 8,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(41), 1,
+    ACTIONS(43), 1,
       anon_sym_LBRACE,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    STATE(375), 1,
+    STATE(323), 1,
       sym_compound_statement,
-    STATE(1250), 1,
+    STATE(1263), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [57914] = 3,
+  [59685] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3885), 1,
+    ACTIONS(4070), 2,
+      anon_sym___attribute,
       anon_sym_LBRACK,
-    ACTIONS(3883), 7,
+    ACTIONS(4068), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_LBRACK_LBRACK,
-      anon_sym_COLON,
-  [57930] = 3,
+  [59701] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3889), 1,
+    ACTIONS(4074), 2,
+      anon_sym___attribute,
       anon_sym_LBRACK,
-    ACTIONS(3887), 7,
+    ACTIONS(4072), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_LBRACK_LBRACK,
-      anon_sym_COLON,
-  [57946] = 8,
+  [59717] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(502), 1,
+    ACTIONS(506), 1,
       anon_sym_LBRACE,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    STATE(267), 1,
+    STATE(298), 1,
       sym_compound_statement,
-    STATE(1250), 1,
+    STATE(1268), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [57972] = 7,
+  [59743] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3891), 1,
+    ACTIONS(4078), 2,
+      anon_sym___attribute,
       anon_sym_LBRACK,
-    STATE(1451), 1,
-      sym_parameter_list,
-    ACTIONS(3771), 2,
+    ACTIONS(4076), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-    STATE(1479), 2,
-      sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-  [57996] = 8,
+      anon_sym_LPAREN2,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+      anon_sym_LBRACK_LBRACK,
+  [59759] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(4080), 1,
+      sym_identifier,
+    ACTIONS(4085), 1,
+      aux_sym_preproc_elif_token1,
+    STATE(1427), 2,
+      sym_enumerator,
+      aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1,
+    ACTIONS(4083), 4,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+  [59779] = 8,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(376), 1,
+    ACTIONS(378), 1,
       anon_sym_LBRACE,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    STATE(273), 1,
+    STATE(274), 1,
       sym_compound_statement,
-    STATE(1250), 1,
+    STATE(1268), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [58022] = 3,
+  [59805] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3895), 1,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3995), 1,
       anon_sym_LBRACK,
-    ACTIONS(3893), 7,
+    ACTIONS(4089), 1,
+      anon_sym___attribute,
+    STATE(1465), 1,
+      sym_parameter_list,
+    ACTIONS(4087), 4,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_SEMI,
       anon_sym___attribute__,
-      anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-  [58038] = 3,
+  [59827] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3899), 1,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3995), 1,
       anon_sym_LBRACK,
-    ACTIONS(3897), 7,
+    ACTIONS(4093), 1,
+      anon_sym___attribute,
+    STATE(1465), 1,
+      sym_parameter_list,
+    ACTIONS(4091), 4,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_SEMI,
       anon_sym___attribute__,
-      anon_sym_LBRACK_LBRACK,
       anon_sym_COLON,
-  [58054] = 5,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(3607), 1,
-      anon_sym___asm,
-    STATE(1364), 2,
-      sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-    ACTIONS(3605), 4,
-      anon_sym_COMMA,
-      anon_sym_SEMI,
-      anon_sym_asm,
-      anon_sym___asm__,
-  [58074] = 5,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(3903), 1,
-      anon_sym___asm,
-    STATE(1364), 2,
-      sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-    ACTIONS(3901), 4,
-      anon_sym_COMMA,
-      anon_sym_SEMI,
-      anon_sym_asm,
-      anon_sym___asm__,
-  [58094] = 5,
+  [59849] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3817), 1,
+    ACTIONS(3959), 1,
       anon_sym_LBRACK,
-    STATE(1631), 1,
+    STATE(1599), 1,
       sym_gnu_asm_input_operand,
-    STATE(1898), 1,
+    STATE(1975), 1,
       sym_string_literal,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-  [58114] = 3,
+  [59869] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3907), 1,
+    ACTIONS(4097), 2,
+      anon_sym___attribute,
       anon_sym_LBRACK,
-    ACTIONS(3905), 7,
+    ACTIONS(4095), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym_SEMI,
       anon_sym___attribute__,
       anon_sym_LBRACK_LBRACK,
-      anon_sym_COLON,
-  [58130] = 8,
+  [59885] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(41), 1,
+    ACTIONS(133), 1,
       anon_sym_LBRACE,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    STATE(368), 1,
+    STATE(123), 1,
       sym_compound_statement,
-    STATE(1251), 1,
+    STATE(1263), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [58156] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3911), 1,
-      aux_sym_preproc_elif_token1,
-    ACTIONS(3913), 1,
-      anon_sym_EQ,
-    ACTIONS(3909), 6,
-      anon_sym_COMMA,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      sym_identifier,
-  [58174] = 6,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3915), 1,
-      sym_identifier,
-    ACTIONS(3920), 1,
-      aux_sym_preproc_elif_token1,
-    STATE(1399), 1,
-      aux_sym_preproc_if_in_enumerator_list_repeat1,
-    STATE(1812), 1,
-      sym_enumerator,
-    ACTIONS(3918), 4,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-  [58196] = 8,
+  [59911] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(131), 1,
+    ACTIONS(506), 1,
       anon_sym_LBRACE,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    STATE(119), 1,
+    STATE(306), 1,
       sym_compound_statement,
-    STATE(1251), 1,
+    STATE(1263), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [58222] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3924), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3922), 7,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_LBRACK_LBRACK,
-      anon_sym_COLON,
-  [58238] = 8,
+  [59937] = 8,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(376), 1,
+    ACTIONS(506), 1,
       anon_sym_LBRACE,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    STATE(272), 1,
+    STATE(300), 1,
       sym_compound_statement,
-    STATE(1250), 1,
+    STATE(1263), 1,
       sym_parameter_list,
-    STATE(1277), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [58264] = 3,
+  [59963] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3928), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3926), 7,
+    ACTIONS(4101), 1,
+      anon_sym___attribute,
+    ACTIONS(4099), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
-      anon_sym_SEMI,
       anon_sym___attribute__,
-      anon_sym_LBRACK_LBRACK,
+      anon_sym_LBRACK,
       anon_sym_COLON,
-  [58280] = 3,
+  [59978] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3932), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3930), 6,
+    ACTIONS(4105), 1,
+      anon_sym___attribute,
+    ACTIONS(4103), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
-      anon_sym_SEMI,
       anon_sym___attribute__,
-      anon_sym_LBRACK_LBRACK,
-  [58295] = 5,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3891), 1,
       anon_sym_LBRACK,
-    STATE(1451), 1,
-      sym_parameter_list,
-    ACTIONS(3934), 4,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym___attribute__,
       anon_sym_COLON,
-  [58314] = 3,
+  [59993] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3938), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3936), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-  [58329] = 7,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(91), 1,
-      anon_sym___asm,
-    ACTIONS(3940), 1,
-      anon_sym_COMMA,
-    ACTIONS(3942), 1,
-      anon_sym_SEMI,
-    STATE(1549), 1,
-      sym_gnu_asm_expression,
-    STATE(1596), 1,
-      aux_sym_declaration_repeat1,
-    ACTIONS(3944), 2,
-      anon_sym_asm,
-      anon_sym___asm__,
-  [58352] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3948), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3946), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_LBRACK_LBRACK,
-  [58367] = 7,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(91), 1,
-      anon_sym___asm,
-    ACTIONS(3940), 1,
-      anon_sym_COMMA,
-    ACTIONS(3950), 1,
-      anon_sym_SEMI,
-    STATE(1598), 1,
-      sym_gnu_asm_expression,
-    STATE(1599), 1,
-      aux_sym_declaration_repeat1,
-    ACTIONS(3944), 2,
-      anon_sym_asm,
-      anon_sym___asm__,
-  [58390] = 5,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(1943), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3952), 1,
-      anon_sym_EQ,
-    ACTIONS(3954), 1,
-      anon_sym_DOT,
-    STATE(1430), 4,
-      sym_subscript_designator,
-      sym_subscript_range_designator,
-      sym_field_designator,
-      aux_sym_initializer_pair_repeat1,
-  [58409] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3958), 1,
+    ACTIONS(3879), 1,
       anon_sym_LBRACK,
-    ACTIONS(3956), 6,
-      anon_sym_COMMA,
+    ACTIONS(4107), 1,
       anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_LBRACK_LBRACK,
-  [58424] = 3,
+    STATE(1410), 1,
+      sym_parameter_list,
+    STATE(1366), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+  [60016] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3962), 1,
+    ACTIONS(37), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3778), 1,
       anon_sym_LBRACK,
-    ACTIONS(3960), 6,
-      anon_sym_COMMA,
+    ACTIONS(4109), 1,
       anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_LBRACK_LBRACK,
-  [58439] = 7,
+    STATE(1403), 1,
+      sym_parameter_list,
+    STATE(1362), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+  [60039] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(91), 1,
+    ACTIONS(93), 1,
       anon_sym___asm,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(3964), 1,
+    ACTIONS(4113), 1,
       anon_sym_SEMI,
-    STATE(1633), 1,
+    STATE(1571), 1,
       sym_gnu_asm_expression,
-    STATE(1634), 1,
+    STATE(1613), 1,
       aux_sym_declaration_repeat1,
-    ACTIONS(3944), 2,
+    ACTIONS(4115), 2,
       anon_sym_asm,
       anon_sym___asm__,
-  [58462] = 7,
+  [60062] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
+    ACTIONS(4117), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3966), 1,
-      anon_sym_RPAREN,
-    STATE(1250), 1,
-      sym_parameter_list,
-    STATE(1277), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-  [58485] = 3,
+    STATE(1450), 2,
+      sym_gnu_asm_qualifier,
+      aux_sym_gnu_asm_expression_repeat1,
+    ACTIONS(4119), 4,
+      anon_sym_inline,
+      anon_sym_volatile,
+      anon_sym_goto,
+      anon_sym___volatile__,
+  [60079] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3970), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3968), 6,
+    ACTIONS(4123), 1,
+      anon_sym___attribute,
+    ACTIONS(4121), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
-      anon_sym_SEMI,
       anon_sym___attribute__,
-      anon_sym_LBRACK_LBRACK,
-  [58500] = 7,
+      anon_sym_LBRACK,
+      anon_sym_COLON,
+  [60094] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3809), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    ACTIONS(3972), 1,
+    ACTIONS(4125), 1,
       anon_sym_RPAREN,
-    STATE(1412), 1,
+    STATE(1263), 1,
       sym_parameter_list,
-    STATE(1370), 2,
+    STATE(1295), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [58523] = 3,
+  [60117] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3976), 1,
+    ACTIONS(4127), 1,
       anon_sym_LBRACK,
-    ACTIONS(3974), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_LBRACK_LBRACK,
-  [58538] = 7,
+    ACTIONS(4130), 1,
+      anon_sym_EQ,
+    ACTIONS(4132), 1,
+      anon_sym_DOT,
+    STATE(1444), 4,
+      sym_subscript_designator,
+      sym_subscript_range_designator,
+      sym_field_designator,
+      aux_sym_initializer_pair_repeat1,
+  [60136] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(91), 1,
+    ACTIONS(93), 1,
       anon_sym___asm,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(3978), 1,
+    ACTIONS(4135), 1,
       anon_sym_SEMI,
-    STATE(1602), 1,
+    STATE(1592), 1,
       sym_gnu_asm_expression,
-    STATE(1605), 1,
+    STATE(1593), 1,
       aux_sym_declaration_repeat1,
-    ACTIONS(3944), 2,
+    ACTIONS(4115), 2,
       anon_sym_asm,
       anon_sym___asm__,
-  [58561] = 5,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3891), 1,
-      anon_sym_LBRACK,
-    STATE(1451), 1,
-      sym_parameter_list,
-    ACTIONS(3980), 4,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym___attribute__,
-      anon_sym_COLON,
-  [58580] = 3,
+  [60159] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3984), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3982), 6,
+    ACTIONS(93), 1,
+      anon_sym___asm,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
+    ACTIONS(4137), 1,
       anon_sym_SEMI,
-      anon_sym___attribute__,
-      anon_sym_LBRACK_LBRACK,
-  [58595] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3986), 1,
-      anon_sym_LPAREN2,
-    STATE(1421), 2,
-      sym_gnu_asm_qualifier,
-      aux_sym_gnu_asm_expression_repeat1,
-    ACTIONS(3988), 4,
-      anon_sym_inline,
-      anon_sym_volatile,
-      anon_sym_goto,
-      anon_sym___volatile__,
-  [58612] = 7,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3805), 1,
-      anon_sym_EQ,
-    STATE(1251), 1,
-      sym_parameter_list,
-    STATE(1277), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-  [58635] = 3,
+    STATE(1659), 1,
+      sym_gnu_asm_expression,
+    STATE(1660), 1,
+      aux_sym_declaration_repeat1,
+    ACTIONS(4115), 2,
+      anon_sym_asm,
+      anon_sym___asm__,
+  [60182] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3993), 1,
-      anon_sym_LBRACK,
-    ACTIONS(3991), 6,
+    ACTIONS(4141), 1,
+      anon_sym___attribute,
+    ACTIONS(4139), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
-      anon_sym_SEMI,
       anon_sym___attribute__,
-      anon_sym_LBRACK_LBRACK,
-  [58650] = 7,
+      anon_sym_LBRACK,
+      anon_sym_COLON,
+  [60197] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(91), 1,
+    ACTIONS(93), 1,
       anon_sym___asm,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(3995), 1,
+    ACTIONS(4143), 1,
       anon_sym_SEMI,
-    STATE(1590), 1,
+    STATE(1600), 1,
       sym_gnu_asm_expression,
-    STATE(1591), 1,
+    STATE(1601), 1,
       aux_sym_declaration_repeat1,
-    ACTIONS(3944), 2,
+    ACTIONS(4115), 2,
       anon_sym_asm,
       anon_sym___asm__,
-  [58673] = 4,
+  [60220] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3997), 1,
+    ACTIONS(4147), 1,
+      anon_sym___attribute,
+    ACTIONS(4145), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+      anon_sym_LPAREN2,
+      anon_sym___attribute__,
+      anon_sym_LBRACK,
+      anon_sym_COLON,
+  [60235] = 4,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4149), 1,
       anon_sym_LPAREN2,
-    STATE(1433), 2,
+    STATE(1450), 2,
       sym_gnu_asm_qualifier,
       aux_sym_gnu_asm_expression_repeat1,
-    ACTIONS(3999), 4,
+    ACTIONS(4151), 4,
       anon_sym_inline,
       anon_sym_volatile,
       anon_sym_goto,
       anon_sym___volatile__,
-  [58690] = 5,
+  [60252] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3662), 1,
+    ACTIONS(4156), 1,
+      anon_sym___attribute,
+    ACTIONS(4154), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_LPAREN2,
-    ACTIONS(3891), 1,
+      anon_sym___attribute__,
       anon_sym_LBRACK,
-    STATE(1451), 1,
-      sym_parameter_list,
-    ACTIONS(4001), 4,
+      anon_sym_COLON,
+  [60267] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4160), 1,
+      anon_sym___attribute,
+    ACTIONS(4158), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
+      anon_sym_LPAREN2,
       anon_sym___attribute__,
+      anon_sym_LBRACK,
       anon_sym_COLON,
-  [58709] = 7,
+  [60282] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(91), 1,
+    ACTIONS(93), 1,
       anon_sym___asm,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4003), 1,
+    ACTIONS(4162), 1,
       anon_sym_SEMI,
-    STATE(1568), 1,
+    STATE(1623), 1,
       sym_gnu_asm_expression,
-    STATE(1569), 1,
+    STATE(1624), 1,
       aux_sym_declaration_repeat1,
-    ACTIONS(3944), 2,
+    ACTIONS(4115), 2,
       anon_sym_asm,
       anon_sym___asm__,
-  [58732] = 4,
+  [60305] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4007), 1,
-      anon_sym_COMMA,
-    ACTIONS(4009), 1,
-      aux_sym_preproc_elif_token1,
-    ACTIONS(4005), 5,
-      aux_sym_preproc_if_token2,
-      aux_sym_preproc_else_token1,
-      aux_sym_preproc_elifdef_token1,
-      aux_sym_preproc_elifdef_token2,
-      sym_identifier,
-  [58749] = 8,
+    ACTIONS(37), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3756), 1,
+      anon_sym_LBRACK,
+    ACTIONS(4164), 1,
+      anon_sym_RPAREN,
+    STATE(1263), 1,
+      sym_parameter_list,
+    STATE(1295), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+  [60328] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(33), 1,
-      anon_sym___attribute__,
-    ACTIONS(37), 1,
-      anon_sym___declspec,
-    ACTIONS(2486), 1,
-      anon_sym_LBRACE,
-    ACTIONS(4011), 1,
-      sym_identifier,
-    STATE(734), 1,
-      sym_field_declaration_list,
-    STATE(1482), 1,
-      sym_attribute_specifier,
-    STATE(1584), 1,
-      sym_ms_declspec_modifier,
-  [58774] = 5,
+    ACTIONS(93), 1,
+      anon_sym___asm,
+    ACTIONS(4111), 1,
+      anon_sym_COMMA,
+    ACTIONS(4166), 1,
+      anon_sym_SEMI,
+    STATE(1629), 1,
+      sym_gnu_asm_expression,
+    STATE(1630), 1,
+      aux_sym_declaration_repeat1,
+    ACTIONS(4115), 2,
+      anon_sym_asm,
+      anon_sym___asm__,
+  [60351] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4013), 1,
+    ACTIONS(2002), 1,
       anon_sym_LBRACK,
-    ACTIONS(4016), 1,
+    ACTIONS(4168), 1,
       anon_sym_EQ,
-    ACTIONS(4018), 1,
+    ACTIONS(4170), 1,
       anon_sym_DOT,
-    STATE(1430), 4,
+    STATE(1444), 4,
       sym_subscript_designator,
       sym_subscript_range_designator,
       sym_field_designator,
       aux_sym_initializer_pair_repeat1,
-  [58793] = 7,
+  [60370] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(91), 1,
+    ACTIONS(93), 1,
       anon_sym___asm,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4021), 1,
+    ACTIONS(4172), 1,
       anon_sym_SEMI,
-    STATE(1607), 1,
+    STATE(1637), 1,
       sym_gnu_asm_expression,
-    STATE(1608), 1,
+    STATE(1638), 1,
       aux_sym_declaration_repeat1,
-    ACTIONS(3944), 2,
+    ACTIONS(4115), 2,
       anon_sym_asm,
       anon_sym___asm__,
-  [58816] = 7,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3809), 1,
-      anon_sym_LBRACK,
-    ACTIONS(4023), 1,
-      anon_sym_RPAREN,
-    STATE(1412), 1,
-      sym_parameter_list,
-    STATE(1370), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-  [58839] = 4,
+  [60393] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4025), 1,
-      anon_sym_LPAREN2,
-    STATE(1421), 2,
-      sym_gnu_asm_qualifier,
-      aux_sym_gnu_asm_expression_repeat1,
-    ACTIONS(3999), 4,
-      anon_sym_inline,
-      anon_sym_volatile,
-      anon_sym_goto,
-      anon_sym___volatile__,
-  [58856] = 7,
+    ACTIONS(93), 1,
+      anon_sym___asm,
+    ACTIONS(4111), 1,
+      anon_sym_COMMA,
+    ACTIONS(4174), 1,
+      anon_sym_SEMI,
+    STATE(1640), 1,
+      sym_gnu_asm_expression,
+    STATE(1641), 1,
+      aux_sym_declaration_repeat1,
+    ACTIONS(4115), 2,
+      anon_sym_asm,
+      anon_sym___asm__,
+  [60416] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(91), 1,
+    ACTIONS(93), 1,
       anon_sym___asm,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4027), 1,
+    ACTIONS(4176), 1,
       anon_sym_SEMI,
-    STATE(1610), 1,
+    STATE(1645), 1,
       sym_gnu_asm_expression,
-    STATE(1611), 1,
+    STATE(1646), 1,
       aux_sym_declaration_repeat1,
-    ACTIONS(3944), 2,
+    ACTIONS(4115), 2,
       anon_sym_asm,
       anon_sym___asm__,
-  [58879] = 7,
+  [60439] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(91), 1,
+    ACTIONS(93), 1,
       anon_sym___asm,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4029), 1,
+    ACTIONS(4178), 1,
       anon_sym_SEMI,
-    STATE(1616), 1,
+    STATE(1648), 1,
       sym_gnu_asm_expression,
-    STATE(1617), 1,
+    STATE(1649), 1,
       aux_sym_declaration_repeat1,
-    ACTIONS(3944), 2,
+    ACTIONS(4115), 2,
       anon_sym_asm,
       anon_sym___asm__,
-  [58902] = 7,
+  [60462] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
+    ACTIONS(37), 1,
       anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3726), 1,
+    ACTIONS(3879), 1,
       anon_sym_LBRACK,
-    ACTIONS(4031), 1,
+    ACTIONS(4180), 1,
       anon_sym_RPAREN,
-    STATE(1401), 1,
+    STATE(1410), 1,
       sym_parameter_list,
-    STATE(1347), 2,
+    STATE(1366), 2,
       sym_attribute_declaration,
       aux_sym_attributed_declarator_repeat1,
-  [58925] = 7,
+  [60485] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(91), 1,
+    ACTIONS(93), 1,
       anon_sym___asm,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4033), 1,
+    ACTIONS(4182), 1,
       anon_sym_SEMI,
-    STATE(1576), 1,
+    STATE(1618), 1,
       sym_gnu_asm_expression,
-    STATE(1577), 1,
+    STATE(1627), 1,
       aux_sym_declaration_repeat1,
-    ACTIONS(3944), 2,
+    ACTIONS(4115), 2,
       anon_sym_asm,
       anon_sym___asm__,
-  [58948] = 7,
+  [60508] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(91), 1,
-      anon_sym___asm,
-    ACTIONS(3940), 1,
+    ACTIONS(4186), 1,
       anon_sym_COMMA,
-    ACTIONS(4035), 1,
-      anon_sym_SEMI,
-    STATE(1619), 1,
-      sym_gnu_asm_expression,
-    STATE(1620), 1,
-      aux_sym_declaration_repeat1,
-    ACTIONS(3944), 2,
-      anon_sym_asm,
-      anon_sym___asm__,
-  [58971] = 7,
+    ACTIONS(4188), 1,
+      aux_sym_preproc_elif_token1,
+    ACTIONS(4184), 5,
+      aux_sym_preproc_if_token2,
+      aux_sym_preproc_else_token1,
+      aux_sym_preproc_elifdef_token1,
+      aux_sym_preproc_elifdef_token2,
+      sym_identifier,
+  [60525] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
+    ACTIONS(4192), 1,
+      anon_sym___attribute,
+    ACTIONS(4190), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_LPAREN2,
-    ACTIONS(3726), 1,
+      anon_sym___attribute__,
       anon_sym_LBRACK,
-    ACTIONS(4037), 1,
-      anon_sym_RPAREN,
-    STATE(1401), 1,
-      sym_parameter_list,
-    STATE(1347), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-  [58994] = 7,
+      anon_sym_COLON,
+  [60540] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
+    ACTIONS(4196), 1,
+      anon_sym___attribute,
+    ACTIONS(4194), 6,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
+      anon_sym___attribute__,
       anon_sym_LBRACK,
-    ACTIONS(4039), 1,
-      anon_sym_RPAREN,
-    STATE(1250), 1,
-      sym_parameter_list,
-    STATE(1277), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-  [59017] = 3,
+      anon_sym_COLON,
+  [60555] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4043), 1,
-      anon_sym_LBRACK,
-    ACTIONS(4041), 6,
+    ACTIONS(4198), 1,
+      anon_sym_LPAREN2,
+    STATE(1441), 2,
+      sym_gnu_asm_qualifier,
+      aux_sym_gnu_asm_expression_repeat1,
+    ACTIONS(4119), 4,
+      anon_sym_inline,
+      anon_sym_volatile,
+      anon_sym_goto,
+      anon_sym___volatile__,
+  [60572] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4202), 1,
+      anon_sym___attribute,
+    ACTIONS(4200), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
-      anon_sym_SEMI,
       anon_sym___attribute__,
-      anon_sym_LBRACK_LBRACK,
-  [59032] = 7,
+      anon_sym_LBRACK,
+      anon_sym_COLON,
+  [60587] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(91), 1,
+    ACTIONS(93), 1,
       anon_sym___asm,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4045), 1,
+    ACTIONS(4204), 1,
       anon_sym_SEMI,
-    STATE(1593), 1,
+    STATE(1621), 1,
       sym_gnu_asm_expression,
-    STATE(1594), 1,
+    STATE(1632), 1,
       aux_sym_declaration_repeat1,
-    ACTIONS(3944), 2,
+    ACTIONS(4115), 2,
       anon_sym_asm,
       anon_sym___asm__,
-  [59055] = 3,
+  [60610] = 7,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(625), 1,
-      sym_string_literal,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-  [59069] = 2,
+    ACTIONS(37), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3756), 1,
+      anon_sym_LBRACK,
+    ACTIONS(3941), 1,
+      anon_sym_EQ,
+    STATE(1268), 1,
+      sym_parameter_list,
+    STATE(1295), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+  [60633] = 7,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(37), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3778), 1,
+      anon_sym_LBRACK,
+    ACTIONS(4206), 1,
+      anon_sym_RPAREN,
+    STATE(1403), 1,
+      sym_parameter_list,
+    STATE(1362), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+  [60656] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4047), 6,
+    ACTIONS(4210), 1,
+      anon_sym___attribute,
+    ACTIONS(4208), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym___attribute__,
       anon_sym_LBRACK,
       anon_sym_COLON,
-  [59081] = 2,
+  [60671] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4049), 6,
+    ACTIONS(4214), 1,
+      anon_sym___attribute,
+    ACTIONS(4212), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym___attribute__,
       anon_sym_LBRACK,
       anon_sym_COLON,
-  [59093] = 2,
+  [60686] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4051), 6,
+    ACTIONS(4218), 1,
+      anon_sym___attribute,
+    ACTIONS(4216), 6,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_LPAREN2,
       anon_sym___attribute__,
       anon_sym_LBRACK,
       anon_sym_COLON,
-  [59105] = 2,
+  [60701] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4053), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-      anon_sym___attribute__,
+    ACTIONS(3995), 1,
       anon_sym_LBRACK,
+    STATE(1465), 1,
+      sym_parameter_list,
+    ACTIONS(4220), 3,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_COLON,
-  [59117] = 3,
+  [60719] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(93), 1,
+      anon_sym___asm,
+    STATE(1770), 1,
+      sym_gnu_asm_expression,
+    ACTIONS(4115), 2,
+      anon_sym_asm,
+      anon_sym___asm__,
+    ACTIONS(4222), 2,
+      anon_sym_COMMA,
+      anon_sym_SEMI,
+  [60737] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4055), 2,
+    ACTIONS(4224), 2,
       anon_sym_RBRACE,
       sym_identifier,
-    ACTIONS(4057), 4,
+    ACTIONS(4226), 4,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
       sym_preproc_directive,
-  [59131] = 2,
+  [60751] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4059), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym___attribute__,
-      anon_sym_LBRACK,
-      anon_sym_COLON,
-  [59143] = 6,
+    STATE(1952), 1,
+      sym_string_literal,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+  [60765] = 5,
     ACTIONS(3), 1,
       sym_comment,
     ACTIONS(35), 1,
-      anon_sym_LBRACK_LBRACK,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3664), 1,
-      anon_sym_LBRACK,
-    STATE(1251), 1,
-      sym_parameter_list,
-    STATE(1277), 2,
-      sym_attribute_declaration,
-      aux_sym_attributed_declarator_repeat1,
-  [59163] = 2,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4061), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
       anon_sym___attribute__,
-      anon_sym_LBRACK,
-      anon_sym_COLON,
-  [59175] = 5,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3891), 1,
-      anon_sym_LBRACK,
-    STATE(1451), 1,
-      sym_parameter_list,
-    ACTIONS(4063), 3,
+    ACTIONS(4228), 2,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_COLON,
-  [59193] = 3,
+    STATE(1367), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+  [60783] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(1993), 1,
+    STATE(630), 1,
       sym_string_literal,
-    ACTIONS(97), 5,
+    ACTIONS(99), 5,
       anon_sym_L_DQUOTE,
       anon_sym_u_DQUOTE,
       anon_sym_U_DQUOTE,
       anon_sym_u8_DQUOTE,
       anon_sym_DQUOTE,
-  [59207] = 5,
+  [60797] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4230), 2,
+      anon_sym_RBRACE,
+      sym_identifier,
+    ACTIONS(4232), 4,
+      aux_sym_preproc_if_token1,
+      aux_sym_preproc_ifdef_token1,
+      aux_sym_preproc_ifdef_token2,
+      sym_preproc_directive,
+  [60811] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3662), 1,
+    ACTIONS(37), 1,
+      anon_sym_LBRACK_LBRACK,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3891), 1,
+    ACTIONS(3756), 1,
       anon_sym_LBRACK,
-    STATE(1451), 1,
+    STATE(1268), 1,
       sym_parameter_list,
-    ACTIONS(4065), 3,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_COLON,
-  [59225] = 3,
+    STATE(1295), 2,
+      sym_attribute_declaration,
+      aux_sym_attributed_declarator_repeat1,
+  [60831] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4067), 2,
+    ACTIONS(4234), 2,
       anon_sym_RBRACE,
       sym_identifier,
-    ACTIONS(4069), 4,
+    ACTIONS(4236), 4,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
       sym_preproc_directive,
-  [59239] = 2,
+  [60845] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4071), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym___attribute__,
-      anon_sym_LBRACK,
-      anon_sym_COLON,
-  [59251] = 2,
+    ACTIONS(4238), 2,
+      anon_sym_RBRACE,
+      sym_identifier,
+    ACTIONS(4240), 4,
+      aux_sym_preproc_if_token1,
+      aux_sym_preproc_ifdef_token1,
+      aux_sym_preproc_ifdef_token2,
+      sym_preproc_directive,
+  [60859] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4073), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-      anon_sym___attribute__,
+    ACTIONS(3995), 1,
       anon_sym_LBRACK,
+    STATE(1465), 1,
+      sym_parameter_list,
+    ACTIONS(4242), 3,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
       anon_sym_COLON,
-  [59263] = 5,
+  [60877] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(91), 1,
-      anon_sym___asm,
-    STATE(1726), 1,
-      sym_gnu_asm_expression,
-    ACTIONS(3944), 2,
-      anon_sym_asm,
-      anon_sym___asm__,
-    ACTIONS(4075), 2,
-      anon_sym_COMMA,
-      anon_sym_SEMI,
-  [59281] = 2,
+    ACTIONS(4244), 2,
+      anon_sym_RBRACE,
+      sym_identifier,
+    ACTIONS(4246), 4,
+      aux_sym_preproc_if_token1,
+      aux_sym_preproc_ifdef_token1,
+      aux_sym_preproc_ifdef_token2,
+      sym_preproc_directive,
+  [60891] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4077), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-      anon_sym___attribute__,
+    ACTIONS(3995), 1,
       anon_sym_LBRACK,
-      anon_sym_COLON,
-  [59293] = 2,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4079), 6,
+    STATE(1465), 1,
+      sym_parameter_list,
+    ACTIONS(4248), 3,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym___attribute__,
-      anon_sym_LBRACK,
       anon_sym_COLON,
-  [59305] = 3,
+  [60909] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3920), 1,
+    ACTIONS(4048), 1,
       aux_sym_preproc_elif_token1,
-    ACTIONS(3918), 5,
+    ACTIONS(4046), 5,
       aux_sym_preproc_if_token2,
       aux_sym_preproc_else_token1,
       aux_sym_preproc_elifdef_token1,
       aux_sym_preproc_elifdef_token2,
       sym_identifier,
-  [59319] = 2,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4081), 6,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym___attribute__,
-      anon_sym_LBRACK,
-      anon_sym_COLON,
-  [59331] = 3,
+  [60923] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4083), 2,
+    ACTIONS(4250), 2,
       anon_sym_RBRACE,
       sym_identifier,
-    ACTIONS(4085), 4,
+    ACTIONS(4252), 4,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
       sym_preproc_directive,
-  [59345] = 3,
+  [60937] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4087), 2,
+    ACTIONS(4254), 2,
       anon_sym_RBRACE,
       sym_identifier,
-    ACTIONS(4089), 4,
+    ACTIONS(4256), 4,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
       sym_preproc_directive,
-  [59359] = 3,
+  [60951] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4091), 2,
+    ACTIONS(4258), 2,
       anon_sym_RBRACE,
       sym_identifier,
-    ACTIONS(4093), 4,
+    ACTIONS(4260), 4,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
       sym_preproc_directive,
-  [59373] = 2,
+  [60965] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4095), 6,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
+      anon_sym___attribute__,
+    ACTIONS(4262), 2,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym___attribute__,
-      anon_sym_LBRACK,
-      anon_sym_COLON,
-  [59385] = 5,
+    STATE(1367), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+  [60983] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3662), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(3891), 1,
-      anon_sym_LBRACK,
-    STATE(1451), 1,
-      sym_parameter_list,
-    ACTIONS(4097), 3,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
+      anon_sym___attribute__,
+    ACTIONS(4262), 2,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_COLON,
-  [59403] = 3,
+    STATE(1367), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+  [61001] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4055), 2,
+    ACTIONS(4258), 2,
       anon_sym_RBRACE,
       sym_identifier,
-    ACTIONS(4057), 4,
+    ACTIONS(4260), 4,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
       sym_preproc_directive,
-  [59417] = 5,
+  [61015] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(91), 1,
+    ACTIONS(93), 1,
       anon_sym___asm,
-    STATE(1691), 1,
+    STATE(1772), 1,
       sym_gnu_asm_expression,
-    ACTIONS(3944), 2,
+    ACTIONS(4115), 2,
       anon_sym_asm,
       anon_sym___asm__,
-    ACTIONS(4099), 2,
+    ACTIONS(4264), 2,
       anon_sym_COMMA,
       anon_sym_SEMI,
-  [59435] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4067), 2,
-      anon_sym_RBRACE,
-      sym_identifier,
-    ACTIONS(4069), 4,
-      aux_sym_preproc_if_token1,
-      aux_sym_preproc_ifdef_token1,
-      aux_sym_preproc_ifdef_token2,
-      sym_preproc_directive,
-  [59449] = 5,
+  [61033] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3891), 1,
+    ACTIONS(3995), 1,
       anon_sym_LBRACK,
-    STATE(1451), 1,
+    STATE(1465), 1,
       sym_parameter_list,
-    ACTIONS(4101), 3,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_COLON,
-  [59467] = 2,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4103), 6,
+    ACTIONS(4266), 3,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-      anon_sym_LPAREN2,
-      anon_sym___attribute__,
-      anon_sym_LBRACK,
       anon_sym_COLON,
-  [59479] = 3,
+  [61051] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4105), 2,
+    ACTIONS(4224), 2,
       anon_sym_RBRACE,
       sym_identifier,
-    ACTIONS(4107), 4,
+    ACTIONS(4226), 4,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
       sym_preproc_directive,
-  [59493] = 3,
+  [61065] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3749), 2,
-      anon_sym_RBRACE,
-      sym_identifier,
-    ACTIONS(4109), 4,
-      aux_sym_preproc_if_token1,
-      aux_sym_preproc_ifdef_token1,
-      aux_sym_preproc_ifdef_token2,
-      sym_preproc_directive,
-  [59507] = 3,
+    STATE(1991), 1,
+      sym_string_literal,
+    ACTIONS(99), 5,
+      anon_sym_L_DQUOTE,
+      anon_sym_u_DQUOTE,
+      anon_sym_U_DQUOTE,
+      anon_sym_u8_DQUOTE,
+      anon_sym_DQUOTE,
+  [61079] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4111), 2,
+    ACTIONS(3873), 2,
       anon_sym_RBRACE,
       sym_identifier,
-    ACTIONS(4113), 4,
+    ACTIONS(4268), 4,
       aux_sym_preproc_if_token1,
       aux_sym_preproc_ifdef_token1,
       aux_sym_preproc_ifdef_token2,
       sym_preproc_directive,
-  [59521] = 3,
+  [61093] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4115), 2,
-      anon_sym_RBRACE,
-      sym_identifier,
-    ACTIONS(4117), 4,
-      aux_sym_preproc_if_token1,
-      aux_sym_preproc_ifdef_token1,
-      aux_sym_preproc_ifdef_token2,
-      sym_preproc_directive,
-  [59535] = 3,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
+      anon_sym___attribute__,
+    ACTIONS(4270), 1,
+      anon_sym_SEMI,
+    STATE(1525), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+  [61110] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    STATE(1835), 1,
-      sym_string_literal,
-    ACTIONS(97), 5,
-      anon_sym_L_DQUOTE,
-      anon_sym_u_DQUOTE,
-      anon_sym_U_DQUOTE,
-      anon_sym_u8_DQUOTE,
-      anon_sym_DQUOTE,
-  [59549] = 5,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
+      anon_sym___attribute__,
+    ACTIONS(4272), 1,
+      anon_sym_SEMI,
+    STATE(1367), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+  [61127] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(4121), 1,
-      anon_sym_COLON_COLON,
-    STATE(1680), 1,
-      sym_argument_list,
-    ACTIONS(4119), 2,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
+      anon_sym___attribute__,
+    ACTIONS(4274), 1,
+      anon_sym_SEMI,
+    STATE(1514), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+  [61144] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
+      anon_sym___attribute__,
+    ACTIONS(4276), 1,
+      anon_sym_SEMI,
+    STATE(1367), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+  [61161] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
+      anon_sym___attribute__,
+    ACTIONS(4278), 1,
+      anon_sym_SEMI,
+    STATE(1520), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+  [61178] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
+      anon_sym___attribute__,
+    ACTIONS(4280), 1,
+      anon_sym_SEMI,
+    STATE(1367), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+  [61195] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
+      anon_sym___attribute__,
+    ACTIONS(4282), 1,
+      anon_sym_SEMI,
+    STATE(1367), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+  [61212] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3772), 1,
       anon_sym_COMMA,
-      anon_sym_RBRACK_RBRACK,
-  [59566] = 4,
+    ACTIONS(4286), 1,
+      anon_sym___attribute,
+    STATE(1507), 1,
+      aux_sym__field_declaration_declarator_repeat1,
+    ACTIONS(4284), 2,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+  [61229] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4288), 1,
+      anon_sym_COMMA,
+    ACTIONS(4293), 1,
+      anon_sym___attribute,
+    STATE(1507), 1,
+      aux_sym__field_declaration_declarator_repeat1,
+    ACTIONS(4291), 2,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+  [61246] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
+      anon_sym___attribute__,
+    ACTIONS(4295), 1,
+      anon_sym_SEMI,
+    STATE(1505), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+  [61263] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
+      anon_sym___attribute__,
+    ACTIONS(4297), 1,
+      anon_sym_SEMI,
+    STATE(1367), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+  [61280] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3448), 1,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
       anon_sym___attribute__,
-    ACTIONS(4123), 2,
+    ACTIONS(4299), 1,
+      anon_sym_SEMI,
+    STATE(1500), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+  [61297] = 6,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(39), 1,
+      anon_sym___declspec,
+    ACTIONS(2501), 1,
+      anon_sym_LBRACE,
+    ACTIONS(4301), 1,
+      sym_identifier,
+    STATE(737), 1,
+      sym_field_declaration_list,
+    STATE(1636), 1,
+      sym_ms_declspec_modifier,
+  [61316] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4305), 1,
+      anon_sym___asm,
+    ACTIONS(4303), 4,
       anon_sym_COMMA,
-      anon_sym_RPAREN,
-    STATE(1364), 2,
+      anon_sym_SEMI,
+      anon_sym_asm,
+      anon_sym___asm__,
+  [61329] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4307), 1,
+      anon_sym_COMMA,
+    ACTIONS(4312), 1,
+      anon_sym___attribute,
+    STATE(1513), 1,
+      aux_sym__type_definition_declarators_repeat1,
+    ACTIONS(4310), 2,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+  [61346] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
+      anon_sym___attribute__,
+    ACTIONS(4314), 1,
+      anon_sym_SEMI,
+    STATE(1367), 2,
       sym_attribute_specifier,
       aux_sym_type_definition_repeat1,
-  [59581] = 6,
+  [61363] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(37), 1,
+    ACTIONS(39), 1,
       anon_sym___declspec,
-    ACTIONS(2486), 1,
+    ACTIONS(2501), 1,
       anon_sym_LBRACE,
-    ACTIONS(4125), 1,
+    ACTIONS(4316), 1,
       sym_identifier,
-    STATE(730), 1,
+    STATE(732), 1,
       sym_field_declaration_list,
-    STATE(1632), 1,
+    STATE(1610), 1,
       sym_ms_declspec_modifier,
-  [59600] = 6,
+  [61382] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(4320), 1,
+      anon_sym_COLON_COLON,
+    STATE(1727), 1,
+      sym_argument_list,
+    ACTIONS(4318), 2,
+      anon_sym_COMMA,
+      anon_sym_RBRACK_RBRACK,
+  [61399] = 6,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3632), 1,
+    ACTIONS(3728), 1,
       sym_identifier,
-    ACTIONS(4127), 1,
+    ACTIONS(4322), 1,
       aux_sym_preproc_if_token2,
-    STATE(1428), 1,
+    STATE(1463), 1,
       sym_enumerator,
-    STATE(1495), 1,
-      aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1,
-    STATE(1545), 1,
+    STATE(1529), 1,
       aux_sym_preproc_if_in_enumerator_list_repeat1,
-  [59619] = 6,
+    STATE(1535), 1,
+      aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1,
+  [61418] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(37), 1,
-      anon_sym___declspec,
-    ACTIONS(2486), 1,
-      anon_sym_LBRACE,
-    ACTIONS(4129), 1,
-      sym_identifier,
-    STATE(725), 1,
-      sym_field_declaration_list,
-    STATE(1614), 1,
-      sym_ms_declspec_modifier,
-  [59638] = 2,
+    ACTIONS(3911), 1,
+      anon_sym_COMMA,
+    ACTIONS(4326), 1,
+      anon_sym___attribute,
+    STATE(1513), 1,
+      aux_sym__type_definition_declarators_repeat1,
+    ACTIONS(4324), 2,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+  [61435] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
+      anon_sym___attribute__,
+    ACTIONS(4328), 1,
+      anon_sym_SEMI,
+    STATE(1504), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+  [61452] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
+      anon_sym___attribute__,
+    ACTIONS(4330), 1,
+      anon_sym_SEMI,
+    STATE(1367), 2,
+      sym_attribute_specifier,
+      aux_sym_type_definition_repeat1,
+  [61469] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4131), 5,
+    ACTIONS(4332), 5,
       anon_sym_LPAREN2,
       anon_sym_inline,
       anon_sym_volatile,
       anon_sym_goto,
       anon_sym___volatile__,
-  [59649] = 3,
+  [61480] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4135), 1,
-      anon_sym___asm,
-    ACTIONS(4133), 4,
-      anon_sym_COMMA,
-      anon_sym_SEMI,
-      anon_sym_asm,
-      anon_sym___asm__,
-  [59662] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3448), 1,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
       anon_sym___attribute__,
-    ACTIONS(4137), 2,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-    STATE(1364), 2,
+    ACTIONS(4334), 1,
+      anon_sym_SEMI,
+    STATE(1502), 2,
       sym_attribute_specifier,
       aux_sym_type_definition_repeat1,
-  [59677] = 4,
+  [61497] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3448), 1,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
       anon_sym___attribute__,
-    ACTIONS(4123), 2,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-    STATE(1364), 2,
+    ACTIONS(4336), 1,
+      anon_sym_SEMI,
+    STATE(1509), 2,
       sym_attribute_specifier,
       aux_sym_type_definition_repeat1,
-  [59692] = 4,
-    ACTIONS(3366), 1,
+  [61514] = 5,
+    ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4139), 1,
-      anon_sym_SQUOTE,
-    STATE(1512), 1,
-      aux_sym_char_literal_repeat1,
-    ACTIONS(4141), 2,
-      aux_sym_char_literal_token1,
-      sym_escape_sequence,
-  [59706] = 4,
+    ACTIONS(3772), 1,
+      anon_sym_COMMA,
+    ACTIONS(4340), 1,
+      anon_sym___attribute,
+    STATE(1506), 1,
+      aux_sym__field_declaration_declarator_repeat1,
+    ACTIONS(4338), 2,
+      anon_sym_SEMI,
+      anon_sym___attribute__,
+  [61531] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3448), 1,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
       anon_sym___attribute__,
-    ACTIONS(4143), 1,
+    ACTIONS(4342), 1,
       anon_sym_SEMI,
-    STATE(1364), 2,
+    STATE(1367), 2,
       sym_attribute_specifier,
       aux_sym_type_definition_repeat1,
-  [59720] = 4,
+  [61548] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(4145), 1,
+    ACTIONS(3772), 1,
+      anon_sym_COMMA,
+    ACTIONS(4346), 1,
+      anon_sym___attribute,
+    STATE(1507), 1,
+      aux_sym__field_declaration_declarator_repeat1,
+    ACTIONS(4344), 2,
       anon_sym_SEMI,
-    STATE(1506), 2,
-      sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-  [59734] = 5,
-    ACTIONS(3366), 1,
+      anon_sym___attribute__,
+  [61565] = 4,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4147), 1,
+    ACTIONS(4348), 1,
+      anon_sym_SQUOTE,
+    STATE(1557), 1,
+      aux_sym_char_literal_repeat1,
+    ACTIONS(4350), 2,
+      aux_sym_char_literal_token1,
+      sym_escape_sequence,
+  [61579] = 5,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(4352), 1,
       aux_sym_preproc_include_token2,
-    ACTIONS(4149), 1,
+    ACTIONS(4354), 1,
       anon_sym_LPAREN,
-    ACTIONS(4151), 1,
+    ACTIONS(4356), 1,
       sym_preproc_arg,
-    STATE(1720), 1,
+    STATE(1718), 1,
       sym_preproc_params,
-  [59750] = 4,
+  [61595] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4153), 1,
-      anon_sym___except,
-    ACTIONS(4155), 1,
-      anon_sym___finally,
-    STATE(101), 2,
-      sym_seh_except_clause,
-      sym_seh_finally_clause,
-  [59764] = 5,
+    ACTIONS(3813), 1,
+      sym_identifier,
+    ACTIONS(4358), 1,
+      aux_sym_preproc_if_token2,
+    STATE(1415), 1,
+      aux_sym_preproc_if_in_enumerator_list_repeat1,
+    STATE(1900), 1,
+      sym_enumerator,
+  [61611] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4157), 1,
+    ACTIONS(4360), 1,
       anon_sym_COMMA,
-    ACTIONS(4159), 1,
+    STATE(1538), 1,
+      aux_sym_gnu_asm_clobber_list_repeat1,
+    ACTIONS(4362), 2,
       anon_sym_RPAREN,
-    STATE(1638), 1,
+      anon_sym_COLON,
+  [61625] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4364), 1,
+      anon_sym_COMMA,
+    ACTIONS(4366), 1,
+      anon_sym_RPAREN,
+    STATE(1607), 1,
       aux_sym_parameter_list_repeat1,
-    STATE(1645), 1,
+    STATE(1666), 1,
       aux_sym__old_style_parameter_list_repeat1,
-  [59780] = 4,
+  [61641] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4161), 1,
-      anon_sym___except,
-    ACTIONS(4163), 1,
-      anon_sym___finally,
-    STATE(249), 2,
-      sym_seh_except_clause,
-      sym_seh_finally_clause,
-  [59794] = 4,
+    ACTIONS(4368), 1,
+      anon_sym_COMMA,
+    STATE(1549), 1,
+      aux_sym_gnu_asm_output_operand_list_repeat1,
+    ACTIONS(4370), 2,
+      anon_sym_RPAREN,
+      anon_sym_COLON,
+  [61655] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3448), 1,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
       anon_sym___attribute__,
-    ACTIONS(4165), 1,
+    ACTIONS(4372), 1,
       anon_sym_SEMI,
-    STATE(1519), 2,
+    STATE(2014), 1,
       sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-  [59808] = 4,
+  [61671] = 5,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3813), 1,
+      sym_identifier,
+    ACTIONS(4322), 1,
+      aux_sym_preproc_if_token2,
+    STATE(1529), 1,
+      aux_sym_preproc_if_in_enumerator_list_repeat1,
+    STATE(1900), 1,
+      sym_enumerator,
+  [61687] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3632), 1,
+    ACTIONS(3728), 1,
       sym_identifier,
-    ACTIONS(4167), 1,
+    ACTIONS(4374), 1,
       aux_sym_preproc_if_token2,
-    STATE(1382), 2,
+    STATE(1427), 2,
       sym_enumerator,
       aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1,
-  [59822] = 5,
+  [61701] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3662), 1,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3891), 1,
-      anon_sym_LBRACK,
-    ACTIONS(4169), 1,
+    STATE(1774), 1,
+      sym_argument_list,
+    ACTIONS(4376), 2,
+      anon_sym_COMMA,
+      anon_sym_RBRACK_RBRACK,
+  [61715] = 5,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(4378), 1,
+      anon_sym_DQUOTE,
+    ACTIONS(4380), 1,
+      aux_sym_string_literal_token1,
+    ACTIONS(4382), 1,
+      sym_escape_sequence,
+    STATE(1554), 1,
+      aux_sym_string_literal_repeat1,
+  [61731] = 4,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4384), 1,
+      anon_sym_COMMA,
+    STATE(1538), 1,
+      aux_sym_gnu_asm_clobber_list_repeat1,
+    ACTIONS(4387), 2,
       anon_sym_RPAREN,
-    STATE(1451), 1,
-      sym_parameter_list,
-  [59838] = 4,
+      anon_sym_COLON,
+  [61745] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(4171), 1,
-      anon_sym_SEMI,
-    STATE(1364), 2,
-      sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-  [59852] = 5,
-    ACTIONS(3366), 1,
+    ACTIONS(4389), 1,
+      anon_sym___except,
+    ACTIONS(4391), 1,
+      anon_sym___finally,
+    STATE(198), 2,
+      sym_seh_except_clause,
+      sym_seh_finally_clause,
+  [61759] = 5,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4149), 1,
-      anon_sym_LPAREN,
-    ACTIONS(4173), 1,
-      aux_sym_preproc_include_token2,
-    ACTIONS(4175), 1,
-      sym_preproc_arg,
-    STATE(1714), 1,
-      sym_preproc_params,
-  [59868] = 5,
-    ACTIONS(3366), 1,
+    ACTIONS(4393), 1,
+      anon_sym_DQUOTE,
+    ACTIONS(4395), 1,
+      aux_sym_string_literal_token1,
+    ACTIONS(4397), 1,
+      sym_escape_sequence,
+    STATE(1570), 1,
+      aux_sym_string_literal_repeat1,
+  [61775] = 5,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4149), 1,
+    ACTIONS(4354), 1,
       anon_sym_LPAREN,
-    ACTIONS(4177), 1,
+    ACTIONS(4399), 1,
       aux_sym_preproc_include_token2,
-    ACTIONS(4179), 1,
+    ACTIONS(4401), 1,
       sym_preproc_arg,
-    STATE(1750), 1,
+    STATE(1708), 1,
       sym_preproc_params,
-  [59884] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(4181), 1,
-      anon_sym_SEMI,
-    STATE(1520), 2,
-      sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-  [59898] = 4,
+  [61791] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4183), 1,
-      anon_sym_COMMA,
-    STATE(1544), 1,
-      aux_sym_gnu_asm_clobber_list_repeat1,
-    ACTIONS(4185), 2,
-      anon_sym_RPAREN,
-      anon_sym_COLON,
-  [59912] = 4,
+    ACTIONS(4403), 1,
+      anon_sym___except,
+    ACTIONS(4405), 1,
+      anon_sym___finally,
+    STATE(242), 2,
+      sym_seh_except_clause,
+      sym_seh_finally_clause,
+  [61805] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3448), 1,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
       anon_sym___attribute__,
-    ACTIONS(4187), 1,
+    ACTIONS(4407), 1,
       anon_sym_SEMI,
-    STATE(1508), 2,
+    STATE(2008), 1,
       sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-  [59926] = 4,
+  [61821] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4189), 1,
+    ACTIONS(4409), 1,
       anon_sym___except,
-    ACTIONS(4191), 1,
+    ACTIONS(4411), 1,
       anon_sym___finally,
-    STATE(193), 2,
+    STATE(242), 2,
       sym_seh_except_clause,
       sym_seh_finally_clause,
-  [59940] = 4,
+  [61835] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4193), 1,
+    ACTIONS(4413), 1,
       anon_sym_COMMA,
-    STATE(1504), 1,
-      aux_sym_gnu_asm_output_operand_list_repeat1,
-    ACTIONS(4196), 2,
+    STATE(1545), 1,
+      aux_sym_gnu_asm_input_operand_list_repeat1,
+    ACTIONS(4416), 2,
       anon_sym_RPAREN,
       anon_sym_COLON,
-  [59954] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(4198), 1,
-      anon_sym_SEMI,
-    STATE(1513), 2,
-      sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-  [59968] = 4,
+  [61849] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(4200), 1,
-      anon_sym_SEMI,
-    STATE(1364), 2,
-      sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-  [59982] = 5,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4202), 1,
-      anon_sym_DQUOTE,
-    ACTIONS(4204), 1,
-      aux_sym_string_literal_token1,
-    ACTIONS(4207), 1,
-      sym_escape_sequence,
-    STATE(1507), 1,
-      aux_sym_string_literal_repeat1,
-  [59998] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(4210), 1,
-      anon_sym_SEMI,
-    STATE(1364), 2,
-      sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-  [60012] = 4,
+    ACTIONS(4418), 1,
+      anon_sym___except,
+    ACTIONS(4420), 1,
+      anon_sym___finally,
+    STATE(222), 2,
+      sym_seh_except_clause,
+      sym_seh_finally_clause,
+  [61863] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3829), 1,
-      anon_sym_COMMA,
-    STATE(1523), 1,
-      aux_sym__type_definition_declarators_repeat1,
-    ACTIONS(4212), 2,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-  [60026] = 4,
+    ACTIONS(3754), 1,
+      anon_sym_LPAREN2,
+    ACTIONS(3995), 1,
+      anon_sym_LBRACK,
+    ACTIONS(4422), 1,
+      anon_sym_RPAREN,
+    STATE(1465), 1,
+      sym_parameter_list,
+  [61879] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4214), 1,
+    ACTIONS(4424), 1,
       anon_sym___except,
-    ACTIONS(4216), 1,
+    ACTIONS(4426), 1,
       anon_sym___finally,
-    STATE(220), 2,
+    STATE(89), 2,
       sym_seh_except_clause,
       sym_seh_finally_clause,
-  [60040] = 4,
+  [61893] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4218), 1,
+    ACTIONS(4368), 1,
       anon_sym_COMMA,
-    STATE(1546), 1,
-      aux_sym_gnu_asm_input_operand_list_repeat1,
-    ACTIONS(4220), 2,
+    STATE(1561), 1,
+      aux_sym_gnu_asm_output_operand_list_repeat1,
+    ACTIONS(4428), 2,
       anon_sym_RPAREN,
       anon_sym_COLON,
-  [60054] = 4,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4222), 1,
-      anon_sym_SQUOTE,
-    STATE(1512), 1,
-      aux_sym_char_literal_repeat1,
-    ACTIONS(4224), 2,
-      aux_sym_char_literal_token1,
-      sym_escape_sequence,
-  [60068] = 4,
+  [61907] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(4227), 1,
-      anon_sym_SEMI,
-    STATE(1364), 2,
-      sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-  [60082] = 4,
+    ACTIONS(3728), 1,
+      sym_identifier,
+    ACTIONS(4430), 1,
+      aux_sym_preproc_if_token2,
+    STATE(1535), 2,
+      sym_enumerator,
+      aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1,
+  [61921] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(4229), 1,
-      anon_sym_SEMI,
-    STATE(1488), 2,
-      sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-  [60096] = 4,
+    ACTIONS(4432), 1,
+      anon_sym_COMMA,
+    STATE(1563), 1,
+      aux_sym_gnu_asm_input_operand_list_repeat1,
+    ACTIONS(4434), 2,
+      anon_sym_RPAREN,
+      anon_sym_COLON,
+  [61935] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3722), 1,
+    ACTIONS(4438), 1,
+      anon_sym___attribute,
+    ACTIONS(4436), 3,
       anon_sym_COMMA,
-    STATE(1535), 1,
-      aux_sym__field_declaration_declarator_repeat1,
-    ACTIONS(4231), 2,
       anon_sym_SEMI,
       anon_sym___attribute__,
-  [60110] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3632), 1,
-      sym_identifier,
-    ACTIONS(4233), 1,
-      aux_sym_preproc_if_token2,
-    STATE(1495), 2,
-      sym_enumerator,
-      aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1,
-  [60124] = 5,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4235), 1,
-      anon_sym_DQUOTE,
-    ACTIONS(4237), 1,
-      aux_sym_string_literal_token1,
-    ACTIONS(4239), 1,
-      sym_escape_sequence,
-    STATE(1522), 1,
-      aux_sym_string_literal_repeat1,
-  [60140] = 4,
-    ACTIONS(3366), 1,
+  [61947] = 4,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4241), 1,
+    ACTIONS(4440), 1,
       anon_sym_SQUOTE,
-    STATE(1512), 1,
+    STATE(1557), 1,
       aux_sym_char_literal_repeat1,
-    ACTIONS(4141), 2,
+    ACTIONS(4350), 2,
       aux_sym_char_literal_token1,
       sym_escape_sequence,
-  [60154] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(4243), 1,
-      anon_sym_SEMI,
-    STATE(1364), 2,
-      sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-  [60168] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(4245), 1,
-      anon_sym_SEMI,
-    STATE(1364), 2,
-      sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-  [60182] = 5,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4149), 1,
-      anon_sym_LPAREN,
-    ACTIONS(4247), 1,
-      aux_sym_preproc_include_token2,
-    ACTIONS(4249), 1,
-      sym_preproc_arg,
-    STATE(1687), 1,
-      sym_preproc_params,
-  [60198] = 5,
-    ACTIONS(3366), 1,
+  [61961] = 5,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4251), 1,
+    ACTIONS(4442), 1,
       anon_sym_DQUOTE,
-    ACTIONS(4253), 1,
+    ACTIONS(4444), 1,
       aux_sym_string_literal_token1,
-    ACTIONS(4255), 1,
+    ACTIONS(4446), 1,
       sym_escape_sequence,
-    STATE(1507), 1,
+    STATE(1565), 1,
       aux_sym_string_literal_repeat1,
-  [60214] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4257), 1,
-      anon_sym_COMMA,
-    STATE(1523), 1,
-      aux_sym__type_definition_declarators_repeat1,
-    ACTIONS(4260), 2,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-  [60228] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(4262), 1,
-      anon_sym_SEMI,
-    STATE(1364), 2,
-      sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-  [60242] = 5,
+  [61977] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3662), 1,
+    ACTIONS(3754), 1,
       anon_sym_LPAREN2,
-    ACTIONS(3891), 1,
+    ACTIONS(3995), 1,
       anon_sym_LBRACK,
-    ACTIONS(4264), 1,
+    ACTIONS(4448), 1,
       anon_sym_RPAREN,
-    STATE(1451), 1,
+    STATE(1465), 1,
       sym_parameter_list,
-  [60258] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    STATE(1679), 1,
-      sym_argument_list,
-    ACTIONS(4266), 2,
-      anon_sym_COMMA,
-      anon_sym_RBRACK_RBRACK,
-  [60272] = 5,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4253), 1,
-      aux_sym_string_literal_token1,
-    ACTIONS(4255), 1,
-      sym_escape_sequence,
-    ACTIONS(4268), 1,
-      anon_sym_DQUOTE,
-    STATE(1507), 1,
-      aux_sym_string_literal_repeat1,
-  [60288] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4270), 1,
-      anon_sym_COMMA,
-    STATE(1504), 1,
-      aux_sym_gnu_asm_output_operand_list_repeat1,
-    ACTIONS(4272), 2,
-      anon_sym_RPAREN,
-      anon_sym_COLON,
-  [60302] = 5,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4149), 1,
-      anon_sym_LPAREN,
-    ACTIONS(4274), 1,
-      aux_sym_preproc_include_token2,
-    ACTIONS(4276), 1,
-      sym_preproc_arg,
-    STATE(1693), 1,
-      sym_preproc_params,
-  [60318] = 5,
-    ACTIONS(3366), 1,
+  [61993] = 5,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4149), 1,
+    ACTIONS(4354), 1,
       anon_sym_LPAREN,
-    ACTIONS(4278), 1,
+    ACTIONS(4450), 1,
       aux_sym_preproc_include_token2,
-    ACTIONS(4280), 1,
+    ACTIONS(4452), 1,
       sym_preproc_arg,
-    STATE(1715), 1,
+    STATE(1692), 1,
       sym_preproc_params,
-  [60334] = 4,
-    ACTIONS(3366), 1,
+  [62009] = 4,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4282), 1,
+    ACTIONS(4454), 1,
       anon_sym_SQUOTE,
-    STATE(1512), 1,
+    STATE(1557), 1,
       aux_sym_char_literal_repeat1,
-    ACTIONS(4141), 2,
+    ACTIONS(4456), 2,
       aux_sym_char_literal_token1,
       sym_escape_sequence,
-  [60348] = 5,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4149), 1,
-      anon_sym_LPAREN,
-    ACTIONS(4284), 1,
-      aux_sym_preproc_include_token2,
-    ACTIONS(4286), 1,
-      sym_preproc_arg,
-    STATE(1697), 1,
-      sym_preproc_params,
-  [60364] = 5,
-    ACTIONS(3366), 1,
+  [62023] = 5,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4253), 1,
+    ACTIONS(4459), 1,
+      anon_sym_DQUOTE,
+    ACTIONS(4461), 1,
       aux_sym_string_literal_token1,
-    ACTIONS(4255), 1,
+    ACTIONS(4463), 1,
       sym_escape_sequence,
-    ACTIONS(4288), 1,
-      anon_sym_DQUOTE,
-    STATE(1507), 1,
+    STATE(1569), 1,
       aux_sym_string_literal_repeat1,
-  [60380] = 5,
-    ACTIONS(3), 1,
+  [62039] = 5,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3684), 1,
-      sym_identifier,
-    ACTIONS(4127), 1,
-      aux_sym_preproc_if_token2,
-    STATE(1545), 1,
-      aux_sym_preproc_if_in_enumerator_list_repeat1,
-    STATE(1812), 1,
-      sym_enumerator,
-  [60396] = 4,
-    ACTIONS(3), 1,
+    ACTIONS(4354), 1,
+      anon_sym_LPAREN,
+    ACTIONS(4465), 1,
+      aux_sym_preproc_include_token2,
+    ACTIONS(4467), 1,
+      sym_preproc_arg,
+    STATE(1699), 1,
+      sym_preproc_params,
+  [62055] = 5,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4290), 1,
-      anon_sym_COMMA,
-    STATE(1535), 1,
-      aux_sym__field_declaration_declarator_repeat1,
-    ACTIONS(4293), 2,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-  [60410] = 4,
+    ACTIONS(4354), 1,
+      anon_sym_LPAREN,
+    ACTIONS(4469), 1,
+      aux_sym_preproc_include_token2,
+    ACTIONS(4471), 1,
+      sym_preproc_arg,
+    STATE(1707), 1,
+      sym_preproc_params,
+  [62071] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4270), 1,
+    ACTIONS(4473), 1,
       anon_sym_COMMA,
-    STATE(1528), 1,
+    STATE(1561), 1,
       aux_sym_gnu_asm_output_operand_list_repeat1,
-    ACTIONS(4295), 2,
+    ACTIONS(4476), 2,
       anon_sym_RPAREN,
       anon_sym_COLON,
-  [60424] = 5,
-    ACTIONS(3366), 1,
+  [62085] = 5,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4297), 1,
-      anon_sym_DQUOTE,
-    ACTIONS(4299), 1,
-      aux_sym_string_literal_token1,
-    ACTIONS(4301), 1,
-      sym_escape_sequence,
-    STATE(1533), 1,
-      aux_sym_string_literal_repeat1,
-  [60440] = 4,
+    ACTIONS(4354), 1,
+      anon_sym_LPAREN,
+    ACTIONS(4478), 1,
+      aux_sym_preproc_include_token2,
+    ACTIONS(4480), 1,
+      sym_preproc_arg,
+    STATE(1700), 1,
+      sym_preproc_params,
+  [62101] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4218), 1,
+    ACTIONS(4432), 1,
       anon_sym_COMMA,
-    STATE(1511), 1,
+    STATE(1545), 1,
       aux_sym_gnu_asm_input_operand_list_repeat1,
-    ACTIONS(4303), 2,
+    ACTIONS(4482), 2,
       anon_sym_RPAREN,
       anon_sym_COLON,
-  [60454] = 4,
-    ACTIONS(3), 1,
+  [62115] = 4,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(4305), 1,
-      anon_sym_SEMI,
-    STATE(1497), 2,
-      sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-  [60468] = 5,
-    ACTIONS(3366), 1,
+    ACTIONS(4484), 1,
+      anon_sym_SQUOTE,
+    STATE(1557), 1,
+      aux_sym_char_literal_repeat1,
+    ACTIONS(4350), 2,
+      aux_sym_char_literal_token1,
+      sym_escape_sequence,
+  [62129] = 5,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4307), 1,
+    ACTIONS(4486), 1,
       anon_sym_DQUOTE,
-    ACTIONS(4309), 1,
+    ACTIONS(4488), 1,
       aux_sym_string_literal_token1,
-    ACTIONS(4311), 1,
+    ACTIONS(4491), 1,
       sym_escape_sequence,
-    STATE(1527), 1,
+    STATE(1565), 1,
       aux_sym_string_literal_repeat1,
-  [60484] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3722), 1,
-      anon_sym_COMMA,
-    STATE(1543), 1,
-      aux_sym__field_declaration_declarator_repeat1,
-    ACTIONS(4313), 2,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-  [60498] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4315), 1,
-      anon_sym___except,
-    ACTIONS(4317), 1,
-      anon_sym___finally,
-    STATE(249), 2,
-      sym_seh_except_clause,
-      sym_seh_finally_clause,
-  [60512] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3722), 1,
-      anon_sym_COMMA,
-    STATE(1535), 1,
-      aux_sym__field_declaration_declarator_repeat1,
-    ACTIONS(4319), 2,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-  [60526] = 4,
+  [62145] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4321), 1,
+    ACTIONS(4360), 1,
       anon_sym_COMMA,
-    STATE(1544), 1,
+    STATE(1530), 1,
       aux_sym_gnu_asm_clobber_list_repeat1,
-    ACTIONS(4324), 2,
+    ACTIONS(4494), 2,
       anon_sym_RPAREN,
       anon_sym_COLON,
-  [60540] = 5,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3684), 1,
-      sym_identifier,
-    ACTIONS(4326), 1,
-      aux_sym_preproc_if_token2,
-    STATE(1399), 1,
-      aux_sym_preproc_if_in_enumerator_list_repeat1,
-    STATE(1812), 1,
-      sym_enumerator,
-  [60556] = 4,
-    ACTIONS(3), 1,
+  [62159] = 5,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4328), 1,
-      anon_sym_COMMA,
-    STATE(1546), 1,
-      aux_sym_gnu_asm_input_operand_list_repeat1,
-    ACTIONS(4331), 2,
-      anon_sym_RPAREN,
-      anon_sym_COLON,
-  [60570] = 4,
+    ACTIONS(4354), 1,
+      anon_sym_LPAREN,
+    ACTIONS(4496), 1,
+      aux_sym_preproc_include_token2,
+    ACTIONS(4498), 1,
+      sym_preproc_arg,
+    STATE(1712), 1,
+      sym_preproc_params,
+  [62175] = 5,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3448), 1,
+    ACTIONS(35), 1,
+      anon_sym___attribute,
+    ACTIONS(3482), 1,
       anon_sym___attribute__,
-    ACTIONS(4333), 1,
+    ACTIONS(4500), 1,
       anon_sym_SEMI,
-    STATE(1524), 2,
+    STATE(2018), 1,
       sym_attribute_specifier,
-      aux_sym_type_definition_repeat1,
-  [60584] = 4,
-    ACTIONS(3), 1,
+  [62191] = 5,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(4444), 1,
+      aux_sym_string_literal_token1,
+    ACTIONS(4446), 1,
+      sym_escape_sequence,
+    ACTIONS(4502), 1,
+      anon_sym_DQUOTE,
+    STATE(1565), 1,
+      aux_sym_string_literal_repeat1,
+  [62207] = 5,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4183), 1,
-      anon_sym_COMMA,
-    STATE(1501), 1,
-      aux_sym_gnu_asm_clobber_list_repeat1,
-    ACTIONS(4335), 2,
-      anon_sym_RPAREN,
-      anon_sym_COLON,
-  [60598] = 4,
+    ACTIONS(4444), 1,
+      aux_sym_string_literal_token1,
+    ACTIONS(4446), 1,
+      sym_escape_sequence,
+    ACTIONS(4504), 1,
+      anon_sym_DQUOTE,
+    STATE(1565), 1,
+      aux_sym_string_literal_repeat1,
+  [62223] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4337), 1,
+    ACTIONS(4506), 1,
       anon_sym_SEMI,
-    STATE(1643), 1,
+    STATE(1634), 1,
       aux_sym_declaration_repeat1,
-  [60611] = 4,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4339), 1,
-      aux_sym_preproc_include_token2,
-    ACTIONS(4341), 1,
-      anon_sym_LPAREN2,
-    STATE(1894), 1,
-      sym_preproc_argument_list,
-  [60624] = 4,
+  [62236] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1989), 1,
-      anon_sym_RBRACE,
-    ACTIONS(4343), 1,
-      anon_sym_COMMA,
-    STATE(1603), 1,
-      aux_sym_initializer_list_repeat1,
-  [60637] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(3219), 1,
       anon_sym_COMMA,
-    ACTIONS(4345), 1,
-      anon_sym_SEMI,
-    STATE(1557), 1,
-      aux_sym_declaration_repeat1,
-  [60650] = 4,
+    ACTIONS(4508), 1,
+      anon_sym_RPAREN,
+    STATE(1661), 1,
+      aux_sym_argument_list_repeat1,
+  [62249] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2886), 1,
+    ACTIONS(2924), 1,
       anon_sym_LBRACE,
-    ACTIONS(4347), 1,
+    ACTIONS(4510), 1,
       sym_identifier,
-    STATE(1079), 1,
+    STATE(1069), 1,
       sym_enumerator_list,
-  [60663] = 4,
+  [62262] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4349), 1,
+    ACTIONS(4512), 1,
       anon_sym_RPAREN,
-    ACTIONS(4351), 1,
+    ACTIONS(4514), 1,
       anon_sym_COLON,
-    STATE(1583), 1,
+    STATE(1682), 1,
       sym_gnu_asm_clobber_list,
-  [60676] = 2,
+  [62275] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4353), 3,
+    ACTIONS(4516), 3,
       anon_sym_COMMA,
-      anon_sym_SEMI,
-      anon_sym___attribute__,
-  [60685] = 4,
-    ACTIONS(3366), 1,
+      anon_sym_RPAREN,
+      anon_sym_COLON,
+  [62284] = 4,
+    ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4341), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(4355), 1,
+    ACTIONS(4518), 1,
+      anon_sym_COMMA,
+    ACTIONS(4521), 1,
+      anon_sym_RPAREN,
+    STATE(1576), 1,
+      aux_sym_generic_expression_repeat1,
+  [62297] = 4,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4523), 1,
+      anon_sym_COMMA,
+    ACTIONS(4526), 1,
+      anon_sym_RPAREN,
+    STATE(1577), 1,
+      aux_sym_preproc_params_repeat1,
+  [62310] = 4,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(4528), 1,
       aux_sym_preproc_include_token2,
-    STATE(1894), 1,
+    ACTIONS(4530), 1,
+      anon_sym_LPAREN2,
+    STATE(1802), 1,
       sym_preproc_argument_list,
-  [60698] = 4,
+  [62323] = 4,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4532), 1,
+      anon_sym_RPAREN,
+    ACTIONS(4534), 1,
+      anon_sym_COLON,
+    STATE(1574), 1,
+      sym_gnu_asm_input_operand_list,
+  [62336] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4357), 1,
+    ACTIONS(4536), 1,
       anon_sym_COMMA,
-    ACTIONS(4360), 1,
-      anon_sym_SEMI,
-    STATE(1557), 1,
-      aux_sym_declaration_repeat1,
-  [60711] = 4,
+    ACTIONS(4539), 1,
+      anon_sym_RPAREN,
+    STATE(1580), 1,
+      aux_sym__old_style_parameter_list_repeat1,
+  [62349] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4362), 1,
+    ACTIONS(4541), 1,
       anon_sym_COMMA,
-    ACTIONS(4364), 1,
+    ACTIONS(4543), 1,
       anon_sym_RBRACK_RBRACK,
-    STATE(1666), 1,
+    STATE(1590), 1,
       aux_sym_attribute_declaration_repeat1,
-  [60724] = 4,
+  [62362] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4362), 1,
+    ACTIONS(3452), 1,
       anon_sym_COMMA,
-    ACTIONS(4366), 1,
-      anon_sym_RBRACK_RBRACK,
-    STATE(1566), 1,
-      aux_sym_attribute_declaration_repeat1,
-  [60737] = 4,
+    ACTIONS(4545), 1,
+      anon_sym_RPAREN,
+    STATE(1672), 1,
+      aux_sym_preproc_argument_list_repeat1,
+  [62375] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4362), 1,
+    ACTIONS(4541), 1,
       anon_sym_COMMA,
-    ACTIONS(4368), 1,
+    ACTIONS(4547), 1,
       anon_sym_RBRACK_RBRACK,
-    STATE(1585), 1,
+    STATE(1656), 1,
       aux_sym_attribute_declaration_repeat1,
-  [60750] = 4,
+  [62388] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4370), 1,
+    ACTIONS(4549), 1,
+      anon_sym_COMMA,
+    ACTIONS(4551), 1,
       anon_sym_RPAREN,
-    ACTIONS(4372), 1,
-      anon_sym_COLON,
-    STATE(1640), 1,
-      sym_gnu_asm_input_operand_list,
-  [60763] = 4,
+    STATE(1577), 1,
+      aux_sym_preproc_params_repeat1,
+  [62401] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4374), 1,
+    ACTIONS(4553), 3,
+      anon_sym_COMMA,
       anon_sym_RPAREN,
-    ACTIONS(4376), 1,
       anon_sym_COLON,
-    STATE(1641), 1,
-      sym_gnu_asm_output_operand_list,
-  [60776] = 4,
+  [62410] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4378), 1,
+    ACTIONS(4555), 1,
       anon_sym_SEMI,
-    STATE(1570), 1,
+    STATE(1594), 1,
       aux_sym_declaration_repeat1,
-  [60789] = 4,
+  [62423] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4380), 1,
+    ACTIONS(3215), 1,
       anon_sym_COMMA,
-    ACTIONS(4382), 1,
+    ACTIONS(4557), 1,
       anon_sym_RPAREN,
-    STATE(1580), 1,
-      aux_sym_preproc_params_repeat1,
-  [60802] = 4,
+    STATE(1576), 1,
+      aux_sym_generic_expression_repeat1,
+  [62436] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4384), 1,
-      anon_sym_COMMA,
-    ACTIONS(4387), 1,
+    ACTIONS(1819), 1,
+      anon_sym_DOT_DOT_DOT,
+    ACTIONS(4559), 1,
+      sym_identifier,
+    STATE(1695), 1,
+      sym_variadic_parameter,
+  [62449] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4563), 1,
       anon_sym_RPAREN,
-    STATE(1565), 1,
-      aux_sym__old_style_parameter_list_repeat1,
-  [60815] = 4,
+    ACTIONS(4561), 2,
+      anon_sym_DOT_DOT_DOT,
+      sym_identifier,
+  [62460] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4362), 1,
+    ACTIONS(4541), 1,
       anon_sym_COMMA,
-    ACTIONS(4389), 1,
+    ACTIONS(4565), 1,
       anon_sym_RBRACK_RBRACK,
     STATE(1656), 1,
       aux_sym_attribute_declaration_repeat1,
-  [60828] = 3,
+  [62473] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4393), 1,
+    ACTIONS(4567), 3,
+      anon_sym_COMMA,
       anon_sym_RPAREN,
-    ACTIONS(4391), 2,
-      anon_sym_DOT_DOT_DOT,
-      sym_identifier,
-  [60839] = 4,
+      anon_sym_COLON,
+  [62482] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4395), 1,
+    ACTIONS(4569), 1,
       anon_sym_SEMI,
-    STATE(1578), 1,
+    STATE(1602), 1,
       aux_sym_declaration_repeat1,
-  [60852] = 4,
+  [62495] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4397), 1,
+    ACTIONS(4571), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [60865] = 4,
+  [62508] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4399), 1,
+    ACTIONS(4573), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [60878] = 4,
+  [62521] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
-      anon_sym_COMMA,
-    ACTIONS(4401), 1,
-      anon_sym_SEMI,
-    STATE(1592), 1,
-      aux_sym_declaration_repeat1,
-  [60891] = 2,
+    ACTIONS(4575), 3,
+      anon_sym_LBRACK,
+      anon_sym_EQ,
+      anon_sym_DOT,
+  [62530] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4403), 3,
+    ACTIONS(4541), 1,
       anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_COLON,
-  [60900] = 4,
+    ACTIONS(4577), 1,
+      anon_sym_RBRACK_RBRACK,
+    STATE(1657), 1,
+      aux_sym_attribute_declaration_repeat1,
+  [62543] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3161), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4405), 1,
-      anon_sym_RPAREN,
-    STATE(1660), 1,
-      aux_sym_argument_list_repeat1,
-  [60913] = 4,
+    ACTIONS(4579), 1,
+      anon_sym_SEMI,
+    STATE(1664), 1,
+      aux_sym_declaration_repeat1,
+  [62556] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(4407), 1,
-      anon_sym_SEMI,
-    STATE(1823), 1,
-      sym_attribute_specifier,
-  [60926] = 4,
+    ACTIONS(4581), 1,
+      anon_sym_RPAREN,
+    ACTIONS(4583), 1,
+      anon_sym_COLON,
+    STATE(1579), 1,
+      sym_gnu_asm_output_operand_list,
+  [62569] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3384), 1,
+    ACTIONS(4585), 3,
       anon_sym_COMMA,
-    ACTIONS(4409), 1,
       anon_sym_RPAREN,
-    STATE(1661), 1,
-      aux_sym_preproc_argument_list_repeat1,
-  [60939] = 4,
+      anon_sym_COLON,
+  [62578] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4411), 1,
+    ACTIONS(4587), 1,
       anon_sym_SEMI,
-    STATE(1582), 1,
+    STATE(1606), 1,
       aux_sym_declaration_repeat1,
-  [60952] = 4,
+  [62591] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4413), 1,
+    ACTIONS(4589), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [60965] = 4,
+  [62604] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4415), 1,
+    ACTIONS(4591), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [60978] = 4,
+  [62617] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3384), 1,
+    ACTIONS(4593), 1,
       anon_sym_COMMA,
-    ACTIONS(4417), 1,
+    ACTIONS(4595), 1,
       anon_sym_RPAREN,
-    STATE(1661), 1,
-      aux_sym_preproc_argument_list_repeat1,
-  [60991] = 4,
+    STATE(1607), 1,
+      aux_sym_parameter_list_repeat1,
+  [62630] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4380), 1,
+    ACTIONS(3452), 1,
       anon_sym_COMMA,
-    ACTIONS(4419), 1,
+    ACTIONS(4597), 1,
       anon_sym_RPAREN,
-    STATE(1662), 1,
-      aux_sym_preproc_params_repeat1,
-  [61004] = 2,
+    STATE(1672), 1,
+      aux_sym_preproc_argument_list_repeat1,
+  [62643] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4421), 3,
+    ACTIONS(4599), 3,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_COLON,
-  [61013] = 4,
+  [62652] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4423), 1,
+    ACTIONS(4601), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61026] = 4,
+  [62665] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4425), 1,
+    ACTIONS(4593), 1,
+      anon_sym_COMMA,
+    ACTIONS(4603), 1,
       anon_sym_RPAREN,
-    ACTIONS(4427), 1,
+    STATE(1676), 1,
+      aux_sym_parameter_list_repeat1,
+  [62678] = 4,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4583), 1,
       anon_sym_COLON,
-    STATE(1962), 1,
-      sym_gnu_asm_goto_list,
-  [61039] = 4,
+    ACTIONS(4605), 1,
+      anon_sym_RPAREN,
+    STATE(1616), 1,
+      sym_gnu_asm_output_operand_list,
+  [62691] = 4,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3267), 1,
+      anon_sym_RBRACE,
+    ACTIONS(4607), 1,
+      anon_sym_COMMA,
+    STATE(1609), 1,
+      aux_sym_initializer_list_repeat1,
+  [62704] = 4,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2501), 1,
+      anon_sym_LBRACE,
+    ACTIONS(4610), 1,
+      sym_identifier,
+    STATE(740), 1,
+      sym_field_declaration_list,
+  [62717] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2486), 1,
+    ACTIONS(2501), 1,
       anon_sym_LBRACE,
-    ACTIONS(4429), 1,
+    ACTIONS(4612), 1,
       sym_identifier,
-    STATE(725), 1,
+    STATE(737), 1,
       sym_field_declaration_list,
-  [61052] = 4,
+  [62730] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4362), 1,
+    ACTIONS(4614), 1,
       anon_sym_COMMA,
-    ACTIONS(4431), 1,
-      anon_sym_RBRACK_RBRACK,
-    STATE(1656), 1,
-      aux_sym_attribute_declaration_repeat1,
-  [61065] = 4,
-    ACTIONS(3366), 1,
+    ACTIONS(4616), 1,
+      anon_sym_RPAREN,
+    STATE(1668), 1,
+      aux_sym_gnu_asm_goto_list_repeat1,
+  [62743] = 4,
+    ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4341), 1,
+    ACTIONS(4111), 1,
+      anon_sym_COMMA,
+    ACTIONS(4618), 1,
+      anon_sym_SEMI,
+    STATE(1678), 1,
+      aux_sym_declaration_repeat1,
+  [62756] = 4,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(4530), 1,
       anon_sym_LPAREN2,
-    ACTIONS(4433), 1,
+    ACTIONS(4620), 1,
       aux_sym_preproc_include_token2,
-    STATE(1894), 1,
+    STATE(1802), 1,
       sym_preproc_argument_list,
-  [61078] = 4,
+  [62769] = 4,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4111), 1,
+      anon_sym_COMMA,
+    ACTIONS(4622), 1,
+      anon_sym_SEMI,
+    STATE(1678), 1,
+      aux_sym_declaration_repeat1,
+  [62782] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4376), 1,
+    ACTIONS(4534), 1,
       anon_sym_COLON,
-    ACTIONS(4435), 1,
+    ACTIONS(4624), 1,
       anon_sym_RPAREN,
-    STATE(1561), 1,
-      sym_gnu_asm_output_operand_list,
-  [61091] = 2,
+    STATE(1667), 1,
+      sym_gnu_asm_input_operand_list,
+  [62795] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4437), 3,
-      anon_sym_LBRACK,
-      anon_sym_EQ,
-      anon_sym_DOT,
-  [61100] = 4,
+    ACTIONS(3219), 1,
+      anon_sym_COMMA,
+    ACTIONS(4626), 1,
+      anon_sym_RPAREN,
+    STATE(1661), 1,
+      aux_sym_argument_list_repeat1,
+  [62808] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4439), 1,
+    ACTIONS(4628), 1,
       anon_sym_SEMI,
-    STATE(1595), 1,
+    STATE(1622), 1,
       aux_sym_declaration_repeat1,
-  [61113] = 4,
+  [62821] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(3452), 1,
       anon_sym_COMMA,
-    ACTIONS(4441), 1,
-      anon_sym_SEMI,
-    STATE(1635), 1,
-      aux_sym_declaration_repeat1,
-  [61126] = 4,
+    ACTIONS(4630), 1,
+      anon_sym_RPAREN,
+    STATE(1672), 1,
+      aux_sym_preproc_argument_list_repeat1,
+  [62834] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4443), 1,
+    ACTIONS(4632), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1625), 1,
       aux_sym_declaration_repeat1,
-  [61139] = 4,
+  [62847] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4445), 1,
+    ACTIONS(4634), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1615), 1,
       aux_sym_declaration_repeat1,
-  [61152] = 4,
+  [62860] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4447), 1,
+    ACTIONS(4636), 1,
       anon_sym_SEMI,
-    STATE(1600), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61165] = 4,
+  [62873] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4449), 1,
+    ACTIONS(4638), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1686), 1,
       aux_sym_declaration_repeat1,
-  [61178] = 4,
+  [62886] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4451), 1,
+    ACTIONS(4640), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61191] = 4,
+  [62899] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4453), 1,
+    ACTIONS(4642), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61204] = 4,
+  [62912] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3161), 1,
+    ACTIONS(3223), 1,
       anon_sym_COMMA,
-    ACTIONS(3163), 1,
-      anon_sym_RPAREN,
-    STATE(1637), 1,
-      aux_sym_argument_list_repeat1,
-  [61217] = 4,
+    ACTIONS(3225), 1,
+      anon_sym_RBRACE,
+    STATE(1670), 1,
+      aux_sym_initializer_list_repeat1,
+  [62925] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4455), 1,
+    ACTIONS(4644), 1,
       anon_sym_SEMI,
-    STATE(1604), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61230] = 4,
+  [62938] = 4,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4614), 1,
+      anon_sym_COMMA,
+    ACTIONS(4646), 1,
+      anon_sym_RPAREN,
+    STATE(1612), 1,
+      aux_sym_gnu_asm_goto_list_repeat1,
+  [62951] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4457), 1,
+    ACTIONS(4648), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1633), 1,
       aux_sym_declaration_repeat1,
-  [61243] = 4,
+  [62964] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4459), 1,
+    ACTIONS(4650), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61256] = 3,
+  [62977] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4461), 1,
+    ACTIONS(4652), 3,
+      anon_sym_LBRACK,
       anon_sym_EQ,
-    ACTIONS(3909), 2,
-      anon_sym_COMMA,
-      anon_sym_RBRACE,
-  [61267] = 4,
+      anon_sym_DOT,
+  [62986] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4463), 1,
+    ACTIONS(4654), 1,
       anon_sym_SEMI,
-    STATE(1552), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61280] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3223), 1,
-      anon_sym_RBRACE,
-    ACTIONS(4465), 1,
-      anon_sym_COMMA,
-    STATE(1603), 1,
-      aux_sym_initializer_list_repeat1,
-  [61293] = 4,
+  [62999] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4468), 1,
+    ACTIONS(4656), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61306] = 4,
+  [63012] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4470), 1,
+    ACTIONS(4658), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61319] = 4,
+  [63025] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4472), 1,
+    ACTIONS(4660), 1,
       anon_sym_SEMI,
-    STATE(1609), 1,
+    STATE(1639), 1,
       aux_sym_declaration_repeat1,
-  [61332] = 4,
+  [63038] = 4,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2501), 1,
+      anon_sym_LBRACE,
+    ACTIONS(4662), 1,
+      sym_identifier,
+    STATE(731), 1,
+      sym_field_declaration_list,
+  [63051] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4474), 1,
+    ACTIONS(4664), 1,
       anon_sym_SEMI,
-    STATE(1612), 1,
+    STATE(1642), 1,
       aux_sym_declaration_repeat1,
-  [61345] = 4,
+  [63064] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4476), 1,
+    ACTIONS(4666), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61358] = 4,
+  [63077] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4478), 1,
+    ACTIONS(4668), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61371] = 4,
+  [63090] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4480), 1,
+    ACTIONS(4670), 1,
       anon_sym_SEMI,
-    STATE(1613), 1,
+    STATE(1643), 1,
       aux_sym_declaration_repeat1,
-  [61384] = 4,
+  [63103] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4482), 1,
+    ACTIONS(4672), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61397] = 4,
+  [63116] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4484), 1,
+    ACTIONS(4674), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61410] = 4,
+  [63129] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4486), 1,
+    ACTIONS(4676), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61423] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2486), 1,
-      anon_sym_LBRACE,
-    ACTIONS(4488), 1,
-      sym_identifier,
-    STATE(733), 1,
-      sym_field_declaration_list,
-  [61436] = 4,
+  [63142] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4490), 1,
+    ACTIONS(4678), 1,
       anon_sym_SEMI,
-    STATE(1618), 1,
+    STATE(1647), 1,
       aux_sym_declaration_repeat1,
-  [61449] = 4,
+  [63155] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4492), 1,
+    ACTIONS(4680), 1,
       anon_sym_SEMI,
-    STATE(1621), 1,
+    STATE(1650), 1,
       aux_sym_declaration_repeat1,
-  [61462] = 4,
+  [63168] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4494), 1,
+    ACTIONS(4682), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61475] = 4,
+  [63181] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4496), 1,
+    ACTIONS(4684), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61488] = 4,
+  [63194] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4498), 1,
+    ACTIONS(4686), 1,
       anon_sym_SEMI,
-    STATE(1668), 1,
+    STATE(1651), 1,
       aux_sym_declaration_repeat1,
-  [61501] = 4,
+  [63207] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4500), 1,
+    ACTIONS(4688), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61514] = 4,
+  [63220] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4502), 1,
+    ACTIONS(4690), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61527] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4427), 1,
-      anon_sym_COLON,
-    ACTIONS(4504), 1,
-      anon_sym_RPAREN,
-    STATE(1847), 1,
-      sym_gnu_asm_goto_list,
-  [61540] = 4,
+  [63233] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4506), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4508), 1,
-      anon_sym_RPAREN,
-    STATE(1638), 1,
-      aux_sym_parameter_list_repeat1,
-  [61553] = 3,
-    ACTIONS(3366), 1,
+    ACTIONS(4692), 1,
+      anon_sym_SEMI,
+    STATE(1678), 1,
+      aux_sym_declaration_repeat1,
+  [63246] = 3,
+    ACTIONS(3515), 1,
       sym_comment,
-    STATE(1518), 1,
+    STATE(1553), 1,
       aux_sym_char_literal_repeat1,
-    ACTIONS(4510), 2,
+    ACTIONS(4694), 2,
       aux_sym_char_literal_token1,
       sym_escape_sequence,
-  [61564] = 4,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4341), 1,
-      anon_sym_LPAREN2,
-    ACTIONS(4512), 1,
-      aux_sym_preproc_include_token2,
-    STATE(1894), 1,
-      sym_preproc_argument_list,
-  [61577] = 2,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4514), 3,
-      anon_sym_LBRACK,
-      anon_sym_EQ,
-      anon_sym_DOT,
-  [61586] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3153), 1,
-      anon_sym_COMMA,
-    ACTIONS(4516), 1,
-      anon_sym_RPAREN,
-    STATE(1663), 1,
-      aux_sym_generic_expression_repeat1,
-  [61599] = 2,
+  [63257] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4518), 3,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_COLON,
-  [61608] = 2,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3151), 3,
-      anon_sym_RPAREN,
-      anon_sym_SEMI,
-      anon_sym_COLON,
-  [61617] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(4520), 1,
+    ACTIONS(4696), 1,
       anon_sym_SEMI,
-    STATE(1892), 1,
-      sym_attribute_specifier,
-  [61630] = 2,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4522), 3,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_COLON,
-  [61639] = 4,
+    STATE(1678), 1,
+      aux_sym_declaration_repeat1,
+  [63270] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2486), 1,
+    ACTIONS(2924), 1,
       anon_sym_LBRACE,
-    ACTIONS(4524), 1,
+    ACTIONS(4698), 1,
       sym_identifier,
-    STATE(729), 1,
-      sym_field_declaration_list,
-  [61652] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3940), 1,
-      anon_sym_COMMA,
-    ACTIONS(4526), 1,
-      anon_sym_SEMI,
-    STATE(1646), 1,
-      aux_sym_declaration_repeat1,
-  [61665] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3940), 1,
-      anon_sym_COMMA,
-    ACTIONS(4528), 1,
-      anon_sym_SEMI,
-    STATE(1557), 1,
-      aux_sym_declaration_repeat1,
-  [61678] = 4,
-    ACTIONS(3), 1,
+    STATE(1069), 1,
+      sym_enumerator_list,
+  [63283] = 4,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3940), 1,
-      anon_sym_COMMA,
     ACTIONS(4530), 1,
-      anon_sym_SEMI,
-    STATE(1557), 1,
-      aux_sym_declaration_repeat1,
-  [61691] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3448), 1,
-      anon_sym___attribute__,
-    ACTIONS(4532), 1,
-      anon_sym_SEMI,
-    STATE(1977), 1,
-      sym_attribute_specifier,
-  [61704] = 4,
+      anon_sym_LPAREN2,
+    ACTIONS(4700), 1,
+      aux_sym_preproc_include_token2,
+    STATE(1802), 1,
+      sym_preproc_argument_list,
+  [63296] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3161), 1,
+    ACTIONS(4702), 1,
       anon_sym_COMMA,
-    ACTIONS(4534), 1,
-      anon_sym_RPAREN,
-    STATE(1660), 1,
-      aux_sym_argument_list_repeat1,
-  [61717] = 4,
+    ACTIONS(4705), 1,
+      anon_sym_RBRACK_RBRACK,
+    STATE(1656), 1,
+      aux_sym_attribute_declaration_repeat1,
+  [63309] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4506), 1,
+    ACTIONS(4541), 1,
       anon_sym_COMMA,
-    ACTIONS(4536), 1,
-      anon_sym_RPAREN,
-    STATE(1658), 1,
-      aux_sym_parameter_list_repeat1,
-  [61730] = 4,
+    ACTIONS(4707), 1,
+      anon_sym_RBRACK_RBRACK,
+    STATE(1656), 1,
+      aux_sym_attribute_declaration_repeat1,
+  [63322] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3384), 1,
+    ACTIONS(3219), 1,
       anon_sym_COMMA,
-    ACTIONS(4538), 1,
-      anon_sym_RPAREN,
-    STATE(1661), 1,
-      aux_sym_preproc_argument_list_repeat1,
-  [61743] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4351), 1,
-      anon_sym_COLON,
-    ACTIONS(4540), 1,
-      anon_sym_RPAREN,
-    STATE(1622), 1,
-      sym_gnu_asm_clobber_list,
-  [61756] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4372), 1,
-      anon_sym_COLON,
-    ACTIONS(4542), 1,
+    ACTIONS(3227), 1,
       anon_sym_RPAREN,
-    STATE(1554), 1,
-      sym_gnu_asm_input_operand_list,
-  [61769] = 4,
+    STATE(1617), 1,
+      aux_sym_argument_list_repeat1,
+  [63335] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4544), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4546), 1,
-      anon_sym_RPAREN,
-    STATE(1667), 1,
-      aux_sym_gnu_asm_goto_list_repeat1,
-  [61782] = 4,
+    ACTIONS(4709), 1,
+      anon_sym_SEMI,
+    STATE(1663), 1,
+      aux_sym_declaration_repeat1,
+  [63348] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4548), 1,
+    ACTIONS(4711), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61795] = 4,
+  [63361] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(1810), 1,
-      anon_sym_DOT_DOT_DOT,
-    ACTIONS(4550), 1,
-      sym_identifier,
-    STATE(1670), 1,
-      sym_variadic_parameter,
-  [61808] = 4,
+    ACTIONS(3271), 1,
+      anon_sym_RPAREN,
+    ACTIONS(4713), 1,
+      anon_sym_COMMA,
+    STATE(1661), 1,
+      aux_sym_argument_list_repeat1,
+  [63374] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4552), 1,
+    ACTIONS(4541), 1,
       anon_sym_COMMA,
-    ACTIONS(4554), 1,
-      anon_sym_RPAREN,
-    STATE(1565), 1,
-      aux_sym__old_style_parameter_list_repeat1,
-  [61821] = 4,
+    ACTIONS(4716), 1,
+      anon_sym_RBRACK_RBRACK,
+    STATE(1583), 1,
+      aux_sym_attribute_declaration_repeat1,
+  [63387] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4556), 1,
+    ACTIONS(4718), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61834] = 4,
+  [63400] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4558), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4561), 1,
-      anon_sym_RPAREN,
-    STATE(1647), 1,
-      aux_sym_gnu_asm_goto_list_repeat1,
-  [61847] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3940), 1,
-      anon_sym_COMMA,
-    ACTIONS(4563), 1,
+    ACTIONS(4720), 1,
       anon_sym_SEMI,
-    STATE(1557), 1,
+    STATE(1678), 1,
       aux_sym_declaration_repeat1,
-  [61860] = 3,
-    ACTIONS(3366), 1,
+  [63413] = 3,
+    ACTIONS(3515), 1,
       sym_comment,
-    STATE(1531), 1,
+    STATE(1527), 1,
       aux_sym_char_literal_repeat1,
-    ACTIONS(4565), 2,
+    ACTIONS(4722), 2,
       aux_sym_char_literal_token1,
       sym_escape_sequence,
-  [61871] = 2,
+  [63424] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4567), 3,
+    ACTIONS(4724), 1,
       anon_sym_COMMA,
+    ACTIONS(4726), 1,
       anon_sym_RPAREN,
-      anon_sym_COLON,
-  [61880] = 4,
+    STATE(1580), 1,
+      aux_sym__old_style_parameter_list_repeat1,
+  [63437] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2886), 1,
-      anon_sym_LBRACE,
-    ACTIONS(4569), 1,
-      sym_identifier,
-    STATE(855), 1,
-      sym_enumerator_list,
-  [61893] = 4,
+    ACTIONS(4514), 1,
+      anon_sym_COLON,
+    ACTIONS(4728), 1,
+      anon_sym_RPAREN,
+    STATE(1683), 1,
+      sym_gnu_asm_clobber_list,
+  [63450] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3161), 1,
+    ACTIONS(4730), 1,
       anon_sym_COMMA,
-    ACTIONS(3167), 1,
+    ACTIONS(4733), 1,
       anon_sym_RPAREN,
-    STATE(1573), 1,
-      aux_sym_argument_list_repeat1,
-  [61906] = 3,
-    ACTIONS(3366), 1,
-      sym_comment,
-    STATE(1487), 1,
-      aux_sym_char_literal_repeat1,
-    ACTIONS(4571), 2,
-      aux_sym_char_literal_token1,
-      sym_escape_sequence,
-  [61917] = 4,
+    STATE(1668), 1,
+      aux_sym_gnu_asm_goto_list_repeat1,
+  [63463] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2886), 1,
-      anon_sym_LBRACE,
-    ACTIONS(4573), 1,
-      sym_identifier,
-    STATE(1079), 1,
-      sym_enumerator_list,
-  [61930] = 4,
+    ACTIONS(3219), 1,
+      anon_sym_COMMA,
+    ACTIONS(3221), 1,
+      anon_sym_RPAREN,
+    STATE(1572), 1,
+      aux_sym_argument_list_repeat1,
+  [63476] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3157), 1,
-      anon_sym_COMMA,
-    ACTIONS(3159), 1,
+    ACTIONS(2008), 1,
       anon_sym_RBRACE,
-    STATE(1551), 1,
+    ACTIONS(4735), 1,
+      anon_sym_COMMA,
+    STATE(1609), 1,
       aux_sym_initializer_list_repeat1,
-  [61943] = 4,
+  [63489] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4575), 1,
-      anon_sym_COMMA,
-    ACTIONS(4578), 1,
-      anon_sym_RBRACK_RBRACK,
-    STATE(1656), 1,
-      aux_sym_attribute_declaration_repeat1,
-  [61956] = 4,
+    ACTIONS(3207), 3,
+      anon_sym_RPAREN,
+      anon_sym_SEMI,
+      anon_sym_COLON,
+  [63498] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
+    ACTIONS(3553), 1,
+      anon_sym_RPAREN,
+    ACTIONS(4737), 1,
       anon_sym_COMMA,
-    ACTIONS(4580), 1,
-      anon_sym_SEMI,
-    STATE(1648), 1,
-      aux_sym_declaration_repeat1,
-  [61969] = 4,
+    STATE(1672), 1,
+      aux_sym_preproc_argument_list_repeat1,
+  [63511] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4582), 1,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-    ACTIONS(4585), 1,
-      anon_sym_RPAREN,
-    STATE(1658), 1,
-      aux_sym_parameter_list_repeat1,
-  [61982] = 2,
+    ACTIONS(4740), 1,
+      anon_sym_SEMI,
+    STATE(1653), 1,
+      aux_sym_declaration_repeat1,
+  [63524] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4587), 3,
+    ACTIONS(4742), 3,
       anon_sym_LBRACK,
       anon_sym_EQ,
       anon_sym_DOT,
-  [61991] = 4,
+  [63533] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3257), 1,
-      anon_sym_RPAREN,
-    ACTIONS(4589), 1,
-      anon_sym_COMMA,
-    STATE(1660), 1,
-      aux_sym_argument_list_repeat1,
-  [62004] = 4,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3523), 1,
-      anon_sym_RPAREN,
-    ACTIONS(4592), 1,
+    ACTIONS(4744), 1,
+      anon_sym_EQ,
+    ACTIONS(4050), 2,
       anon_sym_COMMA,
-    STATE(1661), 1,
-      aux_sym_preproc_argument_list_repeat1,
-  [62017] = 4,
+      anon_sym_RBRACE,
+  [63544] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4595), 1,
+    ACTIONS(4746), 1,
       anon_sym_COMMA,
-    ACTIONS(4598), 1,
+    ACTIONS(4749), 1,
       anon_sym_RPAREN,
-    STATE(1662), 1,
-      aux_sym_preproc_params_repeat1,
-  [62030] = 4,
+    STATE(1676), 1,
+      aux_sym_parameter_list_repeat1,
+  [63557] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4600), 1,
+    ACTIONS(4751), 3,
       anon_sym_COMMA,
-    ACTIONS(4603), 1,
       anon_sym_RPAREN,
-    STATE(1663), 1,
-      aux_sym_generic_expression_repeat1,
-  [62043] = 2,
+      anon_sym_COLON,
+  [63566] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4605), 3,
+    ACTIONS(4753), 1,
       anon_sym_COMMA,
-      anon_sym_RPAREN,
-      anon_sym_COLON,
-  [62052] = 2,
+    ACTIONS(4756), 1,
+      anon_sym_SEMI,
+    STATE(1678), 1,
+      aux_sym_declaration_repeat1,
+  [63579] = 3,
+    ACTIONS(3515), 1,
+      sym_comment,
+    STATE(1564), 1,
+      aux_sym_char_literal_repeat1,
+    ACTIONS(4758), 2,
+      aux_sym_char_literal_token1,
+      sym_escape_sequence,
+  [63590] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4607), 3,
+    ACTIONS(4760), 3,
       anon_sym_COMMA,
       anon_sym_RPAREN,
       anon_sym_COLON,
-  [62061] = 4,
+  [63599] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4362), 1,
-      anon_sym_COMMA,
-    ACTIONS(4609), 1,
-      anon_sym_RBRACK_RBRACK,
-    STATE(1656), 1,
-      aux_sym_attribute_declaration_repeat1,
-  [62074] = 4,
+    ACTIONS(2924), 1,
+      anon_sym_LBRACE,
+    ACTIONS(4762), 1,
+      sym_identifier,
+    STATE(853), 1,
+      sym_enumerator_list,
+  [63612] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4544), 1,
-      anon_sym_COMMA,
-    ACTIONS(4611), 1,
+    ACTIONS(4764), 1,
       anon_sym_RPAREN,
-    STATE(1647), 1,
-      aux_sym_gnu_asm_goto_list_repeat1,
-  [62087] = 4,
+    ACTIONS(4766), 1,
+      anon_sym_COLON,
+    STATE(1961), 1,
+      sym_gnu_asm_goto_list,
+  [63625] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3940), 1,
-      anon_sym_COMMA,
-    ACTIONS(4613), 1,
-      anon_sym_SEMI,
-    STATE(1557), 1,
-      aux_sym_declaration_repeat1,
-  [62100] = 3,
-    ACTIONS(3), 1,
+    ACTIONS(4766), 1,
+      anon_sym_COLON,
+    ACTIONS(4768), 1,
+      anon_sym_RPAREN,
+    STATE(1999), 1,
+      sym_gnu_asm_goto_list,
+  [63638] = 4,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4615), 1,
+    ACTIONS(4530), 1,
       anon_sym_LPAREN2,
-    STATE(1793), 1,
-      sym_parenthesized_expression,
-  [62110] = 2,
+    ACTIONS(4770), 1,
+      aux_sym_preproc_include_token2,
+    STATE(1802), 1,
+      sym_preproc_argument_list,
+  [63651] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4387), 2,
+    ACTIONS(4549), 1,
       anon_sym_COMMA,
+    ACTIONS(4772), 1,
       anon_sym_RPAREN,
-  [62118] = 2,
+    STATE(1584), 1,
+      aux_sym_preproc_params_repeat1,
+  [63664] = 4,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3223), 2,
+    ACTIONS(4111), 1,
       anon_sym_COMMA,
-      anon_sym_RBRACE,
-  [62126] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(131), 1,
-      anon_sym_LBRACE,
-    STATE(108), 1,
-      sym_compound_statement,
-  [62136] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(41), 1,
-      anon_sym_LBRACE,
-    STATE(1503), 1,
-      sym_compound_statement,
-  [62146] = 3,
+    ACTIONS(4774), 1,
+      anon_sym_SEMI,
+    STATE(1678), 1,
+      aux_sym_declaration_repeat1,
+  [63677] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(41), 1,
+    ACTIONS(506), 1,
       anon_sym_LBRACE,
-    STATE(172), 1,
+    STATE(204), 1,
       sym_compound_statement,
-  [62156] = 2,
+  [63687] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4617), 2,
+    ACTIONS(3267), 2,
       anon_sym_COMMA,
-      anon_sym_RPAREN,
-  [62164] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(41), 1,
-      anon_sym_LBRACE,
-    STATE(1493), 1,
-      sym_compound_statement,
-  [62174] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(41), 1,
-      anon_sym_LBRACE,
-    STATE(158), 1,
-      sym_compound_statement,
-  [62184] = 3,
+      anon_sym_RBRACE,
+  [63695] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(2450), 1,
+    ACTIONS(4776), 1,
       anon_sym_LPAREN2,
-    STATE(1922), 1,
-      sym_argument_list,
-  [62194] = 2,
-    ACTIONS(3), 1,
+    STATE(381), 1,
+      sym_parenthesized_expression,
+  [63705] = 3,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4620), 2,
-      anon_sym_COMMA,
-      anon_sym_RBRACK_RBRACK,
-  [62202] = 2,
+    ACTIONS(4778), 1,
+      aux_sym_preproc_include_token2,
+    ACTIONS(4780), 1,
+      sym_preproc_arg,
+  [63715] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4622), 2,
+    ACTIONS(3269), 2,
       anon_sym_COMMA,
-      anon_sym_RBRACK_RBRACK,
-  [62210] = 2,
-    ACTIONS(3), 1,
+      anon_sym_RBRACE,
+  [63723] = 3,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4624), 2,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-  [62218] = 3,
+    ACTIONS(4782), 1,
+      aux_sym_preproc_include_token2,
+    ACTIONS(4784), 1,
+      sym_preproc_arg,
+  [63733] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4615), 1,
+    ACTIONS(4786), 1,
       anon_sym_LPAREN2,
-    STATE(1856), 1,
+    STATE(1759), 1,
       sym_parenthesized_expression,
-  [62228] = 3,
+  [63743] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(376), 1,
-      anon_sym_LBRACE,
-    STATE(166), 1,
-      sym_compound_statement,
-  [62238] = 3,
+    ACTIONS(4788), 1,
+      sym_identifier,
+    STATE(1596), 1,
+      sym_attribute,
+  [63753] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4626), 1,
-      sym_identifier,
-    ACTIONS(4628), 1,
+    ACTIONS(4539), 2,
+      anon_sym_COMMA,
       anon_sym_RPAREN,
-  [62248] = 3,
+  [63761] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4790), 1,
+      anon_sym_COMMA,
+    ACTIONS(4792), 1,
+      anon_sym_RBRACE,
+  [63771] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(376), 1,
+    ACTIONS(43), 1,
       anon_sym_LBRACE,
-    STATE(183), 1,
+    STATE(1544), 1,
       sym_compound_statement,
-  [62258] = 3,
+  [63781] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(131), 1,
+    ACTIONS(506), 1,
       anon_sym_LBRACE,
-    STATE(116), 1,
+    STATE(190), 1,
       sym_compound_statement,
-  [62268] = 3,
-    ACTIONS(3366), 1,
+  [63791] = 3,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4630), 1,
+    ACTIONS(4794), 1,
       aux_sym_preproc_include_token2,
-    ACTIONS(4632), 1,
+    ACTIONS(4796), 1,
       sym_preproc_arg,
-  [62278] = 3,
-    ACTIONS(3366), 1,
+  [63801] = 3,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4634), 1,
+    ACTIONS(4798), 1,
       aux_sym_preproc_include_token2,
-    ACTIONS(4636), 1,
+    ACTIONS(4800), 1,
       sym_preproc_arg,
-  [62288] = 3,
+  [63811] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(43), 1,
+      anon_sym_LBRACE,
+    STATE(176), 1,
+      sym_compound_statement,
+  [63821] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4615), 1,
+    ACTIONS(4776), 1,
       anon_sym_LPAREN2,
-    STATE(1695), 1,
+    STATE(355), 1,
       sym_parenthesized_expression,
-  [62298] = 2,
+  [63831] = 3,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(4802), 1,
+      aux_sym_preproc_include_token2,
+    ACTIONS(4804), 1,
+      sym_preproc_arg,
+  [63841] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3231), 2,
-      anon_sym_COMMA,
-      anon_sym_RBRACE,
-  [62306] = 2,
+    ACTIONS(133), 1,
+      anon_sym_LBRACE,
+    STATE(81), 1,
+      sym_compound_statement,
+  [63851] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4638), 2,
-      anon_sym_COMMA,
-      anon_sym_SEMI,
-  [62314] = 3,
-    ACTIONS(3366), 1,
+    ACTIONS(133), 1,
+      anon_sym_LBRACE,
+    STATE(104), 1,
+      sym_compound_statement,
+  [63861] = 3,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4640), 1,
+    ACTIONS(4806), 1,
       aux_sym_preproc_include_token2,
-    ACTIONS(4642), 1,
+    ACTIONS(4808), 1,
       sym_preproc_arg,
-  [62324] = 3,
-    ACTIONS(3366), 1,
+  [63871] = 3,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4644), 1,
+    ACTIONS(4810), 1,
       aux_sym_preproc_include_token2,
-    ACTIONS(4646), 1,
+    ACTIONS(4812), 1,
       sym_preproc_arg,
-  [62334] = 3,
-    ACTIONS(3), 1,
+  [63881] = 3,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4648), 1,
-      sym_identifier,
-    STATE(1723), 1,
-      sym_attribute,
-  [62344] = 3,
+    ACTIONS(4814), 1,
+      aux_sym_preproc_include_token2,
+    ACTIONS(4816), 1,
+      sym_preproc_arg,
+  [63891] = 3,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(4818), 1,
+      aux_sym_preproc_include_token2,
+    ACTIONS(4820), 1,
+      sym_preproc_arg,
+  [63901] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(41), 1,
+    ACTIONS(506), 1,
       anon_sym_LBRACE,
-    STATE(166), 1,
+    STATE(209), 1,
       sym_compound_statement,
-  [62354] = 3,
-    ACTIONS(3), 1,
+  [63911] = 3,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4650), 1,
-      anon_sym_LPAREN2,
-    STATE(334), 1,
-      sym_parenthesized_expression,
-  [62364] = 3,
-    ACTIONS(3366), 1,
+    ACTIONS(4822), 1,
+      aux_sym_preproc_include_token2,
+    ACTIONS(4824), 1,
+      sym_preproc_arg,
+  [63921] = 3,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4652), 1,
+    ACTIONS(4826), 1,
       aux_sym_preproc_include_token2,
-    ACTIONS(4654), 1,
+    ACTIONS(4828), 1,
       sym_preproc_arg,
-  [62374] = 2,
+  [63931] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3219), 2,
+    ACTIONS(3271), 2,
       anon_sym_COMMA,
-      anon_sym_SEMI,
-  [62382] = 3,
+      anon_sym_RPAREN,
+  [63939] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4656), 1,
-      sym_identifier,
-    ACTIONS(4658), 1,
+    ACTIONS(3229), 2,
+      anon_sym_COMMA,
+      anon_sym_RBRACE,
+  [63947] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(2457), 1,
       anon_sym_LPAREN2,
-  [62392] = 3,
+    STATE(1849), 1,
+      sym_argument_list,
+  [63957] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(502), 1,
-      anon_sym_LBRACE,
-    STATE(225), 1,
-      sym_compound_statement,
-  [62402] = 3,
-    ACTIONS(3366), 1,
+    ACTIONS(4786), 1,
+      anon_sym_LPAREN2,
+    STATE(1959), 1,
+      sym_parenthesized_expression,
+  [63967] = 3,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4660), 1,
+    ACTIONS(4830), 1,
       aux_sym_preproc_include_token2,
-    ACTIONS(4662), 1,
+    ACTIONS(4832), 1,
+      sym_preproc_arg,
+  [63977] = 3,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(4834), 1,
+      aux_sym_preproc_include_token2,
+    ACTIONS(4836), 1,
       sym_preproc_arg,
-  [62412] = 3,
+  [63987] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(502), 1,
-      anon_sym_LBRACE,
-    STATE(213), 1,
-      sym_compound_statement,
-  [62422] = 3,
+    ACTIONS(4788), 1,
+      sym_identifier,
+    STATE(1662), 1,
+      sym_attribute,
+  [63997] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4650), 1,
+    ACTIONS(4776), 1,
       anon_sym_LPAREN2,
-    STATE(322), 1,
+    STATE(350), 1,
       sym_parenthesized_expression,
-  [62432] = 2,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4664), 2,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-  [62440] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4648), 1,
-      sym_identifier,
-    STATE(1559), 1,
-      sym_attribute,
-  [62450] = 3,
+  [64007] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4650), 1,
+    ACTIONS(4786), 1,
       anon_sym_LPAREN2,
-    STATE(341), 1,
+    STATE(1749), 1,
       sym_parenthesized_expression,
-  [62460] = 3,
+  [64017] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4615), 1,
+    ACTIONS(4776), 1,
       anon_sym_LPAREN2,
-    STATE(1713), 1,
+    STATE(351), 1,
       sym_parenthesized_expression,
-  [62470] = 3,
+  [64027] = 3,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(4838), 1,
+      aux_sym_preproc_include_token2,
+    ACTIONS(4840), 1,
+      sym_preproc_arg,
+  [64037] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4650), 1,
+    ACTIONS(4776), 1,
       anon_sym_LPAREN2,
-    STATE(342), 1,
+    STATE(368), 1,
       sym_parenthesized_expression,
-  [62480] = 3,
+  [64047] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(502), 1,
+    ACTIONS(43), 1,
       anon_sym_LBRACE,
-    STATE(230), 1,
+    STATE(1546), 1,
       sym_compound_statement,
-  [62490] = 3,
+  [64057] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(41), 1,
-      anon_sym_LBRACE,
-    STATE(1491), 1,
-      sym_compound_statement,
-  [62500] = 3,
+    ACTIONS(4776), 1,
+      anon_sym_LPAREN2,
+    STATE(372), 1,
+      sym_parenthesized_expression,
+  [64067] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(41), 1,
-      anon_sym_LBRACE,
-    STATE(212), 1,
-      sym_compound_statement,
-  [62510] = 3,
-    ACTIONS(3366), 1,
+    ACTIONS(4842), 2,
+      anon_sym_COMMA,
+      anon_sym_RBRACK_RBRACK,
+  [64075] = 3,
+    ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4666), 1,
-      aux_sym_preproc_include_token2,
-    ACTIONS(4668), 1,
-      sym_preproc_arg,
-  [62520] = 3,
+    ACTIONS(4788), 1,
+      sym_identifier,
+    STATE(1730), 1,
+      sym_attribute,
+  [64085] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(131), 1,
-      anon_sym_LBRACE,
-    STATE(93), 1,
-      sym_compound_statement,
-  [62530] = 3,
-    ACTIONS(3366), 1,
+    ACTIONS(3265), 2,
+      anon_sym_COMMA,
+      anon_sym_SEMI,
+  [64093] = 2,
+    ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4670), 1,
-      aux_sym_preproc_include_token2,
-    ACTIONS(4672), 1,
-      sym_preproc_arg,
-  [62540] = 3,
-    ACTIONS(3366), 1,
+    ACTIONS(4705), 2,
+      anon_sym_COMMA,
+      anon_sym_RBRACK_RBRACK,
+  [64101] = 3,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4674), 1,
+    ACTIONS(4844), 1,
       aux_sym_preproc_include_token2,
-    ACTIONS(4676), 1,
+    ACTIONS(4846), 1,
       sym_preproc_arg,
-  [62550] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4650), 1,
-      anon_sym_LPAREN2,
-    STATE(326), 1,
-      sym_parenthesized_expression,
-  [62560] = 3,
+  [64111] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4615), 1,
-      anon_sym_LPAREN2,
-    STATE(1865), 1,
-      sym_parenthesized_expression,
-  [62570] = 2,
+    ACTIONS(378), 1,
+      anon_sym_LBRACE,
+    STATE(176), 1,
+      sym_compound_statement,
+  [64121] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4585), 2,
+    ACTIONS(4848), 2,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-  [62578] = 3,
+  [64129] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4615), 1,
+    ACTIONS(4850), 1,
+      sym_identifier,
+    ACTIONS(4852), 1,
       anon_sym_LPAREN2,
-    STATE(1677), 1,
-      sym_parenthesized_expression,
-  [62588] = 3,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4678), 1,
-      aux_sym_preproc_include_token2,
-    ACTIONS(4680), 1,
-      sym_preproc_arg,
-  [62598] = 3,
+  [64139] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4650), 1,
+    ACTIONS(4786), 1,
       anon_sym_LPAREN2,
-    STATE(320), 1,
+    STATE(1930), 1,
       sym_parenthesized_expression,
-  [62608] = 3,
+  [64149] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4615), 1,
+    ACTIONS(4776), 1,
       anon_sym_LPAREN2,
-    STATE(1702), 1,
+    STATE(334), 1,
       sym_parenthesized_expression,
-  [62618] = 2,
+  [64159] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4578), 2,
-      anon_sym_COMMA,
-      anon_sym_RBRACK_RBRACK,
-  [62626] = 3,
+    ACTIONS(4786), 1,
+      anon_sym_LPAREN2,
+    STATE(1732), 1,
+      sym_parenthesized_expression,
+  [64169] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4650), 1,
+    ACTIONS(4786), 1,
       anon_sym_LPAREN2,
-    STATE(352), 1,
+    STATE(1701), 1,
       sym_parenthesized_expression,
-  [62636] = 3,
+  [64179] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(41), 1,
+    ACTIONS(378), 1,
       anon_sym_LBRACE,
-    STATE(1510), 1,
+    STATE(207), 1,
       sym_compound_statement,
-  [62646] = 2,
+  [64189] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4099), 2,
+    ACTIONS(4264), 2,
       anon_sym_COMMA,
       anon_sym_SEMI,
-  [62654] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4650), 1,
-      anon_sym_LPAREN2,
-    STATE(330), 1,
-      sym_parenthesized_expression,
-  [62664] = 3,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4682), 1,
-      aux_sym_preproc_include_token2,
-    ACTIONS(4684), 1,
-      sym_preproc_arg,
-  [62674] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(2450), 1,
-      anon_sym_LPAREN2,
-    STATE(1994), 1,
-      sym_argument_list,
-  [62684] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4615), 1,
-      anon_sym_LPAREN2,
-    STATE(1996), 1,
-      sym_parenthesized_expression,
-  [62694] = 3,
+  [64197] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(41), 1,
+    ACTIONS(43), 1,
       anon_sym_LBRACE,
-    STATE(222), 1,
+    STATE(239), 1,
       sym_compound_statement,
-  [62704] = 3,
+  [64207] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4615), 1,
+    ACTIONS(4776), 1,
       anon_sym_LPAREN2,
-    STATE(1686), 1,
+    STATE(328), 1,
       sym_parenthesized_expression,
-  [62714] = 2,
+  [64217] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4686), 2,
-      anon_sym_DOT_DOT_DOT,
+    ACTIONS(4749), 2,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+  [64225] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4788), 1,
       sym_identifier,
-  [62722] = 3,
+    STATE(1581), 1,
+      sym_attribute,
+  [64235] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4615), 1,
+    ACTIONS(4776), 1,
       anon_sym_LPAREN2,
-    STATE(1709), 1,
+    STATE(363), 1,
       sym_parenthesized_expression,
-  [62732] = 3,
+  [64245] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4615), 1,
+    ACTIONS(4786), 1,
       anon_sym_LPAREN2,
-    STATE(1683), 1,
+    STATE(1757), 1,
       sym_parenthesized_expression,
-  [62742] = 2,
+  [64255] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3213), 2,
-      anon_sym_COMMA,
-      anon_sym_RBRACE,
-  [62750] = 2,
+    ACTIONS(4776), 1,
+      anon_sym_LPAREN2,
+    STATE(364), 1,
+      sym_parenthesized_expression,
+  [64265] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3257), 2,
+    ACTIONS(4854), 2,
       anon_sym_COMMA,
       anon_sym_RPAREN,
-  [62758] = 3,
+  [64273] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(376), 1,
+    ACTIONS(378), 1,
       anon_sym_LBRACE,
-    STATE(172), 1,
+    STATE(173), 1,
       sym_compound_statement,
-  [62768] = 3,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4688), 1,
-      aux_sym_preproc_include_token2,
-    ACTIONS(4690), 1,
-      sym_preproc_arg,
-  [62778] = 3,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4650), 1,
-      anon_sym_LPAREN2,
-    STATE(333), 1,
-      sym_parenthesized_expression,
-  [62788] = 3,
+  [64283] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(41), 1,
+    ACTIONS(43), 1,
       anon_sym_LBRACE,
-    STATE(1542), 1,
+    STATE(1548), 1,
       sym_compound_statement,
-  [62798] = 3,
+  [64293] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4857), 1,
+      sym_identifier,
+    ACTIONS(4859), 1,
+      anon_sym_LPAREN2,
+  [64303] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4615), 1,
+    ACTIONS(4786), 1,
       anon_sym_LPAREN2,
-    STATE(1731), 1,
+    STATE(1944), 1,
       sym_parenthesized_expression,
-  [62808] = 3,
+  [64313] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4692), 1,
-      sym_identifier,
-    ACTIONS(4694), 1,
+    ACTIONS(4786), 1,
       anon_sym_LPAREN2,
-  [62818] = 2,
+    STATE(1767), 1,
+      sym_parenthesized_expression,
+  [64323] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4598), 2,
-      anon_sym_COMMA,
-      anon_sym_RPAREN,
-  [62826] = 3,
-    ACTIONS(3366), 1,
+    ACTIONS(4786), 1,
+      anon_sym_LPAREN2,
+    STATE(1698), 1,
+      sym_parenthesized_expression,
+  [64333] = 3,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4696), 1,
+    ACTIONS(4861), 1,
       aux_sym_preproc_include_token2,
-    ACTIONS(4698), 1,
+    ACTIONS(4863), 1,
       sym_preproc_arg,
-  [62836] = 3,
+  [64343] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3690), 1,
-      anon_sym_RBRACE,
-    ACTIONS(4700), 1,
-      anon_sym_COMMA,
-  [62846] = 3,
+    ACTIONS(4865), 2,
+      anon_sym_DOT_DOT_DOT,
+      sym_identifier,
+  [64351] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4700), 1,
-      anon_sym_COMMA,
-    ACTIONS(4702), 1,
-      anon_sym_RBRACE,
-  [62856] = 3,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4704), 1,
-      aux_sym_preproc_include_token2,
-    ACTIONS(4706), 1,
-      sym_preproc_arg,
-  [62866] = 2,
+    ACTIONS(133), 1,
+      anon_sym_LBRACE,
+    STATE(116), 1,
+      sym_compound_statement,
+  [64361] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4075), 2,
-      anon_sym_COMMA,
-      anon_sym_SEMI,
-  [62874] = 3,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4708), 1,
-      aux_sym_preproc_include_token2,
-    ACTIONS(4710), 1,
-      sym_preproc_arg,
-  [62884] = 3,
-    ACTIONS(3366), 1,
+    ACTIONS(43), 1,
+      anon_sym_LBRACE,
+    STATE(1539), 1,
+      sym_compound_statement,
+  [64371] = 3,
+    ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4712), 1,
-      aux_sym_preproc_include_token2,
-    ACTIONS(4714), 1,
-      sym_preproc_arg,
-  [62894] = 3,
+    ACTIONS(43), 1,
+      anon_sym_LBRACE,
+    STATE(220), 1,
+      sym_compound_statement,
+  [64381] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4648), 1,
-      sym_identifier,
-    STATE(1558), 1,
-      sym_attribute,
-  [62904] = 3,
+    ACTIONS(4786), 1,
+      anon_sym_LPAREN2,
+    STATE(1990), 1,
+      sym_parenthesized_expression,
+  [64391] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4648), 1,
-      sym_identifier,
-    STATE(1560), 1,
-      sym_attribute,
-  [62914] = 3,
+    ACTIONS(4867), 2,
+      anon_sym_COMMA,
+      anon_sym_RPAREN,
+  [64399] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4650), 1,
+    ACTIONS(4786), 1,
       anon_sym_LPAREN2,
-    STATE(325), 1,
+    STATE(1705), 1,
       sym_parenthesized_expression,
-  [62924] = 3,
+  [64409] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4615), 1,
+    ACTIONS(4786), 1,
       anon_sym_LPAREN2,
-    STATE(1685), 1,
+    STATE(1710), 1,
       sym_parenthesized_expression,
-  [62934] = 3,
-    ACTIONS(3366), 1,
+  [64419] = 3,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4716), 1,
+    ACTIONS(4869), 1,
       aux_sym_preproc_include_token2,
-    ACTIONS(4718), 1,
+    ACTIONS(4871), 1,
       sym_preproc_arg,
-  [62944] = 2,
+  [64429] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(43), 1,
+      anon_sym_LBRACE,
+    STATE(207), 1,
+      sym_compound_statement,
+  [64439] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(43), 1,
+      anon_sym_LBRACE,
+    STATE(1542), 1,
+      sym_compound_statement,
+  [64449] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4720), 1,
-      anon_sym_while,
-  [62951] = 2,
+    ACTIONS(43), 1,
+      anon_sym_LBRACE,
+    STATE(155), 1,
+      sym_compound_statement,
+  [64459] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4722), 1,
-      anon_sym_SEMI,
-  [62958] = 2,
+    ACTIONS(3819), 1,
+      anon_sym_RBRACE,
+    ACTIONS(4790), 1,
+      anon_sym_COMMA,
+  [64469] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4724), 1,
+    ACTIONS(4526), 2,
+      anon_sym_COMMA,
       anon_sym_RPAREN,
-  [62965] = 2,
+  [64477] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4726), 1,
-      aux_sym_preproc_if_token2,
-  [62972] = 2,
+    ACTIONS(4873), 2,
+      anon_sym_COMMA,
+      anon_sym_SEMI,
+  [64485] = 3,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4875), 1,
+      sym_identifier,
+    ACTIONS(4877), 1,
+      anon_sym_RPAREN,
+  [64495] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3201), 1,
+    ACTIONS(4222), 2,
+      anon_sym_COMMA,
       anon_sym_SEMI,
-  [62979] = 2,
+  [64503] = 3,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4728), 1,
-      anon_sym_RBRACE,
-  [62986] = 2,
+    ACTIONS(2457), 1,
+      anon_sym_LPAREN2,
+    STATE(1841), 1,
+      sym_argument_list,
+  [64513] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4730), 1,
-      anon_sym_SEMI,
-  [62993] = 2,
+    ACTIONS(4879), 2,
+      anon_sym_COMMA,
+      anon_sym_RBRACK_RBRACK,
+  [64521] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4732), 1,
+    ACTIONS(4881), 1,
       aux_sym_preproc_if_token2,
-  [63000] = 2,
+  [64528] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4734), 1,
-      anon_sym_LPAREN2,
-  [63007] = 2,
+    ACTIONS(4883), 1,
+      aux_sym_preproc_if_token2,
+  [64535] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4736), 1,
-      anon_sym_COLON,
-  [63014] = 2,
+    ACTIONS(4885), 1,
+      aux_sym_preproc_if_token2,
+  [64542] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4738), 1,
+    ACTIONS(4887), 1,
       anon_sym_LPAREN2,
-  [63021] = 2,
+  [64549] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3209), 1,
-      anon_sym_COLON,
-  [63028] = 2,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4740), 1,
-      aux_sym_preproc_include_token2,
-  [63035] = 2,
+    ACTIONS(4889), 1,
+      aux_sym_preproc_if_token2,
+  [64556] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4508), 1,
-      anon_sym_RPAREN,
-  [63042] = 2,
+    ACTIONS(4891), 1,
+      anon_sym_COLON,
+  [64563] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4742), 1,
-      anon_sym_SEMI,
-  [63049] = 2,
+    ACTIONS(4893), 1,
+      anon_sym_RBRACE,
+  [64570] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4744), 1,
-      anon_sym_RPAREN,
-  [63056] = 2,
-    ACTIONS(3366), 1,
+    ACTIONS(4895), 1,
+      aux_sym_preproc_if_token2,
+  [64577] = 2,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4746), 1,
+    ACTIONS(4897), 1,
       aux_sym_preproc_include_token2,
-  [63063] = 2,
-    ACTIONS(3366), 1,
+  [64584] = 2,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4748), 1,
+    ACTIONS(4899), 1,
       aux_sym_preproc_include_token2,
-  [63070] = 2,
+  [64591] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4750), 1,
-      anon_sym_RPAREN,
-  [63077] = 2,
-    ACTIONS(3), 1,
+    ACTIONS(4901), 1,
+      sym_identifier,
+  [64598] = 2,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4752), 1,
-      aux_sym_preproc_if_token2,
-  [63084] = 2,
-    ACTIONS(3), 1,
+    ACTIONS(4903), 1,
+      aux_sym_preproc_include_token2,
+  [64605] = 2,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4754), 1,
-      anon_sym_RBRACK,
-  [63091] = 2,
+    ACTIONS(4905), 1,
+      aux_sym_preproc_include_token2,
+  [64612] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4756), 1,
+    ACTIONS(4907), 1,
       aux_sym_preproc_if_token2,
-  [63098] = 2,
+  [64619] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4758), 1,
+    ACTIONS(4909), 1,
       anon_sym_RPAREN,
-  [63105] = 2,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4760), 1,
-      aux_sym_preproc_include_token2,
-  [63112] = 2,
+  [64626] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4762), 1,
-      sym_identifier,
-  [63119] = 2,
+    ACTIONS(4911), 1,
+      anon_sym_RPAREN,
+  [64633] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4764), 1,
-      sym_identifier,
-  [63126] = 2,
-    ACTIONS(2255), 1,
-      aux_sym_preproc_include_token2,
-    ACTIONS(3366), 1,
-      sym_comment,
-  [63133] = 2,
+    ACTIONS(4913), 1,
+      anon_sym_SEMI,
+  [64640] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4766), 1,
-      anon_sym_SEMI,
-  [63140] = 2,
+    ACTIONS(4915), 1,
+      aux_sym_preproc_if_token2,
+  [64647] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4700), 1,
-      anon_sym_COMMA,
-  [63147] = 2,
+    ACTIONS(4917), 1,
+      aux_sym_preproc_if_token2,
+  [64654] = 2,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(4919), 1,
+      aux_sym_preproc_include_token2,
+  [64661] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4768), 1,
+    ACTIONS(3277), 1,
       anon_sym_SEMI,
-  [63154] = 2,
+  [64668] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3263), 1,
+    ACTIONS(4921), 1,
       anon_sym_RPAREN,
-  [63161] = 2,
+  [64675] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4770), 1,
-      anon_sym_STAR,
-  [63168] = 2,
-    ACTIONS(3366), 1,
+    ACTIONS(4923), 1,
+      aux_sym_preproc_if_token2,
+  [64682] = 2,
+    ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4772), 1,
-      aux_sym_preproc_include_token2,
-  [63175] = 2,
-    ACTIONS(3139), 1,
+    ACTIONS(4925), 1,
+      anon_sym_COLON,
+  [64689] = 2,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4927), 1,
+      sym_identifier,
+  [64696] = 2,
+    ACTIONS(3193), 1,
       aux_sym_preproc_include_token2,
-    ACTIONS(3366), 1,
+    ACTIONS(3515), 1,
       sym_comment,
-  [63182] = 2,
+  [64703] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3241), 1,
+    ACTIONS(4929), 1,
       anon_sym_SEMI,
-  [63189] = 2,
-    ACTIONS(3366), 1,
+  [64710] = 2,
+    ACTIONS(3203), 1,
+      aux_sym_preproc_include_token2,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4774), 1,
+  [64717] = 2,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(4931), 1,
       aux_sym_preproc_include_token2,
-  [63196] = 2,
+  [64724] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4776), 1,
-      anon_sym_SEMI,
-  [63203] = 2,
+    ACTIONS(4933), 1,
+      aux_sym_preproc_if_token2,
+  [64731] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4778), 1,
-      anon_sym_RBRACE,
-  [63210] = 2,
-    ACTIONS(3), 1,
+    ACTIONS(4935), 1,
+      aux_sym_preproc_if_token2,
+  [64738] = 2,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4780), 1,
-      sym_identifier,
-  [63217] = 2,
-    ACTIONS(3143), 1,
+    ACTIONS(4937), 1,
       aux_sym_preproc_include_token2,
-    ACTIONS(3366), 1,
-      sym_comment,
-  [63224] = 2,
+  [64745] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3205), 1,
+    ACTIONS(4939), 1,
       anon_sym_SEMI,
-  [63231] = 2,
-    ACTIONS(3366), 1,
+  [64752] = 2,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4782), 1,
+    ACTIONS(4941), 1,
       aux_sym_preproc_include_token2,
-  [63238] = 2,
+  [64759] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4784), 1,
-      anon_sym_SEMI,
-  [63245] = 2,
+    ACTIONS(4943), 1,
+      anon_sym_COLON,
+  [64766] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3235), 1,
-      anon_sym_COLON,
-  [63252] = 2,
+    ACTIONS(4945), 1,
+      anon_sym_STAR,
+  [64773] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4786), 1,
-      sym_identifier,
-  [63259] = 2,
+    ACTIONS(4947), 1,
+      anon_sym_RPAREN,
+  [64780] = 2,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(4949), 1,
+      aux_sym_preproc_include_token2,
+  [64787] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4788), 1,
-      sym_primitive_type,
-  [63266] = 2,
+    ACTIONS(4951), 1,
+      aux_sym_preproc_if_token2,
+  [64794] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4790), 1,
+    ACTIONS(4953), 1,
+      anon_sym_SEMI,
+  [64801] = 2,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4955), 1,
       anon_sym_RPAREN,
-  [63273] = 2,
+  [64808] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3261), 1,
-      anon_sym_COLON,
-  [63280] = 2,
-    ACTIONS(3366), 1,
+    ACTIONS(4957), 1,
+      anon_sym_RPAREN,
+  [64815] = 2,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4792), 1,
+    ACTIONS(4620), 1,
       aux_sym_preproc_include_token2,
-  [63287] = 2,
-    ACTIONS(3366), 1,
+  [64822] = 2,
+    ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4794), 1,
+    ACTIONS(4959), 1,
+      aux_sym_preproc_if_token2,
+  [64829] = 2,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(4961), 1,
+      aux_sym_preproc_include_token2,
+  [64836] = 2,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(4963), 1,
       aux_sym_preproc_include_token2,
-  [63294] = 2,
+  [64843] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4796), 1,
-      aux_sym_preproc_if_token2,
-  [63301] = 2,
-    ACTIONS(3366), 1,
+    ACTIONS(4965), 1,
+      sym_identifier,
+  [64850] = 2,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4798), 1,
+    ACTIONS(4967), 1,
       aux_sym_preproc_include_token2,
-  [63308] = 2,
+  [64857] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3233), 1,
+    ACTIONS(4969), 1,
       anon_sym_RPAREN,
-  [63315] = 2,
+  [64864] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4800), 1,
+    ACTIONS(4971), 1,
       sym_identifier,
-  [63322] = 2,
+  [64871] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4802), 1,
+    ACTIONS(4973), 1,
       sym_identifier,
-  [63329] = 2,
+  [64878] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4007), 1,
-      anon_sym_COMMA,
-  [63336] = 2,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4804), 1,
-      aux_sym_preproc_include_token2,
-  [63343] = 2,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4339), 1,
-      aux_sym_preproc_include_token2,
-  [63350] = 2,
-    ACTIONS(2293), 1,
+    ACTIONS(3295), 1,
+      anon_sym_RPAREN,
+  [64885] = 2,
+    ACTIONS(2276), 1,
       aux_sym_preproc_include_token2,
-    ACTIONS(3366), 1,
+    ACTIONS(3515), 1,
       sym_comment,
-  [63357] = 2,
+  [64892] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4806), 1,
-      sym_identifier,
-  [63364] = 2,
+    ACTIONS(4975), 1,
+      anon_sym_COMMA,
+  [64899] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4808), 1,
-      anon_sym_RPAREN,
-  [63371] = 2,
+    ACTIONS(4977), 1,
+      aux_sym_preproc_if_token2,
+  [64906] = 2,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(4979), 1,
+      aux_sym_preproc_include_token2,
+  [64913] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4810), 1,
+    ACTIONS(4981), 1,
       aux_sym_preproc_if_token2,
-  [63378] = 2,
+  [64920] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4812), 1,
-      sym_identifier,
-  [63385] = 2,
+    ACTIONS(4983), 1,
+      anon_sym_RPAREN,
+  [64927] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4814), 1,
+    ACTIONS(4985), 1,
       sym_identifier,
-  [63392] = 2,
+  [64934] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4816), 1,
+    ACTIONS(3327), 1,
+      anon_sym_COLON,
+  [64941] = 2,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(4987), 1,
       aux_sym_preproc_if_token2,
-  [63399] = 2,
+  [64948] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4818), 1,
+    ACTIONS(4989), 1,
       aux_sym_preproc_if_token2,
-  [63406] = 2,
+  [64955] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4820), 1,
+    ACTIONS(3293), 1,
       anon_sym_SEMI,
-  [63413] = 2,
+  [64962] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4822), 1,
-      aux_sym_preproc_if_token2,
-  [63420] = 2,
+    ACTIONS(4991), 1,
+      anon_sym_RPAREN,
+  [64969] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4824), 1,
+    ACTIONS(4993), 1,
       anon_sym_RPAREN,
-  [63427] = 2,
+  [64976] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4826), 1,
-      anon_sym_RBRACE,
-  [63434] = 2,
+    ACTIONS(3303), 1,
+      anon_sym_RPAREN,
+  [64983] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4828), 1,
-      anon_sym_LPAREN2,
-  [63441] = 2,
+    ACTIONS(4995), 1,
+      anon_sym_STAR,
+  [64990] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3255), 1,
-      anon_sym_SEMI,
-  [63448] = 2,
+    ACTIONS(4997), 1,
+      anon_sym_while,
+  [64997] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4830), 1,
-      anon_sym_RPAREN,
-  [63455] = 2,
-    ACTIONS(3), 1,
+    ACTIONS(4999), 1,
+      anon_sym_LPAREN2,
+  [65004] = 2,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4832), 1,
-      anon_sym_RPAREN,
-  [63462] = 2,
+    ACTIONS(5001), 1,
+      aux_sym_preproc_include_token2,
+  [65011] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3237), 1,
+    ACTIONS(5003), 1,
       anon_sym_RPAREN,
-  [63469] = 2,
+  [65018] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4834), 1,
+    ACTIONS(5005), 1,
       aux_sym_preproc_if_token2,
-  [63476] = 2,
+  [65025] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4836), 1,
-      anon_sym_LPAREN2,
-  [63483] = 2,
+    ACTIONS(5007), 1,
+      anon_sym_COLON,
+  [65032] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4838), 1,
-      aux_sym_preproc_if_token2,
-  [63490] = 2,
+    ACTIONS(5009), 1,
+      anon_sym_SEMI,
+  [65039] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4840), 1,
-      anon_sym_LPAREN2,
-  [63497] = 2,
+    ACTIONS(5011), 1,
+      anon_sym_RPAREN,
+  [65046] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4842), 1,
-      aux_sym_preproc_if_token2,
-  [63504] = 2,
+    ACTIONS(5013), 1,
+      anon_sym_COLON,
+  [65053] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3239), 1,
-      anon_sym_RPAREN,
-  [63511] = 2,
+    ACTIONS(5015), 1,
+      anon_sym_SEMI,
+  [65060] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3203), 1,
-      anon_sym_RPAREN,
-  [63518] = 2,
+    ACTIONS(5017), 1,
+      sym_identifier,
+  [65067] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4844), 1,
-      aux_sym_preproc_if_token2,
-  [63525] = 2,
+    ACTIONS(5019), 1,
+      anon_sym_LPAREN2,
+  [65074] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4846), 1,
-      anon_sym_LPAREN2,
-  [63532] = 2,
+    ACTIONS(5021), 1,
+      anon_sym_SEMI,
+  [65081] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4848), 1,
+    ACTIONS(5023), 1,
       sym_identifier,
-  [63539] = 2,
+  [65088] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4850), 1,
-      aux_sym_preproc_if_token2,
-  [63546] = 2,
+    ACTIONS(5025), 1,
+      anon_sym_RPAREN,
+  [65095] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3243), 1,
+    ACTIONS(3307), 1,
       anon_sym_RPAREN,
-  [63553] = 2,
+  [65102] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4852), 1,
+    ACTIONS(3281), 1,
       anon_sym_SEMI,
-  [63560] = 2,
+  [65109] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4854), 1,
-      anon_sym_SEMI,
-  [63567] = 2,
+    ACTIONS(5027), 1,
+      anon_sym_RBRACE,
+  [65116] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4856), 1,
-      anon_sym_STAR,
-  [63574] = 2,
+    ACTIONS(3285), 1,
+      anon_sym_RPAREN,
+  [65123] = 2,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(4700), 1,
+      aux_sym_preproc_include_token2,
+  [65130] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4858), 1,
-      anon_sym_RPAREN,
-  [63581] = 2,
+    ACTIONS(4792), 1,
+      anon_sym_RBRACE,
+  [65137] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3245), 1,
+    ACTIONS(5029), 1,
       anon_sym_SEMI,
-  [63588] = 2,
+  [65144] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4860), 1,
-      anon_sym_RPAREN,
-  [63595] = 2,
+    ACTIONS(5031), 1,
+      anon_sym_LPAREN2,
+  [65151] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4862), 1,
-      anon_sym_COLON,
-  [63602] = 2,
+    ACTIONS(5033), 1,
+      aux_sym_preproc_if_token2,
+  [65158] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4864), 1,
-      sym_identifier,
-  [63609] = 2,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4866), 1,
-      aux_sym_preproc_include_token2,
-  [63616] = 2,
+    ACTIONS(5035), 1,
+      anon_sym_RBRACE,
+  [65165] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4868), 1,
+    ACTIONS(5037), 1,
       sym_identifier,
-  [63623] = 2,
+  [65172] = 2,
+    ACTIONS(2260), 1,
+      aux_sym_preproc_include_token2,
+    ACTIONS(3515), 1,
+      sym_comment,
+  [65179] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4870), 1,
-      anon_sym_LPAREN2,
-  [63630] = 2,
+    ACTIONS(5039), 1,
+      sym_identifier,
+  [65186] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4872), 1,
+    ACTIONS(5041), 1,
       aux_sym_preproc_if_token2,
-  [63637] = 2,
+  [65193] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4874), 1,
+    ACTIONS(3287), 1,
       anon_sym_SEMI,
-  [63644] = 2,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4876), 1,
-      aux_sym_preproc_if_token2,
-  [63651] = 2,
+  [65200] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4878), 1,
+    ACTIONS(5043), 1,
       sym_identifier,
-  [63658] = 2,
+  [65207] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4880), 1,
-      sym_identifier,
-  [63665] = 2,
+    ACTIONS(5045), 1,
+      anon_sym_SEMI,
+  [65214] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4882), 1,
+    ACTIONS(5047), 1,
       anon_sym_RPAREN,
-  [63672] = 2,
+  [65221] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4884), 1,
+    ACTIONS(5049), 1,
       anon_sym_RPAREN,
-  [63679] = 2,
+  [65228] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4886), 1,
-      anon_sym_RBRACK,
-  [63686] = 2,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4888), 1,
+    ACTIONS(5051), 1,
       aux_sym_preproc_if_token2,
-  [63693] = 2,
-    ACTIONS(3366), 1,
+  [65235] = 2,
+    ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4355), 1,
-      aux_sym_preproc_include_token2,
-  [63700] = 2,
+    ACTIONS(5053), 1,
+      sym_identifier,
+  [65242] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4890), 1,
-      anon_sym_SEMI,
-  [63707] = 2,
+    ACTIONS(5055), 1,
+      anon_sym_COLON,
+  [65249] = 2,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(4528), 1,
+      aux_sym_preproc_include_token2,
+  [65256] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4892), 1,
+    ACTIONS(5057), 1,
       anon_sym_RPAREN,
-  [63714] = 2,
-    ACTIONS(3), 1,
+  [65263] = 2,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4894), 1,
-      anon_sym_RBRACE,
-  [63721] = 2,
-    ACTIONS(3), 1,
+    ACTIONS(5059), 1,
+      aux_sym_preproc_include_token2,
+  [65270] = 2,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(4896), 1,
-      aux_sym_preproc_if_token2,
-  [63728] = 2,
+    ACTIONS(5061), 1,
+      aux_sym_preproc_include_token2,
+  [65277] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3249), 1,
+    ACTIONS(3305), 1,
       anon_sym_COLON,
-  [63735] = 2,
+  [65284] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4898), 1,
-      aux_sym_preproc_if_token2,
-  [63742] = 2,
-    ACTIONS(3366), 1,
+    ACTIONS(3315), 1,
+      anon_sym_RPAREN,
+  [65291] = 2,
+    ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4900), 1,
-      aux_sym_preproc_include_token2,
-  [63749] = 2,
+    ACTIONS(3225), 1,
+      anon_sym_RBRACE,
+  [65298] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4902), 1,
-      aux_sym_preproc_if_token2,
-  [63756] = 2,
+    ACTIONS(5063), 1,
+      anon_sym_SEMI,
+  [65305] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4904), 1,
+    ACTIONS(5065), 1,
       aux_sym_preproc_if_token2,
-  [63763] = 2,
+  [65312] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4906), 1,
-      anon_sym_LPAREN2,
-  [63770] = 2,
+    ACTIONS(5067), 1,
+      anon_sym_RPAREN,
+  [65319] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4908), 1,
+    ACTIONS(5069), 1,
       sym_identifier,
-  [63777] = 2,
+  [65326] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4910), 1,
-      aux_sym_preproc_if_token2,
-  [63784] = 2,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4912), 1,
-      aux_sym_preproc_include_token2,
-  [63791] = 2,
+    ACTIONS(5071), 1,
+      sym_identifier,
+  [65333] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4914), 1,
+    ACTIONS(5073), 1,
       aux_sym_preproc_if_token2,
-  [63798] = 2,
+  [65340] = 2,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(5075), 1,
+      anon_sym_LPAREN2,
+  [65347] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4916), 1,
+    ACTIONS(5077), 1,
       aux_sym_preproc_if_token2,
-  [63805] = 2,
+  [65354] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4918), 1,
+    ACTIONS(5079), 1,
       aux_sym_preproc_if_token2,
-  [63812] = 2,
+  [65361] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4920), 1,
+    ACTIONS(5081), 1,
       sym_identifier,
-  [63819] = 2,
+  [65368] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4922), 1,
-      ts_builtin_sym_end,
-  [63826] = 2,
+    ACTIONS(5083), 1,
+      aux_sym_preproc_if_token2,
+  [65375] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4924), 1,
-      anon_sym_COLON,
-  [63833] = 2,
+    ACTIONS(5085), 1,
+      aux_sym_preproc_if_token2,
+  [65382] = 2,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(5087), 1,
+      aux_sym_preproc_include_token2,
+  [65389] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4926), 1,
+    ACTIONS(5089), 1,
       aux_sym_preproc_if_token2,
-  [63840] = 2,
+  [65396] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4928), 1,
+    ACTIONS(4186), 1,
       anon_sym_COMMA,
-  [63847] = 2,
+  [65403] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4930), 1,
-      anon_sym_SEMI,
-  [63854] = 2,
+    ACTIONS(5091), 1,
+      sym_primitive_type,
+  [65410] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4932), 1,
+    ACTIONS(5093), 1,
       anon_sym_SEMI,
-  [63861] = 2,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4934), 1,
-      aux_sym_preproc_include_token2,
-  [63868] = 2,
+  [65417] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4936), 1,
+    ACTIONS(5095), 1,
       aux_sym_preproc_if_token2,
-  [63875] = 2,
+  [65424] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4938), 1,
-      aux_sym_preproc_if_token2,
-  [63882] = 2,
+    ACTIONS(5097), 1,
+      sym_identifier,
+  [65431] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4940), 1,
-      aux_sym_preproc_if_token2,
-  [63889] = 2,
+    ACTIONS(4790), 1,
+      anon_sym_COMMA,
+  [65438] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4942), 1,
+    ACTIONS(3313), 1,
       anon_sym_SEMI,
-  [63896] = 2,
+  [65445] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4944), 1,
+    ACTIONS(5099), 1,
       aux_sym_preproc_if_token2,
-  [63903] = 2,
-    ACTIONS(3131), 1,
-      aux_sym_preproc_include_token2,
-    ACTIONS(3366), 1,
+  [65452] = 2,
+    ACTIONS(3), 1,
       sym_comment,
-  [63910] = 2,
+    ACTIONS(3289), 1,
+      anon_sym_SEMI,
+  [65459] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4946), 1,
-      aux_sym_preproc_if_token2,
-  [63917] = 2,
-    ACTIONS(3366), 1,
+    ACTIONS(5101), 1,
+      anon_sym_SEMI,
+  [65466] = 2,
+    ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4433), 1,
-      aux_sym_preproc_include_token2,
-  [63924] = 2,
+    ACTIONS(5103), 1,
+      anon_sym_SEMI,
+  [65473] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3253), 1,
+    ACTIONS(3311), 1,
       anon_sym_COLON,
-  [63931] = 2,
+  [65480] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4948), 1,
-      anon_sym_LPAREN2,
-  [63938] = 2,
+    ACTIONS(5105), 1,
+      anon_sym_RBRACE,
+  [65487] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4950), 1,
-      aux_sym_preproc_if_token2,
-  [63945] = 2,
+    ACTIONS(3319), 1,
+      anon_sym_SEMI,
+  [65494] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4952), 1,
+    ACTIONS(5107), 1,
       sym_identifier,
-  [63952] = 2,
+  [65501] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4954), 1,
+    ACTIONS(5109), 1,
       sym_identifier,
-  [63959] = 2,
+  [65508] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4956), 1,
-      aux_sym_preproc_if_token2,
-  [63966] = 2,
+    ACTIONS(5111), 1,
+      sym_identifier,
+  [65515] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3269), 1,
-      anon_sym_RPAREN,
-  [63973] = 2,
+    ACTIONS(5113), 1,
+      aux_sym_preproc_if_token2,
+  [65522] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4958), 1,
+    ACTIONS(5115), 1,
       anon_sym_SEMI,
-  [63980] = 2,
+  [65529] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4960), 1,
-      sym_identifier,
-  [63987] = 2,
-    ACTIONS(3366), 1,
+    ACTIONS(5117), 1,
+      aux_sym_preproc_if_token2,
+  [65536] = 2,
+    ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4962), 1,
-      aux_sym_preproc_include_token2,
-  [63994] = 2,
+    ACTIONS(5119), 1,
+      sym_identifier,
+  [65543] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4964), 1,
-      aux_sym_preproc_if_token2,
-  [64001] = 2,
+    ACTIONS(5121), 1,
+      anon_sym_SEMI,
+  [65550] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4966), 1,
+    ACTIONS(3359), 1,
       anon_sym_RPAREN,
-  [64008] = 2,
+  [65557] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4968), 1,
+    ACTIONS(5123), 1,
       sym_identifier,
-  [64015] = 2,
+  [65564] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3283), 1,
-      anon_sym_RPAREN,
-  [64022] = 2,
+    ACTIONS(5125), 1,
+      aux_sym_preproc_if_token2,
+  [65571] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4970), 1,
-      anon_sym_while,
-  [64029] = 2,
+    ACTIONS(3309), 1,
+      anon_sym_RPAREN,
+  [65578] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3251), 1,
-      anon_sym_SEMI,
-  [64036] = 2,
+    ACTIONS(5127), 1,
+      aux_sym_preproc_if_token2,
+  [65585] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4972), 1,
+    ACTIONS(5129), 1,
       aux_sym_preproc_if_token2,
-  [64043] = 2,
+  [65592] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4974), 1,
+    ACTIONS(5131), 1,
       anon_sym_RPAREN,
-  [64050] = 2,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(4512), 1,
-      aux_sym_preproc_include_token2,
-  [64057] = 2,
+  [65599] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4976), 1,
-      anon_sym_LPAREN2,
-  [64064] = 2,
+    ACTIONS(5133), 1,
+      anon_sym_SEMI,
+  [65606] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4978), 1,
+    ACTIONS(5135), 1,
       anon_sym_SEMI,
-  [64071] = 2,
+  [65613] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4980), 1,
-      aux_sym_preproc_if_token2,
-  [64078] = 2,
+    ACTIONS(5137), 1,
+      sym_identifier,
+  [65620] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3221), 1,
+    ACTIONS(5139), 1,
+      sym_identifier,
+  [65627] = 2,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(5141), 1,
       anon_sym_SEMI,
-  [64085] = 2,
+  [65634] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4982), 1,
-      sym_primitive_type,
-  [64092] = 2,
+    ACTIONS(5143), 1,
+      aux_sym_preproc_if_token2,
+  [65641] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4984), 1,
+    ACTIONS(5145), 1,
       sym_identifier,
-  [64099] = 2,
+  [65648] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4986), 1,
-      anon_sym_STAR,
-  [64106] = 2,
+    ACTIONS(5147), 1,
+      aux_sym_preproc_if_token2,
+  [65655] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4988), 1,
+    ACTIONS(5149), 1,
       anon_sym_RPAREN,
-  [64113] = 2,
+  [65662] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3247), 1,
-      anon_sym_SEMI,
-  [64120] = 2,
+    ACTIONS(3361), 1,
+      anon_sym_RPAREN,
+  [65669] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4990), 1,
-      aux_sym_preproc_if_token2,
-  [64127] = 2,
+    ACTIONS(3321), 1,
+      anon_sym_SEMI,
+  [65676] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4992), 1,
-      aux_sym_preproc_if_token2,
-  [64134] = 2,
+    ACTIONS(5151), 1,
+      sym_identifier,
+  [65683] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3211), 1,
+    ACTIONS(5153), 1,
       anon_sym_SEMI,
-  [64141] = 2,
-    ACTIONS(3), 1,
+  [65690] = 2,
+    ACTIONS(3189), 1,
+      aux_sym_preproc_include_token2,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(3159), 1,
-      anon_sym_RBRACE,
-  [64148] = 2,
+  [65697] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3225), 1,
-      anon_sym_SEMI,
-  [64155] = 2,
+    ACTIONS(5155), 1,
+      anon_sym_RBRACK,
+  [65704] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4994), 1,
+    ACTIONS(5157), 1,
       anon_sym_SEMI,
-  [64162] = 2,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(4996), 1,
-      sym_identifier,
-  [64169] = 2,
+  [65711] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4998), 1,
+    ACTIONS(5159), 1,
       sym_identifier,
-  [64176] = 2,
+  [65718] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5000), 1,
+    ACTIONS(5161), 1,
       sym_identifier,
-  [64183] = 2,
+  [65725] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5002), 1,
-      anon_sym_SEMI,
-  [64190] = 2,
-    ACTIONS(3366), 1,
+    ACTIONS(5163), 1,
+      aux_sym_preproc_if_token2,
+  [65732] = 2,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(5004), 1,
+    ACTIONS(5165), 1,
       aux_sym_preproc_include_token2,
-  [64197] = 2,
+  [65739] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5006), 1,
+    ACTIONS(5167), 1,
       anon_sym_RBRACE,
-  [64204] = 2,
+  [65746] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5008), 1,
-      sym_identifier,
-  [64211] = 2,
+    ACTIONS(3275), 1,
+      anon_sym_SEMI,
+  [65753] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5010), 1,
-      anon_sym_RPAREN,
-  [64218] = 2,
+    ACTIONS(5169), 1,
+      sym_identifier,
+  [65760] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5012), 1,
-      anon_sym_RPAREN,
-  [64225] = 2,
+    ACTIONS(5171), 1,
+      anon_sym_LPAREN2,
+  [65767] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5014), 1,
-      anon_sym_COLON,
-  [64232] = 2,
+    ACTIONS(5173), 1,
+      anon_sym_STAR,
+  [65774] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5016), 1,
-      anon_sym_SEMI,
-  [64239] = 2,
-    ACTIONS(3366), 1,
+    ACTIONS(5175), 1,
+      aux_sym_preproc_if_token2,
+  [65781] = 2,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(5018), 1,
+    ACTIONS(5177), 1,
       aux_sym_preproc_include_token2,
-  [64246] = 2,
+  [65788] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5020), 1,
-      anon_sym_RPAREN,
-  [64253] = 2,
+    ACTIONS(5179), 1,
+      sym_identifier,
+  [65795] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5022), 1,
-      anon_sym_COLON,
-  [64260] = 2,
+    ACTIONS(4595), 1,
+      anon_sym_RPAREN,
+  [65802] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5024), 1,
+    ACTIONS(5181), 1,
       aux_sym_preproc_if_token2,
-  [64267] = 2,
+  [65809] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5026), 1,
-      anon_sym_RPAREN,
-  [64274] = 2,
-    ACTIONS(3), 1,
-      sym_comment,
-    ACTIONS(3227), 1,
-      anon_sym_RPAREN,
-  [64281] = 2,
+    ACTIONS(5183), 1,
+      anon_sym_SEMI,
+  [65816] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5028), 1,
-      anon_sym_SEMI,
-  [64288] = 2,
+    ACTIONS(5185), 1,
+      sym_primitive_type,
+  [65823] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5030), 1,
+    ACTIONS(5187), 1,
       anon_sym_RPAREN,
-  [64295] = 2,
+  [65830] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5032), 1,
+    ACTIONS(5189), 1,
       aux_sym_preproc_if_token2,
-  [64302] = 2,
+  [65837] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5034), 1,
+    ACTIONS(5191), 1,
+      anon_sym_LPAREN2,
+  [65844] = 2,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3325), 1,
       anon_sym_SEMI,
-  [64309] = 2,
+  [65851] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5036), 1,
-      sym_identifier,
-  [64316] = 2,
+    ACTIONS(3297), 1,
+      anon_sym_SEMI,
+  [65858] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5038), 1,
-      anon_sym_RPAREN,
-  [64323] = 2,
+    ACTIONS(5193), 1,
+      sym_identifier,
+  [65865] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5040), 1,
+    ACTIONS(5195), 1,
       anon_sym_STAR,
-  [64330] = 2,
+  [65872] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5042), 1,
+    ACTIONS(5197), 1,
       anon_sym_RPAREN,
-  [64337] = 2,
+  [65879] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5044), 1,
+    ACTIONS(5199), 1,
       sym_identifier,
-  [64344] = 2,
+  [65886] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5046), 1,
+    ACTIONS(5201), 1,
       sym_identifier,
-  [64351] = 2,
+  [65893] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5048), 1,
-      anon_sym_RPAREN,
-  [64358] = 2,
+    ACTIONS(5203), 1,
+      sym_identifier,
+  [65900] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3207), 1,
-      anon_sym_SEMI,
-  [64365] = 2,
+    ACTIONS(5205), 1,
+      aux_sym_preproc_if_token2,
+  [65907] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5050), 1,
-      sym_identifier,
-  [64372] = 2,
+    ACTIONS(3273), 1,
+      anon_sym_RPAREN,
+  [65914] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5052), 1,
-      sym_identifier,
-  [64379] = 2,
+    ACTIONS(3279), 1,
+      anon_sym_SEMI,
+  [65921] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5054), 1,
-      anon_sym_RPAREN,
-  [64386] = 2,
+    ACTIONS(5207), 1,
+      anon_sym_LPAREN2,
+  [65928] = 2,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(5209), 1,
+      aux_sym_preproc_if_token2,
+  [65935] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5056), 1,
+    ACTIONS(5211), 1,
       anon_sym_LPAREN2,
-  [64393] = 2,
+  [65942] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5058), 1,
+    ACTIONS(5213), 1,
       anon_sym_LPAREN2,
-  [64400] = 2,
+  [65949] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5060), 1,
+    ACTIONS(3261), 1,
       anon_sym_COLON,
-  [64407] = 2,
+  [65956] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5062), 1,
-      sym_identifier,
-  [64414] = 2,
+    ACTIONS(5215), 1,
+      aux_sym_preproc_if_token2,
+  [65963] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5064), 1,
-      aux_sym_preproc_if_token2,
-  [64421] = 2,
+    ACTIONS(5217), 1,
+      ts_builtin_sym_end,
+  [65970] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5066), 1,
-      aux_sym_preproc_if_token2,
-  [64428] = 2,
+    ACTIONS(5219), 1,
+      anon_sym_RBRACK,
+  [65977] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5068), 1,
+    ACTIONS(5221), 1,
       anon_sym_RPAREN,
-  [64435] = 2,
+  [65984] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5070), 1,
-      aux_sym_preproc_if_token2,
-  [64442] = 2,
+    ACTIONS(5223), 1,
+      anon_sym_SEMI,
+  [65991] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5072), 1,
-      anon_sym_COLON,
-  [64449] = 2,
+    ACTIONS(5225), 1,
+      anon_sym_LPAREN2,
+  [65998] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5074), 1,
+    ACTIONS(5227), 1,
       aux_sym_preproc_if_token2,
-  [64456] = 2,
+  [66005] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5076), 1,
-      sym_identifier,
-  [64463] = 2,
+    ACTIONS(5229), 1,
+      aux_sym_preproc_if_token2,
+  [66012] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5078), 1,
+    ACTIONS(5231), 1,
       anon_sym_while,
-  [64470] = 2,
-    ACTIONS(3147), 1,
-      aux_sym_preproc_include_token2,
-    ACTIONS(3366), 1,
+  [66019] = 2,
+    ACTIONS(3515), 1,
       sym_comment,
-  [64477] = 2,
+    ACTIONS(4770), 1,
+      aux_sym_preproc_include_token2,
+  [66026] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3217), 1,
-      anon_sym_RPAREN,
-  [64484] = 2,
+    ACTIONS(5233), 1,
+      anon_sym_SEMI,
+  [66033] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5080), 1,
-      anon_sym_SEMI,
-  [64491] = 2,
+    ACTIONS(5235), 1,
+      anon_sym_LPAREN2,
+  [66040] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5082), 1,
+    ACTIONS(5237), 1,
       anon_sym_STAR,
-  [64498] = 2,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(5084), 1,
-      aux_sym_preproc_include_token2,
-  [64505] = 2,
+  [66047] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5086), 1,
+    ACTIONS(5239), 1,
       aux_sym_preproc_if_token2,
-  [64512] = 2,
+  [66054] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5088), 1,
-      aux_sym_preproc_if_token2,
-  [64519] = 2,
+    ACTIONS(5241), 1,
+      anon_sym_RPAREN,
+  [66061] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5090), 1,
-      aux_sym_preproc_if_token2,
-  [64526] = 2,
+    ACTIONS(5243), 1,
+      anon_sym_RPAREN,
+  [66068] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3259), 1,
+    ACTIONS(5245), 1,
+      sym_identifier,
+  [66075] = 2,
+    ACTIONS(3), 1,
+      sym_comment,
+    ACTIONS(3317), 1,
       anon_sym_COLON,
-  [64533] = 2,
+  [66082] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5092), 1,
-      aux_sym_preproc_if_token2,
-  [64540] = 2,
+    ACTIONS(3263), 1,
+      anon_sym_COLON,
+  [66089] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(4702), 1,
-      anon_sym_RBRACE,
-  [64547] = 2,
+    ACTIONS(5247), 1,
+      anon_sym_RPAREN,
+  [66096] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5094), 1,
+    ACTIONS(5249), 1,
       anon_sym_LPAREN2,
-  [64554] = 2,
+  [66103] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5096), 1,
+    ACTIONS(5251), 1,
       sym_identifier,
-  [64561] = 2,
+  [66110] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5098), 1,
-      aux_sym_preproc_if_token2,
-  [64568] = 2,
+    ACTIONS(3283), 1,
+      anon_sym_RPAREN,
+  [66117] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5100), 1,
+    ACTIONS(5253), 1,
       anon_sym_while,
-  [64575] = 2,
+  [66124] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5102), 1,
-      anon_sym_SEMI,
-  [64582] = 2,
+    ACTIONS(3819), 1,
+      anon_sym_RBRACE,
+  [66131] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5104), 1,
+    ACTIONS(5255), 1,
       aux_sym_preproc_if_token2,
-  [64589] = 2,
+  [66138] = 2,
+    ACTIONS(3515), 1,
+      sym_comment,
+    ACTIONS(5257), 1,
+      aux_sym_preproc_include_token2,
+  [66145] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5106), 1,
-      sym_identifier,
-  [64596] = 2,
+    ACTIONS(5259), 1,
+      anon_sym_RPAREN,
+  [66152] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5108), 1,
-      anon_sym_LPAREN2,
-  [64603] = 2,
+    ACTIONS(5261), 1,
+      anon_sym_SEMI,
+  [66159] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5110), 1,
-      anon_sym_RPAREN,
-  [64610] = 2,
+    ACTIONS(5263), 1,
+      aux_sym_preproc_if_token2,
+  [66166] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5112), 1,
+    ACTIONS(5265), 1,
       anon_sym_RBRACE,
-  [64617] = 2,
+  [66173] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5114), 1,
-      anon_sym_SEMI,
-  [64624] = 2,
-    ACTIONS(3366), 1,
-      sym_comment,
-    ACTIONS(5116), 1,
-      aux_sym_preproc_include_token2,
-  [64631] = 2,
+    ACTIONS(5267), 1,
+      anon_sym_while,
+  [66180] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5118), 1,
+    ACTIONS(5269), 1,
       aux_sym_preproc_if_token2,
-  [64638] = 2,
-    ACTIONS(3), 1,
+  [66187] = 2,
+    ACTIONS(3199), 1,
+      aux_sym_preproc_include_token2,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(5120), 1,
-      aux_sym_preproc_if_token2,
-  [64645] = 2,
+  [66194] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3690), 1,
-      anon_sym_RBRACE,
-  [64652] = 2,
+    ACTIONS(5271), 1,
+      anon_sym_SEMI,
+  [66201] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5122), 1,
-      sym_identifier,
-  [64659] = 2,
+    ACTIONS(5273), 1,
+      aux_sym_preproc_if_token2,
+  [66208] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5124), 1,
+    ACTIONS(5275), 1,
       anon_sym_LPAREN2,
-  [64666] = 2,
+  [66215] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5126), 1,
-      anon_sym_SEMI,
-  [64673] = 2,
+    ACTIONS(5277), 1,
+      aux_sym_preproc_if_token2,
+  [66222] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5128), 1,
-      sym_identifier,
-  [64680] = 2,
+    ACTIONS(5279), 1,
+      anon_sym_SEMI,
+  [66229] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5130), 1,
+    ACTIONS(5281), 1,
       anon_sym_LPAREN2,
-  [64687] = 2,
+  [66236] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(5132), 1,
-      sym_identifier,
-  [64694] = 2,
-    ACTIONS(3366), 1,
+    ACTIONS(5283), 1,
+      anon_sym_COLON,
+  [66243] = 2,
+    ACTIONS(3515), 1,
       sym_comment,
-    ACTIONS(5134), 1,
+    ACTIONS(5285), 1,
       aux_sym_preproc_include_token2,
-  [64701] = 2,
+  [66250] = 2,
     ACTIONS(3), 1,
       sym_comment,
-    ACTIONS(3229), 1,
-      anon_sym_SEMI,
+    ACTIONS(5287), 1,
+      anon_sym_LPAREN2,
 };
 
 static const uint32_t ts_small_parse_table_map[] = {
-  [SMALL_STATE(462)] = 0,
-  [SMALL_STATE(463)] = 113,
-  [SMALL_STATE(464)] = 226,
-  [SMALL_STATE(465)] = 339,
-  [SMALL_STATE(466)] = 452,
-  [SMALL_STATE(467)] = 565,
-  [SMALL_STATE(468)] = 678,
-  [SMALL_STATE(469)] = 791,
-  [SMALL_STATE(470)] = 904,
-  [SMALL_STATE(471)] = 1017,
-  [SMALL_STATE(472)] = 1130,
-  [SMALL_STATE(473)] = 1243,
-  [SMALL_STATE(474)] = 1356,
-  [SMALL_STATE(475)] = 1469,
-  [SMALL_STATE(476)] = 1582,
-  [SMALL_STATE(477)] = 1695,
-  [SMALL_STATE(478)] = 1808,
-  [SMALL_STATE(479)] = 1921,
-  [SMALL_STATE(480)] = 2034,
-  [SMALL_STATE(481)] = 2147,
-  [SMALL_STATE(482)] = 2260,
-  [SMALL_STATE(483)] = 2373,
-  [SMALL_STATE(484)] = 2486,
-  [SMALL_STATE(485)] = 2599,
-  [SMALL_STATE(486)] = 2712,
-  [SMALL_STATE(487)] = 2825,
-  [SMALL_STATE(488)] = 2938,
-  [SMALL_STATE(489)] = 3051,
-  [SMALL_STATE(490)] = 3164,
-  [SMALL_STATE(491)] = 3277,
-  [SMALL_STATE(492)] = 3387,
-  [SMALL_STATE(493)] = 3497,
-  [SMALL_STATE(494)] = 3607,
-  [SMALL_STATE(495)] = 3717,
-  [SMALL_STATE(496)] = 3827,
-  [SMALL_STATE(497)] = 3937,
-  [SMALL_STATE(498)] = 4047,
-  [SMALL_STATE(499)] = 4157,
-  [SMALL_STATE(500)] = 4267,
-  [SMALL_STATE(501)] = 4377,
-  [SMALL_STATE(502)] = 4487,
-  [SMALL_STATE(503)] = 4594,
-  [SMALL_STATE(504)] = 4701,
-  [SMALL_STATE(505)] = 4808,
-  [SMALL_STATE(506)] = 4915,
-  [SMALL_STATE(507)] = 5022,
-  [SMALL_STATE(508)] = 5129,
-  [SMALL_STATE(509)] = 5236,
-  [SMALL_STATE(510)] = 5343,
-  [SMALL_STATE(511)] = 5450,
-  [SMALL_STATE(512)] = 5557,
-  [SMALL_STATE(513)] = 5664,
-  [SMALL_STATE(514)] = 5771,
-  [SMALL_STATE(515)] = 5878,
-  [SMALL_STATE(516)] = 5985,
-  [SMALL_STATE(517)] = 6092,
-  [SMALL_STATE(518)] = 6199,
-  [SMALL_STATE(519)] = 6306,
-  [SMALL_STATE(520)] = 6413,
-  [SMALL_STATE(521)] = 6522,
-  [SMALL_STATE(522)] = 6629,
-  [SMALL_STATE(523)] = 6736,
-  [SMALL_STATE(524)] = 6843,
-  [SMALL_STATE(525)] = 6950,
-  [SMALL_STATE(526)] = 7057,
-  [SMALL_STATE(527)] = 7164,
-  [SMALL_STATE(528)] = 7271,
-  [SMALL_STATE(529)] = 7378,
-  [SMALL_STATE(530)] = 7485,
-  [SMALL_STATE(531)] = 7592,
-  [SMALL_STATE(532)] = 7699,
-  [SMALL_STATE(533)] = 7806,
-  [SMALL_STATE(534)] = 7913,
-  [SMALL_STATE(535)] = 8020,
-  [SMALL_STATE(536)] = 8127,
-  [SMALL_STATE(537)] = 8234,
-  [SMALL_STATE(538)] = 8341,
-  [SMALL_STATE(539)] = 8448,
-  [SMALL_STATE(540)] = 8555,
-  [SMALL_STATE(541)] = 8664,
-  [SMALL_STATE(542)] = 8771,
-  [SMALL_STATE(543)] = 8878,
-  [SMALL_STATE(544)] = 8985,
-  [SMALL_STATE(545)] = 9092,
-  [SMALL_STATE(546)] = 9199,
-  [SMALL_STATE(547)] = 9306,
-  [SMALL_STATE(548)] = 9413,
-  [SMALL_STATE(549)] = 9520,
-  [SMALL_STATE(550)] = 9627,
-  [SMALL_STATE(551)] = 9734,
-  [SMALL_STATE(552)] = 9841,
-  [SMALL_STATE(553)] = 9948,
-  [SMALL_STATE(554)] = 10055,
-  [SMALL_STATE(555)] = 10162,
-  [SMALL_STATE(556)] = 10269,
-  [SMALL_STATE(557)] = 10376,
-  [SMALL_STATE(558)] = 10483,
-  [SMALL_STATE(559)] = 10590,
-  [SMALL_STATE(560)] = 10697,
-  [SMALL_STATE(561)] = 10804,
-  [SMALL_STATE(562)] = 10911,
-  [SMALL_STATE(563)] = 11018,
-  [SMALL_STATE(564)] = 11125,
-  [SMALL_STATE(565)] = 11232,
-  [SMALL_STATE(566)] = 11339,
-  [SMALL_STATE(567)] = 11448,
-  [SMALL_STATE(568)] = 11555,
-  [SMALL_STATE(569)] = 11662,
-  [SMALL_STATE(570)] = 11769,
-  [SMALL_STATE(571)] = 11876,
-  [SMALL_STATE(572)] = 11967,
-  [SMALL_STATE(573)] = 12074,
-  [SMALL_STATE(574)] = 12181,
-  [SMALL_STATE(575)] = 12288,
-  [SMALL_STATE(576)] = 12395,
-  [SMALL_STATE(577)] = 12502,
-  [SMALL_STATE(578)] = 12609,
-  [SMALL_STATE(579)] = 12716,
-  [SMALL_STATE(580)] = 12825,
-  [SMALL_STATE(581)] = 12932,
-  [SMALL_STATE(582)] = 13039,
-  [SMALL_STATE(583)] = 13146,
-  [SMALL_STATE(584)] = 13253,
-  [SMALL_STATE(585)] = 13360,
-  [SMALL_STATE(586)] = 13467,
-  [SMALL_STATE(587)] = 13574,
-  [SMALL_STATE(588)] = 13681,
-  [SMALL_STATE(589)] = 13788,
-  [SMALL_STATE(590)] = 13895,
-  [SMALL_STATE(591)] = 14002,
-  [SMALL_STATE(592)] = 14109,
-  [SMALL_STATE(593)] = 14216,
-  [SMALL_STATE(594)] = 14323,
-  [SMALL_STATE(595)] = 14430,
-  [SMALL_STATE(596)] = 14537,
-  [SMALL_STATE(597)] = 14644,
-  [SMALL_STATE(598)] = 14751,
-  [SMALL_STATE(599)] = 14858,
-  [SMALL_STATE(600)] = 14965,
-  [SMALL_STATE(601)] = 15072,
-  [SMALL_STATE(602)] = 15179,
-  [SMALL_STATE(603)] = 15286,
-  [SMALL_STATE(604)] = 15393,
-  [SMALL_STATE(605)] = 15500,
-  [SMALL_STATE(606)] = 15607,
-  [SMALL_STATE(607)] = 15714,
-  [SMALL_STATE(608)] = 15821,
-  [SMALL_STATE(609)] = 15928,
-  [SMALL_STATE(610)] = 16035,
-  [SMALL_STATE(611)] = 16142,
-  [SMALL_STATE(612)] = 16249,
-  [SMALL_STATE(613)] = 16356,
-  [SMALL_STATE(614)] = 16463,
-  [SMALL_STATE(615)] = 16570,
-  [SMALL_STATE(616)] = 16677,
-  [SMALL_STATE(617)] = 16784,
-  [SMALL_STATE(618)] = 16891,
-  [SMALL_STATE(619)] = 16998,
-  [SMALL_STATE(620)] = 17105,
-  [SMALL_STATE(621)] = 17212,
-  [SMALL_STATE(622)] = 17319,
-  [SMALL_STATE(623)] = 17426,
-  [SMALL_STATE(624)] = 17533,
-  [SMALL_STATE(625)] = 17640,
-  [SMALL_STATE(626)] = 17711,
-  [SMALL_STATE(627)] = 17782,
-  [SMALL_STATE(628)] = 17853,
-  [SMALL_STATE(629)] = 17959,
-  [SMALL_STATE(630)] = 18067,
-  [SMALL_STATE(631)] = 18135,
-  [SMALL_STATE(632)] = 18198,
-  [SMALL_STATE(633)] = 18261,
-  [SMALL_STATE(634)] = 18324,
-  [SMALL_STATE(635)] = 18387,
-  [SMALL_STATE(636)] = 18450,
-  [SMALL_STATE(637)] = 18513,
-  [SMALL_STATE(638)] = 18576,
-  [SMALL_STATE(639)] = 18655,
-  [SMALL_STATE(640)] = 18718,
-  [SMALL_STATE(641)] = 18781,
-  [SMALL_STATE(642)] = 18844,
-  [SMALL_STATE(643)] = 18907,
-  [SMALL_STATE(644)] = 18970,
-  [SMALL_STATE(645)] = 19070,
-  [SMALL_STATE(646)] = 19170,
-  [SMALL_STATE(647)] = 19270,
-  [SMALL_STATE(648)] = 19370,
-  [SMALL_STATE(649)] = 19470,
-  [SMALL_STATE(650)] = 19570,
-  [SMALL_STATE(651)] = 19670,
-  [SMALL_STATE(652)] = 19770,
-  [SMALL_STATE(653)] = 19870,
-  [SMALL_STATE(654)] = 19970,
-  [SMALL_STATE(655)] = 20070,
-  [SMALL_STATE(656)] = 20170,
-  [SMALL_STATE(657)] = 20270,
-  [SMALL_STATE(658)] = 20370,
-  [SMALL_STATE(659)] = 20470,
-  [SMALL_STATE(660)] = 20570,
-  [SMALL_STATE(661)] = 20631,
-  [SMALL_STATE(662)] = 20728,
-  [SMALL_STATE(663)] = 20789,
-  [SMALL_STATE(664)] = 20850,
-  [SMALL_STATE(665)] = 20921,
-  [SMALL_STATE(666)] = 20982,
-  [SMALL_STATE(667)] = 21079,
-  [SMALL_STATE(668)] = 21178,
-  [SMALL_STATE(669)] = 21243,
-  [SMALL_STATE(670)] = 21302,
-  [SMALL_STATE(671)] = 21392,
-  [SMALL_STATE(672)] = 21450,
-  [SMALL_STATE(673)] = 21508,
-  [SMALL_STATE(674)] = 21566,
-  [SMALL_STATE(675)] = 21624,
-  [SMALL_STATE(676)] = 21682,
-  [SMALL_STATE(677)] = 21740,
-  [SMALL_STATE(678)] = 21798,
-  [SMALL_STATE(679)] = 21856,
-  [SMALL_STATE(680)] = 21914,
-  [SMALL_STATE(681)] = 21972,
-  [SMALL_STATE(682)] = 22030,
-  [SMALL_STATE(683)] = 22088,
-  [SMALL_STATE(684)] = 22146,
-  [SMALL_STATE(685)] = 22204,
-  [SMALL_STATE(686)] = 22262,
-  [SMALL_STATE(687)] = 22320,
-  [SMALL_STATE(688)] = 22378,
-  [SMALL_STATE(689)] = 22468,
-  [SMALL_STATE(690)] = 22558,
-  [SMALL_STATE(691)] = 22648,
-  [SMALL_STATE(692)] = 22738,
-  [SMALL_STATE(693)] = 22828,
-  [SMALL_STATE(694)] = 22918,
-  [SMALL_STATE(695)] = 22976,
-  [SMALL_STATE(696)] = 23034,
-  [SMALL_STATE(697)] = 23124,
-  [SMALL_STATE(698)] = 23181,
-  [SMALL_STATE(699)] = 23238,
-  [SMALL_STATE(700)] = 23295,
-  [SMALL_STATE(701)] = 23356,
-  [SMALL_STATE(702)] = 23421,
-  [SMALL_STATE(703)] = 23488,
-  [SMALL_STATE(704)] = 23555,
-  [SMALL_STATE(705)] = 23622,
-  [SMALL_STATE(706)] = 23689,
-  [SMALL_STATE(707)] = 23776,
-  [SMALL_STATE(708)] = 23843,
-  [SMALL_STATE(709)] = 23908,
-  [SMALL_STATE(710)] = 23972,
-  [SMALL_STATE(711)] = 24028,
-  [SMALL_STATE(712)] = 24092,
-  [SMALL_STATE(713)] = 24148,
-  [SMALL_STATE(714)] = 24204,
-  [SMALL_STATE(715)] = 24268,
-  [SMALL_STATE(716)] = 24332,
-  [SMALL_STATE(717)] = 24396,
-  [SMALL_STATE(718)] = 24460,
-  [SMALL_STATE(719)] = 24531,
-  [SMALL_STATE(720)] = 24586,
-  [SMALL_STATE(721)] = 24657,
-  [SMALL_STATE(722)] = 24728,
-  [SMALL_STATE(723)] = 24799,
-  [SMALL_STATE(724)] = 24854,
-  [SMALL_STATE(725)] = 24909,
-  [SMALL_STATE(726)] = 24967,
-  [SMALL_STATE(727)] = 25025,
-  [SMALL_STATE(728)] = 25083,
-  [SMALL_STATE(729)] = 25141,
-  [SMALL_STATE(730)] = 25199,
-  [SMALL_STATE(731)] = 25257,
-  [SMALL_STATE(732)] = 25315,
-  [SMALL_STATE(733)] = 25373,
-  [SMALL_STATE(734)] = 25431,
-  [SMALL_STATE(735)] = 25489,
-  [SMALL_STATE(736)] = 25547,
-  [SMALL_STATE(737)] = 25604,
-  [SMALL_STATE(738)] = 25657,
-  [SMALL_STATE(739)] = 25714,
-  [SMALL_STATE(740)] = 25767,
-  [SMALL_STATE(741)] = 25820,
-  [SMALL_STATE(742)] = 25873,
-  [SMALL_STATE(743)] = 25926,
-  [SMALL_STATE(744)] = 25979,
-  [SMALL_STATE(745)] = 26032,
-  [SMALL_STATE(746)] = 26085,
-  [SMALL_STATE(747)] = 26144,
-  [SMALL_STATE(748)] = 26207,
-  [SMALL_STATE(749)] = 26260,
-  [SMALL_STATE(750)] = 26317,
-  [SMALL_STATE(751)] = 26374,
-  [SMALL_STATE(752)] = 26435,
-  [SMALL_STATE(753)] = 26492,
-  [SMALL_STATE(754)] = 26545,
-  [SMALL_STATE(755)] = 26598,
-  [SMALL_STATE(756)] = 26651,
-  [SMALL_STATE(757)] = 26704,
-  [SMALL_STATE(758)] = 26757,
-  [SMALL_STATE(759)] = 26810,
-  [SMALL_STATE(760)] = 26863,
-  [SMALL_STATE(761)] = 26916,
-  [SMALL_STATE(762)] = 26969,
-  [SMALL_STATE(763)] = 27022,
-  [SMALL_STATE(764)] = 27075,
-  [SMALL_STATE(765)] = 27132,
-  [SMALL_STATE(766)] = 27189,
-  [SMALL_STATE(767)] = 27248,
-  [SMALL_STATE(768)] = 27311,
-  [SMALL_STATE(769)] = 27374,
-  [SMALL_STATE(770)] = 27437,
-  [SMALL_STATE(771)] = 27490,
-  [SMALL_STATE(772)] = 27543,
-  [SMALL_STATE(773)] = 27606,
-  [SMALL_STATE(774)] = 27659,
-  [SMALL_STATE(775)] = 27712,
-  [SMALL_STATE(776)] = 27765,
-  [SMALL_STATE(777)] = 27818,
-  [SMALL_STATE(778)] = 27881,
-  [SMALL_STATE(779)] = 27934,
-  [SMALL_STATE(780)] = 27986,
-  [SMALL_STATE(781)] = 28076,
-  [SMALL_STATE(782)] = 28128,
-  [SMALL_STATE(783)] = 28180,
-  [SMALL_STATE(784)] = 28232,
-  [SMALL_STATE(785)] = 28284,
-  [SMALL_STATE(786)] = 28336,
-  [SMALL_STATE(787)] = 28388,
-  [SMALL_STATE(788)] = 28440,
-  [SMALL_STATE(789)] = 28510,
-  [SMALL_STATE(790)] = 28570,
-  [SMALL_STATE(791)] = 28640,
-  [SMALL_STATE(792)] = 28730,
-  [SMALL_STATE(793)] = 28782,
-  [SMALL_STATE(794)] = 28852,
-  [SMALL_STATE(795)] = 28904,
-  [SMALL_STATE(796)] = 28956,
-  [SMALL_STATE(797)] = 29042,
-  [SMALL_STATE(798)] = 29106,
-  [SMALL_STATE(799)] = 29188,
-  [SMALL_STATE(800)] = 29268,
-  [SMALL_STATE(801)] = 29346,
-  [SMALL_STATE(802)] = 29422,
-  [SMALL_STATE(803)] = 29496,
-  [SMALL_STATE(804)] = 29568,
-  [SMALL_STATE(805)] = 29636,
-  [SMALL_STATE(806)] = 29702,
-  [SMALL_STATE(807)] = 29788,
-  [SMALL_STATE(808)] = 29874,
-  [SMALL_STATE(809)] = 29944,
-  [SMALL_STATE(810)] = 30028,
-  [SMALL_STATE(811)] = 30080,
-  [SMALL_STATE(812)] = 30132,
-  [SMALL_STATE(813)] = 30184,
-  [SMALL_STATE(814)] = 30236,
-  [SMALL_STATE(815)] = 30288,
-  [SMALL_STATE(816)] = 30340,
-  [SMALL_STATE(817)] = 30392,
-  [SMALL_STATE(818)] = 30477,
-  [SMALL_STATE(819)] = 30556,
-  [SMALL_STATE(820)] = 30633,
-  [SMALL_STATE(821)] = 30708,
-  [SMALL_STATE(822)] = 30793,
-  [SMALL_STATE(823)] = 30866,
-  [SMALL_STATE(824)] = 30937,
-  [SMALL_STATE(825)] = 31004,
-  [SMALL_STATE(826)] = 31087,
-  [SMALL_STATE(827)] = 31148,
-  [SMALL_STATE(828)] = 31213,
-  [SMALL_STATE(829)] = 31268,
-  [SMALL_STATE(830)] = 31325,
-  [SMALL_STATE(831)] = 31388,
-  [SMALL_STATE(832)] = 31473,
-  [SMALL_STATE(833)] = 31530,
-  [SMALL_STATE(834)] = 31611,
-  [SMALL_STATE(835)] = 31669,
-  [SMALL_STATE(836)] = 31723,
-  [SMALL_STATE(837)] = 31809,
-  [SMALL_STATE(838)] = 31895,
-  [SMALL_STATE(839)] = 31944,
-  [SMALL_STATE(840)] = 31993,
-  [SMALL_STATE(841)] = 32041,
-  [SMALL_STATE(842)] = 32089,
-  [SMALL_STATE(843)] = 32137,
-  [SMALL_STATE(844)] = 32185,
-  [SMALL_STATE(845)] = 32233,
-  [SMALL_STATE(846)] = 32281,
-  [SMALL_STATE(847)] = 32329,
-  [SMALL_STATE(848)] = 32377,
-  [SMALL_STATE(849)] = 32425,
-  [SMALL_STATE(850)] = 32473,
-  [SMALL_STATE(851)] = 32521,
-  [SMALL_STATE(852)] = 32569,
-  [SMALL_STATE(853)] = 32621,
-  [SMALL_STATE(854)] = 32669,
-  [SMALL_STATE(855)] = 32717,
-  [SMALL_STATE(856)] = 32769,
-  [SMALL_STATE(857)] = 32817,
-  [SMALL_STATE(858)] = 32865,
-  [SMALL_STATE(859)] = 32913,
-  [SMALL_STATE(860)] = 32961,
-  [SMALL_STATE(861)] = 33009,
-  [SMALL_STATE(862)] = 33061,
-  [SMALL_STATE(863)] = 33109,
-  [SMALL_STATE(864)] = 33157,
-  [SMALL_STATE(865)] = 33205,
-  [SMALL_STATE(866)] = 33253,
-  [SMALL_STATE(867)] = 33301,
-  [SMALL_STATE(868)] = 33353,
-  [SMALL_STATE(869)] = 33401,
-  [SMALL_STATE(870)] = 33449,
-  [SMALL_STATE(871)] = 33497,
-  [SMALL_STATE(872)] = 33545,
-  [SMALL_STATE(873)] = 33593,
-  [SMALL_STATE(874)] = 33645,
-  [SMALL_STATE(875)] = 33693,
-  [SMALL_STATE(876)] = 33741,
-  [SMALL_STATE(877)] = 33789,
-  [SMALL_STATE(878)] = 33837,
-  [SMALL_STATE(879)] = 33885,
-  [SMALL_STATE(880)] = 33937,
-  [SMALL_STATE(881)] = 33989,
-  [SMALL_STATE(882)] = 34037,
-  [SMALL_STATE(883)] = 34085,
-  [SMALL_STATE(884)] = 34166,
-  [SMALL_STATE(885)] = 34225,
-  [SMALL_STATE(886)] = 34308,
-  [SMALL_STATE(887)] = 34369,
-  [SMALL_STATE(888)] = 34448,
-  [SMALL_STATE(889)] = 34525,
-  [SMALL_STATE(890)] = 34600,
-  [SMALL_STATE(891)] = 34673,
-  [SMALL_STATE(892)] = 34744,
-  [SMALL_STATE(893)] = 34821,
-  [SMALL_STATE(894)] = 34890,
-  [SMALL_STATE(895)] = 34947,
-  [SMALL_STATE(896)] = 35006,
-  [SMALL_STATE(897)] = 35071,
-  [SMALL_STATE(898)] = 35130,
-  [SMALL_STATE(899)] = 35189,
-  [SMALL_STATE(900)] = 35252,
-  [SMALL_STATE(901)] = 35329,
-  [SMALL_STATE(902)] = 35412,
-  [SMALL_STATE(903)] = 35489,
-  [SMALL_STATE(904)] = 35566,
-  [SMALL_STATE(905)] = 35649,
-  [SMALL_STATE(906)] = 35708,
-  [SMALL_STATE(907)] = 35758,
-  [SMALL_STATE(908)] = 35804,
-  [SMALL_STATE(909)] = 35850,
-  [SMALL_STATE(910)] = 35896,
-  [SMALL_STATE(911)] = 35942,
-  [SMALL_STATE(912)] = 35988,
-  [SMALL_STATE(913)] = 36034,
-  [SMALL_STATE(914)] = 36080,
-  [SMALL_STATE(915)] = 36126,
-  [SMALL_STATE(916)] = 36172,
-  [SMALL_STATE(917)] = 36218,
-  [SMALL_STATE(918)] = 36264,
-  [SMALL_STATE(919)] = 36310,
-  [SMALL_STATE(920)] = 36368,
-  [SMALL_STATE(921)] = 36414,
-  [SMALL_STATE(922)] = 36460,
-  [SMALL_STATE(923)] = 36513,
-  [SMALL_STATE(924)] = 36568,
-  [SMALL_STATE(925)] = 36619,
-  [SMALL_STATE(926)] = 36693,
-  [SMALL_STATE(927)] = 36767,
-  [SMALL_STATE(928)] = 36810,
-  [SMALL_STATE(929)] = 36853,
-  [SMALL_STATE(930)] = 36896,
-  [SMALL_STATE(931)] = 36939,
-  [SMALL_STATE(932)] = 37012,
-  [SMALL_STATE(933)] = 37055,
-  [SMALL_STATE(934)] = 37098,
-  [SMALL_STATE(935)] = 37141,
-  [SMALL_STATE(936)] = 37184,
-  [SMALL_STATE(937)] = 37227,
-  [SMALL_STATE(938)] = 37270,
-  [SMALL_STATE(939)] = 37313,
-  [SMALL_STATE(940)] = 37356,
-  [SMALL_STATE(941)] = 37399,
-  [SMALL_STATE(942)] = 37472,
-  [SMALL_STATE(943)] = 37540,
-  [SMALL_STATE(944)] = 37610,
-  [SMALL_STATE(945)] = 37660,
-  [SMALL_STATE(946)] = 37728,
-  [SMALL_STATE(947)] = 37796,
-  [SMALL_STATE(948)] = 37864,
-  [SMALL_STATE(949)] = 37932,
-  [SMALL_STATE(950)] = 38002,
-  [SMALL_STATE(951)] = 38070,
-  [SMALL_STATE(952)] = 38138,
-  [SMALL_STATE(953)] = 38206,
-  [SMALL_STATE(954)] = 38274,
-  [SMALL_STATE(955)] = 38342,
-  [SMALL_STATE(956)] = 38410,
-  [SMALL_STATE(957)] = 38478,
-  [SMALL_STATE(958)] = 38555,
-  [SMALL_STATE(959)] = 38614,
-  [SMALL_STATE(960)] = 38691,
-  [SMALL_STATE(961)] = 38768,
-  [SMALL_STATE(962)] = 38845,
-  [SMALL_STATE(963)] = 38900,
-  [SMALL_STATE(964)] = 38973,
-  [SMALL_STATE(965)] = 39044,
-  [SMALL_STATE(966)] = 39113,
-  [SMALL_STATE(967)] = 39188,
-  [SMALL_STATE(968)] = 39255,
-  [SMALL_STATE(969)] = 39320,
-  [SMALL_STATE(970)] = 39383,
-  [SMALL_STATE(971)] = 39440,
-  [SMALL_STATE(972)] = 39504,
-  [SMALL_STATE(973)] = 39576,
-  [SMALL_STATE(974)] = 39630,
-  [SMALL_STATE(975)] = 39694,
-  [SMALL_STATE(976)] = 39742,
-  [SMALL_STATE(977)] = 39798,
-  [SMALL_STATE(978)] = 39862,
-  [SMALL_STATE(979)] = 39928,
-  [SMALL_STATE(980)] = 39992,
-  [SMALL_STATE(981)] = 40062,
-  [SMALL_STATE(982)] = 40126,
-  [SMALL_STATE(983)] = 40194,
-  [SMALL_STATE(984)] = 40268,
-  [SMALL_STATE(985)] = 40342,
-  [SMALL_STATE(986)] = 40406,
-  [SMALL_STATE(987)] = 40474,
-  [SMALL_STATE(988)] = 40538,
-  [SMALL_STATE(989)] = 40612,
-  [SMALL_STATE(990)] = 40674,
-  [SMALL_STATE(991)] = 40732,
-  [SMALL_STATE(992)] = 40796,
-  [SMALL_STATE(993)] = 40860,
-  [SMALL_STATE(994)] = 40924,
-  [SMALL_STATE(995)] = 40988,
-  [SMALL_STATE(996)] = 41052,
-  [SMALL_STATE(997)] = 41116,
-  [SMALL_STATE(998)] = 41180,
-  [SMALL_STATE(999)] = 41241,
-  [SMALL_STATE(1000)] = 41302,
-  [SMALL_STATE(1001)] = 41363,
-  [SMALL_STATE(1002)] = 41402,
-  [SMALL_STATE(1003)] = 41441,
-  [SMALL_STATE(1004)] = 41480,
-  [SMALL_STATE(1005)] = 41541,
-  [SMALL_STATE(1006)] = 41602,
-  [SMALL_STATE(1007)] = 41641,
-  [SMALL_STATE(1008)] = 41680,
-  [SMALL_STATE(1009)] = 41719,
-  [SMALL_STATE(1010)] = 41780,
-  [SMALL_STATE(1011)] = 41854,
-  [SMALL_STATE(1012)] = 41929,
-  [SMALL_STATE(1013)] = 42004,
-  [SMALL_STATE(1014)] = 42079,
-  [SMALL_STATE(1015)] = 42150,
-  [SMALL_STATE(1016)] = 42195,
-  [SMALL_STATE(1017)] = 42270,
-  [SMALL_STATE(1018)] = 42317,
-  [SMALL_STATE(1019)] = 42391,
-  [SMALL_STATE(1020)] = 42463,
-  [SMALL_STATE(1021)] = 42535,
-  [SMALL_STATE(1022)] = 42607,
-  [SMALL_STATE(1023)] = 42677,
-  [SMALL_STATE(1024)] = 42749,
-  [SMALL_STATE(1025)] = 42821,
-  [SMALL_STATE(1026)] = 42893,
-  [SMALL_STATE(1027)] = 42965,
-  [SMALL_STATE(1028)] = 43035,
-  [SMALL_STATE(1029)] = 43105,
-  [SMALL_STATE(1030)] = 43177,
-  [SMALL_STATE(1031)] = 43247,
-  [SMALL_STATE(1032)] = 43319,
-  [SMALL_STATE(1033)] = 43389,
-  [SMALL_STATE(1034)] = 43461,
-  [SMALL_STATE(1035)] = 43533,
-  [SMALL_STATE(1036)] = 43605,
-  [SMALL_STATE(1037)] = 43675,
-  [SMALL_STATE(1038)] = 43747,
-  [SMALL_STATE(1039)] = 43819,
-  [SMALL_STATE(1040)] = 43891,
-  [SMALL_STATE(1041)] = 43961,
-  [SMALL_STATE(1042)] = 44033,
-  [SMALL_STATE(1043)] = 44105,
-  [SMALL_STATE(1044)] = 44177,
-  [SMALL_STATE(1045)] = 44249,
-  [SMALL_STATE(1046)] = 44321,
-  [SMALL_STATE(1047)] = 44393,
-  [SMALL_STATE(1048)] = 44465,
-  [SMALL_STATE(1049)] = 44537,
-  [SMALL_STATE(1050)] = 44609,
-  [SMALL_STATE(1051)] = 44661,
-  [SMALL_STATE(1052)] = 44733,
-  [SMALL_STATE(1053)] = 44801,
-  [SMALL_STATE(1054)] = 44871,
-  [SMALL_STATE(1055)] = 44937,
-  [SMALL_STATE(1056)] = 45003,
-  [SMALL_STATE(1057)] = 45067,
-  [SMALL_STATE(1058)] = 45129,
-  [SMALL_STATE(1059)] = 45189,
-  [SMALL_STATE(1060)] = 45245,
-  [SMALL_STATE(1061)] = 45317,
-  [SMALL_STATE(1062)] = 45371,
-  [SMALL_STATE(1063)] = 45443,
-  [SMALL_STATE(1064)] = 45515,
-  [SMALL_STATE(1065)] = 45587,
-  [SMALL_STATE(1066)] = 45656,
-  [SMALL_STATE(1067)] = 45725,
-  [SMALL_STATE(1068)] = 45794,
-  [SMALL_STATE(1069)] = 45863,
-  [SMALL_STATE(1070)] = 45932,
-  [SMALL_STATE(1071)] = 46001,
-  [SMALL_STATE(1072)] = 46070,
-  [SMALL_STATE(1073)] = 46125,
-  [SMALL_STATE(1074)] = 46180,
-  [SMALL_STATE(1075)] = 46249,
-  [SMALL_STATE(1076)] = 46318,
-  [SMALL_STATE(1077)] = 46373,
-  [SMALL_STATE(1078)] = 46442,
-  [SMALL_STATE(1079)] = 46511,
-  [SMALL_STATE(1080)] = 46550,
-  [SMALL_STATE(1081)] = 46619,
-  [SMALL_STATE(1082)] = 46658,
-  [SMALL_STATE(1083)] = 46727,
-  [SMALL_STATE(1084)] = 46796,
-  [SMALL_STATE(1085)] = 46851,
-  [SMALL_STATE(1086)] = 46920,
-  [SMALL_STATE(1087)] = 46989,
-  [SMALL_STATE(1088)] = 47044,
-  [SMALL_STATE(1089)] = 47113,
-  [SMALL_STATE(1090)] = 47182,
-  [SMALL_STATE(1091)] = 47251,
-  [SMALL_STATE(1092)] = 47320,
-  [SMALL_STATE(1093)] = 47389,
-  [SMALL_STATE(1094)] = 47458,
-  [SMALL_STATE(1095)] = 47497,
-  [SMALL_STATE(1096)] = 47552,
-  [SMALL_STATE(1097)] = 47604,
-  [SMALL_STATE(1098)] = 47656,
-  [SMALL_STATE(1099)] = 47708,
-  [SMALL_STATE(1100)] = 47760,
-  [SMALL_STATE(1101)] = 47826,
-  [SMALL_STATE(1102)] = 47878,
-  [SMALL_STATE(1103)] = 47930,
-  [SMALL_STATE(1104)] = 47966,
-  [SMALL_STATE(1105)] = 48018,
-  [SMALL_STATE(1106)] = 48070,
-  [SMALL_STATE(1107)] = 48122,
-  [SMALL_STATE(1108)] = 48161,
-  [SMALL_STATE(1109)] = 48202,
-  [SMALL_STATE(1110)] = 48242,
-  [SMALL_STATE(1111)] = 48282,
-  [SMALL_STATE(1112)] = 48322,
-  [SMALL_STATE(1113)] = 48362,
-  [SMALL_STATE(1114)] = 48411,
-  [SMALL_STATE(1115)] = 48466,
-  [SMALL_STATE(1116)] = 48504,
-  [SMALL_STATE(1117)] = 48558,
-  [SMALL_STATE(1118)] = 48592,
-  [SMALL_STATE(1119)] = 48646,
-  [SMALL_STATE(1120)] = 48700,
-  [SMALL_STATE(1121)] = 48734,
-  [SMALL_STATE(1122)] = 48768,
-  [SMALL_STATE(1123)] = 48802,
-  [SMALL_STATE(1124)] = 48836,
-  [SMALL_STATE(1125)] = 48870,
-  [SMALL_STATE(1126)] = 48904,
-  [SMALL_STATE(1127)] = 48938,
-  [SMALL_STATE(1128)] = 48972,
-  [SMALL_STATE(1129)] = 49008,
-  [SMALL_STATE(1130)] = 49062,
-  [SMALL_STATE(1131)] = 49113,
-  [SMALL_STATE(1132)] = 49146,
-  [SMALL_STATE(1133)] = 49189,
-  [SMALL_STATE(1134)] = 49244,
-  [SMALL_STATE(1135)] = 49287,
-  [SMALL_STATE(1136)] = 49338,
-  [SMALL_STATE(1137)] = 49389,
-  [SMALL_STATE(1138)] = 49440,
-  [SMALL_STATE(1139)] = 49495,
-  [SMALL_STATE(1140)] = 49546,
-  [SMALL_STATE(1141)] = 49597,
-  [SMALL_STATE(1142)] = 49648,
-  [SMALL_STATE(1143)] = 49703,
-  [SMALL_STATE(1144)] = 49754,
-  [SMALL_STATE(1145)] = 49805,
-  [SMALL_STATE(1146)] = 49848,
-  [SMALL_STATE(1147)] = 49899,
-  [SMALL_STATE(1148)] = 49950,
-  [SMALL_STATE(1149)] = 49990,
-  [SMALL_STATE(1150)] = 50030,
-  [SMALL_STATE(1151)] = 50070,
-  [SMALL_STATE(1152)] = 50116,
-  [SMALL_STATE(1153)] = 50156,
-  [SMALL_STATE(1154)] = 50196,
-  [SMALL_STATE(1155)] = 50234,
-  [SMALL_STATE(1156)] = 50274,
-  [SMALL_STATE(1157)] = 50310,
-  [SMALL_STATE(1158)] = 50344,
-  [SMALL_STATE(1159)] = 50384,
-  [SMALL_STATE(1160)] = 50424,
-  [SMALL_STATE(1161)] = 50464,
-  [SMALL_STATE(1162)] = 50506,
-  [SMALL_STATE(1163)] = 50546,
-  [SMALL_STATE(1164)] = 50586,
-  [SMALL_STATE(1165)] = 50626,
-  [SMALL_STATE(1166)] = 50666,
-  [SMALL_STATE(1167)] = 50694,
-  [SMALL_STATE(1168)] = 50734,
-  [SMALL_STATE(1169)] = 50762,
-  [SMALL_STATE(1170)] = 50802,
-  [SMALL_STATE(1171)] = 50830,
-  [SMALL_STATE(1172)] = 50870,
-  [SMALL_STATE(1173)] = 50910,
-  [SMALL_STATE(1174)] = 50950,
-  [SMALL_STATE(1175)] = 50990,
-  [SMALL_STATE(1176)] = 51038,
-  [SMALL_STATE(1177)] = 51078,
-  [SMALL_STATE(1178)] = 51118,
-  [SMALL_STATE(1179)] = 51158,
-  [SMALL_STATE(1180)] = 51186,
-  [SMALL_STATE(1181)] = 51226,
-  [SMALL_STATE(1182)] = 51266,
-  [SMALL_STATE(1183)] = 51306,
-  [SMALL_STATE(1184)] = 51346,
-  [SMALL_STATE(1185)] = 51386,
-  [SMALL_STATE(1186)] = 51426,
-  [SMALL_STATE(1187)] = 51466,
-  [SMALL_STATE(1188)] = 51506,
-  [SMALL_STATE(1189)] = 51546,
-  [SMALL_STATE(1190)] = 51586,
-  [SMALL_STATE(1191)] = 51626,
-  [SMALL_STATE(1192)] = 51666,
-  [SMALL_STATE(1193)] = 51712,
-  [SMALL_STATE(1194)] = 51762,
-  [SMALL_STATE(1195)] = 51802,
-  [SMALL_STATE(1196)] = 51830,
-  [SMALL_STATE(1197)] = 51870,
-  [SMALL_STATE(1198)] = 51910,
-  [SMALL_STATE(1199)] = 51942,
-  [SMALL_STATE(1200)] = 51982,
-  [SMALL_STATE(1201)] = 52022,
-  [SMALL_STATE(1202)] = 52062,
-  [SMALL_STATE(1203)] = 52090,
-  [SMALL_STATE(1204)] = 52134,
-  [SMALL_STATE(1205)] = 52161,
-  [SMALL_STATE(1206)] = 52206,
-  [SMALL_STATE(1207)] = 52249,
-  [SMALL_STATE(1208)] = 52298,
-  [SMALL_STATE(1209)] = 52325,
-  [SMALL_STATE(1210)] = 52358,
-  [SMALL_STATE(1211)] = 52403,
-  [SMALL_STATE(1212)] = 52432,
-  [SMALL_STATE(1213)] = 52475,
-  [SMALL_STATE(1214)] = 52520,
-  [SMALL_STATE(1215)] = 52547,
-  [SMALL_STATE(1216)] = 52578,
-  [SMALL_STATE(1217)] = 52605,
-  [SMALL_STATE(1218)] = 52650,
-  [SMALL_STATE(1219)] = 52693,
-  [SMALL_STATE(1220)] = 52738,
-  [SMALL_STATE(1221)] = 52777,
-  [SMALL_STATE(1222)] = 52804,
-  [SMALL_STATE(1223)] = 52831,
-  [SMALL_STATE(1224)] = 52876,
-  [SMALL_STATE(1225)] = 52921,
-  [SMALL_STATE(1226)] = 52964,
-  [SMALL_STATE(1227)] = 52991,
-  [SMALL_STATE(1228)] = 53040,
-  [SMALL_STATE(1229)] = 53067,
-  [SMALL_STATE(1230)] = 53110,
-  [SMALL_STATE(1231)] = 53147,
-  [SMALL_STATE(1232)] = 53192,
-  [SMALL_STATE(1233)] = 53219,
-  [SMALL_STATE(1234)] = 53246,
-  [SMALL_STATE(1235)] = 53281,
-  [SMALL_STATE(1236)] = 53326,
-  [SMALL_STATE(1237)] = 53371,
-  [SMALL_STATE(1238)] = 53416,
-  [SMALL_STATE(1239)] = 53461,
-  [SMALL_STATE(1240)] = 53506,
-  [SMALL_STATE(1241)] = 53547,
-  [SMALL_STATE(1242)] = 53592,
-  [SMALL_STATE(1243)] = 53637,
-  [SMALL_STATE(1244)] = 53677,
-  [SMALL_STATE(1245)] = 53721,
-  [SMALL_STATE(1246)] = 53761,
-  [SMALL_STATE(1247)] = 53801,
-  [SMALL_STATE(1248)] = 53841,
-  [SMALL_STATE(1249)] = 53881,
-  [SMALL_STATE(1250)] = 53921,
-  [SMALL_STATE(1251)] = 53956,
-  [SMALL_STATE(1252)] = 53997,
-  [SMALL_STATE(1253)] = 54038,
-  [SMALL_STATE(1254)] = 54079,
-  [SMALL_STATE(1255)] = 54120,
-  [SMALL_STATE(1256)] = 54161,
-  [SMALL_STATE(1257)] = 54202,
-  [SMALL_STATE(1258)] = 54243,
-  [SMALL_STATE(1259)] = 54284,
-  [SMALL_STATE(1260)] = 54325,
-  [SMALL_STATE(1261)] = 54355,
-  [SMALL_STATE(1262)] = 54393,
-  [SMALL_STATE(1263)] = 54431,
-  [SMALL_STATE(1264)] = 54461,
-  [SMALL_STATE(1265)] = 54499,
-  [SMALL_STATE(1266)] = 54529,
-  [SMALL_STATE(1267)] = 54559,
-  [SMALL_STATE(1268)] = 54586,
-  [SMALL_STATE(1269)] = 54627,
-  [SMALL_STATE(1270)] = 54666,
-  [SMALL_STATE(1271)] = 54705,
-  [SMALL_STATE(1272)] = 54744,
-  [SMALL_STATE(1273)] = 54785,
-  [SMALL_STATE(1274)] = 54826,
-  [SMALL_STATE(1275)] = 54865,
-  [SMALL_STATE(1276)] = 54887,
-  [SMALL_STATE(1277)] = 54909,
-  [SMALL_STATE(1278)] = 54935,
-  [SMALL_STATE(1279)] = 54967,
-  [SMALL_STATE(1280)] = 54999,
-  [SMALL_STATE(1281)] = 55031,
-  [SMALL_STATE(1282)] = 55053,
-  [SMALL_STATE(1283)] = 55085,
-  [SMALL_STATE(1284)] = 55117,
-  [SMALL_STATE(1285)] = 55143,
-  [SMALL_STATE(1286)] = 55180,
-  [SMALL_STATE(1287)] = 55217,
-  [SMALL_STATE(1288)] = 55254,
-  [SMALL_STATE(1289)] = 55291,
-  [SMALL_STATE(1290)] = 55324,
-  [SMALL_STATE(1291)] = 55361,
-  [SMALL_STATE(1292)] = 55398,
-  [SMALL_STATE(1293)] = 55435,
-  [SMALL_STATE(1294)] = 55472,
-  [SMALL_STATE(1295)] = 55505,
-  [SMALL_STATE(1296)] = 55542,
-  [SMALL_STATE(1297)] = 55579,
-  [SMALL_STATE(1298)] = 55616,
-  [SMALL_STATE(1299)] = 55636,
-  [SMALL_STATE(1300)] = 55656,
-  [SMALL_STATE(1301)] = 55676,
-  [SMALL_STATE(1302)] = 55696,
-  [SMALL_STATE(1303)] = 55716,
-  [SMALL_STATE(1304)] = 55736,
-  [SMALL_STATE(1305)] = 55756,
-  [SMALL_STATE(1306)] = 55792,
-  [SMALL_STATE(1307)] = 55818,
-  [SMALL_STATE(1308)] = 55847,
-  [SMALL_STATE(1309)] = 55876,
-  [SMALL_STATE(1310)] = 55907,
-  [SMALL_STATE(1311)] = 55936,
-  [SMALL_STATE(1312)] = 55965,
-  [SMALL_STATE(1313)] = 55992,
-  [SMALL_STATE(1314)] = 56023,
-  [SMALL_STATE(1315)] = 56052,
-  [SMALL_STATE(1316)] = 56081,
-  [SMALL_STATE(1317)] = 56112,
-  [SMALL_STATE(1318)] = 56139,
-  [SMALL_STATE(1319)] = 56170,
-  [SMALL_STATE(1320)] = 56201,
-  [SMALL_STATE(1321)] = 56230,
-  [SMALL_STATE(1322)] = 56259,
-  [SMALL_STATE(1323)] = 56290,
-  [SMALL_STATE(1324)] = 56319,
-  [SMALL_STATE(1325)] = 56348,
-  [SMALL_STATE(1326)] = 56379,
-  [SMALL_STATE(1327)] = 56408,
-  [SMALL_STATE(1328)] = 56439,
-  [SMALL_STATE(1329)] = 56468,
-  [SMALL_STATE(1330)] = 56495,
-  [SMALL_STATE(1331)] = 56526,
-  [SMALL_STATE(1332)] = 56553,
-  [SMALL_STATE(1333)] = 56584,
-  [SMALL_STATE(1334)] = 56613,
-  [SMALL_STATE(1335)] = 56642,
-  [SMALL_STATE(1336)] = 56667,
-  [SMALL_STATE(1337)] = 56699,
-  [SMALL_STATE(1338)] = 56725,
-  [SMALL_STATE(1339)] = 56747,
-  [SMALL_STATE(1340)] = 56773,
-  [SMALL_STATE(1341)] = 56799,
-  [SMALL_STATE(1342)] = 56823,
-  [SMALL_STATE(1343)] = 56855,
-  [SMALL_STATE(1344)] = 56877,
-  [SMALL_STATE(1345)] = 56909,
-  [SMALL_STATE(1346)] = 56941,
-  [SMALL_STATE(1347)] = 56967,
-  [SMALL_STATE(1348)] = 56989,
-  [SMALL_STATE(1349)] = 57011,
-  [SMALL_STATE(1350)] = 57041,
-  [SMALL_STATE(1351)] = 57065,
-  [SMALL_STATE(1352)] = 57089,
-  [SMALL_STATE(1353)] = 57110,
-  [SMALL_STATE(1354)] = 57139,
-  [SMALL_STATE(1355)] = 57164,
-  [SMALL_STATE(1356)] = 57189,
-  [SMALL_STATE(1357)] = 57218,
-  [SMALL_STATE(1358)] = 57247,
-  [SMALL_STATE(1359)] = 57276,
-  [SMALL_STATE(1360)] = 57301,
-  [SMALL_STATE(1361)] = 57330,
-  [SMALL_STATE(1362)] = 57351,
-  [SMALL_STATE(1363)] = 57376,
-  [SMALL_STATE(1364)] = 57397,
-  [SMALL_STATE(1365)] = 57418,
-  [SMALL_STATE(1366)] = 57447,
-  [SMALL_STATE(1367)] = 57468,
-  [SMALL_STATE(1368)] = 57493,
-  [SMALL_STATE(1369)] = 57514,
-  [SMALL_STATE(1370)] = 57535,
-  [SMALL_STATE(1371)] = 57556,
-  [SMALL_STATE(1372)] = 57577,
-  [SMALL_STATE(1373)] = 57606,
-  [SMALL_STATE(1374)] = 57631,
-  [SMALL_STATE(1375)] = 57660,
-  [SMALL_STATE(1376)] = 57680,
-  [SMALL_STATE(1377)] = 57706,
-  [SMALL_STATE(1378)] = 57732,
-  [SMALL_STATE(1379)] = 57748,
-  [SMALL_STATE(1380)] = 57774,
-  [SMALL_STATE(1381)] = 57800,
-  [SMALL_STATE(1382)] = 57826,
-  [SMALL_STATE(1383)] = 57846,
-  [SMALL_STATE(1384)] = 57872,
-  [SMALL_STATE(1385)] = 57888,
-  [SMALL_STATE(1386)] = 57914,
-  [SMALL_STATE(1387)] = 57930,
-  [SMALL_STATE(1388)] = 57946,
-  [SMALL_STATE(1389)] = 57972,
-  [SMALL_STATE(1390)] = 57996,
-  [SMALL_STATE(1391)] = 58022,
-  [SMALL_STATE(1392)] = 58038,
-  [SMALL_STATE(1393)] = 58054,
-  [SMALL_STATE(1394)] = 58074,
-  [SMALL_STATE(1395)] = 58094,
-  [SMALL_STATE(1396)] = 58114,
-  [SMALL_STATE(1397)] = 58130,
-  [SMALL_STATE(1398)] = 58156,
-  [SMALL_STATE(1399)] = 58174,
-  [SMALL_STATE(1400)] = 58196,
-  [SMALL_STATE(1401)] = 58222,
-  [SMALL_STATE(1402)] = 58238,
-  [SMALL_STATE(1403)] = 58264,
-  [SMALL_STATE(1404)] = 58280,
-  [SMALL_STATE(1405)] = 58295,
-  [SMALL_STATE(1406)] = 58314,
-  [SMALL_STATE(1407)] = 58329,
-  [SMALL_STATE(1408)] = 58352,
-  [SMALL_STATE(1409)] = 58367,
-  [SMALL_STATE(1410)] = 58390,
-  [SMALL_STATE(1411)] = 58409,
-  [SMALL_STATE(1412)] = 58424,
-  [SMALL_STATE(1413)] = 58439,
-  [SMALL_STATE(1414)] = 58462,
-  [SMALL_STATE(1415)] = 58485,
-  [SMALL_STATE(1416)] = 58500,
-  [SMALL_STATE(1417)] = 58523,
-  [SMALL_STATE(1418)] = 58538,
-  [SMALL_STATE(1419)] = 58561,
-  [SMALL_STATE(1420)] = 58580,
-  [SMALL_STATE(1421)] = 58595,
-  [SMALL_STATE(1422)] = 58612,
-  [SMALL_STATE(1423)] = 58635,
-  [SMALL_STATE(1424)] = 58650,
-  [SMALL_STATE(1425)] = 58673,
-  [SMALL_STATE(1426)] = 58690,
-  [SMALL_STATE(1427)] = 58709,
-  [SMALL_STATE(1428)] = 58732,
-  [SMALL_STATE(1429)] = 58749,
-  [SMALL_STATE(1430)] = 58774,
-  [SMALL_STATE(1431)] = 58793,
-  [SMALL_STATE(1432)] = 58816,
-  [SMALL_STATE(1433)] = 58839,
-  [SMALL_STATE(1434)] = 58856,
-  [SMALL_STATE(1435)] = 58879,
-  [SMALL_STATE(1436)] = 58902,
-  [SMALL_STATE(1437)] = 58925,
-  [SMALL_STATE(1438)] = 58948,
-  [SMALL_STATE(1439)] = 58971,
-  [SMALL_STATE(1440)] = 58994,
-  [SMALL_STATE(1441)] = 59017,
-  [SMALL_STATE(1442)] = 59032,
-  [SMALL_STATE(1443)] = 59055,
-  [SMALL_STATE(1444)] = 59069,
-  [SMALL_STATE(1445)] = 59081,
-  [SMALL_STATE(1446)] = 59093,
-  [SMALL_STATE(1447)] = 59105,
-  [SMALL_STATE(1448)] = 59117,
-  [SMALL_STATE(1449)] = 59131,
-  [SMALL_STATE(1450)] = 59143,
-  [SMALL_STATE(1451)] = 59163,
-  [SMALL_STATE(1452)] = 59175,
-  [SMALL_STATE(1453)] = 59193,
-  [SMALL_STATE(1454)] = 59207,
-  [SMALL_STATE(1455)] = 59225,
-  [SMALL_STATE(1456)] = 59239,
-  [SMALL_STATE(1457)] = 59251,
-  [SMALL_STATE(1458)] = 59263,
-  [SMALL_STATE(1459)] = 59281,
-  [SMALL_STATE(1460)] = 59293,
-  [SMALL_STATE(1461)] = 59305,
-  [SMALL_STATE(1462)] = 59319,
-  [SMALL_STATE(1463)] = 59331,
-  [SMALL_STATE(1464)] = 59345,
-  [SMALL_STATE(1465)] = 59359,
-  [SMALL_STATE(1466)] = 59373,
-  [SMALL_STATE(1467)] = 59385,
-  [SMALL_STATE(1468)] = 59403,
-  [SMALL_STATE(1469)] = 59417,
-  [SMALL_STATE(1470)] = 59435,
-  [SMALL_STATE(1471)] = 59449,
-  [SMALL_STATE(1472)] = 59467,
-  [SMALL_STATE(1473)] = 59479,
-  [SMALL_STATE(1474)] = 59493,
-  [SMALL_STATE(1475)] = 59507,
-  [SMALL_STATE(1476)] = 59521,
-  [SMALL_STATE(1477)] = 59535,
-  [SMALL_STATE(1478)] = 59549,
-  [SMALL_STATE(1479)] = 59566,
-  [SMALL_STATE(1480)] = 59581,
-  [SMALL_STATE(1481)] = 59600,
-  [SMALL_STATE(1482)] = 59619,
-  [SMALL_STATE(1483)] = 59638,
-  [SMALL_STATE(1484)] = 59649,
-  [SMALL_STATE(1485)] = 59662,
-  [SMALL_STATE(1486)] = 59677,
-  [SMALL_STATE(1487)] = 59692,
-  [SMALL_STATE(1488)] = 59706,
-  [SMALL_STATE(1489)] = 59720,
-  [SMALL_STATE(1490)] = 59734,
-  [SMALL_STATE(1491)] = 59750,
-  [SMALL_STATE(1492)] = 59764,
-  [SMALL_STATE(1493)] = 59780,
-  [SMALL_STATE(1494)] = 59794,
-  [SMALL_STATE(1495)] = 59808,
-  [SMALL_STATE(1496)] = 59822,
-  [SMALL_STATE(1497)] = 59838,
-  [SMALL_STATE(1498)] = 59852,
-  [SMALL_STATE(1499)] = 59868,
-  [SMALL_STATE(1500)] = 59884,
-  [SMALL_STATE(1501)] = 59898,
-  [SMALL_STATE(1502)] = 59912,
-  [SMALL_STATE(1503)] = 59926,
-  [SMALL_STATE(1504)] = 59940,
-  [SMALL_STATE(1505)] = 59954,
-  [SMALL_STATE(1506)] = 59968,
-  [SMALL_STATE(1507)] = 59982,
-  [SMALL_STATE(1508)] = 59998,
-  [SMALL_STATE(1509)] = 60012,
-  [SMALL_STATE(1510)] = 60026,
-  [SMALL_STATE(1511)] = 60040,
-  [SMALL_STATE(1512)] = 60054,
-  [SMALL_STATE(1513)] = 60068,
-  [SMALL_STATE(1514)] = 60082,
-  [SMALL_STATE(1515)] = 60096,
-  [SMALL_STATE(1516)] = 60110,
-  [SMALL_STATE(1517)] = 60124,
-  [SMALL_STATE(1518)] = 60140,
-  [SMALL_STATE(1519)] = 60154,
-  [SMALL_STATE(1520)] = 60168,
-  [SMALL_STATE(1521)] = 60182,
-  [SMALL_STATE(1522)] = 60198,
-  [SMALL_STATE(1523)] = 60214,
-  [SMALL_STATE(1524)] = 60228,
-  [SMALL_STATE(1525)] = 60242,
-  [SMALL_STATE(1526)] = 60258,
-  [SMALL_STATE(1527)] = 60272,
-  [SMALL_STATE(1528)] = 60288,
-  [SMALL_STATE(1529)] = 60302,
-  [SMALL_STATE(1530)] = 60318,
-  [SMALL_STATE(1531)] = 60334,
-  [SMALL_STATE(1532)] = 60348,
-  [SMALL_STATE(1533)] = 60364,
-  [SMALL_STATE(1534)] = 60380,
-  [SMALL_STATE(1535)] = 60396,
-  [SMALL_STATE(1536)] = 60410,
-  [SMALL_STATE(1537)] = 60424,
-  [SMALL_STATE(1538)] = 60440,
-  [SMALL_STATE(1539)] = 60454,
-  [SMALL_STATE(1540)] = 60468,
-  [SMALL_STATE(1541)] = 60484,
-  [SMALL_STATE(1542)] = 60498,
-  [SMALL_STATE(1543)] = 60512,
-  [SMALL_STATE(1544)] = 60526,
-  [SMALL_STATE(1545)] = 60540,
-  [SMALL_STATE(1546)] = 60556,
-  [SMALL_STATE(1547)] = 60570,
-  [SMALL_STATE(1548)] = 60584,
-  [SMALL_STATE(1549)] = 60598,
-  [SMALL_STATE(1550)] = 60611,
-  [SMALL_STATE(1551)] = 60624,
-  [SMALL_STATE(1552)] = 60637,
-  [SMALL_STATE(1553)] = 60650,
-  [SMALL_STATE(1554)] = 60663,
-  [SMALL_STATE(1555)] = 60676,
-  [SMALL_STATE(1556)] = 60685,
-  [SMALL_STATE(1557)] = 60698,
-  [SMALL_STATE(1558)] = 60711,
-  [SMALL_STATE(1559)] = 60724,
-  [SMALL_STATE(1560)] = 60737,
-  [SMALL_STATE(1561)] = 60750,
-  [SMALL_STATE(1562)] = 60763,
-  [SMALL_STATE(1563)] = 60776,
-  [SMALL_STATE(1564)] = 60789,
-  [SMALL_STATE(1565)] = 60802,
-  [SMALL_STATE(1566)] = 60815,
-  [SMALL_STATE(1567)] = 60828,
-  [SMALL_STATE(1568)] = 60839,
-  [SMALL_STATE(1569)] = 60852,
-  [SMALL_STATE(1570)] = 60865,
-  [SMALL_STATE(1571)] = 60878,
-  [SMALL_STATE(1572)] = 60891,
-  [SMALL_STATE(1573)] = 60900,
-  [SMALL_STATE(1574)] = 60913,
-  [SMALL_STATE(1575)] = 60926,
-  [SMALL_STATE(1576)] = 60939,
-  [SMALL_STATE(1577)] = 60952,
-  [SMALL_STATE(1578)] = 60965,
-  [SMALL_STATE(1579)] = 60978,
-  [SMALL_STATE(1580)] = 60991,
-  [SMALL_STATE(1581)] = 61004,
-  [SMALL_STATE(1582)] = 61013,
-  [SMALL_STATE(1583)] = 61026,
-  [SMALL_STATE(1584)] = 61039,
-  [SMALL_STATE(1585)] = 61052,
-  [SMALL_STATE(1586)] = 61065,
-  [SMALL_STATE(1587)] = 61078,
-  [SMALL_STATE(1588)] = 61091,
-  [SMALL_STATE(1589)] = 61100,
-  [SMALL_STATE(1590)] = 61113,
-  [SMALL_STATE(1591)] = 61126,
-  [SMALL_STATE(1592)] = 61139,
-  [SMALL_STATE(1593)] = 61152,
-  [SMALL_STATE(1594)] = 61165,
-  [SMALL_STATE(1595)] = 61178,
-  [SMALL_STATE(1596)] = 61191,
-  [SMALL_STATE(1597)] = 61204,
-  [SMALL_STATE(1598)] = 61217,
-  [SMALL_STATE(1599)] = 61230,
-  [SMALL_STATE(1600)] = 61243,
-  [SMALL_STATE(1601)] = 61256,
-  [SMALL_STATE(1602)] = 61267,
-  [SMALL_STATE(1603)] = 61280,
-  [SMALL_STATE(1604)] = 61293,
-  [SMALL_STATE(1605)] = 61306,
-  [SMALL_STATE(1606)] = 61319,
-  [SMALL_STATE(1607)] = 61332,
-  [SMALL_STATE(1608)] = 61345,
-  [SMALL_STATE(1609)] = 61358,
-  [SMALL_STATE(1610)] = 61371,
-  [SMALL_STATE(1611)] = 61384,
-  [SMALL_STATE(1612)] = 61397,
-  [SMALL_STATE(1613)] = 61410,
-  [SMALL_STATE(1614)] = 61423,
-  [SMALL_STATE(1615)] = 61436,
-  [SMALL_STATE(1616)] = 61449,
-  [SMALL_STATE(1617)] = 61462,
-  [SMALL_STATE(1618)] = 61475,
-  [SMALL_STATE(1619)] = 61488,
-  [SMALL_STATE(1620)] = 61501,
-  [SMALL_STATE(1621)] = 61514,
-  [SMALL_STATE(1622)] = 61527,
-  [SMALL_STATE(1623)] = 61540,
-  [SMALL_STATE(1624)] = 61553,
-  [SMALL_STATE(1625)] = 61564,
-  [SMALL_STATE(1626)] = 61577,
-  [SMALL_STATE(1627)] = 61586,
-  [SMALL_STATE(1628)] = 61599,
-  [SMALL_STATE(1629)] = 61608,
-  [SMALL_STATE(1630)] = 61617,
-  [SMALL_STATE(1631)] = 61630,
-  [SMALL_STATE(1632)] = 61639,
-  [SMALL_STATE(1633)] = 61652,
-  [SMALL_STATE(1634)] = 61665,
-  [SMALL_STATE(1635)] = 61678,
-  [SMALL_STATE(1636)] = 61691,
-  [SMALL_STATE(1637)] = 61704,
-  [SMALL_STATE(1638)] = 61717,
-  [SMALL_STATE(1639)] = 61730,
-  [SMALL_STATE(1640)] = 61743,
-  [SMALL_STATE(1641)] = 61756,
-  [SMALL_STATE(1642)] = 61769,
-  [SMALL_STATE(1643)] = 61782,
-  [SMALL_STATE(1644)] = 61795,
-  [SMALL_STATE(1645)] = 61808,
-  [SMALL_STATE(1646)] = 61821,
-  [SMALL_STATE(1647)] = 61834,
-  [SMALL_STATE(1648)] = 61847,
-  [SMALL_STATE(1649)] = 61860,
-  [SMALL_STATE(1650)] = 61871,
-  [SMALL_STATE(1651)] = 61880,
-  [SMALL_STATE(1652)] = 61893,
-  [SMALL_STATE(1653)] = 61906,
-  [SMALL_STATE(1654)] = 61917,
-  [SMALL_STATE(1655)] = 61930,
-  [SMALL_STATE(1656)] = 61943,
-  [SMALL_STATE(1657)] = 61956,
-  [SMALL_STATE(1658)] = 61969,
-  [SMALL_STATE(1659)] = 61982,
-  [SMALL_STATE(1660)] = 61991,
-  [SMALL_STATE(1661)] = 62004,
-  [SMALL_STATE(1662)] = 62017,
-  [SMALL_STATE(1663)] = 62030,
-  [SMALL_STATE(1664)] = 62043,
-  [SMALL_STATE(1665)] = 62052,
-  [SMALL_STATE(1666)] = 62061,
-  [SMALL_STATE(1667)] = 62074,
-  [SMALL_STATE(1668)] = 62087,
-  [SMALL_STATE(1669)] = 62100,
-  [SMALL_STATE(1670)] = 62110,
-  [SMALL_STATE(1671)] = 62118,
-  [SMALL_STATE(1672)] = 62126,
-  [SMALL_STATE(1673)] = 62136,
-  [SMALL_STATE(1674)] = 62146,
-  [SMALL_STATE(1675)] = 62156,
-  [SMALL_STATE(1676)] = 62164,
-  [SMALL_STATE(1677)] = 62174,
-  [SMALL_STATE(1678)] = 62184,
-  [SMALL_STATE(1679)] = 62194,
-  [SMALL_STATE(1680)] = 62202,
-  [SMALL_STATE(1681)] = 62210,
-  [SMALL_STATE(1682)] = 62218,
-  [SMALL_STATE(1683)] = 62228,
-  [SMALL_STATE(1684)] = 62238,
-  [SMALL_STATE(1685)] = 62248,
-  [SMALL_STATE(1686)] = 62258,
-  [SMALL_STATE(1687)] = 62268,
-  [SMALL_STATE(1688)] = 62278,
-  [SMALL_STATE(1689)] = 62288,
-  [SMALL_STATE(1690)] = 62298,
-  [SMALL_STATE(1691)] = 62306,
-  [SMALL_STATE(1692)] = 62314,
-  [SMALL_STATE(1693)] = 62324,
-  [SMALL_STATE(1694)] = 62334,
-  [SMALL_STATE(1695)] = 62344,
-  [SMALL_STATE(1696)] = 62354,
-  [SMALL_STATE(1697)] = 62364,
-  [SMALL_STATE(1698)] = 62374,
-  [SMALL_STATE(1699)] = 62382,
-  [SMALL_STATE(1700)] = 62392,
-  [SMALL_STATE(1701)] = 62402,
-  [SMALL_STATE(1702)] = 62412,
-  [SMALL_STATE(1703)] = 62422,
-  [SMALL_STATE(1704)] = 62432,
-  [SMALL_STATE(1705)] = 62440,
-  [SMALL_STATE(1706)] = 62450,
-  [SMALL_STATE(1707)] = 62460,
-  [SMALL_STATE(1708)] = 62470,
-  [SMALL_STATE(1709)] = 62480,
-  [SMALL_STATE(1710)] = 62490,
-  [SMALL_STATE(1711)] = 62500,
-  [SMALL_STATE(1712)] = 62510,
-  [SMALL_STATE(1713)] = 62520,
-  [SMALL_STATE(1714)] = 62530,
-  [SMALL_STATE(1715)] = 62540,
-  [SMALL_STATE(1716)] = 62550,
-  [SMALL_STATE(1717)] = 62560,
-  [SMALL_STATE(1718)] = 62570,
-  [SMALL_STATE(1719)] = 62578,
-  [SMALL_STATE(1720)] = 62588,
-  [SMALL_STATE(1721)] = 62598,
-  [SMALL_STATE(1722)] = 62608,
-  [SMALL_STATE(1723)] = 62618,
-  [SMALL_STATE(1724)] = 62626,
-  [SMALL_STATE(1725)] = 62636,
-  [SMALL_STATE(1726)] = 62646,
-  [SMALL_STATE(1727)] = 62654,
-  [SMALL_STATE(1728)] = 62664,
-  [SMALL_STATE(1729)] = 62674,
-  [SMALL_STATE(1730)] = 62684,
-  [SMALL_STATE(1731)] = 62694,
-  [SMALL_STATE(1732)] = 62704,
-  [SMALL_STATE(1733)] = 62714,
-  [SMALL_STATE(1734)] = 62722,
-  [SMALL_STATE(1735)] = 62732,
-  [SMALL_STATE(1736)] = 62742,
-  [SMALL_STATE(1737)] = 62750,
-  [SMALL_STATE(1738)] = 62758,
-  [SMALL_STATE(1739)] = 62768,
-  [SMALL_STATE(1740)] = 62778,
-  [SMALL_STATE(1741)] = 62788,
-  [SMALL_STATE(1742)] = 62798,
-  [SMALL_STATE(1743)] = 62808,
-  [SMALL_STATE(1744)] = 62818,
-  [SMALL_STATE(1745)] = 62826,
-  [SMALL_STATE(1746)] = 62836,
-  [SMALL_STATE(1747)] = 62846,
-  [SMALL_STATE(1748)] = 62856,
-  [SMALL_STATE(1749)] = 62866,
-  [SMALL_STATE(1750)] = 62874,
-  [SMALL_STATE(1751)] = 62884,
-  [SMALL_STATE(1752)] = 62894,
-  [SMALL_STATE(1753)] = 62904,
-  [SMALL_STATE(1754)] = 62914,
-  [SMALL_STATE(1755)] = 62924,
-  [SMALL_STATE(1756)] = 62934,
-  [SMALL_STATE(1757)] = 62944,
-  [SMALL_STATE(1758)] = 62951,
-  [SMALL_STATE(1759)] = 62958,
-  [SMALL_STATE(1760)] = 62965,
-  [SMALL_STATE(1761)] = 62972,
-  [SMALL_STATE(1762)] = 62979,
-  [SMALL_STATE(1763)] = 62986,
-  [SMALL_STATE(1764)] = 62993,
-  [SMALL_STATE(1765)] = 63000,
-  [SMALL_STATE(1766)] = 63007,
-  [SMALL_STATE(1767)] = 63014,
-  [SMALL_STATE(1768)] = 63021,
-  [SMALL_STATE(1769)] = 63028,
-  [SMALL_STATE(1770)] = 63035,
-  [SMALL_STATE(1771)] = 63042,
-  [SMALL_STATE(1772)] = 63049,
-  [SMALL_STATE(1773)] = 63056,
-  [SMALL_STATE(1774)] = 63063,
-  [SMALL_STATE(1775)] = 63070,
-  [SMALL_STATE(1776)] = 63077,
-  [SMALL_STATE(1777)] = 63084,
-  [SMALL_STATE(1778)] = 63091,
-  [SMALL_STATE(1779)] = 63098,
-  [SMALL_STATE(1780)] = 63105,
-  [SMALL_STATE(1781)] = 63112,
-  [SMALL_STATE(1782)] = 63119,
-  [SMALL_STATE(1783)] = 63126,
-  [SMALL_STATE(1784)] = 63133,
-  [SMALL_STATE(1785)] = 63140,
-  [SMALL_STATE(1786)] = 63147,
-  [SMALL_STATE(1787)] = 63154,
-  [SMALL_STATE(1788)] = 63161,
-  [SMALL_STATE(1789)] = 63168,
-  [SMALL_STATE(1790)] = 63175,
-  [SMALL_STATE(1791)] = 63182,
-  [SMALL_STATE(1792)] = 63189,
-  [SMALL_STATE(1793)] = 63196,
-  [SMALL_STATE(1794)] = 63203,
-  [SMALL_STATE(1795)] = 63210,
-  [SMALL_STATE(1796)] = 63217,
-  [SMALL_STATE(1797)] = 63224,
-  [SMALL_STATE(1798)] = 63231,
-  [SMALL_STATE(1799)] = 63238,
-  [SMALL_STATE(1800)] = 63245,
-  [SMALL_STATE(1801)] = 63252,
-  [SMALL_STATE(1802)] = 63259,
-  [SMALL_STATE(1803)] = 63266,
-  [SMALL_STATE(1804)] = 63273,
-  [SMALL_STATE(1805)] = 63280,
-  [SMALL_STATE(1806)] = 63287,
-  [SMALL_STATE(1807)] = 63294,
-  [SMALL_STATE(1808)] = 63301,
-  [SMALL_STATE(1809)] = 63308,
-  [SMALL_STATE(1810)] = 63315,
-  [SMALL_STATE(1811)] = 63322,
-  [SMALL_STATE(1812)] = 63329,
-  [SMALL_STATE(1813)] = 63336,
-  [SMALL_STATE(1814)] = 63343,
-  [SMALL_STATE(1815)] = 63350,
-  [SMALL_STATE(1816)] = 63357,
-  [SMALL_STATE(1817)] = 63364,
-  [SMALL_STATE(1818)] = 63371,
-  [SMALL_STATE(1819)] = 63378,
-  [SMALL_STATE(1820)] = 63385,
-  [SMALL_STATE(1821)] = 63392,
-  [SMALL_STATE(1822)] = 63399,
-  [SMALL_STATE(1823)] = 63406,
-  [SMALL_STATE(1824)] = 63413,
-  [SMALL_STATE(1825)] = 63420,
-  [SMALL_STATE(1826)] = 63427,
-  [SMALL_STATE(1827)] = 63434,
-  [SMALL_STATE(1828)] = 63441,
-  [SMALL_STATE(1829)] = 63448,
-  [SMALL_STATE(1830)] = 63455,
-  [SMALL_STATE(1831)] = 63462,
-  [SMALL_STATE(1832)] = 63469,
-  [SMALL_STATE(1833)] = 63476,
-  [SMALL_STATE(1834)] = 63483,
-  [SMALL_STATE(1835)] = 63490,
-  [SMALL_STATE(1836)] = 63497,
-  [SMALL_STATE(1837)] = 63504,
-  [SMALL_STATE(1838)] = 63511,
-  [SMALL_STATE(1839)] = 63518,
-  [SMALL_STATE(1840)] = 63525,
-  [SMALL_STATE(1841)] = 63532,
-  [SMALL_STATE(1842)] = 63539,
-  [SMALL_STATE(1843)] = 63546,
-  [SMALL_STATE(1844)] = 63553,
-  [SMALL_STATE(1845)] = 63560,
-  [SMALL_STATE(1846)] = 63567,
-  [SMALL_STATE(1847)] = 63574,
-  [SMALL_STATE(1848)] = 63581,
-  [SMALL_STATE(1849)] = 63588,
-  [SMALL_STATE(1850)] = 63595,
-  [SMALL_STATE(1851)] = 63602,
-  [SMALL_STATE(1852)] = 63609,
-  [SMALL_STATE(1853)] = 63616,
-  [SMALL_STATE(1854)] = 63623,
-  [SMALL_STATE(1855)] = 63630,
-  [SMALL_STATE(1856)] = 63637,
-  [SMALL_STATE(1857)] = 63644,
-  [SMALL_STATE(1858)] = 63651,
-  [SMALL_STATE(1859)] = 63658,
-  [SMALL_STATE(1860)] = 63665,
-  [SMALL_STATE(1861)] = 63672,
-  [SMALL_STATE(1862)] = 63679,
-  [SMALL_STATE(1863)] = 63686,
-  [SMALL_STATE(1864)] = 63693,
-  [SMALL_STATE(1865)] = 63700,
-  [SMALL_STATE(1866)] = 63707,
-  [SMALL_STATE(1867)] = 63714,
-  [SMALL_STATE(1868)] = 63721,
-  [SMALL_STATE(1869)] = 63728,
-  [SMALL_STATE(1870)] = 63735,
-  [SMALL_STATE(1871)] = 63742,
-  [SMALL_STATE(1872)] = 63749,
-  [SMALL_STATE(1873)] = 63756,
-  [SMALL_STATE(1874)] = 63763,
-  [SMALL_STATE(1875)] = 63770,
-  [SMALL_STATE(1876)] = 63777,
-  [SMALL_STATE(1877)] = 63784,
-  [SMALL_STATE(1878)] = 63791,
-  [SMALL_STATE(1879)] = 63798,
-  [SMALL_STATE(1880)] = 63805,
-  [SMALL_STATE(1881)] = 63812,
-  [SMALL_STATE(1882)] = 63819,
-  [SMALL_STATE(1883)] = 63826,
-  [SMALL_STATE(1884)] = 63833,
-  [SMALL_STATE(1885)] = 63840,
-  [SMALL_STATE(1886)] = 63847,
-  [SMALL_STATE(1887)] = 63854,
-  [SMALL_STATE(1888)] = 63861,
-  [SMALL_STATE(1889)] = 63868,
-  [SMALL_STATE(1890)] = 63875,
-  [SMALL_STATE(1891)] = 63882,
-  [SMALL_STATE(1892)] = 63889,
-  [SMALL_STATE(1893)] = 63896,
-  [SMALL_STATE(1894)] = 63903,
-  [SMALL_STATE(1895)] = 63910,
-  [SMALL_STATE(1896)] = 63917,
-  [SMALL_STATE(1897)] = 63924,
-  [SMALL_STATE(1898)] = 63931,
-  [SMALL_STATE(1899)] = 63938,
-  [SMALL_STATE(1900)] = 63945,
-  [SMALL_STATE(1901)] = 63952,
-  [SMALL_STATE(1902)] = 63959,
-  [SMALL_STATE(1903)] = 63966,
-  [SMALL_STATE(1904)] = 63973,
-  [SMALL_STATE(1905)] = 63980,
-  [SMALL_STATE(1906)] = 63987,
-  [SMALL_STATE(1907)] = 63994,
-  [SMALL_STATE(1908)] = 64001,
-  [SMALL_STATE(1909)] = 64008,
-  [SMALL_STATE(1910)] = 64015,
-  [SMALL_STATE(1911)] = 64022,
-  [SMALL_STATE(1912)] = 64029,
-  [SMALL_STATE(1913)] = 64036,
-  [SMALL_STATE(1914)] = 64043,
-  [SMALL_STATE(1915)] = 64050,
-  [SMALL_STATE(1916)] = 64057,
-  [SMALL_STATE(1917)] = 64064,
-  [SMALL_STATE(1918)] = 64071,
-  [SMALL_STATE(1919)] = 64078,
-  [SMALL_STATE(1920)] = 64085,
-  [SMALL_STATE(1921)] = 64092,
-  [SMALL_STATE(1922)] = 64099,
-  [SMALL_STATE(1923)] = 64106,
-  [SMALL_STATE(1924)] = 64113,
-  [SMALL_STATE(1925)] = 64120,
-  [SMALL_STATE(1926)] = 64127,
-  [SMALL_STATE(1927)] = 64134,
-  [SMALL_STATE(1928)] = 64141,
-  [SMALL_STATE(1929)] = 64148,
-  [SMALL_STATE(1930)] = 64155,
-  [SMALL_STATE(1931)] = 64162,
-  [SMALL_STATE(1932)] = 64169,
-  [SMALL_STATE(1933)] = 64176,
-  [SMALL_STATE(1934)] = 64183,
-  [SMALL_STATE(1935)] = 64190,
-  [SMALL_STATE(1936)] = 64197,
-  [SMALL_STATE(1937)] = 64204,
-  [SMALL_STATE(1938)] = 64211,
-  [SMALL_STATE(1939)] = 64218,
-  [SMALL_STATE(1940)] = 64225,
-  [SMALL_STATE(1941)] = 64232,
-  [SMALL_STATE(1942)] = 64239,
-  [SMALL_STATE(1943)] = 64246,
-  [SMALL_STATE(1944)] = 64253,
-  [SMALL_STATE(1945)] = 64260,
-  [SMALL_STATE(1946)] = 64267,
-  [SMALL_STATE(1947)] = 64274,
-  [SMALL_STATE(1948)] = 64281,
-  [SMALL_STATE(1949)] = 64288,
-  [SMALL_STATE(1950)] = 64295,
-  [SMALL_STATE(1951)] = 64302,
-  [SMALL_STATE(1952)] = 64309,
-  [SMALL_STATE(1953)] = 64316,
-  [SMALL_STATE(1954)] = 64323,
-  [SMALL_STATE(1955)] = 64330,
-  [SMALL_STATE(1956)] = 64337,
-  [SMALL_STATE(1957)] = 64344,
-  [SMALL_STATE(1958)] = 64351,
-  [SMALL_STATE(1959)] = 64358,
-  [SMALL_STATE(1960)] = 64365,
-  [SMALL_STATE(1961)] = 64372,
-  [SMALL_STATE(1962)] = 64379,
-  [SMALL_STATE(1963)] = 64386,
-  [SMALL_STATE(1964)] = 64393,
-  [SMALL_STATE(1965)] = 64400,
-  [SMALL_STATE(1966)] = 64407,
-  [SMALL_STATE(1967)] = 64414,
-  [SMALL_STATE(1968)] = 64421,
-  [SMALL_STATE(1969)] = 64428,
-  [SMALL_STATE(1970)] = 64435,
-  [SMALL_STATE(1971)] = 64442,
-  [SMALL_STATE(1972)] = 64449,
-  [SMALL_STATE(1973)] = 64456,
-  [SMALL_STATE(1974)] = 64463,
-  [SMALL_STATE(1975)] = 64470,
-  [SMALL_STATE(1976)] = 64477,
-  [SMALL_STATE(1977)] = 64484,
-  [SMALL_STATE(1978)] = 64491,
-  [SMALL_STATE(1979)] = 64498,
-  [SMALL_STATE(1980)] = 64505,
-  [SMALL_STATE(1981)] = 64512,
-  [SMALL_STATE(1982)] = 64519,
-  [SMALL_STATE(1983)] = 64526,
-  [SMALL_STATE(1984)] = 64533,
-  [SMALL_STATE(1985)] = 64540,
-  [SMALL_STATE(1986)] = 64547,
-  [SMALL_STATE(1987)] = 64554,
-  [SMALL_STATE(1988)] = 64561,
-  [SMALL_STATE(1989)] = 64568,
-  [SMALL_STATE(1990)] = 64575,
-  [SMALL_STATE(1991)] = 64582,
-  [SMALL_STATE(1992)] = 64589,
-  [SMALL_STATE(1993)] = 64596,
-  [SMALL_STATE(1994)] = 64603,
-  [SMALL_STATE(1995)] = 64610,
-  [SMALL_STATE(1996)] = 64617,
-  [SMALL_STATE(1997)] = 64624,
-  [SMALL_STATE(1998)] = 64631,
-  [SMALL_STATE(1999)] = 64638,
-  [SMALL_STATE(2000)] = 64645,
-  [SMALL_STATE(2001)] = 64652,
-  [SMALL_STATE(2002)] = 64659,
-  [SMALL_STATE(2003)] = 64666,
-  [SMALL_STATE(2004)] = 64673,
-  [SMALL_STATE(2005)] = 64680,
-  [SMALL_STATE(2006)] = 64687,
-  [SMALL_STATE(2007)] = 64694,
-  [SMALL_STATE(2008)] = 64701,
+  [SMALL_STATE(463)] = 0,
+  [SMALL_STATE(464)] = 113,
+  [SMALL_STATE(465)] = 226,
+  [SMALL_STATE(466)] = 339,
+  [SMALL_STATE(467)] = 452,
+  [SMALL_STATE(468)] = 565,
+  [SMALL_STATE(469)] = 678,
+  [SMALL_STATE(470)] = 791,
+  [SMALL_STATE(471)] = 904,
+  [SMALL_STATE(472)] = 1017,
+  [SMALL_STATE(473)] = 1130,
+  [SMALL_STATE(474)] = 1243,
+  [SMALL_STATE(475)] = 1356,
+  [SMALL_STATE(476)] = 1469,
+  [SMALL_STATE(477)] = 1582,
+  [SMALL_STATE(478)] = 1695,
+  [SMALL_STATE(479)] = 1808,
+  [SMALL_STATE(480)] = 1921,
+  [SMALL_STATE(481)] = 2034,
+  [SMALL_STATE(482)] = 2147,
+  [SMALL_STATE(483)] = 2260,
+  [SMALL_STATE(484)] = 2373,
+  [SMALL_STATE(485)] = 2486,
+  [SMALL_STATE(486)] = 2599,
+  [SMALL_STATE(487)] = 2712,
+  [SMALL_STATE(488)] = 2825,
+  [SMALL_STATE(489)] = 2938,
+  [SMALL_STATE(490)] = 3051,
+  [SMALL_STATE(491)] = 3164,
+  [SMALL_STATE(492)] = 3277,
+  [SMALL_STATE(493)] = 3387,
+  [SMALL_STATE(494)] = 3497,
+  [SMALL_STATE(495)] = 3607,
+  [SMALL_STATE(496)] = 3717,
+  [SMALL_STATE(497)] = 3827,
+  [SMALL_STATE(498)] = 3937,
+  [SMALL_STATE(499)] = 4047,
+  [SMALL_STATE(500)] = 4157,
+  [SMALL_STATE(501)] = 4267,
+  [SMALL_STATE(502)] = 4377,
+  [SMALL_STATE(503)] = 4487,
+  [SMALL_STATE(504)] = 4597,
+  [SMALL_STATE(505)] = 4707,
+  [SMALL_STATE(506)] = 4817,
+  [SMALL_STATE(507)] = 4927,
+  [SMALL_STATE(508)] = 5034,
+  [SMALL_STATE(509)] = 5141,
+  [SMALL_STATE(510)] = 5248,
+  [SMALL_STATE(511)] = 5355,
+  [SMALL_STATE(512)] = 5462,
+  [SMALL_STATE(513)] = 5569,
+  [SMALL_STATE(514)] = 5676,
+  [SMALL_STATE(515)] = 5783,
+  [SMALL_STATE(516)] = 5890,
+  [SMALL_STATE(517)] = 5997,
+  [SMALL_STATE(518)] = 6104,
+  [SMALL_STATE(519)] = 6211,
+  [SMALL_STATE(520)] = 6318,
+  [SMALL_STATE(521)] = 6425,
+  [SMALL_STATE(522)] = 6532,
+  [SMALL_STATE(523)] = 6639,
+  [SMALL_STATE(524)] = 6746,
+  [SMALL_STATE(525)] = 6853,
+  [SMALL_STATE(526)] = 6960,
+  [SMALL_STATE(527)] = 7067,
+  [SMALL_STATE(528)] = 7174,
+  [SMALL_STATE(529)] = 7281,
+  [SMALL_STATE(530)] = 7388,
+  [SMALL_STATE(531)] = 7495,
+  [SMALL_STATE(532)] = 7602,
+  [SMALL_STATE(533)] = 7709,
+  [SMALL_STATE(534)] = 7816,
+  [SMALL_STATE(535)] = 7923,
+  [SMALL_STATE(536)] = 8030,
+  [SMALL_STATE(537)] = 8137,
+  [SMALL_STATE(538)] = 8244,
+  [SMALL_STATE(539)] = 8351,
+  [SMALL_STATE(540)] = 8458,
+  [SMALL_STATE(541)] = 8565,
+  [SMALL_STATE(542)] = 8672,
+  [SMALL_STATE(543)] = 8779,
+  [SMALL_STATE(544)] = 8886,
+  [SMALL_STATE(545)] = 8993,
+  [SMALL_STATE(546)] = 9100,
+  [SMALL_STATE(547)] = 9207,
+  [SMALL_STATE(548)] = 9314,
+  [SMALL_STATE(549)] = 9421,
+  [SMALL_STATE(550)] = 9528,
+  [SMALL_STATE(551)] = 9619,
+  [SMALL_STATE(552)] = 9726,
+  [SMALL_STATE(553)] = 9833,
+  [SMALL_STATE(554)] = 9940,
+  [SMALL_STATE(555)] = 10047,
+  [SMALL_STATE(556)] = 10154,
+  [SMALL_STATE(557)] = 10261,
+  [SMALL_STATE(558)] = 10368,
+  [SMALL_STATE(559)] = 10475,
+  [SMALL_STATE(560)] = 10582,
+  [SMALL_STATE(561)] = 10689,
+  [SMALL_STATE(562)] = 10796,
+  [SMALL_STATE(563)] = 10903,
+  [SMALL_STATE(564)] = 11010,
+  [SMALL_STATE(565)] = 11117,
+  [SMALL_STATE(566)] = 11224,
+  [SMALL_STATE(567)] = 11331,
+  [SMALL_STATE(568)] = 11438,
+  [SMALL_STATE(569)] = 11545,
+  [SMALL_STATE(570)] = 11652,
+  [SMALL_STATE(571)] = 11759,
+  [SMALL_STATE(572)] = 11866,
+  [SMALL_STATE(573)] = 11973,
+  [SMALL_STATE(574)] = 12080,
+  [SMALL_STATE(575)] = 12187,
+  [SMALL_STATE(576)] = 12294,
+  [SMALL_STATE(577)] = 12401,
+  [SMALL_STATE(578)] = 12508,
+  [SMALL_STATE(579)] = 12615,
+  [SMALL_STATE(580)] = 12722,
+  [SMALL_STATE(581)] = 12829,
+  [SMALL_STATE(582)] = 12936,
+  [SMALL_STATE(583)] = 13043,
+  [SMALL_STATE(584)] = 13150,
+  [SMALL_STATE(585)] = 13257,
+  [SMALL_STATE(586)] = 13364,
+  [SMALL_STATE(587)] = 13471,
+  [SMALL_STATE(588)] = 13578,
+  [SMALL_STATE(589)] = 13685,
+  [SMALL_STATE(590)] = 13792,
+  [SMALL_STATE(591)] = 13899,
+  [SMALL_STATE(592)] = 14006,
+  [SMALL_STATE(593)] = 14113,
+  [SMALL_STATE(594)] = 14220,
+  [SMALL_STATE(595)] = 14327,
+  [SMALL_STATE(596)] = 14434,
+  [SMALL_STATE(597)] = 14541,
+  [SMALL_STATE(598)] = 14648,
+  [SMALL_STATE(599)] = 14755,
+  [SMALL_STATE(600)] = 14862,
+  [SMALL_STATE(601)] = 14969,
+  [SMALL_STATE(602)] = 15076,
+  [SMALL_STATE(603)] = 15183,
+  [SMALL_STATE(604)] = 15290,
+  [SMALL_STATE(605)] = 15397,
+  [SMALL_STATE(606)] = 15504,
+  [SMALL_STATE(607)] = 15611,
+  [SMALL_STATE(608)] = 15718,
+  [SMALL_STATE(609)] = 15825,
+  [SMALL_STATE(610)] = 15932,
+  [SMALL_STATE(611)] = 16039,
+  [SMALL_STATE(612)] = 16146,
+  [SMALL_STATE(613)] = 16253,
+  [SMALL_STATE(614)] = 16360,
+  [SMALL_STATE(615)] = 16467,
+  [SMALL_STATE(616)] = 16574,
+  [SMALL_STATE(617)] = 16681,
+  [SMALL_STATE(618)] = 16788,
+  [SMALL_STATE(619)] = 16895,
+  [SMALL_STATE(620)] = 17002,
+  [SMALL_STATE(621)] = 17109,
+  [SMALL_STATE(622)] = 17216,
+  [SMALL_STATE(623)] = 17323,
+  [SMALL_STATE(624)] = 17430,
+  [SMALL_STATE(625)] = 17537,
+  [SMALL_STATE(626)] = 17644,
+  [SMALL_STATE(627)] = 17751,
+  [SMALL_STATE(628)] = 17858,
+  [SMALL_STATE(629)] = 17930,
+  [SMALL_STATE(630)] = 18002,
+  [SMALL_STATE(631)] = 18074,
+  [SMALL_STATE(632)] = 18143,
+  [SMALL_STATE(633)] = 18252,
+  [SMALL_STATE(634)] = 18359,
+  [SMALL_STATE(635)] = 18423,
+  [SMALL_STATE(636)] = 18487,
+  [SMALL_STATE(637)] = 18551,
+  [SMALL_STATE(638)] = 18615,
+  [SMALL_STATE(639)] = 18679,
+  [SMALL_STATE(640)] = 18743,
+  [SMALL_STATE(641)] = 18807,
+  [SMALL_STATE(642)] = 18871,
+  [SMALL_STATE(643)] = 18935,
+  [SMALL_STATE(644)] = 18999,
+  [SMALL_STATE(645)] = 19063,
+  [SMALL_STATE(646)] = 19127,
+  [SMALL_STATE(647)] = 19207,
+  [SMALL_STATE(648)] = 19308,
+  [SMALL_STATE(649)] = 19409,
+  [SMALL_STATE(650)] = 19510,
+  [SMALL_STATE(651)] = 19611,
+  [SMALL_STATE(652)] = 19712,
+  [SMALL_STATE(653)] = 19813,
+  [SMALL_STATE(654)] = 19914,
+  [SMALL_STATE(655)] = 20015,
+  [SMALL_STATE(656)] = 20116,
+  [SMALL_STATE(657)] = 20217,
+  [SMALL_STATE(658)] = 20318,
+  [SMALL_STATE(659)] = 20419,
+  [SMALL_STATE(660)] = 20520,
+  [SMALL_STATE(661)] = 20621,
+  [SMALL_STATE(662)] = 20722,
+  [SMALL_STATE(663)] = 20823,
+  [SMALL_STATE(664)] = 20923,
+  [SMALL_STATE(665)] = 21021,
+  [SMALL_STATE(666)] = 21119,
+  [SMALL_STATE(667)] = 21181,
+  [SMALL_STATE(668)] = 21252,
+  [SMALL_STATE(669)] = 21313,
+  [SMALL_STATE(670)] = 21374,
+  [SMALL_STATE(671)] = 21435,
+  [SMALL_STATE(672)] = 21495,
+  [SMALL_STATE(673)] = 21563,
+  [SMALL_STATE(674)] = 21629,
+  [SMALL_STATE(675)] = 21720,
+  [SMALL_STATE(676)] = 21811,
+  [SMALL_STATE(677)] = 21870,
+  [SMALL_STATE(678)] = 21929,
+  [SMALL_STATE(679)] = 21988,
+  [SMALL_STATE(680)] = 22047,
+  [SMALL_STATE(681)] = 22106,
+  [SMALL_STATE(682)] = 22165,
+  [SMALL_STATE(683)] = 22224,
+  [SMALL_STATE(684)] = 22315,
+  [SMALL_STATE(685)] = 22374,
+  [SMALL_STATE(686)] = 22433,
+  [SMALL_STATE(687)] = 22492,
+  [SMALL_STATE(688)] = 22551,
+  [SMALL_STATE(689)] = 22610,
+  [SMALL_STATE(690)] = 22669,
+  [SMALL_STATE(691)] = 22728,
+  [SMALL_STATE(692)] = 22819,
+  [SMALL_STATE(693)] = 22878,
+  [SMALL_STATE(694)] = 22937,
+  [SMALL_STATE(695)] = 23028,
+  [SMALL_STATE(696)] = 23119,
+  [SMALL_STATE(697)] = 23210,
+  [SMALL_STATE(698)] = 23301,
+  [SMALL_STATE(699)] = 23360,
+  [SMALL_STATE(700)] = 23418,
+  [SMALL_STATE(701)] = 23486,
+  [SMALL_STATE(702)] = 23544,
+  [SMALL_STATE(703)] = 23612,
+  [SMALL_STATE(704)] = 23670,
+  [SMALL_STATE(705)] = 23738,
+  [SMALL_STATE(706)] = 23806,
+  [SMALL_STATE(707)] = 23864,
+  [SMALL_STATE(708)] = 23932,
+  [SMALL_STATE(709)] = 23998,
+  [SMALL_STATE(710)] = 24056,
+  [SMALL_STATE(711)] = 24144,
+  [SMALL_STATE(712)] = 24209,
+  [SMALL_STATE(713)] = 24274,
+  [SMALL_STATE(714)] = 24347,
+  [SMALL_STATE(715)] = 24408,
+  [SMALL_STATE(716)] = 24465,
+  [SMALL_STATE(717)] = 24522,
+  [SMALL_STATE(718)] = 24587,
+  [SMALL_STATE(719)] = 24652,
+  [SMALL_STATE(720)] = 24717,
+  [SMALL_STATE(721)] = 24774,
+  [SMALL_STATE(722)] = 24839,
+  [SMALL_STATE(723)] = 24912,
+  [SMALL_STATE(724)] = 24977,
+  [SMALL_STATE(725)] = 25049,
+  [SMALL_STATE(726)] = 25121,
+  [SMALL_STATE(727)] = 25177,
+  [SMALL_STATE(728)] = 25249,
+  [SMALL_STATE(729)] = 25321,
+  [SMALL_STATE(730)] = 25377,
+  [SMALL_STATE(731)] = 25433,
+  [SMALL_STATE(732)] = 25492,
+  [SMALL_STATE(733)] = 25551,
+  [SMALL_STATE(734)] = 25610,
+  [SMALL_STATE(735)] = 25669,
+  [SMALL_STATE(736)] = 25728,
+  [SMALL_STATE(737)] = 25787,
+  [SMALL_STATE(738)] = 25846,
+  [SMALL_STATE(739)] = 25905,
+  [SMALL_STATE(740)] = 25964,
+  [SMALL_STATE(741)] = 26023,
+  [SMALL_STATE(742)] = 26082,
+  [SMALL_STATE(743)] = 26136,
+  [SMALL_STATE(744)] = 26190,
+  [SMALL_STATE(745)] = 26244,
+  [SMALL_STATE(746)] = 26302,
+  [SMALL_STATE(747)] = 26356,
+  [SMALL_STATE(748)] = 26414,
+  [SMALL_STATE(749)] = 26468,
+  [SMALL_STATE(750)] = 26528,
+  [SMALL_STATE(751)] = 26586,
+  [SMALL_STATE(752)] = 26644,
+  [SMALL_STATE(753)] = 26702,
+  [SMALL_STATE(754)] = 26760,
+  [SMALL_STATE(755)] = 26818,
+  [SMALL_STATE(756)] = 26876,
+  [SMALL_STATE(757)] = 26934,
+  [SMALL_STATE(758)] = 26988,
+  [SMALL_STATE(759)] = 27042,
+  [SMALL_STATE(760)] = 27096,
+  [SMALL_STATE(761)] = 27150,
+  [SMALL_STATE(762)] = 27204,
+  [SMALL_STATE(763)] = 27258,
+  [SMALL_STATE(764)] = 27312,
+  [SMALL_STATE(765)] = 27366,
+  [SMALL_STATE(766)] = 27420,
+  [SMALL_STATE(767)] = 27480,
+  [SMALL_STATE(768)] = 27534,
+  [SMALL_STATE(769)] = 27592,
+  [SMALL_STATE(770)] = 27646,
+  [SMALL_STATE(771)] = 27704,
+  [SMALL_STATE(772)] = 27762,
+  [SMALL_STATE(773)] = 27816,
+  [SMALL_STATE(774)] = 27870,
+  [SMALL_STATE(775)] = 27924,
+  [SMALL_STATE(776)] = 27978,
+  [SMALL_STATE(777)] = 28032,
+  [SMALL_STATE(778)] = 28086,
+  [SMALL_STATE(779)] = 28140,
+  [SMALL_STATE(780)] = 28194,
+  [SMALL_STATE(781)] = 28248,
+  [SMALL_STATE(782)] = 28302,
+  [SMALL_STATE(783)] = 28356,
+  [SMALL_STATE(784)] = 28447,
+  [SMALL_STATE(785)] = 28500,
+  [SMALL_STATE(786)] = 28553,
+  [SMALL_STATE(787)] = 28606,
+  [SMALL_STATE(788)] = 28659,
+  [SMALL_STATE(789)] = 28722,
+  [SMALL_STATE(790)] = 28775,
+  [SMALL_STATE(791)] = 28828,
+  [SMALL_STATE(792)] = 28881,
+  [SMALL_STATE(793)] = 28944,
+  [SMALL_STATE(794)] = 29015,
+  [SMALL_STATE(795)] = 29068,
+  [SMALL_STATE(796)] = 29121,
+  [SMALL_STATE(797)] = 29184,
+  [SMALL_STATE(798)] = 29275,
+  [SMALL_STATE(799)] = 29346,
+  [SMALL_STATE(800)] = 29409,
+  [SMALL_STATE(801)] = 29480,
+  [SMALL_STATE(802)] = 29543,
+  [SMALL_STATE(803)] = 29596,
+  [SMALL_STATE(804)] = 29649,
+  [SMALL_STATE(805)] = 29712,
+  [SMALL_STATE(806)] = 29765,
+  [SMALL_STATE(807)] = 29818,
+  [SMALL_STATE(808)] = 29871,
+  [SMALL_STATE(809)] = 29924,
+  [SMALL_STATE(810)] = 29977,
+  [SMALL_STATE(811)] = 30030,
+  [SMALL_STATE(812)] = 30083,
+  [SMALL_STATE(813)] = 30154,
+  [SMALL_STATE(814)] = 30220,
+  [SMALL_STATE(815)] = 30278,
+  [SMALL_STATE(816)] = 30352,
+  [SMALL_STATE(817)] = 30424,
+  [SMALL_STATE(818)] = 30510,
+  [SMALL_STATE(819)] = 30572,
+  [SMALL_STATE(820)] = 30656,
+  [SMALL_STATE(821)] = 30724,
+  [SMALL_STATE(822)] = 30788,
+  [SMALL_STATE(823)] = 30846,
+  [SMALL_STATE(824)] = 30932,
+  [SMALL_STATE(825)] = 30996,
+  [SMALL_STATE(826)] = 31078,
+  [SMALL_STATE(827)] = 31158,
+  [SMALL_STATE(828)] = 31234,
+  [SMALL_STATE(829)] = 31310,
+  [SMALL_STATE(830)] = 31384,
+  [SMALL_STATE(831)] = 31456,
+  [SMALL_STATE(832)] = 31524,
+  [SMALL_STATE(833)] = 31590,
+  [SMALL_STATE(834)] = 31676,
+  [SMALL_STATE(835)] = 31762,
+  [SMALL_STATE(836)] = 31846,
+  [SMALL_STATE(837)] = 31926,
+  [SMALL_STATE(838)] = 32008,
+  [SMALL_STATE(839)] = 32094,
+  [SMALL_STATE(840)] = 32172,
+  [SMALL_STATE(841)] = 32232,
+  [SMALL_STATE(842)] = 32318,
+  [SMALL_STATE(843)] = 32396,
+  [SMALL_STATE(844)] = 32451,
+  [SMALL_STATE(845)] = 32510,
+  [SMALL_STATE(846)] = 32565,
+  [SMALL_STATE(847)] = 32615,
+  [SMALL_STATE(848)] = 32701,
+  [SMALL_STATE(849)] = 32787,
+  [SMALL_STATE(850)] = 32837,
+  [SMALL_STATE(851)] = 32890,
+  [SMALL_STATE(852)] = 32939,
+  [SMALL_STATE(853)] = 32988,
+  [SMALL_STATE(854)] = 33041,
+  [SMALL_STATE(855)] = 33090,
+  [SMALL_STATE(856)] = 33139,
+  [SMALL_STATE(857)] = 33188,
+  [SMALL_STATE(858)] = 33237,
+  [SMALL_STATE(859)] = 33286,
+  [SMALL_STATE(860)] = 33335,
+  [SMALL_STATE(861)] = 33384,
+  [SMALL_STATE(862)] = 33433,
+  [SMALL_STATE(863)] = 33482,
+  [SMALL_STATE(864)] = 33531,
+  [SMALL_STATE(865)] = 33580,
+  [SMALL_STATE(866)] = 33629,
+  [SMALL_STATE(867)] = 33678,
+  [SMALL_STATE(868)] = 33727,
+  [SMALL_STATE(869)] = 33780,
+  [SMALL_STATE(870)] = 33833,
+  [SMALL_STATE(871)] = 33882,
+  [SMALL_STATE(872)] = 33931,
+  [SMALL_STATE(873)] = 33980,
+  [SMALL_STATE(874)] = 34029,
+  [SMALL_STATE(875)] = 34078,
+  [SMALL_STATE(876)] = 34127,
+  [SMALL_STATE(877)] = 34180,
+  [SMALL_STATE(878)] = 34229,
+  [SMALL_STATE(879)] = 34282,
+  [SMALL_STATE(880)] = 34335,
+  [SMALL_STATE(881)] = 34384,
+  [SMALL_STATE(882)] = 34433,
+  [SMALL_STATE(883)] = 34482,
+  [SMALL_STATE(884)] = 34531,
+  [SMALL_STATE(885)] = 34580,
+  [SMALL_STATE(886)] = 34629,
+  [SMALL_STATE(887)] = 34678,
+  [SMALL_STATE(888)] = 34727,
+  [SMALL_STATE(889)] = 34776,
+  [SMALL_STATE(890)] = 34825,
+  [SMALL_STATE(891)] = 34874,
+  [SMALL_STATE(892)] = 34923,
+  [SMALL_STATE(893)] = 34972,
+  [SMALL_STATE(894)] = 35049,
+  [SMALL_STATE(895)] = 35096,
+  [SMALL_STATE(896)] = 35155,
+  [SMALL_STATE(897)] = 35214,
+  [SMALL_STATE(898)] = 35273,
+  [SMALL_STATE(899)] = 35356,
+  [SMALL_STATE(900)] = 35417,
+  [SMALL_STATE(901)] = 35496,
+  [SMALL_STATE(902)] = 35573,
+  [SMALL_STATE(903)] = 35648,
+  [SMALL_STATE(904)] = 35721,
+  [SMALL_STATE(905)] = 35792,
+  [SMALL_STATE(906)] = 35861,
+  [SMALL_STATE(907)] = 35926,
+  [SMALL_STATE(908)] = 35989,
+  [SMALL_STATE(909)] = 36066,
+  [SMALL_STATE(910)] = 36149,
+  [SMALL_STATE(911)] = 36232,
+  [SMALL_STATE(912)] = 36313,
+  [SMALL_STATE(913)] = 36370,
+  [SMALL_STATE(914)] = 36429,
+  [SMALL_STATE(915)] = 36488,
+  [SMALL_STATE(916)] = 36547,
+  [SMALL_STATE(917)] = 36624,
+  [SMALL_STATE(918)] = 36701,
+  [SMALL_STATE(919)] = 36747,
+  [SMALL_STATE(920)] = 36793,
+  [SMALL_STATE(921)] = 36839,
+  [SMALL_STATE(922)] = 36885,
+  [SMALL_STATE(923)] = 36931,
+  [SMALL_STATE(924)] = 36987,
+  [SMALL_STATE(925)] = 37033,
+  [SMALL_STATE(926)] = 37079,
+  [SMALL_STATE(927)] = 37125,
+  [SMALL_STATE(928)] = 37171,
+  [SMALL_STATE(929)] = 37217,
+  [SMALL_STATE(930)] = 37263,
+  [SMALL_STATE(931)] = 37309,
+  [SMALL_STATE(932)] = 37355,
+  [SMALL_STATE(933)] = 37405,
+  [SMALL_STATE(934)] = 37459,
+  [SMALL_STATE(935)] = 37534,
+  [SMALL_STATE(936)] = 37585,
+  [SMALL_STATE(937)] = 37660,
+  [SMALL_STATE(938)] = 37704,
+  [SMALL_STATE(939)] = 37748,
+  [SMALL_STATE(940)] = 37792,
+  [SMALL_STATE(941)] = 37836,
+  [SMALL_STATE(942)] = 37880,
+  [SMALL_STATE(943)] = 37924,
+  [SMALL_STATE(944)] = 37968,
+  [SMALL_STATE(945)] = 38012,
+  [SMALL_STATE(946)] = 38056,
+  [SMALL_STATE(947)] = 38100,
+  [SMALL_STATE(948)] = 38144,
+  [SMALL_STATE(949)] = 38188,
+  [SMALL_STATE(950)] = 38232,
+  [SMALL_STATE(951)] = 38283,
+  [SMALL_STATE(952)] = 38356,
+  [SMALL_STATE(953)] = 38429,
+  [SMALL_STATE(954)] = 38499,
+  [SMALL_STATE(955)] = 38567,
+  [SMALL_STATE(956)] = 38635,
+  [SMALL_STATE(957)] = 38703,
+  [SMALL_STATE(958)] = 38773,
+  [SMALL_STATE(959)] = 38841,
+  [SMALL_STATE(960)] = 38909,
+  [SMALL_STATE(961)] = 38977,
+  [SMALL_STATE(962)] = 39045,
+  [SMALL_STATE(963)] = 39113,
+  [SMALL_STATE(964)] = 39181,
+  [SMALL_STATE(965)] = 39249,
+  [SMALL_STATE(966)] = 39317,
+  [SMALL_STATE(967)] = 39385,
+  [SMALL_STATE(968)] = 39448,
+  [SMALL_STATE(969)] = 39525,
+  [SMALL_STATE(970)] = 39600,
+  [SMALL_STATE(971)] = 39677,
+  [SMALL_STATE(972)] = 39732,
+  [SMALL_STATE(973)] = 39805,
+  [SMALL_STATE(974)] = 39876,
+  [SMALL_STATE(975)] = 39945,
+  [SMALL_STATE(976)] = 40012,
+  [SMALL_STATE(977)] = 40077,
+  [SMALL_STATE(978)] = 40140,
+  [SMALL_STATE(979)] = 40199,
+  [SMALL_STATE(980)] = 40256,
+  [SMALL_STATE(981)] = 40333,
+  [SMALL_STATE(982)] = 40410,
+  [SMALL_STATE(983)] = 40487,
+  [SMALL_STATE(984)] = 40542,
+  [SMALL_STATE(985)] = 40615,
+  [SMALL_STATE(986)] = 40686,
+  [SMALL_STATE(987)] = 40755,
+  [SMALL_STATE(988)] = 40830,
+  [SMALL_STATE(989)] = 40897,
+  [SMALL_STATE(990)] = 40962,
+  [SMALL_STATE(991)] = 41039,
+  [SMALL_STATE(992)] = 41098,
+  [SMALL_STATE(993)] = 41155,
+  [SMALL_STATE(994)] = 41232,
+  [SMALL_STATE(995)] = 41296,
+  [SMALL_STATE(996)] = 41360,
+  [SMALL_STATE(997)] = 41400,
+  [SMALL_STATE(998)] = 41464,
+  [SMALL_STATE(999)] = 41504,
+  [SMALL_STATE(1000)] = 41544,
+  [SMALL_STATE(1001)] = 41584,
+  [SMALL_STATE(1002)] = 41648,
+  [SMALL_STATE(1003)] = 41712,
+  [SMALL_STATE(1004)] = 41776,
+  [SMALL_STATE(1005)] = 41816,
+  [SMALL_STATE(1006)] = 41880,
+  [SMALL_STATE(1007)] = 41944,
+  [SMALL_STATE(1008)] = 42008,
+  [SMALL_STATE(1009)] = 42072,
+  [SMALL_STATE(1010)] = 42136,
+  [SMALL_STATE(1011)] = 42200,
+  [SMALL_STATE(1012)] = 42264,
+  [SMALL_STATE(1013)] = 42304,
+  [SMALL_STATE(1014)] = 42365,
+  [SMALL_STATE(1015)] = 42426,
+  [SMALL_STATE(1016)] = 42487,
+  [SMALL_STATE(1017)] = 42548,
+  [SMALL_STATE(1018)] = 42609,
+  [SMALL_STATE(1019)] = 42670,
+  [SMALL_STATE(1020)] = 42744,
+  [SMALL_STATE(1021)] = 42792,
+  [SMALL_STATE(1022)] = 42866,
+  [SMALL_STATE(1023)] = 42912,
+  [SMALL_STATE(1024)] = 42987,
+  [SMALL_STATE(1025)] = 43062,
+  [SMALL_STATE(1026)] = 43137,
+  [SMALL_STATE(1027)] = 43212,
+  [SMALL_STATE(1028)] = 43282,
+  [SMALL_STATE(1029)] = 43356,
+  [SMALL_STATE(1030)] = 43428,
+  [SMALL_STATE(1031)] = 43480,
+  [SMALL_STATE(1032)] = 43548,
+  [SMALL_STATE(1033)] = 43614,
+  [SMALL_STATE(1034)] = 43680,
+  [SMALL_STATE(1035)] = 43744,
+  [SMALL_STATE(1036)] = 43806,
+  [SMALL_STATE(1037)] = 43866,
+  [SMALL_STATE(1038)] = 43922,
+  [SMALL_STATE(1039)] = 43976,
+  [SMALL_STATE(1040)] = 44048,
+  [SMALL_STATE(1041)] = 44120,
+  [SMALL_STATE(1042)] = 44192,
+  [SMALL_STATE(1043)] = 44264,
+  [SMALL_STATE(1044)] = 44334,
+  [SMALL_STATE(1045)] = 44374,
+  [SMALL_STATE(1046)] = 44444,
+  [SMALL_STATE(1047)] = 44514,
+  [SMALL_STATE(1048)] = 44584,
+  [SMALL_STATE(1049)] = 44656,
+  [SMALL_STATE(1050)] = 44728,
+  [SMALL_STATE(1051)] = 44800,
+  [SMALL_STATE(1052)] = 44872,
+  [SMALL_STATE(1053)] = 44944,
+  [SMALL_STATE(1054)] = 45016,
+  [SMALL_STATE(1055)] = 45088,
+  [SMALL_STATE(1056)] = 45160,
+  [SMALL_STATE(1057)] = 45232,
+  [SMALL_STATE(1058)] = 45302,
+  [SMALL_STATE(1059)] = 45374,
+  [SMALL_STATE(1060)] = 45446,
+  [SMALL_STATE(1061)] = 45516,
+  [SMALL_STATE(1062)] = 45588,
+  [SMALL_STATE(1063)] = 45628,
+  [SMALL_STATE(1064)] = 45678,
+  [SMALL_STATE(1065)] = 45750,
+  [SMALL_STATE(1066)] = 45822,
+  [SMALL_STATE(1067)] = 45894,
+  [SMALL_STATE(1068)] = 45964,
+  [SMALL_STATE(1069)] = 46036,
+  [SMALL_STATE(1070)] = 46076,
+  [SMALL_STATE(1071)] = 46148,
+  [SMALL_STATE(1072)] = 46220,
+  [SMALL_STATE(1073)] = 46292,
+  [SMALL_STATE(1074)] = 46364,
+  [SMALL_STATE(1075)] = 46436,
+  [SMALL_STATE(1076)] = 46508,
+  [SMALL_STATE(1077)] = 46558,
+  [SMALL_STATE(1078)] = 46630,
+  [SMALL_STATE(1079)] = 46702,
+  [SMALL_STATE(1080)] = 46771,
+  [SMALL_STATE(1081)] = 46840,
+  [SMALL_STATE(1082)] = 46909,
+  [SMALL_STATE(1083)] = 46978,
+  [SMALL_STATE(1084)] = 47047,
+  [SMALL_STATE(1085)] = 47102,
+  [SMALL_STATE(1086)] = 47157,
+  [SMALL_STATE(1087)] = 47226,
+  [SMALL_STATE(1088)] = 47281,
+  [SMALL_STATE(1089)] = 47350,
+  [SMALL_STATE(1090)] = 47419,
+  [SMALL_STATE(1091)] = 47488,
+  [SMALL_STATE(1092)] = 47543,
+  [SMALL_STATE(1093)] = 47612,
+  [SMALL_STATE(1094)] = 47667,
+  [SMALL_STATE(1095)] = 47736,
+  [SMALL_STATE(1096)] = 47805,
+  [SMALL_STATE(1097)] = 47874,
+  [SMALL_STATE(1098)] = 47943,
+  [SMALL_STATE(1099)] = 48012,
+  [SMALL_STATE(1100)] = 48081,
+  [SMALL_STATE(1101)] = 48150,
+  [SMALL_STATE(1102)] = 48205,
+  [SMALL_STATE(1103)] = 48274,
+  [SMALL_STATE(1104)] = 48343,
+  [SMALL_STATE(1105)] = 48412,
+  [SMALL_STATE(1106)] = 48481,
+  [SMALL_STATE(1107)] = 48550,
+  [SMALL_STATE(1108)] = 48619,
+  [SMALL_STATE(1109)] = 48688,
+  [SMALL_STATE(1110)] = 48740,
+  [SMALL_STATE(1111)] = 48792,
+  [SMALL_STATE(1112)] = 48844,
+  [SMALL_STATE(1113)] = 48896,
+  [SMALL_STATE(1114)] = 48948,
+  [SMALL_STATE(1115)] = 49000,
+  [SMALL_STATE(1116)] = 49052,
+  [SMALL_STATE(1117)] = 49118,
+  [SMALL_STATE(1118)] = 49170,
+  [SMALL_STATE(1119)] = 49222,
+  [SMALL_STATE(1120)] = 49258,
+  [SMALL_STATE(1121)] = 49307,
+  [SMALL_STATE(1122)] = 49346,
+  [SMALL_STATE(1123)] = 49395,
+  [SMALL_STATE(1124)] = 49435,
+  [SMALL_STATE(1125)] = 49475,
+  [SMALL_STATE(1126)] = 49515,
+  [SMALL_STATE(1127)] = 49555,
+  [SMALL_STATE(1128)] = 49611,
+  [SMALL_STATE(1129)] = 49660,
+  [SMALL_STATE(1130)] = 49694,
+  [SMALL_STATE(1131)] = 49728,
+  [SMALL_STATE(1132)] = 49762,
+  [SMALL_STATE(1133)] = 49796,
+  [SMALL_STATE(1134)] = 49830,
+  [SMALL_STATE(1135)] = 49864,
+  [SMALL_STATE(1136)] = 49898,
+  [SMALL_STATE(1137)] = 49952,
+  [SMALL_STATE(1138)] = 50006,
+  [SMALL_STATE(1139)] = 50060,
+  [SMALL_STATE(1140)] = 50114,
+  [SMALL_STATE(1141)] = 50148,
+  [SMALL_STATE(1142)] = 50182,
+  [SMALL_STATE(1143)] = 50216,
+  [SMALL_STATE(1144)] = 50250,
+  [SMALL_STATE(1145)] = 50286,
+  [SMALL_STATE(1146)] = 50320,
+  [SMALL_STATE(1147)] = 50354,
+  [SMALL_STATE(1148)] = 50388,
+  [SMALL_STATE(1149)] = 50439,
+  [SMALL_STATE(1150)] = 50490,
+  [SMALL_STATE(1151)] = 50545,
+  [SMALL_STATE(1152)] = 50600,
+  [SMALL_STATE(1153)] = 50651,
+  [SMALL_STATE(1154)] = 50702,
+  [SMALL_STATE(1155)] = 50753,
+  [SMALL_STATE(1156)] = 50794,
+  [SMALL_STATE(1157)] = 50845,
+  [SMALL_STATE(1158)] = 50900,
+  [SMALL_STATE(1159)] = 50951,
+  [SMALL_STATE(1160)] = 51002,
+  [SMALL_STATE(1161)] = 51053,
+  [SMALL_STATE(1162)] = 51096,
+  [SMALL_STATE(1163)] = 51147,
+  [SMALL_STATE(1164)] = 51190,
+  [SMALL_STATE(1165)] = 51233,
+  [SMALL_STATE(1166)] = 51284,
+  [SMALL_STATE(1167)] = 51317,
+  [SMALL_STATE(1168)] = 51357,
+  [SMALL_STATE(1169)] = 51385,
+  [SMALL_STATE(1170)] = 51413,
+  [SMALL_STATE(1171)] = 51453,
+  [SMALL_STATE(1172)] = 51501,
+  [SMALL_STATE(1173)] = 51541,
+  [SMALL_STATE(1174)] = 51581,
+  [SMALL_STATE(1175)] = 51621,
+  [SMALL_STATE(1176)] = 51661,
+  [SMALL_STATE(1177)] = 51689,
+  [SMALL_STATE(1178)] = 51729,
+  [SMALL_STATE(1179)] = 51775,
+  [SMALL_STATE(1180)] = 51815,
+  [SMALL_STATE(1181)] = 51865,
+  [SMALL_STATE(1182)] = 51905,
+  [SMALL_STATE(1183)] = 51951,
+  [SMALL_STATE(1184)] = 51991,
+  [SMALL_STATE(1185)] = 52035,
+  [SMALL_STATE(1186)] = 52075,
+  [SMALL_STATE(1187)] = 52115,
+  [SMALL_STATE(1188)] = 52157,
+  [SMALL_STATE(1189)] = 52197,
+  [SMALL_STATE(1190)] = 52237,
+  [SMALL_STATE(1191)] = 52265,
+  [SMALL_STATE(1192)] = 52305,
+  [SMALL_STATE(1193)] = 52345,
+  [SMALL_STATE(1194)] = 52385,
+  [SMALL_STATE(1195)] = 52425,
+  [SMALL_STATE(1196)] = 52465,
+  [SMALL_STATE(1197)] = 52505,
+  [SMALL_STATE(1198)] = 52545,
+  [SMALL_STATE(1199)] = 52585,
+  [SMALL_STATE(1200)] = 52625,
+  [SMALL_STATE(1201)] = 52665,
+  [SMALL_STATE(1202)] = 52705,
+  [SMALL_STATE(1203)] = 52741,
+  [SMALL_STATE(1204)] = 52781,
+  [SMALL_STATE(1205)] = 52821,
+  [SMALL_STATE(1206)] = 52855,
+  [SMALL_STATE(1207)] = 52895,
+  [SMALL_STATE(1208)] = 52935,
+  [SMALL_STATE(1209)] = 52975,
+  [SMALL_STATE(1210)] = 53015,
+  [SMALL_STATE(1211)] = 53055,
+  [SMALL_STATE(1212)] = 53095,
+  [SMALL_STATE(1213)] = 53135,
+  [SMALL_STATE(1214)] = 53163,
+  [SMALL_STATE(1215)] = 53203,
+  [SMALL_STATE(1216)] = 53243,
+  [SMALL_STATE(1217)] = 53283,
+  [SMALL_STATE(1218)] = 53323,
+  [SMALL_STATE(1219)] = 53351,
+  [SMALL_STATE(1220)] = 53391,
+  [SMALL_STATE(1221)] = 53423,
+  [SMALL_STATE(1222)] = 53463,
+  [SMALL_STATE(1223)] = 53512,
+  [SMALL_STATE(1224)] = 53539,
+  [SMALL_STATE(1225)] = 53584,
+  [SMALL_STATE(1226)] = 53627,
+  [SMALL_STATE(1227)] = 53668,
+  [SMALL_STATE(1228)] = 53707,
+  [SMALL_STATE(1229)] = 53744,
+  [SMALL_STATE(1230)] = 53779,
+  [SMALL_STATE(1231)] = 53812,
+  [SMALL_STATE(1232)] = 53843,
+  [SMALL_STATE(1233)] = 53888,
+  [SMALL_STATE(1234)] = 53937,
+  [SMALL_STATE(1235)] = 53964,
+  [SMALL_STATE(1236)] = 54009,
+  [SMALL_STATE(1237)] = 54036,
+  [SMALL_STATE(1238)] = 54081,
+  [SMALL_STATE(1239)] = 54110,
+  [SMALL_STATE(1240)] = 54155,
+  [SMALL_STATE(1241)] = 54182,
+  [SMALL_STATE(1242)] = 54227,
+  [SMALL_STATE(1243)] = 54272,
+  [SMALL_STATE(1244)] = 54299,
+  [SMALL_STATE(1245)] = 54326,
+  [SMALL_STATE(1246)] = 54353,
+  [SMALL_STATE(1247)] = 54396,
+  [SMALL_STATE(1248)] = 54423,
+  [SMALL_STATE(1249)] = 54468,
+  [SMALL_STATE(1250)] = 54495,
+  [SMALL_STATE(1251)] = 54540,
+  [SMALL_STATE(1252)] = 54585,
+  [SMALL_STATE(1253)] = 54628,
+  [SMALL_STATE(1254)] = 54673,
+  [SMALL_STATE(1255)] = 54718,
+  [SMALL_STATE(1256)] = 54761,
+  [SMALL_STATE(1257)] = 54788,
+  [SMALL_STATE(1258)] = 54833,
+  [SMALL_STATE(1259)] = 54878,
+  [SMALL_STATE(1260)] = 54921,
+  [SMALL_STATE(1261)] = 54966,
+  [SMALL_STATE(1262)] = 55006,
+  [SMALL_STATE(1263)] = 55046,
+  [SMALL_STATE(1264)] = 55082,
+  [SMALL_STATE(1265)] = 55122,
+  [SMALL_STATE(1266)] = 55162,
+  [SMALL_STATE(1267)] = 55206,
+  [SMALL_STATE(1268)] = 55246,
+  [SMALL_STATE(1269)] = 55288,
+  [SMALL_STATE(1270)] = 55328,
+  [SMALL_STATE(1271)] = 55359,
+  [SMALL_STATE(1272)] = 55400,
+  [SMALL_STATE(1273)] = 55439,
+  [SMALL_STATE(1274)] = 55470,
+  [SMALL_STATE(1275)] = 55511,
+  [SMALL_STATE(1276)] = 55542,
+  [SMALL_STATE(1277)] = 55583,
+  [SMALL_STATE(1278)] = 55624,
+  [SMALL_STATE(1279)] = 55665,
+  [SMALL_STATE(1280)] = 55706,
+  [SMALL_STATE(1281)] = 55747,
+  [SMALL_STATE(1282)] = 55778,
+  [SMALL_STATE(1283)] = 55819,
+  [SMALL_STATE(1284)] = 55861,
+  [SMALL_STATE(1285)] = 55903,
+  [SMALL_STATE(1286)] = 55931,
+  [SMALL_STATE(1287)] = 55973,
+  [SMALL_STATE(1288)] = 56011,
+  [SMALL_STATE(1289)] = 56049,
+  [SMALL_STATE(1290)] = 56076,
+  [SMALL_STATE(1291)] = 56099,
+  [SMALL_STATE(1292)] = 56138,
+  [SMALL_STATE(1293)] = 56177,
+  [SMALL_STATE(1294)] = 56216,
+  [SMALL_STATE(1295)] = 56255,
+  [SMALL_STATE(1296)] = 56282,
+  [SMALL_STATE(1297)] = 56315,
+  [SMALL_STATE(1298)] = 56338,
+  [SMALL_STATE(1299)] = 56361,
+  [SMALL_STATE(1300)] = 56393,
+  [SMALL_STATE(1301)] = 56425,
+  [SMALL_STATE(1302)] = 56457,
+  [SMALL_STATE(1303)] = 56489,
+  [SMALL_STATE(1304)] = 56528,
+  [SMALL_STATE(1305)] = 56549,
+  [SMALL_STATE(1306)] = 56570,
+  [SMALL_STATE(1307)] = 56607,
+  [SMALL_STATE(1308)] = 56644,
+  [SMALL_STATE(1309)] = 56665,
+  [SMALL_STATE(1310)] = 56702,
+  [SMALL_STATE(1311)] = 56739,
+  [SMALL_STATE(1312)] = 56760,
+  [SMALL_STATE(1313)] = 56797,
+  [SMALL_STATE(1314)] = 56824,
+  [SMALL_STATE(1315)] = 56845,
+  [SMALL_STATE(1316)] = 56866,
+  [SMALL_STATE(1317)] = 56903,
+  [SMALL_STATE(1318)] = 56936,
+  [SMALL_STATE(1319)] = 56973,
+  [SMALL_STATE(1320)] = 57010,
+  [SMALL_STATE(1321)] = 57047,
+  [SMALL_STATE(1322)] = 57068,
+  [SMALL_STATE(1323)] = 57105,
+  [SMALL_STATE(1324)] = 57142,
+  [SMALL_STATE(1325)] = 57175,
+  [SMALL_STATE(1326)] = 57205,
+  [SMALL_STATE(1327)] = 57235,
+  [SMALL_STATE(1328)] = 57265,
+  [SMALL_STATE(1329)] = 57299,
+  [SMALL_STATE(1330)] = 57333,
+  [SMALL_STATE(1331)] = 57363,
+  [SMALL_STATE(1332)] = 57388,
+  [SMALL_STATE(1333)] = 57419,
+  [SMALL_STATE(1334)] = 57442,
+  [SMALL_STATE(1335)] = 57471,
+  [SMALL_STATE(1336)] = 57500,
+  [SMALL_STATE(1337)] = 57529,
+  [SMALL_STATE(1338)] = 57558,
+  [SMALL_STATE(1339)] = 57587,
+  [SMALL_STATE(1340)] = 57610,
+  [SMALL_STATE(1341)] = 57641,
+  [SMALL_STATE(1342)] = 57670,
+  [SMALL_STATE(1343)] = 57701,
+  [SMALL_STATE(1344)] = 57730,
+  [SMALL_STATE(1345)] = 57761,
+  [SMALL_STATE(1346)] = 57790,
+  [SMALL_STATE(1347)] = 57819,
+  [SMALL_STATE(1348)] = 57850,
+  [SMALL_STATE(1349)] = 57881,
+  [SMALL_STATE(1350)] = 57910,
+  [SMALL_STATE(1351)] = 57943,
+  [SMALL_STATE(1352)] = 57968,
+  [SMALL_STATE(1353)] = 57999,
+  [SMALL_STATE(1354)] = 58028,
+  [SMALL_STATE(1355)] = 58057,
+  [SMALL_STATE(1356)] = 58086,
+  [SMALL_STATE(1357)] = 58115,
+  [SMALL_STATE(1358)] = 58144,
+  [SMALL_STATE(1359)] = 58173,
+  [SMALL_STATE(1360)] = 58202,
+  [SMALL_STATE(1361)] = 58233,
+  [SMALL_STATE(1362)] = 58262,
+  [SMALL_STATE(1363)] = 58285,
+  [SMALL_STATE(1364)] = 58313,
+  [SMALL_STATE(1365)] = 58337,
+  [SMALL_STATE(1366)] = 58369,
+  [SMALL_STATE(1367)] = 58391,
+  [SMALL_STATE(1368)] = 58415,
+  [SMALL_STATE(1369)] = 58443,
+  [SMALL_STATE(1370)] = 58471,
+  [SMALL_STATE(1371)] = 58499,
+  [SMALL_STATE(1372)] = 58527,
+  [SMALL_STATE(1373)] = 58551,
+  [SMALL_STATE(1374)] = 58583,
+  [SMALL_STATE(1375)] = 58615,
+  [SMALL_STATE(1376)] = 58637,
+  [SMALL_STATE(1377)] = 58669,
+  [SMALL_STATE(1378)] = 58690,
+  [SMALL_STATE(1379)] = 58719,
+  [SMALL_STATE(1380)] = 58740,
+  [SMALL_STATE(1381)] = 58763,
+  [SMALL_STATE(1382)] = 58792,
+  [SMALL_STATE(1383)] = 58809,
+  [SMALL_STATE(1384)] = 58826,
+  [SMALL_STATE(1385)] = 58843,
+  [SMALL_STATE(1386)] = 58864,
+  [SMALL_STATE(1387)] = 58885,
+  [SMALL_STATE(1388)] = 58906,
+  [SMALL_STATE(1389)] = 58923,
+  [SMALL_STATE(1390)] = 58950,
+  [SMALL_STATE(1391)] = 58971,
+  [SMALL_STATE(1392)] = 58996,
+  [SMALL_STATE(1393)] = 59013,
+  [SMALL_STATE(1394)] = 59042,
+  [SMALL_STATE(1395)] = 59071,
+  [SMALL_STATE(1396)] = 59088,
+  [SMALL_STATE(1397)] = 59111,
+  [SMALL_STATE(1398)] = 59128,
+  [SMALL_STATE(1399)] = 59149,
+  [SMALL_STATE(1400)] = 59166,
+  [SMALL_STATE(1401)] = 59195,
+  [SMALL_STATE(1402)] = 59224,
+  [SMALL_STATE(1403)] = 59253,
+  [SMALL_STATE(1404)] = 59270,
+  [SMALL_STATE(1405)] = 59299,
+  [SMALL_STATE(1406)] = 59315,
+  [SMALL_STATE(1407)] = 59341,
+  [SMALL_STATE(1408)] = 59367,
+  [SMALL_STATE(1409)] = 59393,
+  [SMALL_STATE(1410)] = 59409,
+  [SMALL_STATE(1411)] = 59425,
+  [SMALL_STATE(1412)] = 59451,
+  [SMALL_STATE(1413)] = 59477,
+  [SMALL_STATE(1414)] = 59503,
+  [SMALL_STATE(1415)] = 59519,
+  [SMALL_STATE(1416)] = 59541,
+  [SMALL_STATE(1417)] = 59567,
+  [SMALL_STATE(1418)] = 59585,
+  [SMALL_STATE(1419)] = 59607,
+  [SMALL_STATE(1420)] = 59627,
+  [SMALL_STATE(1421)] = 59643,
+  [SMALL_STATE(1422)] = 59659,
+  [SMALL_STATE(1423)] = 59685,
+  [SMALL_STATE(1424)] = 59701,
+  [SMALL_STATE(1425)] = 59717,
+  [SMALL_STATE(1426)] = 59743,
+  [SMALL_STATE(1427)] = 59759,
+  [SMALL_STATE(1428)] = 59779,
+  [SMALL_STATE(1429)] = 59805,
+  [SMALL_STATE(1430)] = 59827,
+  [SMALL_STATE(1431)] = 59849,
+  [SMALL_STATE(1432)] = 59869,
+  [SMALL_STATE(1433)] = 59885,
+  [SMALL_STATE(1434)] = 59911,
+  [SMALL_STATE(1435)] = 59937,
+  [SMALL_STATE(1436)] = 59963,
+  [SMALL_STATE(1437)] = 59978,
+  [SMALL_STATE(1438)] = 59993,
+  [SMALL_STATE(1439)] = 60016,
+  [SMALL_STATE(1440)] = 60039,
+  [SMALL_STATE(1441)] = 60062,
+  [SMALL_STATE(1442)] = 60079,
+  [SMALL_STATE(1443)] = 60094,
+  [SMALL_STATE(1444)] = 60117,
+  [SMALL_STATE(1445)] = 60136,
+  [SMALL_STATE(1446)] = 60159,
+  [SMALL_STATE(1447)] = 60182,
+  [SMALL_STATE(1448)] = 60197,
+  [SMALL_STATE(1449)] = 60220,
+  [SMALL_STATE(1450)] = 60235,
+  [SMALL_STATE(1451)] = 60252,
+  [SMALL_STATE(1452)] = 60267,
+  [SMALL_STATE(1453)] = 60282,
+  [SMALL_STATE(1454)] = 60305,
+  [SMALL_STATE(1455)] = 60328,
+  [SMALL_STATE(1456)] = 60351,
+  [SMALL_STATE(1457)] = 60370,
+  [SMALL_STATE(1458)] = 60393,
+  [SMALL_STATE(1459)] = 60416,
+  [SMALL_STATE(1460)] = 60439,
+  [SMALL_STATE(1461)] = 60462,
+  [SMALL_STATE(1462)] = 60485,
+  [SMALL_STATE(1463)] = 60508,
+  [SMALL_STATE(1464)] = 60525,
+  [SMALL_STATE(1465)] = 60540,
+  [SMALL_STATE(1466)] = 60555,
+  [SMALL_STATE(1467)] = 60572,
+  [SMALL_STATE(1468)] = 60587,
+  [SMALL_STATE(1469)] = 60610,
+  [SMALL_STATE(1470)] = 60633,
+  [SMALL_STATE(1471)] = 60656,
+  [SMALL_STATE(1472)] = 60671,
+  [SMALL_STATE(1473)] = 60686,
+  [SMALL_STATE(1474)] = 60701,
+  [SMALL_STATE(1475)] = 60719,
+  [SMALL_STATE(1476)] = 60737,
+  [SMALL_STATE(1477)] = 60751,
+  [SMALL_STATE(1478)] = 60765,
+  [SMALL_STATE(1479)] = 60783,
+  [SMALL_STATE(1480)] = 60797,
+  [SMALL_STATE(1481)] = 60811,
+  [SMALL_STATE(1482)] = 60831,
+  [SMALL_STATE(1483)] = 60845,
+  [SMALL_STATE(1484)] = 60859,
+  [SMALL_STATE(1485)] = 60877,
+  [SMALL_STATE(1486)] = 60891,
+  [SMALL_STATE(1487)] = 60909,
+  [SMALL_STATE(1488)] = 60923,
+  [SMALL_STATE(1489)] = 60937,
+  [SMALL_STATE(1490)] = 60951,
+  [SMALL_STATE(1491)] = 60965,
+  [SMALL_STATE(1492)] = 60983,
+  [SMALL_STATE(1493)] = 61001,
+  [SMALL_STATE(1494)] = 61015,
+  [SMALL_STATE(1495)] = 61033,
+  [SMALL_STATE(1496)] = 61051,
+  [SMALL_STATE(1497)] = 61065,
+  [SMALL_STATE(1498)] = 61079,
+  [SMALL_STATE(1499)] = 61093,
+  [SMALL_STATE(1500)] = 61110,
+  [SMALL_STATE(1501)] = 61127,
+  [SMALL_STATE(1502)] = 61144,
+  [SMALL_STATE(1503)] = 61161,
+  [SMALL_STATE(1504)] = 61178,
+  [SMALL_STATE(1505)] = 61195,
+  [SMALL_STATE(1506)] = 61212,
+  [SMALL_STATE(1507)] = 61229,
+  [SMALL_STATE(1508)] = 61246,
+  [SMALL_STATE(1509)] = 61263,
+  [SMALL_STATE(1510)] = 61280,
+  [SMALL_STATE(1511)] = 61297,
+  [SMALL_STATE(1512)] = 61316,
+  [SMALL_STATE(1513)] = 61329,
+  [SMALL_STATE(1514)] = 61346,
+  [SMALL_STATE(1515)] = 61363,
+  [SMALL_STATE(1516)] = 61382,
+  [SMALL_STATE(1517)] = 61399,
+  [SMALL_STATE(1518)] = 61418,
+  [SMALL_STATE(1519)] = 61435,
+  [SMALL_STATE(1520)] = 61452,
+  [SMALL_STATE(1521)] = 61469,
+  [SMALL_STATE(1522)] = 61480,
+  [SMALL_STATE(1523)] = 61497,
+  [SMALL_STATE(1524)] = 61514,
+  [SMALL_STATE(1525)] = 61531,
+  [SMALL_STATE(1526)] = 61548,
+  [SMALL_STATE(1527)] = 61565,
+  [SMALL_STATE(1528)] = 61579,
+  [SMALL_STATE(1529)] = 61595,
+  [SMALL_STATE(1530)] = 61611,
+  [SMALL_STATE(1531)] = 61625,
+  [SMALL_STATE(1532)] = 61641,
+  [SMALL_STATE(1533)] = 61655,
+  [SMALL_STATE(1534)] = 61671,
+  [SMALL_STATE(1535)] = 61687,
+  [SMALL_STATE(1536)] = 61701,
+  [SMALL_STATE(1537)] = 61715,
+  [SMALL_STATE(1538)] = 61731,
+  [SMALL_STATE(1539)] = 61745,
+  [SMALL_STATE(1540)] = 61759,
+  [SMALL_STATE(1541)] = 61775,
+  [SMALL_STATE(1542)] = 61791,
+  [SMALL_STATE(1543)] = 61805,
+  [SMALL_STATE(1544)] = 61821,
+  [SMALL_STATE(1545)] = 61835,
+  [SMALL_STATE(1546)] = 61849,
+  [SMALL_STATE(1547)] = 61863,
+  [SMALL_STATE(1548)] = 61879,
+  [SMALL_STATE(1549)] = 61893,
+  [SMALL_STATE(1550)] = 61907,
+  [SMALL_STATE(1551)] = 61921,
+  [SMALL_STATE(1552)] = 61935,
+  [SMALL_STATE(1553)] = 61947,
+  [SMALL_STATE(1554)] = 61961,
+  [SMALL_STATE(1555)] = 61977,
+  [SMALL_STATE(1556)] = 61993,
+  [SMALL_STATE(1557)] = 62009,
+  [SMALL_STATE(1558)] = 62023,
+  [SMALL_STATE(1559)] = 62039,
+  [SMALL_STATE(1560)] = 62055,
+  [SMALL_STATE(1561)] = 62071,
+  [SMALL_STATE(1562)] = 62085,
+  [SMALL_STATE(1563)] = 62101,
+  [SMALL_STATE(1564)] = 62115,
+  [SMALL_STATE(1565)] = 62129,
+  [SMALL_STATE(1566)] = 62145,
+  [SMALL_STATE(1567)] = 62159,
+  [SMALL_STATE(1568)] = 62175,
+  [SMALL_STATE(1569)] = 62191,
+  [SMALL_STATE(1570)] = 62207,
+  [SMALL_STATE(1571)] = 62223,
+  [SMALL_STATE(1572)] = 62236,
+  [SMALL_STATE(1573)] = 62249,
+  [SMALL_STATE(1574)] = 62262,
+  [SMALL_STATE(1575)] = 62275,
+  [SMALL_STATE(1576)] = 62284,
+  [SMALL_STATE(1577)] = 62297,
+  [SMALL_STATE(1578)] = 62310,
+  [SMALL_STATE(1579)] = 62323,
+  [SMALL_STATE(1580)] = 62336,
+  [SMALL_STATE(1581)] = 62349,
+  [SMALL_STATE(1582)] = 62362,
+  [SMALL_STATE(1583)] = 62375,
+  [SMALL_STATE(1584)] = 62388,
+  [SMALL_STATE(1585)] = 62401,
+  [SMALL_STATE(1586)] = 62410,
+  [SMALL_STATE(1587)] = 62423,
+  [SMALL_STATE(1588)] = 62436,
+  [SMALL_STATE(1589)] = 62449,
+  [SMALL_STATE(1590)] = 62460,
+  [SMALL_STATE(1591)] = 62473,
+  [SMALL_STATE(1592)] = 62482,
+  [SMALL_STATE(1593)] = 62495,
+  [SMALL_STATE(1594)] = 62508,
+  [SMALL_STATE(1595)] = 62521,
+  [SMALL_STATE(1596)] = 62530,
+  [SMALL_STATE(1597)] = 62543,
+  [SMALL_STATE(1598)] = 62556,
+  [SMALL_STATE(1599)] = 62569,
+  [SMALL_STATE(1600)] = 62578,
+  [SMALL_STATE(1601)] = 62591,
+  [SMALL_STATE(1602)] = 62604,
+  [SMALL_STATE(1603)] = 62617,
+  [SMALL_STATE(1604)] = 62630,
+  [SMALL_STATE(1605)] = 62643,
+  [SMALL_STATE(1606)] = 62652,
+  [SMALL_STATE(1607)] = 62665,
+  [SMALL_STATE(1608)] = 62678,
+  [SMALL_STATE(1609)] = 62691,
+  [SMALL_STATE(1610)] = 62704,
+  [SMALL_STATE(1611)] = 62717,
+  [SMALL_STATE(1612)] = 62730,
+  [SMALL_STATE(1613)] = 62743,
+  [SMALL_STATE(1614)] = 62756,
+  [SMALL_STATE(1615)] = 62769,
+  [SMALL_STATE(1616)] = 62782,
+  [SMALL_STATE(1617)] = 62795,
+  [SMALL_STATE(1618)] = 62808,
+  [SMALL_STATE(1619)] = 62821,
+  [SMALL_STATE(1620)] = 62834,
+  [SMALL_STATE(1621)] = 62847,
+  [SMALL_STATE(1622)] = 62860,
+  [SMALL_STATE(1623)] = 62873,
+  [SMALL_STATE(1624)] = 62886,
+  [SMALL_STATE(1625)] = 62899,
+  [SMALL_STATE(1626)] = 62912,
+  [SMALL_STATE(1627)] = 62925,
+  [SMALL_STATE(1628)] = 62938,
+  [SMALL_STATE(1629)] = 62951,
+  [SMALL_STATE(1630)] = 62964,
+  [SMALL_STATE(1631)] = 62977,
+  [SMALL_STATE(1632)] = 62986,
+  [SMALL_STATE(1633)] = 62999,
+  [SMALL_STATE(1634)] = 63012,
+  [SMALL_STATE(1635)] = 63025,
+  [SMALL_STATE(1636)] = 63038,
+  [SMALL_STATE(1637)] = 63051,
+  [SMALL_STATE(1638)] = 63064,
+  [SMALL_STATE(1639)] = 63077,
+  [SMALL_STATE(1640)] = 63090,
+  [SMALL_STATE(1641)] = 63103,
+  [SMALL_STATE(1642)] = 63116,
+  [SMALL_STATE(1643)] = 63129,
+  [SMALL_STATE(1644)] = 63142,
+  [SMALL_STATE(1645)] = 63155,
+  [SMALL_STATE(1646)] = 63168,
+  [SMALL_STATE(1647)] = 63181,
+  [SMALL_STATE(1648)] = 63194,
+  [SMALL_STATE(1649)] = 63207,
+  [SMALL_STATE(1650)] = 63220,
+  [SMALL_STATE(1651)] = 63233,
+  [SMALL_STATE(1652)] = 63246,
+  [SMALL_STATE(1653)] = 63257,
+  [SMALL_STATE(1654)] = 63270,
+  [SMALL_STATE(1655)] = 63283,
+  [SMALL_STATE(1656)] = 63296,
+  [SMALL_STATE(1657)] = 63309,
+  [SMALL_STATE(1658)] = 63322,
+  [SMALL_STATE(1659)] = 63335,
+  [SMALL_STATE(1660)] = 63348,
+  [SMALL_STATE(1661)] = 63361,
+  [SMALL_STATE(1662)] = 63374,
+  [SMALL_STATE(1663)] = 63387,
+  [SMALL_STATE(1664)] = 63400,
+  [SMALL_STATE(1665)] = 63413,
+  [SMALL_STATE(1666)] = 63424,
+  [SMALL_STATE(1667)] = 63437,
+  [SMALL_STATE(1668)] = 63450,
+  [SMALL_STATE(1669)] = 63463,
+  [SMALL_STATE(1670)] = 63476,
+  [SMALL_STATE(1671)] = 63489,
+  [SMALL_STATE(1672)] = 63498,
+  [SMALL_STATE(1673)] = 63511,
+  [SMALL_STATE(1674)] = 63524,
+  [SMALL_STATE(1675)] = 63533,
+  [SMALL_STATE(1676)] = 63544,
+  [SMALL_STATE(1677)] = 63557,
+  [SMALL_STATE(1678)] = 63566,
+  [SMALL_STATE(1679)] = 63579,
+  [SMALL_STATE(1680)] = 63590,
+  [SMALL_STATE(1681)] = 63599,
+  [SMALL_STATE(1682)] = 63612,
+  [SMALL_STATE(1683)] = 63625,
+  [SMALL_STATE(1684)] = 63638,
+  [SMALL_STATE(1685)] = 63651,
+  [SMALL_STATE(1686)] = 63664,
+  [SMALL_STATE(1687)] = 63677,
+  [SMALL_STATE(1688)] = 63687,
+  [SMALL_STATE(1689)] = 63695,
+  [SMALL_STATE(1690)] = 63705,
+  [SMALL_STATE(1691)] = 63715,
+  [SMALL_STATE(1692)] = 63723,
+  [SMALL_STATE(1693)] = 63733,
+  [SMALL_STATE(1694)] = 63743,
+  [SMALL_STATE(1695)] = 63753,
+  [SMALL_STATE(1696)] = 63761,
+  [SMALL_STATE(1697)] = 63771,
+  [SMALL_STATE(1698)] = 63781,
+  [SMALL_STATE(1699)] = 63791,
+  [SMALL_STATE(1700)] = 63801,
+  [SMALL_STATE(1701)] = 63811,
+  [SMALL_STATE(1702)] = 63821,
+  [SMALL_STATE(1703)] = 63831,
+  [SMALL_STATE(1704)] = 63841,
+  [SMALL_STATE(1705)] = 63851,
+  [SMALL_STATE(1706)] = 63861,
+  [SMALL_STATE(1707)] = 63871,
+  [SMALL_STATE(1708)] = 63881,
+  [SMALL_STATE(1709)] = 63891,
+  [SMALL_STATE(1710)] = 63901,
+  [SMALL_STATE(1711)] = 63911,
+  [SMALL_STATE(1712)] = 63921,
+  [SMALL_STATE(1713)] = 63931,
+  [SMALL_STATE(1714)] = 63939,
+  [SMALL_STATE(1715)] = 63947,
+  [SMALL_STATE(1716)] = 63957,
+  [SMALL_STATE(1717)] = 63967,
+  [SMALL_STATE(1718)] = 63977,
+  [SMALL_STATE(1719)] = 63987,
+  [SMALL_STATE(1720)] = 63997,
+  [SMALL_STATE(1721)] = 64007,
+  [SMALL_STATE(1722)] = 64017,
+  [SMALL_STATE(1723)] = 64027,
+  [SMALL_STATE(1724)] = 64037,
+  [SMALL_STATE(1725)] = 64047,
+  [SMALL_STATE(1726)] = 64057,
+  [SMALL_STATE(1727)] = 64067,
+  [SMALL_STATE(1728)] = 64075,
+  [SMALL_STATE(1729)] = 64085,
+  [SMALL_STATE(1730)] = 64093,
+  [SMALL_STATE(1731)] = 64101,
+  [SMALL_STATE(1732)] = 64111,
+  [SMALL_STATE(1733)] = 64121,
+  [SMALL_STATE(1734)] = 64129,
+  [SMALL_STATE(1735)] = 64139,
+  [SMALL_STATE(1736)] = 64149,
+  [SMALL_STATE(1737)] = 64159,
+  [SMALL_STATE(1738)] = 64169,
+  [SMALL_STATE(1739)] = 64179,
+  [SMALL_STATE(1740)] = 64189,
+  [SMALL_STATE(1741)] = 64197,
+  [SMALL_STATE(1742)] = 64207,
+  [SMALL_STATE(1743)] = 64217,
+  [SMALL_STATE(1744)] = 64225,
+  [SMALL_STATE(1745)] = 64235,
+  [SMALL_STATE(1746)] = 64245,
+  [SMALL_STATE(1747)] = 64255,
+  [SMALL_STATE(1748)] = 64265,
+  [SMALL_STATE(1749)] = 64273,
+  [SMALL_STATE(1750)] = 64283,
+  [SMALL_STATE(1751)] = 64293,
+  [SMALL_STATE(1752)] = 64303,
+  [SMALL_STATE(1753)] = 64313,
+  [SMALL_STATE(1754)] = 64323,
+  [SMALL_STATE(1755)] = 64333,
+  [SMALL_STATE(1756)] = 64343,
+  [SMALL_STATE(1757)] = 64351,
+  [SMALL_STATE(1758)] = 64361,
+  [SMALL_STATE(1759)] = 64371,
+  [SMALL_STATE(1760)] = 64381,
+  [SMALL_STATE(1761)] = 64391,
+  [SMALL_STATE(1762)] = 64399,
+  [SMALL_STATE(1763)] = 64409,
+  [SMALL_STATE(1764)] = 64419,
+  [SMALL_STATE(1765)] = 64429,
+  [SMALL_STATE(1766)] = 64439,
+  [SMALL_STATE(1767)] = 64449,
+  [SMALL_STATE(1768)] = 64459,
+  [SMALL_STATE(1769)] = 64469,
+  [SMALL_STATE(1770)] = 64477,
+  [SMALL_STATE(1771)] = 64485,
+  [SMALL_STATE(1772)] = 64495,
+  [SMALL_STATE(1773)] = 64503,
+  [SMALL_STATE(1774)] = 64513,
+  [SMALL_STATE(1775)] = 64521,
+  [SMALL_STATE(1776)] = 64528,
+  [SMALL_STATE(1777)] = 64535,
+  [SMALL_STATE(1778)] = 64542,
+  [SMALL_STATE(1779)] = 64549,
+  [SMALL_STATE(1780)] = 64556,
+  [SMALL_STATE(1781)] = 64563,
+  [SMALL_STATE(1782)] = 64570,
+  [SMALL_STATE(1783)] = 64577,
+  [SMALL_STATE(1784)] = 64584,
+  [SMALL_STATE(1785)] = 64591,
+  [SMALL_STATE(1786)] = 64598,
+  [SMALL_STATE(1787)] = 64605,
+  [SMALL_STATE(1788)] = 64612,
+  [SMALL_STATE(1789)] = 64619,
+  [SMALL_STATE(1790)] = 64626,
+  [SMALL_STATE(1791)] = 64633,
+  [SMALL_STATE(1792)] = 64640,
+  [SMALL_STATE(1793)] = 64647,
+  [SMALL_STATE(1794)] = 64654,
+  [SMALL_STATE(1795)] = 64661,
+  [SMALL_STATE(1796)] = 64668,
+  [SMALL_STATE(1797)] = 64675,
+  [SMALL_STATE(1798)] = 64682,
+  [SMALL_STATE(1799)] = 64689,
+  [SMALL_STATE(1800)] = 64696,
+  [SMALL_STATE(1801)] = 64703,
+  [SMALL_STATE(1802)] = 64710,
+  [SMALL_STATE(1803)] = 64717,
+  [SMALL_STATE(1804)] = 64724,
+  [SMALL_STATE(1805)] = 64731,
+  [SMALL_STATE(1806)] = 64738,
+  [SMALL_STATE(1807)] = 64745,
+  [SMALL_STATE(1808)] = 64752,
+  [SMALL_STATE(1809)] = 64759,
+  [SMALL_STATE(1810)] = 64766,
+  [SMALL_STATE(1811)] = 64773,
+  [SMALL_STATE(1812)] = 64780,
+  [SMALL_STATE(1813)] = 64787,
+  [SMALL_STATE(1814)] = 64794,
+  [SMALL_STATE(1815)] = 64801,
+  [SMALL_STATE(1816)] = 64808,
+  [SMALL_STATE(1817)] = 64815,
+  [SMALL_STATE(1818)] = 64822,
+  [SMALL_STATE(1819)] = 64829,
+  [SMALL_STATE(1820)] = 64836,
+  [SMALL_STATE(1821)] = 64843,
+  [SMALL_STATE(1822)] = 64850,
+  [SMALL_STATE(1823)] = 64857,
+  [SMALL_STATE(1824)] = 64864,
+  [SMALL_STATE(1825)] = 64871,
+  [SMALL_STATE(1826)] = 64878,
+  [SMALL_STATE(1827)] = 64885,
+  [SMALL_STATE(1828)] = 64892,
+  [SMALL_STATE(1829)] = 64899,
+  [SMALL_STATE(1830)] = 64906,
+  [SMALL_STATE(1831)] = 64913,
+  [SMALL_STATE(1832)] = 64920,
+  [SMALL_STATE(1833)] = 64927,
+  [SMALL_STATE(1834)] = 64934,
+  [SMALL_STATE(1835)] = 64941,
+  [SMALL_STATE(1836)] = 64948,
+  [SMALL_STATE(1837)] = 64955,
+  [SMALL_STATE(1838)] = 64962,
+  [SMALL_STATE(1839)] = 64969,
+  [SMALL_STATE(1840)] = 64976,
+  [SMALL_STATE(1841)] = 64983,
+  [SMALL_STATE(1842)] = 64990,
+  [SMALL_STATE(1843)] = 64997,
+  [SMALL_STATE(1844)] = 65004,
+  [SMALL_STATE(1845)] = 65011,
+  [SMALL_STATE(1846)] = 65018,
+  [SMALL_STATE(1847)] = 65025,
+  [SMALL_STATE(1848)] = 65032,
+  [SMALL_STATE(1849)] = 65039,
+  [SMALL_STATE(1850)] = 65046,
+  [SMALL_STATE(1851)] = 65053,
+  [SMALL_STATE(1852)] = 65060,
+  [SMALL_STATE(1853)] = 65067,
+  [SMALL_STATE(1854)] = 65074,
+  [SMALL_STATE(1855)] = 65081,
+  [SMALL_STATE(1856)] = 65088,
+  [SMALL_STATE(1857)] = 65095,
+  [SMALL_STATE(1858)] = 65102,
+  [SMALL_STATE(1859)] = 65109,
+  [SMALL_STATE(1860)] = 65116,
+  [SMALL_STATE(1861)] = 65123,
+  [SMALL_STATE(1862)] = 65130,
+  [SMALL_STATE(1863)] = 65137,
+  [SMALL_STATE(1864)] = 65144,
+  [SMALL_STATE(1865)] = 65151,
+  [SMALL_STATE(1866)] = 65158,
+  [SMALL_STATE(1867)] = 65165,
+  [SMALL_STATE(1868)] = 65172,
+  [SMALL_STATE(1869)] = 65179,
+  [SMALL_STATE(1870)] = 65186,
+  [SMALL_STATE(1871)] = 65193,
+  [SMALL_STATE(1872)] = 65200,
+  [SMALL_STATE(1873)] = 65207,
+  [SMALL_STATE(1874)] = 65214,
+  [SMALL_STATE(1875)] = 65221,
+  [SMALL_STATE(1876)] = 65228,
+  [SMALL_STATE(1877)] = 65235,
+  [SMALL_STATE(1878)] = 65242,
+  [SMALL_STATE(1879)] = 65249,
+  [SMALL_STATE(1880)] = 65256,
+  [SMALL_STATE(1881)] = 65263,
+  [SMALL_STATE(1882)] = 65270,
+  [SMALL_STATE(1883)] = 65277,
+  [SMALL_STATE(1884)] = 65284,
+  [SMALL_STATE(1885)] = 65291,
+  [SMALL_STATE(1886)] = 65298,
+  [SMALL_STATE(1887)] = 65305,
+  [SMALL_STATE(1888)] = 65312,
+  [SMALL_STATE(1889)] = 65319,
+  [SMALL_STATE(1890)] = 65326,
+  [SMALL_STATE(1891)] = 65333,
+  [SMALL_STATE(1892)] = 65340,
+  [SMALL_STATE(1893)] = 65347,
+  [SMALL_STATE(1894)] = 65354,
+  [SMALL_STATE(1895)] = 65361,
+  [SMALL_STATE(1896)] = 65368,
+  [SMALL_STATE(1897)] = 65375,
+  [SMALL_STATE(1898)] = 65382,
+  [SMALL_STATE(1899)] = 65389,
+  [SMALL_STATE(1900)] = 65396,
+  [SMALL_STATE(1901)] = 65403,
+  [SMALL_STATE(1902)] = 65410,
+  [SMALL_STATE(1903)] = 65417,
+  [SMALL_STATE(1904)] = 65424,
+  [SMALL_STATE(1905)] = 65431,
+  [SMALL_STATE(1906)] = 65438,
+  [SMALL_STATE(1907)] = 65445,
+  [SMALL_STATE(1908)] = 65452,
+  [SMALL_STATE(1909)] = 65459,
+  [SMALL_STATE(1910)] = 65466,
+  [SMALL_STATE(1911)] = 65473,
+  [SMALL_STATE(1912)] = 65480,
+  [SMALL_STATE(1913)] = 65487,
+  [SMALL_STATE(1914)] = 65494,
+  [SMALL_STATE(1915)] = 65501,
+  [SMALL_STATE(1916)] = 65508,
+  [SMALL_STATE(1917)] = 65515,
+  [SMALL_STATE(1918)] = 65522,
+  [SMALL_STATE(1919)] = 65529,
+  [SMALL_STATE(1920)] = 65536,
+  [SMALL_STATE(1921)] = 65543,
+  [SMALL_STATE(1922)] = 65550,
+  [SMALL_STATE(1923)] = 65557,
+  [SMALL_STATE(1924)] = 65564,
+  [SMALL_STATE(1925)] = 65571,
+  [SMALL_STATE(1926)] = 65578,
+  [SMALL_STATE(1927)] = 65585,
+  [SMALL_STATE(1928)] = 65592,
+  [SMALL_STATE(1929)] = 65599,
+  [SMALL_STATE(1930)] = 65606,
+  [SMALL_STATE(1931)] = 65613,
+  [SMALL_STATE(1932)] = 65620,
+  [SMALL_STATE(1933)] = 65627,
+  [SMALL_STATE(1934)] = 65634,
+  [SMALL_STATE(1935)] = 65641,
+  [SMALL_STATE(1936)] = 65648,
+  [SMALL_STATE(1937)] = 65655,
+  [SMALL_STATE(1938)] = 65662,
+  [SMALL_STATE(1939)] = 65669,
+  [SMALL_STATE(1940)] = 65676,
+  [SMALL_STATE(1941)] = 65683,
+  [SMALL_STATE(1942)] = 65690,
+  [SMALL_STATE(1943)] = 65697,
+  [SMALL_STATE(1944)] = 65704,
+  [SMALL_STATE(1945)] = 65711,
+  [SMALL_STATE(1946)] = 65718,
+  [SMALL_STATE(1947)] = 65725,
+  [SMALL_STATE(1948)] = 65732,
+  [SMALL_STATE(1949)] = 65739,
+  [SMALL_STATE(1950)] = 65746,
+  [SMALL_STATE(1951)] = 65753,
+  [SMALL_STATE(1952)] = 65760,
+  [SMALL_STATE(1953)] = 65767,
+  [SMALL_STATE(1954)] = 65774,
+  [SMALL_STATE(1955)] = 65781,
+  [SMALL_STATE(1956)] = 65788,
+  [SMALL_STATE(1957)] = 65795,
+  [SMALL_STATE(1958)] = 65802,
+  [SMALL_STATE(1959)] = 65809,
+  [SMALL_STATE(1960)] = 65816,
+  [SMALL_STATE(1961)] = 65823,
+  [SMALL_STATE(1962)] = 65830,
+  [SMALL_STATE(1963)] = 65837,
+  [SMALL_STATE(1964)] = 65844,
+  [SMALL_STATE(1965)] = 65851,
+  [SMALL_STATE(1966)] = 65858,
+  [SMALL_STATE(1967)] = 65865,
+  [SMALL_STATE(1968)] = 65872,
+  [SMALL_STATE(1969)] = 65879,
+  [SMALL_STATE(1970)] = 65886,
+  [SMALL_STATE(1971)] = 65893,
+  [SMALL_STATE(1972)] = 65900,
+  [SMALL_STATE(1973)] = 65907,
+  [SMALL_STATE(1974)] = 65914,
+  [SMALL_STATE(1975)] = 65921,
+  [SMALL_STATE(1976)] = 65928,
+  [SMALL_STATE(1977)] = 65935,
+  [SMALL_STATE(1978)] = 65942,
+  [SMALL_STATE(1979)] = 65949,
+  [SMALL_STATE(1980)] = 65956,
+  [SMALL_STATE(1981)] = 65963,
+  [SMALL_STATE(1982)] = 65970,
+  [SMALL_STATE(1983)] = 65977,
+  [SMALL_STATE(1984)] = 65984,
+  [SMALL_STATE(1985)] = 65991,
+  [SMALL_STATE(1986)] = 65998,
+  [SMALL_STATE(1987)] = 66005,
+  [SMALL_STATE(1988)] = 66012,
+  [SMALL_STATE(1989)] = 66019,
+  [SMALL_STATE(1990)] = 66026,
+  [SMALL_STATE(1991)] = 66033,
+  [SMALL_STATE(1992)] = 66040,
+  [SMALL_STATE(1993)] = 66047,
+  [SMALL_STATE(1994)] = 66054,
+  [SMALL_STATE(1995)] = 66061,
+  [SMALL_STATE(1996)] = 66068,
+  [SMALL_STATE(1997)] = 66075,
+  [SMALL_STATE(1998)] = 66082,
+  [SMALL_STATE(1999)] = 66089,
+  [SMALL_STATE(2000)] = 66096,
+  [SMALL_STATE(2001)] = 66103,
+  [SMALL_STATE(2002)] = 66110,
+  [SMALL_STATE(2003)] = 66117,
+  [SMALL_STATE(2004)] = 66124,
+  [SMALL_STATE(2005)] = 66131,
+  [SMALL_STATE(2006)] = 66138,
+  [SMALL_STATE(2007)] = 66145,
+  [SMALL_STATE(2008)] = 66152,
+  [SMALL_STATE(2009)] = 66159,
+  [SMALL_STATE(2010)] = 66166,
+  [SMALL_STATE(2011)] = 66173,
+  [SMALL_STATE(2012)] = 66180,
+  [SMALL_STATE(2013)] = 66187,
+  [SMALL_STATE(2014)] = 66194,
+  [SMALL_STATE(2015)] = 66201,
+  [SMALL_STATE(2016)] = 66208,
+  [SMALL_STATE(2017)] = 66215,
+  [SMALL_STATE(2018)] = 66222,
+  [SMALL_STATE(2019)] = 66229,
+  [SMALL_STATE(2020)] = 66236,
+  [SMALL_STATE(2021)] = 66243,
+  [SMALL_STATE(2022)] = 66250,
 };
 
 static const TSParseActionEntry ts_parse_actions[] = {
@@ -115265,2331 +117171,2400 @@ static const TSParseActionEntry ts_parse_actions[] = {
   [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(),
   [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(),
   [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_translation_unit, 0, 0, 0),
-  [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(416),
-  [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1363),
-  [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1987),
-  [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1158),
-  [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1961),
-  [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1701),
-  [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383),
-  [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(534),
-  [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(534),
-  [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(557),
-  [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(381),
-  [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(997),
-  [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(861),
-  [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1916),
-  [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1752),
-  [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1840),
-  [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(920),
-  [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
-  [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(751),
-  [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(723),
-  [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(710),
-  [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1767),
-  [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(736),
-  [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1651),
-  [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1429),
-  [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1480),
-  [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1703),
+  [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(418),
+  [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1387),
+  [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1877),
+  [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1194),
+  [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1916),
+  [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1709),
+  [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386),
+  [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(625),
+  [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(625),
+  [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(627),
+  [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319),
+  [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(382),
+  [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1008),
+  [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(869),
+  [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1985),
+  [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1694),
+  [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1853),
+  [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(894),
+  [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
+  [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(722),
+  [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(729),
+  [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(720),
+  [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1778),
+  [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(755),
+  [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1681),
+  [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1413),
+  [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1515),
   [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1742),
-  [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(535),
-  [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1944),
-  [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1724),
-  [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(336),
-  [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1765),
-  [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(475),
-  [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1904),
-  [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1930),
-  [79] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1820),
-  [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(569),
-  [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(570),
-  [85] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1827),
-  [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1874),
-  [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1833),
-  [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1425),
-  [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1103),
-  [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1653),
-  [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1540),
-  [99] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1103),
-  [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(685),
-  [103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(409),
-  [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1369),
-  [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1900),
-  [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1196),
-  [111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(270),
-  [113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1901),
-  [115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25),
-  [117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1185),
-  [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1973),
-  [121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1728),
-  [123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82),
-  [125] = {.entry = {.count = 1, .reusable = false}}, SHIFT(382),
-  [127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(993),
-  [129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(879),
-  [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
-  [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1754),
-  [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1707),
-  [137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(614),
-  [139] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1883),
-  [141] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1716),
-  [143] = {.entry = {.count = 1, .reusable = false}}, SHIFT(318),
-  [145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2002),
-  [147] = {.entry = {.count = 1, .reusable = false}}, SHIFT(473),
-  [149] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1758),
-  [151] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1784),
-  [153] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1909),
-  [155] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1710),
-  [157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2003),
-  [159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(679),
-  [161] = {.entry = {.count = 1, .reusable = false}}, SHIFT(679),
-  [163] = {.entry = {.count = 1, .reusable = false}}, SHIFT(360),
-  [165] = {.entry = {.count = 1, .reusable = false}}, SHIFT(355),
-  [167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(379),
-  [169] = {.entry = {.count = 1, .reusable = false}}, SHIFT(357),
+  [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1693),
+  [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(532),
+  [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1878),
+  [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1736),
+  [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(331),
+  [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2022),
+  [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(480),
+  [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1984),
+  [79] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1918),
+  [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1996),
+  [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(549),
+  [85] = {.entry = {.count = 1, .reusable = false}}, SHIFT(611),
+  [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1864),
+  [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1892),
+  [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1843),
+  [93] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1466),
+  [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1119),
+  [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1679),
+  [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1540),
+  [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1119),
+  [103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(689),
+  [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(408),
+  [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1390),
+  [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1914),
+  [111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1206),
+  [113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(374),
+  [115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1915),
+  [117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35),
+  [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1215),
+  [121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1890),
+  [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1703),
+  [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107),
+  [127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(383),
+  [129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1009),
+  [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(878),
+  [133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
+  [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1720),
+  [137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1746),
+  [139] = {.entry = {.count = 1, .reusable = false}}, SHIFT(613),
+  [141] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1798),
+  [143] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1722),
+  [145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(380),
+  [147] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2016),
+  [149] = {.entry = {.count = 1, .reusable = false}}, SHIFT(464),
+  [151] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1791),
+  [153] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1814),
+  [155] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1923),
+  [157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1750),
+  [159] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1902),
+  [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(693),
+  [163] = {.entry = {.count = 1, .reusable = false}}, SHIFT(693),
+  [165] = {.entry = {.count = 1, .reusable = false}}, SHIFT(336),
+  [167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(332),
+  [169] = {.entry = {.count = 1, .reusable = false}}, SHIFT(348),
   [171] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elifdef, 2, 0, 17),
-  [173] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif, 3, 0, 40),
+  [173] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif, 3, 0, 42),
   [175] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elifdef, 3, 0, 17),
-  [177] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif, 4, 0, 40),
-  [179] = {.entry = {.count = 1, .reusable = false}}, SHIFT(292),
-  [181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(303),
-  [183] = {.entry = {.count = 1, .reusable = false}}, SHIFT(305),
-  [185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(278),
-  [187] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126),
-  [189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139),
-  [191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144),
-  [193] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130),
-  [195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(301),
-  [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(285),
-  [199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(259),
-  [201] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(409),
-  [204] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1369),
-  [207] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1900),
-  [210] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1196),
-  [213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0),
-  [215] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1901),
-  [218] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1728),
-  [221] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(383),
-  [224] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(534),
-  [227] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(534),
-  [230] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(557),
-  [233] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(82),
-  [236] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(382),
-  [239] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(993),
-  [242] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(879),
-  [245] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1916),
-  [248] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1752),
-  [251] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1840),
-  [254] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(920),
-  [257] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(33),
-  [260] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(751),
-  [263] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(723),
-  [266] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(710),
-  [269] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1767),
-  [272] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(736),
-  [275] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1651),
-  [278] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1429),
-  [281] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1480),
-  [284] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1754),
-  [287] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1707),
-  [290] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(614),
-  [293] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1883),
-  [296] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1716),
-  [299] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(318),
-  [302] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(2002),
-  [305] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(473),
-  [308] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1758),
-  [311] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1784),
-  [314] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1909),
-  [317] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1710),
-  [320] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(2003),
-  [323] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(569),
-  [326] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(570),
-  [329] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1827),
-  [332] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1874),
-  [335] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1833),
-  [338] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1425),
-  [341] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(679),
-  [344] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1653),
-  [347] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1540),
-  [350] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(679),
-  [353] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(685),
-  [356] = {.entry = {.count = 1, .reusable = false}}, SHIFT(415),
-  [358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1361),
-  [360] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1810),
-  [362] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1190),
-  [364] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1811),
-  [366] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1756),
-  [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195),
-  [370] = {.entry = {.count = 1, .reusable = false}}, SHIFT(396),
-  [372] = {.entry = {.count = 1, .reusable = false}}, SHIFT(987),
-  [374] = {.entry = {.count = 1, .reusable = false}}, SHIFT(873),
-  [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
-  [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261),
-  [380] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1721),
-  [382] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1755),
-  [384] = {.entry = {.count = 1, .reusable = false}}, SHIFT(581),
-  [386] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1940),
-  [388] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1727),
-  [390] = {.entry = {.count = 1, .reusable = false}}, SHIFT(351),
-  [392] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1964),
-  [394] = {.entry = {.count = 1, .reusable = false}}, SHIFT(468),
-  [396] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1948),
-  [398] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1951),
-  [400] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1819),
-  [402] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1676),
-  [404] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1844),
-  [406] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(415),
-  [409] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1361),
-  [412] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1810),
-  [415] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1190),
-  [418] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1811),
-  [421] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1756),
-  [424] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(195),
-  [427] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(396),
-  [430] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(987),
-  [433] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(873),
-  [436] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(28),
-  [439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0),
-  [441] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1721),
-  [444] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1755),
-  [447] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(581),
-  [450] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1940),
-  [453] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1727),
-  [456] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(351),
-  [459] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1964),
-  [462] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(468),
-  [465] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1948),
-  [468] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1951),
-  [471] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1819),
-  [474] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1676),
-  [477] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1844),
-  [480] = {.entry = {.count = 1, .reusable = false}}, SHIFT(413),
-  [482] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1352),
-  [484] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1952),
-  [486] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1200),
-  [488] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else, 1, 0, 0),
-  [490] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1932),
-  [492] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1688),
-  [494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202),
-  [496] = {.entry = {.count = 1, .reusable = false}}, SHIFT(397),
-  [498] = {.entry = {.count = 1, .reusable = false}}, SHIFT(995),
-  [500] = {.entry = {.count = 1, .reusable = false}}, SHIFT(880),
-  [502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38),
-  [504] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1706),
-  [506] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1722),
-  [508] = {.entry = {.count = 1, .reusable = false}}, SHIFT(616),
-  [510] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1766),
-  [512] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1708),
-  [514] = {.entry = {.count = 1, .reusable = false}}, SHIFT(327),
-  [516] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2005),
-  [518] = {.entry = {.count = 1, .reusable = false}}, SHIFT(481),
-  [520] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1886),
-  [522] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1887),
-  [524] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1937),
-  [526] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1725),
-  [528] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1917),
-  [530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97),
-  [532] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(413),
-  [535] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1352),
-  [538] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1952),
-  [541] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1200),
-  [544] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1932),
-  [547] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1688),
-  [550] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(202),
-  [553] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(397),
-  [556] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(995),
-  [559] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(880),
-  [562] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(38),
-  [565] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1706),
-  [568] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1722),
-  [571] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(616),
-  [574] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1766),
-  [577] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1708),
-  [580] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(327),
-  [583] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(2005),
-  [586] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(481),
-  [589] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1886),
-  [592] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1887),
-  [595] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1937),
-  [598] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1725),
-  [601] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1917),
-  [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169),
-  [606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356),
-  [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181),
-  [610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308),
-  [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294),
-  [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83),
-  [616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92),
-  [618] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else, 2, 0, 0),
-  [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146),
-  [622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133),
-  [624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203),
-  [626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353),
-  [628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211),
-  [630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85),
-  [632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274),
-  [634] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_translation_unit, 1, 0, 0),
+  [177] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif, 4, 0, 42),
+  [179] = {.entry = {.count = 1, .reusable = false}}, SHIFT(260),
+  [181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(267),
+  [183] = {.entry = {.count = 1, .reusable = false}}, SHIFT(269),
+  [185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(280),
+  [187] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144),
+  [189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122),
+  [191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128),
+  [193] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135),
+  [195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(290),
+  [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(294),
+  [199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(296),
+  [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(303),
+  [203] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(408),
+  [206] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1390),
+  [209] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1914),
+  [212] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1206),
+  [215] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0),
+  [217] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1915),
+  [220] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1703),
+  [223] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(386),
+  [226] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(625),
+  [229] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(625),
+  [232] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(627),
+  [235] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(107),
+  [238] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(383),
+  [241] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1009),
+  [244] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(878),
+  [247] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1985),
+  [250] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1694),
+  [253] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1853),
+  [256] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(894),
+  [259] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(33),
+  [262] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(722),
+  [265] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(729),
+  [268] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(720),
+  [271] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1778),
+  [274] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(755),
+  [277] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1681),
+  [280] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1413),
+  [283] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1515),
+  [286] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1720),
+  [289] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1746),
+  [292] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(613),
+  [295] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1798),
+  [298] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1722),
+  [301] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(380),
+  [304] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(2016),
+  [307] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(464),
+  [310] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1791),
+  [313] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1814),
+  [316] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1923),
+  [319] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1750),
+  [322] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1902),
+  [325] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(549),
+  [328] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(611),
+  [331] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1864),
+  [334] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1892),
+  [337] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1843),
+  [340] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1466),
+  [343] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(693),
+  [346] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1679),
+  [349] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1540),
+  [352] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(693),
+  [355] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(689),
+  [358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(414),
+  [360] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1379),
+  [362] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1824),
+  [364] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1221),
+  [366] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1825),
+  [368] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1723),
+  [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251),
+  [372] = {.entry = {.count = 1, .reusable = false}}, SHIFT(384),
+  [374] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1001),
+  [376] = {.entry = {.count = 1, .reusable = false}}, SHIFT(868),
+  [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
+  [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115),
+  [382] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1724),
+  [384] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1721),
+  [386] = {.entry = {.count = 1, .reusable = false}}, SHIFT(572),
+  [388] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1847),
+  [390] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1726),
+  [392] = {.entry = {.count = 1, .reusable = false}}, SHIFT(379),
+  [394] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1978),
+  [396] = {.entry = {.count = 1, .reusable = false}}, SHIFT(483),
+  [398] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1851),
+  [400] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1854),
+  [402] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1833),
+  [404] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1697),
+  [406] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1910),
+  [408] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(414),
+  [411] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1379),
+  [414] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1824),
+  [417] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1221),
+  [420] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1825),
+  [423] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1723),
+  [426] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(251),
+  [429] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(384),
+  [432] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1001),
+  [435] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(868),
+  [438] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(25),
+  [441] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0),
+  [443] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1724),
+  [446] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1721),
+  [449] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(572),
+  [452] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1847),
+  [455] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1726),
+  [458] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(379),
+  [461] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1978),
+  [464] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(483),
+  [467] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1851),
+  [470] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1854),
+  [473] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1833),
+  [476] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1697),
+  [479] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1910),
+  [482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157),
+  [484] = {.entry = {.count = 1, .reusable = false}}, SHIFT(413),
+  [486] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1398),
+  [488] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1966),
+  [490] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1211),
+  [492] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else, 2, 0, 0),
+  [494] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1946),
+  [496] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1706),
+  [498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178),
+  [500] = {.entry = {.count = 1, .reusable = false}}, SHIFT(385),
+  [502] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1011),
+  [504] = {.entry = {.count = 1, .reusable = false}}, SHIFT(850),
+  [506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39),
+  [508] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1745),
+  [510] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1754),
+  [512] = {.entry = {.count = 1, .reusable = false}}, SHIFT(615),
+  [514] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1780),
+  [516] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1747),
+  [518] = {.entry = {.count = 1, .reusable = false}}, SHIFT(376),
+  [520] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2019),
+  [522] = {.entry = {.count = 1, .reusable = false}}, SHIFT(471),
+  [524] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1801),
+  [526] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1807),
+  [528] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1951),
+  [530] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1758),
+  [532] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1848),
+  [534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170),
+  [536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106),
+  [538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377),
+  [540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270),
+  [542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117),
+  [544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282),
+  [546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109),
+  [548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337),
+  [550] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else, 1, 0, 0),
+  [552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138),
+  [554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297),
+  [556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140),
+  [558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179),
+  [560] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(413),
+  [563] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1398),
+  [566] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1966),
+  [569] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1211),
+  [572] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1946),
+  [575] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1706),
+  [578] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(178),
+  [581] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(385),
+  [584] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1011),
+  [587] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(850),
+  [590] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(39),
+  [593] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1745),
+  [596] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1754),
+  [599] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(615),
+  [602] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1780),
+  [605] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1747),
+  [608] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(376),
+  [611] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(2019),
+  [614] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(471),
+  [617] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1801),
+  [620] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1807),
+  [623] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1951),
+  [626] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1758),
+  [629] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1848),
+  [632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188),
+  [634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305),
   [636] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0),
-  [638] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(416),
-  [641] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1363),
-  [644] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1987),
-  [647] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1158),
-  [650] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1961),
-  [653] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1701),
-  [656] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(383),
-  [659] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(534),
-  [662] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(534),
-  [665] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(557),
-  [668] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(381),
-  [671] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(997),
-  [674] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(861),
-  [677] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1916),
-  [680] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1752),
-  [683] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1840),
-  [686] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(920),
-  [689] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(41),
-  [692] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(751),
-  [695] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(723),
-  [698] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(710),
-  [701] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1767),
-  [704] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(736),
-  [707] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1651),
-  [710] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1429),
-  [713] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1480),
-  [716] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1703),
+  [638] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(418),
+  [641] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1387),
+  [644] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1877),
+  [647] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1194),
+  [650] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1916),
+  [653] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1709),
+  [656] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(386),
+  [659] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(625),
+  [662] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(625),
+  [665] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(627),
+  [668] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(319),
+  [671] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(382),
+  [674] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1008),
+  [677] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(869),
+  [680] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1985),
+  [683] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1694),
+  [686] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1853),
+  [689] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(894),
+  [692] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(23),
+  [695] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(722),
+  [698] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(729),
+  [701] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(720),
+  [704] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1778),
+  [707] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(755),
+  [710] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1681),
+  [713] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1413),
+  [716] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1515),
   [719] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1742),
-  [722] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(535),
-  [725] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1944),
-  [728] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1724),
-  [731] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(336),
-  [734] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1765),
-  [737] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(475),
-  [740] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1904),
-  [743] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1930),
-  [746] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1820),
-  [749] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(569),
-  [752] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(570),
-  [755] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1827),
-  [758] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1874),
-  [761] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1833),
-  [764] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1425),
-  [767] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1103),
-  [770] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1653),
-  [773] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1540),
-  [776] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1103),
-  [779] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(685),
-  [782] = {.entry = {.count = 1, .reusable = false}}, SHIFT(410),
-  [784] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 3, 0, 9),
-  [786] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 2, 0, 0),
-  [788] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 4, 0, 9),
-  [790] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(410),
-  [793] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0),
-  [795] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(383),
-  [798] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(534),
-  [801] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(534),
-  [804] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(557),
-  [807] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(82),
-  [810] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(382),
-  [813] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(993),
-  [816] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(723),
-  [819] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1916),
-  [822] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1752),
-  [825] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1840),
-  [828] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(33),
-  [831] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(751),
-  [834] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(710),
-  [837] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1767),
-  [840] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(736),
-  [843] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1651),
-  [846] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1429),
-  [849] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1480),
-  [852] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1754),
-  [855] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1707),
-  [858] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1716),
-  [861] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(318),
-  [864] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2002),
-  [867] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(473),
-  [870] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1758),
-  [873] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1784),
-  [876] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1909),
-  [879] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1710),
-  [882] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2003),
-  [885] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(569),
-  [888] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(570),
-  [891] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1827),
-  [894] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1874),
-  [897] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1833),
-  [900] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1425),
-  [903] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(679),
-  [906] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1653),
-  [909] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1540),
-  [912] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(679),
-  [915] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(685),
-  [918] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 3, 0, 0),
-  [920] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0),
-  [922] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(408),
-  [925] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(168),
-  [928] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(381),
-  [931] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(997),
-  [934] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(41),
-  [937] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1703),
-  [940] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1742),
-  [943] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1724),
-  [946] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(336),
-  [949] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1765),
-  [952] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(475),
-  [955] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1904),
-  [958] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1930),
-  [961] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1820),
-  [964] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1673),
-  [967] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1763),
-  [970] = {.entry = {.count = 1, .reusable = false}}, SHIFT(411),
-  [972] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 4, 0, 9),
-  [974] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 3, 0, 9),
-  [976] = {.entry = {.count = 1, .reusable = false}}, SHIFT(408),
-  [978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168),
-  [980] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1673),
-  [982] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1763),
-  [984] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(411),
-  [987] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(195),
-  [990] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(396),
-  [993] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(987),
-  [996] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(28),
-  [999] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1721),
-  [1002] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1755),
-  [1005] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1727),
-  [1008] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(351),
-  [1011] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1964),
-  [1014] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(468),
-  [1017] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1948),
-  [1020] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1951),
-  [1023] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1819),
-  [1026] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1676),
-  [1029] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1844),
-  [1032] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 3, 0, 0),
-  [1034] = {.entry = {.count = 1, .reusable = false}}, SHIFT(412),
-  [1036] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 2, 0, 0),
-  [1038] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(412),
-  [1041] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(202),
-  [1044] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(397),
-  [1047] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(995),
-  [1050] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(38),
-  [1053] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1706),
-  [1056] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1722),
-  [1059] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1708),
-  [1062] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(327),
-  [1065] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2005),
-  [1068] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(481),
-  [1071] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1886),
-  [1074] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1887),
-  [1077] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1937),
-  [1080] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1725),
-  [1083] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1917),
-  [1086] = {.entry = {.count = 1, .reusable = false}}, SHIFT(414),
-  [1088] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1740),
-  [1090] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1696),
-  [1092] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1986),
-  [1094] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1741),
-  [1096] = {.entry = {.count = 1, .reusable = false}}, SHIFT(398),
-  [1098] = {.entry = {.count = 1, .reusable = false}}, SHIFT(613),
-  [1100] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1965),
-  [1102] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(414),
-  [1105] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1740),
-  [1108] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1696),
-  [1111] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1986),
-  [1114] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1741),
-  [1117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(417),
-  [1119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465),
-  [1121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1705),
-  [1123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, 0, 27),
-  [1125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, 0, 27),
-  [1127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(331),
-  [1129] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, 0, 55),
-  [1131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, 0, 55),
-  [1133] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 1, 0, 0),
-  [1135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 1, 0, 0),
-  [1137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 2, 0, 0),
-  [1139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 2, 0, 0),
-  [1141] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1, 0, 0),
-  [1143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1, 0, 0),
-  [1145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2, 0, 0),
-  [1147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2, 0, 0),
-  [1149] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2, 0, 0),
-  [1151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2, 0, 0),
-  [1153] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 2, 0, 0),
-  [1155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 2, 0, 0),
-  [1157] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_statement, 2, 0, 0),
-  [1159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_statement, 2, 0, 0),
-  [1161] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_leave_statement, 2, 0, 0),
-  [1163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_leave_statement, 2, 0, 0),
-  [1165] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0),
-  [1167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2, 0, 0),
-  [1169] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 3, 0, 0),
-  [1171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 3, 0, 0),
-  [1173] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 3, 0, 28),
-  [1175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 3, 0, 28),
-  [1177] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 3, 0, 28),
-  [1179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 3, 0, 28),
-  [1181] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 0),
-  [1183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 0),
-  [1185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto_statement, 3, 0, 29),
-  [1187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto_statement, 3, 0, 29),
-  [1189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 3, 0, 35),
-  [1191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, 0, 35),
-  [1193] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 4, 0, 47),
-  [1195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 4, 0, 47),
-  [1197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_try_statement, 3, 0, 8),
-  [1199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_try_statement, 3, 0, 8),
-  [1201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 4, 0, 62),
-  [1203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 62),
-  [1205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 4, 0, 64),
-  [1207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 64),
-  [1209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 5, 0, 76),
-  [1211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 5, 0, 76),
-  [1213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 5, 0, 47),
-  [1215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 5, 0, 47),
-  [1217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_finally_clause, 2, 0, 8),
-  [1219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_finally_clause, 2, 0, 8),
-  [1221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_clause, 2, 0, 0),
-  [1223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_clause, 2, 0, 0),
-  [1225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 5, 0, 81),
-  [1227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 5, 0, 81),
-  [1229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 5, 0, 85),
-  [1231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 5, 0, 85),
-  [1233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 5, 0, 90),
-  [1235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 5, 0, 90),
-  [1237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 5, 0, 91),
-  [1239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 5, 0, 91),
-  [1241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 6, 0, 76),
-  [1243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 6, 0, 76),
-  [1245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_except_clause, 3, 0, 100),
-  [1247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_except_clause, 3, 0, 100),
-  [1249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 6, 0, 111),
-  [1251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 6, 0, 111),
-  [1253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_labeled_statement, 3, 0, 31),
-  [1255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_labeled_statement, 3, 0, 31),
-  [1257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 61),
-  [1259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 61),
-  [1261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block_item, 1, 0, 2),
-  [1263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block_item, 1, 0, 2),
-  [1265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 5, 0, 72),
-  [1267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 5, 0, 72),
-  [1269] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_function_def, 5, 0, 71),
-  [1271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_function_def, 5, 0, 71),
-  [1273] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_include, 3, 0, 16),
-  [1275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_include, 3, 0, 16),
-  [1277] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_def, 3, 0, 17),
-  [1279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_def, 3, 0, 17),
-  [1281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_definition, 4, 0, 66),
-  [1283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_definition, 4, 0, 66),
-  [1285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 3, 0, 17),
-  [1287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 3, 0, 17),
-  [1289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 67),
-  [1291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 67),
-  [1293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_definition, 4, 0, 68),
-  [1295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_definition, 4, 0, 68),
-  [1297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 5, 0, 73),
-  [1299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 5, 0, 73),
-  [1301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 5, 0, 40),
-  [1303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 5, 0, 40),
-  [1305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call, 3, 0, 18),
-  [1307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call, 3, 0, 18),
-  [1309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 3, 0, 33),
-  [1311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 3, 0, 33),
-  [1313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_list, 3, 0, 0),
-  [1315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 3, 0, 0),
-  [1317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_linkage_specification, 3, 0, 23),
-  [1319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_linkage_specification, 3, 0, 23),
-  [1321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_definition, 3, 0, 36),
-  [1323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_definition, 3, 0, 36),
-  [1325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call, 2, 0, 4),
-  [1327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call, 2, 0, 4),
-  [1329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_def, 4, 0, 38),
-  [1331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_def, 4, 0, 38),
-  [1333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_function_def, 4, 0, 39),
-  [1335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_function_def, 4, 0, 39),
-  [1337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 4, 0, 40),
-  [1339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 4, 0, 40),
-  [1341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 4, 0, 41),
-  [1343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 4, 0, 41),
-  [1345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 94),
-  [1347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 94),
-  [1349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_definition, 5, 0, 95),
-  [1351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_definition, 5, 0, 95),
-  [1353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 6, 0, 97),
-  [1355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 6, 0, 97),
-  [1357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 4, 0, 17),
-  [1359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 4, 0, 17),
-  [1361] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__block_item, 1, 0, 0), REDUCE(sym_statement, 1, 0, 0),
-  [1364] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__block_item, 1, 0, 0), REDUCE(sym_statement, 1, 0, 0),
-  [1367] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_list, 2, 0, 0),
-  [1369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 2, 0, 0),
-  [1371] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__empty_declaration, 2, 0, 0),
-  [1373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__empty_declaration, 2, 0, 0),
-  [1375] = {.entry = {.count = 1, .reusable = false}}, SHIFT(319),
-  [1377] = {.entry = {.count = 1, .reusable = false}}, SHIFT(343),
-  [1379] = {.entry = {.count = 1, .reusable = false}}, SHIFT(345),
-  [1381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sizeof_expression, 4, 0, 57),
-  [1383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sizeof_expression, 4, 0, 57),
-  [1385] = {.entry = {.count = 1, .reusable = false}}, SHIFT(574),
-  [1387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(574),
-  [1389] = {.entry = {.count = 1, .reusable = false}}, SHIFT(578),
-  [1391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430),
-  [1393] = {.entry = {.count = 1, .reusable = false}}, SHIFT(576),
-  [1395] = {.entry = {.count = 1, .reusable = false}}, SHIFT(630),
-  [1397] = {.entry = {.count = 1, .reusable = false}}, SHIFT(515),
-  [1399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(515),
-  [1401] = {.entry = {.count = 1, .reusable = false}}, SHIFT(519),
-  [1403] = {.entry = {.count = 1, .reusable = false}}, SHIFT(518),
-  [1405] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(772),
-  [1408] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(383),
-  [1411] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(534),
-  [1414] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(534),
-  [1417] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(557),
-  [1420] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(202),
-  [1423] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(620),
-  [1426] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1753),
-  [1429] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(38),
-  [1432] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1706),
-  [1435] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1722),
-  [1438] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(616),
-  [1441] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1766),
-  [1444] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1708),
-  [1447] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(327),
-  [1450] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(2005),
-  [1453] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(481),
-  [1456] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1886),
-  [1459] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1887),
-  [1462] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1937),
-  [1465] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1725),
-  [1468] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1917),
-  [1471] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(569),
-  [1474] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(570),
-  [1477] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1827),
-  [1480] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1874),
-  [1483] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1833),
-  [1486] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1425),
-  [1489] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(679),
-  [1492] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1653),
-  [1495] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1540),
-  [1498] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(679),
-  [1501] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(685),
-  [1504] = {.entry = {.count = 1, .reusable = false}}, SHIFT(747),
-  [1506] = {.entry = {.count = 1, .reusable = false}}, SHIFT(620),
-  [1508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1753),
-  [1510] = {.entry = {.count = 1, .reusable = false}}, SHIFT(777),
-  [1512] = {.entry = {.count = 1, .reusable = false}}, SHIFT(767),
-  [1514] = {.entry = {.count = 1, .reusable = false}}, SHIFT(769),
-  [1516] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(769),
-  [1519] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(82),
-  [1522] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(33),
-  [1525] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1754),
-  [1528] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1707),
-  [1531] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(614),
-  [1534] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1883),
-  [1537] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1716),
-  [1540] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(318),
-  [1543] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(2002),
-  [1546] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(473),
-  [1549] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1758),
-  [1552] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1784),
-  [1555] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1909),
-  [1558] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1710),
-  [1561] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(2003),
-  [1564] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(747),
-  [1567] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(195),
-  [1570] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(41),
-  [1573] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1740),
-  [1576] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1742),
-  [1579] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(613),
-  [1582] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1965),
-  [1585] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1696),
-  [1588] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(336),
-  [1591] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1986),
-  [1594] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(475),
-  [1597] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1904),
-  [1600] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1930),
-  [1603] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1820),
-  [1606] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1741),
-  [1609] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1844),
-  [1612] = {.entry = {.count = 1, .reusable = false}}, SHIFT(772),
-  [1614] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(767),
-  [1617] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(168),
-  [1620] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1703),
-  [1623] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(535),
-  [1626] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1944),
-  [1629] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1724),
-  [1632] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1765),
-  [1635] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1673),
-  [1638] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1763),
-  [1641] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(777),
-  [1644] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(28),
-  [1647] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1721),
-  [1650] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1755),
-  [1653] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(581),
-  [1656] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1940),
-  [1659] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1727),
-  [1662] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(351),
-  [1665] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1964),
-  [1668] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(468),
-  [1671] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1948),
-  [1674] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1951),
-  [1677] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1819),
-  [1680] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1676),
-  [1683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__top_level_expression_statement, 2, 0, 0),
-  [1685] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__top_level_expression_statement, 2, 0, 0),
-  [1687] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__top_level_item, 1, 0, 0), REDUCE(sym__top_level_statement, 1, 0, 0),
-  [1690] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__top_level_item, 1, 0, 0), REDUCE(sym__top_level_statement, 1, 0, 0),
-  [1693] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__top_level_item, 1, 0, 2),
-  [1695] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__top_level_item, 1, 0, 2),
-  [1697] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(716),
-  [1700] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(620),
-  [1703] = {.entry = {.count = 1, .reusable = false}}, SHIFT(981),
-  [1705] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0),
-  [1707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0),
-  [1709] = {.entry = {.count = 1, .reusable = false}}, SHIFT(994),
-  [1711] = {.entry = {.count = 1, .reusable = false}}, SHIFT(571),
-  [1713] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1108),
-  [1715] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1654),
-  [1717] = {.entry = {.count = 1, .reusable = false}}, SHIFT(609),
-  [1719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(609),
-  [1721] = {.entry = {.count = 1, .reusable = false}}, SHIFT(612),
-  [1723] = {.entry = {.count = 1, .reusable = false}}, SHIFT(611),
-  [1725] = {.entry = {.count = 1, .reusable = false}}, SHIFT(991),
-  [1727] = {.entry = {.count = 1, .reusable = false}}, SHIFT(996),
-  [1729] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_declaration, 3, 0, 0),
-  [1731] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_declaration, 3, 0, 0),
-  [1733] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_declaration, 4, 0, 0),
-  [1735] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_declaration, 4, 0, 0),
-  [1737] = {.entry = {.count = 1, .reusable = false}}, SHIFT(716),
-  [1739] = {.entry = {.count = 1, .reusable = false}}, SHIFT(561),
-  [1741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(561),
-  [1743] = {.entry = {.count = 1, .reusable = false}}, SHIFT(565),
-  [1745] = {.entry = {.count = 1, .reusable = false}}, SHIFT(624),
-  [1747] = {.entry = {.count = 1, .reusable = false}}, SHIFT(337),
-  [1749] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__declaration_modifiers, 1, 0, 0), REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0),
-  [1752] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0),
-  [1754] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0),
-  [1756] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_modifiers, 1, 0, 0),
-  [1758] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__declaration_modifiers, 1, 0, 0), REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0),
-  [1761] = {.entry = {.count = 1, .reusable = false}}, SHIFT(789),
-  [1763] = {.entry = {.count = 1, .reusable = false}}, SHIFT(617),
-  [1765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(617),
-  [1767] = {.entry = {.count = 1, .reusable = false}}, SHIFT(621),
-  [1769] = {.entry = {.count = 1, .reusable = false}}, SHIFT(502),
-  [1771] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 1),
-  [1773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0),
-  [1775] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), REDUCE(sym_expression, 1, 0, 0), SHIFT(979),
-  [1779] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0),
-  [1781] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 1), REDUCE(sym_expression, 1, 0, 0),
-  [1784] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1),
-  [1786] = {.entry = {.count = 1, .reusable = false}}, SHIFT(752),
-  [1788] = {.entry = {.count = 1, .reusable = false}}, SHIFT(560),
-  [1790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74),
-  [1792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(560),
-  [1794] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), REDUCE(sym_expression, 1, 0, 0),
-  [1797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73),
-  [1799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72),
-  [1801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71),
-  [1803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66),
-  [1805] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), SHIFT(363),
-  [1808] = {.entry = {.count = 1, .reusable = false}}, SHIFT(923),
-  [1810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1704),
-  [1812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1276),
-  [1814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418),
-  [1816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(837),
-  [1818] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1678),
-  [1820] = {.entry = {.count = 1, .reusable = false}}, SHIFT(428),
-  [1822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395),
-  [1824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(499),
-  [1826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(618),
-  [1828] = {.entry = {.count = 1, .reusable = false}}, SHIFT(429),
-  [1830] = {.entry = {.count = 1, .reusable = false}}, SHIFT(664),
-  [1832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1460),
-  [1834] = {.entry = {.count = 1, .reusable = false}}, SHIFT(681),
-  [1836] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1963),
-  [1838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(619),
-  [1840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(495),
-  [1842] = {.entry = {.count = 1, .reusable = false}}, SHIFT(421),
-  [1844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1304),
-  [1846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(500),
-  [1848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1302),
-  [1850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(493),
-  [1852] = {.entry = {.count = 1, .reusable = false}}, SHIFT(426),
-  [1854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1462),
-  [1856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(501),
-  [1858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1423),
-  [1860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(492),
-  [1862] = {.entry = {.count = 1, .reusable = false}}, SHIFT(423),
-  [1864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1404),
-  [1866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(498),
-  [1868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1392),
-  [1870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(496),
-  [1872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1459),
-  [1874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(497),
-  [1876] = {.entry = {.count = 1, .reusable = false}}, SHIFT(425),
-  [1878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1387),
-  [1880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(491),
-  [1882] = {.entry = {.count = 1, .reusable = false}}, SHIFT(419),
-  [1884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1449),
-  [1886] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(789),
-  [1889] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(395),
-  [1892] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(617),
-  [1895] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(617),
-  [1898] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(618),
-  [1901] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(621),
-  [1904] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(619),
-  [1907] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(502),
-  [1910] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(1827),
-  [1913] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(1874),
-  [1916] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(1833),
-  [1919] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(1425),
-  [1922] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(679),
-  [1925] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(1653),
-  [1928] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(1540),
-  [1931] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(679),
-  [1934] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(685),
-  [1937] = {.entry = {.count = 1, .reusable = false}}, SHIFT(768),
-  [1939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1928),
-  [1941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(674),
-  [1943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(522),
-  [1945] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1933),
-  [1947] = {.entry = {.count = 1, .reusable = false}}, SHIFT(746),
-  [1949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431),
-  [1951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(931),
-  [1953] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1956),
-  [1955] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1194),
-  [1957] = {.entry = {.count = 1, .reusable = false}}, SHIFT(870),
-  [1959] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1858),
-  [1961] = {.entry = {.count = 1, .reusable = false}}, SHIFT(457),
-  [1963] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1167),
-  [1965] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1841),
-  [1967] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1712),
-  [1969] = {.entry = {.count = 1, .reusable = false}}, SHIFT(853),
-  [1971] = {.entry = {.count = 1, .reusable = false}}, SHIFT(854),
-  [1973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(671),
-  [1975] = {.entry = {.count = 1, .reusable = false}}, SHIFT(779),
-  [1977] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 3, 0, 40),
-  [1979] = {.entry = {.count = 1, .reusable = false}}, SHIFT(862),
-  [1981] = {.entry = {.count = 1, .reusable = false}}, SHIFT(794),
-  [1983] = {.entry = {.count = 1, .reusable = false}}, SHIFT(842),
-  [1985] = {.entry = {.count = 1, .reusable = false}}, SHIFT(878),
-  [1987] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 2, 0, 17),
-  [1989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(672),
-  [1991] = {.entry = {.count = 1, .reusable = false}}, SHIFT(810),
-  [1993] = {.entry = {.count = 1, .reusable = false}}, SHIFT(813),
-  [1995] = {.entry = {.count = 1, .reusable = false}}, SHIFT(869),
-  [1997] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 3, 0, 17),
-  [1999] = {.entry = {.count = 1, .reusable = false}}, SHIFT(859),
-  [2001] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 4, 0, 40),
-  [2003] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(746),
-  [2006] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1956),
-  [2009] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1194),
-  [2012] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0),
-  [2014] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1858),
-  [2017] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1712),
-  [2020] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(710),
-  [2023] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(723),
-  [2026] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1916),
-  [2029] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1705),
-  [2032] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1840),
-  [2035] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(751),
-  [2038] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1767),
-  [2041] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(736),
-  [2044] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1651),
-  [2047] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1429),
-  [2050] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1480),
-  [2053] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1957),
-  [2055] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1199),
-  [2057] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else_in_field_declaration_list, 2, 0, 0),
-  [2059] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1921),
-  [2061] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1748),
-  [2063] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1931),
-  [2066] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1197),
-  [2069] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1966),
-  [2072] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1692),
-  [2075] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0),
-  [2077] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1931),
-  [2079] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1197),
-  [2081] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1966),
-  [2083] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1692),
-  [2085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(755),
-  [2087] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1957),
-  [2090] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1199),
-  [2093] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1921),
-  [2096] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1748),
-  [2099] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else_in_field_declaration_list, 1, 0, 0),
-  [2101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(914),
-  [2103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(698),
-  [2105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(741),
-  [2107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(542),
-  [2109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 0, 105),
-  [2111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(486),
-  [2113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(490),
-  [2115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386),
-  [2117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(517),
-  [2119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173),
-  [2121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(543),
-  [2123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(708),
-  [2125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393),
-  [2127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516),
-  [2129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(563),
-  [2131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388),
-  [2133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(610),
-  [2135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
-  [2137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(479),
-  [2139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248),
-  [2141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(555),
-  [2143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 40),
-  [2145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 84),
-  [2147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 56),
-  [2149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390),
-  [2151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(575),
-  [2153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205),
-  [2155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(536),
-  [2157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(607),
-  [2159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 2, 0, 0),
-  [2161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(596),
-  [2163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 2, 0, 56),
-  [2165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1457),
-  [2167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1441),
-  [2169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1444),
-  [2171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1300),
-  [2173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1456),
-  [2175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1386),
-  [2177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1391),
-  [2179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1472),
-  [2181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1298),
-  [2183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1415),
-  [2185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394),
-  [2187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387),
-  [2189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
-  [2191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29),
-  [2193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
-  [2195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384),
-  [2197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(752),
-  [2199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392),
-  [2201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
-  [2203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389),
-  [2205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(391),
-  [2207] = {.entry = {.count = 1, .reusable = false}}, SHIFT(626),
-  [2209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concatenated_string, 2, 0, 0),
-  [2211] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concatenated_string, 2, 0, 0),
-  [2213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(627),
-  [2215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concatenated_string, 3, 0, 0),
-  [2217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concatenated_string, 3, 0, 0),
-  [2219] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(627),
-  [2222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0),
-  [2224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0),
-  [2226] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(1540),
-  [2229] = {.entry = {.count = 1, .reusable = false}}, SHIFT(919),
-  [2231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(829),
-  [2233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 6, 0, 109),
-  [2235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 6, 0, 109),
-  [2237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 8, 0, 124),
-  [2239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 8, 0, 124),
-  [2241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 5, 0, 87),
-  [2243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 5, 0, 87),
-  [2245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 6, 0, 108),
-  [2247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 6, 0, 108),
-  [2249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 8, 0, 125),
-  [2251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 8, 0, 125),
-  [2253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3, 0, 0),
-  [2255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3, 0, 0),
-  [2257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 5, 0, 88),
-  [2259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 5, 0, 88),
-  [2261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0),
-  [2263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0),
-  [2265] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(710),
-  [2268] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(723),
-  [2271] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(1916),
-  [2274] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(1705),
-  [2277] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(1840),
-  [2280] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(1767),
-  [2283] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 9, 0, 129),
-  [2285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 9, 0, 129),
-  [2287] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 4, 0, 58),
-  [2289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 4, 0, 58),
-  [2291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2, 0, 0),
-  [2293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2, 0, 0),
-  [2295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 7, 0, 119),
-  [2297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 7, 0, 119),
-  [2299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 7, 0, 120),
-  [2301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 7, 0, 120),
-  [2303] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_specifier, 4, 0, 0),
-  [2305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_specifier, 4, 0, 0),
-  [2307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0),
-  [2309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0),
-  [2311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0),
-  [2313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0),
-  [2315] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(681),
-  [2318] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(664),
-  [2321] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1963),
-  [2324] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(746),
-  [2327] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(710),
-  [2330] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(723),
-  [2333] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1916),
-  [2336] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1705),
-  [2339] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1840),
-  [2342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0),
-  [2344] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(751),
-  [2347] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1767),
-  [2350] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(736),
-  [2353] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1651),
-  [2356] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1429),
-  [2359] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1480),
-  [2362] = {.entry = {.count = 1, .reusable = false}}, SHIFT(922),
-  [2364] = {.entry = {.count = 1, .reusable = false}}, SHIFT(625),
-  [2366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string, 1, 0, 0),
-  [2368] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__string, 1, 0, 0),
-  [2370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 5, 0, 0),
-  [2372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 5, 0, 0),
-  [2374] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 4, 0, 0),
-  [2376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 4, 0, 0),
-  [2378] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 2, 0, 13),
-  [2380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 2, 0, 13),
-  [2382] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 2, 0, 0),
-  [2384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 2, 0, 0),
-  [2386] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_literal_expression, 4, 0, 45),
-  [2388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_literal_expression, 4, 0, 45),
-  [2390] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_expression, 4, 0, 69),
-  [2392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_expression, 4, 0, 69),
-  [2394] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_expression, 8, 0, 0),
-  [2396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_expression, 8, 0, 0),
-  [2398] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_update_expression, 2, 0, 12),
-  [2400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_update_expression, 2, 0, 12),
-  [2402] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_expression, 9, 0, 0),
-  [2404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_expression, 9, 0, 0),
-  [2406] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alignas_qualifier, 4, 0, 0),
-  [2408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alignas_qualifier, 4, 0, 0),
-  [2410] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 3, 0, 0),
-  [2412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 3, 0, 0),
-  [2414] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_char_literal, 3, 0, 0),
-  [2416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char_literal, 3, 0, 0),
-  [2418] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_null, 1, 0, 0),
-  [2420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_null, 1, 0, 0),
-  [2422] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_offsetof_expression, 6, 0, 106),
-  [2424] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_offsetof_expression, 6, 0, 106),
-  [2426] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alignof_expression, 4, 0, 57),
-  [2428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alignof_expression, 4, 0, 57),
-  [2430] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_expression, 3, 0, 37),
-  [2432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_expression, 3, 0, 37),
-  [2434] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4, 0, 0),
-  [2436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, 0, 0),
-  [2438] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2, 0, 0),
-  [2440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0),
-  [2442] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3, 0, 0),
-  [2444] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, 0, 0),
-  [2446] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 5),
-  [2448] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 5),
-  [2450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460),
-  [2452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(622),
-  [2454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2006),
-  [2456] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_expression, 2, 0, 5),
-  [2458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_expression, 2, 0, 5),
-  [2460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(678),
-  [2462] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 30),
-  [2464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 30),
-  [2466] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast_expression, 4, 0, 45),
-  [2468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast_expression, 4, 0, 45),
-  [2470] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sizeof_expression, 2, 0, 9),
-  [2472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sizeof_expression, 2, 0, 9),
-  [2474] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_update_expression, 2, 0, 5),
-  [2476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_update_expression, 2, 0, 5),
-  [2478] = {.entry = {.count = 1, .reusable = false}}, SHIFT(521),
-  [2480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(521),
-  [2482] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 2, 0, 7),
-  [2484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 2, 0, 7),
-  [2486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461),
-  [2488] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 2, 0, 7),
-  [2490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 2, 0, 7),
-  [2492] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_declspec_modifier, 4, 0, 0),
-  [2494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_declspec_modifier, 4, 0, 0),
-  [2496] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 25),
-  [2498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 25),
-  [2500] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 25),
-  [2502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 25),
-  [2504] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 53),
-  [2506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 53),
-  [2508] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 1, 0, 3),
-  [2510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 1, 0, 3),
-  [2512] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 3, 0, 14),
-  [2514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 3, 0, 14),
-  [2516] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 2, 0, 14),
-  [2518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 2, 0, 14),
-  [2520] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 2, 0, 3),
-  [2522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 2, 0, 3),
-  [2524] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_storage_class_specifier, 1, 0, 0),
-  [2526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_storage_class_specifier, 1, 0, 0),
-  [2528] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 26),
-  [2530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 26),
-  [2532] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, 0, 52),
-  [2534] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, 0, 52),
-  [2536] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 24),
-  [2538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 24),
-  [2540] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 24),
-  [2542] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 24),
-  [2544] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 26),
-  [2546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 26),
-  [2548] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 2, 0, 8),
-  [2550] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 2, 0, 8),
-  [2552] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0),
-  [2554] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0),
-  [2556] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT_REPEAT(731),
-  [2559] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, 0, 80),
-  [2561] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, 0, 80),
-  [2563] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 54),
-  [2565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 54),
-  [2567] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 2, 0, 8),
-  [2569] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 2, 0, 8),
-  [2571] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 52),
-  [2573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 52),
-  [2575] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 0),
-  [2577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 0),
-  [2579] = {.entry = {.count = 1, .reusable = false}}, SHIFT(738),
-  [2581] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 6, 0, 80),
-  [2583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 6, 0, 80),
-  [2585] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 3),
-  [2587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, 0, 3),
-  [2589] = {.entry = {.count = 1, .reusable = false}}, SHIFT(731),
-  [2591] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 2, 0, 0),
-  [2593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 2, 0, 0),
-  [2595] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 8),
-  [2597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, 0, 8),
-  [2599] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 2, 0, 0),
-  [2601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 2, 0, 0),
-  [2603] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 7),
-  [2605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 7),
-  [2607] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 8),
-  [2609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 8),
-  [2611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 7),
-  [2613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 7),
-  [2615] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 8),
-  [2617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 8),
-  [2619] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), SHIFT(979),
-  [2622] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, 0, 14),
-  [2624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 3, 0, 14),
-  [2626] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, -1, 15),
-  [2628] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 3, -1, 15),
-  [2630] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(765),
-  [2633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 1, 0, 0),
-  [2635] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0),
-  [2637] = {.entry = {.count = 1, .reusable = false}}, SHIFT(766),
-  [2639] = {.entry = {.count = 1, .reusable = false}}, SHIFT(764),
-  [2641] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 10),
-  [2643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, -1, 10),
-  [2645] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 3, 0, 0),
-  [2647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 3, 0, 0),
-  [2649] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 4, 0, 24),
-  [2651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 4, 0, 24),
-  [2653] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 3, 0, 0),
-  [2655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 3, 0, 0),
-  [2657] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 24),
-  [2659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 24),
-  [2661] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 25),
-  [2663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 25),
-  [2665] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 26),
-  [2667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 26),
-  [2669] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, 0, 24),
-  [2671] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, 0, 24),
-  [2673] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, 0, 25),
-  [2675] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, 0, 25),
-  [2677] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, 0, 26),
-  [2679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, 0, 26),
-  [2681] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_type_specifier, 4, -1, 59),
-  [2683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_type_specifier, 4, -1, 59),
-  [2685] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 6, 0, 78),
-  [2687] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 6, 0, 78),
-  [2689] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 14),
-  [2691] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, 0, 14),
-  [2693] = {.entry = {.count = 1, .reusable = false}}, SHIFT(749),
-  [2695] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 15),
-  [2697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, -1, 15),
-  [2699] = {.entry = {.count = 1, .reusable = false}}, SHIFT(750),
-  [2701] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0),
-  [2704] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0),
-  [2707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(487),
-  [2709] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 4, 0, 0),
-  [2711] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 4, 0, 0),
-  [2713] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 5, 0, 50),
-  [2715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 5, 0, 50),
-  [2717] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, 0, 52),
-  [2719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, 0, 52),
-  [2721] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, 0, 53),
-  [2723] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, 0, 53),
-  [2725] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, 0, 54),
-  [2727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, 0, 54),
-  [2729] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 5, 0, 52),
-  [2731] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 5, 0, 52),
-  [2733] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 7),
-  [2735] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, 0, 7),
-  [2737] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 3, 0, 17),
-  [2739] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 3, 0, 17),
-  [2741] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1303),
-  [2743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 2, 1, 0),
-  [2745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(791),
-  [2747] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_pointer_declarator, 2, 1, 0),
-  [2749] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1001),
-  [2751] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1003),
-  [2753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428),
-  [2755] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 2, 0, 42),
-  [2757] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 2, 0, 42),
-  [2759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262),
-  [2761] = {.entry = {.count = 1, .reusable = false}}, SHIFT(583),
-  [2763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(583),
-  [2765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365),
-  [2767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 1, 1, 0),
-  [2769] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_pointer_declarator, 1, 1, 0),
-  [2771] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 3, 0, 79),
-  [2773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 3, 0, 79),
-  [2775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147),
-  [2777] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 4, 0, 40),
-  [2779] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 4, 0, 40),
-  [2781] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, 0, 41),
-  [2783] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, 0, 41),
-  [2785] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, 0, 30),
-  [2787] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, 0, 30),
-  [2789] = {.entry = {.count = 1, .reusable = false}}, SHIFT(544),
-  [2791] = {.entry = {.count = 1, .reusable = false}}, SHIFT(573),
-  [2793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(546),
-  [2795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(547),
-  [2797] = {.entry = {.count = 1, .reusable = false}}, SHIFT(548),
-  [2799] = {.entry = {.count = 1, .reusable = false}}, SHIFT(549),
-  [2801] = {.entry = {.count = 1, .reusable = false}}, SHIFT(550),
-  [2803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(551),
-  [2805] = {.entry = {.count = 1, .reusable = false}}, SHIFT(552),
-  [2807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(552),
-  [2809] = {.entry = {.count = 1, .reusable = false}}, SHIFT(553),
-  [2811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(476),
-  [2813] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional_expression, 4, 0, 70),
-  [2815] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional_expression, 4, 0, 70),
-  [2817] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional_expression, 5, 0, 96),
-  [2819] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional_expression, 5, 0, 96),
-  [2821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298),
-  [2823] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extension_expression, 2, 0, 0),
-  [2825] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_extension_expression, 2, 0, 0),
+  [722] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1693),
+  [725] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(532),
+  [728] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1878),
+  [731] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1736),
+  [734] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(331),
+  [737] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(2022),
+  [740] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(480),
+  [743] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1984),
+  [746] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1918),
+  [749] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1996),
+  [752] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(549),
+  [755] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(611),
+  [758] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1864),
+  [761] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1892),
+  [764] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1843),
+  [767] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1466),
+  [770] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1119),
+  [773] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1679),
+  [776] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1540),
+  [779] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1119),
+  [782] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(689),
+  [785] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_translation_unit, 1, 0, 0),
+  [787] = {.entry = {.count = 1, .reusable = false}}, SHIFT(410),
+  [789] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 3, 0, 9),
+  [791] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 2, 0, 0),
+  [793] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 4, 0, 9),
+  [795] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 3, 0, 0),
+  [797] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(410),
+  [800] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0),
+  [802] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(386),
+  [805] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(625),
+  [808] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(625),
+  [811] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(627),
+  [814] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(107),
+  [817] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(383),
+  [820] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1009),
+  [823] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(729),
+  [826] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1985),
+  [829] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1694),
+  [832] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1853),
+  [835] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(33),
+  [838] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(722),
+  [841] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(720),
+  [844] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1778),
+  [847] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(755),
+  [850] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1681),
+  [853] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1413),
+  [856] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1515),
+  [859] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1720),
+  [862] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1746),
+  [865] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1722),
+  [868] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(380),
+  [871] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2016),
+  [874] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(464),
+  [877] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1791),
+  [880] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1814),
+  [883] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1923),
+  [886] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1750),
+  [889] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1902),
+  [892] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(549),
+  [895] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(611),
+  [898] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1864),
+  [901] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1892),
+  [904] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1843),
+  [907] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1466),
+  [910] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(693),
+  [913] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1679),
+  [916] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1540),
+  [919] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(693),
+  [922] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(689),
+  [925] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 3, 0, 0),
+  [927] = {.entry = {.count = 1, .reusable = false}}, SHIFT(411),
+  [929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230),
+  [931] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1725),
+  [933] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1909),
+  [935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 2, 0, 0),
+  [937] = {.entry = {.count = 1, .reusable = false}}, SHIFT(415),
+  [939] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 4, 0, 9),
+  [941] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 3, 0, 9),
+  [943] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(415),
+  [946] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(251),
+  [949] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(384),
+  [952] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1001),
+  [955] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(25),
+  [958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0),
+  [960] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1724),
+  [963] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1721),
+  [966] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1726),
+  [969] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(379),
+  [972] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1978),
+  [975] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(483),
+  [978] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1851),
+  [981] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1854),
+  [984] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1833),
+  [987] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1697),
+  [990] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1910),
+  [993] = {.entry = {.count = 1, .reusable = false}}, SHIFT(412),
+  [995] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(412),
+  [998] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(178),
+  [1001] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(385),
+  [1004] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1011),
+  [1007] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(39),
+  [1010] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1745),
+  [1013] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1754),
+  [1016] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1747),
+  [1019] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(376),
+  [1022] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2019),
+  [1025] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(471),
+  [1028] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1801),
+  [1031] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1807),
+  [1034] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1951),
+  [1037] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1758),
+  [1040] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1848),
+  [1043] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(411),
+  [1046] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(230),
+  [1049] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(382),
+  [1052] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1008),
+  [1055] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(23),
+  [1058] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1742),
+  [1061] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1693),
+  [1064] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1736),
+  [1067] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(331),
+  [1070] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2022),
+  [1073] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(480),
+  [1076] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1984),
+  [1079] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1918),
+  [1082] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1996),
+  [1085] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1725),
+  [1088] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1909),
+  [1091] = {.entry = {.count = 1, .reusable = false}}, SHIFT(388),
+  [1093] = {.entry = {.count = 1, .reusable = false}}, SHIFT(409),
+  [1095] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1689),
+  [1097] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1702),
+  [1099] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2000),
+  [1101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1766),
+  [1103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(609),
+  [1105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1809),
+  [1107] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(409),
+  [1110] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1689),
+  [1113] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1702),
+  [1116] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2000),
+  [1119] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1766),
+  [1122] = {.entry = {.count = 1, .reusable = false}}, SHIFT(416),
+  [1124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(487),
+  [1126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1744),
+  [1128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, 0, 27),
+  [1130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, 0, 27),
+  [1132] = {.entry = {.count = 1, .reusable = false}}, SHIFT(353),
+  [1134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_finally_clause, 2, 0, 8),
+  [1136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_finally_clause, 2, 0, 8),
+  [1138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 3, 0, 28),
+  [1140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 3, 0, 28),
+  [1142] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 0),
+  [1144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 0),
+  [1146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto_statement, 3, 0, 29),
+  [1148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto_statement, 3, 0, 29),
+  [1150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_labeled_statement, 3, 0, 31),
+  [1152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_labeled_statement, 3, 0, 31),
+  [1154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 3, 0, 35),
+  [1156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, 0, 35),
+  [1158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 4, 0, 49),
+  [1160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 4, 0, 49),
+  [1162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_try_statement, 3, 0, 8),
+  [1164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_try_statement, 3, 0, 8),
+  [1166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, 0, 57),
+  [1168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, 0, 57),
+  [1170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 4, 0, 63),
+  [1172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 63),
+  [1174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 4, 0, 65),
+  [1176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 65),
+  [1178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 5, 0, 77),
+  [1180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 5, 0, 77),
+  [1182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 5, 0, 49),
+  [1184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 5, 0, 49),
+  [1186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_clause, 2, 0, 0),
+  [1188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_clause, 2, 0, 0),
+  [1190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 5, 0, 82),
+  [1192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 5, 0, 82),
+  [1194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 5, 0, 86),
+  [1196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 5, 0, 86),
+  [1198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 5, 0, 91),
+  [1200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 5, 0, 91),
+  [1202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 5, 0, 92),
+  [1204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 5, 0, 92),
+  [1206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 6, 0, 77),
+  [1208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 6, 0, 77),
+  [1210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_except_clause, 3, 0, 101),
+  [1212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_except_clause, 3, 0, 101),
+  [1214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 6, 0, 112),
+  [1216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 6, 0, 112),
+  [1218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 3, 0, 0),
+  [1220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 3, 0, 0),
+  [1222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 1, 0, 0),
+  [1224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 1, 0, 0),
+  [1226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0),
+  [1228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2, 0, 0),
+  [1230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 2, 0, 0),
+  [1232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 2, 0, 0),
+  [1234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1, 0, 0),
+  [1236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1, 0, 0),
+  [1238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2, 0, 0),
+  [1240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2, 0, 0),
+  [1242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2, 0, 0),
+  [1244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2, 0, 0),
+  [1246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 2, 0, 0),
+  [1248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 2, 0, 0),
+  [1250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_statement, 2, 0, 0),
+  [1252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_statement, 2, 0, 0),
+  [1254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 3, 0, 28),
+  [1256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 3, 0, 28),
+  [1258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_leave_statement, 2, 0, 0),
+  [1260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_leave_statement, 2, 0, 0),
+  [1262] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__block_item, 1, 0, 0), REDUCE(sym_statement, 1, 0, 0),
+  [1265] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__block_item, 1, 0, 0), REDUCE(sym_statement, 1, 0, 0),
+  [1268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 62),
+  [1270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 62),
+  [1272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_function_def, 4, 0, 41),
+  [1274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_function_def, 4, 0, 41),
+  [1276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 4, 0, 42),
+  [1278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 4, 0, 42),
+  [1280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 95),
+  [1282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 95),
+  [1284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_definition, 5, 0, 96),
+  [1286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_definition, 5, 0, 96),
+  [1288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 6, 0, 98),
+  [1290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 6, 0, 98),
+  [1292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 4, 0, 43),
+  [1294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 4, 0, 43),
+  [1296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_definition, 4, 0, 67),
+  [1298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_definition, 4, 0, 67),
+  [1300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 4, 0, 17),
+  [1302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 4, 0, 17),
+  [1304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block_item, 1, 0, 2),
+  [1306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block_item, 1, 0, 2),
+  [1308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 68),
+  [1310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 68),
+  [1312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call, 2, 0, 4),
+  [1314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call, 2, 0, 4),
+  [1316] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_definition, 4, 0, 69),
+  [1318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_definition, 4, 0, 69),
+  [1320] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_function_def, 5, 0, 72),
+  [1322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_function_def, 5, 0, 72),
+  [1324] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 5, 0, 73),
+  [1326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 5, 0, 73),
+  [1328] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 5, 0, 42),
+  [1330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 5, 0, 42),
+  [1332] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 5, 0, 74),
+  [1334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 5, 0, 74),
+  [1336] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_definition, 3, 0, 36),
+  [1338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_definition, 3, 0, 36),
+  [1340] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_list, 2, 0, 0),
+  [1342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 2, 0, 0),
+  [1344] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__empty_declaration, 2, 0, 0),
+  [1346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__empty_declaration, 2, 0, 0),
+  [1348] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_list, 3, 0, 0),
+  [1350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 3, 0, 0),
+  [1352] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_include, 3, 0, 16),
+  [1354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_include, 3, 0, 16),
+  [1356] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_def, 3, 0, 17),
+  [1358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_def, 3, 0, 17),
+  [1360] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_linkage_specification, 3, 0, 23),
+  [1362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_linkage_specification, 3, 0, 23),
+  [1364] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 3, 0, 17),
+  [1366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 3, 0, 17),
+  [1368] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call, 3, 0, 18),
+  [1370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call, 3, 0, 18),
+  [1372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 3, 0, 33),
+  [1374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 3, 0, 33),
+  [1376] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_def, 4, 0, 40),
+  [1378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_def, 4, 0, 40),
+  [1380] = {.entry = {.count = 1, .reusable = false}}, SHIFT(370),
+  [1382] = {.entry = {.count = 1, .reusable = false}}, SHIFT(339),
+  [1384] = {.entry = {.count = 1, .reusable = false}}, SHIFT(327),
+  [1386] = {.entry = {.count = 1, .reusable = false}}, SHIFT(631),
+  [1388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sizeof_expression, 4, 0, 38),
+  [1390] = {.entry = {.count = 1, .reusable = false}}, SHIFT(575),
+  [1392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(575),
+  [1394] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sizeof_expression, 4, 0, 38),
+  [1396] = {.entry = {.count = 1, .reusable = false}}, SHIFT(614),
+  [1398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447),
+  [1400] = {.entry = {.count = 1, .reusable = false}}, SHIFT(608),
+  [1402] = {.entry = {.count = 1, .reusable = false}}, SHIFT(560),
+  [1404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(560),
+  [1406] = {.entry = {.count = 1, .reusable = false}}, SHIFT(564),
+  [1408] = {.entry = {.count = 1, .reusable = false}}, SHIFT(562),
+  [1410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__top_level_expression_statement, 1, 0, 0),
+  [1412] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__top_level_expression_statement, 1, 0, 0),
+  [1414] = {.entry = {.count = 1, .reusable = false}}, SHIFT(804),
+  [1416] = {.entry = {.count = 1, .reusable = false}}, SHIFT(552),
+  [1418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1719),
+  [1420] = {.entry = {.count = 1, .reusable = false}}, SHIFT(788),
+  [1422] = {.entry = {.count = 1, .reusable = false}}, SHIFT(792),
+  [1424] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(804),
+  [1427] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(386),
+  [1430] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(625),
+  [1433] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(625),
+  [1436] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(627),
+  [1439] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(251),
+  [1442] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(552),
+  [1445] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1719),
+  [1448] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(25),
+  [1451] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1724),
+  [1454] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1721),
+  [1457] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(572),
+  [1460] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1847),
+  [1463] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1726),
+  [1466] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(379),
+  [1469] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1978),
+  [1472] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(483),
+  [1475] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1851),
+  [1478] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1854),
+  [1481] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1833),
+  [1484] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1697),
+  [1487] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1910),
+  [1490] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(549),
+  [1493] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(611),
+  [1496] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1864),
+  [1499] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1892),
+  [1502] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1843),
+  [1505] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1466),
+  [1508] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(693),
+  [1511] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1679),
+  [1514] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1540),
+  [1517] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(693),
+  [1520] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(689),
+  [1523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__top_level_item, 1, 0, 2),
+  [1525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__top_level_item, 1, 0, 2),
+  [1527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__top_level_expression_statement, 2, 0, 0),
+  [1529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__top_level_expression_statement, 2, 0, 0),
+  [1531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(796),
+  [1533] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(796),
+  [1536] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(107),
+  [1539] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(33),
+  [1542] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1720),
+  [1545] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1746),
+  [1548] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(613),
+  [1551] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1798),
+  [1554] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1722),
+  [1557] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(380),
+  [1560] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(2016),
+  [1563] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(464),
+  [1566] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1791),
+  [1569] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1814),
+  [1572] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1923),
+  [1575] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1750),
+  [1578] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1902),
+  [1581] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(792),
+  [1584] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(23),
+  [1587] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1689),
+  [1590] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1693),
+  [1593] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(609),
+  [1596] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1809),
+  [1599] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1702),
+  [1602] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(331),
+  [1605] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(2000),
+  [1608] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(480),
+  [1611] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1984),
+  [1614] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1918),
+  [1617] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1996),
+  [1620] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1766),
+  [1623] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__top_level_item, 1, 0, 0), REDUCE(sym__top_level_statement, 1, 0, 0),
+  [1626] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__top_level_item, 1, 0, 0), REDUCE(sym__top_level_statement, 1, 0, 0),
+  [1629] = {.entry = {.count = 1, .reusable = false}}, SHIFT(799),
+  [1631] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(799),
+  [1634] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(178),
+  [1637] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(39),
+  [1640] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1745),
+  [1643] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1754),
+  [1646] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(615),
+  [1649] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1780),
+  [1652] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1747),
+  [1655] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(376),
+  [1658] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(2019),
+  [1661] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(471),
+  [1664] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1801),
+  [1667] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1807),
+  [1670] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1951),
+  [1673] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1758),
+  [1676] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1848),
+  [1679] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(788),
+  [1682] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(230),
+  [1685] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1742),
+  [1688] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(532),
+  [1691] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1878),
+  [1694] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1736),
+  [1697] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(2022),
+  [1700] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1725),
+  [1703] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1909),
+  [1706] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(718),
+  [1709] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(552),
+  [1712] = {.entry = {.count = 1, .reusable = false}}, SHIFT(995),
+  [1714] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0),
+  [1716] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0),
+  [1718] = {.entry = {.count = 1, .reusable = false}}, SHIFT(994),
+  [1720] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1006),
+  [1722] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1010),
+  [1724] = {.entry = {.count = 1, .reusable = false}}, SHIFT(550),
+  [1726] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1063),
+  [1728] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1654),
+  [1730] = {.entry = {.count = 1, .reusable = false}}, SHIFT(602),
+  [1732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(602),
+  [1734] = {.entry = {.count = 1, .reusable = false}}, SHIFT(605),
+  [1736] = {.entry = {.count = 1, .reusable = false}}, SHIFT(604),
+  [1738] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_declaration, 4, 0, 0),
+  [1740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_declaration, 4, 0, 0),
+  [1742] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_declaration, 3, 0, 0),
+  [1744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_declaration, 3, 0, 0),
+  [1746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(718),
+  [1748] = {.entry = {.count = 1, .reusable = false}}, SHIFT(543),
+  [1750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(543),
+  [1752] = {.entry = {.count = 1, .reusable = false}}, SHIFT(547),
+  [1754] = {.entry = {.count = 1, .reusable = false}}, SHIFT(546),
+  [1756] = {.entry = {.count = 1, .reusable = false}}, SHIFT(358),
+  [1758] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__declaration_modifiers, 1, 0, 0), REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0),
+  [1761] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0),
+  [1763] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0),
+  [1765] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_modifiers, 1, 0, 0),
+  [1767] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__declaration_modifiers, 1, 0, 0), REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0),
+  [1770] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 1),
+  [1772] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0),
+  [1774] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), REDUCE(sym_expression, 1, 0, 0), SHIFT(997),
+  [1778] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0),
+  [1780] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 1), REDUCE(sym_expression, 1, 0, 0),
+  [1783] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), REDUCE(sym_expression, 1, 0, 0),
+  [1786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1),
+  [1788] = {.entry = {.count = 1, .reusable = false}}, SHIFT(768),
+  [1790] = {.entry = {.count = 1, .reusable = false}}, SHIFT(566),
+  [1792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66),
+  [1794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(566),
+  [1796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
+  [1798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73),
+  [1800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74),
+  [1802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65),
+  [1804] = {.entry = {.count = 1, .reusable = false}}, SHIFT(840),
+  [1806] = {.entry = {.count = 1, .reusable = false}}, SHIFT(616),
+  [1808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(616),
+  [1810] = {.entry = {.count = 1, .reusable = false}}, SHIFT(620),
+  [1812] = {.entry = {.count = 1, .reusable = false}}, SHIFT(619),
+  [1814] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), SHIFT(340),
+  [1817] = {.entry = {.count = 1, .reusable = false}}, SHIFT(923),
+  [1819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1761),
+  [1821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1297),
+  [1823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419),
+  [1825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(847),
+  [1827] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1773),
+  [1829] = {.entry = {.count = 1, .reusable = false}}, SHIFT(425),
+  [1831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392),
+  [1833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(492),
+  [1835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(617),
+  [1837] = {.entry = {.count = 1, .reusable = false}}, SHIFT(430),
+  [1839] = {.entry = {.count = 1, .reusable = false}}, SHIFT(421),
+  [1841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1432),
+  [1843] = {.entry = {.count = 1, .reusable = false}}, SHIFT(703),
+  [1845] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1977),
+  [1847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(618),
+  [1849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(498),
+  [1851] = {.entry = {.count = 1, .reusable = false}}, SHIFT(667),
+  [1853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1405),
+  [1855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(500),
+  [1857] = {.entry = {.count = 1, .reusable = false}}, SHIFT(427),
+  [1859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1383),
+  [1861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(504),
+  [1863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1314),
+  [1865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(502),
+  [1867] = {.entry = {.count = 1, .reusable = false}}, SHIFT(423),
+  [1869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1321),
+  [1871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(501),
+  [1873] = {.entry = {.count = 1, .reusable = false}}, SHIFT(428),
+  [1875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1436),
+  [1877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(494),
+  [1879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1437),
+  [1881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(505),
+  [1883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1399),
+  [1885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(495),
+  [1887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1451),
+  [1889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(496),
+  [1891] = {.entry = {.count = 1, .reusable = false}}, SHIFT(426),
+  [1893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1452),
+  [1895] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(840),
+  [1898] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(392),
+  [1901] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(616),
+  [1904] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(616),
+  [1907] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(617),
+  [1910] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(620),
+  [1913] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(618),
+  [1916] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(619),
+  [1919] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(1864),
+  [1922] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(1892),
+  [1925] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(1843),
+  [1928] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(1466),
+  [1931] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(693),
+  [1934] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(1679),
+  [1937] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(1540),
+  [1940] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(693),
+  [1943] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(689),
+  [1946] = {.entry = {.count = 1, .reusable = false}}, SHIFT(766),
+  [1948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431),
+  [1950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(952),
+  [1952] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1970),
+  [1954] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1204),
+  [1956] = {.entry = {.count = 1, .reusable = false}}, SHIFT(810),
+  [1958] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1872),
+  [1960] = {.entry = {.count = 1, .reusable = false}}, SHIFT(458),
+  [1962] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1185),
+  [1964] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1931),
+  [1966] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1711),
+  [1968] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 3, 0, 17),
+  [1970] = {.entry = {.count = 1, .reusable = false}}, SHIFT(791),
+  [1972] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 4, 0, 42),
+  [1974] = {.entry = {.count = 1, .reusable = false}}, SHIFT(864),
+  [1976] = {.entry = {.count = 1, .reusable = false}}, SHIFT(877),
+  [1978] = {.entry = {.count = 1, .reusable = false}}, SHIFT(785),
+  [1980] = {.entry = {.count = 1, .reusable = false}}, SHIFT(787),
+  [1982] = {.entry = {.count = 1, .reusable = false}}, SHIFT(891),
+  [1984] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 2, 0, 17),
+  [1986] = {.entry = {.count = 1, .reusable = false}}, SHIFT(854),
+  [1988] = {.entry = {.count = 1, .reusable = false}}, SHIFT(872),
+  [1990] = {.entry = {.count = 1, .reusable = false}}, SHIFT(880),
+  [1992] = {.entry = {.count = 1, .reusable = false}}, SHIFT(884),
+  [1994] = {.entry = {.count = 1, .reusable = false}}, SHIFT(875),
+  [1996] = {.entry = {.count = 1, .reusable = false}}, SHIFT(801),
+  [1998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1885),
+  [2000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(692),
+  [2002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(540),
+  [2004] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1920),
+  [2006] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 3, 0, 42),
+  [2008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(678),
+  [2010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(679),
+  [2012] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(766),
+  [2015] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1970),
+  [2018] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1204),
+  [2021] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0),
+  [2023] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1872),
+  [2026] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1711),
+  [2029] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(720),
+  [2032] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(729),
+  [2035] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1985),
+  [2038] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1744),
+  [2041] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1853),
+  [2044] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(722),
+  [2047] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1778),
+  [2050] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(755),
+  [2053] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1681),
+  [2056] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1413),
+  [2059] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1515),
+  [2062] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1945),
+  [2064] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1200),
+  [2066] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1940),
+  [2068] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1690),
+  [2070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(778),
+  [2072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(759),
+  [2074] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1971),
+  [2076] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1210),
+  [2078] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else_in_field_declaration_list, 2, 0, 0),
+  [2080] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1935),
+  [2082] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1717),
+  [2084] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1945),
+  [2087] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1200),
+  [2090] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1940),
+  [2093] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1690),
+  [2096] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0),
+  [2098] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1971),
+  [2101] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1210),
+  [2104] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1935),
+  [2107] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1717),
+  [2110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else_in_field_declaration_list, 1, 0, 0),
+  [2112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(701),
+  [2114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(931),
+  [2116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111),
+  [2118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394),
+  [2120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(603),
+  [2122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 2, 0, 58),
+  [2124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396),
+  [2126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(587),
+  [2128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(561),
+  [2130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182),
+  [2132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 2, 0, 0),
+  [2134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 58),
+  [2136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 0, 106),
+  [2138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516),
+  [2140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 42),
+  [2142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(510),
+  [2144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161),
+  [2146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(600),
+  [2148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(719),
+  [2150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399),
+  [2152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(545),
+  [2154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163),
+  [2156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(536),
+  [2158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473),
+  [2160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 85),
+  [2162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(472),
+  [2164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(391),
+  [2166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(607),
+  [2168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(589),
+  [2170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(559),
+  [2172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467),
+  [2174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1414),
+  [2176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1447),
+  [2178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1471),
+  [2180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1472),
+  [2182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
+  [2184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1420),
+  [2186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
+  [2188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1397),
+  [2190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1473),
+  [2192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1308),
+  [2194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
+  [2196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1304),
+  [2198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1382),
+  [2200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30),
+  [2202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397),
+  [2204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(768),
+  [2206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398),
+  [2208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395),
+  [2210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393),
+  [2212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389),
+  [2214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387),
+  [2216] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(628),
+  [2219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0),
+  [2221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0),
+  [2223] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(1540),
+  [2226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(628),
+  [2228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concatenated_string, 3, 0, 0),
+  [2230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concatenated_string, 3, 0, 0),
+  [2232] = {.entry = {.count = 1, .reusable = false}}, SHIFT(629),
+  [2234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concatenated_string, 2, 0, 0),
+  [2236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concatenated_string, 2, 0, 0),
+  [2238] = {.entry = {.count = 1, .reusable = false}}, SHIFT(897),
+  [2240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(822),
+  [2242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 6, 0, 109),
+  [2244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 6, 0, 109),
+  [2246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 6, 0, 110),
+  [2248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 6, 0, 110),
+  [2250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 4, 0, 59),
+  [2252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 4, 0, 59),
+  [2254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 9, 0, 130),
+  [2256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 9, 0, 130),
+  [2258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3, 0, 0),
+  [2260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3, 0, 0),
+  [2262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 8, 0, 126),
+  [2264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 8, 0, 126),
+  [2266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 7, 0, 121),
+  [2268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 7, 0, 121),
+  [2270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 8, 0, 125),
+  [2272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 8, 0, 125),
+  [2274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2, 0, 0),
+  [2276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2, 0, 0),
+  [2278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 5, 0, 89),
+  [2280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 5, 0, 89),
+  [2282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 7, 0, 120),
+  [2284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 7, 0, 120),
+  [2286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 5, 0, 88),
+  [2288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 5, 0, 88),
+  [2290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0),
+  [2292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0),
+  [2294] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(720),
+  [2297] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(729),
+  [2300] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(1985),
+  [2303] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(1744),
+  [2306] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(1853),
+  [2309] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(1778),
+  [2312] = {.entry = {.count = 1, .reusable = false}}, SHIFT(933),
+  [2314] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(766),
+  [2317] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(720),
+  [2320] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(729),
+  [2323] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1985),
+  [2326] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1744),
+  [2329] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1853),
+  [2332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0),
+  [2334] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(722),
+  [2337] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1778),
+  [2340] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(755),
+  [2343] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1681),
+  [2346] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1413),
+  [2349] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1515),
+  [2352] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_specifier, 4, 0, 0),
+  [2354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_specifier, 4, 0, 0),
+  [2356] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0),
+  [2358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0),
+  [2360] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(703),
+  [2363] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(667),
+  [2366] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1977),
+  [2369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0),
+  [2371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0),
+  [2373] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0),
+  [2375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0),
+  [2377] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(720),
+  [2380] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1778),
+  [2383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(630),
+  [2385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string, 1, 0, 0),
+  [2387] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__string, 1, 0, 0),
+  [2389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 2, 0, 13),
+  [2391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 2, 0, 13),
+  [2393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_offsetof_expression, 6, 0, 107),
+  [2395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_offsetof_expression, 6, 0, 107),
+  [2397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 4, 0, 0),
+  [2399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 4, 0, 0),
+  [2401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 5, 0, 0),
+  [2403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 5, 0, 0),
+  [2405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_expression, 8, 0, 0),
+  [2407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_expression, 8, 0, 0),
+  [2409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_expression, 9, 0, 0),
+  [2411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_expression, 9, 0, 0),
+  [2413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_char_literal, 3, 0, 0),
+  [2415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char_literal, 3, 0, 0),
+  [2417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_expression, 3, 0, 37),
+  [2419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_expression, 3, 0, 37),
+  [2421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_literal_expression, 4, 0, 47),
+  [2423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_literal_expression, 4, 0, 47),
+  [2425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alignof_expression, 4, 0, 38),
+  [2427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alignof_expression, 4, 0, 38),
+  [2429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_update_expression, 2, 0, 12),
+  [2431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_update_expression, 2, 0, 12),
+  [2433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_null, 1, 0, 0),
+  [2435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_null, 1, 0, 0),
+  [2437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_expression, 4, 0, 70),
+  [2439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_expression, 4, 0, 70),
+  [2441] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 2, 0, 0),
+  [2443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 2, 0, 0),
+  [2445] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 3, 0, 0),
+  [2447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 3, 0, 0),
+  [2449] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alignas_qualifier, 4, 0, 0),
+  [2451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alignas_qualifier, 4, 0, 0),
+  [2453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast_expression, 4, 0, 47),
+  [2455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast_expression, 4, 0, 47),
+  [2457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459),
+  [2459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539),
+  [2461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(688),
+  [2463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1821),
+  [2465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2, 0, 0),
+  [2467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0),
+  [2469] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 30),
+  [2471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 30),
+  [2473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_update_expression, 2, 0, 5),
+  [2475] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_update_expression, 2, 0, 5),
+  [2477] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sizeof_expression, 2, 0, 9),
+  [2479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sizeof_expression, 2, 0, 9),
+  [2481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4, 0, 0),
+  [2483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, 0, 0),
+  [2485] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_expression, 2, 0, 5),
+  [2487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_expression, 2, 0, 5),
+  [2489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 5),
+  [2491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 5),
+  [2493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3, 0, 0),
+  [2495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, 0, 0),
+  [2497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 2, 0, 7),
+  [2499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 2, 0, 7),
+  [2501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453),
+  [2503] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 2, 0, 7),
+  [2505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 2, 0, 7),
+  [2507] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), SHIFT(753),
+  [2510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, 0, 0),
+  [2512] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), SHIFT(720),
+  [2515] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0),
+  [2517] = {.entry = {.count = 1, .reusable = false}}, SHIFT(754),
+  [2519] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), SHIFT(1778),
+  [2522] = {.entry = {.count = 1, .reusable = false}}, SHIFT(752),
+  [2524] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_declspec_modifier, 4, 0, 0),
+  [2526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_declspec_modifier, 4, 0, 0),
+  [2528] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 55),
+  [2530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 55),
+  [2532] = {.entry = {.count = 1, .reusable = false}}, SHIFT(626),
+  [2534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(626),
+  [2536] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 25),
+  [2538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 25),
+  [2540] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(756),
+  [2543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 1, 0, 0),
+  [2545] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(720),
+  [2548] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0),
+  [2550] = {.entry = {.count = 1, .reusable = false}}, SHIFT(749),
+  [2552] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(1778),
+  [2555] = {.entry = {.count = 1, .reusable = false}}, SHIFT(745),
+  [2557] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 25),
+  [2559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 25),
+  [2561] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 2, 0, 14),
+  [2563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 2, 0, 14),
+  [2565] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 3, 0, 14),
+  [2567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 3, 0, 14),
+  [2569] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 1, 0, 3),
+  [2571] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 1, 0, 3),
+  [2573] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 2, 0, 3),
+  [2575] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 2, 0, 3),
+  [2577] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_storage_class_specifier, 1, 0, 0),
+  [2579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_storage_class_specifier, 1, 0, 0),
+  [2581] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 56),
+  [2583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 56),
+  [2585] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 2, 0, 8),
+  [2587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 2, 0, 8),
+  [2589] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, 0, 54),
+  [2591] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, 0, 54),
+  [2593] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 24),
+  [2595] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 24),
+  [2597] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 2, 0, 8),
+  [2599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 2, 0, 8),
+  [2601] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0),
+  [2603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0),
+  [2605] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT_REPEAT(736),
+  [2608] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 26),
+  [2610] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 26),
+  [2612] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 24),
+  [2614] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 24),
+  [2616] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 54),
+  [2618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 54),
+  [2620] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 26),
+  [2622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 26),
+  [2624] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, 0, 81),
+  [2626] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, 0, 81),
+  [2628] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, 0, 56),
+  [2630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, 0, 56),
+  [2632] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 7),
+  [2634] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 7),
+  [2636] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 6, 0, 81),
+  [2638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 6, 0, 81),
+  [2640] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 14),
+  [2642] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, 0, 14),
+  [2644] = {.entry = {.count = 1, .reusable = false}}, SHIFT(750),
+  [2646] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 8),
+  [2648] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 8),
+  [2650] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 3),
+  [2652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, 0, 3),
+  [2654] = {.entry = {.count = 1, .reusable = false}}, SHIFT(736),
+  [2656] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 5, 0, 54),
+  [2658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 5, 0, 54),
+  [2660] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0),
+  [2663] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0),
+  [2666] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, 0, 14),
+  [2668] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 3, 0, 14),
+  [2670] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, -1, 15),
+  [2672] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 3, -1, 15),
+  [2674] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, 0, 38),
+  [2676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 3, 0, 38),
+  [2678] = {.entry = {.count = 1, .reusable = false}}, SHIFT(770),
+  [2680] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, -1, 39),
+  [2682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 3, -1, 39),
+  [2684] = {.entry = {.count = 1, .reusable = false}}, SHIFT(771),
+  [2686] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, 0, 0),
+  [2688] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 3, 0, 0),
+  [2690] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 0),
+  [2692] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 0),
+  [2694] = {.entry = {.count = 1, .reusable = false}}, SHIFT(747),
+  [2696] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 15),
+  [2698] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, -1, 15),
+  [2700] = {.entry = {.count = 1, .reusable = false}}, SHIFT(751),
+  [2702] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 3, 0, 0),
+  [2704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 3, 0, 0),
+  [2706] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 4, 0, 24),
+  [2708] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 4, 0, 24),
+  [2710] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 3, 0, 0),
+  [2712] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 3, 0, 0),
+  [2714] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 24),
+  [2716] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 24),
+  [2718] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 25),
+  [2720] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 25),
+  [2722] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 26),
+  [2724] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 26),
+  [2726] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, 0, 24),
+  [2728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, 0, 24),
+  [2730] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, 0, 25),
+  [2732] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, 0, 25),
+  [2734] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, 0, 26),
+  [2736] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, 0, 26),
+  [2738] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), SHIFT(997),
+  [2741] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_type_specifier, 4, -1, 60),
+  [2743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_type_specifier, 4, -1, 60),
+  [2745] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 10),
+  [2747] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, -1, 10),
+  [2749] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 6, 0, 79),
+  [2751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 6, 0, 79),
+  [2753] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 4, 0, 38),
+  [2755] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 4, 0, 38),
+  [2757] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 4, -1, 39),
+  [2759] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 4, -1, 39),
+  [2761] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 2, 0, 0),
+  [2763] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 2, 0, 0),
+  [2765] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 7),
+  [2767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, 0, 7),
+  [2769] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 4, 0, 0),
+  [2771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 4, 0, 0),
+  [2773] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 5, 0, 52),
+  [2775] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 5, 0, 52),
+  [2777] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 8),
+  [2779] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, 0, 8),
+  [2781] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 2, 0, 0),
+  [2783] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 2, 0, 0),
+  [2785] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 7),
+  [2787] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 7),
+  [2789] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, 0, 54),
+  [2791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, 0, 54),
+  [2793] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, 0, 55),
+  [2795] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, 0, 55),
+  [2797] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 8),
+  [2799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 8),
+  [2801] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1311),
+  [2803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 2, 1, 0),
+  [2805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(797),
+  [2807] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_pointer_declarator, 2, 1, 0),
+  [2809] = {.entry = {.count = 1, .reusable = false}}, SHIFT(998),
+  [2811] = {.entry = {.count = 1, .reusable = false}}, SHIFT(996),
+  [2813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425),
+  [2815] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 3, 0, 80),
+  [2817] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 3, 0, 80),
+  [2819] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 4, 0, 42),
+  [2821] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 4, 0, 42),
+  [2823] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, 0, 43),
+  [2825] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, 0, 43),
   [2827] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, 0, 17),
   [2829] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, 0, 17),
-  [2831] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 4, 0, 79),
-  [2833] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 4, 0, 79),
-  [2835] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 72),
-  [2837] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 72),
-  [2839] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 40),
-  [2841] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 40),
-  [2843] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 5, 0, 73),
-  [2845] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 5, 0, 73),
-  [2847] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 6, 0, 97),
-  [2849] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 6, 0, 97),
-  [2851] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 3, 0, 42),
-  [2853] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 3, 0, 42),
-  [2855] = {.entry = {.count = 1, .reusable = false}}, SHIFT(504),
-  [2857] = {.entry = {.count = 1, .reusable = false}}, SHIFT(505),
-  [2859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(506),
-  [2861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(507),
-  [2863] = {.entry = {.count = 1, .reusable = false}}, SHIFT(508),
-  [2865] = {.entry = {.count = 1, .reusable = false}}, SHIFT(509),
-  [2867] = {.entry = {.count = 1, .reusable = false}}, SHIFT(510),
-  [2869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(511),
-  [2871] = {.entry = {.count = 1, .reusable = false}}, SHIFT(512),
-  [2873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(512),
-  [2875] = {.entry = {.count = 1, .reusable = false}}, SHIFT(513),
-  [2877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469),
-  [2879] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 2, 0, 7),
-  [2881] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 2, 0, 7),
-  [2883] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 2, 0, 7), SHIFT(1916),
-  [2886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1294),
-  [2888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1802),
-  [2890] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_parameter_list, 2, 0, 0), REDUCE(sym__old_style_parameter_list, 2, 0, 0),
-  [2893] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0),
-  [2895] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_parameter_list, 2, 0, 0),
-  [2897] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), REDUCE(sym__old_style_parameter_list, 2, 0, 0),
-  [2900] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 2, 0, 0),
-  [2902] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_parameter_list, 3, 0, 0), REDUCE(sym__old_style_parameter_list, 3, 0, 0),
-  [2905] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0),
-  [2907] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_parameter_list, 3, 0, 0),
-  [2909] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), REDUCE(sym__old_style_parameter_list, 3, 0, 0),
-  [2912] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 3, 0, 0),
-  [2914] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 4, 0, 50),
-  [2916] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 4, 0, 50),
-  [2918] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 4, 0, 50), SHIFT(1916),
-  [2921] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 5, 0, 78),
-  [2923] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 5, 0, 78),
-  [2925] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 5, 0, 78), SHIFT(1916),
-  [2928] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 2, 0, 8),
-  [2930] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 2, 0, 8),
-  [2932] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 2, 0, 8), SHIFT(1916),
-  [2935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1537),
-  [2937] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 24),
-  [2939] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, 0, 24),
-  [2941] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 24), SHIFT(1916),
-  [2944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458),
-  [2946] = {.entry = {.count = 1, .reusable = false}}, SHIFT(598),
-  [2948] = {.entry = {.count = 1, .reusable = false}}, SHIFT(545),
-  [2950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(599),
-  [2952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(600),
-  [2954] = {.entry = {.count = 1, .reusable = false}}, SHIFT(601),
-  [2956] = {.entry = {.count = 1, .reusable = false}}, SHIFT(602),
-  [2958] = {.entry = {.count = 1, .reusable = false}}, SHIFT(603),
-  [2960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(604),
-  [2962] = {.entry = {.count = 1, .reusable = false}}, SHIFT(605),
-  [2964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(605),
-  [2966] = {.entry = {.count = 1, .reusable = false}}, SHIFT(606),
-  [2968] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2006),
+  [2831] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 4, 0, 80),
+  [2833] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 4, 0, 80),
+  [2835] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 73),
+  [2837] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 73),
+  [2839] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 42),
+  [2841] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 42),
+  [2843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139),
+  [2845] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 5, 0, 74),
+  [2847] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 5, 0, 74),
+  [2849] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 6, 0, 98),
+  [2851] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 6, 0, 98),
+  [2853] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 1, 1, 0),
+  [2855] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_pointer_declarator, 1, 1, 0),
+  [2857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288),
+  [2859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357),
+  [2861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468),
+  [2863] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 2, 0, 44),
+  [2865] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 2, 0, 44),
+  [2867] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 3, 0, 17),
+  [2869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 3, 0, 17),
+  [2871] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 3, 0, 44),
+  [2873] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 3, 0, 44),
+  [2875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316),
+  [2877] = {.entry = {.count = 1, .reusable = false}}, SHIFT(570),
+  [2879] = {.entry = {.count = 1, .reusable = false}}, SHIFT(571),
+  [2881] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_parameter_list, 3, 0, 0), REDUCE(sym__old_style_parameter_list, 3, 0, 0),
+  [2884] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0),
+  [2886] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_parameter_list, 3, 0, 0),
+  [2888] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), REDUCE(sym__old_style_parameter_list, 3, 0, 0),
+  [2891] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 3, 0, 0),
+  [2893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(556),
+  [2895] = {.entry = {.count = 1, .reusable = false}}, SHIFT(568),
+  [2897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(568),
+  [2899] = {.entry = {.count = 1, .reusable = false}}, SHIFT(533),
+  [2901] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional_expression, 4, 0, 71),
+  [2903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(574),
+  [2905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(610),
+  [2907] = {.entry = {.count = 1, .reusable = false}}, SHIFT(621),
+  [2909] = {.entry = {.count = 1, .reusable = false}}, SHIFT(622),
+  [2911] = {.entry = {.count = 1, .reusable = false}}, SHIFT(623),
+  [2913] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional_expression, 4, 0, 71),
+  [2915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(490),
+  [2917] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 2, 0, 7),
+  [2919] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 2, 0, 7),
+  [2921] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 2, 0, 7), SHIFT(1985),
+  [2924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1324),
+  [2926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1960),
+  [2928] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extension_expression, 2, 0, 0),
+  [2930] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_extension_expression, 2, 0, 0),
+  [2932] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_parameter_list, 2, 0, 0), REDUCE(sym__old_style_parameter_list, 2, 0, 0),
+  [2935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0),
+  [2937] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_parameter_list, 2, 0, 0),
+  [2939] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), REDUCE(sym__old_style_parameter_list, 2, 0, 0),
+  [2942] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 2, 0, 0),
+  [2944] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, 0, 30),
+  [2946] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, 0, 30),
+  [2948] = {.entry = {.count = 1, .reusable = false}}, SHIFT(522),
+  [2950] = {.entry = {.count = 1, .reusable = false}}, SHIFT(558),
+  [2952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(524),
+  [2954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525),
+  [2956] = {.entry = {.count = 1, .reusable = false}}, SHIFT(526),
+  [2958] = {.entry = {.count = 1, .reusable = false}}, SHIFT(527),
+  [2960] = {.entry = {.count = 1, .reusable = false}}, SHIFT(528),
+  [2962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(529),
+  [2964] = {.entry = {.count = 1, .reusable = false}}, SHIFT(530),
+  [2966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(530),
+  [2968] = {.entry = {.count = 1, .reusable = false}}, SHIFT(531),
   [2970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(484),
-  [2972] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1411),
-  [2974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1113),
-  [2976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(900),
-  [2978] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1406),
-  [2980] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1408),
-  [2982] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), SHIFT(1644),
-  [2985] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), SHIFT(940),
-  [2988] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_call_modifier, 1, 0, 0),
-  [2990] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_call_modifier, 1, 0, 0),
-  [2992] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), REDUCE(aux_sym__old_style_parameter_list_repeat1, 2, 0, 0),
-  [2995] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__declarator, 1, 0, 0), REDUCE(sym_type_specifier, 1, 0, 1),
-  [2998] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym__declarator, 1, 0, 0), REDUCE(sym_type_specifier, 1, 0, 1), SHIFT(979),
-  [3002] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__declarator, 1, 0, 0), REDUCE(sym_type_specifier, 1, 0, 1),
-  [3005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363),
-  [3007] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 3, 1, 0),
-  [3009] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_pointer_declarator, 3, 1, 0),
-  [3011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(710),
-  [3013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1001),
-  [3015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1003),
-  [3017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1767),
-  [3019] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_parameter_list, 4, 0, 0),
-  [3021] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_parameter_list, 4, 0, 0),
-  [3023] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_declarator, 2, 0, 34),
-  [3025] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_declarator, 2, 0, 34),
-  [3027] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_parameter_list, 3, 0, 0),
-  [3029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1246),
-  [3031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(955),
-  [3033] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0),
-  [3035] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0),
-  [3037] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1001),
-  [3040] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1003),
-  [3043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(954),
-  [3045] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1396),
-  [3047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1245),
-  [3049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(946),
-  [3051] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator, 3, 0, 77),
-  [3053] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator, 3, 0, 77),
-  [3055] = {.entry = {.count = 1, .reusable = false}}, SHIFT(523),
-  [3057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(524),
-  [3059] = {.entry = {.count = 1, .reusable = false}}, SHIFT(524),
-  [3061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525),
-  [3063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(526),
-  [3065] = {.entry = {.count = 1, .reusable = false}}, SHIFT(527),
-  [3067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(528),
-  [3069] = {.entry = {.count = 1, .reusable = false}}, SHIFT(529),
-  [3071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(530),
-  [3073] = {.entry = {.count = 1, .reusable = false}}, SHIFT(531),
-  [3075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(531),
-  [3077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(532),
-  [3079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482),
-  [3081] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1553),
-  [3083] = {.entry = {.count = 1, .reusable = false}}, SHIFT(623),
-  [3085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(503),
-  [3087] = {.entry = {.count = 1, .reusable = false}}, SHIFT(503),
-  [3089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(564),
-  [3091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(541),
-  [3093] = {.entry = {.count = 1, .reusable = false}}, SHIFT(554),
-  [3095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(558),
-  [3097] = {.entry = {.count = 1, .reusable = false}}, SHIFT(568),
-  [3099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(572),
-  [3101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(582),
-  [3103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(582),
-  [3105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(615),
-  [3107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0),
-  [3109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0),
-  [3111] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(710),
-  [3114] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1767),
-  [3117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1128),
-  [3119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1115),
-  [3121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1120),
-  [3123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462),
-  [3125] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_pointer_modifier, 1, 0, 0),
-  [3127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_pointer_modifier, 1, 0, 0),
-  [3129] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call_expression, 2, 0, 13),
-  [3131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call_expression, 2, 0, 13),
-  [3133] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_unaligned_ptr_modifier, 1, 0, 0),
-  [3135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_unaligned_ptr_modifier, 1, 0, 0),
-  [3137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 3, 0, 0),
-  [3139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 3, 0, 0),
-  [3141] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 2, 0, 0),
-  [3143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 2, 0, 0),
-  [3145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 4, 0, 0),
-  [3147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 4, 0, 0),
-  [3149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(494),
-  [3151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comma_expression, 3, 0, 44),
-  [3153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(977),
-  [3155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(677),
-  [3157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443),
-  [3159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(683),
-  [3161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463),
-  [3163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(913),
-  [3165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitfield_clause, 2, 0, 0),
-  [3167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(699),
-  [3169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1920),
-  [3171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(533),
-  [3173] = {.entry = {.count = 1, .reusable = false}}, SHIFT(584),
-  [3175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(585),
-  [3177] = {.entry = {.count = 1, .reusable = false}}, SHIFT(585),
-  [3179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(586),
-  [3181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(587),
-  [3183] = {.entry = {.count = 1, .reusable = false}}, SHIFT(588),
-  [3185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(589),
-  [3187] = {.entry = {.count = 1, .reusable = false}}, SHIFT(590),
-  [3189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(591),
-  [3191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(592),
-  [3193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(592),
-  [3195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(593),
-  [3197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1588),
-  [3199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(488),
-  [3201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91),
-  [3203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 0, 104),
-  [3205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95),
-  [3207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242),
-  [3209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(559),
-  [3211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189),
-  [3213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_pair, 3, 0, 114),
-  [3215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_generic_expression_repeat1, 4, 0, 0),
-  [3217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 5, 0, 116),
-  [3219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declarator, 3, 0, 63),
-  [3221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210),
-  [3223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_initializer_list_repeat1, 2, 0, 0),
-  [3225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216),
-  [3227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(669),
-  [3229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(477),
-  [3231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_pair, 3, 0, 115),
-  [3233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 0, 102),
-  [3235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(538),
-  [3237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 0, 103),
-  [3239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 82),
-  [3241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180),
-  [3243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 83),
-  [3245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464),
-  [3247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185),
-  [3249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539),
-  [3251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478),
-  [3253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(608),
-  [3255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474),
-  [3257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0),
-  [3259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(597),
-  [3261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(577),
-  [3263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(662),
-  [3265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1659),
-  [3267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
-  [3269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(713),
-  [3271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56),
-  [3273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70),
-  [3275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, 0, 3),
-  [3277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, 0, 14),
-  [3279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64),
-  [3281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1664),
-  [3283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(682),
-  [3285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(971),
-  [3287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, 0, 14),
-  [3289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1650),
-  [3291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52),
-  [3293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(676),
-  [3295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 1, 0, 3),
-  [3297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(765),
-  [3299] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1107),
-  [3301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 2, 0, 14),
-  [3303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 2, 0, 14),
-  [3305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 1, 0, 3),
-  [3307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 1, 0, 3),
-  [3309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 2, 0, 3),
-  [3311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 2, 0, 3),
-  [3313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 3, 0, 14),
-  [3315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 3, 0, 14),
-  [3317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 1, 0, 42),
-  [3319] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(1117),
-  [3322] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(1123),
-  [3325] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(1126),
-  [3328] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1343),
-  [3330] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 15), SHIFT(1124),
-  [3333] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 0), SHIFT(1125),
-  [3336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__preproc_expression, 1, 0, 0),
-  [3338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1145),
-  [3340] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__preproc_expression, 1, 0, 0),
-  [3342] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, 0, 14), SHIFT(731),
-  [3345] = {.entry = {.count = 3, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT(731),
-  [3349] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, -1, 15), SHIFT(731),
-  [3352] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 3), SHIFT(731),
-  [3355] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 14), SHIFT(1122),
-  [3358] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 10), SHIFT(731),
-  [3361] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 1), SHIFT(1127),
-  [3364] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1134),
-  [3366] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(),
-  [3368] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1121),
-  [3370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1796),
-  [3372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1165),
-  [3374] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1699),
-  [3376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1201),
-  [3378] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1201),
-  [3380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1142),
-  [3382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1649),
-  [3384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1182),
-  [3386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1006),
-  [3388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1173),
-  [3390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1176),
-  [3392] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1176),
-  [3394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1178),
-  [3396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1180),
-  [3398] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1181),
-  [3400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1183),
-  [3402] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1184),
-  [3404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1186),
-  [3406] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1187),
-  [3408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1187),
-  [3410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1189),
-  [3412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1216),
-  [3414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1138),
-  [3416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1232),
-  [3418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1790),
-  [3420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1007),
-  [3422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1133),
-  [3424] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1131),
-  [3426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1177),
-  [3428] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1743),
-  [3430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1188),
-  [3432] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1188),
-  [3434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1215),
-  [3436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1624),
-  [3438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1211),
-  [3440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1224),
-  [3442] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_binary_expression, 3, 0, 30),
-  [3444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1222),
-  [3446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1223),
-  [3448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1916),
-  [3450] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_enum_specifier, 2, 0, 7), SHIFT(1920),
-  [3453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_binary_expression, 3, 0, 30),
-  [3455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1241),
-  [3457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1239),
-  [3459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1205),
-  [3461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1235),
-  [3463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1229),
-  [3465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1240),
-  [3467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1227),
-  [3469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1236),
-  [3471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_defined, 2, 0, 0),
-  [3473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_defined, 2, 0, 0),
-  [3475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1220),
-  [3477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_unary_expression, 2, 0, 5),
-  [3479] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_unary_expression, 2, 0, 5),
-  [3481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1230),
-  [3483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1234),
-  [3485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1198),
-  [3487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1209),
-  [3489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1202),
-  [3491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1207),
-  [3493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1175),
-  [3495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_defined, 4, 0, 0),
-  [3497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_defined, 4, 0, 0),
-  [3499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1151),
-  [3501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1192),
-  [3503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1193),
-  [3505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1203),
-  [3507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1161),
-  [3509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1238),
-  [3511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1155),
-  [3513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1156),
-  [3515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1228),
-  [3517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1157),
-  [3519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1242),
-  [3521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1237),
-  [3523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_argument_list_repeat1, 2, 0, 0),
-  [3525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1231),
-  [3527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_parenthesized_expression, 3, 0, 0),
-  [3529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_parenthesized_expression, 3, 0, 0),
-  [3531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1210),
-  [3533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1219),
-  [3535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1213),
-  [3537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1217),
-  [3539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1170),
-  [3541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1314),
-  [3543] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1149),
-  [3545] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1152),
-  [3547] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1153),
-  [3549] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1163),
-  [3551] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1164),
-  [3553] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1169),
-  [3555] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1171),
-  [3557] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1172),
-  [3559] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1174),
-  [3561] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1148),
-  [3563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1208),
-  [3565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
-  [3567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432),
-  [3569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
-  [3571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448),
-  [3573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1327),
-  [3575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1195),
-  [3577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439),
-  [3579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1271),
-  [3581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437),
-  [3583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1270),
-  [3585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
-  [3587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1313),
-  [3589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
-  [3591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12),
-  [3593] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1284),
-  [3595] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 2, 0, 34),
-  [3597] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 2, 0, 34),
-  [3599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_declarator, 2, 0, 34),
-  [3601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 3, 0, 34),
-  [3603] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 3, 0, 34),
-  [3605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_declarator, 3, 0, 34),
-  [3607] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_declaration_declarator, 3, 0, 34),
-  [3609] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1284),
-  [3612] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat1, 2, 0, 0),
-  [3614] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1916),
-  [3617] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat1, 2, 0, 0),
-  [3619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 4, 0, 34),
-  [3621] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 4, 0, 34),
-  [3623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0),
-  [3625] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1752),
-  [3628] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0),
-  [3630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(781),
-  [3632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1398),
-  [3634] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 2, 0, 17),
-  [3636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1481),
-  [3638] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1191),
-  [3640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1816),
-  [3642] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 3, 0, 40),
-  [3644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1455),
-  [3646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(882),
-  [3648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(846),
-  [3650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1448),
-  [3652] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 4, 0, 0),
-  [3654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4, 0, 0),
-  [3656] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_declarator, 2, 0, 0),
-  [3658] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_declarator, 2, 0, 0),
-  [3660] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 2, 1, 32),
-  [3662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(628),
-  [3664] = {.entry = {.count = 1, .reusable = false}}, SHIFT(420),
-  [3666] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_declarator, 2, 1, 32),
-  [3668] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 5, 1, 110),
-  [3670] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_declarator, 5, 1, 110),
-  [3672] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 4, 1, 89),
-  [3674] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_declarator, 4, 1, 89),
-  [3676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 3, 1, 60),
-  [3678] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_declarator, 3, 1, 60),
-  [3680] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat1, 1, 0, 0),
-  [3682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat1, 1, 0, 0),
-  [3684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1601),
-  [3686] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1162),
-  [3688] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1905),
-  [3690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(753),
-  [3692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(739),
-  [3694] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 5, 0, 112),
-  [3696] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 5, 0, 112),
-  [3698] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_declarator, 3, -10, 0),
-  [3700] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_declarator, 3, -10, 0),
-  [3702] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 4, 0, 92),
-  [3704] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 4, 0, 92),
-  [3706] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_declarator, 4, -10, 0),
-  [3708] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_declarator, 4, -10, 0),
-  [3710] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 4, 0, 22),
-  [3712] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 4, 0, 22),
-  [3714] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declarator, 1, 0, 0),
-  [3716] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declarator, 1, 0, 0),
-  [3718] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 3, 0, 22),
-  [3720] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 3, 0, 22),
-  [3722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1315),
-  [3724] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declaration_declarator, 1, 0, 22),
-  [3726] = {.entry = {.count = 1, .reusable = false}}, SHIFT(427),
-  [3728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(567),
-  [3730] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 1, 0, 0),
-  [3732] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 1, 0, 0), REDUCE(aux_sym_function_declarator_repeat1, 1, 0, 0),
-  [3735] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 1, 0, 0),
-  [3737] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1601),
-  [3740] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1150),
-  [3743] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1782),
-  [3746] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1701),
-  [3749] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0),
-  [3751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 4, 0, 40),
-  [3753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1534),
-  [3755] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1159),
-  [3757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2004),
-  [3759] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 4, 0, 40),
-  [3761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1516),
-  [3763] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1160),
-  [3765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1859),
-  [3767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 2, 1, 32),
-  [3769] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 3, 0, 40),
-  [3771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 2, 0, 35),
-  [3773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 5, 1, 110),
-  [3775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1468),
-  [3777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1476),
-  [3779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1826),
-  [3781] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 3, 0, 17),
-  [3783] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 3, 0, 17),
-  [3785] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 2, 0, 17),
-  [3787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1470),
-  [3789] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 4, 1, 89),
-  [3791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 2, 0, 32),
-  [3793] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 3, 1, 60),
-  [3795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1465),
-  [3797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1995),
-  [3799] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1443),
-  [3801] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_clobber_list, 1, 0, 0),
-  [3803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(629),
-  [3805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470),
-  [3807] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 5, 1, 110),
-  [3809] = {.entry = {.count = 1, .reusable = false}}, SHIFT(424),
-  [3811] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 3, 1, 60),
-  [3813] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 2, 1, 32),
-  [3815] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand_list, 1, 0, 0),
-  [3817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1881),
-  [3819] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_declarator, 1, 0, 0),
-  [3821] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_declarator, 1, 0, 0),
-  [3823] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 4, 1, 89),
-  [3825] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_field_declarator, 2, 0, 0),
-  [3827] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_field_declarator, 2, 0, 0),
-  [3829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1262),
-  [3831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_declarators, 1, 0, 22),
-  [3833] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand_list, 1, 0, 0),
-  [3835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1851),
-  [3837] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1586),
-  [3839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1517),
-  [3841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1896),
-  [3843] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1550),
-  [3845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1814),
-  [3847] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1625),
-  [3849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1915),
-  [3851] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 2, 0, 0),
-  [3853] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1916),
-  [3856] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 2, 0, 0),
-  [3858] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__type_definition_declarators_repeat1, 2, 0, 32),
-  [3860] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1556),
-  [3862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1864),
-  [3864] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_type_declarator, 2, 0, 0),
-  [3866] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_type_declarator, 2, 0, 0),
-  [3868] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_field_declarator, 4, -10, 0),
-  [3870] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_field_declarator, 4, -10, 0),
-  [3872] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 2, 0, 0), SHIFT_REPEAT(1398),
-  [3875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 2, 0, 0),
-  [3877] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 2, 0, 0),
-  [3879] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declarator, 1, 0, 0),
-  [3881] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declarator, 1, 0, 0),
-  [3883] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 4, 0, 92),
-  [3885] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 4, 0, 92),
-  [3887] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 3, 0, 22),
-  [3889] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 3, 0, 22),
-  [3891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422),
-  [3893] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 5, 0, 112),
-  [3895] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 5, 0, 112),
-  [3897] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 4, 0, 22),
-  [3899] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 4, 0, 22),
-  [3901] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_declarator, 4, 0, 34),
-  [3903] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_declaration_declarator, 4, 0, 34),
-  [3905] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declarator, 1, 0, 51),
-  [3907] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declarator, 1, 0, 51),
-  [3909] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator, 1, 0, 6),
-  [3911] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator, 1, 0, 6),
-  [3913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(537),
-  [3915] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1601),
-  [3918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_repeat1, 2, 0, 0),
-  [3920] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_repeat1, 2, 0, 0),
-  [3922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_field_declarator, 2, 0, 34),
-  [3924] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_field_declarator, 2, 0, 34),
-  [3926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_field_declarator, 3, -10, 0),
-  [3928] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_field_declarator, 3, -10, 0),
-  [3930] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 3, 0, 22),
-  [3932] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 3, 0, 22),
-  [3934] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 2, 1, 32),
-  [3936] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1, 0, 21),
-  [3938] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1, 0, 21),
-  [3940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1141),
-  [3942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253),
-  [3944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1425),
-  [3946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1, 0, 0),
-  [3948] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1, 0, 0),
-  [3950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(909),
-  [3952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(489),
-  [3954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1933),
-  [3956] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1, 0, 1),
-  [3958] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1, 0, 1),
-  [3960] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type_declarator, 2, 0, 34),
-  [3962] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type_declarator, 2, 0, 34),
-  [3964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196),
-  [3966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1301),
-  [3968] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 5, 0, 112),
-  [3970] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 5, 0, 112),
-  [3972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1420),
-  [3974] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_type_declarator, 3, -10, 0),
-  [3976] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_type_declarator, 3, -10, 0),
-  [3978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245),
-  [3980] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 3, 1, 60),
-  [3982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_type_declarator, 4, -10, 0),
-  [3984] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_type_declarator, 4, -10, 0),
-  [3986] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_expression_repeat1, 2, 0, 0),
-  [3988] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(1483),
-  [3991] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 4, 0, 22),
-  [3993] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 4, 0, 22),
-  [3995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190),
-  [3997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1368),
-  [3999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1483),
-  [4001] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 4, 1, 89),
-  [4003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98),
-  [4005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 1, 0, 0),
-  [4007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1461),
-  [4009] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 1, 0, 0),
-  [4011] = {.entry = {.count = 1, .reusable = false}}, SHIFT(711),
-  [4013] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2, 0, 0), SHIFT_REPEAT(522),
-  [4016] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2, 0, 0),
-  [4018] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2, 0, 0), SHIFT_REPEAT(1933),
-  [4021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(937),
-  [4023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1417),
-  [4025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1371),
-  [4027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(927),
-  [4029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231),
-  [4031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1378),
-  [4033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102),
-  [4035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233),
-  [4037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1403),
-  [4039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1299),
-  [4041] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 4, 0, 92),
-  [4043] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 4, 0, 92),
-  [4045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(907),
-  [4047] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, 0, 92),
-  [4049] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__abstract_declarator, 1, 0, 0),
-  [4051] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 1, 0, 20),
-  [4053] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_parenthesized_declarator, 3, 0, 0),
-  [4055] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 3, 0, 17),
-  [4057] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 3, 0, 17),
-  [4059] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 2, 0, 0),
-  [4061] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 2, 0, 34),
-  [4063] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, 0, 43),
-  [4065] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, 0, 46),
-  [4067] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 4, 0, 40),
-  [4069] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 4, 0, 40),
-  [4071] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 5, 0, 112),
-  [4073] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3, 0, 74),
-  [4075] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, 0, 32),
-  [4077] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, 0, 22),
-  [4079] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3, 0, 0),
-  [4081] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3, 0, 22),
-  [4083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 5, 0, 73),
-  [4085] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 5, 0, 73),
-  [4087] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 6, 0, 97),
-  [4089] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 6, 0, 97),
-  [4091] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 17),
-  [4093] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 17),
-  [4095] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_parenthesized_declarator, 4, 0, 0),
-  [4097] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 4, 0, 75),
-  [4099] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 3, 0, 93),
-  [4101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, 0, 19),
-  [4103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, 0, 98),
-  [4105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 41),
-  [4107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 41),
-  [4109] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0),
-  [4111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 72),
-  [4113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 72),
-  [4115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 40),
-  [4117] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 40),
-  [4119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, 0, 6),
-  [4121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1795),
-  [4123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 3, 0, 35),
-  [4125] = {.entry = {.count = 1, .reusable = false}}, SHIFT(709),
-  [4127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list, 1, 0, 0),
-  [4129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(715),
-  [4131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_qualifier, 1, 0, 0),
-  [4133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_declarator, 1, 0, 11),
-  [4135] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_declarator, 1, 0, 11),
-  [4137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 2, 0, 42),
-  [4139] = {.entry = {.count = 1, .reusable = false}}, SHIFT(684),
-  [4141] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1512),
-  [4143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157),
-  [4145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100),
-  [4147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(783),
-  [4149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1567),
-  [4151] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1792),
-  [4153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1732),
-  [4155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1672),
-  [4157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(667),
-  [4159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(832),
-  [4161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1735),
-  [4163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1738),
-  [4165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192),
-  [4167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list_no_comma, 2, 0, 0),
-  [4169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1466),
-  [4171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170),
-  [4173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124),
-  [4175] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1871),
-  [4177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(840),
-  [4179] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1806),
-  [4181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223),
-  [4183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1366),
-  [4185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_clobber_list, 3, 0, 122),
-  [4187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219),
-  [4189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1719),
-  [4191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1711),
-  [4193] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_output_operand_list_repeat1, 2, 0, 117), SHIFT_REPEAT(1375),
-  [4196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_output_operand_list_repeat1, 2, 0, 117),
-  [4198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106),
-  [4200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107),
-  [4202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0),
-  [4204] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(1507),
-  [4207] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(1507),
-  [4210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224),
-  [4212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_declarators, 2, 0, 48),
-  [4214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1734),
-  [4216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1700),
-  [4218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1395),
-  [4220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand_list, 3, 0, 107),
-  [4222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_char_literal_repeat1, 2, 0, 0),
-  [4224] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_char_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(1512),
-  [4227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115),
-  [4229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200),
-  [4231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declaration_declarator, 2, 0, 48),
-  [4233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list_no_comma, 1, 0, 0),
-  [4235] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1815),
-  [4237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1522),
-  [4239] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1522),
-  [4241] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1226),
-  [4243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256),
-  [4245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229),
-  [4247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291),
-  [4249] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1852),
-  [4251] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1783),
-  [4253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1507),
-  [4255] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1507),
-  [4257] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__type_definition_declarators_repeat1, 2, 0, 65), SHIFT_REPEAT(1262),
-  [4260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__type_definition_declarators_repeat1, 2, 0, 65),
-  [4262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165),
-  [4264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1447),
-  [4266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, 0, 49),
-  [4268] = {.entry = {.count = 1, .reusable = false}}, SHIFT(636),
-  [4270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1375),
-  [4272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand_list, 3, 0, 107),
-  [4274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316),
-  [4276] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1773),
-  [4278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(848),
-  [4280] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1942),
-  [4282] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1166),
-  [4284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371),
-  [4286] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1997),
-  [4288] = {.entry = {.count = 1, .reusable = false}}, SHIFT(839),
-  [4290] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 2, 0, 65), SHIFT_REPEAT(1315),
-  [4293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 2, 0, 65),
-  [4295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand_list, 2, 0, 86),
-  [4297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(838),
-  [4299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1533),
-  [4301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1533),
-  [4303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand_list, 2, 0, 86),
-  [4305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247),
-  [4307] = {.entry = {.count = 1, .reusable = false}}, SHIFT(641),
-  [4309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1527),
-  [4311] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1527),
-  [4313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declaration_declarator, 2, 0, 22),
-  [4315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1689),
-  [4317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1674),
-  [4319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declaration_declarator, 3, 0, 101),
-  [4321] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_clobber_list_repeat1, 2, 0, 127), SHIFT_REPEAT(1366),
-  [4324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_clobber_list_repeat1, 2, 0, 127),
-  [4326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list, 2, 0, 0),
-  [4328] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_input_operand_list_repeat1, 2, 0, 117), SHIFT_REPEAT(1395),
-  [4331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_input_operand_list_repeat1, 2, 0, 117),
-  [4333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201),
-  [4335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_clobber_list, 2, 0, 118),
-  [4337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162),
-  [4339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283),
-  [4341] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1132),
-  [4343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(435),
-  [4345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164),
-  [4347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1154),
-  [4349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(643),
-  [4351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1335),
-  [4353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 3, 0, 32),
-  [4355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123),
-  [4357] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, 0, 65), SHIFT_REPEAT(1141),
-  [4360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, 0, 65),
-  [4362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1694),
-  [4364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401),
-  [4366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(719),
-  [4368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(663),
-  [4370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(633),
-  [4372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1341),
-  [4374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(637),
-  [4376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1350),
-  [4378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99),
-  [4380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1733),
-  [4382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1751),
-  [4384] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__old_style_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1644),
-  [4387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_style_parameter_list_repeat1, 2, 0, 0),
-  [4389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(724),
-  [4391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1564),
-  [4393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1739),
-  [4395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103),
-  [4397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104),
-  [4399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105),
-  [4401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191),
-  [4403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_output_operand_list_repeat1, 2, 0, 86),
-  [4405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(697),
-  [4407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(864),
-  [4409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1975),
-  [4411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112),
-  [4413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113),
-  [4415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114),
-  [4417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1008),
-  [4419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1745),
-  [4421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand, 7, 0, 131),
-  [4423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117),
-  [4425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(635),
-  [4427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1684),
-  [4429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(715),
-  [4431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(665),
-  [4433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300),
-  [4435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(640),
-  [4437] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_designator, 3, 0, 0),
-  [4439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(908),
-  [4441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197),
-  [4443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198),
-  [4445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199),
-  [4447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(910),
-  [4449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(911),
-  [4451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(912),
-  [4453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163),
-  [4455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(915),
-  [4457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(916),
-  [4459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(917),
-  [4461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(580),
-  [4463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254),
-  [4465] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_list_repeat1, 2, 0, 0), SHIFT_REPEAT(450),
-  [4468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(918),
-  [4470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255),
-  [4472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(936),
-  [4474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(928),
-  [4476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(929),
-  [4478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(930),
-  [4480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(932),
-  [4482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(933),
-  [4484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(934),
-  [4486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(935),
-  [4488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(717),
-  [4490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232),
-  [4492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234),
-  [4494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235),
-  [4496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236),
-  [4498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151),
-  [4500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238),
-  [4502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239),
-  [4504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(642),
-  [4506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(661),
-  [4508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1281),
-  [4510] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1518),
-  [4512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370),
-  [4514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_designator, 2, 0, 99),
-  [4516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(680),
-  [4518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand, 4, 0, 121),
-  [4520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(792),
-  [4522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_input_operand_list_repeat1, 2, 0, 86),
-  [4524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(714),
-  [4526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154),
-  [4528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155),
-  [4530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156),
-  [4532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(868),
-  [4534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(921),
-  [4536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1275),
-  [4538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1221),
-  [4540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(634),
-  [4542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(631),
-  [4544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2001),
-  [4546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_goto_list, 2, 0, 123),
-  [4548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167),
-  [4550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1670),
-  [4552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1644),
-  [4554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(938),
-  [4556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159),
-  [4558] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_goto_list_repeat1, 2, 0, 130), SHIFT_REPEAT(2001),
-  [4561] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_goto_list_repeat1, 2, 0, 130),
-  [4563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237),
-  [4565] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1531),
-  [4567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand, 7, 0, 131),
-  [4569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(826),
-  [4571] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1487),
-  [4573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1017),
-  [4575] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(1694),
-  [4578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_declaration_repeat1, 2, 0, 0),
-  [4580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246),
-  [4582] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(661),
-  [4585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0),
-  [4587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_range_designator, 5, 0, 126),
-  [4589] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(463),
-  [4592] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1182),
-  [4595] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_params_repeat1, 2, 0, 0), SHIFT_REPEAT(1733),
-  [4598] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_params_repeat1, 2, 0, 0),
-  [4600] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_generic_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(977),
-  [4603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_generic_expression_repeat1, 2, 0, 0),
-  [4605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand, 4, 0, 121),
-  [4607] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_clobber_list_repeat1, 2, 0, 118),
-  [4609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402),
-  [4611] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_goto_list, 3, 0, 128),
-  [4613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240),
-  [4615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452),
-  [4617] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), REDUCE(aux_sym__old_style_parameter_list_repeat1, 2, 0, 0),
-  [4620] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 4, 0, 49),
-  [4622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 2, 0, 6),
-  [4624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_goto_list_repeat1, 2, 0, 123),
-  [4626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1642),
-  [4628] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_goto_list, 1, 0, 0),
-  [4630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299),
-  [4632] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1813),
-  [4634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257),
-  [4636] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1769),
-  [4638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 4, 0, 113),
-  [4640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(845),
-  [4642] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1906),
-  [4644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288),
-  [4646] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1780),
-  [4648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1478),
-  [4650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459),
-  [4652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374),
-  [4654] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2007),
-  [4656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1168),
-  [4658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1853),
-  [4660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321),
-  [4662] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1888),
-  [4664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_parameter, 1, 0, 0),
-  [4666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(782),
-  [4668] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1789),
-  [4670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138),
-  [4672] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1774),
-  [4674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(858),
-  [4676] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1979),
-  [4678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(786),
-  [4680] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1798),
-  [4682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136),
-  [4684] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1935),
-  [4686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1744),
-  [4688] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_params, 2, 0, 0),
-  [4690] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 2, 0, 0),
-  [4692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1214),
-  [4694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1781),
-  [4696] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_params, 4, 0, 0),
-  [4698] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 4, 0, 0),
-  [4700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1474),
-  [4702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(770),
-  [4704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(871),
-  [4706] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1805),
-  [4708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(876),
-  [4710] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1808),
-  [4712] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_params, 3, 0, 0),
-  [4714] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 3, 0, 0),
-  [4716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307),
-  [4718] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1877),
-  [4720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1730),
-  [4722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87),
-  [4724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1204),
-  [4726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281),
-  [4728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list_no_comma, 4, 0, 41),
-  [4730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179),
-  [4732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378),
-  [4734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76),
-  [4736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55),
-  [4738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399),
-  [4740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286),
-  [4742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243),
-  [4744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1628),
-  [4746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287),
-  [4748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122),
-  [4750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306),
-  [4752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121),
-  [4754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1453),
-  [4756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129),
-  [4758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403),
-  [4760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289),
-  [4762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1759),
-  [4764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1318),
-  [4766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88),
-  [4768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(863),
-  [4770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(947),
-  [4772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(784),
-  [4774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(785),
-  [4776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110),
-  [4778] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list_no_comma, 5, 0, 72),
-  [4780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1526),
-  [4782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(787),
-  [4784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96),
-  [4786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1943),
-  [4788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(834),
-  [4790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467),
-  [4792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(874),
-  [4794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(875),
-  [4796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143),
-  [4798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(877),
-  [4800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1521),
-  [4802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
-  [4804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276),
-  [4806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1269),
-  [4808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1179),
-  [4810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(872),
-  [4812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1941),
-  [4814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1771),
-  [4816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277),
-  [4818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1464),
-  [4820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(881),
-  [4822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282),
-  [4824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471),
-  [4826] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list_no_comma, 5, 0, 40),
-  [4828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(992),
-  [4830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(762),
-  [4832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1581),
-  [4834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(841),
-  [4836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(556),
-  [4838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1473),
-  [4840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1992),
-  [4842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(843),
-  [4844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(844),
-  [4846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1801),
-  [4848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442),
-  [4850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(866),
-  [4852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188),
-  [4854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(816),
-  [4856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(953),
-  [4858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(632),
-  [4860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(687),
-  [4862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(514),
-  [4864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1862),
-  [4866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297),
-  [4868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1817),
-  [4870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1875),
-  [4872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1762),
-  [4874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152),
-  [4876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1475),
-  [4878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436),
-  [4880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1326),
-  [4882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332),
-  [4884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407),
-  [4886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1477),
-  [4888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1936),
-  [4890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160),
-  [4892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(694),
-  [4894] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list_no_comma, 6, 0, 97),
-  [4896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 4, 0, 72),
-  [4898] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 4, 0, 72),
-  [4900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137),
-  [4902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1867),
-  [4904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304),
-  [4906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(974),
-  [4908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1772),
-  [4910] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 4, 0, 73),
-  [4912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293),
-  [4914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif, 5, 0, 97),
-  [4916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312),
-  [4918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361),
-  [4920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1777),
-  [4922] = {.entry = {.count = 1, .reusable = true}},  ACCEPT_INPUT(),
-  [4924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
-  [4926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 3, 0, 41),
-  [4928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1960),
-  [4930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206),
-  [4932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207),
-  [4934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324),
-  [4936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(795),
-  [4938] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 4, 0, 73),
-  [4940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 3, 0, 41),
-  [4942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(811),
-  [4944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1794),
-  [4946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140),
-  [4948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(562),
-  [4950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(856),
-  [4952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1498),
-  [4954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
-  [4956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(812),
-  [4958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251),
-  [4960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1274),
-  [4962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(849),
-  [4964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(814),
-  [4966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(480),
-  [4968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1799),
-  [4970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1717),
-  [4972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(815),
-  [4974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(485),
-  [4976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1729),
-  [4978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209),
-  [4980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369),
-  [4982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1015),
-  [4984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438),
-  [4986] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_based_modifier, 2, 0, 0),
-  [4988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346),
-  [4990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1463),
-  [4992] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef, 3, 0, 41),
-  [4994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252),
-  [4996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1530),
-  [4998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
-  [5000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1626),
-  [5002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217),
-  [5004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131),
-  [5006] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list_no_comma, 5, 0, 73),
-  [5008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1934),
-  [5010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329),
-  [5012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313),
-  [5014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63),
-  [5016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186),
-  [5018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(857),
-  [5020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(712),
-  [5022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57),
-  [5024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258),
-  [5026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(472),
-  [5028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174),
-  [5030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339),
-  [5032] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 4, 0, 72),
-  [5034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175),
-  [5036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1529),
-  [5038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348),
-  [5040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(902),
-  [5042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385),
-  [5044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1490),
-  [5046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1499),
-  [5048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404),
-  [5050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1849),
-  [5052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
-  [5054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(639),
-  [5056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400),
-  [5058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
-  [5060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67),
-  [5062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433),
-  [5064] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 5, 0, 97),
-  [5066] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 5, 0, 97),
-  [5068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(483),
-  [5070] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 5, 0, 97),
-  [5072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(594),
-  [5074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(847),
-  [5076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
-  [5078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1682),
-  [5080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(850),
-  [5082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(942),
-  [5084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(860),
-  [5086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269),
-  [5088] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 4, 0, 73),
-  [5090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(851),
-  [5092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271),
-  [5094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77),
-  [5096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1532),
-  [5098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373),
-  [5100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1669),
-  [5102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(865),
-  [5104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif, 4, 0, 72),
-  [5106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1830),
-  [5108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(595),
-  [5110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(660),
-  [5112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list_no_comma, 4, 0, 17),
-  [5114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227),
-  [5116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364),
-  [5118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef, 4, 0, 73),
-  [5120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 3, 0, 41),
-  [5122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1681),
-  [5124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
-  [5126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90),
-  [5128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1325),
-  [5130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79),
-  [5132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(695),
-  [5134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377),
+  [2972] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional_expression, 5, 0, 97),
+  [2974] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional_expression, 5, 0, 97),
+  [2976] = {.entry = {.count = 1, .reusable = false}}, SHIFT(576),
+  [2978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(576),
+  [2980] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 4, 0, 52),
+  [2982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 4, 0, 52),
+  [2984] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 4, 0, 52), SHIFT(1985),
+  [2987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1558),
+  [2989] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 2, 0, 8),
+  [2991] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 2, 0, 8),
+  [2993] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 2, 0, 8), SHIFT(1985),
+  [2996] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 5, 0, 79),
+  [2998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 5, 0, 79),
+  [3000] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 5, 0, 79), SHIFT(1985),
+  [3003] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 24),
+  [3005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, 0, 24),
+  [3007] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 24), SHIFT(1985),
+  [3010] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1423),
+  [3012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1128),
+  [3014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(893),
+  [3016] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1424),
+  [3018] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1421),
+  [3020] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_call_modifier, 1, 0, 0),
+  [3022] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_call_modifier, 1, 0, 0),
+  [3024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462),
+  [3026] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1821),
+  [3028] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), SHIFT(1588),
+  [3031] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), SHIFT(946),
+  [3034] = {.entry = {.count = 1, .reusable = false}}, SHIFT(591),
+  [3036] = {.entry = {.count = 1, .reusable = false}}, SHIFT(523),
+  [3038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(592),
+  [3040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(593),
+  [3042] = {.entry = {.count = 1, .reusable = false}}, SHIFT(594),
+  [3044] = {.entry = {.count = 1, .reusable = false}}, SHIFT(595),
+  [3046] = {.entry = {.count = 1, .reusable = false}}, SHIFT(596),
+  [3048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(597),
+  [3050] = {.entry = {.count = 1, .reusable = false}}, SHIFT(598),
+  [3052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(598),
+  [3054] = {.entry = {.count = 1, .reusable = false}}, SHIFT(599),
+  [3056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(481),
+  [3058] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__declarator, 1, 0, 0), REDUCE(sym_type_specifier, 1, 0, 1),
+  [3061] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym__declarator, 1, 0, 0), REDUCE(sym_type_specifier, 1, 0, 1), SHIFT(997),
+  [3065] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__declarator, 1, 0, 0), REDUCE(sym_type_specifier, 1, 0, 1),
+  [3068] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), REDUCE(aux_sym__old_style_parameter_list_repeat1, 2, 0, 0),
+  [3071] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 3, 1, 0),
+  [3073] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_pointer_declarator, 3, 1, 0),
+  [3075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340),
+  [3077] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_parameter_list, 4, 0, 0),
+  [3079] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_parameter_list, 4, 0, 0),
+  [3081] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_declarator, 2, 0, 34),
+  [3083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_declarator, 2, 0, 34),
+  [3085] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_parameter_list, 3, 0, 0),
+  [3087] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0),
+  [3089] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0),
+  [3091] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(998),
+  [3094] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(996),
+  [3097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(720),
+  [3099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(998),
+  [3101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(996),
+  [3103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1778),
+  [3105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1264),
+  [3107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(956),
+  [3109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(964),
+  [3111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1392),
+  [3113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1265),
+  [3115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(959),
+  [3117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(554),
+  [3119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(513),
+  [3121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(513),
+  [3123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(509),
+  [3125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(509),
+  [3127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(535),
+  [3129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator, 3, 0, 78),
+  [3131] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator, 3, 0, 78),
+  [3133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(514),
+  [3135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(537),
+  [3137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(537),
+  [3139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(538),
+  [3141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(548),
+  [3143] = {.entry = {.count = 1, .reusable = false}}, SHIFT(551),
+  [3145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(553),
+  [3147] = {.entry = {.count = 1, .reusable = false}}, SHIFT(555),
+  [3149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(565),
+  [3151] = {.entry = {.count = 1, .reusable = false}}, SHIFT(573),
+  [3153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(573),
+  [3155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(588),
+  [3157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478),
+  [3159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(518),
+  [3161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(519),
+  [3163] = {.entry = {.count = 1, .reusable = false}}, SHIFT(544),
+  [3165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(563),
+  [3167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(569),
+  [3169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(606),
+  [3171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(476),
+  [3173] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1144),
+  [3175] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1122),
+  [3177] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1142),
+  [3179] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_unaligned_ptr_modifier, 1, 0, 0),
+  [3181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_unaligned_ptr_modifier, 1, 0, 0),
+  [3183] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_pointer_modifier, 1, 0, 0),
+  [3185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_pointer_modifier, 1, 0, 0),
+  [3187] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 4, 0, 0),
+  [3189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 4, 0, 0),
+  [3191] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 3, 0, 0),
+  [3193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 3, 0, 0),
+  [3195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1573),
+  [3197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 2, 0, 0),
+  [3199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 2, 0, 0),
+  [3201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call_expression, 2, 0, 13),
+  [3203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call_expression, 2, 0, 13),
+  [3205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(493),
+  [3207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comma_expression, 3, 0, 46),
+  [3209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1901),
+  [3211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitfield_clause, 2, 0, 0),
+  [3213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bitfield_clause, 2, 0, 0),
+  [3215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1002),
+  [3217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(680),
+  [3219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465),
+  [3221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(709),
+  [3223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449),
+  [3225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(698),
+  [3227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(927),
+  [3229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_pair, 3, 0, 115),
+  [3231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(567),
+  [3233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(577),
+  [3235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(578),
+  [3237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(578),
+  [3239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(579),
+  [3241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(580),
+  [3243] = {.entry = {.count = 1, .reusable = false}}, SHIFT(581),
+  [3245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(582),
+  [3247] = {.entry = {.count = 1, .reusable = false}}, SHIFT(583),
+  [3249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(584),
+  [3251] = {.entry = {.count = 1, .reusable = false}}, SHIFT(585),
+  [3253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(585),
+  [3255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(586),
+  [3257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1595),
+  [3259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(489),
+  [3261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(624),
+  [3263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(508),
+  [3265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declarator, 3, 0, 64),
+  [3267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_initializer_list_repeat1, 2, 0, 0),
+  [3269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_pair, 3, 0, 116),
+  [3271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0),
+  [3273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 5, 0, 117),
+  [3275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108),
+  [3277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83),
+  [3279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(486),
+  [3281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187),
+  [3283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(671),
+  [3285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 83),
+  [3287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194),
+  [3289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225),
+  [3291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_generic_expression_repeat1, 4, 0, 0),
+  [3293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(485),
+  [3295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 84),
+  [3297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(475),
+  [3299] = {.entry = {.count = 1, .reusable = false}}, SHIFT(756),
+  [3301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1121),
+  [3303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 0, 103),
+  [3305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(515),
+  [3307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 0, 104),
+  [3309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 0, 105),
+  [3311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(601),
+  [3313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181),
+  [3315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(669),
+  [3317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(590),
+  [3319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169),
+  [3321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189),
+  [3323] = {.entry = {.count = 1, .reusable = false}}, SHIFT(753),
+  [3325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(477),
+  [3327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(541),
+  [3329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
+  [3331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1591),
+  [3333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1674),
+  [3335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69),
+  [3337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 1, 0, 3),
+  [3339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, 0, 14),
+  [3341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1585),
+  [3343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62),
+  [3345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, 0, 3),
+  [3347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1680),
+  [3349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(690),
+  [3351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57),
+  [3353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1005),
+  [3355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1575),
+  [3357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, 0, 14),
+  [3359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(699),
+  [3361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(716),
+  [3363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54),
+  [3365] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), SHIFT(1133),
+  [3368] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), SHIFT(1134),
+  [3371] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), SHIFT(1132),
+  [3374] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(1147),
+  [3377] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(1143),
+  [3380] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(1146),
+  [3383] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 3, 0, 14),
+  [3385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 3, 0, 14),
+  [3387] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 1, 0, 3),
+  [3389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 1, 0, 3),
+  [3391] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 2, 0, 3),
+  [3393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 2, 0, 3),
+  [3395] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 2, 0, 14),
+  [3397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 2, 0, 14),
+  [3399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 1, 0, 44),
+  [3401] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 10), SHIFT(736),
+  [3404] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, 0, 14), SHIFT(736),
+  [3407] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, -1, 15), SHIFT(736),
+  [3410] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, 0, 38), SHIFT(1140),
+  [3413] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, -1, 39), SHIFT(1141),
+  [3416] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, 0, 0), SHIFT(736),
+  [3419] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 3), SHIFT(736),
+  [3422] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1375),
+  [3424] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 4, 0, 38), SHIFT(736),
+  [3427] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 4, -1, 39), SHIFT(736),
+  [3430] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 0), SHIFT(1135),
+  [3433] = {.entry = {.count = 3, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT(736),
+  [3437] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 1), SHIFT(1129),
+  [3440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__preproc_expression, 1, 0, 0),
+  [3442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1163),
+  [3444] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__preproc_expression, 1, 0, 0),
+  [3446] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 14), SHIFT(1130),
+  [3449] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 15), SHIFT(1131),
+  [3452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1193),
+  [3454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1247),
+  [3456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1177),
+  [3458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1219),
+  [3460] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1219),
+  [3462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1208),
+  [3464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1173),
+  [3466] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1216),
+  [3468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1217),
+  [3470] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1186),
+  [3472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1192),
+  [3474] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1167),
+  [3476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1167),
+  [3478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1197),
+  [3480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1000),
+  [3482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1985),
+  [3484] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_enum_specifier, 2, 0, 7), SHIFT(1901),
+  [3487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1800),
+  [3489] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1145),
+  [3491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1244),
+  [3493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1183),
+  [3495] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1734),
+  [3497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1198),
+  [3499] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1198),
+  [3501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1150),
+  [3503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1665),
+  [3505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1004),
+  [3507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1151),
+  [3509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2013),
+  [3511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1157),
+  [3513] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1161),
+  [3515] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(),
+  [3517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1202),
+  [3519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_binary_expression, 3, 0, 30),
+  [3521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_binary_expression, 3, 0, 30),
+  [3523] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1166),
+  [3525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1196),
+  [3527] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1751),
+  [3529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1209),
+  [3531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1209),
+  [3533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1226),
+  [3535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1652),
+  [3537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1239),
+  [3539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1178),
+  [3541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1250),
+  [3543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1241),
+  [3545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_unary_expression, 2, 0, 5),
+  [3547] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_unary_expression, 2, 0, 5),
+  [3549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1220),
+  [3551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1251),
+  [3553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_argument_list_repeat1, 2, 0, 0),
+  [3555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1227),
+  [3557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1222),
+  [3559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1242),
+  [3561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1187),
+  [3563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1228),
+  [3565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_defined, 4, 0, 0),
+  [3567] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_defined, 4, 0, 0),
+  [3569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1238),
+  [3571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1189),
+  [3573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1180),
+  [3575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1237),
+  [3577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1229),
+  [3579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1233),
+  [3581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1205),
+  [3583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1176),
+  [3585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1235),
+  [3587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1260),
+  [3589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1230),
+  [3591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1225),
+  [3593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1253),
+  [3595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1254),
+  [3597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1231),
+  [3599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1171),
+  [3601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1236),
+  [3603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1257),
+  [3605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1258),
+  [3607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1224),
+  [3609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_parenthesized_expression, 3, 0, 0),
+  [3611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_parenthesized_expression, 3, 0, 0),
+  [3613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1223),
+  [3615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1232),
+  [3617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1182),
+  [3619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1184),
+  [3621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_defined, 2, 0, 0),
+  [3623] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_defined, 2, 0, 0),
+  [3625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1169),
+  [3627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1248),
+  [3629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1213),
+  [3631] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1191),
+  [3633] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1214),
+  [3635] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1203),
+  [3637] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1170),
+  [3639] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1181),
+  [3641] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1188),
+  [3643] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1195),
+  [3645] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1201),
+  [3647] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1207),
+  [3649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
+  [3651] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1212),
+  [3653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1256),
+  [3655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1293),
+  [3657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
+  [3659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1291),
+  [3661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1348),
+  [3663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448),
+  [3665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
+  [3667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1360),
+  [3669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1336),
+  [3671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438),
+  [3673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
+  [3675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443),
+  [3677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
+  [3679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(446),
+  [3681] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1289),
+  [3683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 2, 0, 34),
+  [3685] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 2, 0, 34),
+  [3687] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_declarator, 2, 0, 34),
+  [3689] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1289),
+  [3692] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat1, 2, 0, 0),
+  [3694] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1985),
+  [3697] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat1, 2, 0, 0),
+  [3699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_declarator, 3, 0, 34),
+  [3701] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 3, 0, 34),
+  [3703] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 3, 0, 34),
+  [3705] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_declaration_declarator, 3, 0, 34),
+  [3707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 4, 0, 34),
+  [3709] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 4, 0, 34),
+  [3711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(870),
+  [3713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(858),
+  [3715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0),
+  [3717] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0),
+  [3719] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1694),
+  [3722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(809),
+  [3724] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat1, 1, 0, 0),
+  [3726] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat1, 1, 0, 0),
+  [3728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1417),
+  [3730] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 3, 0, 42),
+  [3732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1517),
+  [3734] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1172),
+  [3736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1895),
+  [3738] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 2, 0, 17),
+  [3740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1476),
+  [3742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1493),
+  [3744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_declarator, 2, 0, 0),
+  [3746] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_declarator, 2, 0, 0),
+  [3748] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 4, 0, 0),
+  [3750] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4, 0, 0),
+  [3752] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 3, 1, 61),
+  [3754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(633),
+  [3756] = {.entry = {.count = 1, .reusable = false}}, SHIFT(424),
+  [3758] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_declarator, 3, 1, 61),
+  [3760] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 5, 1, 111),
+  [3762] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_declarator, 5, 1, 111),
+  [3764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 4, 1, 90),
+  [3766] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_declarator, 4, 1, 90),
+  [3768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 2, 1, 32),
+  [3770] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_declarator, 2, 1, 32),
+  [3772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1361),
+  [3774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declaration_declarator, 1, 0, 22),
+  [3776] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declaration_declarator, 1, 0, 22),
+  [3778] = {.entry = {.count = 1, .reusable = false}}, SHIFT(422),
+  [3780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(517),
+  [3782] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 5, 0, 113),
+  [3784] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 5, 0, 113),
+  [3786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_declarator, 3, -10, 0),
+  [3788] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_declarator, 3, -10, 0),
+  [3790] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 4, 0, 93),
+  [3792] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 4, 0, 93),
+  [3794] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declarator, 1, 0, 0),
+  [3796] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declarator, 1, 0, 0),
+  [3798] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 1, 0, 0),
+  [3800] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 1, 0, 0), REDUCE(aux_sym_function_declarator_repeat1, 1, 0, 0),
+  [3803] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 1, 0, 0),
+  [3805] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 4, 0, 22),
+  [3807] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 4, 0, 22),
+  [3809] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_declarator, 4, -10, 0),
+  [3811] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_declarator, 4, -10, 0),
+  [3813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1675),
+  [3815] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1199),
+  [3817] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1785),
+  [3819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(757),
+  [3821] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 3, 0, 22),
+  [3823] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 3, 0, 22),
+  [3825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(773),
+  [3827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 5, 1, 111),
+  [3829] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_field_declarator, 5, 1, 111),
+  [3831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 4, 1, 90),
+  [3833] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_field_declarator, 4, 1, 90),
+  [3835] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 3, 1, 61),
+  [3837] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_field_declarator, 3, 1, 61),
+  [3839] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 2, 0, 32),
+  [3841] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 2, 0, 32),
+  [3843] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 2, 0, 35),
+  [3845] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 2, 1, 32),
+  [3847] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_field_declarator, 2, 1, 32),
+  [3849] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1479),
+  [3851] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_clobber_list, 1, 0, 0),
+  [3853] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 4, 0, 42),
+  [3855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1534),
+  [3857] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1174),
+  [3859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1889),
+  [3861] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1675),
+  [3864] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1175),
+  [3867] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1904),
+  [3870] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1709),
+  [3873] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0),
+  [3875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 2, 1, 32),
+  [3877] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_type_declarator, 2, 1, 32),
+  [3879] = {.entry = {.count = 1, .reusable = false}}, SHIFT(420),
+  [3881] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 3, 0, 42),
+  [3883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1550),
+  [3885] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1179),
+  [3887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1932),
+  [3889] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 5, 1, 111),
+  [3891] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_type_declarator, 5, 1, 111),
+  [3893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1483),
+  [3895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1949),
+  [3897] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 3, 0, 17),
+  [3899] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 3, 0, 17),
+  [3901] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 3, 1, 61),
+  [3903] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_type_declarator, 3, 1, 61),
+  [3905] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 2, 0, 17),
+  [3907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1490),
+  [3909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1496),
+  [3911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1288),
+  [3913] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_declarators, 1, 0, 22),
+  [3915] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_declarators, 1, 0, 22),
+  [3917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1488),
+  [3919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1912),
+  [3921] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 4, 1, 90),
+  [3923] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_type_declarator, 4, 1, 90),
+  [3925] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 4, 0, 42),
+  [3927] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_field_declarator, 2, 0, 0),
+  [3929] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_field_declarator, 2, 0, 0),
+  [3931] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__type_definition_declarators_repeat1, 2, 0, 32),
+  [3933] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__type_definition_declarators_repeat1, 2, 0, 32),
+  [3935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand_list, 1, 0, 0),
+  [3937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1852),
+  [3939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(632),
+  [3941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463),
+  [3943] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_type_declarator, 2, 0, 0),
+  [3945] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_type_declarator, 2, 0, 0),
+  [3947] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 2, 0, 0),
+  [3949] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1985),
+  [3952] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1985),
+  [3955] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 2, 0, 0),
+  [3957] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand_list, 1, 0, 0),
+  [3959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1956),
+  [3961] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_declarator, 1, 0, 0),
+  [3963] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_declarator, 1, 0, 0),
+  [3965] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1655),
+  [3967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1537),
+  [3969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1861),
+  [3971] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_declarator, 4, 0, 34),
+  [3973] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_declaration_declarator, 4, 0, 34),
+  [3975] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 5, 0, 113),
+  [3977] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 5, 0, 113),
+  [3979] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 3, 0, 22),
+  [3981] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 3, 0, 22),
+  [3983] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_field_declarator, 3, -10, 0),
+  [3985] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_field_declarator, 3, -10, 0),
+  [3987] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1684),
+  [3989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1989),
+  [3991] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_field_declarator, 4, -10, 0),
+  [3993] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_field_declarator, 4, -10, 0),
+  [3995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429),
+  [3997] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1578),
+  [3999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1879),
+  [4001] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declarator, 1, 0, 53),
+  [4003] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declarator, 1, 0, 53),
+  [4005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declarator, 1, 0, 0),
+  [4007] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declarator, 1, 0, 0),
+  [4009] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 4, 0, 93),
+  [4011] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 4, 0, 93),
+  [4013] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1614),
+  [4015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1817),
+  [4017] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 4, 0, 22),
+  [4019] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 4, 0, 22),
+  [4021] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_field_declarator, 2, 0, 34),
+  [4023] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_field_declarator, 2, 0, 34),
+  [4025] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 4, 0, 22),
+  [4027] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 4, 0, 22),
+  [4029] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_type_declarator, 4, -10, 0),
+  [4031] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_type_declarator, 4, -10, 0),
+  [4033] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type_declarator, 2, 0, 34),
+  [4035] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type_declarator, 2, 0, 34),
+  [4037] = {.entry = {.count = 1, .reusable = false}}, SHIFT(711),
+  [4039] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 4, 0, 93),
+  [4041] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 4, 0, 93),
+  [4043] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1675),
+  [4046] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_repeat1, 2, 0, 0),
+  [4048] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_repeat1, 2, 0, 0),
+  [4050] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator, 1, 0, 6),
+  [4052] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator, 1, 0, 6),
+  [4054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(512),
+  [4056] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 2, 1, 32),
+  [4058] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_pointer_declarator, 2, 1, 32),
+  [4060] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 5, 0, 113),
+  [4062] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 5, 0, 113),
+  [4064] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1, 0, 0),
+  [4066] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1, 0, 0),
+  [4068] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1, 0, 1),
+  [4070] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1, 0, 1),
+  [4072] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1, 0, 21),
+  [4074] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1, 0, 21),
+  [4076] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_type_declarator, 3, -10, 0),
+  [4078] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_type_declarator, 3, -10, 0),
+  [4080] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 2, 0, 0), SHIFT_REPEAT(1417),
+  [4083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 2, 0, 0),
+  [4085] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 2, 0, 0),
+  [4087] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 4, 1, 90),
+  [4089] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_pointer_declarator, 4, 1, 90),
+  [4091] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 3, 1, 61),
+  [4093] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_pointer_declarator, 3, 1, 61),
+  [4095] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 3, 0, 22),
+  [4097] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 3, 0, 22),
+  [4099] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 2, 0, 0),
+  [4101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 2, 0, 0),
+  [4103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, 0, 22),
+  [4105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 4, 0, 22),
+  [4107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1426),
+  [4109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1388),
+  [4111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1156),
+  [4113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231),
+  [4115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1466),
+  [4117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1386),
+  [4119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1521),
+  [4121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 1, 0, 20),
+  [4123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_function_declarator, 1, 0, 20),
+  [4125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1315),
+  [4127] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2, 0, 0), SHIFT_REPEAT(540),
+  [4130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2, 0, 0),
+  [4132] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2, 0, 0), SHIFT_REPEAT(1920),
+  [4135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
+  [4137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228),
+  [4139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 5, 0, 113),
+  [4141] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 5, 0, 113),
+  [4143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91),
+  [4145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_parenthesized_declarator, 3, 0, 0),
+  [4147] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_parenthesized_declarator, 3, 0, 0),
+  [4149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_expression_repeat1, 2, 0, 0),
+  [4151] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(1521),
+  [4154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3, 0, 0),
+  [4156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 3, 0, 0),
+  [4158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3, 0, 22),
+  [4160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 3, 0, 22),
+  [4162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(918),
+  [4164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1305),
+  [4166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(928),
+  [4168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474),
+  [4170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1920),
+  [4172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(949),
+  [4174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(948),
+  [4176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210),
+  [4178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212),
+  [4180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1409),
+  [4182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151),
+  [4184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 1, 0, 0),
+  [4186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1487),
+  [4188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 1, 0, 0),
+  [4190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_parenthesized_declarator, 4, 0, 0),
+  [4192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_parenthesized_declarator, 4, 0, 0),
+  [4194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 2, 0, 34),
+  [4196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_function_declarator, 2, 0, 34),
+  [4198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1377),
+  [4200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__abstract_declarator, 1, 0, 0),
+  [4202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__abstract_declarator, 1, 0, 0),
+  [4204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200),
+  [4206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1384),
+  [4208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, 0, 99),
+  [4210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 4, 0, 99),
+  [4212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, 0, 93),
+  [4214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 4, 0, 93),
+  [4216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3, 0, 75),
+  [4218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 3, 0, 75),
+  [4220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, 0, 48),
+  [4222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 3, 0, 94),
+  [4224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 4, 0, 42),
+  [4226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 4, 0, 42),
+  [4228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 2, 0, 44),
+  [4230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 6, 0, 98),
+  [4232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 6, 0, 98),
+  [4234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 73),
+  [4236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 73),
+  [4238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 42),
+  [4240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 42),
+  [4242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 4, 0, 76),
+  [4244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 43),
+  [4246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 43),
+  [4248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, 0, 19),
+  [4250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 17),
+  [4252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 17),
+  [4254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 5, 0, 74),
+  [4256] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 5, 0, 74),
+  [4258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 3, 0, 17),
+  [4260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 3, 0, 17),
+  [4262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 3, 0, 35),
+  [4264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, 0, 32),
+  [4266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, 0, 45),
+  [4268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0),
+  [4270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197),
+  [4272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246),
+  [4274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221),
+  [4276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208),
+  [4278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88),
+  [4280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103),
+  [4282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154),
+  [4284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declaration_declarator, 3, 0, 102),
+  [4286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declaration_declarator, 3, 0, 102),
+  [4288] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 2, 0, 66), SHIFT_REPEAT(1361),
+  [4291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 2, 0, 66),
+  [4293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 2, 0, 66),
+  [4295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237),
+  [4297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174),
+  [4299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240),
+  [4301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(721),
+  [4303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_declarator, 1, 0, 11),
+  [4305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_declarator, 1, 0, 11),
+  [4307] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__type_definition_declarators_repeat1, 2, 0, 66), SHIFT_REPEAT(1288),
+  [4310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__type_definition_declarators_repeat1, 2, 0, 66),
+  [4312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__type_definition_declarators_repeat1, 2, 0, 66),
+  [4314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238),
+  [4316] = {.entry = {.count = 1, .reusable = false}}, SHIFT(712),
+  [4318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, 0, 6),
+  [4320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1855),
+  [4322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list, 1, 0, 0),
+  [4324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_declarators, 2, 0, 50),
+  [4326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_declarators, 2, 0, 50),
+  [4328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95),
+  [4330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96),
+  [4332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_qualifier, 1, 0, 0),
+  [4334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202),
+  [4336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255),
+  [4338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declaration_declarator, 2, 0, 22),
+  [4340] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declaration_declarator, 2, 0, 22),
+  [4342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203),
+  [4344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declaration_declarator, 2, 0, 50),
+  [4346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declaration_declarator, 2, 0, 50),
+  [4348] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1168),
+  [4350] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1557),
+  [4352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(886),
+  [4354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1589),
+  [4356] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1820),
+  [4358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list, 2, 0, 0),
+  [4360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1385),
+  [4362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_clobber_list, 3, 0, 123),
+  [4364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(663),
+  [4366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(814),
+  [4368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1419),
+  [4370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand_list, 2, 0, 87),
+  [4372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(888),
+  [4374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list_no_comma, 2, 0, 0),
+  [4376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, 0, 51),
+  [4378] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1827),
+  [4380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1554),
+  [4382] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1554),
+  [4384] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_clobber_list_repeat1, 2, 0, 128), SHIFT_REPEAT(1385),
+  [4387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_clobber_list_repeat1, 2, 0, 128),
+  [4389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1763),
+  [4391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1687),
+  [4393] = {.entry = {.count = 1, .reusable = false}}, SHIFT(642),
+  [4395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1570),
+  [4397] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1570),
+  [4399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259),
+  [4401] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2021),
+  [4403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1738),
+  [4405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1765),
+  [4407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(856),
+  [4409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1737),
+  [4411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1739),
+  [4413] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_input_operand_list_repeat1, 2, 0, 118), SHIFT_REPEAT(1431),
+  [4416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_input_operand_list_repeat1, 2, 0, 118),
+  [4418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1753),
+  [4420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1741),
+  [4422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1464),
+  [4424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1762),
+  [4426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1704),
+  [4428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand_list, 3, 0, 108),
+  [4430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list_no_comma, 1, 0, 0),
+  [4432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1431),
+  [4434] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand_list, 2, 0, 87),
+  [4436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 3, 0, 32),
+  [4438] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 3, 0, 32),
+  [4440] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1243),
+  [4442] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1868),
+  [4444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1565),
+  [4446] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1565),
+  [4448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1449),
+  [4450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369),
+  [4452] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2006),
+  [4454] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_char_literal_repeat1, 2, 0, 0),
+  [4456] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_char_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(1557),
+  [4459] = {.entry = {.count = 1, .reusable = false}}, SHIFT(846),
+  [4461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1569),
+  [4463] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1569),
+  [4465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142),
+  [4467] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1881),
+  [4469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310),
+  [4471] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1787),
+  [4473] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_output_operand_list_repeat1, 2, 0, 118), SHIFT_REPEAT(1419),
+  [4476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_output_operand_list_repeat1, 2, 0, 118),
+  [4478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(865),
+  [4480] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1898),
+  [4482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand_list, 3, 0, 108),
+  [4484] = {.entry = {.count = 1, .reusable = false}}, SHIFT(684),
+  [4486] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0),
+  [4488] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(1565),
+  [4491] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(1565),
+  [4494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_clobber_list, 2, 0, 119),
+  [4496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(803),
+  [4498] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1806),
+  [4500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(784),
+  [4502] = {.entry = {.count = 1, .reusable = false}}, SHIFT(849),
+  [4504] = {.entry = {.count = 1, .reusable = false}}, SHIFT(638),
+  [4506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254),
+  [4508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(706),
+  [4510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1155),
+  [4512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(640),
+  [4514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1331),
+  [4516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand, 7, 0, 132),
+  [4518] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_generic_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(1002),
+  [4521] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_generic_expression_repeat1, 2, 0, 0),
+  [4523] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_params_repeat1, 2, 0, 0), SHIFT_REPEAT(1756),
+  [4526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_params_repeat1, 2, 0, 0),
+  [4528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141),
+  [4530] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1164),
+  [4532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(635),
+  [4534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1372),
+  [4536] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__old_style_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1588),
+  [4539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_style_parameter_list_repeat1, 2, 0, 0),
+  [4541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1728),
+  [4543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(730),
+  [4545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1942),
+  [4547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(668),
+  [4549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1756),
+  [4551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1755),
+  [4553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand, 4, 0, 122),
+  [4555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87),
+  [4557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(681),
+  [4559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1695),
+  [4561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1685),
+  [4563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1731),
+  [4565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(726),
+  [4567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand, 4, 0, 122),
+  [4569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92),
+  [4571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93),
+  [4573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94),
+  [4575] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_designator, 3, 0, 0),
+  [4577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403),
+  [4579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235),
+  [4581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(643),
+  [4583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1364),
+  [4585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_input_operand_list_repeat1, 2, 0, 87),
+  [4587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100),
+  [4589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101),
+  [4591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102),
+  [4593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(665),
+  [4595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1290),
+  [4597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(999),
+  [4599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_clobber_list_repeat1, 2, 0, 119),
+  [4601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105),
+  [4603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1298),
+  [4605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(636),
+  [4607] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_list_repeat1, 2, 0, 0), SHIFT_REPEAT(451),
+  [4610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(723),
+  [4612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(721),
+  [4614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1969),
+  [4616] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_goto_list, 3, 0, 129),
+  [4618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152),
+  [4620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289),
+  [4622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153),
+  [4624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(645),
+  [4626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(925),
+  [4628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162),
+  [4630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1249),
+  [4632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(926),
+  [4634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232),
+  [4636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229),
+  [4638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(929),
+  [4640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(930),
+  [4642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(919),
+  [4644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166),
+  [4646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_goto_list, 2, 0, 124),
+  [4648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(920),
+  [4650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(921),
+  [4652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_designator, 2, 0, 100),
+  [4654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233),
+  [4656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(924),
+  [4658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156),
+  [4660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(947),
+  [4662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(717),
+  [4664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(937),
+  [4666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(938),
+  [4668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(939),
+  [4670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(941),
+  [4672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(942),
+  [4674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(943),
+  [4676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(944),
+  [4678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211),
+  [4680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213),
+  [4682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214),
+  [4684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215),
+  [4686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216),
+  [4688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217),
+  [4690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218),
+  [4692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219),
+  [4694] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1553),
+  [4696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234),
+  [4698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1020),
+  [4700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258),
+  [4702] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(1728),
+  [4705] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_declaration_repeat1, 2, 0, 0),
+  [4707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402),
+  [4709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247),
+  [4711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248),
+  [4713] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(465),
+  [4716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(670),
+  [4718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171),
+  [4720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249),
+  [4722] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1527),
+  [4724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1588),
+  [4726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(940),
+  [4728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(634),
+  [4730] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_goto_list_repeat1, 2, 0, 131), SHIFT_REPEAT(1969),
+  [4733] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_goto_list_repeat1, 2, 0, 131),
+  [4735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450),
+  [4737] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1193),
+  [4740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201),
+  [4742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_range_designator, 5, 0, 127),
+  [4744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(520),
+  [4746] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(665),
+  [4749] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0),
+  [4751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_output_operand_list_repeat1, 2, 0, 87),
+  [4753] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, 0, 66), SHIFT_REPEAT(1156),
+  [4756] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, 0, 66),
+  [4758] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1564),
+  [4760] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand, 7, 0, 132),
+  [4762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(818),
+  [4764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(639),
+  [4766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1771),
+  [4768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(644),
+  [4770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367),
+  [4772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1764),
+  [4774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(922),
+  [4776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461),
+  [4778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(863),
+  [4780] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1830),
+  [4782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330),
+  [4784] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1808),
+  [4786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460),
+  [4788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1516),
+  [4790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1498),
+  [4792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(775),
+  [4794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121),
+  [4796] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1844),
+  [4798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(871),
+  [4800] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1955),
+  [4802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131),
+  [4804] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1784),
+  [4806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309),
+  [4808] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1783),
+  [4810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313),
+  [4812] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1794),
+  [4814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266),
+  [4816] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1786),
+  [4818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285),
+  [4820] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1948),
+  [4822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(802),
+  [4824] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1803),
+  [4826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(807),
+  [4828] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1812),
+  [4830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(859),
+  [4832] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1819),
+  [4834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(852),
+  [4836] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1822),
+  [4838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315),
+  [4840] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1882),
+  [4842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 2, 0, 6),
+  [4844] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_params, 2, 0, 0),
+  [4846] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 2, 0, 0),
+  [4848] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_goto_list_repeat1, 2, 0, 124),
+  [4850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1218),
+  [4852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1867),
+  [4854] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), REDUCE(aux_sym__old_style_parameter_list_repeat1, 2, 0, 0),
+  [4857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1234),
+  [4859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1799),
+  [4861] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_params, 4, 0, 0),
+  [4863] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 4, 0, 0),
+  [4865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1769),
+  [4867] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_parameter, 1, 0, 0),
+  [4869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_params, 3, 0, 0),
+  [4871] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 3, 0, 0),
+  [4873] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 4, 0, 114),
+  [4875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1628),
+  [4877] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_goto_list, 1, 0, 0),
+  [4879] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 4, 0, 51),
+  [4881] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 5, 0, 98),
+  [4883] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 4, 0, 74),
+  [4885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(885),
+  [4887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401),
+  [4889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(861),
+  [4891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58),
+  [4893] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list_no_comma, 4, 0, 43),
+  [4895] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 4, 0, 74),
+  [4897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311),
+  [4899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145),
+  [4901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1294),
+  [4903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278),
+  [4905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312),
+  [4907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(862),
+  [4909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318),
+  [4911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(466),
+  [4913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112),
+  [4915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef, 3, 0, 43),
+  [4917] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif, 4, 0, 73),
+  [4919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314),
+  [4921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1190),
+  [4923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279),
+  [4925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
+  [4927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1823),
+  [4929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183),
+  [4931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(805),
+  [4933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(790),
+  [4935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef, 4, 0, 74),
+  [4937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(806),
+  [4939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184),
+  [4941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346),
+  [4943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67),
+  [4945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(917),
+  [4947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(687),
+  [4949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(808),
+  [4951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281),
+  [4953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113),
+  [4955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341),
+  [4957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470),
+  [4959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(794),
+  [4961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(889),
+  [4963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(851),
+  [4965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(685),
+  [4967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(857),
+  [4969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1245),
+  [4971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1541),
+  [4973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
+  [4975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2001),
+  [4977] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 5, 0, 98),
+  [4979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(866),
+  [4981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(795),
+  [4983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469),
+  [4985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1941),
+  [4987] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 3, 0, 43),
+  [4989] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 3, 0, 43),
+  [4991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322),
+  [4993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482),
+  [4995] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_based_modifier, 2, 0, 0),
+  [4997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1716),
+  [4999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(542),
+  [5001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133),
+  [5003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(767),
+  [5005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347),
+  [5007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52),
+  [5009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186),
+  [5011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(666),
+  [5013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(521),
+  [5015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164),
+  [5017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1943),
+  [5019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1869),
+  [5021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165),
+  [5023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1536),
+  [5025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273),
+  [5027] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list_no_comma, 5, 0, 74),
+  [5029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84),
+  [5031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1003),
+  [5033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134),
+  [5035] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list_no_comma, 5, 0, 73),
+  [5037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1796),
+  [5039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1880),
+  [5041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1480),
+  [5043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432),
+  [5045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195),
+  [5047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354),
+  [5049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417),
+  [5051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136),
+  [5053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1556),
+  [5055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51),
+  [5057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(715),
+  [5059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147),
+  [5061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261),
+  [5063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(811),
+  [5065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(867),
+  [5067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(488),
+  [5069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1344),
+  [5071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
+  [5073] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 3, 0, 43),
+  [5075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1007),
+  [5077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360),
+  [5079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335),
+  [5081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1292),
+  [5083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1485),
+  [5085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1781),
+  [5087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(892),
+  [5089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1489),
+  [5091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1022),
+  [5093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118),
+  [5095] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 5, 0, 98),
+  [5097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1347),
+  [5099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(883),
+  [5101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168),
+  [5103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175),
+  [5105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list_no_comma, 4, 0, 17),
+  [5107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1559),
+  [5109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14),
+  [5111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
+  [5113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295),
+  [5115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236),
+  [5117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317),
+  [5119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1631),
+  [5121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(855),
+  [5123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1863),
+  [5125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126),
+  [5127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1482),
+  [5129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1866),
+  [5131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405),
+  [5133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(882),
+  [5135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252),
+  [5137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441),
+  [5139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1346),
+  [5141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226),
+  [5143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1859),
+  [5145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442),
+  [5147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325),
+  [5149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371),
+  [5151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437),
+  [5153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191),
+  [5155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1497),
+  [5157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98),
+  [5159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1562),
+  [5161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
+  [5163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(860),
+  [5165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257),
+  [5167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list_no_comma, 5, 0, 42),
+  [5169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1873),
+  [5171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(534),
+  [5173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(962),
+  [5175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2010),
+  [5177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(874),
+  [5179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1982),
+  [5181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302),
+  [5183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158),
+  [5185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(844),
+  [5187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(637),
+  [5189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304),
+  [5191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(507),
+  [5193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1560),
+  [5195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(954),
+  [5197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(677),
+  [5199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1733),
+  [5201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1567),
+  [5203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1528),
+  [5205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(786),
+  [5207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(612),
+  [5209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125),
+  [5211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400),
+  [5213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79),
+  [5215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(890),
+  [5217] = {.entry = {.count = 1, .reusable = true}},  ACCEPT_INPUT(),
+  [5219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1477),
+  [5221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(479),
+  [5223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245),
+  [5225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1715),
+  [5227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 4, 0, 74),
+  [5229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268),
+  [5231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1735),
+  [5233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206),
+  [5235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(511),
+  [5237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(963),
+  [5239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 4, 0, 73),
+  [5241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404),
+  [5243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359),
+  [5245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1933),
+  [5247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(641),
+  [5249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76),
+  [5251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1968),
+  [5253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1752),
+  [5255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(873),
+  [5257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329),
+  [5259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390),
+  [5261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(881),
+  [5263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308),
+  [5265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list_no_comma, 6, 0, 98),
+  [5267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1760),
+  [5269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 4, 0, 73),
+  [5271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(887),
+  [5273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 4, 0, 73),
+  [5275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
+  [5277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif, 5, 0, 98),
+  [5279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(789),
+  [5281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
+  [5283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(557),
+  [5285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265),
+  [5287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77),
 };
 
 #ifdef __cplusplus