From a0eca388e8ce89cc834f2cc5409f11355bce8f01 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Thu, 5 Nov 2015 14:02:56 -0800 Subject: [PATCH] Make fixture C grammar a subset of tree-sitter-c --- spec/fixtures/corpus/c/declarations.txt | 62 +- spec/fixtures/corpus/c/errors.txt | 6 +- spec/fixtures/corpus/c/preprocesser.txt | 6 +- spec/fixtures/grammars/c.cc | 153 +- spec/fixtures/parsers/c.c | 8785 ++++++++++++++--------- 5 files changed, 5623 insertions(+), 3389 deletions(-) diff --git a/spec/fixtures/corpus/c/declarations.txt b/spec/fixtures/corpus/c/declarations.txt index 94840285..2445d2e6 100644 --- a/spec/fixtures/corpus/c/declarations.txt +++ b/spec/fixtures/corpus/c/declarations.txt @@ -6,8 +6,8 @@ int x; --- -(program - (declaration (type_name (identifier)) (declarator (identifier)))) +(translation_unit + (declaration (identifier) (identifier))) ========================================== simple functions @@ -18,9 +18,9 @@ int main() { --- -(program (function_definition - (type_name (identifier)) - (declarator (identifier)) +(translation_unit (function_definition + (identifier) + (function_declarator (identifier)) (compound_statement))) ========================================== @@ -28,17 +28,51 @@ ambiguous declarations ========================================== int main() { - int i; - someTypeOrValue * pointerOrMultiplicand(); - float y; + // declare a function pointer + A * b(int a); + + // evaluate an expression + c * d(5); } --- -(program (function_definition - (type_name (identifier)) - (declarator (identifier)) +(translation_unit (function_definition + (identifier) + (function_declarator (identifier)) (compound_statement - (declaration (type_name (identifier)) (declarator (identifier))) - (declaration (type_name (identifier)) (declarator (pointer) (identifier))) - (declaration (type_name (identifier)) (declarator (identifier)))))) + (comment) + (declaration + (identifier) + (pointer_declarator (function_declarator (identifier) (parameter_declaration (identifier) (identifier)))) + (comment)) + (expression_statement (math_expression + (identifier) + (call_expression (identifier) (number))))))) + +========================================== +ambiguous expressions +========================================== + +int main() { + // cast + a((B *)c); + + // parenthesized product + d((e * f)); +} + +--- + +(translation_unit (function_definition + (identifier) + (function_declarator (identifier)) + (compound_statement + (comment) + (expression_statement (call_expression + (identifier) + (cast_expression (type_name (identifier) (abstract_pointer_declarator)) (identifier))) + (comment)) + (expression_statement (call_expression + (identifier) + (math_expression (identifier) (identifier))))))) diff --git a/spec/fixtures/corpus/c/errors.txt b/spec/fixtures/corpus/c/errors.txt index c4a5bdda..759af192 100644 --- a/spec/fixtures/corpus/c/errors.txt +++ b/spec/fixtures/corpus/c/errors.txt @@ -6,8 +6,8 @@ int main() { %%% } --- -(program (function_definition - (type_name (identifier)) - (declarator (identifier)) +(translation_unit (function_definition + (identifier) + (function_declarator (identifier)) (compound_statement (ERROR (UNEXPECTED '%'))))) diff --git a/spec/fixtures/corpus/c/preprocesser.txt b/spec/fixtures/corpus/c/preprocesser.txt index f4030ec3..c2aa3240 100644 --- a/spec/fixtures/corpus/c/preprocesser.txt +++ b/spec/fixtures/corpus/c/preprocesser.txt @@ -8,6 +8,6 @@ --- -(program - (preproc_define (identifier)) - (preproc_define (identifier))) +(translation_unit + (preproc_define (identifier) (preproc_arg)) + (preproc_define (identifier) (preproc_arg))) diff --git a/spec/fixtures/grammars/c.cc b/spec/fixtures/grammars/c.cc index 8dbba4f3..c5e6c8f1 100644 --- a/spec/fixtures/grammars/c.cc +++ b/spec/fixtures/grammars/c.cc @@ -6,7 +6,7 @@ namespace tree_sitter_examples { // http://slps.github.io/zoo/c/iso-9899-tc3.html extern const Grammar c = Grammar({ - { "program", repeat(choice({ + { "translation_unit", repeat(choice({ sym("preproc_define"), sym("function_definition"), sym("declaration") })) }, @@ -14,13 +14,17 @@ extern const Grammar c = Grammar({ { "preproc_define", seq({ str("#define"), sym("identifier"), - optional(token(prec(-1, repeat1(choice({ str("\\\n"), pattern(".") }))))), + optional(sym("preproc_arg")), str("\n") }) }, + { "preproc_arg", token(prec(-1, repeat1(choice({ + str("\\\n"), + pattern(".") })))) }, + { "function_definition", seq({ optional(sym("declaration_specifiers")), sym("_type_specifier"), - sym("declarator"), + sym("_declarator"), repeat(sym("declaration")), sym("compound_statement") }) }, @@ -37,16 +41,24 @@ extern const Grammar c = Grammar({ { "_type_specifier", choice({ sym("struct_specifier"), - sym("type_name") }) }, + sym("numeric_type_specifier"), + sym("identifier"), + sym("macro_type"), }) }, - { "type_name", seq({ - repeat(choice({ + { "numeric_type_specifier", seq({ + repeat1(choice({ str("signed"), str("unsigned"), str("long"), str("short") })), sym("identifier") }) }, + { "macro_type", seq({ + sym("identifier"), + str("("), + sym("_type_specifier"), + str(")") }) }, + { "struct_specifier", seq({ str("struct"), optional(sym("identifier")), @@ -55,27 +67,32 @@ extern const Grammar c = Grammar({ repeat(sym("struct_declaration")), str("}") }) }) }, + { "type_name", seq({ + repeat(sym("type_qualifier")), + sym("_type_specifier"), + optional(sym("_abstract_declarator")) }) }, + { "struct_declaration", seq({ sym("_type_specifier"), - sym("declarator") }) }, + sym("_declarator") }) }, { "parameter_declaration", seq({ optional(sym("declaration_specifiers")), sym("_type_specifier"), - sym("declarator") }) }, + sym("_declarator") }) }, { "declaration", seq({ optional(sym("declaration_specifiers")), sym("_type_specifier"), - comma_sep1(sym("_init_declarator")), + comma_sep(sym("_init_declarator")), str(";") }) }, { "_init_declarator", choice({ - sym("declarator"), - seq({ sym("declarator"), str("="), sym("initializer") }) }) }, + sym("_declarator"), + seq({ sym("_declarator"), str("="), sym("initializer") }) }) }, { "initializer", choice({ - sym("expression"), + sym("_expression"), seq({ str("{"), sym("initializer_list"), @@ -96,68 +113,105 @@ extern const Grammar c = Grammar({ repeat1(choice({ seq({ str("["), - sym("expression"), + sym("_expression"), str("]") }), seq({ str("."), sym("identifier") }) })), str("=") }) }, - { "declarator", seq({ - repeat(sym("pointer")), - sym("_direct_declarator") }) }, - - { "_direct_declarator", choice({ + { "_declarator", choice({ + sym("pointer_declarator"), + sym("function_declarator"), + sym("array_declarator"), sym("identifier"), - seq({ - str("("), - sym("declarator"), - str(")") }), - seq({ - sym("_direct_declarator"), - str("["), - optional(sym("expression")), - str("]") }), - seq({ - sym("_direct_declarator"), - str("("), - comma_sep(sym("parameter_declaration")), - str(")") }) }) }, + seq({ str("("), sym("_declarator"), str(")") }) }) }, + + { "_abstract_declarator", choice({ + sym("abstract_pointer_declarator"), + sym("abstract_function_declarator"), + sym("abstract_array_declarator"), + prec(1, seq({ str("("), sym("_abstract_declarator"), str(")") })) }) }, + + { "pointer_declarator", seq({ + str("*"), + sym("_declarator") }) }, + + { "abstract_pointer_declarator", seq({ + str("*"), + optional(sym("_abstract_declarator")) }) }, + + { "function_declarator", prec(1, seq({ + sym("_declarator"), + str("("), + comma_sep(sym("parameter_declaration")), + str(")") })) }, + + { "abstract_function_declarator", prec(1, seq({ + sym("_abstract_declarator"), + str("("), + comma_sep(sym("parameter_declaration")), + str(")") })) }, + + { "array_declarator", prec(1, seq({ + sym("_declarator"), + str("["), + optional(sym("_expression")), + str("]") })) }, + + { "abstract_array_declarator", prec(1, seq({ + sym("_abstract_declarator"), + str("["), + optional(sym("_expression")), + str("]") })) }, { "type_qualifier", choice({ str("const"), str("restrict"), str("volatile") }) }, - { "pointer", str("*") }, - { "compound_statement", seq({ str("{"), - err(repeat(choice({ sym("declaration"), sym("statement") }))), + err(repeat(choice({ sym("declaration"), sym("_statement") }))), str("}") }) }, - { "expression", choice({ + { "_expression", choice({ + sym("cast_expression"), sym("math_expression"), sym("call_expression"), + sym("pointer_expression"), sym("string"), sym("identifier"), - sym("number") }) }, + sym("number"), + prec(1, seq({ str("("), sym("_expression"), str(")") })) }) }, + + { "cast_expression", prec(4, seq({ + str("("), + sym("type_name"), + str(")"), + sym("_expression") })) }, { "math_expression", choice({ - prec_left(1, seq({ sym("expression"), str("+"), sym("expression") })), - prec_left(2, seq({ sym("expression"), str("*"), sym("expression") })) }) }, + prec_left(1, seq({ sym("_expression"), str("+"), sym("_expression") })), + prec_left(2, seq({ sym("_expression"), str("*"), sym("_expression") })) }) }, { "call_expression", prec(3, seq({ - sym("expression"), + sym("_expression"), str("("), - comma_sep(sym("expression")), + comma_sep(sym("_expression")), str(")") })) }, - { "statement", choice({ + { "pointer_expression", seq({ + choice({ + str("*"), + str("&") }), + sym("_expression") }) }, + + { "_statement", choice({ sym("expression_statement") }) }, { "expression_statement", seq({ - sym("expression"), + sym("_expression"), str(";") }) }, { "string", delimited("\"") }, @@ -166,12 +220,21 @@ extern const Grammar c = Grammar({ { "number", pattern("\\d+(\\.\\d+)?") }, - { "comment", pattern("//[^\n]*") }, + { "comment", token(choice({ + pattern("//[^\n]*"), + seq({ + str("/*"), + repeat(choice({ + pattern("[^\\*]"), + pattern("\\*[^/]") })), + str("*/") }) })) }, }).ubiquitous_tokens({ sym("comment"), pattern("[ \t\r\n]"), }).expected_conflicts({ - { "type_name", "expression" }, + { "_type_specifier", "_expression" }, + { "_type_specifier", "_expression", "macro_type" }, + { "_type_specifier", "macro_type" }, }); } // namespace tree_sitter_examples diff --git a/spec/fixtures/parsers/c.c b/spec/fixtures/parsers/c.c index 5e169b66..63a4a4f9 100644 --- a/spec/fixtures/parsers/c.c +++ b/spec/fixtures/parsers/c.c @@ -1,17 +1,19 @@ #include "tree_sitter/parser.h" -#define STATE_COUNT 268 -#define SYMBOL_COUNT 70 +#define STATE_COUNT 400 +#define SYMBOL_COUNT 80 enum { - sym_program = ts_builtin_sym_start, + sym_translation_unit = ts_builtin_sym_start, sym_preproc_define, sym_function_definition, sym_declaration_specifiers, sym_storage_class_specifier, sym__type_specifier, - sym_type_name, + sym_numeric_type_specifier, + sym_macro_type, sym_struct_specifier, + sym_type_name, sym_struct_declaration, sym_parameter_declaration, sym_declaration, @@ -19,30 +21,37 @@ enum { sym_initializer, sym_initializer_list, sym_designation, - sym_declarator, - sym__direct_declarator, + sym__declarator, + sym__abstract_declarator, + sym_pointer_declarator, + sym_abstract_pointer_declarator, + sym_function_declarator, + sym_abstract_function_declarator, + sym_array_declarator, + sym_abstract_array_declarator, sym_type_qualifier, - sym_pointer, sym_compound_statement, - sym_expression, + sym__expression, + sym_cast_expression, sym_math_expression, sym_call_expression, - sym_statement, + sym_pointer_expression, + sym__statement, sym_expression_statement, - aux_sym_program_repeat1, + aux_sym_translation_unit_repeat1, aux_sym_function_definition_repeat1, aux_sym_declaration_specifiers_repeat1, - aux_sym_type_name_repeat1, + aux_sym_numeric_type_specifier_repeat1, aux_sym_struct_specifier_repeat1, + aux_sym_type_name_repeat1, aux_sym_declaration_repeat1, aux_sym_designation_repeat1, - aux_sym_declarator_repeat1, - aux_sym__direct_declarator_repeat1, + aux_sym_function_declarator_repeat1, aux_sym_compound_statement_repeat1, aux_sym_call_expression_repeat1, anon_sym_POUNDdefine, - aux_sym_SLASH_LPAREN_BSLASH_LF_PIPE_DOT_RPAREN_STAR_SLASH, anon_sym_LF, + sym_preproc_arg, anon_sym_typedef, anon_sym_extern, anon_sym_static, @@ -52,6 +61,8 @@ enum { anon_sym_unsigned, anon_sym_long, anon_sym_short, + anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_struct, anon_sym_LBRACE, anon_sym_RBRACE, @@ -61,13 +72,12 @@ enum { anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, + anon_sym_STAR, anon_sym_const, anon_sym_restrict, anon_sym_volatile, - anon_sym_STAR, anon_sym_PLUS, + anon_sym_AMP, sym_string, sym_identifier, sym_number, @@ -75,14 +85,16 @@ enum { }; static const char *ts_symbol_names[] = { - [sym_program] = "program", + [sym_translation_unit] = "translation_unit", [sym_preproc_define] = "preproc_define", [sym_function_definition] = "function_definition", [sym_declaration_specifiers] = "declaration_specifiers", [sym_storage_class_specifier] = "storage_class_specifier", [sym__type_specifier] = "_type_specifier", - [sym_type_name] = "type_name", + [sym_numeric_type_specifier] = "numeric_type_specifier", + [sym_macro_type] = "macro_type", [sym_struct_specifier] = "struct_specifier", + [sym_type_name] = "type_name", [sym_struct_declaration] = "struct_declaration", [sym_parameter_declaration] = "parameter_declaration", [sym_declaration] = "declaration", @@ -90,32 +102,39 @@ static const char *ts_symbol_names[] = { [sym_initializer] = "initializer", [sym_initializer_list] = "initializer_list", [sym_designation] = "designation", - [sym_declarator] = "declarator", - [sym__direct_declarator] = "_direct_declarator", + [sym__declarator] = "_declarator", + [sym__abstract_declarator] = "_abstract_declarator", + [sym_pointer_declarator] = "pointer_declarator", + [sym_abstract_pointer_declarator] = "abstract_pointer_declarator", + [sym_function_declarator] = "function_declarator", + [sym_abstract_function_declarator] = "abstract_function_declarator", + [sym_array_declarator] = "array_declarator", + [sym_abstract_array_declarator] = "abstract_array_declarator", [sym_type_qualifier] = "type_qualifier", - [sym_pointer] = "pointer", [sym_compound_statement] = "compound_statement", - [sym_expression] = "expression", + [sym__expression] = "_expression", + [sym_cast_expression] = "cast_expression", [sym_math_expression] = "math_expression", [sym_call_expression] = "call_expression", - [sym_statement] = "statement", + [sym_pointer_expression] = "pointer_expression", + [sym__statement] = "_statement", [sym_expression_statement] = "expression_statement", - [aux_sym_program_repeat1] = "program_repeat1", + [aux_sym_translation_unit_repeat1] = "translation_unit_repeat1", [aux_sym_function_definition_repeat1] = "function_definition_repeat1", [aux_sym_declaration_specifiers_repeat1] = "declaration_specifiers_repeat1", - [aux_sym_type_name_repeat1] = "type_name_repeat1", + [aux_sym_numeric_type_specifier_repeat1] = "numeric_type_specifier_repeat1", [aux_sym_struct_specifier_repeat1] = "struct_specifier_repeat1", + [aux_sym_type_name_repeat1] = "type_name_repeat1", [aux_sym_declaration_repeat1] = "declaration_repeat1", [aux_sym_designation_repeat1] = "designation_repeat1", - [aux_sym_declarator_repeat1] = "declarator_repeat1", - [aux_sym__direct_declarator_repeat1] = "_direct_declarator_repeat1", + [aux_sym_function_declarator_repeat1] = "function_declarator_repeat1", [aux_sym_compound_statement_repeat1] = "compound_statement_repeat1", [aux_sym_call_expression_repeat1] = "call_expression_repeat1", [ts_builtin_sym_error] = "ERROR", [ts_builtin_sym_end] = "END", [anon_sym_POUNDdefine] = "#define", - [aux_sym_SLASH_LPAREN_BSLASH_LF_PIPE_DOT_RPAREN_STAR_SLASH] = "/(\\n|.)*/", [anon_sym_LF] = "\n", + [sym_preproc_arg] = "preproc_arg", [anon_sym_typedef] = "typedef", [anon_sym_extern] = "extern", [anon_sym_static] = "static", @@ -125,6 +144,8 @@ static const char *ts_symbol_names[] = { [anon_sym_unsigned] = "unsigned", [anon_sym_long] = "long", [anon_sym_short] = "short", + [anon_sym_LPAREN] = "(", + [anon_sym_RPAREN] = ")", [anon_sym_struct] = "struct", [anon_sym_LBRACE] = "{", [anon_sym_RBRACE] = "}", @@ -134,13 +155,12 @@ static const char *ts_symbol_names[] = { [anon_sym_LBRACK] = "[", [anon_sym_RBRACK] = "]", [anon_sym_DOT] = ".", - [anon_sym_LPAREN] = "(", - [anon_sym_RPAREN] = ")", + [anon_sym_STAR] = "*", [anon_sym_const] = "const", [anon_sym_restrict] = "restrict", [anon_sym_volatile] = "volatile", - [anon_sym_STAR] = "*", [anon_sym_PLUS] = "+", + [anon_sym_AMP] = "&", [sym_string] = "string", [sym_identifier] = "identifier", [sym_number] = "number", @@ -148,14 +168,16 @@ static const char *ts_symbol_names[] = { }; static const TSNodeType ts_node_types[SYMBOL_COUNT] = { - [sym_program] = TSNodeTypeNamed, + [sym_translation_unit] = TSNodeTypeNamed, [sym_preproc_define] = TSNodeTypeNamed, [sym_function_definition] = TSNodeTypeNamed, [sym_declaration_specifiers] = TSNodeTypeNamed, [sym_storage_class_specifier] = TSNodeTypeNamed, [sym__type_specifier] = TSNodeTypeHidden, - [sym_type_name] = TSNodeTypeNamed, + [sym_numeric_type_specifier] = TSNodeTypeNamed, + [sym_macro_type] = TSNodeTypeNamed, [sym_struct_specifier] = TSNodeTypeNamed, + [sym_type_name] = TSNodeTypeNamed, [sym_struct_declaration] = TSNodeTypeNamed, [sym_parameter_declaration] = TSNodeTypeNamed, [sym_declaration] = TSNodeTypeNamed, @@ -163,32 +185,39 @@ static const TSNodeType ts_node_types[SYMBOL_COUNT] = { [sym_initializer] = TSNodeTypeNamed, [sym_initializer_list] = TSNodeTypeNamed, [sym_designation] = TSNodeTypeNamed, - [sym_declarator] = TSNodeTypeNamed, - [sym__direct_declarator] = TSNodeTypeHidden, + [sym__declarator] = TSNodeTypeHidden, + [sym__abstract_declarator] = TSNodeTypeHidden, + [sym_pointer_declarator] = TSNodeTypeNamed, + [sym_abstract_pointer_declarator] = TSNodeTypeNamed, + [sym_function_declarator] = TSNodeTypeNamed, + [sym_abstract_function_declarator] = TSNodeTypeNamed, + [sym_array_declarator] = TSNodeTypeNamed, + [sym_abstract_array_declarator] = TSNodeTypeNamed, [sym_type_qualifier] = TSNodeTypeNamed, - [sym_pointer] = TSNodeTypeNamed, [sym_compound_statement] = TSNodeTypeNamed, - [sym_expression] = TSNodeTypeNamed, + [sym__expression] = TSNodeTypeHidden, + [sym_cast_expression] = TSNodeTypeNamed, [sym_math_expression] = TSNodeTypeNamed, [sym_call_expression] = TSNodeTypeNamed, - [sym_statement] = TSNodeTypeNamed, + [sym_pointer_expression] = TSNodeTypeNamed, + [sym__statement] = TSNodeTypeHidden, [sym_expression_statement] = TSNodeTypeNamed, - [aux_sym_program_repeat1] = TSNodeTypeHidden, + [aux_sym_translation_unit_repeat1] = TSNodeTypeHidden, [aux_sym_function_definition_repeat1] = TSNodeTypeHidden, [aux_sym_declaration_specifiers_repeat1] = TSNodeTypeHidden, - [aux_sym_type_name_repeat1] = TSNodeTypeHidden, + [aux_sym_numeric_type_specifier_repeat1] = TSNodeTypeHidden, [aux_sym_struct_specifier_repeat1] = TSNodeTypeHidden, + [aux_sym_type_name_repeat1] = TSNodeTypeHidden, [aux_sym_declaration_repeat1] = TSNodeTypeHidden, [aux_sym_designation_repeat1] = TSNodeTypeHidden, - [aux_sym_declarator_repeat1] = TSNodeTypeHidden, - [aux_sym__direct_declarator_repeat1] = TSNodeTypeHidden, + [aux_sym_function_declarator_repeat1] = TSNodeTypeHidden, [aux_sym_compound_statement_repeat1] = TSNodeTypeHidden, [aux_sym_call_expression_repeat1] = TSNodeTypeHidden, [ts_builtin_sym_error] = TSNodeTypeNamed, [ts_builtin_sym_end] = TSNodeTypeHidden, [anon_sym_POUNDdefine] = TSNodeTypeAnonymous, - [aux_sym_SLASH_LPAREN_BSLASH_LF_PIPE_DOT_RPAREN_STAR_SLASH] = TSNodeTypeHidden, [anon_sym_LF] = TSNodeTypeAnonymous, + [sym_preproc_arg] = TSNodeTypeNamed, [anon_sym_typedef] = TSNodeTypeAnonymous, [anon_sym_extern] = TSNodeTypeAnonymous, [anon_sym_static] = TSNodeTypeAnonymous, @@ -198,6 +227,8 @@ static const TSNodeType ts_node_types[SYMBOL_COUNT] = { [anon_sym_unsigned] = TSNodeTypeAnonymous, [anon_sym_long] = TSNodeTypeAnonymous, [anon_sym_short] = TSNodeTypeAnonymous, + [anon_sym_LPAREN] = TSNodeTypeAnonymous, + [anon_sym_RPAREN] = TSNodeTypeAnonymous, [anon_sym_struct] = TSNodeTypeAnonymous, [anon_sym_LBRACE] = TSNodeTypeAnonymous, [anon_sym_RBRACE] = TSNodeTypeAnonymous, @@ -207,13 +238,12 @@ static const TSNodeType ts_node_types[SYMBOL_COUNT] = { [anon_sym_LBRACK] = TSNodeTypeAnonymous, [anon_sym_RBRACK] = TSNodeTypeAnonymous, [anon_sym_DOT] = TSNodeTypeAnonymous, - [anon_sym_LPAREN] = TSNodeTypeAnonymous, - [anon_sym_RPAREN] = TSNodeTypeAnonymous, + [anon_sym_STAR] = TSNodeTypeAnonymous, [anon_sym_const] = TSNodeTypeAnonymous, [anon_sym_restrict] = TSNodeTypeAnonymous, [anon_sym_volatile] = TSNodeTypeAnonymous, - [anon_sym_STAR] = TSNodeTypeAnonymous, [anon_sym_PLUS] = TSNodeTypeAnonymous, + [anon_sym_AMP] = TSNodeTypeAnonymous, [sym_string] = TSNodeTypeNamed, [sym_identifier] = TSNodeTypeNamed, [sym_number] = TSNodeTypeNamed, @@ -242,25 +272,25 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { ('f' <= lookahead && lookahead <= 'k') || ('m' <= lookahead && lookahead <= 'q') || ('w' <= lookahead && lookahead <= 'z')) - ADVANCE(12); + ADVANCE(15); if (lookahead == 'a') - ADVANCE(13); + ADVANCE(16); if (lookahead == 'c') - ADVANCE(17); + ADVANCE(20); if (lookahead == 'e') - ADVANCE(22); + ADVANCE(25); if (lookahead == 'l') - ADVANCE(28); + ADVANCE(31); if (lookahead == 'r') - ADVANCE(32); + ADVANCE(35); if (lookahead == 's') - ADVANCE(46); + ADVANCE(49); if (lookahead == 't') - ADVANCE(65); + ADVANCE(68); if (lookahead == 'u') - ADVANCE(72); + ADVANCE(75); if (lookahead == 'v') - ADVANCE(80); + ADVANCE(83); LEX_ERROR(); case 2: ACCEPT_TOKEN(ts_builtin_sym_end); @@ -291,114 +321,104 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { case 9: ACCEPT_TOKEN(anon_sym_POUNDdefine); case 10: - if (lookahead == '/') + if (lookahead == '*') ADVANCE(11); + if (lookahead == '/') + ADVANCE(14); LEX_ERROR(); case 11: + if (lookahead == '*') + ADVANCE(12); + if (!((lookahead == 0) || + (lookahead == '*'))) + ADVANCE(11); + LEX_ERROR(); + case 12: + if (lookahead == '/') + ADVANCE(13); + if (!((lookahead == 0) || + (lookahead == '/'))) + ADVANCE(11); + LEX_ERROR(); + case 13: + ACCEPT_TOKEN(sym_comment); + case 14: if (!((lookahead == 0) || (lookahead == '\n'))) - ADVANCE(11); - ACCEPT_TOKEN(sym_comment); - case 12: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - ACCEPT_TOKEN(sym_identifier); - case 13: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 't') || - ('v' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'u') ADVANCE(14); - ACCEPT_TOKEN(sym_identifier); - case 14: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 's') || - ('u' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 't') - ADVANCE(15); - ACCEPT_TOKEN(sym_identifier); + ACCEPT_TOKEN(sym_comment); case 15: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'n') || - ('p' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'o') - ADVANCE(16); + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); ACCEPT_TOKEN(sym_identifier); case 16: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - ACCEPT_TOKEN(anon_sym_auto); + ('a' <= lookahead && lookahead <= 't') || + ('v' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'u') + ADVANCE(17); + ACCEPT_TOKEN(sym_identifier); case 17: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'n') || - ('p' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'o') + ('a' <= lookahead && lookahead <= 's') || + ('u' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 't') ADVANCE(18); ACCEPT_TOKEN(sym_identifier); case 18: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'm') || - ('o' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'n') + ('a' <= lookahead && lookahead <= 'n') || + ('p' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'o') ADVANCE(19); ACCEPT_TOKEN(sym_identifier); case 19: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'r') || - ('t' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 's') - ADVANCE(20); - ACCEPT_TOKEN(sym_identifier); + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + ACCEPT_TOKEN(anon_sym_auto); case 20: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 's') || - ('u' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 't') + ('a' <= lookahead && lookahead <= 'n') || + ('p' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'o') ADVANCE(21); ACCEPT_TOKEN(sym_identifier); case 21: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - ACCEPT_TOKEN(anon_sym_const); + ('a' <= lookahead && lookahead <= 'm') || + ('o' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'n') + ADVANCE(22); + ACCEPT_TOKEN(sym_identifier); case 22: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'w') || - (lookahead == 'y') || - (lookahead == 'z')) - ADVANCE(12); - if (lookahead == 'x') + ('a' <= lookahead && lookahead <= 'r') || + ('t' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 's') ADVANCE(23); ACCEPT_TOKEN(sym_identifier); case 23: @@ -407,7 +427,7 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { (lookahead == '_') || ('a' <= lookahead && lookahead <= 's') || ('u' <= lookahead && lookahead <= 'z')) - ADVANCE(12); + ADVANCE(15); if (lookahead == 't') ADVANCE(24); ACCEPT_TOKEN(sym_identifier); @@ -415,47 +435,48 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'd') || - ('f' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'e') - ADVANCE(25); - ACCEPT_TOKEN(sym_identifier); + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + ACCEPT_TOKEN(anon_sym_const); case 25: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'q') || - ('s' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'r') + ('a' <= lookahead && lookahead <= 'w') || + (lookahead == 'y') || + (lookahead == 'z')) + ADVANCE(15); + if (lookahead == 'x') ADVANCE(26); ACCEPT_TOKEN(sym_identifier); case 26: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'm') || - ('o' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'n') + ('a' <= lookahead && lookahead <= 's') || + ('u' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 't') ADVANCE(27); ACCEPT_TOKEN(sym_identifier); case 27: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - ACCEPT_TOKEN(anon_sym_extern); + ('a' <= lookahead && lookahead <= 'd') || + ('f' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'e') + ADVANCE(28); + ACCEPT_TOKEN(sym_identifier); case 28: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'n') || - ('p' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'o') + ('a' <= lookahead && lookahead <= 'q') || + ('s' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'r') ADVANCE(29); ACCEPT_TOKEN(sym_identifier); case 29: @@ -464,7 +485,7 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { (lookahead == '_') || ('a' <= lookahead && lookahead <= 'm') || ('o' <= lookahead && lookahead <= 'z')) - ADVANCE(12); + ADVANCE(15); if (lookahead == 'n') ADVANCE(30); ACCEPT_TOKEN(sym_identifier); @@ -472,27 +493,27 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'f') || - ('h' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'g') - ADVANCE(31); - ACCEPT_TOKEN(sym_identifier); + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + ACCEPT_TOKEN(anon_sym_extern); case 31: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - ACCEPT_TOKEN(anon_sym_long); + ('a' <= lookahead && lookahead <= 'n') || + ('p' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'o') + ADVANCE(32); + ACCEPT_TOKEN(sym_identifier); case 32: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'd') || - ('f' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'e') + ('a' <= lookahead && lookahead <= 'm') || + ('o' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'n') ADVANCE(33); ACCEPT_TOKEN(sym_identifier); case 33: @@ -500,79 +521,79 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 'f') || - ('h' <= lookahead && lookahead <= 'r') || - ('t' <= lookahead && lookahead <= 'z')) - ADVANCE(12); + ('h' <= lookahead && lookahead <= 'z')) + ADVANCE(15); if (lookahead == 'g') ADVANCE(34); - if (lookahead == 's') - ADVANCE(40); ACCEPT_TOKEN(sym_identifier); case 34: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'h') || - ('j' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'i') - ADVANCE(35); - ACCEPT_TOKEN(sym_identifier); + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + ACCEPT_TOKEN(anon_sym_long); case 35: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'r') || - ('t' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 's') + ('a' <= lookahead && lookahead <= 'd') || + ('f' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'e') ADVANCE(36); ACCEPT_TOKEN(sym_identifier); case 36: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 's') || - ('u' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 't') + ('a' <= lookahead && lookahead <= 'f') || + ('h' <= lookahead && lookahead <= 'r') || + ('t' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'g') ADVANCE(37); + if (lookahead == 's') + ADVANCE(43); ACCEPT_TOKEN(sym_identifier); case 37: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'd') || - ('f' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'e') + ('a' <= lookahead && lookahead <= 'h') || + ('j' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'i') ADVANCE(38); ACCEPT_TOKEN(sym_identifier); case 38: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'q') || - ('s' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'r') + ('a' <= lookahead && lookahead <= 'r') || + ('t' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 's') ADVANCE(39); ACCEPT_TOKEN(sym_identifier); case 39: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - ACCEPT_TOKEN(anon_sym_register); + ('a' <= lookahead && lookahead <= 's') || + ('u' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 't') + ADVANCE(40); + ACCEPT_TOKEN(sym_identifier); case 40: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 's') || - ('u' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 't') + ('a' <= lookahead && lookahead <= 'd') || + ('f' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'e') ADVANCE(41); ACCEPT_TOKEN(sym_identifier); case 41: @@ -581,7 +602,7 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { (lookahead == '_') || ('a' <= lookahead && lookahead <= 'q') || ('s' <= lookahead && lookahead <= 'z')) - ADVANCE(12); + ADVANCE(15); if (lookahead == 'r') ADVANCE(42); ACCEPT_TOKEN(sym_identifier); @@ -589,197 +610,196 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'h') || - ('j' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'i') - ADVANCE(43); - ACCEPT_TOKEN(sym_identifier); + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + ACCEPT_TOKEN(anon_sym_register); case 43: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - (lookahead == 'a') || - (lookahead == 'b') || - ('d' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'c') + ('a' <= lookahead && lookahead <= 's') || + ('u' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 't') ADVANCE(44); ACCEPT_TOKEN(sym_identifier); case 44: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 's') || - ('u' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 't') + ('a' <= lookahead && lookahead <= 'q') || + ('s' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'r') ADVANCE(45); ACCEPT_TOKEN(sym_identifier); case 45: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - ACCEPT_TOKEN(anon_sym_restrict); - case 46: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'g') || - ('j' <= lookahead && lookahead <= 's') || - ('u' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'h') - ADVANCE(47); - if (lookahead == 'i') - ADVANCE(51); - if (lookahead == 't') - ADVANCE(56); - ACCEPT_TOKEN(sym_identifier); - case 47: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'n') || - ('p' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'o') - ADVANCE(48); - ACCEPT_TOKEN(sym_identifier); - case 48: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'q') || - ('s' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'r') - ADVANCE(49); - ACCEPT_TOKEN(sym_identifier); - case 49: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 's') || - ('u' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 't') - ADVANCE(50); - ACCEPT_TOKEN(sym_identifier); - case 50: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - ACCEPT_TOKEN(anon_sym_short); - case 51: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'f') || - ('h' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'g') - ADVANCE(52); - ACCEPT_TOKEN(sym_identifier); - case 52: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'm') || - ('o' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'n') - ADVANCE(53); - ACCEPT_TOKEN(sym_identifier); - case 53: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'd') || - ('f' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'e') - ADVANCE(54); - ACCEPT_TOKEN(sym_identifier); - case 54: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'c') || - ('e' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'd') - ADVANCE(55); - ACCEPT_TOKEN(sym_identifier); - case 55: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - ACCEPT_TOKEN(anon_sym_signed); - case 56: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('b' <= lookahead && lookahead <= 'q') || - ('s' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'a') - ADVANCE(57); - if (lookahead == 'r') - ADVANCE(61); - ACCEPT_TOKEN(sym_identifier); - case 57: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 's') || - ('u' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 't') - ADVANCE(58); - ACCEPT_TOKEN(sym_identifier); - case 58: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || ('a' <= lookahead && lookahead <= 'h') || ('j' <= lookahead && lookahead <= 'z')) - ADVANCE(12); + ADVANCE(15); if (lookahead == 'i') - ADVANCE(59); + ADVANCE(46); ACCEPT_TOKEN(sym_identifier); - case 59: + case 46: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || (lookahead == 'a') || (lookahead == 'b') || ('d' <= lookahead && lookahead <= 'z')) - ADVANCE(12); + ADVANCE(15); if (lookahead == 'c') + ADVANCE(47); + ACCEPT_TOKEN(sym_identifier); + case 47: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 's') || + ('u' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 't') + ADVANCE(48); + ACCEPT_TOKEN(sym_identifier); + case 48: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + ACCEPT_TOKEN(anon_sym_restrict); + case 49: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'g') || + ('j' <= lookahead && lookahead <= 's') || + ('u' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'h') + ADVANCE(50); + if (lookahead == 'i') + ADVANCE(54); + if (lookahead == 't') + ADVANCE(59); + ACCEPT_TOKEN(sym_identifier); + case 50: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'n') || + ('p' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'o') + ADVANCE(51); + ACCEPT_TOKEN(sym_identifier); + case 51: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'q') || + ('s' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'r') + ADVANCE(52); + ACCEPT_TOKEN(sym_identifier); + case 52: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 's') || + ('u' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 't') + ADVANCE(53); + ACCEPT_TOKEN(sym_identifier); + case 53: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + ACCEPT_TOKEN(anon_sym_short); + case 54: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'f') || + ('h' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'g') + ADVANCE(55); + ACCEPT_TOKEN(sym_identifier); + case 55: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'm') || + ('o' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'n') + ADVANCE(56); + ACCEPT_TOKEN(sym_identifier); + case 56: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'd') || + ('f' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'e') + ADVANCE(57); + ACCEPT_TOKEN(sym_identifier); + case 57: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'c') || + ('e' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'd') + ADVANCE(58); + ACCEPT_TOKEN(sym_identifier); + case 58: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + ACCEPT_TOKEN(anon_sym_signed); + case 59: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('b' <= lookahead && lookahead <= 'q') || + ('s' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'a') ADVANCE(60); + if (lookahead == 'r') + ADVANCE(64); ACCEPT_TOKEN(sym_identifier); case 60: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - ACCEPT_TOKEN(anon_sym_static); + ('a' <= lookahead && lookahead <= 's') || + ('u' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 't') + ADVANCE(61); + ACCEPT_TOKEN(sym_identifier); case 61: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 't') || - ('v' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'u') + ('a' <= lookahead && lookahead <= 'h') || + ('j' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'i') ADVANCE(62); ACCEPT_TOKEN(sym_identifier); case 62: @@ -789,7 +809,7 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { (lookahead == 'a') || (lookahead == 'b') || ('d' <= lookahead && lookahead <= 'z')) - ADVANCE(12); + ADVANCE(15); if (lookahead == 'c') ADVANCE(63); ACCEPT_TOKEN(sym_identifier); @@ -797,240 +817,268 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 's') || - ('u' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 't') - ADVANCE(64); - ACCEPT_TOKEN(sym_identifier); + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + ACCEPT_TOKEN(anon_sym_static); case 64: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - ACCEPT_TOKEN(anon_sym_struct); + ('a' <= lookahead && lookahead <= 't') || + ('v' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'u') + ADVANCE(65); + ACCEPT_TOKEN(sym_identifier); case 65: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'x') || - (lookahead == 'z')) - ADVANCE(12); - if (lookahead == 'y') + (lookahead == 'a') || + (lookahead == 'b') || + ('d' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'c') ADVANCE(66); ACCEPT_TOKEN(sym_identifier); case 66: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'o') || - ('q' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'p') + ('a' <= lookahead && lookahead <= 's') || + ('u' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 't') ADVANCE(67); ACCEPT_TOKEN(sym_identifier); case 67: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'd') || - ('f' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'e') - ADVANCE(68); - ACCEPT_TOKEN(sym_identifier); + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + ACCEPT_TOKEN(anon_sym_struct); case 68: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'c') || - ('e' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'd') + ('a' <= lookahead && lookahead <= 'x') || + (lookahead == 'z')) + ADVANCE(15); + if (lookahead == 'y') ADVANCE(69); ACCEPT_TOKEN(sym_identifier); case 69: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'd') || - ('f' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'e') + ('a' <= lookahead && lookahead <= 'o') || + ('q' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'p') ADVANCE(70); ACCEPT_TOKEN(sym_identifier); case 70: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'e') || - ('g' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'f') + ('a' <= lookahead && lookahead <= 'd') || + ('f' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'e') ADVANCE(71); ACCEPT_TOKEN(sym_identifier); case 71: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - ACCEPT_TOKEN(anon_sym_typedef); + ('a' <= lookahead && lookahead <= 'c') || + ('e' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'd') + ADVANCE(72); + ACCEPT_TOKEN(sym_identifier); case 72: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'm') || - ('o' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'n') + ('a' <= lookahead && lookahead <= 'd') || + ('f' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'e') ADVANCE(73); ACCEPT_TOKEN(sym_identifier); case 73: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'r') || - ('t' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 's') + ('a' <= lookahead && lookahead <= 'e') || + ('g' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'f') ADVANCE(74); ACCEPT_TOKEN(sym_identifier); case 74: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'h') || - ('j' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'i') - ADVANCE(75); - ACCEPT_TOKEN(sym_identifier); + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + ACCEPT_TOKEN(anon_sym_typedef); case 75: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'f') || - ('h' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'g') + ('a' <= lookahead && lookahead <= 'm') || + ('o' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'n') ADVANCE(76); ACCEPT_TOKEN(sym_identifier); case 76: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'm') || - ('o' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'n') + ('a' <= lookahead && lookahead <= 'r') || + ('t' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 's') ADVANCE(77); ACCEPT_TOKEN(sym_identifier); case 77: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'd') || - ('f' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'e') + ('a' <= lookahead && lookahead <= 'h') || + ('j' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'i') ADVANCE(78); ACCEPT_TOKEN(sym_identifier); case 78: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'c') || - ('e' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'd') + ('a' <= lookahead && lookahead <= 'f') || + ('h' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'g') ADVANCE(79); ACCEPT_TOKEN(sym_identifier); case 79: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - ACCEPT_TOKEN(anon_sym_unsigned); + ('a' <= lookahead && lookahead <= 'm') || + ('o' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'n') + ADVANCE(80); + ACCEPT_TOKEN(sym_identifier); case 80: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'n') || - ('p' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'o') + ('a' <= lookahead && lookahead <= 'd') || + ('f' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'e') ADVANCE(81); ACCEPT_TOKEN(sym_identifier); case 81: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'k') || - ('m' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'l') + ('a' <= lookahead && lookahead <= 'c') || + ('e' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'd') ADVANCE(82); ACCEPT_TOKEN(sym_identifier); case 82: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('b' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'a') - ADVANCE(83); - ACCEPT_TOKEN(sym_identifier); + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + ACCEPT_TOKEN(anon_sym_unsigned); case 83: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 's') || - ('u' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 't') + ('a' <= lookahead && lookahead <= 'n') || + ('p' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'o') ADVANCE(84); ACCEPT_TOKEN(sym_identifier); case 84: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'h') || - ('j' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'i') + ('a' <= lookahead && lookahead <= 'k') || + ('m' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'l') ADVANCE(85); ACCEPT_TOKEN(sym_identifier); case 85: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'k') || - ('m' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'l') + ('b' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'a') ADVANCE(86); ACCEPT_TOKEN(sym_identifier); case 86: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'd') || - ('f' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'e') + ('a' <= lookahead && lookahead <= 's') || + ('u' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 't') ADVANCE(87); ACCEPT_TOKEN(sym_identifier); case 87: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - ACCEPT_TOKEN(anon_sym_volatile); + ('a' <= lookahead && lookahead <= 'h') || + ('j' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'i') + ADVANCE(88); + ACCEPT_TOKEN(sym_identifier); case 88: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'k') || + ('m' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'l') + ADVANCE(89); + ACCEPT_TOKEN(sym_identifier); + case 89: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'd') || + ('f' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'e') + ADVANCE(90); + ACCEPT_TOKEN(sym_identifier); + case 90: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + ACCEPT_TOKEN(anon_sym_volatile); + case 91: START_TOKEN(); if (lookahead == 0) ADVANCE(2); @@ -1038,57 +1086,10 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { (lookahead == '\n') || (lookahead == '\r') || (lookahead == ' ')) - ADVANCE(88); - if (lookahead == '/') - ADVANCE(10); - LEX_ERROR(); - case 89: - START_TOKEN(); - if ((lookahead == '\t') || - (lookahead == '\n') || - (lookahead == '\r') || - (lookahead == ' ')) - ADVANCE(89); - if (lookahead == '/') - ADVANCE(10); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'k') || - ('m' <= lookahead && lookahead <= 'r') || - (lookahead == 't') || - ('v' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'l') - ADVANCE(28); - if (lookahead == 's') - ADVANCE(90); - if (lookahead == 'u') - ADVANCE(72); - LEX_ERROR(); - case 90: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'g') || - ('j' <= lookahead && lookahead <= 's') || - ('u' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'h') - ADVANCE(47); - if (lookahead == 'i') - ADVANCE(51); - if (lookahead == 't') ADVANCE(91); - ACCEPT_TOKEN(sym_identifier); - case 91: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'q') || - ('s' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'r') - ADVANCE(61); - ACCEPT_TOKEN(sym_identifier); + if (lookahead == '/') + ADVANCE(10); + LEX_ERROR(); case 92: START_TOKEN(); if ((lookahead == '\t') || @@ -1099,52 +1100,78 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { if (lookahead == '/') ADVANCE(10); if (('A' <= lookahead && lookahead <= 'Z') || - (lookahead == 'b') || - (lookahead == 'd') || - ('f' <= lookahead && lookahead <= 'k') || - ('m' <= lookahead && lookahead <= 'q') || - ('w' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'a') - ADVANCE(13); - if (lookahead == 'c') - ADVANCE(17); - if (lookahead == 'e') - ADVANCE(22); + ('a' <= lookahead && lookahead <= 'k') || + ('m' <= lookahead && lookahead <= 'r') || + (lookahead == 't') || + ('v' <= lookahead && lookahead <= 'z')) + ADVANCE(15); if (lookahead == 'l') - ADVANCE(28); - if (lookahead == 'r') - ADVANCE(32); + ADVANCE(31); if (lookahead == 's') - ADVANCE(46); - if (lookahead == 't') - ADVANCE(65); + ADVANCE(93); if (lookahead == 'u') - ADVANCE(72); - if (lookahead == 'v') - ADVANCE(80); + ADVANCE(75); LEX_ERROR(); case 93: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'g') || + ('j' <= lookahead && lookahead <= 's') || + ('u' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'h') + ADVANCE(50); + if (lookahead == 'i') + ADVANCE(54); + if (lookahead == 't') + ADVANCE(94); + ACCEPT_TOKEN(sym_identifier); + case 94: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'q') || + ('s' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'r') + ADVANCE(64); + ACCEPT_TOKEN(sym_identifier); + case 95: START_TOKEN(); if ((lookahead == '\t') || (lookahead == '\n') || (lookahead == '\r') || (lookahead == ' ')) - ADVANCE(93); - if (lookahead == '(') - ADVANCE(94); - if (lookahead == '*') ADVANCE(95); if (lookahead == '/') ADVANCE(10); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); + (lookahead == 'b') || + (lookahead == 'd') || + ('f' <= lookahead && lookahead <= 'k') || + ('m' <= lookahead && lookahead <= 'q') || + ('w' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'a') + ADVANCE(16); + if (lookahead == 'c') + ADVANCE(20); + if (lookahead == 'e') + ADVANCE(25); + if (lookahead == 'l') + ADVANCE(31); + if (lookahead == 'r') + ADVANCE(35); + if (lookahead == 's') + ADVANCE(49); + if (lookahead == 't') + ADVANCE(68); + if (lookahead == 'u') + ADVANCE(75); + if (lookahead == 'v') + ADVANCE(83); LEX_ERROR(); - case 94: - ACCEPT_TOKEN(anon_sym_LPAREN); - case 95: - ACCEPT_TOKEN(anon_sym_STAR); case 96: START_TOKEN(); if ((lookahead == '\t') || @@ -1152,63 +1179,37 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { (lookahead == '\r') || (lookahead == ' ')) ADVANCE(96); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == '*') + ADVANCE(98); if (lookahead == '/') ADVANCE(10); + if (lookahead == ';') + ADVANCE(99); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); + ADVANCE(15); LEX_ERROR(); case 97: - START_TOKEN(); - if ((lookahead == '\t') || - (lookahead == '\n') || - (lookahead == '\r') || - (lookahead == ' ')) - ADVANCE(97); - if (lookahead == '/') - ADVANCE(10); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'k') || - ('m' <= lookahead && lookahead <= 'r') || - (lookahead == 't') || - ('v' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'l') - ADVANCE(28); - if (lookahead == 's') - ADVANCE(98); - if (lookahead == 'u') - ADVANCE(72); - LEX_ERROR(); + ACCEPT_TOKEN(anon_sym_LPAREN); case 98: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - (lookahead == '_') || - ('a' <= lookahead && lookahead <= 'g') || - ('j' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'h') - ADVANCE(47); - if (lookahead == 'i') - ADVANCE(51); - ACCEPT_TOKEN(sym_identifier); + ACCEPT_TOKEN(anon_sym_STAR); case 99: + ACCEPT_TOKEN(anon_sym_SEMI); + case 100: START_TOKEN(); if ((lookahead == '\t') || (lookahead == '\n') || (lookahead == '\r') || (lookahead == ' ')) - ADVANCE(99); + ADVANCE(100); if (lookahead == '/') ADVANCE(10); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == '{') - ADVANCE(100); + ADVANCE(15); LEX_ERROR(); - case 100: - ACCEPT_TOKEN(anon_sym_LBRACE); case 101: START_TOKEN(); if ((lookahead == '\t') || @@ -1223,18 +1224,26 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { ('m' <= lookahead && lookahead <= 'r') || (lookahead == 't') || ('v' <= lookahead && lookahead <= 'z')) - ADVANCE(12); + ADVANCE(15); if (lookahead == 'l') - ADVANCE(28); + ADVANCE(31); if (lookahead == 's') - ADVANCE(90); - if (lookahead == 'u') - ADVANCE(72); - if (lookahead == '}') ADVANCE(102); + if (lookahead == 'u') + ADVANCE(75); LEX_ERROR(); case 102: - ACCEPT_TOKEN(anon_sym_RBRACE); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'g') || + ('j' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'h') + ADVANCE(50); + if (lookahead == 'i') + ADVANCE(54); + ACCEPT_TOKEN(sym_identifier); case 103: START_TOKEN(); if ((lookahead == '\t') || @@ -1244,21 +1253,14 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { ADVANCE(103); if (lookahead == '/') ADVANCE(10); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); if (lookahead == '{') - ADVANCE(100); + ADVANCE(104); LEX_ERROR(); case 104: - START_TOKEN(); - if ((lookahead == '\t') || - (lookahead == '\n') || - (lookahead == '\r') || - (lookahead == ' ')) - ADVANCE(104); - if (lookahead == '/') - ADVANCE(10); - if (lookahead == '}') - ADVANCE(102); - LEX_ERROR(); + ACCEPT_TOKEN(anon_sym_LBRACE); case 105: START_TOKEN(); if ((lookahead == '\t') || @@ -1266,29 +1268,13 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { (lookahead == '\r') || (lookahead == ' ')) ADVANCE(105); - if (lookahead == '(') - ADVANCE(94); + if (lookahead == ')') + ADVANCE(106); if (lookahead == '/') ADVANCE(10); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'k') || - ('m' <= lookahead && lookahead <= 'r') || - (lookahead == 't') || - ('v' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == '[') - ADVANCE(106); - if (lookahead == 'l') - ADVANCE(28); - if (lookahead == 's') - ADVANCE(90); - if (lookahead == 'u') - ADVANCE(72); - if (lookahead == '}') - ADVANCE(102); LEX_ERROR(); case 106: - ACCEPT_TOKEN(anon_sym_LBRACK); + ACCEPT_TOKEN(anon_sym_RPAREN); case 107: START_TOKEN(); if ((lookahead == '\t') || @@ -1297,12 +1283,11 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { (lookahead == ' ')) ADVANCE(107); if (lookahead == '(') - ADVANCE(94); + ADVANCE(97); + if (lookahead == ')') + ADVANCE(106); if (lookahead == '/') ADVANCE(10); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); LEX_ERROR(); case 108: START_TOKEN(); @@ -1311,13 +1296,25 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { (lookahead == '\r') || (lookahead == ' ')) ADVANCE(108); - if (lookahead == ')') - ADVANCE(109); if (lookahead == '/') ADVANCE(10); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'k') || + ('m' <= lookahead && lookahead <= 'r') || + (lookahead == 't') || + ('v' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'l') + ADVANCE(31); + if (lookahead == 's') + ADVANCE(93); + if (lookahead == 'u') + ADVANCE(75); + if (lookahead == '}') + ADVANCE(109); LEX_ERROR(); case 109: - ACCEPT_TOKEN(anon_sym_RPAREN); + ACCEPT_TOKEN(anon_sym_RBRACE); case 110: START_TOKEN(); if ((lookahead == '\t') || @@ -1325,14 +1322,10 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { (lookahead == '\r') || (lookahead == ' ')) ADVANCE(110); - if (lookahead == '(') - ADVANCE(94); - if (lookahead == ')') - ADVANCE(109); if (lookahead == '/') ADVANCE(10); - if (lookahead == '[') - ADVANCE(106); + if (lookahead == '{') + ADVANCE(104); LEX_ERROR(); case 111: START_TOKEN(); @@ -1341,75 +1334,67 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { (lookahead == '\r') || (lookahead == ' ')) ADVANCE(111); - if (lookahead == '\"') - ADVANCE(112); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == '*') + ADVANCE(98); if (lookahead == '/') ADVANCE(10); - if ('0' <= lookahead && lookahead <= '9') - ADVANCE(116); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == ']') - ADVANCE(119); + ADVANCE(15); LEX_ERROR(); case 112: - if (lookahead == '\"') - ADVANCE(113); - if (lookahead == '\\') - ADVANCE(114); - if (!((lookahead == 0) || - (lookahead == '\"') || - (lookahead == '\\'))) - ADVANCE(112); - LEX_ERROR(); - case 113: - ACCEPT_TOKEN(sym_string); - case 114: - if (lookahead == '\"') - ADVANCE(115); - if (lookahead == '\\') - ADVANCE(114); - if (!((lookahead == 0) || - (lookahead == '\"') || - (lookahead == '\\'))) - ADVANCE(112); - LEX_ERROR(); - case 115: - if (lookahead == '\"') - ADVANCE(113); - if (lookahead == '\\') - ADVANCE(114); - if (!((lookahead == 0) || - (lookahead == '\"') || - (lookahead == '\\'))) - ADVANCE(112); - ACCEPT_TOKEN(sym_string); - case 116: - if (lookahead == '.') - ADVANCE(117); - if ('0' <= lookahead && lookahead <= '9') - ADVANCE(116); - ACCEPT_TOKEN(sym_number); - case 117: - if ('0' <= lookahead && lookahead <= '9') - ADVANCE(118); - LEX_ERROR(); - case 118: - if ('0' <= lookahead && lookahead <= '9') - ADVANCE(118); - ACCEPT_TOKEN(sym_number); - case 119: - ACCEPT_TOKEN(anon_sym_RBRACK); - case 120: START_TOKEN(); if ((lookahead == '\t') || (lookahead == '\n') || (lookahead == '\r') || (lookahead == ' ')) - ADVANCE(120); - if (lookahead == ')') + ADVANCE(112); + if (lookahead == '/') + ADVANCE(10); + if (lookahead == '}') ADVANCE(109); + LEX_ERROR(); + case 113: + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(113); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == '/') + ADVANCE(10); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'k') || + ('m' <= lookahead && lookahead <= 'r') || + (lookahead == 't') || + ('v' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == '[') + ADVANCE(114); + if (lookahead == 'l') + ADVANCE(31); + if (lookahead == 's') + ADVANCE(93); + if (lookahead == 'u') + ADVANCE(75); + if (lookahead == '}') + ADVANCE(109); + LEX_ERROR(); + case 114: + ACCEPT_TOKEN(anon_sym_LBRACK); + case 115: + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(115); + if (lookahead == ')') + ADVANCE(106); if (lookahead == '/') ADVANCE(10); if (('A' <= lookahead && lookahead <= 'Z') || @@ -1418,80 +1403,101 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { ('f' <= lookahead && lookahead <= 'k') || ('m' <= lookahead && lookahead <= 'q') || ('w' <= lookahead && lookahead <= 'z')) - ADVANCE(12); + ADVANCE(15); if (lookahead == 'a') - ADVANCE(13); + ADVANCE(16); if (lookahead == 'c') - ADVANCE(17); + ADVANCE(20); if (lookahead == 'e') - ADVANCE(22); + ADVANCE(25); if (lookahead == 'l') - ADVANCE(28); + ADVANCE(31); if (lookahead == 'r') - ADVANCE(32); + ADVANCE(35); if (lookahead == 's') - ADVANCE(46); + ADVANCE(49); if (lookahead == 't') - ADVANCE(65); + ADVANCE(68); if (lookahead == 'u') - ADVANCE(72); + ADVANCE(75); if (lookahead == 'v') - ADVANCE(80); + ADVANCE(83); LEX_ERROR(); - case 121: + case 116: START_TOKEN(); if ((lookahead == '\t') || (lookahead == '\n') || (lookahead == '\r') || (lookahead == ' ')) + ADVANCE(116); + if (lookahead == '\"') + ADVANCE(117); + if (lookahead == '&') ADVANCE(121); - if (lookahead == ')') - ADVANCE(109); - if (lookahead == ',') - ADVANCE(122); - if (lookahead == '/') - ADVANCE(10); - LEX_ERROR(); - case 122: - ACCEPT_TOKEN(anon_sym_COMMA); - case 123: - START_TOKEN(); - if ((lookahead == '\t') || - (lookahead == '\n') || - (lookahead == '\r') || - (lookahead == ' ')) - ADVANCE(123); if (lookahead == '(') - ADVANCE(94); - if (lookahead == ')') - ADVANCE(109); - if (lookahead == ',') - ADVANCE(122); + ADVANCE(97); + if (lookahead == '*') + ADVANCE(98); if (lookahead == '/') ADVANCE(10); - if (lookahead == '[') - ADVANCE(106); + if ('0' <= lookahead && lookahead <= '9') + ADVANCE(122); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == ']') + ADVANCE(125); + LEX_ERROR(); + case 117: + if (lookahead == '\"') + ADVANCE(118); + if (lookahead == '\\') + ADVANCE(119); + if (!((lookahead == 0) || + (lookahead == '\"') || + (lookahead == '\\'))) + ADVANCE(117); + LEX_ERROR(); + case 118: + ACCEPT_TOKEN(sym_string); + case 119: + if (lookahead == '\"') + ADVANCE(120); + if (lookahead == '\\') + ADVANCE(119); + if (!((lookahead == 0) || + (lookahead == '\"') || + (lookahead == '\\'))) + ADVANCE(117); + LEX_ERROR(); + case 120: + if (lookahead == '\"') + ADVANCE(118); + if (lookahead == '\\') + ADVANCE(119); + if (!((lookahead == 0) || + (lookahead == '\"') || + (lookahead == '\\'))) + ADVANCE(117); + ACCEPT_TOKEN(sym_string); + case 121: + ACCEPT_TOKEN(anon_sym_AMP); + case 122: + if (lookahead == '.') + ADVANCE(123); + if ('0' <= lookahead && lookahead <= '9') + ADVANCE(122); + ACCEPT_TOKEN(sym_number); + case 123: + if ('0' <= lookahead && lookahead <= '9') + ADVANCE(124); LEX_ERROR(); case 124: - START_TOKEN(); - if ((lookahead == '\t') || - (lookahead == '\n') || - (lookahead == '\r') || - (lookahead == ' ')) + if ('0' <= lookahead && lookahead <= '9') ADVANCE(124); - if (lookahead == '(') - ADVANCE(94); - if (lookahead == '*') - ADVANCE(95); - if (lookahead == '+') - ADVANCE(125); - if (lookahead == '/') - ADVANCE(10); - if (lookahead == ']') - ADVANCE(119); - LEX_ERROR(); + ACCEPT_TOKEN(sym_number); case 125: - ACCEPT_TOKEN(anon_sym_PLUS); + ACCEPT_TOKEN(anon_sym_RBRACK); case 126: START_TOKEN(); if ((lookahead == '\t') || @@ -1499,35 +1505,19 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { (lookahead == '\r') || (lookahead == ' ')) ADVANCE(126); - if (lookahead == '\"') - ADVANCE(112); - if (lookahead == ')') - ADVANCE(109); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == '*') + ADVANCE(98); + if (lookahead == '+') + ADVANCE(127); if (lookahead == '/') ADVANCE(10); - if ('0' <= lookahead && lookahead <= '9') - ADVANCE(116); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); + if (lookahead == ']') + ADVANCE(125); LEX_ERROR(); case 127: - START_TOKEN(); - if ((lookahead == '\t') || - (lookahead == '\n') || - (lookahead == '\r') || - (lookahead == ' ')) - ADVANCE(127); - if (lookahead == '\"') - ADVANCE(112); - if (lookahead == '/') - ADVANCE(10); - if ('0' <= lookahead && lookahead <= '9') - ADVANCE(116); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - LEX_ERROR(); + ACCEPT_TOKEN(anon_sym_PLUS); case 128: START_TOKEN(); if ((lookahead == '\t') || @@ -1535,125 +1525,223 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { (lookahead == '\r') || (lookahead == ' ')) ADVANCE(128); + if (lookahead == '\"') + ADVANCE(117); + if (lookahead == '&') + ADVANCE(121); if (lookahead == '(') - ADVANCE(94); - if (lookahead == ')') - ADVANCE(109); + ADVANCE(97); if (lookahead == '*') - ADVANCE(95); - if (lookahead == '+') - ADVANCE(125); - if (lookahead == ',') + ADVANCE(98); + if (lookahead == '/') + ADVANCE(10); + if ('0' <= lookahead && lookahead <= '9') ADVANCE(122); + if (('A' <= lookahead && lookahead <= 'Z') || + (lookahead == 'a') || + (lookahead == 'b') || + ('d' <= lookahead && lookahead <= 'k') || + ('m' <= lookahead && lookahead <= 'q') || + (lookahead == 't') || + ('w' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'c') + ADVANCE(20); + if (lookahead == 'l') + ADVANCE(31); + if (lookahead == 'r') + ADVANCE(129); + if (lookahead == 's') + ADVANCE(93); + if (lookahead == 'u') + ADVANCE(75); + if (lookahead == 'v') + ADVANCE(83); + LEX_ERROR(); + case 129: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'd') || + ('f' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'e') + ADVANCE(130); + ACCEPT_TOKEN(sym_identifier); + case 130: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + (lookahead == '_') || + ('a' <= lookahead && lookahead <= 'r') || + ('t' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 's') + ADVANCE(43); + ACCEPT_TOKEN(sym_identifier); + case 131: + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(131); + if (lookahead == '\"') + ADVANCE(117); + if (lookahead == '&') + ADVANCE(121); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == '*') + ADVANCE(98); + if (lookahead == '/') + ADVANCE(10); + if ('0' <= lookahead && lookahead <= '9') + ADVANCE(122); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + LEX_ERROR(); + case 132: + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(132); + if (lookahead == '\"') + ADVANCE(117); + if (lookahead == '&') + ADVANCE(121); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == ')') + ADVANCE(106); + if (lookahead == '*') + ADVANCE(98); + if (lookahead == '/') + ADVANCE(10); + if ('0' <= lookahead && lookahead <= '9') + ADVANCE(122); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + LEX_ERROR(); + case 133: + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(133); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == ')') + ADVANCE(106); + if (lookahead == '*') + ADVANCE(98); + if (lookahead == '+') + ADVANCE(127); + if (lookahead == ',') + ADVANCE(134); if (lookahead == '/') ADVANCE(10); LEX_ERROR(); - case 129: - START_TOKEN(); - if ((lookahead == '\t') || - (lookahead == '\r') || - (lookahead == ' ')) - ADVANCE(130); - if (lookahead == '\n') - ADVANCE(137); - if (lookahead == '/') - ADVANCE(131); - if (lookahead == '\\') - ADVANCE(134); - if (!((lookahead == 0) || - (lookahead == '\t') || - (lookahead == '\n') || - (lookahead == '\r') || - (lookahead == ' ') || - (lookahead == '/') || - (lookahead == '\\'))) - ADVANCE(136); - LEX_ERROR(); - case 130: - START_TOKEN(); - if ((lookahead == '\t') || - (lookahead == '\r') || - (lookahead == ' ')) - ADVANCE(130); - if (lookahead == '/') - ADVANCE(131); - if (lookahead == '\\') - ADVANCE(134); - if (!((lookahead == 0) || - (lookahead == '\t') || - (lookahead == '\n') || - (lookahead == '\r') || - (lookahead == ' ') || - (lookahead == '/') || - (lookahead == '\\'))) - ADVANCE(136); - ACCEPT_TOKEN(aux_sym_SLASH_LPAREN_BSLASH_LF_PIPE_DOT_RPAREN_STAR_SLASH); - case 131: - if (lookahead == '/') - ADVANCE(132); - if (lookahead == '\\') - ADVANCE(134); - if (!((lookahead == 0) || - (lookahead == '\n') || - (lookahead == '/') || - (lookahead == '\\'))) - ADVANCE(136); - ACCEPT_TOKEN(aux_sym_SLASH_LPAREN_BSLASH_LF_PIPE_DOT_RPAREN_STAR_SLASH); - case 132: - if (lookahead == '\\') - ADVANCE(133); - ACCEPT_TOKEN(sym_comment); - case 133: - if (lookahead == '\\') - ADVANCE(133); - ACCEPT_TOKEN(sym_comment); case 134: - if (lookahead == '\n') - ADVANCE(135); - if (lookahead == '\\') - ADVANCE(134); - if (!((lookahead == 0) || - (lookahead == '\n') || - (lookahead == '\\'))) - ADVANCE(136); - ACCEPT_TOKEN(aux_sym_SLASH_LPAREN_BSLASH_LF_PIPE_DOT_RPAREN_STAR_SLASH); + ACCEPT_TOKEN(anon_sym_COMMA); case 135: - if (lookahead == '\\') - ADVANCE(134); - if (!((lookahead == 0) || + START_TOKEN(); + if ((lookahead == '\t') || (lookahead == '\n') || - (lookahead == '\\'))) - ADVANCE(136); - ACCEPT_TOKEN(aux_sym_SLASH_LPAREN_BSLASH_LF_PIPE_DOT_RPAREN_STAR_SLASH); + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(135); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == ')') + ADVANCE(106); + if (lookahead == '*') + ADVANCE(98); + if (lookahead == '/') + ADVANCE(10); + LEX_ERROR(); case 136: - if (lookahead == '\\') - ADVANCE(134); - if (!((lookahead == 0) || + START_TOKEN(); + if ((lookahead == '\t') || (lookahead == '\n') || - (lookahead == '\\'))) + (lookahead == '\r') || + (lookahead == ' ')) ADVANCE(136); - ACCEPT_TOKEN(aux_sym_SLASH_LPAREN_BSLASH_LF_PIPE_DOT_RPAREN_STAR_SLASH); + if (lookahead == '/') + ADVANCE(10); + if (('A' <= lookahead && lookahead <= 'Z') || + (lookahead == 'a') || + (lookahead == 'b') || + ('d' <= lookahead && lookahead <= 'k') || + ('m' <= lookahead && lookahead <= 'q') || + (lookahead == 't') || + ('w' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'c') + ADVANCE(20); + if (lookahead == 'l') + ADVANCE(31); + if (lookahead == 'r') + ADVANCE(129); + if (lookahead == 's') + ADVANCE(93); + if (lookahead == 'u') + ADVANCE(75); + if (lookahead == 'v') + ADVANCE(83); + LEX_ERROR(); case 137: START_TOKEN(); - if (lookahead == '\\') - ADVANCE(134); - ACCEPT_TOKEN(anon_sym_LF); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(137); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == ')') + ADVANCE(106); + if (lookahead == '*') + ADVANCE(98); + if (lookahead == '+') + ADVANCE(127); + if (lookahead == '/') + ADVANCE(10); + LEX_ERROR(); case 138: START_TOKEN(); if ((lookahead == '\t') || + (lookahead == '\n') || (lookahead == '\r') || (lookahead == ' ')) ADVANCE(138); - if (lookahead == '\n') - ADVANCE(139); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == ')') + ADVANCE(106); if (lookahead == '/') ADVANCE(10); + if (lookahead == '[') + ADVANCE(114); LEX_ERROR(); case 139: START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(139); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == '*') + ADVANCE(98); if (lookahead == '/') ADVANCE(10); - ACCEPT_TOKEN(anon_sym_LF); + LEX_ERROR(); case 140: START_TOKEN(); if ((lookahead == '\t') || @@ -1661,15 +1749,31 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { (lookahead == '\r') || (lookahead == ' ')) ADVANCE(140); - if (lookahead == ',') - ADVANCE(122); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == ')') + ADVANCE(106); + if (lookahead == '*') + ADVANCE(98); if (lookahead == '/') ADVANCE(10); - if (lookahead == ';') - ADVANCE(141); + if (lookahead == '[') + ADVANCE(114); LEX_ERROR(); case 141: - ACCEPT_TOKEN(anon_sym_SEMI); + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(141); + if (lookahead == ')') + ADVANCE(106); + if (lookahead == ',') + ADVANCE(134); + if (lookahead == '/') + ADVANCE(10); + LEX_ERROR(); case 142: START_TOKEN(); if ((lookahead == '\t') || @@ -1677,375 +1781,184 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { (lookahead == '\r') || (lookahead == ' ')) ADVANCE(142); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == ')') + ADVANCE(106); if (lookahead == ',') - ADVANCE(122); + ADVANCE(134); if (lookahead == '/') ADVANCE(10); - if (lookahead == ';') - ADVANCE(141); - if (lookahead == '=') - ADVANCE(143); - if (('A' <= lookahead && lookahead <= 'Z') || - (lookahead == 'b') || - (lookahead == 'd') || - ('f' <= lookahead && lookahead <= 'k') || - ('m' <= lookahead && lookahead <= 'q') || - ('w' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'a') - ADVANCE(13); - if (lookahead == 'c') - ADVANCE(17); - if (lookahead == 'e') - ADVANCE(22); - if (lookahead == 'l') - ADVANCE(28); - if (lookahead == 'r') - ADVANCE(32); - if (lookahead == 's') - ADVANCE(46); - if (lookahead == 't') - ADVANCE(65); - if (lookahead == 'u') - ADVANCE(72); - if (lookahead == 'v') - ADVANCE(80); - if (lookahead == '{') - ADVANCE(100); + if (lookahead == '[') + ADVANCE(114); LEX_ERROR(); case 143: - ACCEPT_TOKEN(anon_sym_EQ); - case 144: START_TOKEN(); if ((lookahead == '\t') || - (lookahead == '\n') || (lookahead == '\r') || (lookahead == ' ')) ADVANCE(144); - if (lookahead == '(') - ADVANCE(94); - if (lookahead == ',') - ADVANCE(122); + if (lookahead == '\n') + ADVANCE(156); if (lookahead == '/') - ADVANCE(10); - if (lookahead == ';') - ADVANCE(141); - if (lookahead == '=') - ADVANCE(143); - if (('A' <= lookahead && lookahead <= 'Z') || - (lookahead == 'b') || - (lookahead == 'd') || - ('f' <= lookahead && lookahead <= 'k') || - ('m' <= lookahead && lookahead <= 'q') || - ('w' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == '[') - ADVANCE(106); - if (lookahead == 'a') - ADVANCE(13); - if (lookahead == 'c') - ADVANCE(17); - if (lookahead == 'e') - ADVANCE(22); - if (lookahead == 'l') - ADVANCE(28); - if (lookahead == 'r') - ADVANCE(32); - if (lookahead == 's') - ADVANCE(46); - if (lookahead == 't') - ADVANCE(65); - if (lookahead == 'u') - ADVANCE(72); - if (lookahead == 'v') - ADVANCE(80); - if (lookahead == '{') - ADVANCE(100); - LEX_ERROR(); - case 145: - START_TOKEN(); - if ((lookahead == '\t') || - (lookahead == '\n') || - (lookahead == '\r') || - (lookahead == ' ')) ADVANCE(145); - if (lookahead == '/') - ADVANCE(10); - if (('A' <= lookahead && lookahead <= 'Z') || - (lookahead == 'b') || - (lookahead == 'd') || - ('f' <= lookahead && lookahead <= 'k') || - ('m' <= lookahead && lookahead <= 'q') || - ('w' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'a') - ADVANCE(13); - if (lookahead == 'c') - ADVANCE(17); - if (lookahead == 'e') - ADVANCE(22); - if (lookahead == 'l') - ADVANCE(28); - if (lookahead == 'r') - ADVANCE(32); - if (lookahead == 's') - ADVANCE(46); - if (lookahead == 't') - ADVANCE(65); - if (lookahead == 'u') - ADVANCE(72); - if (lookahead == 'v') - ADVANCE(80); - if (lookahead == '{') - ADVANCE(100); - LEX_ERROR(); - case 146: - START_TOKEN(); - if ((lookahead == '\t') || - (lookahead == '\n') || - (lookahead == '\r') || - (lookahead == ' ')) - ADVANCE(146); - if (lookahead == '\"') - ADVANCE(112); - if (lookahead == '/') - ADVANCE(10); - if ('0' <= lookahead && lookahead <= '9') - ADVANCE(116); - if (('A' <= lookahead && lookahead <= 'Z') || - (lookahead == 'b') || - (lookahead == 'd') || - ('f' <= lookahead && lookahead <= 'k') || - ('m' <= lookahead && lookahead <= 'q') || - ('w' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == 'a') - ADVANCE(13); - if (lookahead == 'c') - ADVANCE(17); - if (lookahead == 'e') - ADVANCE(22); - if (lookahead == 'l') - ADVANCE(28); - if (lookahead == 'r') - ADVANCE(32); - if (lookahead == 's') - ADVANCE(46); - if (lookahead == 't') - ADVANCE(65); - if (lookahead == 'u') - ADVANCE(72); - if (lookahead == 'v') - ADVANCE(80); - if (lookahead == '}') - ADVANCE(102); - LEX_ERROR(); - case 147: - START_TOKEN(); - if ((lookahead == '\t') || - (lookahead == '\n') || - (lookahead == '\r') || - (lookahead == ' ')) - ADVANCE(147); - if (lookahead == '\"') - ADVANCE(112); - if (lookahead == '/') - ADVANCE(10); - if ('0' <= lookahead && lookahead <= '9') - ADVANCE(116); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == '{') - ADVANCE(100); - LEX_ERROR(); - case 148: - START_TOKEN(); - if ((lookahead == '\t') || - (lookahead == '\n') || - (lookahead == '\r') || - (lookahead == ' ')) - ADVANCE(148); - if (lookahead == '(') - ADVANCE(94); - if (lookahead == '*') - ADVANCE(95); - if (lookahead == '+') - ADVANCE(125); - if (lookahead == ',') - ADVANCE(122); - if (lookahead == '/') - ADVANCE(10); - if (lookahead == ';') - ADVANCE(141); - LEX_ERROR(); - case 149: - START_TOKEN(); - if ((lookahead == '\t') || - (lookahead == '\n') || - (lookahead == '\r') || - (lookahead == ' ')) + if (lookahead == '\\') ADVANCE(149); - if (lookahead == '\"') - ADVANCE(112); - if (lookahead == '.') - ADVANCE(150); - if (lookahead == '/') - ADVANCE(10); - if ('0' <= lookahead && lookahead <= '9') - ADVANCE(116); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == '[') - ADVANCE(106); - if (lookahead == '{') - ADVANCE(100); - LEX_ERROR(); - case 150: - ACCEPT_TOKEN(anon_sym_DOT); - case 151: - START_TOKEN(); - if ((lookahead == '\t') || + if (!((lookahead == 0) || + (lookahead == '\t') || (lookahead == '\n') || (lookahead == '\r') || - (lookahead == ' ')) + (lookahead == ' ') || + (lookahead == '/') || + (lookahead == '\\'))) ADVANCE(151); - if (lookahead == ',') - ADVANCE(122); - if (lookahead == '/') - ADVANCE(10); - if (lookahead == '}') - ADVANCE(102); LEX_ERROR(); - case 152: + case 144: START_TOKEN(); if ((lookahead == '\t') || - (lookahead == '\n') || (lookahead == '\r') || (lookahead == ' ')) - ADVANCE(152); - if (lookahead == '(') - ADVANCE(94); + ADVANCE(144); + if (lookahead == '/') + ADVANCE(145); + if (lookahead == '\\') + ADVANCE(149); + if (!((lookahead == 0) || + (lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ') || + (lookahead == '/') || + (lookahead == '\\'))) + ADVANCE(151); + ACCEPT_TOKEN(sym_preproc_arg); + case 145: if (lookahead == '*') - ADVANCE(95); - if (lookahead == '+') - ADVANCE(125); - if (lookahead == ',') - ADVANCE(122); + ADVANCE(146); if (lookahead == '/') - ADVANCE(10); - if (lookahead == '}') - ADVANCE(102); - LEX_ERROR(); - case 153: - START_TOKEN(); - if ((lookahead == '\t') || - (lookahead == '\n') || - (lookahead == '\r') || - (lookahead == ' ')) - ADVANCE(153); - if (lookahead == '/') - ADVANCE(10); - if (lookahead == '=') - ADVANCE(143); - LEX_ERROR(); - case 154: - START_TOKEN(); - if ((lookahead == '\t') || - (lookahead == '\n') || - (lookahead == '\r') || - (lookahead == ' ')) ADVANCE(154); - if (lookahead == '.') - ADVANCE(150); - if (lookahead == '/') - ADVANCE(10); - if (lookahead == '=') - ADVANCE(143); - if (lookahead == '[') - ADVANCE(106); - LEX_ERROR(); - case 155: - START_TOKEN(); - if ((lookahead == '\t') || + if (lookahead == '\\') + ADVANCE(149); + if (!((lookahead == 0) || (lookahead == '\n') || - (lookahead == '\r') || - (lookahead == ' ')) - ADVANCE(155); - if (lookahead == '\"') - ADVANCE(112); - if (lookahead == '.') - ADVANCE(150); + (lookahead == '*') || + (lookahead == '/') || + (lookahead == '\\'))) + ADVANCE(151); + ACCEPT_TOKEN(sym_preproc_arg); + case 146: + if (lookahead == '\n') + ADVANCE(11); + if (lookahead == '*') + ADVANCE(147); + if (lookahead == '\\') + ADVANCE(152); + if (!((lookahead == 0) || + (lookahead == '\n') || + (lookahead == '*') || + (lookahead == '\\'))) + ADVANCE(146); + ACCEPT_TOKEN(sym_preproc_arg); + case 147: + if (lookahead == '\n') + ADVANCE(11); if (lookahead == '/') - ADVANCE(10); - if ('0' <= lookahead && lookahead <= '9') - ADVANCE(116); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); - if (lookahead == '[') - ADVANCE(106); - if (lookahead == '{') - ADVANCE(100); - if (lookahead == '}') - ADVANCE(102); - LEX_ERROR(); + ADVANCE(148); + if (lookahead == '\\') + ADVANCE(152); + if (!((lookahead == 0) || + (lookahead == '\n') || + (lookahead == '/') || + (lookahead == '\\'))) + ADVANCE(146); + ACCEPT_TOKEN(sym_preproc_arg); + case 148: + if (lookahead == '\\') + ADVANCE(149); + ACCEPT_TOKEN(sym_comment); + case 149: + if (lookahead == '\n') + ADVANCE(150); + if (lookahead == '\\') + ADVANCE(149); + if (!((lookahead == 0) || + (lookahead == '\n') || + (lookahead == '\\'))) + ADVANCE(151); + ACCEPT_TOKEN(sym_preproc_arg); + case 150: + if (lookahead == '\\') + ADVANCE(149); + if (!((lookahead == 0) || + (lookahead == '\n') || + (lookahead == '\\'))) + ADVANCE(151); + ACCEPT_TOKEN(sym_preproc_arg); + case 151: + if (lookahead == '\\') + ADVANCE(149); + if (!((lookahead == 0) || + (lookahead == '\n') || + (lookahead == '\\'))) + ADVANCE(151); + ACCEPT_TOKEN(sym_preproc_arg); + case 152: + if (lookahead == '\n') + ADVANCE(153); + if (lookahead == '*') + ADVANCE(147); + if (lookahead == '\\') + ADVANCE(152); + if (!((lookahead == 0) || + (lookahead == '\n') || + (lookahead == '*') || + (lookahead == '\\'))) + ADVANCE(146); + ACCEPT_TOKEN(sym_preproc_arg); + case 153: + if (lookahead == '\n') + ADVANCE(11); + if (lookahead == '*') + ADVANCE(147); + if (lookahead == '\\') + ADVANCE(152); + if (!((lookahead == 0) || + (lookahead == '\n') || + (lookahead == '*') || + (lookahead == '\\'))) + ADVANCE(146); + ACCEPT_TOKEN(sym_preproc_arg); + case 154: + if (lookahead == '\\') + ADVANCE(155); + ACCEPT_TOKEN(sym_comment); + case 155: + if (lookahead == '\\') + ADVANCE(155); + ACCEPT_TOKEN(sym_comment); case 156: START_TOKEN(); - if ((lookahead == '\t') || - (lookahead == '\n') || - (lookahead == '\r') || - (lookahead == ' ')) - ADVANCE(156); - if (lookahead == '(') - ADVANCE(94); - if (lookahead == '*') - ADVANCE(95); - if (lookahead == '+') - ADVANCE(125); if (lookahead == '/') - ADVANCE(10); - if (lookahead == ';') - ADVANCE(141); - LEX_ERROR(); + ADVANCE(145); + if (lookahead == '\\') + ADVANCE(149); + ACCEPT_TOKEN(anon_sym_LF); case 157: START_TOKEN(); if ((lookahead == '\t') || - (lookahead == '\n') || (lookahead == '\r') || (lookahead == ' ')) ADVANCE(157); - if (lookahead == '(') - ADVANCE(94); - if (lookahead == '*') - ADVANCE(95); - if (lookahead == '+') - ADVANCE(125); + if (lookahead == '\n') + ADVANCE(158); if (lookahead == '/') ADVANCE(10); - if (lookahead == ';') - ADVANCE(141); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) - ADVANCE(12); LEX_ERROR(); case 158: START_TOKEN(); - if ((lookahead == '\t') || - (lookahead == '\n') || - (lookahead == '\r') || - (lookahead == ' ')) - ADVANCE(158); - if (lookahead == ',') - ADVANCE(122); if (lookahead == '/') ADVANCE(10); - if (lookahead == ';') - ADVANCE(141); - if (lookahead == '=') - ADVANCE(143); - LEX_ERROR(); + ACCEPT_TOKEN(anon_sym_LF); case 159: START_TOKEN(); if ((lookahead == '\t') || @@ -2053,18 +1966,12 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { (lookahead == '\r') || (lookahead == ' ')) ADVANCE(159); - if (lookahead == '(') - ADVANCE(94); if (lookahead == ',') - ADVANCE(122); + ADVANCE(134); if (lookahead == '/') ADVANCE(10); if (lookahead == ';') - ADVANCE(141); - if (lookahead == '=') - ADVANCE(143); - if (lookahead == '[') - ADVANCE(106); + ADVANCE(99); LEX_ERROR(); case 160: START_TOKEN(); @@ -2073,140 +1980,505 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { (lookahead == '\r') || (lookahead == ' ')) ADVANCE(160); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == ',') + ADVANCE(134); if (lookahead == '/') ADVANCE(10); if (lookahead == ';') - ADVANCE(141); + ADVANCE(99); + if (lookahead == '=') + ADVANCE(161); + if (('A' <= lookahead && lookahead <= 'Z') || + (lookahead == 'b') || + (lookahead == 'd') || + ('f' <= lookahead && lookahead <= 'k') || + ('m' <= lookahead && lookahead <= 'q') || + ('w' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == '[') + ADVANCE(114); + if (lookahead == 'a') + ADVANCE(16); + if (lookahead == 'c') + ADVANCE(20); + if (lookahead == 'e') + ADVANCE(25); + if (lookahead == 'l') + ADVANCE(31); + if (lookahead == 'r') + ADVANCE(35); + if (lookahead == 's') + ADVANCE(49); + if (lookahead == 't') + ADVANCE(68); + if (lookahead == 'u') + ADVANCE(75); + if (lookahead == 'v') + ADVANCE(83); + if (lookahead == '{') + ADVANCE(104); LEX_ERROR(); case 161: + ACCEPT_TOKEN(anon_sym_EQ); + case 162: + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(162); + if (lookahead == '/') + ADVANCE(10); + if (('A' <= lookahead && lookahead <= 'Z') || + (lookahead == 'b') || + (lookahead == 'd') || + ('f' <= lookahead && lookahead <= 'k') || + ('m' <= lookahead && lookahead <= 'q') || + ('w' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'a') + ADVANCE(16); + if (lookahead == 'c') + ADVANCE(20); + if (lookahead == 'e') + ADVANCE(25); + if (lookahead == 'l') + ADVANCE(31); + if (lookahead == 'r') + ADVANCE(35); + if (lookahead == 's') + ADVANCE(49); + if (lookahead == 't') + ADVANCE(68); + if (lookahead == 'u') + ADVANCE(75); + if (lookahead == 'v') + ADVANCE(83); + if (lookahead == '{') + ADVANCE(104); + LEX_ERROR(); + case 163: + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(163); + if (lookahead == '\"') + ADVANCE(117); + if (lookahead == '&') + ADVANCE(121); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == '*') + ADVANCE(98); + if (lookahead == '/') + ADVANCE(10); + if ('0' <= lookahead && lookahead <= '9') + ADVANCE(122); + if (('A' <= lookahead && lookahead <= 'Z') || + (lookahead == 'b') || + (lookahead == 'd') || + ('f' <= lookahead && lookahead <= 'k') || + ('m' <= lookahead && lookahead <= 'q') || + ('w' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == 'a') + ADVANCE(16); + if (lookahead == 'c') + ADVANCE(20); + if (lookahead == 'e') + ADVANCE(25); + if (lookahead == 'l') + ADVANCE(31); + if (lookahead == 'r') + ADVANCE(35); + if (lookahead == 's') + ADVANCE(49); + if (lookahead == 't') + ADVANCE(68); + if (lookahead == 'u') + ADVANCE(75); + if (lookahead == 'v') + ADVANCE(83); + if (lookahead == '}') + ADVANCE(109); + LEX_ERROR(); + case 164: + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(164); + if (lookahead == '\"') + ADVANCE(117); + if (lookahead == '&') + ADVANCE(121); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == '*') + ADVANCE(98); + if (lookahead == '/') + ADVANCE(10); + if ('0' <= lookahead && lookahead <= '9') + ADVANCE(122); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == '{') + ADVANCE(104); + LEX_ERROR(); + case 165: + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(165); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == '*') + ADVANCE(98); + if (lookahead == '+') + ADVANCE(127); + if (lookahead == ',') + ADVANCE(134); + if (lookahead == '/') + ADVANCE(10); + if (lookahead == ';') + ADVANCE(99); + LEX_ERROR(); + case 166: + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(166); + if (lookahead == '\"') + ADVANCE(117); + if (lookahead == '&') + ADVANCE(121); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == '*') + ADVANCE(98); + if (lookahead == '.') + ADVANCE(167); + if (lookahead == '/') + ADVANCE(10); + if ('0' <= lookahead && lookahead <= '9') + ADVANCE(122); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == '[') + ADVANCE(114); + if (lookahead == '{') + ADVANCE(104); + LEX_ERROR(); + case 167: + ACCEPT_TOKEN(anon_sym_DOT); + case 168: + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(168); + if (lookahead == ',') + ADVANCE(134); + if (lookahead == '/') + ADVANCE(10); + if (lookahead == '}') + ADVANCE(109); + LEX_ERROR(); + case 169: + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(169); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == '*') + ADVANCE(98); + if (lookahead == '+') + ADVANCE(127); + if (lookahead == ',') + ADVANCE(134); + if (lookahead == '/') + ADVANCE(10); + if (lookahead == '}') + ADVANCE(109); + LEX_ERROR(); + case 170: + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(170); + if (lookahead == '/') + ADVANCE(10); + if (lookahead == '=') + ADVANCE(161); + LEX_ERROR(); + case 171: + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(171); + if (lookahead == '.') + ADVANCE(167); + if (lookahead == '/') + ADVANCE(10); + if (lookahead == '=') + ADVANCE(161); + if (lookahead == '[') + ADVANCE(114); + LEX_ERROR(); + case 172: + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(172); + if (lookahead == '\"') + ADVANCE(117); + if (lookahead == '&') + ADVANCE(121); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == '*') + ADVANCE(98); + if (lookahead == '.') + ADVANCE(167); + if (lookahead == '/') + ADVANCE(10); + if ('0' <= lookahead && lookahead <= '9') + ADVANCE(122); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + if (lookahead == '[') + ADVANCE(114); + if (lookahead == '{') + ADVANCE(104); + if (lookahead == '}') + ADVANCE(109); + LEX_ERROR(); + case 173: + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(173); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == '*') + ADVANCE(98); + if (lookahead == '+') + ADVANCE(127); + if (lookahead == '/') + ADVANCE(10); + if (lookahead == ';') + ADVANCE(99); + LEX_ERROR(); + case 174: + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(174); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == '*') + ADVANCE(98); + if (lookahead == '+') + ADVANCE(127); + if (lookahead == '/') + ADVANCE(10); + if (lookahead == ';') + ADVANCE(99); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) + ADVANCE(15); + LEX_ERROR(); + case 175: + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(175); + if (lookahead == '(') + ADVANCE(97); + if (lookahead == ',') + ADVANCE(134); + if (lookahead == '/') + ADVANCE(10); + if (lookahead == ';') + ADVANCE(99); + if (lookahead == '=') + ADVANCE(161); + if (lookahead == '[') + ADVANCE(114); + LEX_ERROR(); + case 176: + START_TOKEN(); + if ((lookahead == '\t') || + (lookahead == '\n') || + (lookahead == '\r') || + (lookahead == ' ')) + ADVANCE(176); + if (lookahead == '/') + ADVANCE(10); + if (lookahead == ';') + ADVANCE(99); + LEX_ERROR(); + case 177: START_TOKEN(); if (lookahead == 0) ADVANCE(2); if ((lookahead == '\t') || (lookahead == '\r') || (lookahead == ' ')) - ADVANCE(161); + ADVANCE(177); if (lookahead == '\n') - ADVANCE(162); + ADVANCE(178); if (lookahead == '\"') - ADVANCE(112); + ADVANCE(117); if (lookahead == '#') ADVANCE(3); + if (lookahead == '&') + ADVANCE(121); if (lookahead == '(') - ADVANCE(94); + ADVANCE(97); if (lookahead == ')') - ADVANCE(109); + ADVANCE(106); if (lookahead == '*') - ADVANCE(95); + ADVANCE(98); if (lookahead == '+') - ADVANCE(125); + ADVANCE(127); if (lookahead == ',') - ADVANCE(122); + ADVANCE(134); if (lookahead == '.') - ADVANCE(150); + ADVANCE(167); if (lookahead == '/') ADVANCE(10); if ('0' <= lookahead && lookahead <= '9') - ADVANCE(116); + ADVANCE(122); if (lookahead == ';') - ADVANCE(141); + ADVANCE(99); if (lookahead == '=') - ADVANCE(143); + ADVANCE(161); if (('A' <= lookahead && lookahead <= 'Z') || (lookahead == 'b') || (lookahead == 'd') || ('f' <= lookahead && lookahead <= 'k') || ('m' <= lookahead && lookahead <= 'q') || ('w' <= lookahead && lookahead <= 'z')) - ADVANCE(12); + ADVANCE(15); if (lookahead == '[') - ADVANCE(106); + ADVANCE(114); if (lookahead == ']') - ADVANCE(119); + ADVANCE(125); if (lookahead == 'a') - ADVANCE(13); + ADVANCE(16); if (lookahead == 'c') - ADVANCE(17); + ADVANCE(20); if (lookahead == 'e') - ADVANCE(22); + ADVANCE(25); if (lookahead == 'l') - ADVANCE(28); + ADVANCE(31); if (lookahead == 'r') - ADVANCE(32); + ADVANCE(35); if (lookahead == 's') - ADVANCE(46); + ADVANCE(49); if (lookahead == 't') - ADVANCE(65); + ADVANCE(68); if (lookahead == 'u') - ADVANCE(72); + ADVANCE(75); if (lookahead == 'v') - ADVANCE(80); + ADVANCE(83); if (lookahead == '{') - ADVANCE(100); + ADVANCE(104); if (lookahead == '}') - ADVANCE(102); + ADVANCE(109); LEX_ERROR(); - case 162: + case 178: START_TOKEN(); if (lookahead == 0) ADVANCE(2); if (lookahead == '\"') - ADVANCE(112); + ADVANCE(117); if (lookahead == '#') ADVANCE(3); + if (lookahead == '&') + ADVANCE(121); if (lookahead == '(') - ADVANCE(94); + ADVANCE(97); if (lookahead == ')') - ADVANCE(109); + ADVANCE(106); if (lookahead == '*') - ADVANCE(95); + ADVANCE(98); if (lookahead == '+') - ADVANCE(125); + ADVANCE(127); if (lookahead == ',') - ADVANCE(122); + ADVANCE(134); if (lookahead == '.') - ADVANCE(150); + ADVANCE(167); if (lookahead == '/') ADVANCE(10); if ('0' <= lookahead && lookahead <= '9') - ADVANCE(116); + ADVANCE(122); if (lookahead == ';') - ADVANCE(141); + ADVANCE(99); if (lookahead == '=') - ADVANCE(143); + ADVANCE(161); if (('A' <= lookahead && lookahead <= 'Z') || (lookahead == 'b') || (lookahead == 'd') || ('f' <= lookahead && lookahead <= 'k') || ('m' <= lookahead && lookahead <= 'q') || ('w' <= lookahead && lookahead <= 'z')) - ADVANCE(12); + ADVANCE(15); if (lookahead == '[') - ADVANCE(106); + ADVANCE(114); if (lookahead == ']') - ADVANCE(119); + ADVANCE(125); if (lookahead == 'a') - ADVANCE(13); + ADVANCE(16); if (lookahead == 'c') - ADVANCE(17); + ADVANCE(20); if (lookahead == 'e') - ADVANCE(22); + ADVANCE(25); if (lookahead == 'l') - ADVANCE(28); + ADVANCE(31); if (lookahead == 'r') - ADVANCE(32); + ADVANCE(35); if (lookahead == 's') - ADVANCE(46); + ADVANCE(49); if (lookahead == 't') - ADVANCE(65); + ADVANCE(68); if (lookahead == 'u') - ADVANCE(72); + ADVANCE(75); if (lookahead == 'v') - ADVANCE(80); + ADVANCE(83); if (lookahead == '{') - ADVANCE(100); + ADVANCE(104); if (lookahead == '}') - ADVANCE(102); + ADVANCE(109); ACCEPT_TOKEN(anon_sym_LF); case ts_lex_state_error: START_TOKEN(); @@ -2215,66 +2487,68 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { if ((lookahead == '\t') || (lookahead == '\r') || (lookahead == ' ')) - ADVANCE(161); + ADVANCE(177); if (lookahead == '\n') - ADVANCE(162); + ADVANCE(178); if (lookahead == '\"') - ADVANCE(112); + ADVANCE(117); if (lookahead == '#') ADVANCE(3); + if (lookahead == '&') + ADVANCE(121); if (lookahead == '(') - ADVANCE(94); + ADVANCE(97); if (lookahead == ')') - ADVANCE(109); + ADVANCE(106); if (lookahead == '*') - ADVANCE(95); + ADVANCE(98); if (lookahead == '+') - ADVANCE(125); + ADVANCE(127); if (lookahead == ',') - ADVANCE(122); + ADVANCE(134); if (lookahead == '.') - ADVANCE(150); + ADVANCE(167); if (lookahead == '/') ADVANCE(10); if ('0' <= lookahead && lookahead <= '9') - ADVANCE(116); + ADVANCE(122); if (lookahead == ';') - ADVANCE(141); + ADVANCE(99); if (lookahead == '=') - ADVANCE(143); + ADVANCE(161); if (('A' <= lookahead && lookahead <= 'Z') || (lookahead == 'b') || (lookahead == 'd') || ('f' <= lookahead && lookahead <= 'k') || ('m' <= lookahead && lookahead <= 'q') || ('w' <= lookahead && lookahead <= 'z')) - ADVANCE(12); + ADVANCE(15); if (lookahead == '[') - ADVANCE(106); + ADVANCE(114); if (lookahead == ']') - ADVANCE(119); + ADVANCE(125); if (lookahead == 'a') - ADVANCE(13); + ADVANCE(16); if (lookahead == 'c') - ADVANCE(17); + ADVANCE(20); if (lookahead == 'e') - ADVANCE(22); + ADVANCE(25); if (lookahead == 'l') - ADVANCE(28); + ADVANCE(31); if (lookahead == 'r') - ADVANCE(32); + ADVANCE(35); if (lookahead == 's') - ADVANCE(46); + ADVANCE(49); if (lookahead == 't') - ADVANCE(65); + ADVANCE(68); if (lookahead == 'u') - ADVANCE(72); + ADVANCE(75); if (lookahead == 'v') - ADVANCE(80); + ADVANCE(83); if (lookahead == '{') - ADVANCE(100); + ADVANCE(104); if (lookahead == '}') - ADVANCE(102); + ADVANCE(109); LEX_ERROR(); default: LEX_ERROR(); @@ -2283,273 +2557,405 @@ static TSTree *ts_lex(TSLexer *lexer, TSStateId lex_state) { static TSStateId ts_lex_states[STATE_COUNT] = { [0] = 1, - [1] = 88, + [1] = 91, [2] = 1, - [3] = 89, - [4] = 92, - [5] = 93, - [6] = 93, - [7] = 88, - [8] = 89, - [9] = 96, - [10] = 96, - [11] = 92, - [12] = 97, - [13] = 99, - [14] = 92, - [15] = 93, - [16] = 101, - [17] = 103, - [18] = 101, - [19] = 93, - [20] = 93, - [21] = 101, - [22] = 96, - [23] = 104, - [24] = 99, - [25] = 93, - [26] = 93, - [27] = 101, - [28] = 103, - [29] = 101, - [30] = 104, - [31] = 93, - [32] = 93, - [33] = 104, - [34] = 93, - [35] = 93, - [36] = 93, - [37] = 104, - [38] = 101, - [39] = 105, - [40] = 93, - [41] = 107, - [42] = 93, - [43] = 93, - [44] = 105, - [45] = 108, - [46] = 110, - [47] = 107, - [48] = 93, - [49] = 110, - [50] = 108, - [51] = 110, - [52] = 110, + [3] = 92, + [4] = 95, + [5] = 96, + [6] = 96, + [7] = 91, + [8] = 92, + [9] = 100, + [10] = 100, + [11] = 95, + [12] = 101, + [13] = 103, + [14] = 95, + [15] = 96, + [16] = 92, + [17] = 105, + [18] = 105, + [19] = 100, + [20] = 103, + [21] = 107, + [22] = 92, + [23] = 105, + [24] = 105, + [25] = 108, + [26] = 110, + [27] = 108, + [28] = 111, + [29] = 111, + [30] = 108, + [31] = 100, + [32] = 112, + [33] = 103, + [34] = 105, + [35] = 111, + [36] = 92, + [37] = 105, + [38] = 111, + [39] = 108, + [40] = 110, + [41] = 108, + [42] = 112, + [43] = 111, + [44] = 111, + [45] = 112, + [46] = 111, + [47] = 105, + [48] = 111, + [49] = 112, + [50] = 113, + [51] = 113, + [52] = 111, [53] = 111, - [54] = 120, - [55] = 89, - [56] = 93, - [57] = 121, - [58] = 108, - [59] = 92, - [60] = 110, - [61] = 121, - [62] = 108, - [63] = 110, - [64] = 121, - [65] = 123, - [66] = 107, - [67] = 93, - [68] = 123, - [69] = 108, - [70] = 123, - [71] = 123, - [72] = 111, - [73] = 120, - [74] = 121, - [75] = 108, - [76] = 123, - [77] = 123, - [78] = 124, - [79] = 124, - [80] = 126, - [81] = 127, - [82] = 127, - [83] = 124, - [84] = 124, - [85] = 128, - [86] = 128, - [87] = 124, - [88] = 108, - [89] = 127, - [90] = 126, - [91] = 124, - [92] = 127, - [93] = 127, - [94] = 128, + [54] = 113, + [55] = 115, + [56] = 116, + [57] = 126, + [58] = 126, + [59] = 128, + [60] = 113, + [61] = 131, + [62] = 126, + [63] = 132, + [64] = 131, + [65] = 131, + [66] = 126, + [67] = 126, + [68] = 133, + [69] = 133, + [70] = 128, + [71] = 126, + [72] = 131, + [73] = 133, + [74] = 132, + [75] = 131, + [76] = 131, + [77] = 133, + [78] = 133, + [79] = 133, + [80] = 133, + [81] = 105, + [82] = 133, + [83] = 131, + [84] = 133, + [85] = 105, + [86] = 133, + [87] = 135, + [88] = 135, + [89] = 105, + [90] = 136, + [91] = 137, + [92] = 137, + [93] = 100, + [94] = 92, [95] = 128, - [96] = 128, - [97] = 128, - [98] = 108, - [99] = 128, - [100] = 128, - [101] = 128, - [102] = 108, - [103] = 124, - [104] = 93, - [105] = 121, - [106] = 124, - [107] = 105, - [108] = 105, - [109] = 111, - [110] = 120, - [111] = 121, - [112] = 108, - [113] = 105, - [114] = 105, - [115] = 124, - [116] = 107, - [117] = 104, - [118] = 93, - [119] = 96, - [120] = 129, - [121] = 138, - [122] = 1, - [123] = 1, - [124] = 93, - [125] = 140, - [126] = 142, - [127] = 144, - [128] = 107, - [129] = 93, - [130] = 144, - [131] = 108, - [132] = 144, - [133] = 144, - [134] = 111, - [135] = 120, - [136] = 121, - [137] = 108, - [138] = 144, - [139] = 144, - [140] = 124, - [141] = 89, - [142] = 93, - [143] = 145, - [144] = 1, - [145] = 103, - [146] = 146, - [147] = 147, - [148] = 140, - [149] = 148, - [150] = 148, - [151] = 149, - [152] = 151, - [153] = 151, - [154] = 147, - [155] = 152, - [156] = 152, - [157] = 153, - [158] = 149, - [159] = 127, - [160] = 96, - [161] = 154, - [162] = 153, - [163] = 124, - [164] = 154, - [165] = 153, - [166] = 151, - [167] = 151, - [168] = 155, - [169] = 151, - [170] = 147, - [171] = 151, - [172] = 151, - [173] = 147, - [174] = 126, - [175] = 127, - [176] = 127, - [177] = 152, - [178] = 152, - [179] = 128, - [180] = 152, - [181] = 108, - [182] = 152, - [183] = 152, - [184] = 151, - [185] = 140, - [186] = 155, - [187] = 140, - [188] = 126, - [189] = 127, - [190] = 127, - [191] = 148, - [192] = 148, - [193] = 128, - [194] = 148, - [195] = 108, - [196] = 148, - [197] = 148, - [198] = 89, - [199] = 93, - [200] = 146, - [201] = 156, - [202] = 156, - [203] = 146, - [204] = 104, - [205] = 1, - [206] = 157, - [207] = 1, - [208] = 146, - [209] = 126, - [210] = 127, - [211] = 127, - [212] = 156, - [213] = 156, - [214] = 128, - [215] = 156, - [216] = 108, - [217] = 156, - [218] = 156, - [219] = 104, - [220] = 140, - [221] = 158, - [222] = 159, - [223] = 107, - [224] = 93, - [225] = 159, - [226] = 108, - [227] = 159, - [228] = 159, + [96] = 103, + [97] = 131, + [98] = 136, + [99] = 137, + [100] = 92, + [101] = 105, + [102] = 135, + [103] = 137, + [104] = 132, + [105] = 131, + [106] = 131, + [107] = 137, + [108] = 137, + [109] = 133, + [110] = 137, + [111] = 105, + [112] = 137, + [113] = 137, + [114] = 108, + [115] = 110, + [116] = 108, + [117] = 112, + [118] = 135, + [119] = 135, + [120] = 112, + [121] = 135, + [122] = 105, + [123] = 137, + [124] = 137, + [125] = 131, + [126] = 137, + [127] = 135, + [128] = 135, + [129] = 138, + [130] = 138, + [131] = 139, + [132] = 140, + [133] = 138, + [134] = 115, + [135] = 116, + [136] = 126, + [137] = 138, + [138] = 138, + [139] = 92, + [140] = 111, + [141] = 141, + [142] = 138, + [143] = 105, + [144] = 138, + [145] = 95, + [146] = 141, + [147] = 105, + [148] = 138, + [149] = 142, + [150] = 142, + [151] = 111, + [152] = 111, + [153] = 142, + [154] = 115, + [155] = 116, + [156] = 126, + [157] = 142, + [158] = 142, + [159] = 141, + [160] = 142, + [161] = 105, + [162] = 142, + [163] = 142, + [164] = 138, + [165] = 138, + [166] = 111, + [167] = 111, + [168] = 138, + [169] = 115, + [170] = 116, + [171] = 126, + [172] = 138, + [173] = 138, + [174] = 141, + [175] = 138, + [176] = 105, + [177] = 138, + [178] = 138, + [179] = 138, + [180] = 138, + [181] = 142, + [182] = 111, + [183] = 142, + [184] = 138, + [185] = 138, + [186] = 135, + [187] = 133, + [188] = 92, + [189] = 131, + [190] = 133, + [191] = 138, + [192] = 105, + [193] = 126, + [194] = 126, + [195] = 105, + [196] = 137, + [197] = 126, + [198] = 131, + [199] = 126, + [200] = 113, + [201] = 141, + [202] = 113, + [203] = 105, + [204] = 113, + [205] = 113, + [206] = 138, + [207] = 113, + [208] = 112, + [209] = 105, + [210] = 105, + [211] = 96, + [212] = 108, + [213] = 110, + [214] = 108, + [215] = 112, + [216] = 96, + [217] = 96, + [218] = 112, + [219] = 96, + [220] = 100, + [221] = 143, + [222] = 1, + [223] = 157, + [224] = 1, + [225] = 96, + [226] = 159, + [227] = 160, + [228] = 160, [229] = 111, - [230] = 120, - [231] = 121, - [232] = 108, - [233] = 159, - [234] = 159, - [235] = 124, + [230] = 1, + [231] = 111, + [232] = 160, + [233] = 115, + [234] = 116, + [235] = 126, [236] = 160, - [237] = 93, - [238] = 146, - [239] = 140, - [240] = 160, - [241] = 146, - [242] = 93, - [243] = 140, + [237] = 160, + [238] = 141, + [239] = 160, + [240] = 105, + [241] = 160, + [242] = 160, + [243] = 138, [244] = 160, - [245] = 146, - [246] = 1, - [247] = 103, - [248] = 140, - [249] = 160, - [250] = 145, - [251] = 145, - [252] = 93, - [253] = 140, - [254] = 160, - [255] = 145, - [256] = 160, - [257] = 1, - [258] = 1, - [259] = 89, - [260] = 93, - [261] = 140, - [262] = 142, - [263] = 103, - [264] = 1, - [265] = 160, - [266] = 1, - [267] = 88, + [245] = 92, + [246] = 96, + [247] = 162, + [248] = 1, + [249] = 110, + [250] = 163, + [251] = 164, + [252] = 159, + [253] = 165, + [254] = 165, + [255] = 128, + [256] = 166, + [257] = 131, + [258] = 165, + [259] = 132, + [260] = 131, + [261] = 131, + [262] = 165, + [263] = 165, + [264] = 133, + [265] = 165, + [266] = 105, + [267] = 165, + [268] = 165, + [269] = 168, + [270] = 168, + [271] = 164, + [272] = 169, + [273] = 169, + [274] = 170, + [275] = 128, + [276] = 166, + [277] = 131, + [278] = 100, + [279] = 131, + [280] = 169, + [281] = 132, + [282] = 131, + [283] = 131, + [284] = 169, + [285] = 169, + [286] = 133, + [287] = 169, + [288] = 105, + [289] = 169, + [290] = 169, + [291] = 171, + [292] = 170, + [293] = 126, + [294] = 171, + [295] = 170, + [296] = 168, + [297] = 168, + [298] = 172, + [299] = 168, + [300] = 164, + [301] = 168, + [302] = 168, + [303] = 105, + [304] = 137, + [305] = 169, + [306] = 131, + [307] = 169, + [308] = 164, + [309] = 168, + [310] = 159, + [311] = 172, + [312] = 159, + [313] = 105, + [314] = 137, + [315] = 165, + [316] = 131, + [317] = 165, + [318] = 92, + [319] = 96, + [320] = 163, + [321] = 173, + [322] = 173, + [323] = 163, + [324] = 112, + [325] = 128, + [326] = 1, + [327] = 131, + [328] = 174, + [329] = 173, + [330] = 132, + [331] = 131, + [332] = 131, + [333] = 173, + [334] = 173, + [335] = 133, + [336] = 173, + [337] = 105, + [338] = 173, + [339] = 173, + [340] = 105, + [341] = 137, + [342] = 173, + [343] = 131, + [344] = 173, + [345] = 1, + [346] = 163, + [347] = 112, + [348] = 159, + [349] = 175, + [350] = 175, + [351] = 111, + [352] = 163, + [353] = 111, + [354] = 175, + [355] = 115, + [356] = 116, + [357] = 126, + [358] = 175, + [359] = 175, + [360] = 141, + [361] = 175, + [362] = 105, + [363] = 175, + [364] = 175, + [365] = 138, + [366] = 175, + [367] = 176, + [368] = 111, + [369] = 163, + [370] = 159, + [371] = 176, + [372] = 163, + [373] = 96, + [374] = 159, + [375] = 176, + [376] = 163, + [377] = 1, + [378] = 110, + [379] = 159, + [380] = 162, + [381] = 176, + [382] = 162, + [383] = 162, + [384] = 96, + [385] = 159, + [386] = 176, + [387] = 162, + [388] = 176, + [389] = 1, + [390] = 1, + [391] = 92, + [392] = 96, + [393] = 159, + [394] = 160, + [395] = 110, + [396] = 1, + [397] = 176, + [398] = 1, + [399] = 91, }; #pragma GCC diagnostic push @@ -2557,20 +2963,21 @@ static TSStateId ts_lex_states[STATE_COUNT] = { static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [0] = { - [sym_program] = ACTIONS(SHIFT(1)), + [sym_translation_unit] = ACTIONS(SHIFT(1)), [sym_preproc_define] = ACTIONS(SHIFT(2)), [sym_function_definition] = ACTIONS(SHIFT(2)), [sym_declaration_specifiers] = ACTIONS(SHIFT(3)), [sym_storage_class_specifier] = ACTIONS(SHIFT(4)), [sym__type_specifier] = ACTIONS(SHIFT(5)), - [sym_type_name] = ACTIONS(SHIFT(6)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(6)), + [sym_macro_type] = ACTIONS(SHIFT(6)), [sym_struct_specifier] = ACTIONS(SHIFT(6)), [sym_declaration] = ACTIONS(SHIFT(2)), [sym_type_qualifier] = ACTIONS(SHIFT(4)), - [aux_sym_program_repeat1] = ACTIONS(SHIFT(7)), + [aux_sym_translation_unit_repeat1] = ACTIONS(SHIFT(7)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(SHIFT(8)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(9)), - [ts_builtin_sym_end] = ACTIONS(REDUCE(sym_program, 0)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(9)), + [ts_builtin_sym_end] = ACTIONS(REDUCE(sym_translation_unit, 0)), [anon_sym_POUNDdefine] = ACTIONS(SHIFT(10)), [anon_sym_typedef] = ACTIONS(SHIFT(11)), [anon_sym_extern] = ACTIONS(SHIFT(11)), @@ -2598,14 +3005,15 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_declaration_specifiers] = ACTIONS(SHIFT(3)), [sym_storage_class_specifier] = ACTIONS(SHIFT(4)), [sym__type_specifier] = ACTIONS(SHIFT(5)), - [sym_type_name] = ACTIONS(SHIFT(6)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(6)), + [sym_macro_type] = ACTIONS(SHIFT(6)), [sym_struct_specifier] = ACTIONS(SHIFT(6)), [sym_declaration] = ACTIONS(SHIFT(2)), [sym_type_qualifier] = ACTIONS(SHIFT(4)), - [aux_sym_program_repeat1] = ACTIONS(SHIFT(267)), + [aux_sym_translation_unit_repeat1] = ACTIONS(SHIFT(399)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(SHIFT(8)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(9)), - [ts_builtin_sym_end] = ACTIONS(REDUCE(aux_sym_program_repeat1, 1)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(9)), + [ts_builtin_sym_end] = ACTIONS(REDUCE(aux_sym_translation_unit_repeat1, 1)), [anon_sym_POUNDdefine] = ACTIONS(SHIFT(10)), [anon_sym_typedef] = ACTIONS(SHIFT(11)), [anon_sym_extern] = ACTIONS(SHIFT(11)), @@ -2624,10 +3032,11 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [3] = { - [sym__type_specifier] = ACTIONS(SHIFT(260)), - [sym_type_name] = ACTIONS(SHIFT(6)), + [sym__type_specifier] = ACTIONS(SHIFT(392)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(6)), + [sym_macro_type] = ACTIONS(SHIFT(6)), [sym_struct_specifier] = ACTIONS(SHIFT(6)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(9)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(9)), [anon_sym_signed] = ACTIONS(SHIFT(12)), [anon_sym_unsigned] = ACTIONS(SHIFT(12)), [anon_sym_long] = ACTIONS(SHIFT(12)), @@ -2639,11 +3048,12 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [4] = { [sym_storage_class_specifier] = ACTIONS(SHIFT(4)), [sym__type_specifier] = ACTIONS(REDUCE(aux_sym_declaration_specifiers_repeat1, 1)), - [sym_type_name] = ACTIONS(REDUCE(aux_sym_declaration_specifiers_repeat1, 1)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(aux_sym_declaration_specifiers_repeat1, 1)), + [sym_macro_type] = ACTIONS(REDUCE(aux_sym_declaration_specifiers_repeat1, 1)), [sym_struct_specifier] = ACTIONS(REDUCE(aux_sym_declaration_specifiers_repeat1, 1)), [sym_type_qualifier] = ACTIONS(SHIFT(4)), - [aux_sym_declaration_specifiers_repeat1] = ACTIONS(SHIFT(259)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(aux_sym_declaration_specifiers_repeat1, 1)), + [aux_sym_declaration_specifiers_repeat1] = ACTIONS(SHIFT(391)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(aux_sym_declaration_specifiers_repeat1, 1)), [anon_sym_typedef] = ACTIONS(SHIFT(11)), [anon_sym_extern] = ACTIONS(SHIFT(11)), [anon_sym_static] = ACTIONS(SHIFT(11)), @@ -2661,36 +3071,39 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [5] = { - [sym__init_declarator] = ACTIONS(SHIFT(125)), - [sym_declarator] = ACTIONS(SHIFT(126)), - [sym__direct_declarator] = ACTIONS(SHIFT(127)), - [sym_pointer] = ACTIONS(SHIFT(40)), - [aux_sym_declarator_repeat1] = ACTIONS(SHIFT(128)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(129)), - [anon_sym_STAR] = ACTIONS(SHIFT(43)), - [sym_identifier] = ACTIONS(SHIFT(130)), + [sym__init_declarator] = ACTIONS(SHIFT(226)), + [sym__declarator] = ACTIONS(SHIFT(227)), + [sym_pointer_declarator] = ACTIONS(SHIFT(228)), + [sym_function_declarator] = ACTIONS(SHIFT(228)), + [sym_array_declarator] = ACTIONS(SHIFT(228)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(229)), + [anon_sym_SEMI] = ACTIONS(SHIFT(230)), + [anon_sym_STAR] = ACTIONS(SHIFT(231)), + [sym_identifier] = ACTIONS(SHIFT(228)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [6] = { [sym__init_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), - [sym_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), - [sym__direct_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), - [sym_pointer] = ACTIONS(REDUCE(sym__type_specifier, 1)), - [aux_sym_declarator_repeat1] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym__declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_pointer_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_function_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_array_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym__type_specifier, 1)), [anon_sym_STAR] = ACTIONS(REDUCE(sym__type_specifier, 1)), [sym_identifier] = ACTIONS(REDUCE(sym__type_specifier, 1)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [7] = { - [ts_builtin_sym_end] = ACTIONS(REDUCE(sym_program, 1)), + [ts_builtin_sym_end] = ACTIONS(REDUCE(sym_translation_unit, 1)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [8] = { [sym__type_specifier] = ACTIONS(REDUCE(sym_declaration_specifiers, 1)), - [sym_type_name] = ACTIONS(REDUCE(sym_declaration_specifiers, 1)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_declaration_specifiers, 1)), + [sym_macro_type] = ACTIONS(REDUCE(sym_declaration_specifiers, 1)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_declaration_specifiers, 1)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_declaration_specifiers, 1)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_declaration_specifiers, 1)), [anon_sym_signed] = ACTIONS(REDUCE(sym_declaration_specifiers, 1)), [anon_sym_unsigned] = ACTIONS(REDUCE(sym_declaration_specifiers, 1)), [anon_sym_long] = ACTIONS(REDUCE(sym_declaration_specifiers, 1)), @@ -2700,21 +3113,22 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [9] = { - [sym_identifier] = ACTIONS(SHIFT(124)), + [sym_identifier] = ACTIONS(SHIFT(225)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [10] = { - [sym_identifier] = ACTIONS(SHIFT(120)), + [sym_identifier] = ACTIONS(SHIFT(221)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [11] = { [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_storage_class_specifier, 1)), [sym__type_specifier] = ACTIONS(REDUCE(sym_storage_class_specifier, 1)), - [sym_type_name] = ACTIONS(REDUCE(sym_storage_class_specifier, 1)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_storage_class_specifier, 1)), + [sym_macro_type] = ACTIONS(REDUCE(sym_storage_class_specifier, 1)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_storage_class_specifier, 1)), [sym_type_qualifier] = ACTIONS(REDUCE(sym_storage_class_specifier, 1)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_storage_class_specifier, 1)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_storage_class_specifier, 1)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_storage_class_specifier, 1)), [anon_sym_typedef] = ACTIONS(REDUCE(sym_storage_class_specifier, 1)), [anon_sym_extern] = ACTIONS(REDUCE(sym_storage_class_specifier, 1)), [anon_sym_static] = ACTIONS(REDUCE(sym_storage_class_specifier, 1)), @@ -2732,27 +3146,28 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [12] = { - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(119)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(220)), [anon_sym_signed] = ACTIONS(SHIFT(12)), [anon_sym_unsigned] = ACTIONS(SHIFT(12)), [anon_sym_long] = ACTIONS(SHIFT(12)), [anon_sym_short] = ACTIONS(SHIFT(12)), - [sym_identifier] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 1)), + [sym_identifier] = ACTIONS(REDUCE(aux_sym_numeric_type_specifier_repeat1, 1)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [13] = { - [anon_sym_LBRACE] = ACTIONS(SHIFT(16)), - [sym_identifier] = ACTIONS(SHIFT(17)), + [anon_sym_LBRACE] = ACTIONS(SHIFT(212)), + [sym_identifier] = ACTIONS(SHIFT(213)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [14] = { [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_type_qualifier, 1)), [sym__type_specifier] = ACTIONS(REDUCE(sym_type_qualifier, 1)), - [sym_type_name] = ACTIONS(REDUCE(sym_type_qualifier, 1)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_type_qualifier, 1)), + [sym_macro_type] = ACTIONS(REDUCE(sym_type_qualifier, 1)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_type_qualifier, 1)), [sym_type_qualifier] = ACTIONS(REDUCE(sym_type_qualifier, 1)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_type_qualifier, 1)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_type_qualifier, 1)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_type_qualifier, 1)), [anon_sym_typedef] = ACTIONS(REDUCE(sym_type_qualifier, 1)), [anon_sym_extern] = ACTIONS(REDUCE(sym_type_qualifier, 1)), [anon_sym_static] = ACTIONS(REDUCE(sym_type_qualifier, 1)), @@ -2770,880 +3185,1230 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [15] = { - [sym__init_declarator] = ACTIONS(REDUCE(sym_type_name, 1)), - [sym_declarator] = ACTIONS(REDUCE(sym_type_name, 1)), - [sym__direct_declarator] = ACTIONS(REDUCE(sym_type_name, 1)), - [sym_pointer] = ACTIONS(REDUCE(sym_type_name, 1)), - [aux_sym_declarator_repeat1] = ACTIONS(REDUCE(sym_type_name, 1)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_type_name, 1)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_type_name, 1)), - [sym_identifier] = ACTIONS(REDUCE(sym_type_name, 1)), + [sym__init_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym__declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_pointer_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_function_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_array_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__type_specifier, 1), SHIFT(16)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_identifier] = ACTIONS(REDUCE(sym__type_specifier, 1)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [16] = { - [sym__type_specifier] = ACTIONS(SHIFT(19)), - [sym_type_name] = ACTIONS(SHIFT(20)), - [sym_struct_specifier] = ACTIONS(SHIFT(20)), - [sym_struct_declaration] = ACTIONS(SHIFT(21)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(22)), - [aux_sym_struct_specifier_repeat1] = ACTIONS(SHIFT(117)), + [sym__type_specifier] = ACTIONS(SHIFT(17)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(18)), + [sym_macro_type] = ACTIONS(SHIFT(18)), + [sym_struct_specifier] = ACTIONS(SHIFT(18)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(19)), [anon_sym_signed] = ACTIONS(SHIFT(12)), [anon_sym_unsigned] = ACTIONS(SHIFT(12)), [anon_sym_long] = ACTIONS(SHIFT(12)), [anon_sym_short] = ACTIONS(SHIFT(12)), - [anon_sym_struct] = ACTIONS(SHIFT(24)), - [anon_sym_RBRACE] = ACTIONS(SHIFT(118)), - [sym_identifier] = ACTIONS(SHIFT(26)), + [anon_sym_struct] = ACTIONS(SHIFT(20)), + [sym_identifier] = ACTIONS(SHIFT(21)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [17] = { - [anon_sym_LBRACE] = ACTIONS(SHIFT(18)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(211)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [18] = { - [sym__type_specifier] = ACTIONS(SHIFT(19)), - [sym_type_name] = ACTIONS(SHIFT(20)), - [sym_struct_specifier] = ACTIONS(SHIFT(20)), - [sym_struct_declaration] = ACTIONS(SHIFT(21)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(22)), - [aux_sym_struct_specifier_repeat1] = ACTIONS(SHIFT(23)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [19] = { + [sym_identifier] = ACTIONS(SHIFT(210)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [20] = { + [anon_sym_LBRACE] = ACTIONS(SHIFT(25)), + [sym_identifier] = ACTIONS(SHIFT(26)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [21] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(22)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [22] = { + [sym__type_specifier] = ACTIONS(SHIFT(23)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(18)), + [sym_macro_type] = ACTIONS(SHIFT(18)), + [sym_struct_specifier] = ACTIONS(SHIFT(18)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(19)), [anon_sym_signed] = ACTIONS(SHIFT(12)), [anon_sym_unsigned] = ACTIONS(SHIFT(12)), [anon_sym_long] = ACTIONS(SHIFT(12)), [anon_sym_short] = ACTIONS(SHIFT(12)), - [anon_sym_struct] = ACTIONS(SHIFT(24)), - [anon_sym_RBRACE] = ACTIONS(SHIFT(25)), - [sym_identifier] = ACTIONS(SHIFT(26)), + [anon_sym_struct] = ACTIONS(SHIFT(20)), + [sym_identifier] = ACTIONS(SHIFT(21)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [19] = { - [sym_declarator] = ACTIONS(SHIFT(38)), - [sym__direct_declarator] = ACTIONS(SHIFT(39)), - [sym_pointer] = ACTIONS(SHIFT(40)), - [aux_sym_declarator_repeat1] = ACTIONS(SHIFT(41)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(42)), - [anon_sym_STAR] = ACTIONS(SHIFT(43)), - [sym_identifier] = ACTIONS(SHIFT(44)), + [23] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(24)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [20] = { - [sym_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), - [sym__direct_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), - [sym_pointer] = ACTIONS(REDUCE(sym__type_specifier, 1)), - [aux_sym_declarator_repeat1] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [24] = { + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_macro_type, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [25] = { + [sym__type_specifier] = ACTIONS(SHIFT(28)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(29)), + [sym_macro_type] = ACTIONS(SHIFT(29)), + [sym_struct_specifier] = ACTIONS(SHIFT(29)), + [sym_struct_declaration] = ACTIONS(SHIFT(30)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(31)), + [aux_sym_struct_specifier_repeat1] = ACTIONS(SHIFT(208)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_struct] = ACTIONS(SHIFT(33)), + [anon_sym_RBRACE] = ACTIONS(SHIFT(209)), + [sym_identifier] = ACTIONS(SHIFT(35)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [26] = { + [anon_sym_LBRACE] = ACTIONS(SHIFT(27)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [27] = { + [sym__type_specifier] = ACTIONS(SHIFT(28)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(29)), + [sym_macro_type] = ACTIONS(SHIFT(29)), + [sym_struct_specifier] = ACTIONS(SHIFT(29)), + [sym_struct_declaration] = ACTIONS(SHIFT(30)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(31)), + [aux_sym_struct_specifier_repeat1] = ACTIONS(SHIFT(32)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_struct] = ACTIONS(SHIFT(33)), + [anon_sym_RBRACE] = ACTIONS(SHIFT(34)), + [sym_identifier] = ACTIONS(SHIFT(35)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [28] = { + [sym__declarator] = ACTIONS(SHIFT(50)), + [sym_pointer_declarator] = ACTIONS(SHIFT(51)), + [sym_function_declarator] = ACTIONS(SHIFT(51)), + [sym_array_declarator] = ACTIONS(SHIFT(51)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(52)), + [anon_sym_STAR] = ACTIONS(SHIFT(53)), + [sym_identifier] = ACTIONS(SHIFT(51)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [29] = { + [sym__declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_pointer_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_function_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_array_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__type_specifier, 1)), [anon_sym_STAR] = ACTIONS(REDUCE(sym__type_specifier, 1)), [sym_identifier] = ACTIONS(REDUCE(sym__type_specifier, 1)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [21] = { - [sym__type_specifier] = ACTIONS(SHIFT(19)), - [sym_type_name] = ACTIONS(SHIFT(20)), - [sym_struct_specifier] = ACTIONS(SHIFT(20)), - [sym_struct_declaration] = ACTIONS(SHIFT(21)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(22)), - [aux_sym_struct_specifier_repeat1] = ACTIONS(SHIFT(37)), - [anon_sym_signed] = ACTIONS(SHIFT(12)), - [anon_sym_unsigned] = ACTIONS(SHIFT(12)), - [anon_sym_long] = ACTIONS(SHIFT(12)), - [anon_sym_short] = ACTIONS(SHIFT(12)), - [anon_sym_struct] = ACTIONS(SHIFT(24)), - [anon_sym_RBRACE] = ACTIONS(REDUCE(aux_sym_struct_specifier_repeat1, 1)), - [sym_identifier] = ACTIONS(SHIFT(26)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [22] = { - [sym_identifier] = ACTIONS(SHIFT(36)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [23] = { - [anon_sym_RBRACE] = ACTIONS(SHIFT(35)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [24] = { - [anon_sym_LBRACE] = ACTIONS(SHIFT(27)), - [sym_identifier] = ACTIONS(SHIFT(28)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [25] = { - [sym__init_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 4)), - [sym_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 4)), - [sym__direct_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 4)), - [sym_pointer] = ACTIONS(REDUCE(sym_struct_specifier, 4)), - [aux_sym_declarator_repeat1] = ACTIONS(REDUCE(sym_struct_specifier, 4)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_struct_specifier, 4)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_struct_specifier, 4)), - [sym_identifier] = ACTIONS(REDUCE(sym_struct_specifier, 4)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [26] = { - [sym_declarator] = ACTIONS(REDUCE(sym_type_name, 1)), - [sym__direct_declarator] = ACTIONS(REDUCE(sym_type_name, 1)), - [sym_pointer] = ACTIONS(REDUCE(sym_type_name, 1)), - [aux_sym_declarator_repeat1] = ACTIONS(REDUCE(sym_type_name, 1)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_type_name, 1)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_type_name, 1)), - [sym_identifier] = ACTIONS(REDUCE(sym_type_name, 1)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [27] = { - [sym__type_specifier] = ACTIONS(SHIFT(19)), - [sym_type_name] = ACTIONS(SHIFT(20)), - [sym_struct_specifier] = ACTIONS(SHIFT(20)), - [sym_struct_declaration] = ACTIONS(SHIFT(21)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(22)), - [aux_sym_struct_specifier_repeat1] = ACTIONS(SHIFT(33)), - [anon_sym_signed] = ACTIONS(SHIFT(12)), - [anon_sym_unsigned] = ACTIONS(SHIFT(12)), - [anon_sym_long] = ACTIONS(SHIFT(12)), - [anon_sym_short] = ACTIONS(SHIFT(12)), - [anon_sym_struct] = ACTIONS(SHIFT(24)), - [anon_sym_RBRACE] = ACTIONS(SHIFT(34)), - [sym_identifier] = ACTIONS(SHIFT(26)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [28] = { - [anon_sym_LBRACE] = ACTIONS(SHIFT(29)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [29] = { - [sym__type_specifier] = ACTIONS(SHIFT(19)), - [sym_type_name] = ACTIONS(SHIFT(20)), - [sym_struct_specifier] = ACTIONS(SHIFT(20)), - [sym_struct_declaration] = ACTIONS(SHIFT(21)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(22)), - [aux_sym_struct_specifier_repeat1] = ACTIONS(SHIFT(30)), - [anon_sym_signed] = ACTIONS(SHIFT(12)), - [anon_sym_unsigned] = ACTIONS(SHIFT(12)), - [anon_sym_long] = ACTIONS(SHIFT(12)), - [anon_sym_short] = ACTIONS(SHIFT(12)), - [anon_sym_struct] = ACTIONS(SHIFT(24)), - [anon_sym_RBRACE] = ACTIONS(SHIFT(31)), - [sym_identifier] = ACTIONS(SHIFT(26)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, [30] = { - [anon_sym_RBRACE] = ACTIONS(SHIFT(32)), + [sym__type_specifier] = ACTIONS(SHIFT(28)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(29)), + [sym_macro_type] = ACTIONS(SHIFT(29)), + [sym_struct_specifier] = ACTIONS(SHIFT(29)), + [sym_struct_declaration] = ACTIONS(SHIFT(30)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(31)), + [aux_sym_struct_specifier_repeat1] = ACTIONS(SHIFT(49)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_struct] = ACTIONS(SHIFT(33)), + [anon_sym_RBRACE] = ACTIONS(REDUCE(aux_sym_struct_specifier_repeat1, 1)), + [sym_identifier] = ACTIONS(SHIFT(35)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [31] = { - [sym_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 4)), - [sym__direct_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 4)), - [sym_pointer] = ACTIONS(REDUCE(sym_struct_specifier, 4)), - [aux_sym_declarator_repeat1] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [sym_identifier] = ACTIONS(SHIFT(48)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [32] = { + [anon_sym_RBRACE] = ACTIONS(SHIFT(47)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [33] = { + [anon_sym_LBRACE] = ACTIONS(SHIFT(39)), + [sym_identifier] = ACTIONS(SHIFT(40)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [34] = { + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [35] = { + [sym__declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_pointer_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_function_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_array_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__type_specifier, 1), SHIFT(36)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_identifier] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [36] = { + [sym__type_specifier] = ACTIONS(SHIFT(37)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(18)), + [sym_macro_type] = ACTIONS(SHIFT(18)), + [sym_struct_specifier] = ACTIONS(SHIFT(18)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(19)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_struct] = ACTIONS(SHIFT(20)), + [sym_identifier] = ACTIONS(SHIFT(21)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [37] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(38)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [38] = { + [sym__declarator] = ACTIONS(REDUCE(sym_macro_type, 4)), + [sym_pointer_declarator] = ACTIONS(REDUCE(sym_macro_type, 4)), + [sym_function_declarator] = ACTIONS(REDUCE(sym_macro_type, 4)), + [sym_array_declarator] = ACTIONS(REDUCE(sym_macro_type, 4)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_macro_type, 4)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_macro_type, 4)), + [sym_identifier] = ACTIONS(REDUCE(sym_macro_type, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [39] = { + [sym__type_specifier] = ACTIONS(SHIFT(28)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(29)), + [sym_macro_type] = ACTIONS(SHIFT(29)), + [sym_struct_specifier] = ACTIONS(SHIFT(29)), + [sym_struct_declaration] = ACTIONS(SHIFT(30)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(31)), + [aux_sym_struct_specifier_repeat1] = ACTIONS(SHIFT(45)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_struct] = ACTIONS(SHIFT(33)), + [anon_sym_RBRACE] = ACTIONS(SHIFT(46)), + [sym_identifier] = ACTIONS(SHIFT(35)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [40] = { + [anon_sym_LBRACE] = ACTIONS(SHIFT(41)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [41] = { + [sym__type_specifier] = ACTIONS(SHIFT(28)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(29)), + [sym_macro_type] = ACTIONS(SHIFT(29)), + [sym_struct_specifier] = ACTIONS(SHIFT(29)), + [sym_struct_declaration] = ACTIONS(SHIFT(30)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(31)), + [aux_sym_struct_specifier_repeat1] = ACTIONS(SHIFT(42)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_struct] = ACTIONS(SHIFT(33)), + [anon_sym_RBRACE] = ACTIONS(SHIFT(43)), + [sym_identifier] = ACTIONS(SHIFT(35)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [42] = { + [anon_sym_RBRACE] = ACTIONS(SHIFT(44)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [43] = { + [sym__declarator] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [sym_pointer_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [sym_function_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [sym_array_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 4)), [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_struct_specifier, 4)), [anon_sym_STAR] = ACTIONS(REDUCE(sym_struct_specifier, 4)), [sym_identifier] = ACTIONS(REDUCE(sym_struct_specifier, 4)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [32] = { - [sym_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 5)), - [sym__direct_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 5)), - [sym_pointer] = ACTIONS(REDUCE(sym_struct_specifier, 5)), - [aux_sym_declarator_repeat1] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [44] = { + [sym__declarator] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [sym_pointer_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [sym_function_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [sym_array_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 5)), [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_struct_specifier, 5)), [anon_sym_STAR] = ACTIONS(REDUCE(sym_struct_specifier, 5)), [sym_identifier] = ACTIONS(REDUCE(sym_struct_specifier, 5)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [33] = { - [anon_sym_RBRACE] = ACTIONS(SHIFT(31)), + [45] = { + [anon_sym_RBRACE] = ACTIONS(SHIFT(43)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [34] = { - [sym_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 3)), - [sym__direct_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 3)), - [sym_pointer] = ACTIONS(REDUCE(sym_struct_specifier, 3)), - [aux_sym_declarator_repeat1] = ACTIONS(REDUCE(sym_struct_specifier, 3)), + [46] = { + [sym__declarator] = ACTIONS(REDUCE(sym_struct_specifier, 3)), + [sym_pointer_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 3)), + [sym_function_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 3)), + [sym_array_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 3)), [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_struct_specifier, 3)), [anon_sym_STAR] = ACTIONS(REDUCE(sym_struct_specifier, 3)), [sym_identifier] = ACTIONS(REDUCE(sym_struct_specifier, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [35] = { - [sym__init_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 5)), - [sym_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 5)), - [sym__direct_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 5)), - [sym_pointer] = ACTIONS(REDUCE(sym_struct_specifier, 5)), - [aux_sym_declarator_repeat1] = ACTIONS(REDUCE(sym_struct_specifier, 5)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_struct_specifier, 5)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_struct_specifier, 5)), - [sym_identifier] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [47] = { + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_struct_specifier, 5)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [36] = { - [sym_declarator] = ACTIONS(REDUCE(sym_type_name, 2)), - [sym__direct_declarator] = ACTIONS(REDUCE(sym_type_name, 2)), - [sym_pointer] = ACTIONS(REDUCE(sym_type_name, 2)), - [aux_sym_declarator_repeat1] = ACTIONS(REDUCE(sym_type_name, 2)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_type_name, 2)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_type_name, 2)), - [sym_identifier] = ACTIONS(REDUCE(sym_type_name, 2)), + [48] = { + [sym__declarator] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [sym_pointer_declarator] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [sym_function_declarator] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [sym_array_declarator] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [sym_identifier] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [37] = { + [49] = { [anon_sym_RBRACE] = ACTIONS(REDUCE(aux_sym_struct_specifier_repeat1, 2)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [38] = { + [50] = { [sym__type_specifier] = ACTIONS(REDUCE(sym_struct_declaration, 2)), - [sym_type_name] = ACTIONS(REDUCE(sym_struct_declaration, 2)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_struct_declaration, 2)), + [sym_macro_type] = ACTIONS(REDUCE(sym_struct_declaration, 2)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_struct_declaration, 2)), [sym_struct_declaration] = ACTIONS(REDUCE(sym_struct_declaration, 2)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_struct_declaration, 2)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_struct_declaration, 2)), [aux_sym_struct_specifier_repeat1] = ACTIONS(REDUCE(sym_struct_declaration, 2)), [anon_sym_signed] = ACTIONS(REDUCE(sym_struct_declaration, 2)), [anon_sym_unsigned] = ACTIONS(REDUCE(sym_struct_declaration, 2)), [anon_sym_long] = ACTIONS(REDUCE(sym_struct_declaration, 2)), [anon_sym_short] = ACTIONS(REDUCE(sym_struct_declaration, 2)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(55)), [anon_sym_struct] = ACTIONS(REDUCE(sym_struct_declaration, 2)), [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_struct_declaration, 2)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(56)), [sym_identifier] = ACTIONS(REDUCE(sym_struct_declaration, 2)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [39] = { - [sym__type_specifier] = ACTIONS(REDUCE(sym_declarator, 1)), - [sym_type_name] = ACTIONS(REDUCE(sym_declarator, 1)), - [sym_struct_specifier] = ACTIONS(REDUCE(sym_declarator, 1)), - [sym_struct_declaration] = ACTIONS(REDUCE(sym_declarator, 1)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_declarator, 1)), - [aux_sym_struct_specifier_repeat1] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_signed] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_unsigned] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_long] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_short] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_struct] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_LBRACK] = ACTIONS(SHIFT(109)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(110)), - [sym_identifier] = ACTIONS(REDUCE(sym_declarator, 1)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [40] = { - [sym__direct_declarator] = ACTIONS(REDUCE(aux_sym_declarator_repeat1, 1)), - [sym_pointer] = ACTIONS(SHIFT(40)), - [aux_sym_declarator_repeat1] = ACTIONS(SHIFT(116)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(aux_sym_declarator_repeat1, 1)), - [anon_sym_STAR] = ACTIONS(SHIFT(43)), - [sym_identifier] = ACTIONS(REDUCE(aux_sym_declarator_repeat1, 1)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [41] = { - [sym__direct_declarator] = ACTIONS(SHIFT(108)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(42)), - [sym_identifier] = ACTIONS(SHIFT(44)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [42] = { - [sym_declarator] = ACTIONS(SHIFT(45)), - [sym__direct_declarator] = ACTIONS(SHIFT(46)), - [sym_pointer] = ACTIONS(SHIFT(40)), - [aux_sym_declarator_repeat1] = ACTIONS(SHIFT(47)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(48)), - [anon_sym_STAR] = ACTIONS(SHIFT(43)), - [sym_identifier] = ACTIONS(SHIFT(49)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [43] = { - [sym__direct_declarator] = ACTIONS(REDUCE(sym_pointer, 1)), - [sym_pointer] = ACTIONS(REDUCE(sym_pointer, 1)), - [aux_sym_declarator_repeat1] = ACTIONS(REDUCE(sym_pointer, 1)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_pointer, 1)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_pointer, 1)), - [sym_identifier] = ACTIONS(REDUCE(sym_pointer, 1)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [44] = { - [sym__type_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [sym_type_name] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [sym_struct_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [sym_struct_declaration] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [aux_sym_struct_specifier_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_signed] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_unsigned] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_long] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_short] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_struct] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_RBRACE] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [sym_identifier] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [45] = { - [anon_sym_RPAREN] = ACTIONS(SHIFT(107)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [46] = { - [anon_sym_LBRACK] = ACTIONS(SHIFT(53)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(54)), - [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_declarator, 1)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [47] = { - [sym__direct_declarator] = ACTIONS(SHIFT(52)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(48)), - [sym_identifier] = ACTIONS(SHIFT(49)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [48] = { - [sym_declarator] = ACTIONS(SHIFT(50)), - [sym__direct_declarator] = ACTIONS(SHIFT(46)), - [sym_pointer] = ACTIONS(SHIFT(40)), - [aux_sym_declarator_repeat1] = ACTIONS(SHIFT(47)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(48)), - [anon_sym_STAR] = ACTIONS(SHIFT(43)), - [sym_identifier] = ACTIONS(SHIFT(49)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [49] = { - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [50] = { - [anon_sym_RPAREN] = ACTIONS(SHIFT(51)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, [51] = { - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 3)), + [sym__type_specifier] = ACTIONS(REDUCE(sym__declarator, 1)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym__declarator, 1)), + [sym_macro_type] = ACTIONS(REDUCE(sym__declarator, 1)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym__declarator, 1)), + [sym_struct_declaration] = ACTIONS(REDUCE(sym__declarator, 1)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym__declarator, 1)), + [aux_sym_struct_specifier_repeat1] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_signed] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_long] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_short] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_struct] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_RBRACE] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__declarator, 1)), + [sym_identifier] = ACTIONS(REDUCE(sym__declarator, 1)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [52] = { - [anon_sym_LBRACK] = ACTIONS(SHIFT(53)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(54)), - [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_declarator, 2)), + [sym__declarator] = ACTIONS(SHIFT(206)), + [sym_pointer_declarator] = ACTIONS(SHIFT(165)), + [sym_function_declarator] = ACTIONS(SHIFT(165)), + [sym_array_declarator] = ACTIONS(SHIFT(165)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(166)), + [anon_sym_STAR] = ACTIONS(SHIFT(167)), + [sym_identifier] = ACTIONS(SHIFT(165)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [53] = { - [sym_expression] = ACTIONS(SHIFT(106)), - [sym_math_expression] = ACTIONS(SHIFT(79)), - [sym_call_expression] = ACTIONS(SHIFT(79)), - [anon_sym_RBRACK] = ACTIONS(SHIFT(51)), - [sym_string] = ACTIONS(SHIFT(79)), - [sym_identifier] = ACTIONS(SHIFT(79)), - [sym_number] = ACTIONS(SHIFT(79)), + [sym__declarator] = ACTIONS(SHIFT(54)), + [sym_pointer_declarator] = ACTIONS(SHIFT(51)), + [sym_function_declarator] = ACTIONS(SHIFT(51)), + [sym_array_declarator] = ACTIONS(SHIFT(51)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(52)), + [anon_sym_STAR] = ACTIONS(SHIFT(53)), + [sym_identifier] = ACTIONS(SHIFT(51)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [54] = { - [sym_declaration_specifiers] = ACTIONS(SHIFT(55)), - [sym_storage_class_specifier] = ACTIONS(SHIFT(4)), - [sym__type_specifier] = ACTIONS(SHIFT(56)), - [sym_type_name] = ACTIONS(SHIFT(20)), - [sym_struct_specifier] = ACTIONS(SHIFT(20)), - [sym_parameter_declaration] = ACTIONS(SHIFT(57)), - [sym_type_qualifier] = ACTIONS(SHIFT(4)), - [aux_sym_declaration_specifiers_repeat1] = ACTIONS(SHIFT(8)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(22)), - [anon_sym_typedef] = ACTIONS(SHIFT(11)), - [anon_sym_extern] = ACTIONS(SHIFT(11)), - [anon_sym_static] = ACTIONS(SHIFT(11)), - [anon_sym_auto] = ACTIONS(SHIFT(11)), - [anon_sym_register] = ACTIONS(SHIFT(11)), - [anon_sym_signed] = ACTIONS(SHIFT(12)), - [anon_sym_unsigned] = ACTIONS(SHIFT(12)), - [anon_sym_long] = ACTIONS(SHIFT(12)), - [anon_sym_short] = ACTIONS(SHIFT(12)), - [anon_sym_struct] = ACTIONS(SHIFT(24)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(51)), - [anon_sym_const] = ACTIONS(SHIFT(14)), - [anon_sym_restrict] = ACTIONS(SHIFT(14)), - [anon_sym_volatile] = ACTIONS(SHIFT(14)), - [sym_identifier] = ACTIONS(SHIFT(26)), + [sym__type_specifier] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [sym_macro_type] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [sym_struct_declaration] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [aux_sym_struct_specifier_repeat1] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_signed] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_long] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_short] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(55)), + [anon_sym_struct] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(56)), + [sym_identifier] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [55] = { - [sym__type_specifier] = ACTIONS(SHIFT(104)), - [sym_type_name] = ACTIONS(SHIFT(20)), - [sym_struct_specifier] = ACTIONS(SHIFT(20)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(22)), + [sym_declaration_specifiers] = ACTIONS(SHIFT(139)), + [sym_storage_class_specifier] = ACTIONS(SHIFT(4)), + [sym__type_specifier] = ACTIONS(SHIFT(140)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(29)), + [sym_macro_type] = ACTIONS(SHIFT(29)), + [sym_struct_specifier] = ACTIONS(SHIFT(29)), + [sym_parameter_declaration] = ACTIONS(SHIFT(201)), + [sym_type_qualifier] = ACTIONS(SHIFT(4)), + [aux_sym_declaration_specifiers_repeat1] = ACTIONS(SHIFT(8)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(31)), + [anon_sym_typedef] = ACTIONS(SHIFT(11)), + [anon_sym_extern] = ACTIONS(SHIFT(11)), + [anon_sym_static] = ACTIONS(SHIFT(11)), + [anon_sym_auto] = ACTIONS(SHIFT(11)), + [anon_sym_register] = ACTIONS(SHIFT(11)), [anon_sym_signed] = ACTIONS(SHIFT(12)), [anon_sym_unsigned] = ACTIONS(SHIFT(12)), [anon_sym_long] = ACTIONS(SHIFT(12)), [anon_sym_short] = ACTIONS(SHIFT(12)), - [anon_sym_struct] = ACTIONS(SHIFT(24)), - [sym_identifier] = ACTIONS(SHIFT(26)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(202)), + [anon_sym_struct] = ACTIONS(SHIFT(33)), + [anon_sym_const] = ACTIONS(SHIFT(14)), + [anon_sym_restrict] = ACTIONS(SHIFT(14)), + [anon_sym_volatile] = ACTIONS(SHIFT(14)), + [sym_identifier] = ACTIONS(SHIFT(35)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [56] = { - [sym_declarator] = ACTIONS(SHIFT(64)), - [sym__direct_declarator] = ACTIONS(SHIFT(65)), - [sym_pointer] = ACTIONS(SHIFT(40)), - [aux_sym_declarator_repeat1] = ACTIONS(SHIFT(66)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(67)), - [anon_sym_STAR] = ACTIONS(SHIFT(43)), - [sym_identifier] = ACTIONS(SHIFT(68)), + [sym__expression] = ACTIONS(SHIFT(57)), + [sym_cast_expression] = ACTIONS(SHIFT(58)), + [sym_math_expression] = ACTIONS(SHIFT(58)), + [sym_call_expression] = ACTIONS(SHIFT(58)), + [sym_pointer_expression] = ACTIONS(SHIFT(58)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(59)), + [anon_sym_RBRACK] = ACTIONS(SHIFT(60)), + [anon_sym_STAR] = ACTIONS(SHIFT(61)), + [anon_sym_AMP] = ACTIONS(SHIFT(61)), + [sym_string] = ACTIONS(SHIFT(58)), + [sym_identifier] = ACTIONS(SHIFT(58)), + [sym_number] = ACTIONS(SHIFT(58)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [57] = { - [aux_sym__direct_declarator_repeat1] = ACTIONS(SHIFT(58)), - [anon_sym_COMMA] = ACTIONS(SHIFT(59)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(60)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(63)), + [anon_sym_RBRACK] = ACTIONS(SHIFT(200)), + [anon_sym_STAR] = ACTIONS(SHIFT(64)), + [anon_sym_PLUS] = ACTIONS(SHIFT(65)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [58] = { - [anon_sym_RPAREN] = ACTIONS(SHIFT(63)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_RBRACK] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym__expression, 1)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [59] = { - [sym_declaration_specifiers] = ACTIONS(SHIFT(55)), - [sym_storage_class_specifier] = ACTIONS(SHIFT(4)), - [sym__type_specifier] = ACTIONS(SHIFT(56)), - [sym_type_name] = ACTIONS(SHIFT(20)), - [sym_struct_specifier] = ACTIONS(SHIFT(20)), - [sym_parameter_declaration] = ACTIONS(SHIFT(61)), - [sym_type_qualifier] = ACTIONS(SHIFT(4)), - [aux_sym_declaration_specifiers_repeat1] = ACTIONS(SHIFT(8)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(22)), - [anon_sym_typedef] = ACTIONS(SHIFT(11)), - [anon_sym_extern] = ACTIONS(SHIFT(11)), - [anon_sym_static] = ACTIONS(SHIFT(11)), - [anon_sym_auto] = ACTIONS(SHIFT(11)), - [anon_sym_register] = ACTIONS(SHIFT(11)), + [sym__type_specifier] = ACTIONS(SHIFT(87)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(88)), + [sym_macro_type] = ACTIONS(SHIFT(88)), + [sym_struct_specifier] = ACTIONS(SHIFT(88)), + [sym_type_name] = ACTIONS(SHIFT(195)), + [sym_type_qualifier] = ACTIONS(SHIFT(90)), + [sym__expression] = ACTIONS(SHIFT(196)), + [sym_cast_expression] = ACTIONS(SHIFT(92)), + [sym_math_expression] = ACTIONS(SHIFT(92)), + [sym_call_expression] = ACTIONS(SHIFT(92)), + [sym_pointer_expression] = ACTIONS(SHIFT(92)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(93)), + [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(94)), [anon_sym_signed] = ACTIONS(SHIFT(12)), [anon_sym_unsigned] = ACTIONS(SHIFT(12)), [anon_sym_long] = ACTIONS(SHIFT(12)), [anon_sym_short] = ACTIONS(SHIFT(12)), - [anon_sym_struct] = ACTIONS(SHIFT(24)), - [anon_sym_const] = ACTIONS(SHIFT(14)), - [anon_sym_restrict] = ACTIONS(SHIFT(14)), - [anon_sym_volatile] = ACTIONS(SHIFT(14)), - [sym_identifier] = ACTIONS(SHIFT(26)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(95)), + [anon_sym_struct] = ACTIONS(SHIFT(96)), + [anon_sym_STAR] = ACTIONS(SHIFT(97)), + [anon_sym_const] = ACTIONS(SHIFT(98)), + [anon_sym_restrict] = ACTIONS(SHIFT(98)), + [anon_sym_volatile] = ACTIONS(SHIFT(98)), + [anon_sym_AMP] = ACTIONS(SHIFT(97)), + [sym_string] = ACTIONS(SHIFT(92)), + [sym_identifier] = ACTIONS(SHIFT(99)), + [sym_number] = ACTIONS(SHIFT(92)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [60] = { - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 4)), + [sym__type_specifier] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [sym_macro_type] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [sym_struct_declaration] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [aux_sym_struct_specifier_repeat1] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_signed] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_long] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_short] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_struct] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [sym_identifier] = ACTIONS(REDUCE(sym_array_declarator, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [61] = { - [aux_sym__direct_declarator_repeat1] = ACTIONS(SHIFT(62)), - [anon_sym_COMMA] = ACTIONS(SHIFT(59)), - [anon_sym_RPAREN] = ACTIONS(REDUCE(aux_sym__direct_declarator_repeat1, 2)), + [sym__expression] = ACTIONS(SHIFT(62)), + [sym_cast_expression] = ACTIONS(SHIFT(58)), + [sym_math_expression] = ACTIONS(SHIFT(58)), + [sym_call_expression] = ACTIONS(SHIFT(58)), + [sym_pointer_expression] = ACTIONS(SHIFT(58)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(59)), + [anon_sym_STAR] = ACTIONS(SHIFT(61)), + [anon_sym_AMP] = ACTIONS(SHIFT(61)), + [sym_string] = ACTIONS(SHIFT(58)), + [sym_identifier] = ACTIONS(SHIFT(58)), + [sym_number] = ACTIONS(SHIFT(58)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [62] = { - [anon_sym_RPAREN] = ACTIONS(REDUCE(aux_sym__direct_declarator_repeat1, 3)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(63)), + [anon_sym_RBRACK] = ACTIONS(REDUCE(sym_pointer_expression, 2)), + [anon_sym_STAR] = ACTIONS(SHIFT(64)), + [anon_sym_PLUS] = ACTIONS(SHIFT(65)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [63] = { - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 5)), + [sym__expression] = ACTIONS(SHIFT(68)), + [sym_cast_expression] = ACTIONS(SHIFT(69)), + [sym_math_expression] = ACTIONS(SHIFT(69)), + [sym_call_expression] = ACTIONS(SHIFT(69)), + [sym_pointer_expression] = ACTIONS(SHIFT(69)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(70)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(71)), + [anon_sym_STAR] = ACTIONS(SHIFT(72)), + [anon_sym_AMP] = ACTIONS(SHIFT(72)), + [sym_string] = ACTIONS(SHIFT(69)), + [sym_identifier] = ACTIONS(SHIFT(69)), + [sym_number] = ACTIONS(SHIFT(69)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [64] = { - [aux_sym__direct_declarator_repeat1] = ACTIONS(REDUCE(sym_parameter_declaration, 2)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_parameter_declaration, 2)), - [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_parameter_declaration, 2)), + [sym__expression] = ACTIONS(SHIFT(67)), + [sym_cast_expression] = ACTIONS(SHIFT(58)), + [sym_math_expression] = ACTIONS(SHIFT(58)), + [sym_call_expression] = ACTIONS(SHIFT(58)), + [sym_pointer_expression] = ACTIONS(SHIFT(58)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(59)), + [anon_sym_STAR] = ACTIONS(SHIFT(61)), + [anon_sym_AMP] = ACTIONS(SHIFT(61)), + [sym_string] = ACTIONS(SHIFT(58)), + [sym_identifier] = ACTIONS(SHIFT(58)), + [sym_number] = ACTIONS(SHIFT(58)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [65] = { - [aux_sym__direct_declarator_repeat1] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_LBRACK] = ACTIONS(SHIFT(72)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(73)), - [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_declarator, 1)), + [sym__expression] = ACTIONS(SHIFT(66)), + [sym_cast_expression] = ACTIONS(SHIFT(58)), + [sym_math_expression] = ACTIONS(SHIFT(58)), + [sym_call_expression] = ACTIONS(SHIFT(58)), + [sym_pointer_expression] = ACTIONS(SHIFT(58)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(59)), + [anon_sym_STAR] = ACTIONS(SHIFT(61)), + [anon_sym_AMP] = ACTIONS(SHIFT(61)), + [sym_string] = ACTIONS(SHIFT(58)), + [sym_identifier] = ACTIONS(SHIFT(58)), + [sym_number] = ACTIONS(SHIFT(58)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [66] = { - [sym__direct_declarator] = ACTIONS(SHIFT(71)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(67)), - [sym_identifier] = ACTIONS(SHIFT(68)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [67] = { - [sym_declarator] = ACTIONS(SHIFT(69)), - [sym__direct_declarator] = ACTIONS(SHIFT(46)), - [sym_pointer] = ACTIONS(SHIFT(40)), - [aux_sym_declarator_repeat1] = ACTIONS(SHIFT(47)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(48)), - [anon_sym_STAR] = ACTIONS(SHIFT(43)), - [sym_identifier] = ACTIONS(SHIFT(49)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [68] = { - [aux_sym__direct_declarator_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [69] = { - [anon_sym_RPAREN] = ACTIONS(SHIFT(70)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [70] = { - [aux_sym__direct_declarator_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [71] = { - [aux_sym__direct_declarator_repeat1] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_LBRACK] = ACTIONS(SHIFT(72)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(73)), - [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_declarator, 2)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [72] = { - [sym_expression] = ACTIONS(SHIFT(78)), - [sym_math_expression] = ACTIONS(SHIFT(79)), - [sym_call_expression] = ACTIONS(SHIFT(79)), - [anon_sym_RBRACK] = ACTIONS(SHIFT(70)), - [sym_string] = ACTIONS(SHIFT(79)), - [sym_identifier] = ACTIONS(SHIFT(79)), - [sym_number] = ACTIONS(SHIFT(79)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [73] = { - [sym_declaration_specifiers] = ACTIONS(SHIFT(55)), - [sym_storage_class_specifier] = ACTIONS(SHIFT(4)), - [sym__type_specifier] = ACTIONS(SHIFT(56)), - [sym_type_name] = ACTIONS(SHIFT(20)), - [sym_struct_specifier] = ACTIONS(SHIFT(20)), - [sym_parameter_declaration] = ACTIONS(SHIFT(74)), - [sym_type_qualifier] = ACTIONS(SHIFT(4)), - [aux_sym_declaration_specifiers_repeat1] = ACTIONS(SHIFT(8)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(22)), - [anon_sym_typedef] = ACTIONS(SHIFT(11)), - [anon_sym_extern] = ACTIONS(SHIFT(11)), - [anon_sym_static] = ACTIONS(SHIFT(11)), - [anon_sym_auto] = ACTIONS(SHIFT(11)), - [anon_sym_register] = ACTIONS(SHIFT(11)), - [anon_sym_signed] = ACTIONS(SHIFT(12)), - [anon_sym_unsigned] = ACTIONS(SHIFT(12)), - [anon_sym_long] = ACTIONS(SHIFT(12)), - [anon_sym_short] = ACTIONS(SHIFT(12)), - [anon_sym_struct] = ACTIONS(SHIFT(24)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(70)), - [anon_sym_const] = ACTIONS(SHIFT(14)), - [anon_sym_restrict] = ACTIONS(SHIFT(14)), - [anon_sym_volatile] = ACTIONS(SHIFT(14)), - [sym_identifier] = ACTIONS(SHIFT(26)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [74] = { - [aux_sym__direct_declarator_repeat1] = ACTIONS(SHIFT(75)), - [anon_sym_COMMA] = ACTIONS(SHIFT(59)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(76)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [75] = { - [anon_sym_RPAREN] = ACTIONS(SHIFT(77)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [76] = { - [aux_sym__direct_declarator_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [77] = { - [aux_sym__direct_declarator_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [78] = { - [anon_sym_RBRACK] = ACTIONS(SHIFT(76)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(80)), - [anon_sym_STAR] = ACTIONS(SHIFT(81)), - [anon_sym_PLUS] = ACTIONS(SHIFT(82)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [79] = { - [anon_sym_RBRACK] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_PLUS] = ACTIONS(REDUCE(sym_expression, 1)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [80] = { - [sym_expression] = ACTIONS(SHIFT(85)), - [sym_math_expression] = ACTIONS(SHIFT(86)), - [sym_call_expression] = ACTIONS(SHIFT(86)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(87)), - [sym_string] = ACTIONS(SHIFT(86)), - [sym_identifier] = ACTIONS(SHIFT(86)), - [sym_number] = ACTIONS(SHIFT(86)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [81] = { - [sym_expression] = ACTIONS(SHIFT(84)), - [sym_math_expression] = ACTIONS(SHIFT(79)), - [sym_call_expression] = ACTIONS(SHIFT(79)), - [sym_string] = ACTIONS(SHIFT(79)), - [sym_identifier] = ACTIONS(SHIFT(79)), - [sym_number] = ACTIONS(SHIFT(79)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [82] = { - [sym_expression] = ACTIONS(SHIFT(83)), - [sym_math_expression] = ACTIONS(SHIFT(79)), - [sym_call_expression] = ACTIONS(SHIFT(79)), - [sym_string] = ACTIONS(SHIFT(79)), - [sym_identifier] = ACTIONS(SHIFT(79)), - [sym_number] = ACTIONS(SHIFT(79)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [83] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(63)), [anon_sym_RBRACK] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(80)), - [anon_sym_STAR] = ACTIONS(SHIFT(81)), + [anon_sym_STAR] = ACTIONS(SHIFT(64)), [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [84] = { + [67] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(63)), [anon_sym_RBRACK] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(80)), [anon_sym_STAR] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [85] = { - [aux_sym_call_expression_repeat1] = ACTIONS(SHIFT(88)), - [anon_sym_COMMA] = ACTIONS(SHIFT(89)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(90)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(91)), - [anon_sym_STAR] = ACTIONS(SHIFT(92)), - [anon_sym_PLUS] = ACTIONS(SHIFT(93)), + [68] = { + [aux_sym_call_expression_repeat1] = ACTIONS(SHIFT(192)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(74)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(193)), + [anon_sym_COMMA] = ACTIONS(SHIFT(83)), + [anon_sym_STAR] = ACTIONS(SHIFT(75)), + [anon_sym_PLUS] = ACTIONS(SHIFT(76)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [86] = { - [aux_sym_call_expression_repeat1] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_PLUS] = ACTIONS(REDUCE(sym_expression, 1)), + [69] = { + [aux_sym_call_expression_repeat1] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym__expression, 1)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [87] = { - [anon_sym_RBRACK] = ACTIONS(REDUCE(sym_call_expression, 3)), + [70] = { + [sym__type_specifier] = ACTIONS(SHIFT(87)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(88)), + [sym_macro_type] = ACTIONS(SHIFT(88)), + [sym_struct_specifier] = ACTIONS(SHIFT(88)), + [sym_type_name] = ACTIONS(SHIFT(89)), + [sym_type_qualifier] = ACTIONS(SHIFT(90)), + [sym__expression] = ACTIONS(SHIFT(91)), + [sym_cast_expression] = ACTIONS(SHIFT(92)), + [sym_math_expression] = ACTIONS(SHIFT(92)), + [sym_call_expression] = ACTIONS(SHIFT(92)), + [sym_pointer_expression] = ACTIONS(SHIFT(92)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(93)), + [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(94)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(95)), + [anon_sym_struct] = ACTIONS(SHIFT(96)), + [anon_sym_STAR] = ACTIONS(SHIFT(97)), + [anon_sym_const] = ACTIONS(SHIFT(98)), + [anon_sym_restrict] = ACTIONS(SHIFT(98)), + [anon_sym_volatile] = ACTIONS(SHIFT(98)), + [anon_sym_AMP] = ACTIONS(SHIFT(97)), + [sym_string] = ACTIONS(SHIFT(92)), + [sym_identifier] = ACTIONS(SHIFT(99)), + [sym_number] = ACTIONS(SHIFT(92)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [71] = { [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 3)), + [anon_sym_RBRACK] = ACTIONS(REDUCE(sym_call_expression, 3)), [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 3)), [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [88] = { - [anon_sym_RPAREN] = ACTIONS(SHIFT(103)), + [72] = { + [sym__expression] = ACTIONS(SHIFT(73)), + [sym_cast_expression] = ACTIONS(SHIFT(69)), + [sym_math_expression] = ACTIONS(SHIFT(69)), + [sym_call_expression] = ACTIONS(SHIFT(69)), + [sym_pointer_expression] = ACTIONS(SHIFT(69)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(70)), + [anon_sym_STAR] = ACTIONS(SHIFT(72)), + [anon_sym_AMP] = ACTIONS(SHIFT(72)), + [sym_string] = ACTIONS(SHIFT(69)), + [sym_identifier] = ACTIONS(SHIFT(69)), + [sym_number] = ACTIONS(SHIFT(69)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [89] = { - [sym_expression] = ACTIONS(SHIFT(101)), - [sym_math_expression] = ACTIONS(SHIFT(86)), - [sym_call_expression] = ACTIONS(SHIFT(86)), - [sym_string] = ACTIONS(SHIFT(86)), - [sym_identifier] = ACTIONS(SHIFT(86)), - [sym_number] = ACTIONS(SHIFT(86)), + [73] = { + [aux_sym_call_expression_repeat1] = ACTIONS(REDUCE(sym_pointer_expression, 2)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(74)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_pointer_expression, 2)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_pointer_expression, 2)), + [anon_sym_STAR] = ACTIONS(SHIFT(75)), + [anon_sym_PLUS] = ACTIONS(SHIFT(76)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [90] = { - [sym_expression] = ACTIONS(SHIFT(96)), - [sym_math_expression] = ACTIONS(SHIFT(86)), - [sym_call_expression] = ACTIONS(SHIFT(86)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(97)), - [sym_string] = ACTIONS(SHIFT(86)), - [sym_identifier] = ACTIONS(SHIFT(86)), - [sym_number] = ACTIONS(SHIFT(86)), + [74] = { + [sym__expression] = ACTIONS(SHIFT(79)), + [sym_cast_expression] = ACTIONS(SHIFT(69)), + [sym_math_expression] = ACTIONS(SHIFT(69)), + [sym_call_expression] = ACTIONS(SHIFT(69)), + [sym_pointer_expression] = ACTIONS(SHIFT(69)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(70)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(80)), + [anon_sym_STAR] = ACTIONS(SHIFT(72)), + [anon_sym_AMP] = ACTIONS(SHIFT(72)), + [sym_string] = ACTIONS(SHIFT(69)), + [sym_identifier] = ACTIONS(SHIFT(69)), + [sym_number] = ACTIONS(SHIFT(69)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [91] = { - [anon_sym_RBRACK] = ACTIONS(REDUCE(sym_call_expression, 4)), + [75] = { + [sym__expression] = ACTIONS(SHIFT(78)), + [sym_cast_expression] = ACTIONS(SHIFT(69)), + [sym_math_expression] = ACTIONS(SHIFT(69)), + [sym_call_expression] = ACTIONS(SHIFT(69)), + [sym_pointer_expression] = ACTIONS(SHIFT(69)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(70)), + [anon_sym_STAR] = ACTIONS(SHIFT(72)), + [anon_sym_AMP] = ACTIONS(SHIFT(72)), + [sym_string] = ACTIONS(SHIFT(69)), + [sym_identifier] = ACTIONS(SHIFT(69)), + [sym_number] = ACTIONS(SHIFT(69)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [76] = { + [sym__expression] = ACTIONS(SHIFT(77)), + [sym_cast_expression] = ACTIONS(SHIFT(69)), + [sym_math_expression] = ACTIONS(SHIFT(69)), + [sym_call_expression] = ACTIONS(SHIFT(69)), + [sym_pointer_expression] = ACTIONS(SHIFT(69)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(70)), + [anon_sym_STAR] = ACTIONS(SHIFT(72)), + [anon_sym_AMP] = ACTIONS(SHIFT(72)), + [sym_string] = ACTIONS(SHIFT(69)), + [sym_identifier] = ACTIONS(SHIFT(69)), + [sym_number] = ACTIONS(SHIFT(69)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [77] = { + [aux_sym_call_expression_repeat1] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(74)), + [anon_sym_RPAREN] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_STAR] = ACTIONS(SHIFT(75)), + [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [78] = { + [aux_sym_call_expression_repeat1] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(74)), + [anon_sym_RPAREN] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_STAR] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [79] = { + [aux_sym_call_expression_repeat1] = ACTIONS(SHIFT(81)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(74)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(82)), + [anon_sym_COMMA] = ACTIONS(SHIFT(83)), + [anon_sym_STAR] = ACTIONS(SHIFT(75)), + [anon_sym_PLUS] = ACTIONS(SHIFT(76)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [80] = { + [aux_sym_call_expression_repeat1] = ACTIONS(REDUCE(sym_call_expression, 3)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 3)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_call_expression, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_call_expression, 3)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 3)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [81] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(86)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [82] = { + [aux_sym_call_expression_repeat1] = ACTIONS(REDUCE(sym_call_expression, 4)), [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 4)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_call_expression, 4)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_call_expression, 4)), [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 4)), [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 4)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, + [83] = { + [sym__expression] = ACTIONS(SHIFT(84)), + [sym_cast_expression] = ACTIONS(SHIFT(69)), + [sym_math_expression] = ACTIONS(SHIFT(69)), + [sym_call_expression] = ACTIONS(SHIFT(69)), + [sym_pointer_expression] = ACTIONS(SHIFT(69)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(70)), + [anon_sym_STAR] = ACTIONS(SHIFT(72)), + [anon_sym_AMP] = ACTIONS(SHIFT(72)), + [sym_string] = ACTIONS(SHIFT(69)), + [sym_identifier] = ACTIONS(SHIFT(69)), + [sym_number] = ACTIONS(SHIFT(69)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [84] = { + [aux_sym_call_expression_repeat1] = ACTIONS(SHIFT(85)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(74)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(aux_sym_call_expression_repeat1, 2)), + [anon_sym_COMMA] = ACTIONS(SHIFT(83)), + [anon_sym_STAR] = ACTIONS(SHIFT(75)), + [anon_sym_PLUS] = ACTIONS(SHIFT(76)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [85] = { + [anon_sym_RPAREN] = ACTIONS(REDUCE(aux_sym_call_expression_repeat1, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [86] = { + [aux_sym_call_expression_repeat1] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 5)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [87] = { + [sym__abstract_declarator] = ACTIONS(SHIFT(191)), + [sym_abstract_pointer_declarator] = ACTIONS(SHIFT(130)), + [sym_abstract_function_declarator] = ACTIONS(SHIFT(130)), + [sym_abstract_array_declarator] = ACTIONS(SHIFT(130)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(131)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_type_name, 1)), + [anon_sym_STAR] = ACTIONS(SHIFT(132)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [88] = { + [sym__abstract_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_abstract_pointer_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_abstract_function_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_abstract_array_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [89] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(189)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [90] = { + [sym__type_specifier] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 1)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 1)), + [sym_macro_type] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 1)), + [sym_struct_specifier] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 1)), + [sym_type_qualifier] = ACTIONS(SHIFT(90)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 1)), + [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(188)), + [anon_sym_signed] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 1)), + [anon_sym_unsigned] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 1)), + [anon_sym_long] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 1)), + [anon_sym_short] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 1)), + [anon_sym_struct] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 1)), + [anon_sym_const] = ACTIONS(SHIFT(98)), + [anon_sym_restrict] = ACTIONS(SHIFT(98)), + [anon_sym_volatile] = ACTIONS(SHIFT(98)), + [sym_identifier] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 1)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [91] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(104)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(187)), + [anon_sym_STAR] = ACTIONS(SHIFT(105)), + [anon_sym_PLUS] = ACTIONS(SHIFT(106)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, [92] = { - [sym_expression] = ACTIONS(SHIFT(95)), - [sym_math_expression] = ACTIONS(SHIFT(86)), - [sym_call_expression] = ACTIONS(SHIFT(86)), - [sym_string] = ACTIONS(SHIFT(86)), - [sym_identifier] = ACTIONS(SHIFT(86)), - [sym_number] = ACTIONS(SHIFT(86)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym__expression, 1)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [93] = { - [sym_expression] = ACTIONS(SHIFT(94)), - [sym_math_expression] = ACTIONS(SHIFT(86)), - [sym_call_expression] = ACTIONS(SHIFT(86)), - [sym_string] = ACTIONS(SHIFT(86)), - [sym_identifier] = ACTIONS(SHIFT(86)), - [sym_number] = ACTIONS(SHIFT(86)), + [sym_identifier] = ACTIONS(SHIFT(186)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [94] = { - [aux_sym_call_expression_repeat1] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_COMMA] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(90)), - [anon_sym_RPAREN] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_STAR] = ACTIONS(SHIFT(92)), - [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [sym__type_specifier] = ACTIONS(SHIFT(127)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(88)), + [sym_macro_type] = ACTIONS(SHIFT(88)), + [sym_struct_specifier] = ACTIONS(SHIFT(88)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(93)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_struct] = ACTIONS(SHIFT(96)), + [sym_identifier] = ACTIONS(SHIFT(128)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, [95] = { - [aux_sym_call_expression_repeat1] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_COMMA] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(90)), + [sym__type_specifier] = ACTIONS(SHIFT(87)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(88)), + [sym_macro_type] = ACTIONS(SHIFT(88)), + [sym_struct_specifier] = ACTIONS(SHIFT(88)), + [sym_type_name] = ACTIONS(SHIFT(122)), + [sym_type_qualifier] = ACTIONS(SHIFT(90)), + [sym__expression] = ACTIONS(SHIFT(123)), + [sym_cast_expression] = ACTIONS(SHIFT(92)), + [sym_math_expression] = ACTIONS(SHIFT(92)), + [sym_call_expression] = ACTIONS(SHIFT(92)), + [sym_pointer_expression] = ACTIONS(SHIFT(92)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(93)), + [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(94)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(95)), + [anon_sym_struct] = ACTIONS(SHIFT(96)), + [anon_sym_STAR] = ACTIONS(SHIFT(97)), + [anon_sym_const] = ACTIONS(SHIFT(98)), + [anon_sym_restrict] = ACTIONS(SHIFT(98)), + [anon_sym_volatile] = ACTIONS(SHIFT(98)), + [anon_sym_AMP] = ACTIONS(SHIFT(97)), + [sym_string] = ACTIONS(SHIFT(92)), + [sym_identifier] = ACTIONS(SHIFT(99)), + [sym_number] = ACTIONS(SHIFT(92)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [96] = { + [anon_sym_LBRACE] = ACTIONS(SHIFT(114)), + [sym_identifier] = ACTIONS(SHIFT(115)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [97] = { + [sym__expression] = ACTIONS(SHIFT(103)), + [sym_cast_expression] = ACTIONS(SHIFT(92)), + [sym_math_expression] = ACTIONS(SHIFT(92)), + [sym_call_expression] = ACTIONS(SHIFT(92)), + [sym_pointer_expression] = ACTIONS(SHIFT(92)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(95)), + [anon_sym_STAR] = ACTIONS(SHIFT(97)), + [anon_sym_AMP] = ACTIONS(SHIFT(97)), + [sym_string] = ACTIONS(SHIFT(92)), + [sym_identifier] = ACTIONS(SHIFT(92)), + [sym_number] = ACTIONS(SHIFT(92)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [98] = { + [sym__type_specifier] = ACTIONS(REDUCE(sym_type_qualifier, 1)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_type_qualifier, 1)), + [sym_macro_type] = ACTIONS(REDUCE(sym_type_qualifier, 1)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym_type_qualifier, 1)), + [sym_type_qualifier] = ACTIONS(REDUCE(sym_type_qualifier, 1)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_type_qualifier, 1)), + [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_type_qualifier, 1)), + [anon_sym_signed] = ACTIONS(REDUCE(sym_type_qualifier, 1)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym_type_qualifier, 1)), + [anon_sym_long] = ACTIONS(REDUCE(sym_type_qualifier, 1)), + [anon_sym_short] = ACTIONS(REDUCE(sym_type_qualifier, 1)), + [anon_sym_struct] = ACTIONS(REDUCE(sym_type_qualifier, 1)), + [anon_sym_const] = ACTIONS(REDUCE(sym_type_qualifier, 1)), + [anon_sym_restrict] = ACTIONS(REDUCE(sym_type_qualifier, 1)), + [anon_sym_volatile] = ACTIONS(REDUCE(sym_type_qualifier, 1)), + [sym_identifier] = ACTIONS(REDUCE(sym_type_qualifier, 1)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [99] = { + [sym__abstract_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_abstract_pointer_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_abstract_function_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_abstract_array_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__type_specifier, 1), REDUCE(sym__expression, 1), SHIFT(100)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__type_specifier, 1), REDUCE(sym__expression, 1)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym__type_specifier, 1), REDUCE(sym__expression, 1)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym__expression, 1)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [100] = { + [sym__type_specifier] = ACTIONS(SHIFT(101)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(18)), + [sym_macro_type] = ACTIONS(SHIFT(18)), + [sym_struct_specifier] = ACTIONS(SHIFT(18)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(19)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_struct] = ACTIONS(SHIFT(20)), + [sym_identifier] = ACTIONS(SHIFT(21)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [101] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(102)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [102] = { + [sym__abstract_declarator] = ACTIONS(REDUCE(sym_macro_type, 4)), + [sym_abstract_pointer_declarator] = ACTIONS(REDUCE(sym_macro_type, 4)), + [sym_abstract_function_declarator] = ACTIONS(REDUCE(sym_macro_type, 4)), + [sym_abstract_array_declarator] = ACTIONS(REDUCE(sym_macro_type, 4)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_macro_type, 4)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_macro_type, 4)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_macro_type, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [103] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(104)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_pointer_expression, 2)), + [anon_sym_STAR] = ACTIONS(SHIFT(105)), + [anon_sym_PLUS] = ACTIONS(SHIFT(106)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [104] = { + [sym__expression] = ACTIONS(SHIFT(109)), + [sym_cast_expression] = ACTIONS(SHIFT(69)), + [sym_math_expression] = ACTIONS(SHIFT(69)), + [sym_call_expression] = ACTIONS(SHIFT(69)), + [sym_pointer_expression] = ACTIONS(SHIFT(69)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(70)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(110)), + [anon_sym_STAR] = ACTIONS(SHIFT(72)), + [anon_sym_AMP] = ACTIONS(SHIFT(72)), + [sym_string] = ACTIONS(SHIFT(69)), + [sym_identifier] = ACTIONS(SHIFT(69)), + [sym_number] = ACTIONS(SHIFT(69)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [105] = { + [sym__expression] = ACTIONS(SHIFT(108)), + [sym_cast_expression] = ACTIONS(SHIFT(92)), + [sym_math_expression] = ACTIONS(SHIFT(92)), + [sym_call_expression] = ACTIONS(SHIFT(92)), + [sym_pointer_expression] = ACTIONS(SHIFT(92)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(95)), + [anon_sym_STAR] = ACTIONS(SHIFT(97)), + [anon_sym_AMP] = ACTIONS(SHIFT(97)), + [sym_string] = ACTIONS(SHIFT(92)), + [sym_identifier] = ACTIONS(SHIFT(92)), + [sym_number] = ACTIONS(SHIFT(92)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [106] = { + [sym__expression] = ACTIONS(SHIFT(107)), + [sym_cast_expression] = ACTIONS(SHIFT(92)), + [sym_math_expression] = ACTIONS(SHIFT(92)), + [sym_call_expression] = ACTIONS(SHIFT(92)), + [sym_pointer_expression] = ACTIONS(SHIFT(92)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(95)), + [anon_sym_STAR] = ACTIONS(SHIFT(97)), + [anon_sym_AMP] = ACTIONS(SHIFT(97)), + [sym_string] = ACTIONS(SHIFT(92)), + [sym_identifier] = ACTIONS(SHIFT(92)), + [sym_number] = ACTIONS(SHIFT(92)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [107] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(104)), + [anon_sym_RPAREN] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_STAR] = ACTIONS(SHIFT(105)), + [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [108] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(104)), [anon_sym_RPAREN] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), [anon_sym_STAR] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [96] = { - [aux_sym_call_expression_repeat1] = ACTIONS(SHIFT(98)), - [anon_sym_COMMA] = ACTIONS(SHIFT(89)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(90)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(99)), - [anon_sym_STAR] = ACTIONS(SHIFT(92)), - [anon_sym_PLUS] = ACTIONS(SHIFT(93)), + [109] = { + [aux_sym_call_expression_repeat1] = ACTIONS(SHIFT(111)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(74)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(112)), + [anon_sym_COMMA] = ACTIONS(SHIFT(83)), + [anon_sym_STAR] = ACTIONS(SHIFT(75)), + [anon_sym_PLUS] = ACTIONS(SHIFT(76)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [97] = { - [aux_sym_call_expression_repeat1] = ACTIONS(REDUCE(sym_call_expression, 3)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_call_expression, 3)), + [110] = { [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 3)), [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_call_expression, 3)), [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 3)), [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [98] = { - [anon_sym_RPAREN] = ACTIONS(SHIFT(100)), + [111] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(113)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [99] = { - [aux_sym_call_expression_repeat1] = ACTIONS(REDUCE(sym_call_expression, 4)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_call_expression, 4)), + [112] = { [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 4)), [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_call_expression, 4)), [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 4)), [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 4)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [100] = { - [aux_sym_call_expression_repeat1] = ACTIONS(REDUCE(sym_call_expression, 5)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_call_expression, 5)), + [113] = { [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 5)), [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_call_expression, 5)), [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 5)), [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 5)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [101] = { - [aux_sym_call_expression_repeat1] = ACTIONS(SHIFT(102)), - [anon_sym_COMMA] = ACTIONS(SHIFT(89)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(90)), - [anon_sym_RPAREN] = ACTIONS(REDUCE(aux_sym_call_expression_repeat1, 2)), - [anon_sym_STAR] = ACTIONS(SHIFT(92)), - [anon_sym_PLUS] = ACTIONS(SHIFT(93)), + [114] = { + [sym__type_specifier] = ACTIONS(SHIFT(28)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(29)), + [sym_macro_type] = ACTIONS(SHIFT(29)), + [sym_struct_specifier] = ACTIONS(SHIFT(29)), + [sym_struct_declaration] = ACTIONS(SHIFT(30)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(31)), + [aux_sym_struct_specifier_repeat1] = ACTIONS(SHIFT(120)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_struct] = ACTIONS(SHIFT(33)), + [anon_sym_RBRACE] = ACTIONS(SHIFT(121)), + [sym_identifier] = ACTIONS(SHIFT(35)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [102] = { - [anon_sym_RPAREN] = ACTIONS(REDUCE(aux_sym_call_expression_repeat1, 3)), + [115] = { + [anon_sym_LBRACE] = ACTIONS(SHIFT(116)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [103] = { - [anon_sym_RBRACK] = ACTIONS(REDUCE(sym_call_expression, 5)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 5)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 5)), - [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 5)), + [116] = { + [sym__type_specifier] = ACTIONS(SHIFT(28)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(29)), + [sym_macro_type] = ACTIONS(SHIFT(29)), + [sym_struct_specifier] = ACTIONS(SHIFT(29)), + [sym_struct_declaration] = ACTIONS(SHIFT(30)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(31)), + [aux_sym_struct_specifier_repeat1] = ACTIONS(SHIFT(117)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_struct] = ACTIONS(SHIFT(33)), + [anon_sym_RBRACE] = ACTIONS(SHIFT(118)), + [sym_identifier] = ACTIONS(SHIFT(35)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [104] = { - [sym_declarator] = ACTIONS(SHIFT(105)), - [sym__direct_declarator] = ACTIONS(SHIFT(65)), - [sym_pointer] = ACTIONS(SHIFT(40)), - [aux_sym_declarator_repeat1] = ACTIONS(SHIFT(66)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(67)), - [anon_sym_STAR] = ACTIONS(SHIFT(43)), - [sym_identifier] = ACTIONS(SHIFT(68)), + [117] = { + [anon_sym_RBRACE] = ACTIONS(SHIFT(119)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [105] = { - [aux_sym__direct_declarator_repeat1] = ACTIONS(REDUCE(sym_parameter_declaration, 3)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_parameter_declaration, 3)), - [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_parameter_declaration, 3)), + [118] = { + [sym__abstract_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [sym_abstract_pointer_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [sym_abstract_function_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [sym_abstract_array_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_struct_specifier, 4)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [106] = { - [anon_sym_RBRACK] = ACTIONS(SHIFT(60)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(80)), - [anon_sym_STAR] = ACTIONS(SHIFT(81)), - [anon_sym_PLUS] = ACTIONS(SHIFT(82)), + [119] = { + [sym__abstract_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [sym_abstract_pointer_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [sym_abstract_function_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [sym_abstract_array_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_struct_specifier, 5)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [107] = { - [sym__type_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [sym_type_name] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [sym_struct_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [sym_struct_declaration] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [aux_sym_struct_specifier_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_signed] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_unsigned] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_long] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_short] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_struct] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_RBRACE] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [sym_identifier] = ACTIONS(REDUCE(sym__direct_declarator, 3)), + [120] = { + [anon_sym_RBRACE] = ACTIONS(SHIFT(118)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [108] = { - [sym__type_specifier] = ACTIONS(REDUCE(sym_declarator, 2)), - [sym_type_name] = ACTIONS(REDUCE(sym_declarator, 2)), - [sym_struct_specifier] = ACTIONS(REDUCE(sym_declarator, 2)), - [sym_struct_declaration] = ACTIONS(REDUCE(sym_declarator, 2)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_declarator, 2)), - [aux_sym_struct_specifier_repeat1] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_signed] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_unsigned] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_long] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_short] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_struct] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_LBRACK] = ACTIONS(SHIFT(109)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(110)), - [sym_identifier] = ACTIONS(REDUCE(sym_declarator, 2)), + [121] = { + [sym__abstract_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 3)), + [sym_abstract_pointer_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 3)), + [sym_abstract_function_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 3)), + [sym_abstract_array_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 3)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_struct_specifier, 3)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_struct_specifier, 3)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_struct_specifier, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [109] = { - [sym_expression] = ACTIONS(SHIFT(115)), - [sym_math_expression] = ACTIONS(SHIFT(79)), - [sym_call_expression] = ACTIONS(SHIFT(79)), - [anon_sym_RBRACK] = ACTIONS(SHIFT(107)), - [sym_string] = ACTIONS(SHIFT(79)), - [sym_identifier] = ACTIONS(SHIFT(79)), - [sym_number] = ACTIONS(SHIFT(79)), + [122] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(125)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [110] = { - [sym_declaration_specifiers] = ACTIONS(SHIFT(55)), + [123] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(104)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(124)), + [anon_sym_STAR] = ACTIONS(SHIFT(105)), + [anon_sym_PLUS] = ACTIONS(SHIFT(106)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [124] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym__expression, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [125] = { + [sym__expression] = ACTIONS(SHIFT(126)), + [sym_cast_expression] = ACTIONS(SHIFT(92)), + [sym_math_expression] = ACTIONS(SHIFT(92)), + [sym_call_expression] = ACTIONS(SHIFT(92)), + [sym_pointer_expression] = ACTIONS(SHIFT(92)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(95)), + [anon_sym_STAR] = ACTIONS(SHIFT(97)), + [anon_sym_AMP] = ACTIONS(SHIFT(97)), + [sym_string] = ACTIONS(SHIFT(92)), + [sym_identifier] = ACTIONS(SHIFT(92)), + [sym_number] = ACTIONS(SHIFT(92)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [126] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_RPAREN] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_STAR] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [127] = { + [sym__abstract_declarator] = ACTIONS(SHIFT(129)), + [sym_abstract_pointer_declarator] = ACTIONS(SHIFT(130)), + [sym_abstract_function_declarator] = ACTIONS(SHIFT(130)), + [sym_abstract_array_declarator] = ACTIONS(SHIFT(130)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(131)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_type_name, 2)), + [anon_sym_STAR] = ACTIONS(SHIFT(132)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [128] = { + [sym__abstract_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_abstract_pointer_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_abstract_function_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_abstract_array_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__type_specifier, 1), SHIFT(100)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [129] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(134)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_type_name, 3)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(135)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [130] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__abstract_declarator, 1)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__abstract_declarator, 1)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__abstract_declarator, 1)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [131] = { + [sym__abstract_declarator] = ACTIONS(SHIFT(184)), + [sym_abstract_pointer_declarator] = ACTIONS(SHIFT(130)), + [sym_abstract_function_declarator] = ACTIONS(SHIFT(130)), + [sym_abstract_array_declarator] = ACTIONS(SHIFT(130)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(131)), + [anon_sym_STAR] = ACTIONS(SHIFT(132)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [132] = { + [sym__abstract_declarator] = ACTIONS(SHIFT(133)), + [sym_abstract_pointer_declarator] = ACTIONS(SHIFT(130)), + [sym_abstract_function_declarator] = ACTIONS(SHIFT(130)), + [sym_abstract_array_declarator] = ACTIONS(SHIFT(130)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(131)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_abstract_pointer_declarator, 1)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_abstract_pointer_declarator, 1)), + [anon_sym_STAR] = ACTIONS(SHIFT(132)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [133] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(134)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_abstract_pointer_declarator, 2)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(135)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [134] = { + [sym_declaration_specifiers] = ACTIONS(SHIFT(139)), [sym_storage_class_specifier] = ACTIONS(SHIFT(4)), - [sym__type_specifier] = ACTIONS(SHIFT(56)), - [sym_type_name] = ACTIONS(SHIFT(20)), - [sym_struct_specifier] = ACTIONS(SHIFT(20)), - [sym_parameter_declaration] = ACTIONS(SHIFT(111)), + [sym__type_specifier] = ACTIONS(SHIFT(140)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(29)), + [sym_macro_type] = ACTIONS(SHIFT(29)), + [sym_struct_specifier] = ACTIONS(SHIFT(29)), + [sym_parameter_declaration] = ACTIONS(SHIFT(141)), [sym_type_qualifier] = ACTIONS(SHIFT(4)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(SHIFT(8)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(22)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(31)), [anon_sym_typedef] = ACTIONS(SHIFT(11)), [anon_sym_extern] = ACTIONS(SHIFT(11)), [anon_sym_static] = ACTIONS(SHIFT(11)), @@ -3653,114 +4418,818 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_unsigned] = ACTIONS(SHIFT(12)), [anon_sym_long] = ACTIONS(SHIFT(12)), [anon_sym_short] = ACTIONS(SHIFT(12)), - [anon_sym_struct] = ACTIONS(SHIFT(24)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(107)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(142)), + [anon_sym_struct] = ACTIONS(SHIFT(33)), [anon_sym_const] = ACTIONS(SHIFT(14)), [anon_sym_restrict] = ACTIONS(SHIFT(14)), [anon_sym_volatile] = ACTIONS(SHIFT(14)), - [sym_identifier] = ACTIONS(SHIFT(26)), + [sym_identifier] = ACTIONS(SHIFT(35)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [111] = { - [aux_sym__direct_declarator_repeat1] = ACTIONS(SHIFT(112)), - [anon_sym_COMMA] = ACTIONS(SHIFT(59)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(113)), + [135] = { + [sym__expression] = ACTIONS(SHIFT(136)), + [sym_cast_expression] = ACTIONS(SHIFT(58)), + [sym_math_expression] = ACTIONS(SHIFT(58)), + [sym_call_expression] = ACTIONS(SHIFT(58)), + [sym_pointer_expression] = ACTIONS(SHIFT(58)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(59)), + [anon_sym_RBRACK] = ACTIONS(SHIFT(137)), + [anon_sym_STAR] = ACTIONS(SHIFT(61)), + [anon_sym_AMP] = ACTIONS(SHIFT(61)), + [sym_string] = ACTIONS(SHIFT(58)), + [sym_identifier] = ACTIONS(SHIFT(58)), + [sym_number] = ACTIONS(SHIFT(58)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [112] = { - [anon_sym_RPAREN] = ACTIONS(SHIFT(114)), + [136] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(63)), + [anon_sym_RBRACK] = ACTIONS(SHIFT(138)), + [anon_sym_STAR] = ACTIONS(SHIFT(64)), + [anon_sym_PLUS] = ACTIONS(SHIFT(65)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [113] = { - [sym__type_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [sym_type_name] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [sym_struct_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [sym_struct_declaration] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [aux_sym_struct_specifier_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_signed] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_unsigned] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_long] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_short] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_struct] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_RBRACE] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [sym_identifier] = ACTIONS(REDUCE(sym__direct_declarator, 4)), + [137] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_abstract_array_declarator, 3)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_abstract_array_declarator, 3)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_abstract_array_declarator, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [114] = { - [sym__type_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [sym_type_name] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [sym_struct_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [sym_struct_declaration] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [aux_sym_struct_specifier_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_signed] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_unsigned] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_long] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_short] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_struct] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_RBRACE] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [sym_identifier] = ACTIONS(REDUCE(sym__direct_declarator, 5)), + [138] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_abstract_array_declarator, 4)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_abstract_array_declarator, 4)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_abstract_array_declarator, 4)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [115] = { - [anon_sym_RBRACK] = ACTIONS(SHIFT(113)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(80)), - [anon_sym_STAR] = ACTIONS(SHIFT(81)), - [anon_sym_PLUS] = ACTIONS(SHIFT(82)), + [139] = { + [sym__type_specifier] = ACTIONS(SHIFT(182)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(29)), + [sym_macro_type] = ACTIONS(SHIFT(29)), + [sym_struct_specifier] = ACTIONS(SHIFT(29)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(31)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_struct] = ACTIONS(SHIFT(33)), + [sym_identifier] = ACTIONS(SHIFT(35)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [116] = { - [sym__direct_declarator] = ACTIONS(REDUCE(aux_sym_declarator_repeat1, 2)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(aux_sym_declarator_repeat1, 2)), - [sym_identifier] = ACTIONS(REDUCE(aux_sym_declarator_repeat1, 2)), + [140] = { + [sym__declarator] = ACTIONS(SHIFT(149)), + [sym_pointer_declarator] = ACTIONS(SHIFT(150)), + [sym_function_declarator] = ACTIONS(SHIFT(150)), + [sym_array_declarator] = ACTIONS(SHIFT(150)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(151)), + [anon_sym_STAR] = ACTIONS(SHIFT(152)), + [sym_identifier] = ACTIONS(SHIFT(150)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [117] = { - [anon_sym_RBRACE] = ACTIONS(SHIFT(25)), + [141] = { + [aux_sym_function_declarator_repeat1] = ACTIONS(SHIFT(143)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(144)), + [anon_sym_COMMA] = ACTIONS(SHIFT(145)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [118] = { + [142] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_abstract_function_declarator, 3)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_abstract_function_declarator, 3)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_abstract_function_declarator, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [143] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(148)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [144] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_abstract_function_declarator, 4)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_abstract_function_declarator, 4)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_abstract_function_declarator, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [145] = { + [sym_declaration_specifiers] = ACTIONS(SHIFT(139)), + [sym_storage_class_specifier] = ACTIONS(SHIFT(4)), + [sym__type_specifier] = ACTIONS(SHIFT(140)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(29)), + [sym_macro_type] = ACTIONS(SHIFT(29)), + [sym_struct_specifier] = ACTIONS(SHIFT(29)), + [sym_parameter_declaration] = ACTIONS(SHIFT(146)), + [sym_type_qualifier] = ACTIONS(SHIFT(4)), + [aux_sym_declaration_specifiers_repeat1] = ACTIONS(SHIFT(8)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(31)), + [anon_sym_typedef] = ACTIONS(SHIFT(11)), + [anon_sym_extern] = ACTIONS(SHIFT(11)), + [anon_sym_static] = ACTIONS(SHIFT(11)), + [anon_sym_auto] = ACTIONS(SHIFT(11)), + [anon_sym_register] = ACTIONS(SHIFT(11)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_struct] = ACTIONS(SHIFT(33)), + [anon_sym_const] = ACTIONS(SHIFT(14)), + [anon_sym_restrict] = ACTIONS(SHIFT(14)), + [anon_sym_volatile] = ACTIONS(SHIFT(14)), + [sym_identifier] = ACTIONS(SHIFT(35)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [146] = { + [aux_sym_function_declarator_repeat1] = ACTIONS(SHIFT(147)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(aux_sym_function_declarator_repeat1, 2)), + [anon_sym_COMMA] = ACTIONS(SHIFT(145)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [147] = { + [anon_sym_RPAREN] = ACTIONS(REDUCE(aux_sym_function_declarator_repeat1, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [148] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_abstract_function_declarator, 5)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_abstract_function_declarator, 5)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_abstract_function_declarator, 5)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [149] = { + [aux_sym_function_declarator_repeat1] = ACTIONS(REDUCE(sym_parameter_declaration, 2)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(154)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_parameter_declaration, 2)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_parameter_declaration, 2)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(155)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [150] = { + [aux_sym_function_declarator_repeat1] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__declarator, 1)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [151] = { + [sym__declarator] = ACTIONS(SHIFT(164)), + [sym_pointer_declarator] = ACTIONS(SHIFT(165)), + [sym_function_declarator] = ACTIONS(SHIFT(165)), + [sym_array_declarator] = ACTIONS(SHIFT(165)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(166)), + [anon_sym_STAR] = ACTIONS(SHIFT(167)), + [sym_identifier] = ACTIONS(SHIFT(165)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [152] = { + [sym__declarator] = ACTIONS(SHIFT(153)), + [sym_pointer_declarator] = ACTIONS(SHIFT(150)), + [sym_function_declarator] = ACTIONS(SHIFT(150)), + [sym_array_declarator] = ACTIONS(SHIFT(150)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(151)), + [anon_sym_STAR] = ACTIONS(SHIFT(152)), + [sym_identifier] = ACTIONS(SHIFT(150)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [153] = { + [aux_sym_function_declarator_repeat1] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(154)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(155)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [154] = { + [sym_declaration_specifiers] = ACTIONS(SHIFT(139)), + [sym_storage_class_specifier] = ACTIONS(SHIFT(4)), + [sym__type_specifier] = ACTIONS(SHIFT(140)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(29)), + [sym_macro_type] = ACTIONS(SHIFT(29)), + [sym_struct_specifier] = ACTIONS(SHIFT(29)), + [sym_parameter_declaration] = ACTIONS(SHIFT(159)), + [sym_type_qualifier] = ACTIONS(SHIFT(4)), + [aux_sym_declaration_specifiers_repeat1] = ACTIONS(SHIFT(8)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(31)), + [anon_sym_typedef] = ACTIONS(SHIFT(11)), + [anon_sym_extern] = ACTIONS(SHIFT(11)), + [anon_sym_static] = ACTIONS(SHIFT(11)), + [anon_sym_auto] = ACTIONS(SHIFT(11)), + [anon_sym_register] = ACTIONS(SHIFT(11)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(160)), + [anon_sym_struct] = ACTIONS(SHIFT(33)), + [anon_sym_const] = ACTIONS(SHIFT(14)), + [anon_sym_restrict] = ACTIONS(SHIFT(14)), + [anon_sym_volatile] = ACTIONS(SHIFT(14)), + [sym_identifier] = ACTIONS(SHIFT(35)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [155] = { + [sym__expression] = ACTIONS(SHIFT(156)), + [sym_cast_expression] = ACTIONS(SHIFT(58)), + [sym_math_expression] = ACTIONS(SHIFT(58)), + [sym_call_expression] = ACTIONS(SHIFT(58)), + [sym_pointer_expression] = ACTIONS(SHIFT(58)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(59)), + [anon_sym_RBRACK] = ACTIONS(SHIFT(157)), + [anon_sym_STAR] = ACTIONS(SHIFT(61)), + [anon_sym_AMP] = ACTIONS(SHIFT(61)), + [sym_string] = ACTIONS(SHIFT(58)), + [sym_identifier] = ACTIONS(SHIFT(58)), + [sym_number] = ACTIONS(SHIFT(58)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [156] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(63)), + [anon_sym_RBRACK] = ACTIONS(SHIFT(158)), + [anon_sym_STAR] = ACTIONS(SHIFT(64)), + [anon_sym_PLUS] = ACTIONS(SHIFT(65)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [157] = { + [aux_sym_function_declarator_repeat1] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [158] = { + [aux_sym_function_declarator_repeat1] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [159] = { + [aux_sym_function_declarator_repeat1] = ACTIONS(SHIFT(161)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(162)), + [anon_sym_COMMA] = ACTIONS(SHIFT(145)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [160] = { + [aux_sym_function_declarator_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [161] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(163)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [162] = { + [aux_sym_function_declarator_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [163] = { + [aux_sym_function_declarator_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [164] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(169)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(181)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(170)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [165] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__declarator, 1)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [166] = { + [sym__declarator] = ACTIONS(SHIFT(179)), + [sym_pointer_declarator] = ACTIONS(SHIFT(165)), + [sym_function_declarator] = ACTIONS(SHIFT(165)), + [sym_array_declarator] = ACTIONS(SHIFT(165)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(166)), + [anon_sym_STAR] = ACTIONS(SHIFT(167)), + [sym_identifier] = ACTIONS(SHIFT(165)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [167] = { + [sym__declarator] = ACTIONS(SHIFT(168)), + [sym_pointer_declarator] = ACTIONS(SHIFT(165)), + [sym_function_declarator] = ACTIONS(SHIFT(165)), + [sym_array_declarator] = ACTIONS(SHIFT(165)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(166)), + [anon_sym_STAR] = ACTIONS(SHIFT(167)), + [sym_identifier] = ACTIONS(SHIFT(165)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [168] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(169)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(170)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [169] = { + [sym_declaration_specifiers] = ACTIONS(SHIFT(139)), + [sym_storage_class_specifier] = ACTIONS(SHIFT(4)), + [sym__type_specifier] = ACTIONS(SHIFT(140)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(29)), + [sym_macro_type] = ACTIONS(SHIFT(29)), + [sym_struct_specifier] = ACTIONS(SHIFT(29)), + [sym_parameter_declaration] = ACTIONS(SHIFT(174)), + [sym_type_qualifier] = ACTIONS(SHIFT(4)), + [aux_sym_declaration_specifiers_repeat1] = ACTIONS(SHIFT(8)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(31)), + [anon_sym_typedef] = ACTIONS(SHIFT(11)), + [anon_sym_extern] = ACTIONS(SHIFT(11)), + [anon_sym_static] = ACTIONS(SHIFT(11)), + [anon_sym_auto] = ACTIONS(SHIFT(11)), + [anon_sym_register] = ACTIONS(SHIFT(11)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(175)), + [anon_sym_struct] = ACTIONS(SHIFT(33)), + [anon_sym_const] = ACTIONS(SHIFT(14)), + [anon_sym_restrict] = ACTIONS(SHIFT(14)), + [anon_sym_volatile] = ACTIONS(SHIFT(14)), + [sym_identifier] = ACTIONS(SHIFT(35)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [170] = { + [sym__expression] = ACTIONS(SHIFT(171)), + [sym_cast_expression] = ACTIONS(SHIFT(58)), + [sym_math_expression] = ACTIONS(SHIFT(58)), + [sym_call_expression] = ACTIONS(SHIFT(58)), + [sym_pointer_expression] = ACTIONS(SHIFT(58)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(59)), + [anon_sym_RBRACK] = ACTIONS(SHIFT(172)), + [anon_sym_STAR] = ACTIONS(SHIFT(61)), + [anon_sym_AMP] = ACTIONS(SHIFT(61)), + [sym_string] = ACTIONS(SHIFT(58)), + [sym_identifier] = ACTIONS(SHIFT(58)), + [sym_number] = ACTIONS(SHIFT(58)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [171] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(63)), + [anon_sym_RBRACK] = ACTIONS(SHIFT(173)), + [anon_sym_STAR] = ACTIONS(SHIFT(64)), + [anon_sym_PLUS] = ACTIONS(SHIFT(65)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [172] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [173] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [174] = { + [aux_sym_function_declarator_repeat1] = ACTIONS(SHIFT(176)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(177)), + [anon_sym_COMMA] = ACTIONS(SHIFT(145)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [175] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [176] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(178)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [177] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [178] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [179] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(169)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(180)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(170)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [180] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__declarator, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [181] = { + [aux_sym_function_declarator_repeat1] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__declarator, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [182] = { + [sym__declarator] = ACTIONS(SHIFT(183)), + [sym_pointer_declarator] = ACTIONS(SHIFT(150)), + [sym_function_declarator] = ACTIONS(SHIFT(150)), + [sym_array_declarator] = ACTIONS(SHIFT(150)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(151)), + [anon_sym_STAR] = ACTIONS(SHIFT(152)), + [sym_identifier] = ACTIONS(SHIFT(150)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [183] = { + [aux_sym_function_declarator_repeat1] = ACTIONS(REDUCE(sym_parameter_declaration, 3)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(154)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_parameter_declaration, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_parameter_declaration, 3)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(155)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [184] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(134)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(185)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(135)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [185] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__abstract_declarator, 3)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__abstract_declarator, 3)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__abstract_declarator, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [186] = { + [sym__abstract_declarator] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [sym_abstract_pointer_declarator] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [sym_abstract_function_declarator] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [sym_abstract_array_declarator] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [187] = { + [aux_sym_call_expression_repeat1] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym__expression, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [188] = { + [sym__type_specifier] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 2)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 2)), + [sym_macro_type] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 2)), + [sym_struct_specifier] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 2)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 2)), + [anon_sym_signed] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 2)), + [anon_sym_unsigned] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 2)), + [anon_sym_long] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 2)), + [anon_sym_short] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 2)), + [anon_sym_struct] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 2)), + [sym_identifier] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 2)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [189] = { + [sym__expression] = ACTIONS(SHIFT(190)), + [sym_cast_expression] = ACTIONS(SHIFT(69)), + [sym_math_expression] = ACTIONS(SHIFT(69)), + [sym_call_expression] = ACTIONS(SHIFT(69)), + [sym_pointer_expression] = ACTIONS(SHIFT(69)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(70)), + [anon_sym_STAR] = ACTIONS(SHIFT(72)), + [anon_sym_AMP] = ACTIONS(SHIFT(72)), + [sym_string] = ACTIONS(SHIFT(69)), + [sym_identifier] = ACTIONS(SHIFT(69)), + [sym_number] = ACTIONS(SHIFT(69)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [190] = { + [aux_sym_call_expression_repeat1] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_LPAREN] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_RPAREN] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_COMMA] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_STAR] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [191] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(134)), + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_type_name, 2)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(135)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [192] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(194)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [193] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 4)), + [anon_sym_RBRACK] = ACTIONS(REDUCE(sym_call_expression, 4)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 4)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [194] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_RBRACK] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 5)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [195] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(198)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [196] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(104)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(197)), + [anon_sym_STAR] = ACTIONS(SHIFT(105)), + [anon_sym_PLUS] = ACTIONS(SHIFT(106)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [197] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_RBRACK] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym__expression, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [198] = { + [sym__expression] = ACTIONS(SHIFT(199)), + [sym_cast_expression] = ACTIONS(SHIFT(58)), + [sym_math_expression] = ACTIONS(SHIFT(58)), + [sym_call_expression] = ACTIONS(SHIFT(58)), + [sym_pointer_expression] = ACTIONS(SHIFT(58)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(59)), + [anon_sym_STAR] = ACTIONS(SHIFT(61)), + [anon_sym_AMP] = ACTIONS(SHIFT(61)), + [sym_string] = ACTIONS(SHIFT(58)), + [sym_identifier] = ACTIONS(SHIFT(58)), + [sym_number] = ACTIONS(SHIFT(58)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [199] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_RBRACK] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_STAR] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [200] = { + [sym__type_specifier] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [sym_macro_type] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [sym_struct_declaration] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [aux_sym_struct_specifier_repeat1] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_signed] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_long] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_short] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_struct] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [sym_identifier] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [201] = { + [aux_sym_function_declarator_repeat1] = ACTIONS(SHIFT(203)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(204)), + [anon_sym_COMMA] = ACTIONS(SHIFT(145)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [202] = { + [sym__type_specifier] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [sym_macro_type] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [sym_struct_declaration] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [aux_sym_struct_specifier_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_signed] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_long] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_short] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_struct] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [sym_identifier] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [203] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(205)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [204] = { + [sym__type_specifier] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [sym_macro_type] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [sym_struct_declaration] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [aux_sym_struct_specifier_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_signed] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_long] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_short] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_struct] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [sym_identifier] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [205] = { + [sym__type_specifier] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [sym_macro_type] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [sym_struct_declaration] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [aux_sym_struct_specifier_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_signed] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_long] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_short] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_struct] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [sym_identifier] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [206] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(169)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(207)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(170)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [207] = { + [sym__type_specifier] = ACTIONS(REDUCE(sym__declarator, 3)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym__declarator, 3)), + [sym_macro_type] = ACTIONS(REDUCE(sym__declarator, 3)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym__declarator, 3)), + [sym_struct_declaration] = ACTIONS(REDUCE(sym__declarator, 3)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym__declarator, 3)), + [aux_sym_struct_specifier_repeat1] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_signed] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_long] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_short] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_struct] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_RBRACE] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__declarator, 3)), + [sym_identifier] = ACTIONS(REDUCE(sym__declarator, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [208] = { + [anon_sym_RBRACE] = ACTIONS(SHIFT(34)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [209] = { + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_struct_specifier, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [210] = { + [anon_sym_RPAREN] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [211] = { + [sym__init_declarator] = ACTIONS(REDUCE(sym_macro_type, 4)), + [sym__declarator] = ACTIONS(REDUCE(sym_macro_type, 4)), + [sym_pointer_declarator] = ACTIONS(REDUCE(sym_macro_type, 4)), + [sym_function_declarator] = ACTIONS(REDUCE(sym_macro_type, 4)), + [sym_array_declarator] = ACTIONS(REDUCE(sym_macro_type, 4)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_macro_type, 4)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_macro_type, 4)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_macro_type, 4)), + [sym_identifier] = ACTIONS(REDUCE(sym_macro_type, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [212] = { + [sym__type_specifier] = ACTIONS(SHIFT(28)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(29)), + [sym_macro_type] = ACTIONS(SHIFT(29)), + [sym_struct_specifier] = ACTIONS(SHIFT(29)), + [sym_struct_declaration] = ACTIONS(SHIFT(30)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(31)), + [aux_sym_struct_specifier_repeat1] = ACTIONS(SHIFT(218)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_struct] = ACTIONS(SHIFT(33)), + [anon_sym_RBRACE] = ACTIONS(SHIFT(219)), + [sym_identifier] = ACTIONS(SHIFT(35)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [213] = { + [anon_sym_LBRACE] = ACTIONS(SHIFT(214)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [214] = { + [sym__type_specifier] = ACTIONS(SHIFT(28)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(29)), + [sym_macro_type] = ACTIONS(SHIFT(29)), + [sym_struct_specifier] = ACTIONS(SHIFT(29)), + [sym_struct_declaration] = ACTIONS(SHIFT(30)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(31)), + [aux_sym_struct_specifier_repeat1] = ACTIONS(SHIFT(215)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_struct] = ACTIONS(SHIFT(33)), + [anon_sym_RBRACE] = ACTIONS(SHIFT(216)), + [sym_identifier] = ACTIONS(SHIFT(35)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [215] = { + [anon_sym_RBRACE] = ACTIONS(SHIFT(217)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [216] = { + [sym__init_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [sym__declarator] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [sym_pointer_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [sym_function_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [sym_array_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [sym_identifier] = ACTIONS(REDUCE(sym_struct_specifier, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [217] = { + [sym__init_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [sym__declarator] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [sym_pointer_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [sym_function_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [sym_array_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [sym_identifier] = ACTIONS(REDUCE(sym_struct_specifier, 5)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [218] = { + [anon_sym_RBRACE] = ACTIONS(SHIFT(216)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [219] = { [sym__init_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 3)), - [sym_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 3)), - [sym__direct_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 3)), - [sym_pointer] = ACTIONS(REDUCE(sym_struct_specifier, 3)), - [aux_sym_declarator_repeat1] = ACTIONS(REDUCE(sym_struct_specifier, 3)), + [sym__declarator] = ACTIONS(REDUCE(sym_struct_specifier, 3)), + [sym_pointer_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 3)), + [sym_function_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 3)), + [sym_array_declarator] = ACTIONS(REDUCE(sym_struct_specifier, 3)), [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_struct_specifier, 3)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_struct_specifier, 3)), [anon_sym_STAR] = ACTIONS(REDUCE(sym_struct_specifier, 3)), [sym_identifier] = ACTIONS(REDUCE(sym_struct_specifier, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [119] = { - [sym_identifier] = ACTIONS(REDUCE(aux_sym_type_name_repeat1, 2)), + [220] = { + [sym_identifier] = ACTIONS(REDUCE(aux_sym_numeric_type_specifier_repeat1, 2)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [120] = { - [aux_sym_SLASH_LPAREN_BSLASH_LF_PIPE_DOT_RPAREN_STAR_SLASH] = ACTIONS(SHIFT(121)), - [anon_sym_LF] = ACTIONS(SHIFT(122)), + [221] = { + [anon_sym_LF] = ACTIONS(SHIFT(222)), + [sym_preproc_arg] = ACTIONS(SHIFT(223)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [121] = { - [anon_sym_LF] = ACTIONS(SHIFT(123)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [122] = { + [222] = { [sym_preproc_define] = ACTIONS(REDUCE(sym_preproc_define, 3)), [sym_function_definition] = ACTIONS(REDUCE(sym_preproc_define, 3)), [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_preproc_define, 3)), [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_preproc_define, 3)), [sym__type_specifier] = ACTIONS(REDUCE(sym_preproc_define, 3)), - [sym_type_name] = ACTIONS(REDUCE(sym_preproc_define, 3)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_preproc_define, 3)), + [sym_macro_type] = ACTIONS(REDUCE(sym_preproc_define, 3)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_preproc_define, 3)), [sym_declaration] = ACTIONS(REDUCE(sym_preproc_define, 3)), [sym_type_qualifier] = ACTIONS(REDUCE(sym_preproc_define, 3)), - [aux_sym_program_repeat1] = ACTIONS(REDUCE(sym_preproc_define, 3)), + [aux_sym_translation_unit_repeat1] = ACTIONS(REDUCE(sym_preproc_define, 3)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_preproc_define, 3)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_preproc_define, 3)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_preproc_define, 3)), [ts_builtin_sym_end] = ACTIONS(REDUCE(sym_preproc_define, 3)), [anon_sym_POUNDdefine] = ACTIONS(REDUCE(sym_preproc_define, 3)), [anon_sym_typedef] = ACTIONS(REDUCE(sym_preproc_define, 3)), @@ -3779,19 +5248,24 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_identifier] = ACTIONS(REDUCE(sym_preproc_define, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [123] = { + [223] = { + [anon_sym_LF] = ACTIONS(SHIFT(224)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [224] = { [sym_preproc_define] = ACTIONS(REDUCE(sym_preproc_define, 4)), [sym_function_definition] = ACTIONS(REDUCE(sym_preproc_define, 4)), [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_preproc_define, 4)), [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_preproc_define, 4)), [sym__type_specifier] = ACTIONS(REDUCE(sym_preproc_define, 4)), - [sym_type_name] = ACTIONS(REDUCE(sym_preproc_define, 4)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_preproc_define, 4)), + [sym_macro_type] = ACTIONS(REDUCE(sym_preproc_define, 4)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_preproc_define, 4)), [sym_declaration] = ACTIONS(REDUCE(sym_preproc_define, 4)), [sym_type_qualifier] = ACTIONS(REDUCE(sym_preproc_define, 4)), - [aux_sym_program_repeat1] = ACTIONS(REDUCE(sym_preproc_define, 4)), + [aux_sym_translation_unit_repeat1] = ACTIONS(REDUCE(sym_preproc_define, 4)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_preproc_define, 4)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_preproc_define, 4)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_preproc_define, 4)), [ts_builtin_sym_end] = ACTIONS(REDUCE(sym_preproc_define, 4)), [anon_sym_POUNDdefine] = ACTIONS(REDUCE(sym_preproc_define, 4)), [anon_sym_typedef] = ACTIONS(REDUCE(sym_preproc_define, 4)), @@ -3810,35 +5284,37 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_identifier] = ACTIONS(REDUCE(sym_preproc_define, 4)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [124] = { - [sym__init_declarator] = ACTIONS(REDUCE(sym_type_name, 2)), - [sym_declarator] = ACTIONS(REDUCE(sym_type_name, 2)), - [sym__direct_declarator] = ACTIONS(REDUCE(sym_type_name, 2)), - [sym_pointer] = ACTIONS(REDUCE(sym_type_name, 2)), - [aux_sym_declarator_repeat1] = ACTIONS(REDUCE(sym_type_name, 2)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_type_name, 2)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_type_name, 2)), - [sym_identifier] = ACTIONS(REDUCE(sym_type_name, 2)), + [225] = { + [sym__init_declarator] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [sym__declarator] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [sym_pointer_declarator] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [sym_function_declarator] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [sym_array_declarator] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), + [sym_identifier] = ACTIONS(REDUCE(sym_numeric_type_specifier, 2)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [125] = { - [aux_sym_declaration_repeat1] = ACTIONS(SHIFT(256)), - [anon_sym_COMMA] = ACTIONS(SHIFT(237)), - [anon_sym_SEMI] = ACTIONS(SHIFT(257)), + [226] = { + [aux_sym_declaration_repeat1] = ACTIONS(SHIFT(388)), + [anon_sym_COMMA] = ACTIONS(SHIFT(368)), + [anon_sym_SEMI] = ACTIONS(SHIFT(389)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [126] = { - [sym_declaration_specifiers] = ACTIONS(SHIFT(141)), + [227] = { + [sym_declaration_specifiers] = ACTIONS(SHIFT(245)), [sym_storage_class_specifier] = ACTIONS(SHIFT(4)), - [sym__type_specifier] = ACTIONS(SHIFT(142)), - [sym_type_name] = ACTIONS(SHIFT(6)), + [sym__type_specifier] = ACTIONS(SHIFT(246)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(6)), + [sym_macro_type] = ACTIONS(SHIFT(6)), [sym_struct_specifier] = ACTIONS(SHIFT(6)), - [sym_declaration] = ACTIONS(SHIFT(143)), + [sym_declaration] = ACTIONS(SHIFT(247)), [sym_type_qualifier] = ACTIONS(SHIFT(4)), - [sym_compound_statement] = ACTIONS(SHIFT(144)), - [aux_sym_function_definition_repeat1] = ACTIONS(SHIFT(145)), + [sym_compound_statement] = ACTIONS(SHIFT(248)), + [aux_sym_function_definition_repeat1] = ACTIONS(SHIFT(249)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(SHIFT(8)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(9)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(9)), [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym__init_declarator, 1)), [anon_sym_typedef] = ACTIONS(SHIFT(11)), [anon_sym_extern] = ACTIONS(SHIFT(11)), @@ -3849,197 +5325,154 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_unsigned] = ACTIONS(SHIFT(12)), [anon_sym_long] = ACTIONS(SHIFT(12)), [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(233)), [anon_sym_struct] = ACTIONS(SHIFT(13)), - [anon_sym_LBRACE] = ACTIONS(SHIFT(146)), + [anon_sym_LBRACE] = ACTIONS(SHIFT(250)), [anon_sym_COMMA] = ACTIONS(REDUCE(sym__init_declarator, 1)), [anon_sym_SEMI] = ACTIONS(REDUCE(sym__init_declarator, 1)), - [anon_sym_EQ] = ACTIONS(SHIFT(147)), + [anon_sym_EQ] = ACTIONS(SHIFT(251)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(234)), [anon_sym_const] = ACTIONS(SHIFT(14)), [anon_sym_restrict] = ACTIONS(SHIFT(14)), [anon_sym_volatile] = ACTIONS(SHIFT(14)), [sym_identifier] = ACTIONS(SHIFT(15)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [127] = { - [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_declarator, 1)), - [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_declarator, 1)), - [sym__type_specifier] = ACTIONS(REDUCE(sym_declarator, 1)), - [sym_type_name] = ACTIONS(REDUCE(sym_declarator, 1)), - [sym_struct_specifier] = ACTIONS(REDUCE(sym_declarator, 1)), - [sym_declaration] = ACTIONS(REDUCE(sym_declarator, 1)), - [sym_type_qualifier] = ACTIONS(REDUCE(sym_declarator, 1)), - [sym_compound_statement] = ACTIONS(REDUCE(sym_declarator, 1)), - [aux_sym_function_definition_repeat1] = ACTIONS(REDUCE(sym_declarator, 1)), - [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_declarator, 1)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_declarator, 1)), - [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_typedef] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_extern] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_static] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_auto] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_register] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_signed] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_unsigned] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_long] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_short] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_struct] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_LBRACE] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_SEMI] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_EQ] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_LBRACK] = ACTIONS(SHIFT(134)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(135)), - [anon_sym_const] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_restrict] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_volatile] = ACTIONS(REDUCE(sym_declarator, 1)), - [sym_identifier] = ACTIONS(REDUCE(sym_declarator, 1)), + [228] = { + [sym_declaration_specifiers] = ACTIONS(REDUCE(sym__declarator, 1)), + [sym_storage_class_specifier] = ACTIONS(REDUCE(sym__declarator, 1)), + [sym__type_specifier] = ACTIONS(REDUCE(sym__declarator, 1)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym__declarator, 1)), + [sym_macro_type] = ACTIONS(REDUCE(sym__declarator, 1)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym__declarator, 1)), + [sym_declaration] = ACTIONS(REDUCE(sym__declarator, 1)), + [sym_type_qualifier] = ACTIONS(REDUCE(sym__declarator, 1)), + [sym_compound_statement] = ACTIONS(REDUCE(sym__declarator, 1)), + [aux_sym_function_definition_repeat1] = ACTIONS(REDUCE(sym__declarator, 1)), + [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym__declarator, 1)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym__declarator, 1)), + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_typedef] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_extern] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_static] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_auto] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_register] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_signed] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_long] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_short] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_struct] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_LBRACE] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_EQ] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_const] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_restrict] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_volatile] = ACTIONS(REDUCE(sym__declarator, 1)), + [sym_identifier] = ACTIONS(REDUCE(sym__declarator, 1)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [128] = { - [sym__direct_declarator] = ACTIONS(SHIFT(133)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(129)), - [sym_identifier] = ACTIONS(SHIFT(130)), + [229] = { + [sym__declarator] = ACTIONS(SHIFT(243)), + [sym_pointer_declarator] = ACTIONS(SHIFT(165)), + [sym_function_declarator] = ACTIONS(SHIFT(165)), + [sym_array_declarator] = ACTIONS(SHIFT(165)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(166)), + [anon_sym_STAR] = ACTIONS(SHIFT(167)), + [sym_identifier] = ACTIONS(SHIFT(165)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [129] = { - [sym_declarator] = ACTIONS(SHIFT(131)), - [sym__direct_declarator] = ACTIONS(SHIFT(46)), - [sym_pointer] = ACTIONS(SHIFT(40)), - [aux_sym_declarator_repeat1] = ACTIONS(SHIFT(47)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(48)), - [anon_sym_STAR] = ACTIONS(SHIFT(43)), - [sym_identifier] = ACTIONS(SHIFT(49)), + [230] = { + [sym_preproc_define] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_function_definition] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym__type_specifier] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_macro_type] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_declaration] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_type_qualifier] = ACTIONS(REDUCE(sym_declaration, 2)), + [aux_sym_translation_unit_repeat1] = ACTIONS(REDUCE(sym_declaration, 2)), + [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_declaration, 2)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_declaration, 2)), + [ts_builtin_sym_end] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_POUNDdefine] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_typedef] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_extern] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_static] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_auto] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_register] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_signed] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_long] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_short] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_struct] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_const] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_restrict] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_volatile] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_identifier] = ACTIONS(REDUCE(sym_declaration, 2)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [130] = { - [sym_declaration_specifiers] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [sym_storage_class_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [sym__type_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [sym_type_name] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [sym_struct_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [sym_declaration] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [sym_type_qualifier] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [sym_compound_statement] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [aux_sym_function_definition_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_typedef] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_extern] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_static] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_auto] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_register] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_signed] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_unsigned] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_long] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_short] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_struct] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_LBRACE] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_SEMI] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_EQ] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_const] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_restrict] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_volatile] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [sym_identifier] = ACTIONS(REDUCE(sym__direct_declarator, 1)), + [231] = { + [sym__declarator] = ACTIONS(SHIFT(232)), + [sym_pointer_declarator] = ACTIONS(SHIFT(228)), + [sym_function_declarator] = ACTIONS(SHIFT(228)), + [sym_array_declarator] = ACTIONS(SHIFT(228)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(229)), + [anon_sym_STAR] = ACTIONS(SHIFT(231)), + [sym_identifier] = ACTIONS(SHIFT(228)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [131] = { - [anon_sym_RPAREN] = ACTIONS(SHIFT(132)), + [232] = { + [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [sym__type_specifier] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [sym_macro_type] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [sym_declaration] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [sym_type_qualifier] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [sym_compound_statement] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [aux_sym_function_definition_repeat1] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_typedef] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_extern] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_static] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_auto] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_register] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_signed] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_long] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_short] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(233)), + [anon_sym_struct] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_LBRACE] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_EQ] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(234)), + [anon_sym_const] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_restrict] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_volatile] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [sym_identifier] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [132] = { - [sym_declaration_specifiers] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [sym_storage_class_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [sym__type_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [sym_type_name] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [sym_struct_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [sym_declaration] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [sym_type_qualifier] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [sym_compound_statement] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [aux_sym_function_definition_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_typedef] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_extern] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_static] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_auto] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_register] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_signed] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_unsigned] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_long] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_short] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_struct] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_LBRACE] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_SEMI] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_EQ] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_const] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_restrict] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_volatile] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [sym_identifier] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [133] = { - [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_declarator, 2)), - [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_declarator, 2)), - [sym__type_specifier] = ACTIONS(REDUCE(sym_declarator, 2)), - [sym_type_name] = ACTIONS(REDUCE(sym_declarator, 2)), - [sym_struct_specifier] = ACTIONS(REDUCE(sym_declarator, 2)), - [sym_declaration] = ACTIONS(REDUCE(sym_declarator, 2)), - [sym_type_qualifier] = ACTIONS(REDUCE(sym_declarator, 2)), - [sym_compound_statement] = ACTIONS(REDUCE(sym_declarator, 2)), - [aux_sym_function_definition_repeat1] = ACTIONS(REDUCE(sym_declarator, 2)), - [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_declarator, 2)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_declarator, 2)), - [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_typedef] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_extern] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_static] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_auto] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_register] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_signed] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_unsigned] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_long] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_short] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_struct] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_LBRACE] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_SEMI] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_EQ] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_LBRACK] = ACTIONS(SHIFT(134)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(135)), - [anon_sym_const] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_restrict] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_volatile] = ACTIONS(REDUCE(sym_declarator, 2)), - [sym_identifier] = ACTIONS(REDUCE(sym_declarator, 2)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [134] = { - [sym_expression] = ACTIONS(SHIFT(140)), - [sym_math_expression] = ACTIONS(SHIFT(79)), - [sym_call_expression] = ACTIONS(SHIFT(79)), - [anon_sym_RBRACK] = ACTIONS(SHIFT(132)), - [sym_string] = ACTIONS(SHIFT(79)), - [sym_identifier] = ACTIONS(SHIFT(79)), - [sym_number] = ACTIONS(SHIFT(79)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [135] = { - [sym_declaration_specifiers] = ACTIONS(SHIFT(55)), + [233] = { + [sym_declaration_specifiers] = ACTIONS(SHIFT(139)), [sym_storage_class_specifier] = ACTIONS(SHIFT(4)), - [sym__type_specifier] = ACTIONS(SHIFT(56)), - [sym_type_name] = ACTIONS(SHIFT(20)), - [sym_struct_specifier] = ACTIONS(SHIFT(20)), - [sym_parameter_declaration] = ACTIONS(SHIFT(136)), + [sym__type_specifier] = ACTIONS(SHIFT(140)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(29)), + [sym_macro_type] = ACTIONS(SHIFT(29)), + [sym_struct_specifier] = ACTIONS(SHIFT(29)), + [sym_parameter_declaration] = ACTIONS(SHIFT(238)), [sym_type_qualifier] = ACTIONS(SHIFT(4)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(SHIFT(8)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(22)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(31)), [anon_sym_typedef] = ACTIONS(SHIFT(11)), [anon_sym_extern] = ACTIONS(SHIFT(11)), [anon_sym_static] = ACTIONS(SHIFT(11)), @@ -4049,106 +5482,274 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_unsigned] = ACTIONS(SHIFT(12)), [anon_sym_long] = ACTIONS(SHIFT(12)), [anon_sym_short] = ACTIONS(SHIFT(12)), - [anon_sym_struct] = ACTIONS(SHIFT(24)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(132)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(239)), + [anon_sym_struct] = ACTIONS(SHIFT(33)), [anon_sym_const] = ACTIONS(SHIFT(14)), [anon_sym_restrict] = ACTIONS(SHIFT(14)), [anon_sym_volatile] = ACTIONS(SHIFT(14)), - [sym_identifier] = ACTIONS(SHIFT(26)), + [sym_identifier] = ACTIONS(SHIFT(35)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [136] = { - [aux_sym__direct_declarator_repeat1] = ACTIONS(SHIFT(137)), - [anon_sym_COMMA] = ACTIONS(SHIFT(59)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(138)), + [234] = { + [sym__expression] = ACTIONS(SHIFT(235)), + [sym_cast_expression] = ACTIONS(SHIFT(58)), + [sym_math_expression] = ACTIONS(SHIFT(58)), + [sym_call_expression] = ACTIONS(SHIFT(58)), + [sym_pointer_expression] = ACTIONS(SHIFT(58)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(59)), + [anon_sym_RBRACK] = ACTIONS(SHIFT(236)), + [anon_sym_STAR] = ACTIONS(SHIFT(61)), + [anon_sym_AMP] = ACTIONS(SHIFT(61)), + [sym_string] = ACTIONS(SHIFT(58)), + [sym_identifier] = ACTIONS(SHIFT(58)), + [sym_number] = ACTIONS(SHIFT(58)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [137] = { - [anon_sym_RPAREN] = ACTIONS(SHIFT(139)), + [235] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(63)), + [anon_sym_RBRACK] = ACTIONS(SHIFT(237)), + [anon_sym_STAR] = ACTIONS(SHIFT(64)), + [anon_sym_PLUS] = ACTIONS(SHIFT(65)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [138] = { - [sym_declaration_specifiers] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [sym_storage_class_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [sym__type_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [sym_type_name] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [sym_struct_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [sym_declaration] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [sym_type_qualifier] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [sym_compound_statement] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [aux_sym_function_definition_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_typedef] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_extern] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_static] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_auto] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_register] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_signed] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_unsigned] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_long] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_short] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_struct] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_LBRACE] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_SEMI] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_EQ] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_const] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_restrict] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_volatile] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [sym_identifier] = ACTIONS(REDUCE(sym__direct_declarator, 4)), + [236] = { + [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [sym__type_specifier] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [sym_macro_type] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [sym_declaration] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [sym_type_qualifier] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [sym_compound_statement] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [aux_sym_function_definition_repeat1] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_typedef] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_extern] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_static] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_auto] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_register] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_signed] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_long] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_short] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_struct] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_LBRACE] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_EQ] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_const] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_restrict] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_volatile] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [sym_identifier] = ACTIONS(REDUCE(sym_array_declarator, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [139] = { - [sym_declaration_specifiers] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [sym_storage_class_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [sym__type_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [sym_type_name] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [sym_struct_specifier] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [sym_declaration] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [sym_type_qualifier] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [sym_compound_statement] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [aux_sym_function_definition_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_typedef] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_extern] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_static] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_auto] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_register] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_signed] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_unsigned] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_long] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_short] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_struct] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_LBRACE] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_SEMI] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_EQ] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_const] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_restrict] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_volatile] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [sym_identifier] = ACTIONS(REDUCE(sym__direct_declarator, 5)), + [237] = { + [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [sym__type_specifier] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [sym_macro_type] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [sym_declaration] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [sym_type_qualifier] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [sym_compound_statement] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [aux_sym_function_definition_repeat1] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_typedef] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_extern] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_static] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_auto] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_register] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_signed] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_long] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_short] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_struct] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_LBRACE] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_EQ] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_const] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_restrict] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_volatile] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [sym_identifier] = ACTIONS(REDUCE(sym_array_declarator, 4)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [140] = { - [anon_sym_RBRACK] = ACTIONS(SHIFT(138)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(80)), - [anon_sym_STAR] = ACTIONS(SHIFT(81)), - [anon_sym_PLUS] = ACTIONS(SHIFT(82)), + [238] = { + [aux_sym_function_declarator_repeat1] = ACTIONS(SHIFT(240)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(241)), + [anon_sym_COMMA] = ACTIONS(SHIFT(145)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [141] = { - [sym__type_specifier] = ACTIONS(SHIFT(252)), - [sym_type_name] = ACTIONS(SHIFT(6)), + [239] = { + [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [sym__type_specifier] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [sym_macro_type] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [sym_declaration] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [sym_type_qualifier] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [sym_compound_statement] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [aux_sym_function_definition_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_typedef] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_extern] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_static] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_auto] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_register] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_signed] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_long] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_short] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_struct] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_LBRACE] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_EQ] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_const] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_restrict] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_volatile] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [sym_identifier] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [240] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(242)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [241] = { + [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [sym__type_specifier] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [sym_macro_type] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [sym_declaration] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [sym_type_qualifier] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [sym_compound_statement] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [aux_sym_function_definition_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_typedef] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_extern] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_static] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_auto] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_register] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_signed] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_long] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_short] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_struct] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_LBRACE] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_EQ] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_const] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_restrict] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_volatile] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [sym_identifier] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [242] = { + [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [sym__type_specifier] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [sym_macro_type] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [sym_declaration] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [sym_type_qualifier] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [sym_compound_statement] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [aux_sym_function_definition_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_typedef] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_extern] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_static] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_auto] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_register] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_signed] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_long] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_short] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_struct] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_LBRACE] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_EQ] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_const] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_restrict] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_volatile] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [sym_identifier] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [243] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(169)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(244)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(170)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [244] = { + [sym_declaration_specifiers] = ACTIONS(REDUCE(sym__declarator, 3)), + [sym_storage_class_specifier] = ACTIONS(REDUCE(sym__declarator, 3)), + [sym__type_specifier] = ACTIONS(REDUCE(sym__declarator, 3)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym__declarator, 3)), + [sym_macro_type] = ACTIONS(REDUCE(sym__declarator, 3)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym__declarator, 3)), + [sym_declaration] = ACTIONS(REDUCE(sym__declarator, 3)), + [sym_type_qualifier] = ACTIONS(REDUCE(sym__declarator, 3)), + [sym_compound_statement] = ACTIONS(REDUCE(sym__declarator, 3)), + [aux_sym_function_definition_repeat1] = ACTIONS(REDUCE(sym__declarator, 3)), + [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym__declarator, 3)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym__declarator, 3)), + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_typedef] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_extern] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_static] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_auto] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_register] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_signed] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_long] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_short] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_struct] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_LBRACE] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_EQ] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_const] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_restrict] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_volatile] = ACTIONS(REDUCE(sym__declarator, 3)), + [sym_identifier] = ACTIONS(REDUCE(sym__declarator, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [245] = { + [sym__type_specifier] = ACTIONS(SHIFT(384)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(6)), + [sym_macro_type] = ACTIONS(SHIFT(6)), [sym_struct_specifier] = ACTIONS(SHIFT(6)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(9)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(9)), [anon_sym_signed] = ACTIONS(SHIFT(12)), [anon_sym_unsigned] = ACTIONS(SHIFT(12)), [anon_sym_long] = ACTIONS(SHIFT(12)), @@ -4157,29 +5758,31 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_identifier] = ACTIONS(SHIFT(15)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [142] = { - [sym__init_declarator] = ACTIONS(SHIFT(248)), - [sym_declarator] = ACTIONS(SHIFT(221)), - [sym__direct_declarator] = ACTIONS(SHIFT(222)), - [sym_pointer] = ACTIONS(SHIFT(40)), - [aux_sym_declarator_repeat1] = ACTIONS(SHIFT(223)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(224)), - [anon_sym_STAR] = ACTIONS(SHIFT(43)), - [sym_identifier] = ACTIONS(SHIFT(225)), + [246] = { + [sym__init_declarator] = ACTIONS(SHIFT(379)), + [sym__declarator] = ACTIONS(SHIFT(349)), + [sym_pointer_declarator] = ACTIONS(SHIFT(350)), + [sym_function_declarator] = ACTIONS(SHIFT(350)), + [sym_array_declarator] = ACTIONS(SHIFT(350)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(351)), + [anon_sym_SEMI] = ACTIONS(SHIFT(380)), + [anon_sym_STAR] = ACTIONS(SHIFT(353)), + [sym_identifier] = ACTIONS(SHIFT(350)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [143] = { - [sym_declaration_specifiers] = ACTIONS(SHIFT(141)), + [247] = { + [sym_declaration_specifiers] = ACTIONS(SHIFT(245)), [sym_storage_class_specifier] = ACTIONS(SHIFT(4)), - [sym__type_specifier] = ACTIONS(SHIFT(142)), - [sym_type_name] = ACTIONS(SHIFT(6)), + [sym__type_specifier] = ACTIONS(SHIFT(246)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(6)), + [sym_macro_type] = ACTIONS(SHIFT(6)), [sym_struct_specifier] = ACTIONS(SHIFT(6)), - [sym_declaration] = ACTIONS(SHIFT(143)), + [sym_declaration] = ACTIONS(SHIFT(247)), [sym_type_qualifier] = ACTIONS(SHIFT(4)), [sym_compound_statement] = ACTIONS(REDUCE(aux_sym_function_definition_repeat1, 1)), - [aux_sym_function_definition_repeat1] = ACTIONS(SHIFT(247)), + [aux_sym_function_definition_repeat1] = ACTIONS(SHIFT(378)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(SHIFT(8)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(9)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(9)), [anon_sym_typedef] = ACTIONS(SHIFT(11)), [anon_sym_extern] = ACTIONS(SHIFT(11)), [anon_sym_static] = ACTIONS(SHIFT(11)), @@ -4197,19 +5800,20 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_identifier] = ACTIONS(SHIFT(15)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [144] = { + [248] = { [sym_preproc_define] = ACTIONS(REDUCE(sym_function_definition, 3)), [sym_function_definition] = ACTIONS(REDUCE(sym_function_definition, 3)), [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_function_definition, 3)), [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_function_definition, 3)), [sym__type_specifier] = ACTIONS(REDUCE(sym_function_definition, 3)), - [sym_type_name] = ACTIONS(REDUCE(sym_function_definition, 3)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_function_definition, 3)), + [sym_macro_type] = ACTIONS(REDUCE(sym_function_definition, 3)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_function_definition, 3)), [sym_declaration] = ACTIONS(REDUCE(sym_function_definition, 3)), [sym_type_qualifier] = ACTIONS(REDUCE(sym_function_definition, 3)), - [aux_sym_program_repeat1] = ACTIONS(REDUCE(sym_function_definition, 3)), + [aux_sym_translation_unit_repeat1] = ACTIONS(REDUCE(sym_function_definition, 3)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_function_definition, 3)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_function_definition, 3)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_function_definition, 3)), [ts_builtin_sym_end] = ACTIONS(REDUCE(sym_function_definition, 3)), [anon_sym_POUNDdefine] = ACTIONS(REDUCE(sym_function_definition, 3)), [anon_sym_typedef] = ACTIONS(REDUCE(sym_function_definition, 3)), @@ -4228,28 +5832,31 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_identifier] = ACTIONS(REDUCE(sym_function_definition, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [145] = { - [sym_compound_statement] = ACTIONS(SHIFT(246)), - [anon_sym_LBRACE] = ACTIONS(SHIFT(146)), + [249] = { + [sym_compound_statement] = ACTIONS(SHIFT(377)), + [anon_sym_LBRACE] = ACTIONS(SHIFT(250)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [146] = { - [sym_declaration_specifiers] = ACTIONS(SHIFT(198)), + [250] = { + [sym_declaration_specifiers] = ACTIONS(SHIFT(318)), [sym_storage_class_specifier] = ACTIONS(SHIFT(4)), - [sym__type_specifier] = ACTIONS(SHIFT(199)), - [sym_type_name] = ACTIONS(SHIFT(6)), + [sym__type_specifier] = ACTIONS(SHIFT(319)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(6)), + [sym_macro_type] = ACTIONS(SHIFT(6)), [sym_struct_specifier] = ACTIONS(SHIFT(6)), - [sym_declaration] = ACTIONS(SHIFT(200)), + [sym_declaration] = ACTIONS(SHIFT(320)), [sym_type_qualifier] = ACTIONS(SHIFT(4)), - [sym_expression] = ACTIONS(SHIFT(201)), - [sym_math_expression] = ACTIONS(SHIFT(202)), - [sym_call_expression] = ACTIONS(SHIFT(202)), - [sym_statement] = ACTIONS(SHIFT(200)), - [sym_expression_statement] = ACTIONS(SHIFT(203)), + [sym__expression] = ACTIONS(SHIFT(321)), + [sym_cast_expression] = ACTIONS(SHIFT(322)), + [sym_math_expression] = ACTIONS(SHIFT(322)), + [sym_call_expression] = ACTIONS(SHIFT(322)), + [sym_pointer_expression] = ACTIONS(SHIFT(322)), + [sym__statement] = ACTIONS(SHIFT(320)), + [sym_expression_statement] = ACTIONS(SHIFT(323)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(SHIFT(8)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(9)), - [aux_sym_compound_statement_repeat1] = ACTIONS(SHIFT(204)), - [ts_builtin_sym_error] = ACTIONS(SHIFT(204)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(9)), + [aux_sym_compound_statement_repeat1] = ACTIONS(SHIFT(324)), + [ts_builtin_sym_error] = ACTIONS(SHIFT(324)), [anon_sym_typedef] = ACTIONS(SHIFT(11)), [anon_sym_extern] = ACTIONS(SHIFT(11)), [anon_sym_static] = ACTIONS(SHIFT(11)), @@ -4259,434 +5866,702 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_unsigned] = ACTIONS(SHIFT(12)), [anon_sym_long] = ACTIONS(SHIFT(12)), [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(325)), [anon_sym_struct] = ACTIONS(SHIFT(13)), - [anon_sym_RBRACE] = ACTIONS(SHIFT(205)), + [anon_sym_RBRACE] = ACTIONS(SHIFT(326)), + [anon_sym_STAR] = ACTIONS(SHIFT(327)), [anon_sym_const] = ACTIONS(SHIFT(14)), [anon_sym_restrict] = ACTIONS(SHIFT(14)), [anon_sym_volatile] = ACTIONS(SHIFT(14)), - [sym_string] = ACTIONS(SHIFT(202)), - [sym_identifier] = ACTIONS(SHIFT(206)), - [sym_number] = ACTIONS(SHIFT(202)), + [anon_sym_AMP] = ACTIONS(SHIFT(327)), + [sym_string] = ACTIONS(SHIFT(322)), + [sym_identifier] = ACTIONS(SHIFT(328)), + [sym_number] = ACTIONS(SHIFT(322)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [147] = { - [sym_initializer] = ACTIONS(SHIFT(148)), - [sym_expression] = ACTIONS(SHIFT(149)), - [sym_math_expression] = ACTIONS(SHIFT(150)), - [sym_call_expression] = ACTIONS(SHIFT(150)), - [anon_sym_LBRACE] = ACTIONS(SHIFT(151)), - [sym_string] = ACTIONS(SHIFT(150)), - [sym_identifier] = ACTIONS(SHIFT(150)), - [sym_number] = ACTIONS(SHIFT(150)), + [251] = { + [sym_initializer] = ACTIONS(SHIFT(252)), + [sym__expression] = ACTIONS(SHIFT(253)), + [sym_cast_expression] = ACTIONS(SHIFT(254)), + [sym_math_expression] = ACTIONS(SHIFT(254)), + [sym_call_expression] = ACTIONS(SHIFT(254)), + [sym_pointer_expression] = ACTIONS(SHIFT(254)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(255)), + [anon_sym_LBRACE] = ACTIONS(SHIFT(256)), + [anon_sym_STAR] = ACTIONS(SHIFT(257)), + [anon_sym_AMP] = ACTIONS(SHIFT(257)), + [sym_string] = ACTIONS(SHIFT(254)), + [sym_identifier] = ACTIONS(SHIFT(254)), + [sym_number] = ACTIONS(SHIFT(254)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [148] = { + [252] = { [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym__init_declarator, 3)), [anon_sym_COMMA] = ACTIONS(REDUCE(sym__init_declarator, 3)), [anon_sym_SEMI] = ACTIONS(REDUCE(sym__init_declarator, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [149] = { + [253] = { [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_initializer, 1)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(259)), [anon_sym_COMMA] = ACTIONS(REDUCE(sym_initializer, 1)), [anon_sym_SEMI] = ACTIONS(REDUCE(sym_initializer, 1)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(188)), - [anon_sym_STAR] = ACTIONS(SHIFT(189)), - [anon_sym_PLUS] = ACTIONS(SHIFT(190)), + [anon_sym_STAR] = ACTIONS(SHIFT(260)), + [anon_sym_PLUS] = ACTIONS(SHIFT(261)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [150] = { - [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_SEMI] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_PLUS] = ACTIONS(REDUCE(sym_expression, 1)), + [254] = { + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym__expression, 1)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [151] = { - [sym_initializer] = ACTIONS(SHIFT(152)), - [sym_initializer_list] = ACTIONS(SHIFT(153)), - [sym_designation] = ACTIONS(SHIFT(154)), - [sym_expression] = ACTIONS(SHIFT(155)), - [sym_math_expression] = ACTIONS(SHIFT(156)), - [sym_call_expression] = ACTIONS(SHIFT(156)), - [aux_sym_designation_repeat1] = ACTIONS(SHIFT(157)), - [anon_sym_LBRACE] = ACTIONS(SHIFT(158)), - [anon_sym_LBRACK] = ACTIONS(SHIFT(159)), - [anon_sym_DOT] = ACTIONS(SHIFT(160)), - [sym_string] = ACTIONS(SHIFT(156)), - [sym_identifier] = ACTIONS(SHIFT(156)), - [sym_number] = ACTIONS(SHIFT(156)), + [255] = { + [sym__type_specifier] = ACTIONS(SHIFT(87)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(88)), + [sym_macro_type] = ACTIONS(SHIFT(88)), + [sym_struct_specifier] = ACTIONS(SHIFT(88)), + [sym_type_name] = ACTIONS(SHIFT(313)), + [sym_type_qualifier] = ACTIONS(SHIFT(90)), + [sym__expression] = ACTIONS(SHIFT(314)), + [sym_cast_expression] = ACTIONS(SHIFT(92)), + [sym_math_expression] = ACTIONS(SHIFT(92)), + [sym_call_expression] = ACTIONS(SHIFT(92)), + [sym_pointer_expression] = ACTIONS(SHIFT(92)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(93)), + [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(94)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(95)), + [anon_sym_struct] = ACTIONS(SHIFT(96)), + [anon_sym_STAR] = ACTIONS(SHIFT(97)), + [anon_sym_const] = ACTIONS(SHIFT(98)), + [anon_sym_restrict] = ACTIONS(SHIFT(98)), + [anon_sym_volatile] = ACTIONS(SHIFT(98)), + [anon_sym_AMP] = ACTIONS(SHIFT(97)), + [sym_string] = ACTIONS(SHIFT(92)), + [sym_identifier] = ACTIONS(SHIFT(99)), + [sym_number] = ACTIONS(SHIFT(92)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [152] = { + [256] = { + [sym_initializer] = ACTIONS(SHIFT(269)), + [sym_initializer_list] = ACTIONS(SHIFT(270)), + [sym_designation] = ACTIONS(SHIFT(271)), + [sym__expression] = ACTIONS(SHIFT(272)), + [sym_cast_expression] = ACTIONS(SHIFT(273)), + [sym_math_expression] = ACTIONS(SHIFT(273)), + [sym_call_expression] = ACTIONS(SHIFT(273)), + [sym_pointer_expression] = ACTIONS(SHIFT(273)), + [aux_sym_designation_repeat1] = ACTIONS(SHIFT(274)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(275)), + [anon_sym_LBRACE] = ACTIONS(SHIFT(276)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(277)), + [anon_sym_DOT] = ACTIONS(SHIFT(278)), + [anon_sym_STAR] = ACTIONS(SHIFT(279)), + [anon_sym_AMP] = ACTIONS(SHIFT(279)), + [sym_string] = ACTIONS(SHIFT(273)), + [sym_identifier] = ACTIONS(SHIFT(273)), + [sym_number] = ACTIONS(SHIFT(273)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [257] = { + [sym__expression] = ACTIONS(SHIFT(258)), + [sym_cast_expression] = ACTIONS(SHIFT(254)), + [sym_math_expression] = ACTIONS(SHIFT(254)), + [sym_call_expression] = ACTIONS(SHIFT(254)), + [sym_pointer_expression] = ACTIONS(SHIFT(254)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(255)), + [anon_sym_STAR] = ACTIONS(SHIFT(257)), + [anon_sym_AMP] = ACTIONS(SHIFT(257)), + [sym_string] = ACTIONS(SHIFT(254)), + [sym_identifier] = ACTIONS(SHIFT(254)), + [sym_number] = ACTIONS(SHIFT(254)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [258] = { + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_pointer_expression, 2)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(259)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_pointer_expression, 2)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_pointer_expression, 2)), + [anon_sym_STAR] = ACTIONS(SHIFT(260)), + [anon_sym_PLUS] = ACTIONS(SHIFT(261)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [259] = { + [sym__expression] = ACTIONS(SHIFT(264)), + [sym_cast_expression] = ACTIONS(SHIFT(69)), + [sym_math_expression] = ACTIONS(SHIFT(69)), + [sym_call_expression] = ACTIONS(SHIFT(69)), + [sym_pointer_expression] = ACTIONS(SHIFT(69)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(70)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(265)), + [anon_sym_STAR] = ACTIONS(SHIFT(72)), + [anon_sym_AMP] = ACTIONS(SHIFT(72)), + [sym_string] = ACTIONS(SHIFT(69)), + [sym_identifier] = ACTIONS(SHIFT(69)), + [sym_number] = ACTIONS(SHIFT(69)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [260] = { + [sym__expression] = ACTIONS(SHIFT(263)), + [sym_cast_expression] = ACTIONS(SHIFT(254)), + [sym_math_expression] = ACTIONS(SHIFT(254)), + [sym_call_expression] = ACTIONS(SHIFT(254)), + [sym_pointer_expression] = ACTIONS(SHIFT(254)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(255)), + [anon_sym_STAR] = ACTIONS(SHIFT(257)), + [anon_sym_AMP] = ACTIONS(SHIFT(257)), + [sym_string] = ACTIONS(SHIFT(254)), + [sym_identifier] = ACTIONS(SHIFT(254)), + [sym_number] = ACTIONS(SHIFT(254)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [261] = { + [sym__expression] = ACTIONS(SHIFT(262)), + [sym_cast_expression] = ACTIONS(SHIFT(254)), + [sym_math_expression] = ACTIONS(SHIFT(254)), + [sym_call_expression] = ACTIONS(SHIFT(254)), + [sym_pointer_expression] = ACTIONS(SHIFT(254)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(255)), + [anon_sym_STAR] = ACTIONS(SHIFT(257)), + [anon_sym_AMP] = ACTIONS(SHIFT(257)), + [sym_string] = ACTIONS(SHIFT(254)), + [sym_identifier] = ACTIONS(SHIFT(254)), + [sym_number] = ACTIONS(SHIFT(254)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [262] = { + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(259)), + [anon_sym_COMMA] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_SEMI] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_STAR] = ACTIONS(SHIFT(260)), + [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [263] = { + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(259)), + [anon_sym_COMMA] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_SEMI] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_STAR] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [264] = { + [aux_sym_call_expression_repeat1] = ACTIONS(SHIFT(266)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(74)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(267)), + [anon_sym_COMMA] = ACTIONS(SHIFT(83)), + [anon_sym_STAR] = ACTIONS(SHIFT(75)), + [anon_sym_PLUS] = ACTIONS(SHIFT(76)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [265] = { + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_call_expression, 3)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_call_expression, 3)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_call_expression, 3)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 3)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [266] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(268)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [267] = { + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_call_expression, 4)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 4)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_call_expression, 4)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_call_expression, 4)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 4)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [268] = { + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 5)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [269] = { [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_initializer_list, 1)), [anon_sym_COMMA] = ACTIONS(REDUCE(sym_initializer_list, 1)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [153] = { - [anon_sym_RBRACE] = ACTIONS(SHIFT(185)), - [anon_sym_COMMA] = ACTIONS(SHIFT(186)), + [270] = { + [anon_sym_RBRACE] = ACTIONS(SHIFT(310)), + [anon_sym_COMMA] = ACTIONS(SHIFT(311)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [154] = { - [sym_initializer] = ACTIONS(SHIFT(184)), - [sym_expression] = ACTIONS(SHIFT(155)), - [sym_math_expression] = ACTIONS(SHIFT(156)), - [sym_call_expression] = ACTIONS(SHIFT(156)), - [anon_sym_LBRACE] = ACTIONS(SHIFT(158)), - [sym_string] = ACTIONS(SHIFT(156)), - [sym_identifier] = ACTIONS(SHIFT(156)), - [sym_number] = ACTIONS(SHIFT(156)), + [271] = { + [sym_initializer] = ACTIONS(SHIFT(309)), + [sym__expression] = ACTIONS(SHIFT(272)), + [sym_cast_expression] = ACTIONS(SHIFT(273)), + [sym_math_expression] = ACTIONS(SHIFT(273)), + [sym_call_expression] = ACTIONS(SHIFT(273)), + [sym_pointer_expression] = ACTIONS(SHIFT(273)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(275)), + [anon_sym_LBRACE] = ACTIONS(SHIFT(276)), + [anon_sym_STAR] = ACTIONS(SHIFT(279)), + [anon_sym_AMP] = ACTIONS(SHIFT(279)), + [sym_string] = ACTIONS(SHIFT(273)), + [sym_identifier] = ACTIONS(SHIFT(273)), + [sym_number] = ACTIONS(SHIFT(273)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [155] = { + [272] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(281)), [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_initializer, 1)), [anon_sym_COMMA] = ACTIONS(REDUCE(sym_initializer, 1)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(174)), - [anon_sym_STAR] = ACTIONS(SHIFT(175)), - [anon_sym_PLUS] = ACTIONS(SHIFT(176)), + [anon_sym_STAR] = ACTIONS(SHIFT(282)), + [anon_sym_PLUS] = ACTIONS(SHIFT(283)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [156] = { - [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_PLUS] = ACTIONS(REDUCE(sym_expression, 1)), + [273] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_RBRACE] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym__expression, 1)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [157] = { - [anon_sym_EQ] = ACTIONS(SHIFT(173)), + [274] = { + [anon_sym_EQ] = ACTIONS(SHIFT(308)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [158] = { - [sym_initializer] = ACTIONS(SHIFT(152)), - [sym_initializer_list] = ACTIONS(SHIFT(166)), - [sym_designation] = ACTIONS(SHIFT(154)), - [sym_expression] = ACTIONS(SHIFT(155)), - [sym_math_expression] = ACTIONS(SHIFT(156)), - [sym_call_expression] = ACTIONS(SHIFT(156)), - [aux_sym_designation_repeat1] = ACTIONS(SHIFT(157)), - [anon_sym_LBRACE] = ACTIONS(SHIFT(158)), - [anon_sym_LBRACK] = ACTIONS(SHIFT(159)), - [anon_sym_DOT] = ACTIONS(SHIFT(160)), - [sym_string] = ACTIONS(SHIFT(156)), - [sym_identifier] = ACTIONS(SHIFT(156)), - [sym_number] = ACTIONS(SHIFT(156)), + [275] = { + [sym__type_specifier] = ACTIONS(SHIFT(87)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(88)), + [sym_macro_type] = ACTIONS(SHIFT(88)), + [sym_struct_specifier] = ACTIONS(SHIFT(88)), + [sym_type_name] = ACTIONS(SHIFT(303)), + [sym_type_qualifier] = ACTIONS(SHIFT(90)), + [sym__expression] = ACTIONS(SHIFT(304)), + [sym_cast_expression] = ACTIONS(SHIFT(92)), + [sym_math_expression] = ACTIONS(SHIFT(92)), + [sym_call_expression] = ACTIONS(SHIFT(92)), + [sym_pointer_expression] = ACTIONS(SHIFT(92)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(93)), + [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(94)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(95)), + [anon_sym_struct] = ACTIONS(SHIFT(96)), + [anon_sym_STAR] = ACTIONS(SHIFT(97)), + [anon_sym_const] = ACTIONS(SHIFT(98)), + [anon_sym_restrict] = ACTIONS(SHIFT(98)), + [anon_sym_volatile] = ACTIONS(SHIFT(98)), + [anon_sym_AMP] = ACTIONS(SHIFT(97)), + [sym_string] = ACTIONS(SHIFT(92)), + [sym_identifier] = ACTIONS(SHIFT(99)), + [sym_number] = ACTIONS(SHIFT(92)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [159] = { - [sym_expression] = ACTIONS(SHIFT(163)), - [sym_math_expression] = ACTIONS(SHIFT(79)), - [sym_call_expression] = ACTIONS(SHIFT(79)), - [sym_string] = ACTIONS(SHIFT(79)), - [sym_identifier] = ACTIONS(SHIFT(79)), - [sym_number] = ACTIONS(SHIFT(79)), + [276] = { + [sym_initializer] = ACTIONS(SHIFT(269)), + [sym_initializer_list] = ACTIONS(SHIFT(296)), + [sym_designation] = ACTIONS(SHIFT(271)), + [sym__expression] = ACTIONS(SHIFT(272)), + [sym_cast_expression] = ACTIONS(SHIFT(273)), + [sym_math_expression] = ACTIONS(SHIFT(273)), + [sym_call_expression] = ACTIONS(SHIFT(273)), + [sym_pointer_expression] = ACTIONS(SHIFT(273)), + [aux_sym_designation_repeat1] = ACTIONS(SHIFT(274)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(275)), + [anon_sym_LBRACE] = ACTIONS(SHIFT(276)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(277)), + [anon_sym_DOT] = ACTIONS(SHIFT(278)), + [anon_sym_STAR] = ACTIONS(SHIFT(279)), + [anon_sym_AMP] = ACTIONS(SHIFT(279)), + [sym_string] = ACTIONS(SHIFT(273)), + [sym_identifier] = ACTIONS(SHIFT(273)), + [sym_number] = ACTIONS(SHIFT(273)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [160] = { - [sym_identifier] = ACTIONS(SHIFT(161)), + [277] = { + [sym__expression] = ACTIONS(SHIFT(293)), + [sym_cast_expression] = ACTIONS(SHIFT(58)), + [sym_math_expression] = ACTIONS(SHIFT(58)), + [sym_call_expression] = ACTIONS(SHIFT(58)), + [sym_pointer_expression] = ACTIONS(SHIFT(58)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(59)), + [anon_sym_STAR] = ACTIONS(SHIFT(61)), + [anon_sym_AMP] = ACTIONS(SHIFT(61)), + [sym_string] = ACTIONS(SHIFT(58)), + [sym_identifier] = ACTIONS(SHIFT(58)), + [sym_number] = ACTIONS(SHIFT(58)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [161] = { - [aux_sym_designation_repeat1] = ACTIONS(SHIFT(162)), + [278] = { + [sym_identifier] = ACTIONS(SHIFT(291)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [279] = { + [sym__expression] = ACTIONS(SHIFT(280)), + [sym_cast_expression] = ACTIONS(SHIFT(273)), + [sym_math_expression] = ACTIONS(SHIFT(273)), + [sym_call_expression] = ACTIONS(SHIFT(273)), + [sym_pointer_expression] = ACTIONS(SHIFT(273)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(275)), + [anon_sym_STAR] = ACTIONS(SHIFT(279)), + [anon_sym_AMP] = ACTIONS(SHIFT(279)), + [sym_string] = ACTIONS(SHIFT(273)), + [sym_identifier] = ACTIONS(SHIFT(273)), + [sym_number] = ACTIONS(SHIFT(273)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [280] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(281)), + [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_pointer_expression, 2)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_pointer_expression, 2)), + [anon_sym_STAR] = ACTIONS(SHIFT(282)), + [anon_sym_PLUS] = ACTIONS(SHIFT(283)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [281] = { + [sym__expression] = ACTIONS(SHIFT(286)), + [sym_cast_expression] = ACTIONS(SHIFT(69)), + [sym_math_expression] = ACTIONS(SHIFT(69)), + [sym_call_expression] = ACTIONS(SHIFT(69)), + [sym_pointer_expression] = ACTIONS(SHIFT(69)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(70)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(287)), + [anon_sym_STAR] = ACTIONS(SHIFT(72)), + [anon_sym_AMP] = ACTIONS(SHIFT(72)), + [sym_string] = ACTIONS(SHIFT(69)), + [sym_identifier] = ACTIONS(SHIFT(69)), + [sym_number] = ACTIONS(SHIFT(69)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [282] = { + [sym__expression] = ACTIONS(SHIFT(285)), + [sym_cast_expression] = ACTIONS(SHIFT(273)), + [sym_math_expression] = ACTIONS(SHIFT(273)), + [sym_call_expression] = ACTIONS(SHIFT(273)), + [sym_pointer_expression] = ACTIONS(SHIFT(273)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(275)), + [anon_sym_STAR] = ACTIONS(SHIFT(279)), + [anon_sym_AMP] = ACTIONS(SHIFT(279)), + [sym_string] = ACTIONS(SHIFT(273)), + [sym_identifier] = ACTIONS(SHIFT(273)), + [sym_number] = ACTIONS(SHIFT(273)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [283] = { + [sym__expression] = ACTIONS(SHIFT(284)), + [sym_cast_expression] = ACTIONS(SHIFT(273)), + [sym_math_expression] = ACTIONS(SHIFT(273)), + [sym_call_expression] = ACTIONS(SHIFT(273)), + [sym_pointer_expression] = ACTIONS(SHIFT(273)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(275)), + [anon_sym_STAR] = ACTIONS(SHIFT(279)), + [anon_sym_AMP] = ACTIONS(SHIFT(279)), + [sym_string] = ACTIONS(SHIFT(273)), + [sym_identifier] = ACTIONS(SHIFT(273)), + [sym_number] = ACTIONS(SHIFT(273)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [284] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(281)), + [anon_sym_RBRACE] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_STAR] = ACTIONS(SHIFT(282)), + [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [285] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(281)), + [anon_sym_RBRACE] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_STAR] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [286] = { + [aux_sym_call_expression_repeat1] = ACTIONS(SHIFT(288)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(74)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(289)), + [anon_sym_COMMA] = ACTIONS(SHIFT(83)), + [anon_sym_STAR] = ACTIONS(SHIFT(75)), + [anon_sym_PLUS] = ACTIONS(SHIFT(76)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [287] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 3)), + [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_call_expression, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_call_expression, 3)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 3)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [288] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(290)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [289] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 4)), + [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_call_expression, 4)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_call_expression, 4)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 4)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [290] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 5)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [291] = { + [aux_sym_designation_repeat1] = ACTIONS(SHIFT(292)), [anon_sym_EQ] = ACTIONS(REDUCE(aux_sym_designation_repeat1, 2)), - [anon_sym_LBRACK] = ACTIONS(SHIFT(159)), - [anon_sym_DOT] = ACTIONS(SHIFT(160)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(277)), + [anon_sym_DOT] = ACTIONS(SHIFT(278)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [162] = { + [292] = { [anon_sym_EQ] = ACTIONS(REDUCE(aux_sym_designation_repeat1, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [163] = { - [anon_sym_RBRACK] = ACTIONS(SHIFT(164)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(80)), - [anon_sym_STAR] = ACTIONS(SHIFT(81)), - [anon_sym_PLUS] = ACTIONS(SHIFT(82)), + [293] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(63)), + [anon_sym_RBRACK] = ACTIONS(SHIFT(294)), + [anon_sym_STAR] = ACTIONS(SHIFT(64)), + [anon_sym_PLUS] = ACTIONS(SHIFT(65)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [164] = { - [aux_sym_designation_repeat1] = ACTIONS(SHIFT(165)), + [294] = { + [aux_sym_designation_repeat1] = ACTIONS(SHIFT(295)), [anon_sym_EQ] = ACTIONS(REDUCE(aux_sym_designation_repeat1, 3)), - [anon_sym_LBRACK] = ACTIONS(SHIFT(159)), - [anon_sym_DOT] = ACTIONS(SHIFT(160)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(277)), + [anon_sym_DOT] = ACTIONS(SHIFT(278)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [165] = { + [295] = { [anon_sym_EQ] = ACTIONS(REDUCE(aux_sym_designation_repeat1, 4)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [166] = { - [anon_sym_RBRACE] = ACTIONS(SHIFT(167)), - [anon_sym_COMMA] = ACTIONS(SHIFT(168)), + [296] = { + [anon_sym_RBRACE] = ACTIONS(SHIFT(297)), + [anon_sym_COMMA] = ACTIONS(SHIFT(298)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [167] = { + [297] = { [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_initializer, 3)), [anon_sym_COMMA] = ACTIONS(REDUCE(sym_initializer, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [168] = { - [sym_initializer] = ACTIONS(SHIFT(169)), - [sym_designation] = ACTIONS(SHIFT(170)), - [sym_expression] = ACTIONS(SHIFT(155)), - [sym_math_expression] = ACTIONS(SHIFT(156)), - [sym_call_expression] = ACTIONS(SHIFT(156)), - [aux_sym_designation_repeat1] = ACTIONS(SHIFT(157)), - [anon_sym_LBRACE] = ACTIONS(SHIFT(158)), - [anon_sym_RBRACE] = ACTIONS(SHIFT(171)), - [anon_sym_LBRACK] = ACTIONS(SHIFT(159)), - [anon_sym_DOT] = ACTIONS(SHIFT(160)), - [sym_string] = ACTIONS(SHIFT(156)), - [sym_identifier] = ACTIONS(SHIFT(156)), - [sym_number] = ACTIONS(SHIFT(156)), + [298] = { + [sym_initializer] = ACTIONS(SHIFT(299)), + [sym_designation] = ACTIONS(SHIFT(300)), + [sym__expression] = ACTIONS(SHIFT(272)), + [sym_cast_expression] = ACTIONS(SHIFT(273)), + [sym_math_expression] = ACTIONS(SHIFT(273)), + [sym_call_expression] = ACTIONS(SHIFT(273)), + [sym_pointer_expression] = ACTIONS(SHIFT(273)), + [aux_sym_designation_repeat1] = ACTIONS(SHIFT(274)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(275)), + [anon_sym_LBRACE] = ACTIONS(SHIFT(276)), + [anon_sym_RBRACE] = ACTIONS(SHIFT(301)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(277)), + [anon_sym_DOT] = ACTIONS(SHIFT(278)), + [anon_sym_STAR] = ACTIONS(SHIFT(279)), + [anon_sym_AMP] = ACTIONS(SHIFT(279)), + [sym_string] = ACTIONS(SHIFT(273)), + [sym_identifier] = ACTIONS(SHIFT(273)), + [sym_number] = ACTIONS(SHIFT(273)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [169] = { + [299] = { [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_initializer_list, 3)), [anon_sym_COMMA] = ACTIONS(REDUCE(sym_initializer_list, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [170] = { - [sym_initializer] = ACTIONS(SHIFT(172)), - [sym_expression] = ACTIONS(SHIFT(155)), - [sym_math_expression] = ACTIONS(SHIFT(156)), - [sym_call_expression] = ACTIONS(SHIFT(156)), - [anon_sym_LBRACE] = ACTIONS(SHIFT(158)), - [sym_string] = ACTIONS(SHIFT(156)), - [sym_identifier] = ACTIONS(SHIFT(156)), - [sym_number] = ACTIONS(SHIFT(156)), + [300] = { + [sym_initializer] = ACTIONS(SHIFT(302)), + [sym__expression] = ACTIONS(SHIFT(272)), + [sym_cast_expression] = ACTIONS(SHIFT(273)), + [sym_math_expression] = ACTIONS(SHIFT(273)), + [sym_call_expression] = ACTIONS(SHIFT(273)), + [sym_pointer_expression] = ACTIONS(SHIFT(273)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(275)), + [anon_sym_LBRACE] = ACTIONS(SHIFT(276)), + [anon_sym_STAR] = ACTIONS(SHIFT(279)), + [anon_sym_AMP] = ACTIONS(SHIFT(279)), + [sym_string] = ACTIONS(SHIFT(273)), + [sym_identifier] = ACTIONS(SHIFT(273)), + [sym_number] = ACTIONS(SHIFT(273)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [171] = { + [301] = { [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_initializer, 4)), [anon_sym_COMMA] = ACTIONS(REDUCE(sym_initializer, 4)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [172] = { + [302] = { [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_initializer_list, 4)), [anon_sym_COMMA] = ACTIONS(REDUCE(sym_initializer_list, 4)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [173] = { + [303] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(306)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [304] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(104)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(305)), + [anon_sym_STAR] = ACTIONS(SHIFT(105)), + [anon_sym_PLUS] = ACTIONS(SHIFT(106)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [305] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_RBRACE] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym__expression, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [306] = { + [sym__expression] = ACTIONS(SHIFT(307)), + [sym_cast_expression] = ACTIONS(SHIFT(273)), + [sym_math_expression] = ACTIONS(SHIFT(273)), + [sym_call_expression] = ACTIONS(SHIFT(273)), + [sym_pointer_expression] = ACTIONS(SHIFT(273)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(275)), + [anon_sym_STAR] = ACTIONS(SHIFT(279)), + [anon_sym_AMP] = ACTIONS(SHIFT(279)), + [sym_string] = ACTIONS(SHIFT(273)), + [sym_identifier] = ACTIONS(SHIFT(273)), + [sym_number] = ACTIONS(SHIFT(273)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [307] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_RBRACE] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_COMMA] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_STAR] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [308] = { [sym_initializer] = ACTIONS(REDUCE(sym_designation, 2)), - [sym_expression] = ACTIONS(REDUCE(sym_designation, 2)), + [sym__expression] = ACTIONS(REDUCE(sym_designation, 2)), + [sym_cast_expression] = ACTIONS(REDUCE(sym_designation, 2)), [sym_math_expression] = ACTIONS(REDUCE(sym_designation, 2)), [sym_call_expression] = ACTIONS(REDUCE(sym_designation, 2)), + [sym_pointer_expression] = ACTIONS(REDUCE(sym_designation, 2)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_designation, 2)), [anon_sym_LBRACE] = ACTIONS(REDUCE(sym_designation, 2)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_designation, 2)), + [anon_sym_AMP] = ACTIONS(REDUCE(sym_designation, 2)), [sym_string] = ACTIONS(REDUCE(sym_designation, 2)), [sym_identifier] = ACTIONS(REDUCE(sym_designation, 2)), [sym_number] = ACTIONS(REDUCE(sym_designation, 2)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [174] = { - [sym_expression] = ACTIONS(SHIFT(179)), - [sym_math_expression] = ACTIONS(SHIFT(86)), - [sym_call_expression] = ACTIONS(SHIFT(86)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(180)), - [sym_string] = ACTIONS(SHIFT(86)), - [sym_identifier] = ACTIONS(SHIFT(86)), - [sym_number] = ACTIONS(SHIFT(86)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [175] = { - [sym_expression] = ACTIONS(SHIFT(178)), - [sym_math_expression] = ACTIONS(SHIFT(156)), - [sym_call_expression] = ACTIONS(SHIFT(156)), - [sym_string] = ACTIONS(SHIFT(156)), - [sym_identifier] = ACTIONS(SHIFT(156)), - [sym_number] = ACTIONS(SHIFT(156)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [176] = { - [sym_expression] = ACTIONS(SHIFT(177)), - [sym_math_expression] = ACTIONS(SHIFT(156)), - [sym_call_expression] = ACTIONS(SHIFT(156)), - [sym_string] = ACTIONS(SHIFT(156)), - [sym_identifier] = ACTIONS(SHIFT(156)), - [sym_number] = ACTIONS(SHIFT(156)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [177] = { - [anon_sym_RBRACE] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_COMMA] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(174)), - [anon_sym_STAR] = ACTIONS(SHIFT(175)), - [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [178] = { - [anon_sym_RBRACE] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_COMMA] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(174)), - [anon_sym_STAR] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [179] = { - [aux_sym_call_expression_repeat1] = ACTIONS(SHIFT(181)), - [anon_sym_COMMA] = ACTIONS(SHIFT(89)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(90)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(182)), - [anon_sym_STAR] = ACTIONS(SHIFT(92)), - [anon_sym_PLUS] = ACTIONS(SHIFT(93)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [180] = { - [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_call_expression, 3)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_call_expression, 3)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 3)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 3)), - [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 3)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [181] = { - [anon_sym_RPAREN] = ACTIONS(SHIFT(183)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [182] = { - [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_call_expression, 4)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_call_expression, 4)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 4)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 4)), - [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 4)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [183] = { - [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_call_expression, 5)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_call_expression, 5)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 5)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 5)), - [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 5)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [184] = { + [309] = { [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_initializer_list, 2)), [anon_sym_COMMA] = ACTIONS(REDUCE(sym_initializer_list, 2)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [185] = { + [310] = { [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_initializer, 3)), [anon_sym_COMMA] = ACTIONS(REDUCE(sym_initializer, 3)), [anon_sym_SEMI] = ACTIONS(REDUCE(sym_initializer, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [186] = { - [sym_initializer] = ACTIONS(SHIFT(169)), - [sym_designation] = ACTIONS(SHIFT(170)), - [sym_expression] = ACTIONS(SHIFT(155)), - [sym_math_expression] = ACTIONS(SHIFT(156)), - [sym_call_expression] = ACTIONS(SHIFT(156)), - [aux_sym_designation_repeat1] = ACTIONS(SHIFT(157)), - [anon_sym_LBRACE] = ACTIONS(SHIFT(158)), - [anon_sym_RBRACE] = ACTIONS(SHIFT(187)), - [anon_sym_LBRACK] = ACTIONS(SHIFT(159)), - [anon_sym_DOT] = ACTIONS(SHIFT(160)), - [sym_string] = ACTIONS(SHIFT(156)), - [sym_identifier] = ACTIONS(SHIFT(156)), - [sym_number] = ACTIONS(SHIFT(156)), + [311] = { + [sym_initializer] = ACTIONS(SHIFT(299)), + [sym_designation] = ACTIONS(SHIFT(300)), + [sym__expression] = ACTIONS(SHIFT(272)), + [sym_cast_expression] = ACTIONS(SHIFT(273)), + [sym_math_expression] = ACTIONS(SHIFT(273)), + [sym_call_expression] = ACTIONS(SHIFT(273)), + [sym_pointer_expression] = ACTIONS(SHIFT(273)), + [aux_sym_designation_repeat1] = ACTIONS(SHIFT(274)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(275)), + [anon_sym_LBRACE] = ACTIONS(SHIFT(276)), + [anon_sym_RBRACE] = ACTIONS(SHIFT(312)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(277)), + [anon_sym_DOT] = ACTIONS(SHIFT(278)), + [anon_sym_STAR] = ACTIONS(SHIFT(279)), + [anon_sym_AMP] = ACTIONS(SHIFT(279)), + [sym_string] = ACTIONS(SHIFT(273)), + [sym_identifier] = ACTIONS(SHIFT(273)), + [sym_number] = ACTIONS(SHIFT(273)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [187] = { + [312] = { [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_initializer, 4)), [anon_sym_COMMA] = ACTIONS(REDUCE(sym_initializer, 4)), [anon_sym_SEMI] = ACTIONS(REDUCE(sym_initializer, 4)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [188] = { - [sym_expression] = ACTIONS(SHIFT(193)), - [sym_math_expression] = ACTIONS(SHIFT(86)), - [sym_call_expression] = ACTIONS(SHIFT(86)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(194)), - [sym_string] = ACTIONS(SHIFT(86)), - [sym_identifier] = ACTIONS(SHIFT(86)), - [sym_number] = ACTIONS(SHIFT(86)), + [313] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(316)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [189] = { - [sym_expression] = ACTIONS(SHIFT(192)), - [sym_math_expression] = ACTIONS(SHIFT(150)), - [sym_call_expression] = ACTIONS(SHIFT(150)), - [sym_string] = ACTIONS(SHIFT(150)), - [sym_identifier] = ACTIONS(SHIFT(150)), - [sym_number] = ACTIONS(SHIFT(150)), + [314] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(104)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(315)), + [anon_sym_STAR] = ACTIONS(SHIFT(105)), + [anon_sym_PLUS] = ACTIONS(SHIFT(106)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [190] = { - [sym_expression] = ACTIONS(SHIFT(191)), - [sym_math_expression] = ACTIONS(SHIFT(150)), - [sym_call_expression] = ACTIONS(SHIFT(150)), - [sym_string] = ACTIONS(SHIFT(150)), - [sym_identifier] = ACTIONS(SHIFT(150)), - [sym_number] = ACTIONS(SHIFT(150)), + [315] = { + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym__expression, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [191] = { - [aux_sym_declaration_repeat1] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_COMMA] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_SEMI] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(188)), - [anon_sym_STAR] = ACTIONS(SHIFT(189)), - [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [316] = { + [sym__expression] = ACTIONS(SHIFT(317)), + [sym_cast_expression] = ACTIONS(SHIFT(254)), + [sym_math_expression] = ACTIONS(SHIFT(254)), + [sym_call_expression] = ACTIONS(SHIFT(254)), + [sym_pointer_expression] = ACTIONS(SHIFT(254)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(255)), + [anon_sym_STAR] = ACTIONS(SHIFT(257)), + [anon_sym_AMP] = ACTIONS(SHIFT(257)), + [sym_string] = ACTIONS(SHIFT(254)), + [sym_identifier] = ACTIONS(SHIFT(254)), + [sym_number] = ACTIONS(SHIFT(254)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [192] = { - [aux_sym_declaration_repeat1] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_COMMA] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_SEMI] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(188)), - [anon_sym_STAR] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [317] = { + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_LPAREN] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_COMMA] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_SEMI] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_STAR] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [193] = { - [aux_sym_call_expression_repeat1] = ACTIONS(SHIFT(195)), - [anon_sym_COMMA] = ACTIONS(SHIFT(89)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(90)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(196)), - [anon_sym_STAR] = ACTIONS(SHIFT(92)), - [anon_sym_PLUS] = ACTIONS(SHIFT(93)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [194] = { - [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_call_expression, 3)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_call_expression, 3)), - [anon_sym_SEMI] = ACTIONS(REDUCE(sym_call_expression, 3)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 3)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 3)), - [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 3)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [195] = { - [anon_sym_RPAREN] = ACTIONS(SHIFT(197)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [196] = { - [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_call_expression, 4)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_call_expression, 4)), - [anon_sym_SEMI] = ACTIONS(REDUCE(sym_call_expression, 4)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 4)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 4)), - [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 4)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [197] = { - [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_call_expression, 5)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_call_expression, 5)), - [anon_sym_SEMI] = ACTIONS(REDUCE(sym_call_expression, 5)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 5)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 5)), - [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 5)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [198] = { - [sym__type_specifier] = ACTIONS(SHIFT(242)), - [sym_type_name] = ACTIONS(SHIFT(6)), + [318] = { + [sym__type_specifier] = ACTIONS(SHIFT(373)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(6)), + [sym_macro_type] = ACTIONS(SHIFT(6)), [sym_struct_specifier] = ACTIONS(SHIFT(6)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(9)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(9)), [anon_sym_signed] = ACTIONS(SHIFT(12)), [anon_sym_unsigned] = ACTIONS(SHIFT(12)), [anon_sym_long] = ACTIONS(SHIFT(12)), @@ -4695,33 +6570,37 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_identifier] = ACTIONS(SHIFT(15)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [199] = { - [sym__init_declarator] = ACTIONS(SHIFT(220)), - [sym_declarator] = ACTIONS(SHIFT(221)), - [sym__direct_declarator] = ACTIONS(SHIFT(222)), - [sym_pointer] = ACTIONS(SHIFT(40)), - [aux_sym_declarator_repeat1] = ACTIONS(SHIFT(223)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(224)), - [anon_sym_STAR] = ACTIONS(SHIFT(43)), - [sym_identifier] = ACTIONS(SHIFT(225)), + [319] = { + [sym__init_declarator] = ACTIONS(SHIFT(348)), + [sym__declarator] = ACTIONS(SHIFT(349)), + [sym_pointer_declarator] = ACTIONS(SHIFT(350)), + [sym_function_declarator] = ACTIONS(SHIFT(350)), + [sym_array_declarator] = ACTIONS(SHIFT(350)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(351)), + [anon_sym_SEMI] = ACTIONS(SHIFT(352)), + [anon_sym_STAR] = ACTIONS(SHIFT(353)), + [sym_identifier] = ACTIONS(SHIFT(350)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [200] = { - [sym_declaration_specifiers] = ACTIONS(SHIFT(198)), + [320] = { + [sym_declaration_specifiers] = ACTIONS(SHIFT(318)), [sym_storage_class_specifier] = ACTIONS(SHIFT(4)), - [sym__type_specifier] = ACTIONS(SHIFT(199)), - [sym_type_name] = ACTIONS(SHIFT(6)), + [sym__type_specifier] = ACTIONS(SHIFT(319)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(6)), + [sym_macro_type] = ACTIONS(SHIFT(6)), [sym_struct_specifier] = ACTIONS(SHIFT(6)), - [sym_declaration] = ACTIONS(SHIFT(200)), + [sym_declaration] = ACTIONS(SHIFT(320)), [sym_type_qualifier] = ACTIONS(SHIFT(4)), - [sym_expression] = ACTIONS(SHIFT(201)), - [sym_math_expression] = ACTIONS(SHIFT(202)), - [sym_call_expression] = ACTIONS(SHIFT(202)), - [sym_statement] = ACTIONS(SHIFT(200)), - [sym_expression_statement] = ACTIONS(SHIFT(203)), + [sym__expression] = ACTIONS(SHIFT(321)), + [sym_cast_expression] = ACTIONS(SHIFT(322)), + [sym_math_expression] = ACTIONS(SHIFT(322)), + [sym_call_expression] = ACTIONS(SHIFT(322)), + [sym_pointer_expression] = ACTIONS(SHIFT(322)), + [sym__statement] = ACTIONS(SHIFT(320)), + [sym_expression_statement] = ACTIONS(SHIFT(323)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(SHIFT(8)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(9)), - [aux_sym_compound_statement_repeat1] = ACTIONS(SHIFT(219)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(9)), + [aux_sym_compound_statement_repeat1] = ACTIONS(SHIFT(347)), [anon_sym_typedef] = ACTIONS(SHIFT(11)), [anon_sym_extern] = ACTIONS(SHIFT(11)), [anon_sym_static] = ACTIONS(SHIFT(11)), @@ -4731,82 +6610,122 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_unsigned] = ACTIONS(SHIFT(12)), [anon_sym_long] = ACTIONS(SHIFT(12)), [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(325)), [anon_sym_struct] = ACTIONS(SHIFT(13)), [anon_sym_RBRACE] = ACTIONS(REDUCE(aux_sym_compound_statement_repeat1, 1)), + [anon_sym_STAR] = ACTIONS(SHIFT(327)), [anon_sym_const] = ACTIONS(SHIFT(14)), [anon_sym_restrict] = ACTIONS(SHIFT(14)), [anon_sym_volatile] = ACTIONS(SHIFT(14)), - [sym_string] = ACTIONS(SHIFT(202)), - [sym_identifier] = ACTIONS(SHIFT(206)), - [sym_number] = ACTIONS(SHIFT(202)), + [anon_sym_AMP] = ACTIONS(SHIFT(327)), + [sym_string] = ACTIONS(SHIFT(322)), + [sym_identifier] = ACTIONS(SHIFT(328)), + [sym_number] = ACTIONS(SHIFT(322)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [201] = { - [anon_sym_SEMI] = ACTIONS(SHIFT(208)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(209)), - [anon_sym_STAR] = ACTIONS(SHIFT(210)), - [anon_sym_PLUS] = ACTIONS(SHIFT(211)), + [321] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(330)), + [anon_sym_SEMI] = ACTIONS(SHIFT(346)), + [anon_sym_STAR] = ACTIONS(SHIFT(331)), + [anon_sym_PLUS] = ACTIONS(SHIFT(332)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [202] = { - [anon_sym_SEMI] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_PLUS] = ACTIONS(REDUCE(sym_expression, 1)), + [322] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym__expression, 1)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym__expression, 1)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [203] = { - [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_statement, 1)), - [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_statement, 1)), - [sym__type_specifier] = ACTIONS(REDUCE(sym_statement, 1)), - [sym_type_name] = ACTIONS(REDUCE(sym_statement, 1)), - [sym_struct_specifier] = ACTIONS(REDUCE(sym_statement, 1)), - [sym_declaration] = ACTIONS(REDUCE(sym_statement, 1)), - [sym_type_qualifier] = ACTIONS(REDUCE(sym_statement, 1)), - [sym_expression] = ACTIONS(REDUCE(sym_statement, 1)), - [sym_math_expression] = ACTIONS(REDUCE(sym_statement, 1)), - [sym_call_expression] = ACTIONS(REDUCE(sym_statement, 1)), - [sym_statement] = ACTIONS(REDUCE(sym_statement, 1)), - [sym_expression_statement] = ACTIONS(REDUCE(sym_statement, 1)), - [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_statement, 1)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_statement, 1)), - [aux_sym_compound_statement_repeat1] = ACTIONS(REDUCE(sym_statement, 1)), - [anon_sym_typedef] = ACTIONS(REDUCE(sym_statement, 1)), - [anon_sym_extern] = ACTIONS(REDUCE(sym_statement, 1)), - [anon_sym_static] = ACTIONS(REDUCE(sym_statement, 1)), - [anon_sym_auto] = ACTIONS(REDUCE(sym_statement, 1)), - [anon_sym_register] = ACTIONS(REDUCE(sym_statement, 1)), - [anon_sym_signed] = ACTIONS(REDUCE(sym_statement, 1)), - [anon_sym_unsigned] = ACTIONS(REDUCE(sym_statement, 1)), - [anon_sym_long] = ACTIONS(REDUCE(sym_statement, 1)), - [anon_sym_short] = ACTIONS(REDUCE(sym_statement, 1)), - [anon_sym_struct] = ACTIONS(REDUCE(sym_statement, 1)), - [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_statement, 1)), - [anon_sym_const] = ACTIONS(REDUCE(sym_statement, 1)), - [anon_sym_restrict] = ACTIONS(REDUCE(sym_statement, 1)), - [anon_sym_volatile] = ACTIONS(REDUCE(sym_statement, 1)), - [sym_string] = ACTIONS(REDUCE(sym_statement, 1)), - [sym_identifier] = ACTIONS(REDUCE(sym_statement, 1)), - [sym_number] = ACTIONS(REDUCE(sym_statement, 1)), + [323] = { + [sym_declaration_specifiers] = ACTIONS(REDUCE(sym__statement, 1)), + [sym_storage_class_specifier] = ACTIONS(REDUCE(sym__statement, 1)), + [sym__type_specifier] = ACTIONS(REDUCE(sym__statement, 1)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym__statement, 1)), + [sym_macro_type] = ACTIONS(REDUCE(sym__statement, 1)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym__statement, 1)), + [sym_declaration] = ACTIONS(REDUCE(sym__statement, 1)), + [sym_type_qualifier] = ACTIONS(REDUCE(sym__statement, 1)), + [sym__expression] = ACTIONS(REDUCE(sym__statement, 1)), + [sym_cast_expression] = ACTIONS(REDUCE(sym__statement, 1)), + [sym_math_expression] = ACTIONS(REDUCE(sym__statement, 1)), + [sym_call_expression] = ACTIONS(REDUCE(sym__statement, 1)), + [sym_pointer_expression] = ACTIONS(REDUCE(sym__statement, 1)), + [sym__statement] = ACTIONS(REDUCE(sym__statement, 1)), + [sym_expression_statement] = ACTIONS(REDUCE(sym__statement, 1)), + [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym__statement, 1)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym__statement, 1)), + [aux_sym_compound_statement_repeat1] = ACTIONS(REDUCE(sym__statement, 1)), + [anon_sym_typedef] = ACTIONS(REDUCE(sym__statement, 1)), + [anon_sym_extern] = ACTIONS(REDUCE(sym__statement, 1)), + [anon_sym_static] = ACTIONS(REDUCE(sym__statement, 1)), + [anon_sym_auto] = ACTIONS(REDUCE(sym__statement, 1)), + [anon_sym_register] = ACTIONS(REDUCE(sym__statement, 1)), + [anon_sym_signed] = ACTIONS(REDUCE(sym__statement, 1)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym__statement, 1)), + [anon_sym_long] = ACTIONS(REDUCE(sym__statement, 1)), + [anon_sym_short] = ACTIONS(REDUCE(sym__statement, 1)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__statement, 1)), + [anon_sym_struct] = ACTIONS(REDUCE(sym__statement, 1)), + [anon_sym_RBRACE] = ACTIONS(REDUCE(sym__statement, 1)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym__statement, 1)), + [anon_sym_const] = ACTIONS(REDUCE(sym__statement, 1)), + [anon_sym_restrict] = ACTIONS(REDUCE(sym__statement, 1)), + [anon_sym_volatile] = ACTIONS(REDUCE(sym__statement, 1)), + [anon_sym_AMP] = ACTIONS(REDUCE(sym__statement, 1)), + [sym_string] = ACTIONS(REDUCE(sym__statement, 1)), + [sym_identifier] = ACTIONS(REDUCE(sym__statement, 1)), + [sym_number] = ACTIONS(REDUCE(sym__statement, 1)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [204] = { - [anon_sym_RBRACE] = ACTIONS(SHIFT(207)), + [324] = { + [anon_sym_RBRACE] = ACTIONS(SHIFT(345)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [205] = { + [325] = { + [sym__type_specifier] = ACTIONS(SHIFT(87)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(88)), + [sym_macro_type] = ACTIONS(SHIFT(88)), + [sym_struct_specifier] = ACTIONS(SHIFT(88)), + [sym_type_name] = ACTIONS(SHIFT(340)), + [sym_type_qualifier] = ACTIONS(SHIFT(90)), + [sym__expression] = ACTIONS(SHIFT(341)), + [sym_cast_expression] = ACTIONS(SHIFT(92)), + [sym_math_expression] = ACTIONS(SHIFT(92)), + [sym_call_expression] = ACTIONS(SHIFT(92)), + [sym_pointer_expression] = ACTIONS(SHIFT(92)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(93)), + [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(94)), + [anon_sym_signed] = ACTIONS(SHIFT(12)), + [anon_sym_unsigned] = ACTIONS(SHIFT(12)), + [anon_sym_long] = ACTIONS(SHIFT(12)), + [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(95)), + [anon_sym_struct] = ACTIONS(SHIFT(96)), + [anon_sym_STAR] = ACTIONS(SHIFT(97)), + [anon_sym_const] = ACTIONS(SHIFT(98)), + [anon_sym_restrict] = ACTIONS(SHIFT(98)), + [anon_sym_volatile] = ACTIONS(SHIFT(98)), + [anon_sym_AMP] = ACTIONS(SHIFT(97)), + [sym_string] = ACTIONS(SHIFT(92)), + [sym_identifier] = ACTIONS(SHIFT(99)), + [sym_number] = ACTIONS(SHIFT(92)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [326] = { [sym_preproc_define] = ACTIONS(REDUCE(sym_compound_statement, 2)), [sym_function_definition] = ACTIONS(REDUCE(sym_compound_statement, 2)), [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_compound_statement, 2)), [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_compound_statement, 2)), [sym__type_specifier] = ACTIONS(REDUCE(sym_compound_statement, 2)), - [sym_type_name] = ACTIONS(REDUCE(sym_compound_statement, 2)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_compound_statement, 2)), + [sym_macro_type] = ACTIONS(REDUCE(sym_compound_statement, 2)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_compound_statement, 2)), [sym_declaration] = ACTIONS(REDUCE(sym_compound_statement, 2)), [sym_type_qualifier] = ACTIONS(REDUCE(sym_compound_statement, 2)), - [aux_sym_program_repeat1] = ACTIONS(REDUCE(sym_compound_statement, 2)), + [aux_sym_translation_unit_repeat1] = ACTIONS(REDUCE(sym_compound_statement, 2)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_compound_statement, 2)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_compound_statement, 2)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_compound_statement, 2)), [ts_builtin_sym_end] = ACTIONS(REDUCE(sym_compound_statement, 2)), [anon_sym_POUNDdefine] = ACTIONS(REDUCE(sym_compound_statement, 2)), [anon_sym_typedef] = ACTIONS(REDUCE(sym_compound_statement, 2)), @@ -4825,32 +6744,184 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_identifier] = ACTIONS(REDUCE(sym_compound_statement, 2)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [206] = { - [sym__init_declarator] = ACTIONS(REDUCE(sym_type_name, 1)), - [sym_declarator] = ACTIONS(REDUCE(sym_type_name, 1)), - [sym__direct_declarator] = ACTIONS(REDUCE(sym_type_name, 1)), - [sym_pointer] = ACTIONS(REDUCE(sym_type_name, 1)), - [aux_sym_declarator_repeat1] = ACTIONS(REDUCE(sym_type_name, 1)), - [anon_sym_SEMI] = ACTIONS(REDUCE(sym_expression, 1)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_type_name, 1), REDUCE(sym_expression, 1)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_type_name, 1), REDUCE(sym_expression, 1)), - [anon_sym_PLUS] = ACTIONS(REDUCE(sym_expression, 1)), - [sym_identifier] = ACTIONS(REDUCE(sym_type_name, 1)), + [327] = { + [sym__expression] = ACTIONS(SHIFT(329)), + [sym_cast_expression] = ACTIONS(SHIFT(322)), + [sym_math_expression] = ACTIONS(SHIFT(322)), + [sym_call_expression] = ACTIONS(SHIFT(322)), + [sym_pointer_expression] = ACTIONS(SHIFT(322)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(325)), + [anon_sym_STAR] = ACTIONS(SHIFT(327)), + [anon_sym_AMP] = ACTIONS(SHIFT(327)), + [sym_string] = ACTIONS(SHIFT(322)), + [sym_identifier] = ACTIONS(SHIFT(322)), + [sym_number] = ACTIONS(SHIFT(322)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [207] = { + [328] = { + [sym__init_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym__declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_pointer_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_function_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_array_declarator] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__type_specifier, 1), REDUCE(sym__expression, 1), SHIFT(16)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym__type_specifier, 1), REDUCE(sym__expression, 1)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym__type_specifier, 1), REDUCE(sym__expression, 1)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym__expression, 1)), + [sym_identifier] = ACTIONS(REDUCE(sym__type_specifier, 1)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [329] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(330)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_pointer_expression, 2)), + [anon_sym_STAR] = ACTIONS(SHIFT(331)), + [anon_sym_PLUS] = ACTIONS(SHIFT(332)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [330] = { + [sym__expression] = ACTIONS(SHIFT(335)), + [sym_cast_expression] = ACTIONS(SHIFT(69)), + [sym_math_expression] = ACTIONS(SHIFT(69)), + [sym_call_expression] = ACTIONS(SHIFT(69)), + [sym_pointer_expression] = ACTIONS(SHIFT(69)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(70)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(336)), + [anon_sym_STAR] = ACTIONS(SHIFT(72)), + [anon_sym_AMP] = ACTIONS(SHIFT(72)), + [sym_string] = ACTIONS(SHIFT(69)), + [sym_identifier] = ACTIONS(SHIFT(69)), + [sym_number] = ACTIONS(SHIFT(69)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [331] = { + [sym__expression] = ACTIONS(SHIFT(334)), + [sym_cast_expression] = ACTIONS(SHIFT(322)), + [sym_math_expression] = ACTIONS(SHIFT(322)), + [sym_call_expression] = ACTIONS(SHIFT(322)), + [sym_pointer_expression] = ACTIONS(SHIFT(322)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(325)), + [anon_sym_STAR] = ACTIONS(SHIFT(327)), + [anon_sym_AMP] = ACTIONS(SHIFT(327)), + [sym_string] = ACTIONS(SHIFT(322)), + [sym_identifier] = ACTIONS(SHIFT(322)), + [sym_number] = ACTIONS(SHIFT(322)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [332] = { + [sym__expression] = ACTIONS(SHIFT(333)), + [sym_cast_expression] = ACTIONS(SHIFT(322)), + [sym_math_expression] = ACTIONS(SHIFT(322)), + [sym_call_expression] = ACTIONS(SHIFT(322)), + [sym_pointer_expression] = ACTIONS(SHIFT(322)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(325)), + [anon_sym_STAR] = ACTIONS(SHIFT(327)), + [anon_sym_AMP] = ACTIONS(SHIFT(327)), + [sym_string] = ACTIONS(SHIFT(322)), + [sym_identifier] = ACTIONS(SHIFT(322)), + [sym_number] = ACTIONS(SHIFT(322)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [333] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(330)), + [anon_sym_SEMI] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_STAR] = ACTIONS(SHIFT(331)), + [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [334] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(330)), + [anon_sym_SEMI] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_STAR] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [335] = { + [aux_sym_call_expression_repeat1] = ACTIONS(SHIFT(337)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(74)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(338)), + [anon_sym_COMMA] = ACTIONS(SHIFT(83)), + [anon_sym_STAR] = ACTIONS(SHIFT(75)), + [anon_sym_PLUS] = ACTIONS(SHIFT(76)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [336] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 3)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_call_expression, 3)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 3)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [337] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(339)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [338] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 4)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_call_expression, 4)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 4)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [339] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 5)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 5)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [340] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(343)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [341] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(104)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(342)), + [anon_sym_STAR] = ACTIONS(SHIFT(105)), + [anon_sym_PLUS] = ACTIONS(SHIFT(106)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [342] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym__expression, 3)), + [anon_sym_PLUS] = ACTIONS(REDUCE(sym__expression, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [343] = { + [sym__expression] = ACTIONS(SHIFT(344)), + [sym_cast_expression] = ACTIONS(SHIFT(322)), + [sym_math_expression] = ACTIONS(SHIFT(322)), + [sym_call_expression] = ACTIONS(SHIFT(322)), + [sym_pointer_expression] = ACTIONS(SHIFT(322)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(325)), + [anon_sym_STAR] = ACTIONS(SHIFT(327)), + [anon_sym_AMP] = ACTIONS(SHIFT(327)), + [sym_string] = ACTIONS(SHIFT(322)), + [sym_identifier] = ACTIONS(SHIFT(322)), + [sym_number] = ACTIONS(SHIFT(322)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [344] = { + [anon_sym_LPAREN] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_SEMI] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_STAR] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_cast_expression, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [345] = { [sym_preproc_define] = ACTIONS(REDUCE(sym_compound_statement, 3)), [sym_function_definition] = ACTIONS(REDUCE(sym_compound_statement, 3)), [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_compound_statement, 3)), [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_compound_statement, 3)), [sym__type_specifier] = ACTIONS(REDUCE(sym_compound_statement, 3)), - [sym_type_name] = ACTIONS(REDUCE(sym_compound_statement, 3)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_compound_statement, 3)), + [sym_macro_type] = ACTIONS(REDUCE(sym_compound_statement, 3)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_compound_statement, 3)), [sym_declaration] = ACTIONS(REDUCE(sym_compound_statement, 3)), [sym_type_qualifier] = ACTIONS(REDUCE(sym_compound_statement, 3)), - [aux_sym_program_repeat1] = ACTIONS(REDUCE(sym_compound_statement, 3)), + [aux_sym_translation_unit_repeat1] = ACTIONS(REDUCE(sym_compound_statement, 3)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_compound_statement, 3)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_compound_statement, 3)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_compound_statement, 3)), [ts_builtin_sym_end] = ACTIONS(REDUCE(sym_compound_statement, 3)), [anon_sym_POUNDdefine] = ACTIONS(REDUCE(sym_compound_statement, 3)), [anon_sym_typedef] = ACTIONS(REDUCE(sym_compound_statement, 3)), @@ -4869,21 +6940,24 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_identifier] = ACTIONS(REDUCE(sym_compound_statement, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [208] = { + [346] = { [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_expression_statement, 2)), [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_expression_statement, 2)), [sym__type_specifier] = ACTIONS(REDUCE(sym_expression_statement, 2)), - [sym_type_name] = ACTIONS(REDUCE(sym_expression_statement, 2)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_expression_statement, 2)), + [sym_macro_type] = ACTIONS(REDUCE(sym_expression_statement, 2)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_expression_statement, 2)), [sym_declaration] = ACTIONS(REDUCE(sym_expression_statement, 2)), [sym_type_qualifier] = ACTIONS(REDUCE(sym_expression_statement, 2)), - [sym_expression] = ACTIONS(REDUCE(sym_expression_statement, 2)), + [sym__expression] = ACTIONS(REDUCE(sym_expression_statement, 2)), + [sym_cast_expression] = ACTIONS(REDUCE(sym_expression_statement, 2)), [sym_math_expression] = ACTIONS(REDUCE(sym_expression_statement, 2)), [sym_call_expression] = ACTIONS(REDUCE(sym_expression_statement, 2)), - [sym_statement] = ACTIONS(REDUCE(sym_expression_statement, 2)), + [sym_pointer_expression] = ACTIONS(REDUCE(sym_expression_statement, 2)), + [sym__statement] = ACTIONS(REDUCE(sym_expression_statement, 2)), [sym_expression_statement] = ACTIONS(REDUCE(sym_expression_statement, 2)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_expression_statement, 2)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_expression_statement, 2)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_expression_statement, 2)), [aux_sym_compound_statement_repeat1] = ACTIONS(REDUCE(sym_expression_statement, 2)), [anon_sym_typedef] = ACTIONS(REDUCE(sym_expression_statement, 2)), [anon_sym_extern] = ACTIONS(REDUCE(sym_expression_statement, 2)), @@ -4894,185 +6968,128 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_unsigned] = ACTIONS(REDUCE(sym_expression_statement, 2)), [anon_sym_long] = ACTIONS(REDUCE(sym_expression_statement, 2)), [anon_sym_short] = ACTIONS(REDUCE(sym_expression_statement, 2)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_expression_statement, 2)), [anon_sym_struct] = ACTIONS(REDUCE(sym_expression_statement, 2)), [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_expression_statement, 2)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_expression_statement, 2)), [anon_sym_const] = ACTIONS(REDUCE(sym_expression_statement, 2)), [anon_sym_restrict] = ACTIONS(REDUCE(sym_expression_statement, 2)), [anon_sym_volatile] = ACTIONS(REDUCE(sym_expression_statement, 2)), + [anon_sym_AMP] = ACTIONS(REDUCE(sym_expression_statement, 2)), [sym_string] = ACTIONS(REDUCE(sym_expression_statement, 2)), [sym_identifier] = ACTIONS(REDUCE(sym_expression_statement, 2)), [sym_number] = ACTIONS(REDUCE(sym_expression_statement, 2)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [209] = { - [sym_expression] = ACTIONS(SHIFT(214)), - [sym_math_expression] = ACTIONS(SHIFT(86)), - [sym_call_expression] = ACTIONS(SHIFT(86)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(215)), - [sym_string] = ACTIONS(SHIFT(86)), - [sym_identifier] = ACTIONS(SHIFT(86)), - [sym_number] = ACTIONS(SHIFT(86)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [210] = { - [sym_expression] = ACTIONS(SHIFT(213)), - [sym_math_expression] = ACTIONS(SHIFT(202)), - [sym_call_expression] = ACTIONS(SHIFT(202)), - [sym_string] = ACTIONS(SHIFT(202)), - [sym_identifier] = ACTIONS(SHIFT(202)), - [sym_number] = ACTIONS(SHIFT(202)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [211] = { - [sym_expression] = ACTIONS(SHIFT(212)), - [sym_math_expression] = ACTIONS(SHIFT(202)), - [sym_call_expression] = ACTIONS(SHIFT(202)), - [sym_string] = ACTIONS(SHIFT(202)), - [sym_identifier] = ACTIONS(SHIFT(202)), - [sym_number] = ACTIONS(SHIFT(202)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [212] = { - [anon_sym_SEMI] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(209)), - [anon_sym_STAR] = ACTIONS(SHIFT(210)), - [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [213] = { - [anon_sym_SEMI] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(209)), - [anon_sym_STAR] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [anon_sym_PLUS] = ACTIONS(REDUCE_FRAGILE(sym_math_expression, 3)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [214] = { - [aux_sym_call_expression_repeat1] = ACTIONS(SHIFT(216)), - [anon_sym_COMMA] = ACTIONS(SHIFT(89)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(90)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(217)), - [anon_sym_STAR] = ACTIONS(SHIFT(92)), - [anon_sym_PLUS] = ACTIONS(SHIFT(93)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [215] = { - [anon_sym_SEMI] = ACTIONS(REDUCE(sym_call_expression, 3)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 3)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 3)), - [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 3)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [216] = { - [anon_sym_RPAREN] = ACTIONS(SHIFT(218)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [217] = { - [anon_sym_SEMI] = ACTIONS(REDUCE(sym_call_expression, 4)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 4)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 4)), - [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 4)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [218] = { - [anon_sym_SEMI] = ACTIONS(REDUCE(sym_call_expression, 5)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_call_expression, 5)), - [anon_sym_STAR] = ACTIONS(REDUCE(sym_call_expression, 5)), - [anon_sym_PLUS] = ACTIONS(REDUCE(sym_call_expression, 5)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [219] = { + [347] = { [anon_sym_RBRACE] = ACTIONS(REDUCE(aux_sym_compound_statement_repeat1, 2)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [220] = { - [aux_sym_declaration_repeat1] = ACTIONS(SHIFT(236)), - [anon_sym_COMMA] = ACTIONS(SHIFT(237)), - [anon_sym_SEMI] = ACTIONS(SHIFT(238)), + [348] = { + [aux_sym_declaration_repeat1] = ACTIONS(SHIFT(367)), + [anon_sym_COMMA] = ACTIONS(SHIFT(368)), + [anon_sym_SEMI] = ACTIONS(SHIFT(369)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [221] = { + [349] = { [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym__init_declarator, 1)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(355)), [anon_sym_COMMA] = ACTIONS(REDUCE(sym__init_declarator, 1)), [anon_sym_SEMI] = ACTIONS(REDUCE(sym__init_declarator, 1)), - [anon_sym_EQ] = ACTIONS(SHIFT(147)), + [anon_sym_EQ] = ACTIONS(SHIFT(251)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(356)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [222] = { - [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_SEMI] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_EQ] = ACTIONS(REDUCE(sym_declarator, 1)), - [anon_sym_LBRACK] = ACTIONS(SHIFT(229)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(230)), + [350] = { + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_EQ] = ACTIONS(REDUCE(sym__declarator, 1)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__declarator, 1)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [223] = { - [sym__direct_declarator] = ACTIONS(SHIFT(228)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(224)), - [sym_identifier] = ACTIONS(SHIFT(225)), + [351] = { + [sym__declarator] = ACTIONS(SHIFT(365)), + [sym_pointer_declarator] = ACTIONS(SHIFT(165)), + [sym_function_declarator] = ACTIONS(SHIFT(165)), + [sym_array_declarator] = ACTIONS(SHIFT(165)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(166)), + [anon_sym_STAR] = ACTIONS(SHIFT(167)), + [sym_identifier] = ACTIONS(SHIFT(165)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [224] = { - [sym_declarator] = ACTIONS(SHIFT(226)), - [sym__direct_declarator] = ACTIONS(SHIFT(46)), - [sym_pointer] = ACTIONS(SHIFT(40)), - [aux_sym_declarator_repeat1] = ACTIONS(SHIFT(47)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(48)), - [anon_sym_STAR] = ACTIONS(SHIFT(43)), - [sym_identifier] = ACTIONS(SHIFT(49)), + [352] = { + [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym__type_specifier] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_macro_type] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_declaration] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_type_qualifier] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym__expression] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_cast_expression] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_math_expression] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_call_expression] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_pointer_expression] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym__statement] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_expression_statement] = ACTIONS(REDUCE(sym_declaration, 2)), + [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_declaration, 2)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_declaration, 2)), + [aux_sym_compound_statement_repeat1] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_typedef] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_extern] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_static] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_auto] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_register] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_signed] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_long] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_short] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_struct] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_const] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_restrict] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_volatile] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_AMP] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_string] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_identifier] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_number] = ACTIONS(REDUCE(sym_declaration, 2)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [225] = { - [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_SEMI] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_EQ] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 1)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 1)), + [353] = { + [sym__declarator] = ACTIONS(SHIFT(354)), + [sym_pointer_declarator] = ACTIONS(SHIFT(350)), + [sym_function_declarator] = ACTIONS(SHIFT(350)), + [sym_array_declarator] = ACTIONS(SHIFT(350)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(351)), + [anon_sym_STAR] = ACTIONS(SHIFT(353)), + [sym_identifier] = ACTIONS(SHIFT(350)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [226] = { - [anon_sym_RPAREN] = ACTIONS(SHIFT(227)), + [354] = { + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(355)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_EQ] = ACTIONS(REDUCE(sym_pointer_declarator, 2)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(356)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [227] = { - [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_SEMI] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_EQ] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 3)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [228] = { - [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_SEMI] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_EQ] = ACTIONS(REDUCE(sym_declarator, 2)), - [anon_sym_LBRACK] = ACTIONS(SHIFT(229)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(230)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [229] = { - [sym_expression] = ACTIONS(SHIFT(235)), - [sym_math_expression] = ACTIONS(SHIFT(79)), - [sym_call_expression] = ACTIONS(SHIFT(79)), - [anon_sym_RBRACK] = ACTIONS(SHIFT(227)), - [sym_string] = ACTIONS(SHIFT(79)), - [sym_identifier] = ACTIONS(SHIFT(79)), - [sym_number] = ACTIONS(SHIFT(79)), - [sym_comment] = ACTIONS(SHIFT_EXTRA()), - }, - [230] = { - [sym_declaration_specifiers] = ACTIONS(SHIFT(55)), + [355] = { + [sym_declaration_specifiers] = ACTIONS(SHIFT(139)), [sym_storage_class_specifier] = ACTIONS(SHIFT(4)), - [sym__type_specifier] = ACTIONS(SHIFT(56)), - [sym_type_name] = ACTIONS(SHIFT(20)), - [sym_struct_specifier] = ACTIONS(SHIFT(20)), - [sym_parameter_declaration] = ACTIONS(SHIFT(231)), + [sym__type_specifier] = ACTIONS(SHIFT(140)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(29)), + [sym_macro_type] = ACTIONS(SHIFT(29)), + [sym_struct_specifier] = ACTIONS(SHIFT(29)), + [sym_parameter_declaration] = ACTIONS(SHIFT(360)), [sym_type_qualifier] = ACTIONS(SHIFT(4)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(SHIFT(8)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(22)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(31)), [anon_sym_typedef] = ACTIONS(SHIFT(11)), [anon_sym_extern] = ACTIONS(SHIFT(11)), [anon_sym_static] = ACTIONS(SHIFT(11)), @@ -5082,79 +7099,139 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_unsigned] = ACTIONS(SHIFT(12)), [anon_sym_long] = ACTIONS(SHIFT(12)), [anon_sym_short] = ACTIONS(SHIFT(12)), - [anon_sym_struct] = ACTIONS(SHIFT(24)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(227)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(361)), + [anon_sym_struct] = ACTIONS(SHIFT(33)), [anon_sym_const] = ACTIONS(SHIFT(14)), [anon_sym_restrict] = ACTIONS(SHIFT(14)), [anon_sym_volatile] = ACTIONS(SHIFT(14)), - [sym_identifier] = ACTIONS(SHIFT(26)), + [sym_identifier] = ACTIONS(SHIFT(35)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [231] = { - [aux_sym__direct_declarator_repeat1] = ACTIONS(SHIFT(232)), - [anon_sym_COMMA] = ACTIONS(SHIFT(59)), - [anon_sym_RPAREN] = ACTIONS(SHIFT(233)), + [356] = { + [sym__expression] = ACTIONS(SHIFT(357)), + [sym_cast_expression] = ACTIONS(SHIFT(58)), + [sym_math_expression] = ACTIONS(SHIFT(58)), + [sym_call_expression] = ACTIONS(SHIFT(58)), + [sym_pointer_expression] = ACTIONS(SHIFT(58)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(59)), + [anon_sym_RBRACK] = ACTIONS(SHIFT(358)), + [anon_sym_STAR] = ACTIONS(SHIFT(61)), + [anon_sym_AMP] = ACTIONS(SHIFT(61)), + [sym_string] = ACTIONS(SHIFT(58)), + [sym_identifier] = ACTIONS(SHIFT(58)), + [sym_number] = ACTIONS(SHIFT(58)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [232] = { - [anon_sym_RPAREN] = ACTIONS(SHIFT(234)), + [357] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(63)), + [anon_sym_RBRACK] = ACTIONS(SHIFT(359)), + [anon_sym_STAR] = ACTIONS(SHIFT(64)), + [anon_sym_PLUS] = ACTIONS(SHIFT(65)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [233] = { - [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_SEMI] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_EQ] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 4)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 4)), + [358] = { + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_EQ] = ACTIONS(REDUCE(sym_array_declarator, 3)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_array_declarator, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [234] = { - [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_COMMA] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_SEMI] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_EQ] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__direct_declarator, 5)), - [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__direct_declarator, 5)), + [359] = { + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_EQ] = ACTIONS(REDUCE(sym_array_declarator, 4)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_array_declarator, 4)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [235] = { - [anon_sym_RBRACK] = ACTIONS(SHIFT(233)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(80)), - [anon_sym_STAR] = ACTIONS(SHIFT(81)), - [anon_sym_PLUS] = ACTIONS(SHIFT(82)), + [360] = { + [aux_sym_function_declarator_repeat1] = ACTIONS(SHIFT(362)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(363)), + [anon_sym_COMMA] = ACTIONS(SHIFT(145)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [236] = { - [anon_sym_SEMI] = ACTIONS(SHIFT(241)), + [361] = { + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_EQ] = ACTIONS(REDUCE(sym_function_declarator, 3)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_function_declarator, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [237] = { - [sym__init_declarator] = ACTIONS(SHIFT(239)), - [sym_declarator] = ACTIONS(SHIFT(221)), - [sym__direct_declarator] = ACTIONS(SHIFT(222)), - [sym_pointer] = ACTIONS(SHIFT(40)), - [aux_sym_declarator_repeat1] = ACTIONS(SHIFT(223)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(224)), - [anon_sym_STAR] = ACTIONS(SHIFT(43)), - [sym_identifier] = ACTIONS(SHIFT(225)), + [362] = { + [anon_sym_RPAREN] = ACTIONS(SHIFT(364)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [238] = { + [363] = { + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_EQ] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_function_declarator, 4)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [364] = { + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_EQ] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym_function_declarator, 5)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [365] = { + [anon_sym_LPAREN] = ACTIONS(SHIFT(169)), + [anon_sym_RPAREN] = ACTIONS(SHIFT(366)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(170)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [366] = { + [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_COMMA] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_SEMI] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_EQ] = ACTIONS(REDUCE(sym__declarator, 3)), + [anon_sym_LBRACK] = ACTIONS(REDUCE(sym__declarator, 3)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [367] = { + [anon_sym_SEMI] = ACTIONS(SHIFT(372)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [368] = { + [sym__init_declarator] = ACTIONS(SHIFT(370)), + [sym__declarator] = ACTIONS(SHIFT(349)), + [sym_pointer_declarator] = ACTIONS(SHIFT(350)), + [sym_function_declarator] = ACTIONS(SHIFT(350)), + [sym_array_declarator] = ACTIONS(SHIFT(350)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(351)), + [anon_sym_STAR] = ACTIONS(SHIFT(353)), + [sym_identifier] = ACTIONS(SHIFT(350)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [369] = { [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_declaration, 3)), [sym__type_specifier] = ACTIONS(REDUCE(sym_declaration, 3)), - [sym_type_name] = ACTIONS(REDUCE(sym_declaration, 3)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_declaration, 3)), + [sym_macro_type] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_declaration] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_type_qualifier] = ACTIONS(REDUCE(sym_declaration, 3)), - [sym_expression] = ACTIONS(REDUCE(sym_declaration, 3)), + [sym__expression] = ACTIONS(REDUCE(sym_declaration, 3)), + [sym_cast_expression] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_math_expression] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_call_expression] = ACTIONS(REDUCE(sym_declaration, 3)), - [sym_statement] = ACTIONS(REDUCE(sym_declaration, 3)), + [sym_pointer_expression] = ACTIONS(REDUCE(sym_declaration, 3)), + [sym__statement] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_expression_statement] = ACTIONS(REDUCE(sym_declaration, 3)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_declaration, 3)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_declaration, 3)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_declaration, 3)), [aux_sym_compound_statement_repeat1] = ACTIONS(REDUCE(sym_declaration, 3)), [anon_sym_typedef] = ACTIONS(REDUCE(sym_declaration, 3)), [anon_sym_extern] = ACTIONS(REDUCE(sym_declaration, 3)), @@ -5165,41 +7242,47 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_unsigned] = ACTIONS(REDUCE(sym_declaration, 3)), [anon_sym_long] = ACTIONS(REDUCE(sym_declaration, 3)), [anon_sym_short] = ACTIONS(REDUCE(sym_declaration, 3)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_declaration, 3)), [anon_sym_struct] = ACTIONS(REDUCE(sym_declaration, 3)), [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_declaration, 3)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_declaration, 3)), [anon_sym_const] = ACTIONS(REDUCE(sym_declaration, 3)), [anon_sym_restrict] = ACTIONS(REDUCE(sym_declaration, 3)), [anon_sym_volatile] = ACTIONS(REDUCE(sym_declaration, 3)), + [anon_sym_AMP] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_string] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_identifier] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_number] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [239] = { - [aux_sym_declaration_repeat1] = ACTIONS(SHIFT(240)), - [anon_sym_COMMA] = ACTIONS(SHIFT(237)), + [370] = { + [aux_sym_declaration_repeat1] = ACTIONS(SHIFT(371)), + [anon_sym_COMMA] = ACTIONS(SHIFT(368)), [anon_sym_SEMI] = ACTIONS(REDUCE(aux_sym_declaration_repeat1, 2)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [240] = { + [371] = { [anon_sym_SEMI] = ACTIONS(REDUCE(aux_sym_declaration_repeat1, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [241] = { + [372] = { [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_declaration, 4)), [sym__type_specifier] = ACTIONS(REDUCE(sym_declaration, 4)), - [sym_type_name] = ACTIONS(REDUCE(sym_declaration, 4)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_declaration, 4)), + [sym_macro_type] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_declaration] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_type_qualifier] = ACTIONS(REDUCE(sym_declaration, 4)), - [sym_expression] = ACTIONS(REDUCE(sym_declaration, 4)), + [sym__expression] = ACTIONS(REDUCE(sym_declaration, 4)), + [sym_cast_expression] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_math_expression] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_call_expression] = ACTIONS(REDUCE(sym_declaration, 4)), - [sym_statement] = ACTIONS(REDUCE(sym_declaration, 4)), + [sym_pointer_expression] = ACTIONS(REDUCE(sym_declaration, 4)), + [sym__statement] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_expression_statement] = ACTIONS(REDUCE(sym_declaration, 4)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_declaration, 4)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_declaration, 4)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_declaration, 4)), [aux_sym_compound_statement_repeat1] = ACTIONS(REDUCE(sym_declaration, 4)), [anon_sym_typedef] = ACTIONS(REDUCE(sym_declaration, 4)), [anon_sym_extern] = ACTIONS(REDUCE(sym_declaration, 4)), @@ -5210,52 +7293,59 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_unsigned] = ACTIONS(REDUCE(sym_declaration, 4)), [anon_sym_long] = ACTIONS(REDUCE(sym_declaration, 4)), [anon_sym_short] = ACTIONS(REDUCE(sym_declaration, 4)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_declaration, 4)), [anon_sym_struct] = ACTIONS(REDUCE(sym_declaration, 4)), [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_declaration, 4)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_declaration, 4)), [anon_sym_const] = ACTIONS(REDUCE(sym_declaration, 4)), [anon_sym_restrict] = ACTIONS(REDUCE(sym_declaration, 4)), [anon_sym_volatile] = ACTIONS(REDUCE(sym_declaration, 4)), + [anon_sym_AMP] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_string] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_identifier] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_number] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [242] = { - [sym__init_declarator] = ACTIONS(SHIFT(243)), - [sym_declarator] = ACTIONS(SHIFT(221)), - [sym__direct_declarator] = ACTIONS(SHIFT(222)), - [sym_pointer] = ACTIONS(SHIFT(40)), - [aux_sym_declarator_repeat1] = ACTIONS(SHIFT(223)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(224)), - [anon_sym_STAR] = ACTIONS(SHIFT(43)), - [sym_identifier] = ACTIONS(SHIFT(225)), + [373] = { + [sym__init_declarator] = ACTIONS(SHIFT(374)), + [sym__declarator] = ACTIONS(SHIFT(349)), + [sym_pointer_declarator] = ACTIONS(SHIFT(350)), + [sym_function_declarator] = ACTIONS(SHIFT(350)), + [sym_array_declarator] = ACTIONS(SHIFT(350)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(351)), + [anon_sym_SEMI] = ACTIONS(SHIFT(369)), + [anon_sym_STAR] = ACTIONS(SHIFT(353)), + [sym_identifier] = ACTIONS(SHIFT(350)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [243] = { - [aux_sym_declaration_repeat1] = ACTIONS(SHIFT(244)), - [anon_sym_COMMA] = ACTIONS(SHIFT(237)), - [anon_sym_SEMI] = ACTIONS(SHIFT(241)), + [374] = { + [aux_sym_declaration_repeat1] = ACTIONS(SHIFT(375)), + [anon_sym_COMMA] = ACTIONS(SHIFT(368)), + [anon_sym_SEMI] = ACTIONS(SHIFT(372)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [244] = { - [anon_sym_SEMI] = ACTIONS(SHIFT(245)), + [375] = { + [anon_sym_SEMI] = ACTIONS(SHIFT(376)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [245] = { + [376] = { [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_declaration, 5)), [sym__type_specifier] = ACTIONS(REDUCE(sym_declaration, 5)), - [sym_type_name] = ACTIONS(REDUCE(sym_declaration, 5)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_declaration, 5)), + [sym_macro_type] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_declaration] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_type_qualifier] = ACTIONS(REDUCE(sym_declaration, 5)), - [sym_expression] = ACTIONS(REDUCE(sym_declaration, 5)), + [sym__expression] = ACTIONS(REDUCE(sym_declaration, 5)), + [sym_cast_expression] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_math_expression] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_call_expression] = ACTIONS(REDUCE(sym_declaration, 5)), - [sym_statement] = ACTIONS(REDUCE(sym_declaration, 5)), + [sym_pointer_expression] = ACTIONS(REDUCE(sym_declaration, 5)), + [sym__statement] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_expression_statement] = ACTIONS(REDUCE(sym_declaration, 5)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_declaration, 5)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_declaration, 5)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_declaration, 5)), [aux_sym_compound_statement_repeat1] = ACTIONS(REDUCE(sym_declaration, 5)), [anon_sym_typedef] = ACTIONS(REDUCE(sym_declaration, 5)), [anon_sym_extern] = ACTIONS(REDUCE(sym_declaration, 5)), @@ -5266,29 +7356,33 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_unsigned] = ACTIONS(REDUCE(sym_declaration, 5)), [anon_sym_long] = ACTIONS(REDUCE(sym_declaration, 5)), [anon_sym_short] = ACTIONS(REDUCE(sym_declaration, 5)), + [anon_sym_LPAREN] = ACTIONS(REDUCE(sym_declaration, 5)), [anon_sym_struct] = ACTIONS(REDUCE(sym_declaration, 5)), [anon_sym_RBRACE] = ACTIONS(REDUCE(sym_declaration, 5)), + [anon_sym_STAR] = ACTIONS(REDUCE(sym_declaration, 5)), [anon_sym_const] = ACTIONS(REDUCE(sym_declaration, 5)), [anon_sym_restrict] = ACTIONS(REDUCE(sym_declaration, 5)), [anon_sym_volatile] = ACTIONS(REDUCE(sym_declaration, 5)), + [anon_sym_AMP] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_string] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_identifier] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_number] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [246] = { + [377] = { [sym_preproc_define] = ACTIONS(REDUCE(sym_function_definition, 4)), [sym_function_definition] = ACTIONS(REDUCE(sym_function_definition, 4)), [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_function_definition, 4)), [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_function_definition, 4)), [sym__type_specifier] = ACTIONS(REDUCE(sym_function_definition, 4)), - [sym_type_name] = ACTIONS(REDUCE(sym_function_definition, 4)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_function_definition, 4)), + [sym_macro_type] = ACTIONS(REDUCE(sym_function_definition, 4)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_function_definition, 4)), [sym_declaration] = ACTIONS(REDUCE(sym_function_definition, 4)), [sym_type_qualifier] = ACTIONS(REDUCE(sym_function_definition, 4)), - [aux_sym_program_repeat1] = ACTIONS(REDUCE(sym_function_definition, 4)), + [aux_sym_translation_unit_repeat1] = ACTIONS(REDUCE(sym_function_definition, 4)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_function_definition, 4)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_function_definition, 4)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_function_definition, 4)), [ts_builtin_sym_end] = ACTIONS(REDUCE(sym_function_definition, 4)), [anon_sym_POUNDdefine] = ACTIONS(REDUCE(sym_function_definition, 4)), [anon_sym_typedef] = ACTIONS(REDUCE(sym_function_definition, 4)), @@ -5307,33 +7401,64 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_identifier] = ACTIONS(REDUCE(sym_function_definition, 4)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [247] = { + [378] = { [sym_compound_statement] = ACTIONS(REDUCE(aux_sym_function_definition_repeat1, 2)), [anon_sym_LBRACE] = ACTIONS(REDUCE(aux_sym_function_definition_repeat1, 2)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [248] = { - [aux_sym_declaration_repeat1] = ACTIONS(SHIFT(249)), - [anon_sym_COMMA] = ACTIONS(SHIFT(237)), - [anon_sym_SEMI] = ACTIONS(SHIFT(250)), + [379] = { + [aux_sym_declaration_repeat1] = ACTIONS(SHIFT(381)), + [anon_sym_COMMA] = ACTIONS(SHIFT(368)), + [anon_sym_SEMI] = ACTIONS(SHIFT(382)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [249] = { - [anon_sym_SEMI] = ACTIONS(SHIFT(251)), + [380] = { + [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym__type_specifier] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_macro_type] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_struct_specifier] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_declaration] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_type_qualifier] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_compound_statement] = ACTIONS(REDUCE(sym_declaration, 2)), + [aux_sym_function_definition_repeat1] = ACTIONS(REDUCE(sym_declaration, 2)), + [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_declaration, 2)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_typedef] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_extern] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_static] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_auto] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_register] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_signed] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_unsigned] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_long] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_short] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_struct] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_LBRACE] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_const] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_restrict] = ACTIONS(REDUCE(sym_declaration, 2)), + [anon_sym_volatile] = ACTIONS(REDUCE(sym_declaration, 2)), + [sym_identifier] = ACTIONS(REDUCE(sym_declaration, 2)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [250] = { + [381] = { + [anon_sym_SEMI] = ACTIONS(SHIFT(383)), + [sym_comment] = ACTIONS(SHIFT_EXTRA()), + }, + [382] = { [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_declaration, 3)), [sym__type_specifier] = ACTIONS(REDUCE(sym_declaration, 3)), - [sym_type_name] = ACTIONS(REDUCE(sym_declaration, 3)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_declaration, 3)), + [sym_macro_type] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_declaration] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_type_qualifier] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_compound_statement] = ACTIONS(REDUCE(sym_declaration, 3)), [aux_sym_function_definition_repeat1] = ACTIONS(REDUCE(sym_declaration, 3)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_declaration, 3)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_declaration, 3)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_declaration, 3)), [anon_sym_typedef] = ACTIONS(REDUCE(sym_declaration, 3)), [anon_sym_extern] = ACTIONS(REDUCE(sym_declaration, 3)), [anon_sym_static] = ACTIONS(REDUCE(sym_declaration, 3)), @@ -5351,18 +7476,19 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_identifier] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [251] = { + [383] = { [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_declaration, 4)), [sym__type_specifier] = ACTIONS(REDUCE(sym_declaration, 4)), - [sym_type_name] = ACTIONS(REDUCE(sym_declaration, 4)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_declaration, 4)), + [sym_macro_type] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_declaration] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_type_qualifier] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_compound_statement] = ACTIONS(REDUCE(sym_declaration, 4)), [aux_sym_function_definition_repeat1] = ACTIONS(REDUCE(sym_declaration, 4)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_declaration, 4)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_declaration, 4)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_declaration, 4)), [anon_sym_typedef] = ACTIONS(REDUCE(sym_declaration, 4)), [anon_sym_extern] = ACTIONS(REDUCE(sym_declaration, 4)), [anon_sym_static] = ACTIONS(REDUCE(sym_declaration, 4)), @@ -5380,39 +7506,41 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_identifier] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [252] = { - [sym__init_declarator] = ACTIONS(SHIFT(253)), - [sym_declarator] = ACTIONS(SHIFT(221)), - [sym__direct_declarator] = ACTIONS(SHIFT(222)), - [sym_pointer] = ACTIONS(SHIFT(40)), - [aux_sym_declarator_repeat1] = ACTIONS(SHIFT(223)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(224)), - [anon_sym_STAR] = ACTIONS(SHIFT(43)), - [sym_identifier] = ACTIONS(SHIFT(225)), + [384] = { + [sym__init_declarator] = ACTIONS(SHIFT(385)), + [sym__declarator] = ACTIONS(SHIFT(349)), + [sym_pointer_declarator] = ACTIONS(SHIFT(350)), + [sym_function_declarator] = ACTIONS(SHIFT(350)), + [sym_array_declarator] = ACTIONS(SHIFT(350)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(351)), + [anon_sym_SEMI] = ACTIONS(SHIFT(382)), + [anon_sym_STAR] = ACTIONS(SHIFT(353)), + [sym_identifier] = ACTIONS(SHIFT(350)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [253] = { - [aux_sym_declaration_repeat1] = ACTIONS(SHIFT(254)), - [anon_sym_COMMA] = ACTIONS(SHIFT(237)), - [anon_sym_SEMI] = ACTIONS(SHIFT(251)), + [385] = { + [aux_sym_declaration_repeat1] = ACTIONS(SHIFT(386)), + [anon_sym_COMMA] = ACTIONS(SHIFT(368)), + [anon_sym_SEMI] = ACTIONS(SHIFT(383)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [254] = { - [anon_sym_SEMI] = ACTIONS(SHIFT(255)), + [386] = { + [anon_sym_SEMI] = ACTIONS(SHIFT(387)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [255] = { + [387] = { [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_declaration, 5)), [sym__type_specifier] = ACTIONS(REDUCE(sym_declaration, 5)), - [sym_type_name] = ACTIONS(REDUCE(sym_declaration, 5)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_declaration, 5)), + [sym_macro_type] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_declaration] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_type_qualifier] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_compound_statement] = ACTIONS(REDUCE(sym_declaration, 5)), [aux_sym_function_definition_repeat1] = ACTIONS(REDUCE(sym_declaration, 5)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_declaration, 5)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_declaration, 5)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_declaration, 5)), [anon_sym_typedef] = ACTIONS(REDUCE(sym_declaration, 5)), [anon_sym_extern] = ACTIONS(REDUCE(sym_declaration, 5)), [anon_sym_static] = ACTIONS(REDUCE(sym_declaration, 5)), @@ -5430,23 +7558,24 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_identifier] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [256] = { - [anon_sym_SEMI] = ACTIONS(SHIFT(258)), + [388] = { + [anon_sym_SEMI] = ACTIONS(SHIFT(390)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [257] = { + [389] = { [sym_preproc_define] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_function_definition] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_declaration, 3)), [sym__type_specifier] = ACTIONS(REDUCE(sym_declaration, 3)), - [sym_type_name] = ACTIONS(REDUCE(sym_declaration, 3)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_declaration, 3)), + [sym_macro_type] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_declaration] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_type_qualifier] = ACTIONS(REDUCE(sym_declaration, 3)), - [aux_sym_program_repeat1] = ACTIONS(REDUCE(sym_declaration, 3)), + [aux_sym_translation_unit_repeat1] = ACTIONS(REDUCE(sym_declaration, 3)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_declaration, 3)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_declaration, 3)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_declaration, 3)), [ts_builtin_sym_end] = ACTIONS(REDUCE(sym_declaration, 3)), [anon_sym_POUNDdefine] = ACTIONS(REDUCE(sym_declaration, 3)), [anon_sym_typedef] = ACTIONS(REDUCE(sym_declaration, 3)), @@ -5465,19 +7594,20 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_identifier] = ACTIONS(REDUCE(sym_declaration, 3)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [258] = { + [390] = { [sym_preproc_define] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_function_definition] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_declaration, 4)), [sym__type_specifier] = ACTIONS(REDUCE(sym_declaration, 4)), - [sym_type_name] = ACTIONS(REDUCE(sym_declaration, 4)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_declaration, 4)), + [sym_macro_type] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_declaration] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_type_qualifier] = ACTIONS(REDUCE(sym_declaration, 4)), - [aux_sym_program_repeat1] = ACTIONS(REDUCE(sym_declaration, 4)), + [aux_sym_translation_unit_repeat1] = ACTIONS(REDUCE(sym_declaration, 4)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_declaration, 4)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_declaration, 4)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_declaration, 4)), [ts_builtin_sym_end] = ACTIONS(REDUCE(sym_declaration, 4)), [anon_sym_POUNDdefine] = ACTIONS(REDUCE(sym_declaration, 4)), [anon_sym_typedef] = ACTIONS(REDUCE(sym_declaration, 4)), @@ -5496,11 +7626,12 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_identifier] = ACTIONS(REDUCE(sym_declaration, 4)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [259] = { + [391] = { [sym__type_specifier] = ACTIONS(REDUCE(aux_sym_declaration_specifiers_repeat1, 2)), - [sym_type_name] = ACTIONS(REDUCE(aux_sym_declaration_specifiers_repeat1, 2)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(aux_sym_declaration_specifiers_repeat1, 2)), + [sym_macro_type] = ACTIONS(REDUCE(aux_sym_declaration_specifiers_repeat1, 2)), [sym_struct_specifier] = ACTIONS(REDUCE(aux_sym_declaration_specifiers_repeat1, 2)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(aux_sym_declaration_specifiers_repeat1, 2)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(aux_sym_declaration_specifiers_repeat1, 2)), [anon_sym_signed] = ACTIONS(REDUCE(aux_sym_declaration_specifiers_repeat1, 2)), [anon_sym_unsigned] = ACTIONS(REDUCE(aux_sym_declaration_specifiers_repeat1, 2)), [anon_sym_long] = ACTIONS(REDUCE(aux_sym_declaration_specifiers_repeat1, 2)), @@ -5509,35 +7640,37 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_identifier] = ACTIONS(REDUCE(aux_sym_declaration_specifiers_repeat1, 2)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [260] = { - [sym__init_declarator] = ACTIONS(SHIFT(261)), - [sym_declarator] = ACTIONS(SHIFT(262)), - [sym__direct_declarator] = ACTIONS(SHIFT(127)), - [sym_pointer] = ACTIONS(SHIFT(40)), - [aux_sym_declarator_repeat1] = ACTIONS(SHIFT(128)), - [anon_sym_LPAREN] = ACTIONS(SHIFT(129)), - [anon_sym_STAR] = ACTIONS(SHIFT(43)), - [sym_identifier] = ACTIONS(SHIFT(130)), + [392] = { + [sym__init_declarator] = ACTIONS(SHIFT(393)), + [sym__declarator] = ACTIONS(SHIFT(394)), + [sym_pointer_declarator] = ACTIONS(SHIFT(228)), + [sym_function_declarator] = ACTIONS(SHIFT(228)), + [sym_array_declarator] = ACTIONS(SHIFT(228)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(229)), + [anon_sym_SEMI] = ACTIONS(SHIFT(389)), + [anon_sym_STAR] = ACTIONS(SHIFT(231)), + [sym_identifier] = ACTIONS(SHIFT(228)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [261] = { - [aux_sym_declaration_repeat1] = ACTIONS(SHIFT(265)), - [anon_sym_COMMA] = ACTIONS(SHIFT(237)), - [anon_sym_SEMI] = ACTIONS(SHIFT(258)), + [393] = { + [aux_sym_declaration_repeat1] = ACTIONS(SHIFT(397)), + [anon_sym_COMMA] = ACTIONS(SHIFT(368)), + [anon_sym_SEMI] = ACTIONS(SHIFT(390)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [262] = { - [sym_declaration_specifiers] = ACTIONS(SHIFT(141)), + [394] = { + [sym_declaration_specifiers] = ACTIONS(SHIFT(245)), [sym_storage_class_specifier] = ACTIONS(SHIFT(4)), - [sym__type_specifier] = ACTIONS(SHIFT(142)), - [sym_type_name] = ACTIONS(SHIFT(6)), + [sym__type_specifier] = ACTIONS(SHIFT(246)), + [sym_numeric_type_specifier] = ACTIONS(SHIFT(6)), + [sym_macro_type] = ACTIONS(SHIFT(6)), [sym_struct_specifier] = ACTIONS(SHIFT(6)), - [sym_declaration] = ACTIONS(SHIFT(143)), + [sym_declaration] = ACTIONS(SHIFT(247)), [sym_type_qualifier] = ACTIONS(SHIFT(4)), - [sym_compound_statement] = ACTIONS(SHIFT(246)), - [aux_sym_function_definition_repeat1] = ACTIONS(SHIFT(263)), + [sym_compound_statement] = ACTIONS(SHIFT(377)), + [aux_sym_function_definition_repeat1] = ACTIONS(SHIFT(395)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(SHIFT(8)), - [aux_sym_type_name_repeat1] = ACTIONS(SHIFT(9)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(SHIFT(9)), [aux_sym_declaration_repeat1] = ACTIONS(REDUCE(sym__init_declarator, 1)), [anon_sym_typedef] = ACTIONS(SHIFT(11)), [anon_sym_extern] = ACTIONS(SHIFT(11)), @@ -5548,35 +7681,38 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_unsigned] = ACTIONS(SHIFT(12)), [anon_sym_long] = ACTIONS(SHIFT(12)), [anon_sym_short] = ACTIONS(SHIFT(12)), + [anon_sym_LPAREN] = ACTIONS(SHIFT(233)), [anon_sym_struct] = ACTIONS(SHIFT(13)), - [anon_sym_LBRACE] = ACTIONS(SHIFT(146)), + [anon_sym_LBRACE] = ACTIONS(SHIFT(250)), [anon_sym_COMMA] = ACTIONS(REDUCE(sym__init_declarator, 1)), [anon_sym_SEMI] = ACTIONS(REDUCE(sym__init_declarator, 1)), - [anon_sym_EQ] = ACTIONS(SHIFT(147)), + [anon_sym_EQ] = ACTIONS(SHIFT(251)), + [anon_sym_LBRACK] = ACTIONS(SHIFT(234)), [anon_sym_const] = ACTIONS(SHIFT(14)), [anon_sym_restrict] = ACTIONS(SHIFT(14)), [anon_sym_volatile] = ACTIONS(SHIFT(14)), [sym_identifier] = ACTIONS(SHIFT(15)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [263] = { - [sym_compound_statement] = ACTIONS(SHIFT(264)), - [anon_sym_LBRACE] = ACTIONS(SHIFT(146)), + [395] = { + [sym_compound_statement] = ACTIONS(SHIFT(396)), + [anon_sym_LBRACE] = ACTIONS(SHIFT(250)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [264] = { + [396] = { [sym_preproc_define] = ACTIONS(REDUCE(sym_function_definition, 5)), [sym_function_definition] = ACTIONS(REDUCE(sym_function_definition, 5)), [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_function_definition, 5)), [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_function_definition, 5)), [sym__type_specifier] = ACTIONS(REDUCE(sym_function_definition, 5)), - [sym_type_name] = ACTIONS(REDUCE(sym_function_definition, 5)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_function_definition, 5)), + [sym_macro_type] = ACTIONS(REDUCE(sym_function_definition, 5)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_function_definition, 5)), [sym_declaration] = ACTIONS(REDUCE(sym_function_definition, 5)), [sym_type_qualifier] = ACTIONS(REDUCE(sym_function_definition, 5)), - [aux_sym_program_repeat1] = ACTIONS(REDUCE(sym_function_definition, 5)), + [aux_sym_translation_unit_repeat1] = ACTIONS(REDUCE(sym_function_definition, 5)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_function_definition, 5)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_function_definition, 5)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_function_definition, 5)), [ts_builtin_sym_end] = ACTIONS(REDUCE(sym_function_definition, 5)), [anon_sym_POUNDdefine] = ACTIONS(REDUCE(sym_function_definition, 5)), [anon_sym_typedef] = ACTIONS(REDUCE(sym_function_definition, 5)), @@ -5595,23 +7731,24 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_identifier] = ACTIONS(REDUCE(sym_function_definition, 5)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [265] = { - [anon_sym_SEMI] = ACTIONS(SHIFT(266)), + [397] = { + [anon_sym_SEMI] = ACTIONS(SHIFT(398)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [266] = { + [398] = { [sym_preproc_define] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_function_definition] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_declaration_specifiers] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_storage_class_specifier] = ACTIONS(REDUCE(sym_declaration, 5)), [sym__type_specifier] = ACTIONS(REDUCE(sym_declaration, 5)), - [sym_type_name] = ACTIONS(REDUCE(sym_declaration, 5)), + [sym_numeric_type_specifier] = ACTIONS(REDUCE(sym_declaration, 5)), + [sym_macro_type] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_struct_specifier] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_declaration] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_type_qualifier] = ACTIONS(REDUCE(sym_declaration, 5)), - [aux_sym_program_repeat1] = ACTIONS(REDUCE(sym_declaration, 5)), + [aux_sym_translation_unit_repeat1] = ACTIONS(REDUCE(sym_declaration, 5)), [aux_sym_declaration_specifiers_repeat1] = ACTIONS(REDUCE(sym_declaration, 5)), - [aux_sym_type_name_repeat1] = ACTIONS(REDUCE(sym_declaration, 5)), + [aux_sym_numeric_type_specifier_repeat1] = ACTIONS(REDUCE(sym_declaration, 5)), [ts_builtin_sym_end] = ACTIONS(REDUCE(sym_declaration, 5)), [anon_sym_POUNDdefine] = ACTIONS(REDUCE(sym_declaration, 5)), [anon_sym_typedef] = ACTIONS(REDUCE(sym_declaration, 5)), @@ -5630,8 +7767,8 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [sym_identifier] = ACTIONS(REDUCE(sym_declaration, 5)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, - [267] = { - [ts_builtin_sym_end] = ACTIONS(REDUCE(aux_sym_program_repeat1, 2)), + [399] = { + [ts_builtin_sym_end] = ACTIONS(REDUCE(aux_sym_translation_unit_repeat1, 2)), [sym_comment] = ACTIONS(SHIFT_EXTRA()), }, };