summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmaan Qureshi <amaanq12@gmail.com>2023-07-24 05:15:57 -0400
committerAmaan Qureshi <amaanq12@gmail.com>2023-07-24 05:23:35 -0400
commit0cc26b0e3b661038d35f5b723ab43bfd5148e143 (patch)
treebe979c41043757d772d89c355c24b27e581c4eee
parent7b8332686eb864186b2cb6c1fe2909c96995fcd1 (diff)
chore: generate
-rw-r--r--src/grammar.json38
-rw-r--r--src/parser.c52292
2 files changed, 26259 insertions, 26071 deletions
diff --git a/src/grammar.json b/src/grammar.json
index 4458d5a0c..54dde9d96 100644
--- a/src/grammar.json
+++ b/src/grammar.json
@@ -166,8 +166,11 @@
}
},
{
- "type": "STRING",
- "value": "\n"
+ "type": "IMMEDIATE_TOKEN",
+ "content": {
+ "type": "PATTERN",
+ "value": "\\r?\\n"
+ }
}
]
},
@@ -208,8 +211,11 @@
}
},
{
- "type": "STRING",
- "value": "\n"
+ "type": "IMMEDIATE_TOKEN",
+ "content": {
+ "type": "PATTERN",
+ "value": "\\r?\\n"
+ }
}
]
},
@@ -258,8 +264,11 @@
}
},
{
- "type": "STRING",
- "value": "\n"
+ "type": "IMMEDIATE_TOKEN",
+ "content": {
+ "type": "PATTERN",
+ "value": "\\r?\\n"
+ }
}
]
},
@@ -358,8 +367,11 @@
}
},
{
- "type": "STRING",
- "value": "\n"
+ "type": "IMMEDIATE_TOKEN",
+ "content": {
+ "type": "PATTERN",
+ "value": "\\r?\\n"
+ }
}
]
},
@@ -1010,7 +1022,7 @@
"value": -1,
"content": {
"type": "PATTERN",
- "value": "\\S(.|\\\\\\r?\\n)*"
+ "value": "\\S([^/\\n]|\\\\\\r?\\n)*"
}
}
},
@@ -4954,7 +4966,7 @@
},
"conditional_expression": {
"type": "PREC_RIGHT",
- "value": -2,
+ "value": -1,
"content": {
"type": "SEQ",
"members": [
@@ -5032,7 +5044,7 @@
},
"assignment_expression": {
"type": "PREC_RIGHT",
- "value": -1,
+ "value": -2,
"content": {
"type": "SEQ",
"members": [
@@ -7779,8 +7791,8 @@
],
"PREC": {
"PAREN_DECLARATOR": -10,
- "ASSIGNMENT": -1,
- "CONDITIONAL": -2,
+ "ASSIGNMENT": -2,
+ "CONDITIONAL": -1,
"DEFAULT": 0,
"LOGICAL_OR": 1,
"LOGICAL_AND": 2,
diff --git a/src/parser.c b/src/parser.c
index ef428a4d5..f93445904 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -6,11 +6,11 @@
#endif
#define LANGUAGE_VERSION 14
-#define STATE_COUNT 2005
+#define STATE_COUNT 2012
#define LARGE_STATE_COUNT 530
-#define SYMBOL_COUNT 300
+#define SYMBOL_COUNT 301
#define ALIAS_COUNT 3
-#define TOKEN_COUNT 140
+#define TOKEN_COUNT 141
#define EXTERNAL_TOKEN_COUNT 0
#define FIELD_COUNT 36
#define MAX_ALIAS_SEQUENCE_LENGTH 9
@@ -19,319 +19,321 @@
enum {
sym_identifier = 1,
aux_sym_preproc_include_token1 = 2,
- anon_sym_LF = 3,
+ aux_sym_preproc_include_token2 = 3,
aux_sym_preproc_def_token1 = 4,
anon_sym_LPAREN = 5,
anon_sym_DOT_DOT_DOT = 6,
anon_sym_COMMA = 7,
anon_sym_RPAREN = 8,
aux_sym_preproc_if_token1 = 9,
- aux_sym_preproc_if_token2 = 10,
- aux_sym_preproc_ifdef_token1 = 11,
- aux_sym_preproc_ifdef_token2 = 12,
- aux_sym_preproc_else_token1 = 13,
- aux_sym_preproc_elif_token1 = 14,
- aux_sym_preproc_elifdef_token1 = 15,
- aux_sym_preproc_elifdef_token2 = 16,
- sym_preproc_arg = 17,
- sym_preproc_directive = 18,
- anon_sym_LPAREN2 = 19,
- anon_sym_defined = 20,
- anon_sym_BANG = 21,
- anon_sym_TILDE = 22,
- anon_sym_DASH = 23,
- anon_sym_PLUS = 24,
- anon_sym_STAR = 25,
- anon_sym_SLASH = 26,
- anon_sym_PERCENT = 27,
- anon_sym_PIPE_PIPE = 28,
- anon_sym_AMP_AMP = 29,
- anon_sym_PIPE = 30,
- anon_sym_CARET = 31,
- anon_sym_AMP = 32,
- anon_sym_EQ_EQ = 33,
- anon_sym_BANG_EQ = 34,
- anon_sym_GT = 35,
- anon_sym_GT_EQ = 36,
- anon_sym_LT_EQ = 37,
- anon_sym_LT = 38,
- anon_sym_LT_LT = 39,
- anon_sym_GT_GT = 40,
- anon_sym_SEMI = 41,
- anon_sym_typedef = 42,
- anon_sym_extern = 43,
- anon_sym___attribute__ = 44,
- anon_sym_COLON_COLON = 45,
- anon_sym_LBRACK_LBRACK = 46,
- anon_sym_RBRACK_RBRACK = 47,
- anon_sym___declspec = 48,
- anon_sym___based = 49,
- anon_sym___cdecl = 50,
- anon_sym___clrcall = 51,
- anon_sym___stdcall = 52,
- anon_sym___fastcall = 53,
- anon_sym___thiscall = 54,
- anon_sym___vectorcall = 55,
- sym_ms_restrict_modifier = 56,
- sym_ms_unsigned_ptr_modifier = 57,
- sym_ms_signed_ptr_modifier = 58,
- anon_sym__unaligned = 59,
- anon_sym___unaligned = 60,
- anon_sym_LBRACE = 61,
- anon_sym_RBRACE = 62,
- anon_sym_signed = 63,
- anon_sym_unsigned = 64,
- anon_sym_long = 65,
- anon_sym_short = 66,
- anon_sym_LBRACK = 67,
- anon_sym_RBRACK = 68,
- anon_sym_EQ = 69,
- anon_sym_static = 70,
- anon_sym_auto = 71,
- anon_sym_register = 72,
- anon_sym_inline = 73,
- anon_sym_thread_local = 74,
- anon_sym_const = 75,
- anon_sym_constexpr = 76,
- anon_sym_volatile = 77,
- anon_sym_restrict = 78,
- anon_sym___restrict__ = 79,
- anon_sym__Atomic = 80,
- anon_sym__Noreturn = 81,
- anon_sym_noreturn = 82,
- sym_primitive_type = 83,
- anon_sym_enum = 84,
- anon_sym_COLON = 85,
- anon_sym_struct = 86,
- anon_sym_union = 87,
- anon_sym_if = 88,
- anon_sym_else = 89,
- anon_sym_switch = 90,
- anon_sym_case = 91,
- anon_sym_default = 92,
- anon_sym_while = 93,
- anon_sym_do = 94,
- anon_sym_for = 95,
- anon_sym_return = 96,
- anon_sym_break = 97,
- anon_sym_continue = 98,
- anon_sym_goto = 99,
- anon_sym_QMARK = 100,
- anon_sym_STAR_EQ = 101,
- anon_sym_SLASH_EQ = 102,
- anon_sym_PERCENT_EQ = 103,
- anon_sym_PLUS_EQ = 104,
- anon_sym_DASH_EQ = 105,
- anon_sym_LT_LT_EQ = 106,
- anon_sym_GT_GT_EQ = 107,
- anon_sym_AMP_EQ = 108,
- anon_sym_CARET_EQ = 109,
- anon_sym_PIPE_EQ = 110,
- anon_sym_DASH_DASH = 111,
- anon_sym_PLUS_PLUS = 112,
- anon_sym_sizeof = 113,
- anon_sym_offsetof = 114,
- anon_sym__Generic = 115,
- anon_sym_asm = 116,
- anon_sym___asm__ = 117,
- anon_sym_DOT = 118,
- anon_sym_DASH_GT = 119,
- sym_number_literal = 120,
- anon_sym_L_SQUOTE = 121,
- anon_sym_u_SQUOTE = 122,
- anon_sym_U_SQUOTE = 123,
- anon_sym_u8_SQUOTE = 124,
- anon_sym_SQUOTE = 125,
- aux_sym_char_literal_token1 = 126,
- anon_sym_L_DQUOTE = 127,
- anon_sym_u_DQUOTE = 128,
- anon_sym_U_DQUOTE = 129,
- anon_sym_u8_DQUOTE = 130,
- anon_sym_DQUOTE = 131,
- aux_sym_string_literal_token1 = 132,
- sym_escape_sequence = 133,
- sym_system_lib_string = 134,
- sym_true = 135,
- sym_false = 136,
- anon_sym_NULL = 137,
- anon_sym_nullptr = 138,
- sym_comment = 139,
- sym_translation_unit = 140,
- sym_preproc_include = 141,
- sym_preproc_def = 142,
- sym_preproc_function_def = 143,
- sym_preproc_params = 144,
- sym_preproc_call = 145,
- sym_preproc_if = 146,
- sym_preproc_ifdef = 147,
- sym_preproc_else = 148,
- sym_preproc_elif = 149,
- sym_preproc_elifdef = 150,
- sym_preproc_if_in_field_declaration_list = 151,
- sym_preproc_ifdef_in_field_declaration_list = 152,
- sym_preproc_else_in_field_declaration_list = 153,
- sym_preproc_elif_in_field_declaration_list = 154,
- sym__preproc_expression = 155,
- sym_preproc_parenthesized_expression = 156,
- sym_preproc_defined = 157,
- sym_preproc_unary_expression = 158,
- sym_preproc_call_expression = 159,
- sym_preproc_argument_list = 160,
- sym_preproc_binary_expression = 161,
- sym_function_definition = 162,
- sym_declaration = 163,
- sym_type_definition = 164,
- sym__declaration_modifiers = 165,
- sym__declaration_specifiers = 166,
- sym_linkage_specification = 167,
- sym_attribute_specifier = 168,
- sym_attribute = 169,
- sym_attribute_declaration = 170,
- sym_ms_declspec_modifier = 171,
- sym_ms_based_modifier = 172,
- sym_ms_call_modifier = 173,
- sym_ms_unaligned_ptr_modifier = 174,
- sym_ms_pointer_modifier = 175,
- sym_declaration_list = 176,
- sym__declarator = 177,
- sym__field_declarator = 178,
- sym__type_declarator = 179,
- sym__abstract_declarator = 180,
- sym_parenthesized_declarator = 181,
- sym_parenthesized_field_declarator = 182,
- sym_parenthesized_type_declarator = 183,
- sym_abstract_parenthesized_declarator = 184,
- sym_attributed_declarator = 185,
- sym_attributed_field_declarator = 186,
- sym_attributed_type_declarator = 187,
- sym_pointer_declarator = 188,
- sym_pointer_field_declarator = 189,
- sym_pointer_type_declarator = 190,
- sym_abstract_pointer_declarator = 191,
- sym_function_declarator = 192,
- sym_function_field_declarator = 193,
- sym_function_type_declarator = 194,
- sym_abstract_function_declarator = 195,
- sym_array_declarator = 196,
- sym_array_field_declarator = 197,
- sym_array_type_declarator = 198,
- sym_abstract_array_declarator = 199,
- sym_init_declarator = 200,
- sym_compound_statement = 201,
- sym_storage_class_specifier = 202,
- sym_type_qualifier = 203,
- sym__type_specifier = 204,
- sym_sized_type_specifier = 205,
- sym_enum_specifier = 206,
- sym_enumerator_list = 207,
- sym_struct_specifier = 208,
- sym_union_specifier = 209,
- sym_field_declaration_list = 210,
- sym__field_declaration_list_item = 211,
- sym_field_declaration = 212,
- sym_bitfield_clause = 213,
- sym_enumerator = 214,
- sym_variadic_parameter = 215,
- sym_parameter_list = 216,
- sym_parameter_declaration = 217,
- sym_attributed_statement = 218,
- sym_labeled_statement = 219,
- sym__top_level_expression_statement = 220,
- sym_expression_statement = 221,
- sym_if_statement = 222,
- sym_else_clause = 223,
- sym_switch_statement = 224,
- sym_case_statement = 225,
- sym_while_statement = 226,
- sym_do_statement = 227,
- sym_for_statement = 228,
- sym_return_statement = 229,
- sym_break_statement = 230,
- sym_continue_statement = 231,
- sym_goto_statement = 232,
- sym__expression = 233,
- sym__expression_not_binary = 234,
- sym_comma_expression = 235,
- sym_conditional_expression = 236,
- sym_assignment_expression = 237,
- sym_pointer_expression = 238,
- sym_unary_expression = 239,
- sym_binary_expression = 240,
- sym_update_expression = 241,
- sym_cast_expression = 242,
- sym_type_descriptor = 243,
- sym_sizeof_expression = 244,
- sym_offsetof_expression = 245,
- sym_generic_expression = 246,
- sym_subscript_expression = 247,
- sym_call_expression = 248,
- sym_gnu_asm_expression = 249,
- sym_gnu_asm_qualifier = 250,
- sym_gnu_asm_output_operand_list = 251,
- sym_gnu_asm_output_operand = 252,
- sym_gnu_asm_input_operand_list = 253,
- sym_gnu_asm_input_operand = 254,
- sym_gnu_asm_clobber_list = 255,
- sym_gnu_asm_goto_list = 256,
- sym_argument_list = 257,
- sym_field_expression = 258,
- sym_compound_literal_expression = 259,
- sym_parenthesized_expression = 260,
- sym_initializer_list = 261,
- sym_initializer_pair = 262,
- sym_subscript_designator = 263,
- sym_field_designator = 264,
- sym_char_literal = 265,
- sym_concatenated_string = 266,
- sym_string_literal = 267,
- sym_null = 268,
- sym__empty_declaration = 269,
- sym_macro_type_specifier = 270,
- aux_sym_translation_unit_repeat1 = 271,
- aux_sym_preproc_params_repeat1 = 272,
- aux_sym_preproc_if_repeat1 = 273,
- aux_sym_preproc_if_in_field_declaration_list_repeat1 = 274,
- aux_sym_preproc_argument_list_repeat1 = 275,
- aux_sym_declaration_repeat1 = 276,
- aux_sym_type_definition_repeat1 = 277,
- aux_sym_type_definition_repeat2 = 278,
- aux_sym__declaration_specifiers_repeat1 = 279,
- aux_sym_attribute_declaration_repeat1 = 280,
- aux_sym_attributed_declarator_repeat1 = 281,
- aux_sym_pointer_declarator_repeat1 = 282,
- aux_sym_function_declarator_repeat1 = 283,
- aux_sym_sized_type_specifier_repeat1 = 284,
- aux_sym_enumerator_list_repeat1 = 285,
- aux_sym_field_declaration_repeat1 = 286,
- aux_sym_parameter_list_repeat1 = 287,
- aux_sym_case_statement_repeat1 = 288,
- aux_sym_generic_expression_repeat1 = 289,
- aux_sym_gnu_asm_expression_repeat1 = 290,
- aux_sym_gnu_asm_output_operand_list_repeat1 = 291,
- aux_sym_gnu_asm_input_operand_list_repeat1 = 292,
- aux_sym_gnu_asm_clobber_list_repeat1 = 293,
- aux_sym_gnu_asm_goto_list_repeat1 = 294,
- aux_sym_argument_list_repeat1 = 295,
- aux_sym_initializer_list_repeat1 = 296,
- aux_sym_initializer_pair_repeat1 = 297,
- aux_sym_concatenated_string_repeat1 = 298,
- aux_sym_string_literal_repeat1 = 299,
- alias_sym_field_identifier = 300,
- alias_sym_statement_identifier = 301,
- alias_sym_type_identifier = 302,
+ anon_sym_LF = 10,
+ aux_sym_preproc_if_token2 = 11,
+ aux_sym_preproc_ifdef_token1 = 12,
+ aux_sym_preproc_ifdef_token2 = 13,
+ aux_sym_preproc_else_token1 = 14,
+ aux_sym_preproc_elif_token1 = 15,
+ aux_sym_preproc_elifdef_token1 = 16,
+ aux_sym_preproc_elifdef_token2 = 17,
+ sym_preproc_arg = 18,
+ sym_preproc_directive = 19,
+ anon_sym_LPAREN2 = 20,
+ anon_sym_defined = 21,
+ anon_sym_BANG = 22,
+ anon_sym_TILDE = 23,
+ anon_sym_DASH = 24,
+ anon_sym_PLUS = 25,
+ anon_sym_STAR = 26,
+ anon_sym_SLASH = 27,
+ anon_sym_PERCENT = 28,
+ anon_sym_PIPE_PIPE = 29,
+ anon_sym_AMP_AMP = 30,
+ anon_sym_PIPE = 31,
+ anon_sym_CARET = 32,
+ anon_sym_AMP = 33,
+ anon_sym_EQ_EQ = 34,
+ anon_sym_BANG_EQ = 35,
+ anon_sym_GT = 36,
+ anon_sym_GT_EQ = 37,
+ anon_sym_LT_EQ = 38,
+ anon_sym_LT = 39,
+ anon_sym_LT_LT = 40,
+ anon_sym_GT_GT = 41,
+ anon_sym_SEMI = 42,
+ anon_sym_typedef = 43,
+ anon_sym_extern = 44,
+ anon_sym___attribute__ = 45,
+ anon_sym_COLON_COLON = 46,
+ anon_sym_LBRACK_LBRACK = 47,
+ anon_sym_RBRACK_RBRACK = 48,
+ anon_sym___declspec = 49,
+ anon_sym___based = 50,
+ anon_sym___cdecl = 51,
+ anon_sym___clrcall = 52,
+ anon_sym___stdcall = 53,
+ anon_sym___fastcall = 54,
+ anon_sym___thiscall = 55,
+ anon_sym___vectorcall = 56,
+ sym_ms_restrict_modifier = 57,
+ sym_ms_unsigned_ptr_modifier = 58,
+ sym_ms_signed_ptr_modifier = 59,
+ anon_sym__unaligned = 60,
+ anon_sym___unaligned = 61,
+ anon_sym_LBRACE = 62,
+ anon_sym_RBRACE = 63,
+ anon_sym_signed = 64,
+ anon_sym_unsigned = 65,
+ anon_sym_long = 66,
+ anon_sym_short = 67,
+ anon_sym_LBRACK = 68,
+ anon_sym_RBRACK = 69,
+ anon_sym_EQ = 70,
+ anon_sym_static = 71,
+ anon_sym_auto = 72,
+ anon_sym_register = 73,
+ anon_sym_inline = 74,
+ anon_sym_thread_local = 75,
+ anon_sym_const = 76,
+ anon_sym_constexpr = 77,
+ anon_sym_volatile = 78,
+ anon_sym_restrict = 79,
+ anon_sym___restrict__ = 80,
+ anon_sym__Atomic = 81,
+ anon_sym__Noreturn = 82,
+ anon_sym_noreturn = 83,
+ sym_primitive_type = 84,
+ anon_sym_enum = 85,
+ anon_sym_COLON = 86,
+ anon_sym_struct = 87,
+ anon_sym_union = 88,
+ anon_sym_if = 89,
+ anon_sym_else = 90,
+ anon_sym_switch = 91,
+ anon_sym_case = 92,
+ anon_sym_default = 93,
+ anon_sym_while = 94,
+ anon_sym_do = 95,
+ anon_sym_for = 96,
+ anon_sym_return = 97,
+ anon_sym_break = 98,
+ anon_sym_continue = 99,
+ anon_sym_goto = 100,
+ anon_sym_QMARK = 101,
+ anon_sym_STAR_EQ = 102,
+ anon_sym_SLASH_EQ = 103,
+ anon_sym_PERCENT_EQ = 104,
+ anon_sym_PLUS_EQ = 105,
+ anon_sym_DASH_EQ = 106,
+ anon_sym_LT_LT_EQ = 107,
+ anon_sym_GT_GT_EQ = 108,
+ anon_sym_AMP_EQ = 109,
+ anon_sym_CARET_EQ = 110,
+ anon_sym_PIPE_EQ = 111,
+ anon_sym_DASH_DASH = 112,
+ anon_sym_PLUS_PLUS = 113,
+ anon_sym_sizeof = 114,
+ anon_sym_offsetof = 115,
+ anon_sym__Generic = 116,
+ anon_sym_asm = 117,
+ anon_sym___asm__ = 118,
+ anon_sym_DOT = 119,
+ anon_sym_DASH_GT = 120,
+ sym_number_literal = 121,
+ anon_sym_L_SQUOTE = 122,
+ anon_sym_u_SQUOTE = 123,
+ anon_sym_U_SQUOTE = 124,
+ anon_sym_u8_SQUOTE = 125,
+ anon_sym_SQUOTE = 126,
+ aux_sym_char_literal_token1 = 127,
+ anon_sym_L_DQUOTE = 128,
+ anon_sym_u_DQUOTE = 129,
+ anon_sym_U_DQUOTE = 130,
+ anon_sym_u8_DQUOTE = 131,
+ anon_sym_DQUOTE = 132,
+ aux_sym_string_literal_token1 = 133,
+ sym_escape_sequence = 134,
+ sym_system_lib_string = 135,
+ sym_true = 136,
+ sym_false = 137,
+ anon_sym_NULL = 138,
+ anon_sym_nullptr = 139,
+ sym_comment = 140,
+ sym_translation_unit = 141,
+ sym_preproc_include = 142,
+ sym_preproc_def = 143,
+ sym_preproc_function_def = 144,
+ sym_preproc_params = 145,
+ sym_preproc_call = 146,
+ sym_preproc_if = 147,
+ sym_preproc_ifdef = 148,
+ sym_preproc_else = 149,
+ sym_preproc_elif = 150,
+ sym_preproc_elifdef = 151,
+ sym_preproc_if_in_field_declaration_list = 152,
+ sym_preproc_ifdef_in_field_declaration_list = 153,
+ sym_preproc_else_in_field_declaration_list = 154,
+ sym_preproc_elif_in_field_declaration_list = 155,
+ sym__preproc_expression = 156,
+ sym_preproc_parenthesized_expression = 157,
+ sym_preproc_defined = 158,
+ sym_preproc_unary_expression = 159,
+ sym_preproc_call_expression = 160,
+ sym_preproc_argument_list = 161,
+ sym_preproc_binary_expression = 162,
+ sym_function_definition = 163,
+ sym_declaration = 164,
+ sym_type_definition = 165,
+ sym__declaration_modifiers = 166,
+ sym__declaration_specifiers = 167,
+ sym_linkage_specification = 168,
+ sym_attribute_specifier = 169,
+ sym_attribute = 170,
+ sym_attribute_declaration = 171,
+ sym_ms_declspec_modifier = 172,
+ sym_ms_based_modifier = 173,
+ sym_ms_call_modifier = 174,
+ sym_ms_unaligned_ptr_modifier = 175,
+ sym_ms_pointer_modifier = 176,
+ sym_declaration_list = 177,
+ sym__declarator = 178,
+ sym__field_declarator = 179,
+ sym__type_declarator = 180,
+ sym__abstract_declarator = 181,
+ sym_parenthesized_declarator = 182,
+ sym_parenthesized_field_declarator = 183,
+ sym_parenthesized_type_declarator = 184,
+ sym_abstract_parenthesized_declarator = 185,
+ sym_attributed_declarator = 186,
+ sym_attributed_field_declarator = 187,
+ sym_attributed_type_declarator = 188,
+ sym_pointer_declarator = 189,
+ sym_pointer_field_declarator = 190,
+ sym_pointer_type_declarator = 191,
+ sym_abstract_pointer_declarator = 192,
+ sym_function_declarator = 193,
+ sym_function_field_declarator = 194,
+ sym_function_type_declarator = 195,
+ sym_abstract_function_declarator = 196,
+ sym_array_declarator = 197,
+ sym_array_field_declarator = 198,
+ sym_array_type_declarator = 199,
+ sym_abstract_array_declarator = 200,
+ sym_init_declarator = 201,
+ sym_compound_statement = 202,
+ sym_storage_class_specifier = 203,
+ sym_type_qualifier = 204,
+ sym__type_specifier = 205,
+ sym_sized_type_specifier = 206,
+ sym_enum_specifier = 207,
+ sym_enumerator_list = 208,
+ sym_struct_specifier = 209,
+ sym_union_specifier = 210,
+ sym_field_declaration_list = 211,
+ sym__field_declaration_list_item = 212,
+ sym_field_declaration = 213,
+ sym_bitfield_clause = 214,
+ sym_enumerator = 215,
+ sym_variadic_parameter = 216,
+ sym_parameter_list = 217,
+ sym_parameter_declaration = 218,
+ sym_attributed_statement = 219,
+ sym_labeled_statement = 220,
+ sym__top_level_expression_statement = 221,
+ sym_expression_statement = 222,
+ sym_if_statement = 223,
+ sym_else_clause = 224,
+ sym_switch_statement = 225,
+ sym_case_statement = 226,
+ sym_while_statement = 227,
+ sym_do_statement = 228,
+ sym_for_statement = 229,
+ sym_return_statement = 230,
+ sym_break_statement = 231,
+ sym_continue_statement = 232,
+ sym_goto_statement = 233,
+ sym__expression = 234,
+ sym__expression_not_binary = 235,
+ sym_comma_expression = 236,
+ sym_conditional_expression = 237,
+ sym_assignment_expression = 238,
+ sym_pointer_expression = 239,
+ sym_unary_expression = 240,
+ sym_binary_expression = 241,
+ sym_update_expression = 242,
+ sym_cast_expression = 243,
+ sym_type_descriptor = 244,
+ sym_sizeof_expression = 245,
+ sym_offsetof_expression = 246,
+ sym_generic_expression = 247,
+ sym_subscript_expression = 248,
+ sym_call_expression = 249,
+ sym_gnu_asm_expression = 250,
+ sym_gnu_asm_qualifier = 251,
+ sym_gnu_asm_output_operand_list = 252,
+ sym_gnu_asm_output_operand = 253,
+ sym_gnu_asm_input_operand_list = 254,
+ sym_gnu_asm_input_operand = 255,
+ sym_gnu_asm_clobber_list = 256,
+ sym_gnu_asm_goto_list = 257,
+ sym_argument_list = 258,
+ sym_field_expression = 259,
+ sym_compound_literal_expression = 260,
+ sym_parenthesized_expression = 261,
+ sym_initializer_list = 262,
+ sym_initializer_pair = 263,
+ sym_subscript_designator = 264,
+ sym_field_designator = 265,
+ sym_char_literal = 266,
+ sym_concatenated_string = 267,
+ sym_string_literal = 268,
+ sym_null = 269,
+ sym__empty_declaration = 270,
+ sym_macro_type_specifier = 271,
+ aux_sym_translation_unit_repeat1 = 272,
+ aux_sym_preproc_params_repeat1 = 273,
+ aux_sym_preproc_if_repeat1 = 274,
+ aux_sym_preproc_if_in_field_declaration_list_repeat1 = 275,
+ aux_sym_preproc_argument_list_repeat1 = 276,
+ aux_sym_declaration_repeat1 = 277,
+ aux_sym_type_definition_repeat1 = 278,
+ aux_sym_type_definition_repeat2 = 279,
+ aux_sym__declaration_specifiers_repeat1 = 280,
+ aux_sym_attribute_declaration_repeat1 = 281,
+ aux_sym_attributed_declarator_repeat1 = 282,
+ aux_sym_pointer_declarator_repeat1 = 283,
+ aux_sym_function_declarator_repeat1 = 284,
+ aux_sym_sized_type_specifier_repeat1 = 285,
+ aux_sym_enumerator_list_repeat1 = 286,
+ aux_sym_field_declaration_repeat1 = 287,
+ aux_sym_parameter_list_repeat1 = 288,
+ aux_sym_case_statement_repeat1 = 289,
+ aux_sym_generic_expression_repeat1 = 290,
+ aux_sym_gnu_asm_expression_repeat1 = 291,
+ aux_sym_gnu_asm_output_operand_list_repeat1 = 292,
+ aux_sym_gnu_asm_input_operand_list_repeat1 = 293,
+ aux_sym_gnu_asm_clobber_list_repeat1 = 294,
+ aux_sym_gnu_asm_goto_list_repeat1 = 295,
+ aux_sym_argument_list_repeat1 = 296,
+ aux_sym_initializer_list_repeat1 = 297,
+ aux_sym_initializer_pair_repeat1 = 298,
+ aux_sym_concatenated_string_repeat1 = 299,
+ aux_sym_string_literal_repeat1 = 300,
+ alias_sym_field_identifier = 301,
+ alias_sym_statement_identifier = 302,
+ alias_sym_type_identifier = 303,
};
static const char * const ts_symbol_names[] = {
[ts_builtin_sym_end] = "end",
[sym_identifier] = "identifier",
[aux_sym_preproc_include_token1] = "#include",
- [anon_sym_LF] = "\n",
+ [aux_sym_preproc_include_token2] = "preproc_include_token2",
[aux_sym_preproc_def_token1] = "#define",
[anon_sym_LPAREN] = "(",
[anon_sym_DOT_DOT_DOT] = "...",
[anon_sym_COMMA] = ",",
[anon_sym_RPAREN] = ")",
[aux_sym_preproc_if_token1] = "#if",
+ [anon_sym_LF] = "\n",
[aux_sym_preproc_if_token2] = "#endif",
[aux_sym_preproc_ifdef_token1] = "#ifdef",
[aux_sym_preproc_ifdef_token2] = "#ifndef",
@@ -631,13 +633,14 @@ static const TSSymbol ts_symbol_map[] = {
[ts_builtin_sym_end] = ts_builtin_sym_end,
[sym_identifier] = sym_identifier,
[aux_sym_preproc_include_token1] = aux_sym_preproc_include_token1,
- [anon_sym_LF] = anon_sym_LF,
+ [aux_sym_preproc_include_token2] = aux_sym_preproc_include_token2,
[aux_sym_preproc_def_token1] = aux_sym_preproc_def_token1,
[anon_sym_LPAREN] = anon_sym_LPAREN,
[anon_sym_DOT_DOT_DOT] = anon_sym_DOT_DOT_DOT,
[anon_sym_COMMA] = anon_sym_COMMA,
[anon_sym_RPAREN] = anon_sym_RPAREN,
[aux_sym_preproc_if_token1] = aux_sym_preproc_if_token1,
+ [anon_sym_LF] = anon_sym_LF,
[aux_sym_preproc_if_token2] = aux_sym_preproc_if_token2,
[aux_sym_preproc_ifdef_token1] = aux_sym_preproc_ifdef_token1,
[aux_sym_preproc_ifdef_token2] = aux_sym_preproc_ifdef_token2,
@@ -946,8 +949,8 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
.visible = true,
.named = false,
},
- [anon_sym_LF] = {
- .visible = true,
+ [aux_sym_preproc_include_token2] = {
+ .visible = false,
.named = false,
},
[aux_sym_preproc_def_token1] = {
@@ -974,6 +977,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
.visible = true,
.named = false,
},
+ [anon_sym_LF] = {
+ .visible = true,
+ .named = false,
+ },
[aux_sym_preproc_if_token2] = {
.visible = true,
.named = false,
@@ -3338,85 +3345,85 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[587] = 587,
[588] = 588,
[589] = 589,
- [590] = 590,
+ [590] = 589,
[591] = 585,
- [592] = 590,
- [593] = 590,
- [594] = 585,
- [595] = 586,
- [596] = 587,
- [597] = 586,
- [598] = 588,
- [599] = 599,
- [600] = 600,
- [601] = 601,
- [602] = 587,
+ [592] = 585,
+ [593] = 593,
+ [594] = 594,
+ [595] = 595,
+ [596] = 596,
+ [597] = 597,
+ [598] = 586,
+ [599] = 596,
+ [600] = 595,
+ [601] = 586,
+ [602] = 595,
[603] = 603,
- [604] = 604,
- [605] = 605,
- [606] = 589,
- [607] = 588,
- [608] = 586,
- [609] = 600,
- [610] = 601,
- [611] = 605,
- [612] = 612,
- [613] = 604,
- [614] = 589,
- [615] = 604,
- [616] = 585,
- [617] = 605,
- [618] = 590,
+ [604] = 594,
+ [605] = 586,
+ [606] = 596,
+ [607] = 596,
+ [608] = 593,
+ [609] = 609,
+ [610] = 609,
+ [611] = 588,
+ [612] = 595,
+ [613] = 587,
+ [614] = 593,
+ [615] = 585,
+ [616] = 594,
+ [617] = 589,
+ [618] = 588,
[619] = 619,
[620] = 589,
[621] = 585,
- [622] = 585,
- [623] = 586,
- [624] = 600,
- [625] = 590,
- [626] = 605,
- [627] = 601,
- [628] = 628,
- [629] = 588,
- [630] = 600,
- [631] = 605,
- [632] = 601,
- [633] = 599,
- [634] = 587,
- [635] = 589,
- [636] = 605,
- [637] = 604,
- [638] = 587,
- [639] = 588,
+ [622] = 587,
+ [623] = 596,
+ [624] = 609,
+ [625] = 586,
+ [626] = 595,
+ [627] = 593,
+ [628] = 609,
+ [629] = 587,
+ [630] = 588,
+ [631] = 594,
+ [632] = 632,
+ [633] = 597,
+ [634] = 634,
+ [635] = 594,
+ [636] = 588,
+ [637] = 587,
+ [638] = 597,
+ [639] = 597,
[640] = 587,
- [641] = 600,
- [642] = 604,
- [643] = 601,
- [644] = 604,
- [645] = 601,
- [646] = 600,
- [647] = 588,
- [648] = 590,
- [649] = 599,
- [650] = 586,
- [651] = 599,
+ [641] = 588,
+ [642] = 593,
+ [643] = 585,
+ [644] = 589,
+ [645] = 589,
+ [646] = 596,
+ [647] = 597,
+ [648] = 586,
+ [649] = 595,
+ [650] = 593,
+ [651] = 594,
[652] = 652,
[653] = 653,
[654] = 654,
[655] = 655,
[656] = 656,
- [657] = 657,
- [658] = 658,
- [659] = 659,
+ [657] = 656,
+ [658] = 653,
+ [659] = 653,
[660] = 660,
- [661] = 656,
- [662] = 652,
+ [661] = 661,
+ [662] = 662,
[663] = 663,
[664] = 664,
- [665] = 656,
+ [665] = 665,
[666] = 666,
- [667] = 667,
- [668] = 656,
+ [667] = 653,
+ [668] = 668,
[669] = 669,
[670] = 670,
[671] = 671,
@@ -3426,81 +3433,81 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[675] = 675,
[676] = 676,
[677] = 677,
- [678] = 678,
+ [678] = 670,
[679] = 679,
[680] = 680,
- [681] = 672,
+ [681] = 679,
[682] = 682,
[683] = 683,
- [684] = 676,
- [685] = 675,
- [686] = 673,
+ [684] = 675,
+ [685] = 679,
+ [686] = 686,
[687] = 687,
- [688] = 676,
- [689] = 689,
- [690] = 690,
- [691] = 670,
- [692] = 692,
- [693] = 673,
- [694] = 683,
- [695] = 689,
- [696] = 696,
- [697] = 669,
- [698] = 682,
+ [688] = 688,
+ [689] = 676,
+ [690] = 679,
+ [691] = 691,
+ [692] = 669,
+ [693] = 693,
+ [694] = 694,
+ [695] = 695,
+ [696] = 671,
+ [697] = 676,
+ [698] = 687,
[699] = 699,
- [700] = 692,
- [701] = 680,
- [702] = 678,
- [703] = 672,
- [704] = 677,
- [705] = 689,
- [706] = 706,
- [707] = 674,
- [708] = 671,
- [709] = 687,
- [710] = 710,
- [711] = 669,
- [712] = 699,
- [713] = 672,
- [714] = 678,
- [715] = 670,
- [716] = 690,
- [717] = 690,
- [718] = 670,
- [719] = 669,
- [720] = 687,
- [721] = 671,
- [722] = 689,
- [723] = 699,
- [724] = 676,
- [725] = 674,
- [726] = 689,
- [727] = 706,
- [728] = 689,
- [729] = 729,
- [730] = 678,
- [731] = 731,
- [732] = 677,
+ [700] = 674,
+ [701] = 686,
+ [702] = 683,
+ [703] = 687,
+ [704] = 688,
+ [705] = 693,
+ [706] = 691,
+ [707] = 672,
+ [708] = 708,
+ [709] = 694,
+ [710] = 693,
+ [711] = 693,
+ [712] = 695,
+ [713] = 671,
+ [714] = 674,
+ [715] = 676,
+ [716] = 682,
+ [717] = 717,
+ [718] = 669,
+ [719] = 683,
+ [720] = 672,
+ [721] = 670,
+ [722] = 677,
+ [723] = 723,
+ [724] = 679,
+ [725] = 683,
+ [726] = 674,
+ [727] = 671,
+ [728] = 672,
+ [729] = 695,
+ [730] = 694,
+ [731] = 669,
+ [732] = 691,
[733] = 733,
- [734] = 673,
- [735] = 682,
- [736] = 683,
- [737] = 680,
- [738] = 699,
- [739] = 706,
- [740] = 706,
- [741] = 690,
- [742] = 742,
- [743] = 687,
- [744] = 671,
- [745] = 677,
- [746] = 746,
- [747] = 674,
+ [734] = 682,
+ [735] = 688,
+ [736] = 680,
+ [737] = 687,
+ [738] = 686,
+ [739] = 677,
+ [740] = 670,
+ [741] = 741,
+ [742] = 677,
+ [743] = 672,
+ [744] = 686,
+ [745] = 688,
+ [746] = 682,
+ [747] = 691,
[748] = 748,
- [749] = 682,
- [750] = 683,
- [751] = 680,
- [752] = 678,
+ [749] = 679,
+ [750] = 695,
+ [751] = 751,
+ [752] = 694,
[753] = 753,
[754] = 754,
[755] = 755,
@@ -3508,11 +3515,11 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[757] = 757,
[758] = 574,
[759] = 759,
- [760] = 526,
- [761] = 761,
- [762] = 762,
- [763] = 761,
- [764] = 525,
+ [760] = 760,
+ [761] = 760,
+ [762] = 525,
+ [763] = 526,
+ [764] = 764,
[765] = 765,
[766] = 766,
[767] = 767,
@@ -3575,29 +3582,29 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[824] = 824,
[825] = 820,
[826] = 820,
- [827] = 810,
- [828] = 783,
- [829] = 794,
- [830] = 766,
- [831] = 768,
- [832] = 791,
- [833] = 765,
- [834] = 809,
- [835] = 792,
- [836] = 787,
- [837] = 837,
- [838] = 805,
- [839] = 793,
- [840] = 780,
+ [827] = 791,
+ [828] = 779,
+ [829] = 807,
+ [830] = 805,
+ [831] = 796,
+ [832] = 793,
+ [833] = 792,
+ [834] = 789,
+ [835] = 786,
+ [836] = 803,
+ [837] = 783,
+ [838] = 838,
+ [839] = 768,
+ [840] = 766,
[841] = 769,
- [842] = 798,
- [843] = 803,
- [844] = 800,
- [845] = 807,
- [846] = 777,
- [847] = 811,
- [848] = 806,
- [849] = 786,
+ [842] = 782,
+ [843] = 801,
+ [844] = 795,
+ [845] = 778,
+ [846] = 773,
+ [847] = 804,
+ [848] = 811,
+ [849] = 765,
[850] = 850,
[851] = 851,
[852] = 852,
@@ -3615,149 +3622,149 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[864] = 864,
[865] = 865,
[866] = 866,
- [867] = 867,
- [868] = 152,
- [869] = 145,
- [870] = 142,
- [871] = 132,
- [872] = 134,
- [873] = 140,
+ [867] = 152,
+ [868] = 145,
+ [869] = 142,
+ [870] = 132,
+ [871] = 134,
+ [872] = 140,
+ [873] = 873,
[874] = 874,
- [875] = 824,
- [876] = 876,
- [877] = 874,
+ [875] = 853,
+ [876] = 145,
+ [877] = 866,
[878] = 865,
- [879] = 851,
+ [879] = 864,
[880] = 862,
- [881] = 861,
- [882] = 866,
- [883] = 864,
- [884] = 853,
- [885] = 850,
- [886] = 860,
- [887] = 859,
- [888] = 858,
- [889] = 857,
- [890] = 863,
+ [881] = 860,
+ [882] = 882,
+ [883] = 859,