From ab2b0dd8ccb1c2130514da939790c510d788a62c Mon Sep 17 00:00:00 2001 From: Calixte Denizet Date: Mon, 5 Aug 2019 11:15:04 +0200 Subject: [PATCH] Use undef to guess macro names --- src/language_preproc.rs | 115 +- src/preproc.rs | 2 +- tree-sitter-preproc/grammar.js | 13 +- tree-sitter-preproc/src/grammar.json | 34 +- tree-sitter-preproc/src/node-types.json | 39 + tree-sitter-preproc/src/parser.c | 2154 +++++++++++++---------- 6 files changed, 1327 insertions(+), 1030 deletions(-) diff --git a/src/language_preproc.rs b/src/language_preproc.rs index a8ce3e3..3149f69 100644 --- a/src/language_preproc.rs +++ b/src/language_preproc.rs @@ -17,26 +17,28 @@ pub enum Preproc { PreprocIfToken2 = 12, PreprocElifToken1 = 13, PreprocElseToken1 = 14, - PreprocNothingToken1 = 15, - StringLiteralToken1 = 16, - CharLiteralToken1 = 17, - IntegerLiteral = 18, - Comment = 19, - RawStringLiteral = 20, - TranslationUnit = 21, - TopLevelItem = 22, - PreprocInclude = 23, - Define = 24, - PreprocIf = 25, - PreprocElif = 26, - PreprocElse = 27, - PreprocNothing = 28, - StringLiteral = 29, - CharLiteral = 30, - TranslationUnitRepeat1 = 31, - DefineRepeat1 = 32, - PreprocIfRepeat1 = 33, - Error = 34, + UndefToken1 = 15, + PreprocNothingToken1 = 16, + StringLiteralToken1 = 17, + CharLiteralToken1 = 18, + IntegerLiteral = 19, + Comment = 20, + RawStringLiteral = 21, + TranslationUnit = 22, + TopLevelItem = 23, + PreprocInclude = 24, + Define = 25, + PreprocIf = 26, + PreprocElif = 27, + PreprocElse = 28, + Undef = 29, + PreprocNothing = 30, + StringLiteral = 31, + CharLiteral = 32, + TranslationUnitRepeat1 = 33, + DefineRepeat1 = 34, + PreprocIfRepeat1 = 35, + Error = 36, } impl Into<&'static str> for Preproc { @@ -57,6 +59,7 @@ impl Into<&'static str> for Preproc { Preproc::PreprocIfToken2 => "preproc_if_token2", Preproc::PreprocElifToken1 => "preproc_elif_token1", Preproc::PreprocElseToken1 => "preproc_else_token1", + Preproc::UndefToken1 => "undef_token1", Preproc::PreprocNothingToken1 => "preproc_nothing_token1", Preproc::StringLiteralToken1 => "string_literal_token1", Preproc::CharLiteralToken1 => "char_literal_token1", @@ -70,6 +73,7 @@ impl Into<&'static str> for Preproc { Preproc::PreprocIf => "preproc_if", Preproc::PreprocElif => "preproc_elif", Preproc::PreprocElse => "preproc_else", + Preproc::Undef => "undef", Preproc::PreprocNothing => "preproc_nothing", Preproc::StringLiteral => "string_literal", Preproc::CharLiteral => "char_literal", @@ -83,47 +87,58 @@ impl Into<&'static str> for Preproc { #[allow(clippy::unreadable_literal)] static KEYS: phf::Map<&'static str, Preproc> = ::phf::Map { - key: 2575009635930530140, - disps: ::phf::Slice::Static(&[(1, 0), (3, 0), (0, 19), (1, 1), (1, 1), (9, 1), (19, 28)]), + key: 3347381344252206323, + disps: ::phf::Slice::Static(&[ + (12, 20), + (23, 13), + (0, 0), + (0, 2), + (2, 12), + (0, 1), + (2, 30), + (33, 34), + ]), entries: ::phf::Slice::Static(&[ - ("path", Preproc::Path), + ("translation_unit_repeat1", Preproc::TranslationUnitRepeat1), + ("string_literal", Preproc::StringLiteral), ("preproc_if_repeat1", Preproc::PreprocIfRepeat1), - ("preproc_include", Preproc::PreprocInclude), - ("end", Preproc::End), + ("preproc_else_token1", Preproc::PreprocElseToken1), + ("define_token1", Preproc::DefineToken1), + ("nothing", Preproc::Nothing), + ("preproc_nothing_token1", Preproc::PreprocNothingToken1), ( "preproc_continuation_line", Preproc::PreprocContinuationLine, ), - ("preproc_if_token1", Preproc::PreprocIfToken1), - ("define_repeat1", Preproc::DefineRepeat1), - ("_top_level_item", Preproc::TopLevelItem), - ("preproc_elif", Preproc::PreprocElif), - ("string_literal_token1", Preproc::StringLiteralToken1), - ("char_literal", Preproc::CharLiteral), - ("\\n", Preproc::LF), - ("preproc_if_token2", Preproc::PreprocIfToken2), - ("preproc_if", Preproc::PreprocIf), - ("<", Preproc::LT), - ("preproc_line", Preproc::PreprocLine), - ("define", Preproc::Define), - ("char_literal_token1", Preproc::CharLiteralToken1), - ("preproc_nothing_token1", Preproc::PreprocNothingToken1), - ("preproc_else_token1", Preproc::PreprocElseToken1), - (">", Preproc::GT), - ("raw_string_literal", Preproc::RawStringLiteral), - ("preproc_elif_token1", Preproc::PreprocElifToken1), + ("path", Preproc::Path), ("ERROR", Preproc::Error), - ("nothing", Preproc::Nothing), - ("preproc_else", Preproc::PreprocElse), - ("string_literal", Preproc::StringLiteral), + ("preproc_line", Preproc::PreprocLine), + ("raw_string_literal", Preproc::RawStringLiteral), + ("preproc_include", Preproc::PreprocInclude), ("identifier", Preproc::Identifier), - ("preproc_nothing", Preproc::PreprocNothing), - ("define_token1", Preproc::DefineToken1), - ("translation_unit_repeat1", Preproc::TranslationUnitRepeat1), - ("translation_unit", Preproc::TranslationUnit), + ("undef_token1", Preproc::UndefToken1), ("comment", Preproc::Comment), ("preproc_include_token1", Preproc::PreprocIncludeToken1), + ("_top_level_item", Preproc::TopLevelItem), + ("preproc_if", Preproc::PreprocIf), + ("preproc_nothing", Preproc::PreprocNothing), + ("translation_unit", Preproc::TranslationUnit), + ("\\n", Preproc::LF), ("integer_literal", Preproc::IntegerLiteral), + ("preproc_elif", Preproc::PreprocElif), + ("char_literal_token1", Preproc::CharLiteralToken1), + ("undef", Preproc::Undef), + ("char_literal", Preproc::CharLiteral), + (">", Preproc::GT), + ("string_literal_token1", Preproc::StringLiteralToken1), + ("preproc_if_token2", Preproc::PreprocIfToken2), + ("define_repeat1", Preproc::DefineRepeat1), + ("preproc_elif_token1", Preproc::PreprocElifToken1), + ("end", Preproc::End), + ("preproc_else", Preproc::PreprocElse), + ("<", Preproc::LT), + ("preproc_if_token1", Preproc::PreprocIfToken1), + ("define", Preproc::Define), ]), }; diff --git a/src/preproc.rs b/src/preproc.rs index 850268e..23c8dc7 100644 --- a/src/preproc.rs +++ b/src/preproc.rs @@ -184,7 +184,7 @@ pub fn preprocess(parser: &PreprocParser, path: &PathBuf, results: Arc { + Preproc::Define | Preproc::Undef => { cursor.reset(node); cursor.goto_first_child(); let identifier = cursor.node(); diff --git a/tree-sitter-preproc/grammar.js b/tree-sitter-preproc/grammar.js index edd06a7..8e91daf 100644 --- a/tree-sitter-preproc/grammar.js +++ b/tree-sitter-preproc/grammar.js @@ -15,6 +15,7 @@ module.exports = grammar({ $.comment, $.nothing, $.define, + $.undef, $.preproc_if, $.preproc_include, $.preproc_nothing, @@ -84,8 +85,16 @@ module.exports = grammar({ repeat($._top_level_item), ), + undef: $ => seq( + /[ \t]*#[ \t]*undef[ \t]+/, + $.identifier, + repeat($.preproc_continuation_line), + $.preproc_line, + '\n', + ), + preproc_nothing: $ => seq( - token.immediate(/[ \t]*#[ \t]*(error|pragma|undef|line)/), + token.immediate(/[ \t]*#[ \t]*(error|pragma|line)/), repeat($.preproc_continuation_line), $.preproc_line, ), @@ -102,8 +111,6 @@ module.exports = grammar({ /[0-9]+[0-9']*/ ), - // static constexpr uint8_t Global = 0b0'0010; ^^ pas compatible avec char - // http://stackoverflow.com/questions/13014947/regex-to-match-a-c-style-multiline-comment/36328890#36328890 comment: $ => token(choice( seq('//', /(\\(.|\r?\n)|[^\\\n])*/), diff --git a/tree-sitter-preproc/src/grammar.json b/tree-sitter-preproc/src/grammar.json index defd52d..be987fa 100644 --- a/tree-sitter-preproc/src/grammar.json +++ b/tree-sitter-preproc/src/grammar.json @@ -35,6 +35,10 @@ "type": "SYMBOL", "name": "define" }, + { + "type": "SYMBOL", + "name": "undef" + }, { "type": "SYMBOL", "name": "preproc_if" @@ -244,6 +248,34 @@ } ] }, + "undef": { + "type": "SEQ", + "members": [ + { + "type": "PATTERN", + "value": "[ \\t]*#[ \\t]*undef[ \\t]+" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "preproc_continuation_line" + } + }, + { + "type": "SYMBOL", + "name": "preproc_line" + }, + { + "type": "STRING", + "value": "\n" + } + ] + }, "preproc_nothing": { "type": "SEQ", "members": [ @@ -251,7 +283,7 @@ "type": "IMMEDIATE_TOKEN", "content": { "type": "PATTERN", - "value": "[ \\t]*#[ \\t]*(error|pragma|undef|line)" + "value": "[ \\t]*#[ \\t]*(error|pragma|line)" } }, { diff --git a/tree-sitter-preproc/src/node-types.json b/tree-sitter-preproc/src/node-types.json index 7448fa6..4ddedad 100644 --- a/tree-sitter-preproc/src/node-types.json +++ b/tree-sitter-preproc/src/node-types.json @@ -74,6 +74,10 @@ { "type": "string_literal", "named": true + }, + { + "type": "undef", + "named": true } ] } @@ -125,6 +129,10 @@ { "type": "string_literal", "named": true + }, + { + "type": "undef", + "named": true } ] } @@ -184,6 +192,10 @@ { "type": "string_literal", "named": true + }, + { + "type": "undef", + "named": true } ] } @@ -282,6 +294,33 @@ { "type": "string_literal", "named": true + }, + { + "type": "undef", + "named": true + } + ] + } + }, + { + "type": "undef", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "preproc_continuation_line", + "named": true + }, + { + "type": "preproc_line", + "named": true } ] } diff --git a/tree-sitter-preproc/src/parser.c b/tree-sitter-preproc/src/parser.c index 461c7d0..a2a4db9 100644 --- a/tree-sitter-preproc/src/parser.c +++ b/tree-sitter-preproc/src/parser.c @@ -6,10 +6,10 @@ #endif #define LANGUAGE_VERSION 10 -#define STATE_COUNT 70 -#define SYMBOL_COUNT 34 +#define STATE_COUNT 84 +#define SYMBOL_COUNT 36 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 21 +#define TOKEN_COUNT 22 #define EXTERNAL_TOKEN_COUNT 1 #define FIELD_COUNT 0 #define MAX_ALIAS_SEQUENCE_LENGTH 5 @@ -29,25 +29,27 @@ enum { aux_sym_preproc_if_token2 = 12, aux_sym_preproc_elif_token1 = 13, aux_sym_preproc_else_token1 = 14, - aux_sym_preproc_nothing_token1 = 15, - aux_sym_string_literal_token1 = 16, - aux_sym_char_literal_token1 = 17, - sym_integer_literal = 18, - sym_comment = 19, - sym_raw_string_literal = 20, - sym_translation_unit = 21, - sym__top_level_item = 22, - sym_preproc_include = 23, - sym_define = 24, - sym_preproc_if = 25, - sym_preproc_elif = 26, - sym_preproc_else = 27, - sym_preproc_nothing = 28, - sym_string_literal = 29, - sym_char_literal = 30, - aux_sym_translation_unit_repeat1 = 31, - aux_sym_define_repeat1 = 32, - aux_sym_preproc_if_repeat1 = 33, + aux_sym_undef_token1 = 15, + aux_sym_preproc_nothing_token1 = 16, + aux_sym_string_literal_token1 = 17, + aux_sym_char_literal_token1 = 18, + sym_integer_literal = 19, + sym_comment = 20, + sym_raw_string_literal = 21, + sym_translation_unit = 22, + sym__top_level_item = 23, + sym_preproc_include = 24, + sym_define = 25, + sym_preproc_if = 26, + sym_preproc_elif = 27, + sym_preproc_else = 28, + sym_undef = 29, + sym_preproc_nothing = 30, + sym_string_literal = 31, + sym_char_literal = 32, + aux_sym_translation_unit_repeat1 = 33, + aux_sym_define_repeat1 = 34, + aux_sym_preproc_if_repeat1 = 35, }; static const char *ts_symbol_names[] = { @@ -66,6 +68,7 @@ static const char *ts_symbol_names[] = { [aux_sym_preproc_if_token2] = "preproc_if_token2", [aux_sym_preproc_elif_token1] = "preproc_elif_token1", [aux_sym_preproc_else_token1] = "preproc_else_token1", + [aux_sym_undef_token1] = "undef_token1", [aux_sym_preproc_nothing_token1] = "preproc_nothing_token1", [aux_sym_string_literal_token1] = "string_literal_token1", [aux_sym_char_literal_token1] = "char_literal_token1", @@ -79,6 +82,7 @@ static const char *ts_symbol_names[] = { [sym_preproc_if] = "preproc_if", [sym_preproc_elif] = "preproc_elif", [sym_preproc_else] = "preproc_else", + [sym_undef] = "undef", [sym_preproc_nothing] = "preproc_nothing", [sym_string_literal] = "string_literal", [sym_char_literal] = "char_literal", @@ -148,6 +152,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_undef_token1] = { + .visible = false, + .named = false, + }, [aux_sym_preproc_nothing_token1] = { .visible = false, .named = false, @@ -200,6 +208,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_undef] = { + .visible = true, + .named = true, + }, [sym_preproc_nothing] = { .visible = true, .named = true, @@ -230,142 +242,142 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { START_LEXER(); switch (state) { case 0: - if (lookahead == 0) ADVANCE(63); - if (lookahead == '"') ADVANCE(14); - if (lookahead == '#') ADVANCE(23); - if (lookahead == '\'') ADVANCE(15); - if (lookahead == '/') ADVANCE(16); - if (lookahead == '<') ADVANCE(78); - if (lookahead == '>') ADVANCE(79); - if (lookahead == '\t' || - lookahead == ' ') ADVANCE(13); - if (lookahead == '\n' || - lookahead == '\r') SKIP(2) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(91); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(64); - END_STATE(); - case 1: - if (lookahead == 0) ADVANCE(63); - if (lookahead == '\n') ADVANCE(67); - if (lookahead == '\r') ADVANCE(67); - if (lookahead == '"') ADVANCE(14); - if (lookahead == '#') ADVANCE(70); - if (lookahead == '\'') ADVANCE(15); - if (lookahead == '/') ADVANCE(68); - if (lookahead == 'R') ADVANCE(65); - if (lookahead == '\t' || - lookahead == ' ') ADVANCE(66); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(91); - if (lookahead != 0) ADVANCE(71); - END_STATE(); - case 2: - if (lookahead == 0) ADVANCE(63); + if (lookahead == 0) ADVANCE(64); if (lookahead == '"') ADVANCE(14); if (lookahead == '#') ADVANCE(22); if (lookahead == '\'') ADVANCE(15); if (lookahead == '/') ADVANCE(16); - if (lookahead == '<') ADVANCE(78); - if (lookahead == '>') ADVANCE(79); + if (lookahead == '<') ADVANCE(79); + if (lookahead == '>') ADVANCE(80); if (lookahead == '\t' || lookahead == ' ') ADVANCE(12); if (lookahead == '\n' || lookahead == '\r') SKIP(2) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(93); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(64); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(65); + END_STATE(); + case 1: + if (lookahead == 0) ADVANCE(64); + if (lookahead == '\n') ADVANCE(68); + if (lookahead == '\r') ADVANCE(68); + if (lookahead == '"') ADVANCE(14); + if (lookahead == '#') ADVANCE(70); + if (lookahead == '\'') ADVANCE(15); + if (lookahead == '/') ADVANCE(69); + if (lookahead == 'R') ADVANCE(66); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(67); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(93); + if (lookahead != 0) ADVANCE(72); + END_STATE(); + case 2: + if (lookahead == 0) ADVANCE(64); + if (lookahead == '"') ADVANCE(14); + if (lookahead == '#') ADVANCE(23); + if (lookahead == '\'') ADVANCE(15); + if (lookahead == '/') ADVANCE(16); + if (lookahead == '<') ADVANCE(79); + if (lookahead == '>') ADVANCE(80); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(13); + if (lookahead == '\n' || + lookahead == '\r') SKIP(2) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(65); END_STATE(); case 3: - if (lookahead == '\n') ADVANCE(84); + if (lookahead == '\n') ADVANCE(85); if (lookahead == 'd') ADVANCE(5); if (lookahead == 'n') ADVANCE(4); if (lookahead != 0) ADVANCE(7); END_STATE(); case 4: - if (lookahead == '\n') ADVANCE(84); + if (lookahead == '\n') ADVANCE(85); if (lookahead == 'd') ADVANCE(5); if (lookahead != 0) ADVANCE(7); END_STATE(); case 5: - if (lookahead == '\n') ADVANCE(84); + if (lookahead == '\n') ADVANCE(85); if (lookahead == 'e') ADVANCE(6); if (lookahead != 0) ADVANCE(7); END_STATE(); case 6: - if (lookahead == '\n') ADVANCE(84); + if (lookahead == '\n') ADVANCE(85); if (lookahead == 'f') ADVANCE(7); if (lookahead != 0) ADVANCE(7); END_STATE(); case 7: - if (lookahead == '\n') ADVANCE(84); + if (lookahead == '\n') ADVANCE(85); if (lookahead != 0) ADVANCE(7); END_STATE(); case 8: - if (lookahead == '\n') ADVANCE(83); - if (lookahead == '\t' || - lookahead == '\r' || - lookahead == ' ') SKIP(8) + if (lookahead == '\n') ADVANCE(87); + if (lookahead != 0) ADVANCE(8); END_STATE(); case 9: - if (lookahead == '\n') ADVANCE(86); + if (lookahead == '\n') ADVANCE(88); if (lookahead != 0) ADVANCE(9); END_STATE(); case 10: - if (lookahead == '\n') ADVANCE(87); + if (lookahead == '\n') ADVANCE(86); if (lookahead != 0) ADVANCE(10); END_STATE(); case 11: - if (lookahead == '\n') ADVANCE(85); - if (lookahead != 0) ADVANCE(11); + if (lookahead == '\n') ADVANCE(84); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') SKIP(11) END_STATE(); case 12: if (lookahead == '"') ADVANCE(14); if (lookahead == '#') ADVANCE(22); if (lookahead == '\'') ADVANCE(15); if (lookahead == '/') ADVANCE(16); - if (lookahead == '<') ADVANCE(78); - if (lookahead == '>') ADVANCE(79); + if (lookahead == '<') ADVANCE(79); + if (lookahead == '>') ADVANCE(80); if (lookahead == '\t' || lookahead == ' ') ADVANCE(12); if (lookahead == '\n' || - lookahead == '\r') SKIP(12) + lookahead == '\r') SKIP(13) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(64); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(65); END_STATE(); case 13: if (lookahead == '"') ADVANCE(14); if (lookahead == '#') ADVANCE(23); if (lookahead == '\'') ADVANCE(15); if (lookahead == '/') ADVANCE(16); - if (lookahead == '<') ADVANCE(78); - if (lookahead == '>') ADVANCE(79); + if (lookahead == '<') ADVANCE(79); + if (lookahead == '>') ADVANCE(80); if (lookahead == '\t' || lookahead == ' ') ADVANCE(13); if (lookahead == '\n' || - lookahead == '\r') SKIP(12) + lookahead == '\r') SKIP(13) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(64); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(65); END_STATE(); case 14: - if (lookahead == '"') ADVANCE(89); - if (lookahead == '\\') ADVANCE(60); + if (lookahead == '"') ADVANCE(91); + if (lookahead == '\\') ADVANCE(61); if (lookahead != 0) ADVANCE(14); END_STATE(); case 15: - if (lookahead == '\'') ADVANCE(90); - if (lookahead == '\\') ADVANCE(61); + if (lookahead == '\'') ADVANCE(92); + if (lookahead == '\\') ADVANCE(62); if (lookahead != 0) ADVANCE(15); END_STATE(); case 16: if (lookahead == '*') ADVANCE(18); - if (lookahead == '/') ADVANCE(94); + if (lookahead == '/') ADVANCE(96); END_STATE(); case 17: if (lookahead == '*') ADVANCE(17); - if (lookahead == '/') ADVANCE(93); + if (lookahead == '/') ADVANCE(95); if (lookahead != 0) ADVANCE(18); END_STATE(); case 18: @@ -376,24 +388,25 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'a') ADVANCE(39); END_STATE(); case 20: - if (lookahead == 'a') ADVANCE(88); + if (lookahead == 'a') ADVANCE(90); END_STATE(); case 21: - if (lookahead == 'c') ADVANCE(44); + if (lookahead == 'c') ADVANCE(46); END_STATE(); case 22: - if (lookahead == 'd') ADVANCE(28); + if (lookahead == 'd') ADVANCE(27); if (lookahead == 'e') ADVANCE(45); if (lookahead == 'i') ADVANCE(34); + if (lookahead == 'l') ADVANCE(40); + if (lookahead == 'p') ADVANCE(53); + if (lookahead == 'u') ADVANCE(48); if (lookahead == '\t' || lookahead == ' ') ADVANCE(22); END_STATE(); case 23: - if (lookahead == 'd') ADVANCE(28); - if (lookahead == 'e') ADVANCE(46); + if (lookahead == 'd') ADVANCE(27); + if (lookahead == 'e') ADVANCE(44); if (lookahead == 'i') ADVANCE(34); - if (lookahead == 'l') ADVANCE(40); - if (lookahead == 'p') ADVANCE(55); if (lookahead == 'u') ADVANCE(48); if (lookahead == '\t' || lookahead == ' ') ADVANCE(23); @@ -402,44 +415,44 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'd') ADVANCE(43); END_STATE(); case 25: - if (lookahead == 'd') ADVANCE(32); + if (lookahead == 'd') ADVANCE(29); END_STATE(); case 26: - if (lookahead == 'd') ADVANCE(27); + if (lookahead == 'd') ADVANCE(32); END_STATE(); case 27: - if (lookahead == 'e') ADVANCE(76); - END_STATE(); - case 28: if (lookahead == 'e') ADVANCE(38); END_STATE(); + case 28: + if (lookahead == 'e') ADVANCE(90); + END_STATE(); case 29: - if (lookahead == 'e') ADVANCE(59); + if (lookahead == 'e') ADVANCE(77); END_STATE(); case 30: - if (lookahead == 'e') ADVANCE(88); + if (lookahead == 'e') ADVANCE(58); END_STATE(); case 31: - if (lookahead == 'e') ADVANCE(58); + if (lookahead == 'e') ADVANCE(60); END_STATE(); case 32: if (lookahead == 'e') ADVANCE(35); END_STATE(); case 33: - if (lookahead == 'e') ADVANCE(10); + if (lookahead == 'e') ADVANCE(9); END_STATE(); case 34: if (lookahead == 'f') ADVANCE(3); if (lookahead == 'n') ADVANCE(21); END_STATE(); case 35: - if (lookahead == 'f') ADVANCE(88); + if (lookahead == 'f') ADVANCE(59); END_STATE(); case 36: - if (lookahead == 'f') ADVANCE(9); + if (lookahead == 'f') ADVANCE(8); END_STATE(); case 37: - if (lookahead == 'f') ADVANCE(11); + if (lookahead == 'f') ADVANCE(10); END_STATE(); case 38: if (lookahead == 'f') ADVANCE(42); @@ -461,249 +474,259 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'i') ADVANCE(37); END_STATE(); case 44: - if (lookahead == 'l') ADVANCE(57); + if (lookahead == 'l') ADVANCE(41); + if (lookahead == 'n') ADVANCE(24); END_STATE(); case 45: if (lookahead == 'l') ADVANCE(41); if (lookahead == 'n') ADVANCE(24); + if (lookahead == 'r') ADVANCE(54); END_STATE(); case 46: - if (lookahead == 'l') ADVANCE(41); - if (lookahead == 'n') ADVANCE(24); - if (lookahead == 'r') ADVANCE(53); + if (lookahead == 'l') ADVANCE(57); END_STATE(); case 47: if (lookahead == 'm') ADVANCE(20); END_STATE(); case 48: - if (lookahead == 'n') ADVANCE(25); + if (lookahead == 'n') ADVANCE(26); END_STATE(); case 49: - if (lookahead == 'n') ADVANCE(30); + if (lookahead == 'n') ADVANCE(28); END_STATE(); case 50: - if (lookahead == 'n') ADVANCE(29); - END_STATE(); - case 51: if (lookahead == 'n') ADVANCE(31); END_STATE(); + case 51: + if (lookahead == 'n') ADVANCE(30); + END_STATE(); case 52: - if (lookahead == 'o') ADVANCE(54); + if (lookahead == 'o') ADVANCE(55); END_STATE(); case 53: - if (lookahead == 'r') ADVANCE(52); - END_STATE(); - case 54: - if (lookahead == 'r') ADVANCE(88); - END_STATE(); - case 55: if (lookahead == 'r') ADVANCE(19); END_STATE(); + case 54: + if (lookahead == 'r') ADVANCE(52); + END_STATE(); + case 55: + if (lookahead == 'r') ADVANCE(90); + END_STATE(); case 56: - if (lookahead == 't') ADVANCE(77); + if (lookahead == 't') ADVANCE(78); END_STATE(); case 57: - if (lookahead == 'u') ADVANCE(26); + if (lookahead == 'u') ADVANCE(25); END_STATE(); case 58: if (lookahead == 'x') ADVANCE(56); END_STATE(); case 59: if (lookahead == '\t' || - lookahead == ' ') ADVANCE(82); + lookahead == ' ') ADVANCE(89); END_STATE(); case 60: - if (lookahead != 0) ADVANCE(14); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(83); END_STATE(); case 61: - if (lookahead != 0) ADVANCE(15); + if (lookahead != 0) ADVANCE(14); END_STATE(); case 62: - if (lookahead != 0 && - lookahead != '\r') ADVANCE(94); - if (lookahead == '\r') ADVANCE(95); + if (lookahead != 0) ADVANCE(15); END_STATE(); case 63: - ACCEPT_TOKEN(ts_builtin_sym_end); + if (lookahead != 0 && + lookahead != '\r') ADVANCE(96); + if (lookahead == '\r') ADVANCE(97); END_STATE(); case 64: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 65: ACCEPT_TOKEN(sym_identifier); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(64); - END_STATE(); - case 65: - ACCEPT_TOKEN(sym_nothing); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(65); END_STATE(); case 66: ACCEPT_TOKEN(sym_nothing); - if (lookahead == '\n') ADVANCE(67); - if (lookahead == '\r') ADVANCE(67); - if (lookahead == '#') ADVANCE(70); - if (lookahead == '/') ADVANCE(68); - if (lookahead == 'R') ADVANCE(65); - if (lookahead == '\t' || - lookahead == ' ') ADVANCE(66); - if (lookahead != 0 && - lookahead != '"' && - lookahead != '\'' && - (lookahead < '0' || '9' < lookahead)) ADVANCE(71); END_STATE(); case 67: ACCEPT_TOKEN(sym_nothing); - if (lookahead == '\n') ADVANCE(67); - if (lookahead == '\r') ADVANCE(67); - if (lookahead == '#') ADVANCE(69); - if (lookahead == '/') ADVANCE(68); - if (lookahead == 'R') ADVANCE(65); + if (lookahead == '\n') ADVANCE(68); + if (lookahead == '\r') ADVANCE(68); + if (lookahead == '#') ADVANCE(70); + if (lookahead == '/') ADVANCE(69); + if (lookahead == 'R') ADVANCE(66); if (lookahead == '\t' || lookahead == ' ') ADVANCE(67); if (lookahead != 0 && lookahead != '"' && lookahead != '\'' && - (lookahead < '0' || '9' < lookahead)) ADVANCE(71); + (lookahead < '0' || '9' < lookahead)) ADVANCE(72); END_STATE(); case 68: ACCEPT_TOKEN(sym_nothing); - if (lookahead == '*') ADVANCE(18); - if (lookahead == '/') ADVANCE(94); + if (lookahead == '\n') ADVANCE(68); + if (lookahead == '\r') ADVANCE(68); + if (lookahead == '#') ADVANCE(71); + if (lookahead == '/') ADVANCE(69); + if (lookahead == 'R') ADVANCE(66); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(68); + if (lookahead != 0 && + lookahead != '"' && + lookahead != '\'' && + (lookahead < '0' || '9' < lookahead)) ADVANCE(72); END_STATE(); case 69: ACCEPT_TOKEN(sym_nothing); - if (lookahead == 'd') ADVANCE(28); - if (lookahead == 'e') ADVANCE(45); - if (lookahead == 'i') ADVANCE(34); - if (lookahead == '\t' || - lookahead == ' ') ADVANCE(22); + if (lookahead == '*') ADVANCE(18); + if (lookahead == '/') ADVANCE(96); END_STATE(); case 70: ACCEPT_TOKEN(sym_nothing); - if (lookahead == 'd') ADVANCE(28); - if (lookahead == 'e') ADVANCE(46); + if (lookahead == 'd') ADVANCE(27); + if (lookahead == 'e') ADVANCE(45); if (lookahead == 'i') ADVANCE(34); if (lookahead == 'l') ADVANCE(40); - if (lookahead == 'p') ADVANCE(55); + if (lookahead == 'p') ADVANCE(53); + if (lookahead == 'u') ADVANCE(48); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(22); + END_STATE(); + case 71: + ACCEPT_TOKEN(sym_nothing); + if (lookahead == 'd') ADVANCE(27); + if (lookahead == 'e') ADVANCE(44); + if (lookahead == 'i') ADVANCE(34); if (lookahead == 'u') ADVANCE(48); if (lookahead == '\t' || lookahead == ' ') ADVANCE(23); END_STATE(); - case 71: + case 72: ACCEPT_TOKEN(sym_nothing); if (lookahead != 0 && lookahead != '"' && lookahead != '#' && lookahead != '\'' && (lookahead < '/' || '9' < lookahead) && - lookahead != 'R') ADVANCE(71); - END_STATE(); - case 72: - ACCEPT_TOKEN(sym_preproc_continuation_line); + lookahead != 'R') ADVANCE(72); END_STATE(); case 73: - ACCEPT_TOKEN(sym_preproc_line); - if (lookahead == '\n') ADVANCE(72); - if (lookahead == '\r') ADVANCE(74); - if (lookahead == '\\') ADVANCE(73); - if (lookahead != 0) ADVANCE(75); + ACCEPT_TOKEN(sym_preproc_continuation_line); END_STATE(); case 74: ACCEPT_TOKEN(sym_preproc_line); - if (lookahead == '\n') ADVANCE(72); - if (lookahead == '\\') ADVANCE(73); - if (lookahead != 0) ADVANCE(75); + if (lookahead == '\n') ADVANCE(73); + if (lookahead == '\r') ADVANCE(75); + if (lookahead == '\\') ADVANCE(74); + if (lookahead != 0) ADVANCE(76); END_STATE(); case 75: ACCEPT_TOKEN(sym_preproc_line); - if (lookahead == '\\') ADVANCE(73); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(75); + if (lookahead == '\n') ADVANCE(73); + if (lookahead == '\\') ADVANCE(74); + if (lookahead != 0) ADVANCE(76); END_STATE(); case 76: - ACCEPT_TOKEN(aux_sym_preproc_include_token1); - if (lookahead == '_') ADVANCE(51); - if (lookahead == '\t' || - lookahead == ' ') ADVANCE(77); + ACCEPT_TOKEN(sym_preproc_line); + if (lookahead == '\\') ADVANCE(74); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(76); END_STATE(); case 77: ACCEPT_TOKEN(aux_sym_preproc_include_token1); + if (lookahead == '_') ADVANCE(51); if (lookahead == '\t' || - lookahead == ' ') ADVANCE(77); + lookahead == ' ') ADVANCE(78); END_STATE(); case 78: - ACCEPT_TOKEN(anon_sym_LT); + ACCEPT_TOKEN(aux_sym_preproc_include_token1); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(78); END_STATE(); case 79: - ACCEPT_TOKEN(anon_sym_GT); + ACCEPT_TOKEN(anon_sym_LT); END_STATE(); case 80: + ACCEPT_TOKEN(anon_sym_GT); + END_STATE(); + case 81: ACCEPT_TOKEN(sym_path); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(80); + lookahead == ' ') ADVANCE(81); if (lookahead != 0 && - lookahead != '>') ADVANCE(81); - END_STATE(); - case 81: - ACCEPT_TOKEN(sym_path); - if (lookahead != 0 && - lookahead != '>') ADVANCE(81); + lookahead != '>') ADVANCE(82); END_STATE(); case 82: - ACCEPT_TOKEN(aux_sym_define_token1); - if (lookahead == '\t' || - lookahead == ' ') ADVANCE(82); + ACCEPT_TOKEN(sym_path); + if (lookahead != 0 && + lookahead != '>') ADVANCE(82); END_STATE(); case 83: - ACCEPT_TOKEN(anon_sym_LF); - if (lookahead == '\n') ADVANCE(83); + ACCEPT_TOKEN(aux_sym_define_token1); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(83); END_STATE(); case 84: - ACCEPT_TOKEN(aux_sym_preproc_if_token1); + ACCEPT_TOKEN(anon_sym_LF); + if (lookahead == '\n') ADVANCE(84); END_STATE(); case 85: - ACCEPT_TOKEN(aux_sym_preproc_if_token2); + ACCEPT_TOKEN(aux_sym_preproc_if_token1); END_STATE(); case 86: - ACCEPT_TOKEN(aux_sym_preproc_elif_token1); + ACCEPT_TOKEN(aux_sym_preproc_if_token2); END_STATE(); case 87: - ACCEPT_TOKEN(aux_sym_preproc_else_token1); + ACCEPT_TOKEN(aux_sym_preproc_elif_token1); END_STATE(); case 88: - ACCEPT_TOKEN(aux_sym_preproc_nothing_token1); + ACCEPT_TOKEN(aux_sym_preproc_else_token1); END_STATE(); case 89: - ACCEPT_TOKEN(aux_sym_string_literal_token1); + ACCEPT_TOKEN(aux_sym_undef_token1); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(89); END_STATE(); case 90: - ACCEPT_TOKEN(aux_sym_char_literal_token1); + ACCEPT_TOKEN(aux_sym_preproc_nothing_token1); END_STATE(); case 91: - ACCEPT_TOKEN(sym_integer_literal); - if (lookahead == '\'') ADVANCE(92); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(91); + ACCEPT_TOKEN(aux_sym_string_literal_token1); END_STATE(); case 92: - ACCEPT_TOKEN(sym_integer_literal); - if (lookahead == '\'' || - ('0' <= lookahead && lookahead <= '9')) ADVANCE(92); + ACCEPT_TOKEN(aux_sym_char_literal_token1); END_STATE(); case 93: - ACCEPT_TOKEN(sym_comment); + ACCEPT_TOKEN(sym_integer_literal); + if (lookahead == '\'') ADVANCE(94); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(93); END_STATE(); case 94: - ACCEPT_TOKEN(sym_comment); - if (lookahead == '\\') ADVANCE(62); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(94); + ACCEPT_TOKEN(sym_integer_literal); + if (lookahead == '\'' || + ('0' <= lookahead && lookahead <= '9')) ADVANCE(94); END_STATE(); case 95: ACCEPT_TOKEN(sym_comment); + END_STATE(); + case 96: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\\') ADVANCE(63); if (lookahead != 0 && - lookahead != '\\') ADVANCE(94); - if (lookahead == '\\') ADVANCE(62); + lookahead != '\n') ADVANCE(96); + END_STATE(); + case 97: + ACCEPT_TOKEN(sym_comment); + if (lookahead != 0 && + lookahead != '\\') ADVANCE(96); + if (lookahead == '\\') ADVANCE(63); END_STATE(); default: return false; @@ -714,47 +737,47 @@ static TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0, .external_lex_state = 1}, [1] = {.lex_state = 1, .external_lex_state = 1}, [2] = {.lex_state = 0}, - [3] = {.lex_state = 75}, + [3] = {.lex_state = 0}, [4] = {.lex_state = 1, .external_lex_state = 1}, [5] = {.lex_state = 1, .external_lex_state = 1}, - [6] = {.lex_state = 1, .external_lex_state = 1}, - [7] = {.lex_state = 0}, - [8] = {.lex_state = 1, .external_lex_state = 1}, + [6] = {.lex_state = 76}, + [7] = {.lex_state = 1, .external_lex_state = 1}, + [8] = {.lex_state = 0}, [9] = {.lex_state = 0}, [10] = {.lex_state = 1, .external_lex_state = 1}, - [11] = {.lex_state = 80}, - [12] = {.lex_state = 1, .external_lex_state = 1}, - [13] = {.lex_state = 75}, + [11] = {.lex_state = 1, .external_lex_state = 1}, + [12] = {.lex_state = 81}, + [13] = {.lex_state = 76}, [14] = {.lex_state = 1, .external_lex_state = 1}, [15] = {.lex_state = 1, .external_lex_state = 1}, [16] = {.lex_state = 1, .external_lex_state = 1}, - [17] = {.lex_state = 1, .external_lex_state = 1}, - [18] = {.lex_state = 0}, + [17] = {.lex_state = 0}, + [18] = {.lex_state = 1, .external_lex_state = 1}, [19] = {.lex_state = 0}, - [20] = {.lex_state = 75}, - [21] = {.lex_state = 1, .external_lex_state = 1}, - [22] = {.lex_state = 0}, + [20] = {.lex_state = 1, .external_lex_state = 1}, + [21] = {.lex_state = 76}, + [22] = {.lex_state = 76}, [23] = {.lex_state = 1, .external_lex_state = 1}, - [24] = {.lex_state = 75}, - [25] = {.lex_state = 1, .external_lex_state = 1}, - [26] = {.lex_state = 1, .external_lex_state = 1}, + [24] = {.lex_state = 0}, + [25] = {.lex_state = 11}, + [26] = {.lex_state = 76}, [27] = {.lex_state = 1, .external_lex_state = 1}, - [28] = {.lex_state = 0}, - [29] = {.lex_state = 0}, + [28] = {.lex_state = 1, .external_lex_state = 1}, + [29] = {.lex_state = 1, .external_lex_state = 1}, [30] = {.lex_state = 0}, - [31] = {.lex_state = 8}, - [32] = {.lex_state = 75}, + [31] = {.lex_state = 0}, + [32] = {.lex_state = 0}, [33] = {.lex_state = 1, .external_lex_state = 1}, - [34] = {.lex_state = 1, .external_lex_state = 1}, - [35] = {.lex_state = 0}, - [36] = {.lex_state = 1, .external_lex_state = 1}, - [37] = {.lex_state = 8}, + [34] = {.lex_state = 76}, + [35] = {.lex_state = 11}, + [36] = {.lex_state = 76}, + [37] = {.lex_state = 1, .external_lex_state = 1}, [38] = {.lex_state = 1, .external_lex_state = 1}, - [39] = {.lex_state = 1, .external_lex_state = 1}, + [39] = {.lex_state = 11}, [40] = {.lex_state = 1, .external_lex_state = 1}, - [41] = {.lex_state = 1, .external_lex_state = 1}, + [41] = {.lex_state = 0}, [42] = {.lex_state = 1, .external_lex_state = 1}, - [43] = {.lex_state = 1, .external_lex_state = 1}, + [43] = {.lex_state = 11}, [44] = {.lex_state = 1, .external_lex_state = 1}, [45] = {.lex_state = 1, .external_lex_state = 1}, [46] = {.lex_state = 1, .external_lex_state = 1}, @@ -764,23 +787,37 @@ static TSLexMode ts_lex_modes[STATE_COUNT] = { [50] = {.lex_state = 1, .external_lex_state = 1}, [51] = {.lex_state = 1, .external_lex_state = 1}, [52] = {.lex_state = 1, .external_lex_state = 1}, - [53] = {.lex_state = 0}, - [54] = {.lex_state = 75}, + [53] = {.lex_state = 1, .external_lex_state = 1}, + [54] = {.lex_state = 1, .external_lex_state = 1}, [55] = {.lex_state = 1, .external_lex_state = 1}, - [56] = {.lex_state = 75}, + [56] = {.lex_state = 1, .external_lex_state = 1}, [57] = {.lex_state = 1, .external_lex_state = 1}, - [58] = {.lex_state = 0}, - [59] = {.lex_state = 0}, - [60] = {.lex_state = 0}, - [61] = {.lex_state = 0}, + [58] = {.lex_state = 1, .external_lex_state = 1}, + [59] = {.lex_state = 1, .external_lex_state = 1}, + [60] = {.lex_state = 1, .external_lex_state = 1}, + [61] = {.lex_state = 1, .external_lex_state = 1}, [62] = {.lex_state = 0}, - [63] = {.lex_state = 8}, - [64] = {.lex_state = 0}, - [65] = {.lex_state = 8}, - [66] = {.lex_state = 80}, - [67] = {.lex_state = 75}, - [68] = {.lex_state = 75}, + [63] = {.lex_state = 1, .external_lex_state = 1}, + [64] = {.lex_state = 76}, + [65] = {.lex_state = 0}, + [66] = {.lex_state = 1, .external_lex_state = 1}, + [67] = {.lex_state = 0}, + [68] = {.lex_state = 76}, [69] = {.lex_state = 0}, + [70] = {.lex_state = 11}, + [71] = {.lex_state = 0}, + [72] = {.lex_state = 0}, + [73] = {.lex_state = 11}, + [74] = {.lex_state = 11}, + [75] = {.lex_state = 0}, + [76] = {.lex_state = 11}, + [77] = {.lex_state = 81}, + [78] = {.lex_state = 76}, + [79] = {.lex_state = 76}, + [80] = {.lex_state = 76}, + [81] = {.lex_state = 76}, + [82] = {.lex_state = 0}, + [83] = {.lex_state = 0}, }; enum { @@ -800,911 +837,1078 @@ static bool ts_external_scanner_states[2][EXTERNAL_TOKEN_COUNT] = { static uint16_t ts_parse_table[STATE_COUNT][SYMBOL_COUNT] = { [0] = { [sym_raw_string_literal] = ACTIONS(1), - [aux_sym_preproc_nothing_token1] = ACTIONS(1), + [aux_sym_undef_token1] = ACTIONS(1), [sym_identifier] = ACTIONS(1), [anon_sym_LT] = ACTIONS(1), - [sym_integer_literal] = ACTIONS(1), + [aux_sym_char_literal_token1] = ACTIONS(1), [aux_sym_preproc_if_token2] = ACTIONS(1), [aux_sym_define_token1] = ACTIONS(1), [aux_sym_preproc_else_token1] = ACTIONS(1), [aux_sym_preproc_include_token1] = ACTIONS(1), [ts_builtin_sym_end] = ACTIONS(1), - [aux_sym_char_literal_token1] = ACTIONS(1), - [aux_sym_preproc_if_token1] = ACTIONS(1), + [sym_comment] = ACTIONS(1), [aux_sym_string_literal_token1] = ACTIONS(1), + [aux_sym_preproc_if_token1] = ACTIONS(1), + [aux_sym_preproc_nothing_token1] = ACTIONS(1), [aux_sym_preproc_elif_token1] = ACTIONS(1), [anon_sym_GT] = ACTIONS(1), - [sym_comment] = ACTIONS(1), + [sym_integer_literal] = ACTIONS(1), }, [1] = { - [sym_define] = STATE(8), - [sym_preproc_if] = STATE(8), - [sym_char_literal] = STATE(8), - [aux_sym_translation_unit_repeat1] = STATE(8), + [sym_define] = STATE(10), + [sym_preproc_if] = STATE(10), + [sym_string_literal] = STATE(10), + [sym_char_literal] = STATE(10), [sym_translation_unit] = STATE(9), - [sym__top_level_item] = STATE(8), - [sym_preproc_include] = STATE(8), - [sym_preproc_nothing] = STATE(8), - [sym_string_literal] = STATE(8), + [aux_sym_translation_unit_repeat1] = STATE(10), + [sym__top_level_item] = STATE(10), + [sym_preproc_include] = STATE(10), + [sym_undef] = STATE(10), + [sym_preproc_nothing] = STATE(10), [sym_raw_string_literal] = ACTIONS(3), [aux_sym_preproc_include_token1] = ACTIONS(5), [ts_builtin_sym_end] = ACTIONS(7), - [aux_sym_preproc_nothing_token1] = ACTIONS(9), - [aux_sym_char_literal_token1] = ACTIONS(11), - [aux_sym_preproc_if_token1] = ACTIONS(13), - [aux_sym_string_literal_token1] = ACTIONS(15), - [sym_nothing] = ACTIONS(17), + [aux_sym_undef_token1] = ACTIONS(9), + [sym_comment] = ACTIONS(11), + [aux_sym_string_literal_token1] = ACTIONS(13), + [aux_sym_preproc_if_token1] = ACTIONS(15), + [aux_sym_preproc_nothing_token1] = ACTIONS(17), + [sym_nothing] = ACTIONS(11), + [aux_sym_char_literal_token1] = ACTIONS(19), + [aux_sym_define_token1] = ACTIONS(21), [sym_integer_literal] = ACTIONS(3), - [aux_sym_define_token1] = ACTIONS(19), - [sym_comment] = ACTIONS(17), }, [2] = { - [sym_string_literal] = STATE(10), - [sym_identifier] = ACTIONS(21), - [anon_sym_LT] = ACTIONS(23), - [aux_sym_string_literal_token1] = ACTIONS(25), + [sym_string_literal] = STATE(11), + [aux_sym_string_literal_token1] = ACTIONS(23), + [sym_identifier] = ACTIONS(25), + [anon_sym_LT] = ACTIONS(27), }, [3] = { - [aux_sym_define_repeat1] = STATE(13), - [sym_preproc_continuation_line] = ACTIONS(27), - [sym_preproc_line] = ACTIONS(29), + [sym_identifier] = ACTIONS(29), }, [4] = { [aux_sym_preproc_include_token1] = ACTIONS(31), [sym_raw_string_literal] = ACTIONS(33), - [aux_sym_preproc_nothing_token1] = ACTIONS(31), - [ts_builtin_sym_end] = ACTIONS(33), - [aux_sym_char_literal_token1] = ACTIONS(31), - [aux_sym_preproc_if_token1] = ACTIONS(31), - [aux_sym_string_literal_token1] = ACTIONS(31), - [sym_nothing] = ACTIONS(31), - [sym_integer_literal] = ACTIONS(33), - [aux_sym_define_token1] = ACTIONS(31), + [aux_sym_undef_token1] = ACTIONS(31), [sym_comment] = ACTIONS(31), + [aux_sym_string_literal_token1] = ACTIONS(31), + [ts_builtin_sym_end] = ACTIONS(33), + [aux_sym_preproc_if_token1] = ACTIONS(31), + [aux_sym_preproc_nothing_token1] = ACTIONS(31), + [sym_nothing] = ACTIONS(31), + [aux_sym_char_literal_token1] = ACTIONS(31), + [aux_sym_define_token1] = ACTIONS(31), + [sym_integer_literal] = ACTIONS(33), }, [5] = { - [sym_define] = STATE(17), - [sym_preproc_if] = STATE(17), - [sym_char_literal] = STATE(17), - [aux_sym_translation_unit_repeat1] = STATE(17), + [sym_define] = STATE(18), + [sym_preproc_if] = STATE(18), + [sym_string_literal] = STATE(18), + [sym_char_literal] = STATE(18), [sym_preproc_elif] = STATE(19), - [sym_preproc_else] = STATE(18), + [sym_preproc_else] = STATE(17), + [aux_sym_translation_unit_repeat1] = STATE(18), + [sym__top_level_item] = STATE(18), + [sym_preproc_include] = STATE(18), + [sym_undef] = STATE(18), + [sym_preproc_nothing] = STATE(18), [aux_sym_preproc_if_repeat1] = STATE(19), - [sym__top_level_item] = STATE(17), - [sym_preproc_include] = STATE(17), - [sym_preproc_nothing] = STATE(17), - [sym_string_literal] = STATE(17), [sym_raw_string_literal] = ACTIONS(35), [aux_sym_preproc_include_token1] = ACTIONS(37), - [aux_sym_preproc_nothing_token1] = ACTIONS(39), - [aux_sym_char_literal_token1] = ACTIONS(41), - [aux_sym_preproc_if_token1] = ACTIONS(43), - [aux_sym_string_literal_token1] = ACTIONS(45), - [aux_sym_preproc_elif_token1] = ACTIONS(47), - [sym_nothing] = ACTIONS(49), + [aux_sym_undef_token1] = ACTIONS(39), + [sym_comment] = ACTIONS(41), + [aux_sym_string_literal_token1] = ACTIONS(43), + [aux_sym_preproc_if_token1] = ACTIONS(45), + [aux_sym_preproc_nothing_token1] = ACTIONS(47), + [aux_sym_preproc_elif_token1] = ACTIONS(49), + [sym_nothing] = ACTIONS(41), + [aux_sym_char_literal_token1] = ACTIONS(51), + [aux_sym_preproc_if_token2] = ACTIONS(53), + [aux_sym_define_token1] = ACTIONS(55), + [aux_sym_preproc_else_token1] = ACTIONS(57), [sym_integer_literal] = ACTIONS(35), - [aux_sym_preproc_if_token2] = ACTIONS(51), - [aux_sym_define_token1] = ACTIONS(53), - [aux_sym_preproc_else_token1] = ACTIONS(55), - [sym_comment] = ACTIONS(49), }, [6] = { - [aux_sym_preproc_include_token1] = ACTIONS(57), - [sym_raw_string_literal] = ACTIONS(59), - [aux_sym_preproc_nothing_token1] = ACTIONS(57), - [ts_builtin_sym_end] = ACTIONS(59), - [aux_sym_char_literal_token1] = ACTIONS(57), - [aux_sym_preproc_if_token1] = ACTIONS(57), - [aux_sym_string_literal_token1] = ACTIONS(57), - [sym_nothing] = ACTIONS(57), - [sym_integer_literal] = ACTIONS(59), - [aux_sym_define_token1] = ACTIONS(57), - [sym_comment] = ACTIONS(57), + [aux_sym_define_repeat1] = STATE(21), + [sym_preproc_continuation_line] = ACTIONS(59), + [sym_preproc_line] = ACTIONS(61), }, [7] = { - [sym_identifier] = ACTIONS(61), + [aux_sym_preproc_include_token1] = ACTIONS(63), + [sym_raw_string_literal] = ACTIONS(65), + [aux_sym_undef_token1] = ACTIONS(63), + [sym_comment] = ACTIONS(63), + [aux_sym_string_literal_token1] = ACTIONS(63), + [ts_builtin_sym_end] = ACTIONS(65), + [aux_sym_preproc_if_token1] = ACTIONS(63), + [aux_sym_preproc_nothing_token1] = ACTIONS(63), + [sym_nothing] = ACTIONS(63), + [aux_sym_char_literal_token1] = ACTIONS(63), + [aux_sym_define_token1] = ACTIONS(63), + [sym_integer_literal] = ACTIONS(65), }, [8] = { - [sym_define] = STATE(21), - [sym_preproc_if] = STATE(21), - [sym_char_literal] = STATE(21), - [aux_sym_translation_unit_repeat1] = STATE(21), - [sym__top_level_item] = STATE(21), - [sym_preproc_include] = STATE(21), - [sym_preproc_nothing] = STATE(21), - [sym_string_literal] = STATE(21), - [sym_raw_string_literal] = ACTIONS(63), - [aux_sym_preproc_include_token1] = ACTIONS(5), - [ts_builtin_sym_end] = ACTIONS(65), - [aux_sym_preproc_nothing_token1] = ACTIONS(9), - [aux_sym_char_literal_token1] = ACTIONS(11), - [aux_sym_preproc_if_token1] = ACTIONS(13), - [aux_sym_string_literal_token1] = ACTIONS(15), - [sym_nothing] = ACTIONS(67), - [sym_integer_literal] = ACTIONS(63), - [aux_sym_define_token1] = ACTIONS(19), - [sym_comment] = ACTIONS(67), + [sym_identifier] = ACTIONS(67), }, [9] = { [ts_builtin_sym_end] = ACTIONS(69), }, [10] = { - [aux_sym_preproc_include_token1] = ACTIONS(71), - [sym_raw_string_literal] = ACTIONS(73), - [aux_sym_preproc_nothing_token1] = ACTIONS(71), + [sym_define] = STATE(23), + [sym_preproc_if] = STATE(23), + [sym_string_literal] = STATE(23), + [sym_char_literal] = STATE(23), + [aux_sym_translation_unit_repeat1] = STATE(23), + [sym__top_level_item] = STATE(23), + [sym_preproc_include] = STATE(23), + [sym_undef] = STATE(23), + [sym_preproc_nothing] = STATE(23), + [sym_raw_string_literal] = ACTIONS(71), + [aux_sym_preproc_include_token1] = ACTIONS(5), [ts_builtin_sym_end] = ACTIONS(73), - [aux_sym_char_literal_token1] = ACTIONS(71), - [aux_sym_preproc_if_token1] = ACTIONS(71), - [aux_sym_string_literal_token1] = ACTIONS(71), - [sym_nothing] = ACTIONS(71), - [sym_integer_literal] = ACTIONS(73), - [aux_sym_define_token1] = ACTIONS(71), - [sym_comment] = ACTIONS(71), + [aux_sym_undef_token1] = ACTIONS(9), + [sym_comment] = ACTIONS(75), + [aux_sym_string_literal_token1] = ACTIONS(13), + [aux_sym_preproc_if_token1] = ACTIONS(15), + [aux_sym_preproc_nothing_token1] = ACTIONS(17), + [sym_nothing] = ACTIONS(75), + [aux_sym_char_literal_token1] = ACTIONS(19), + [aux_sym_define_token1] = ACTIONS(21), + [sym_integer_literal] = ACTIONS(71), }, [11] = { - [sym_path] = ACTIONS(75), - }, - [12] = { [aux_sym_preproc_include_token1] = ACTIONS(77), [sym_raw_string_literal] = ACTIONS(79), - [aux_sym_preproc_nothing_token1] = ACTIONS(77), - [ts_builtin_sym_end] = ACTIONS(79), - [aux_sym_char_literal_token1] = ACTIONS(77), - [aux_sym_preproc_if_token1] = ACTIONS(77), - [aux_sym_string_literal_token1] = ACTIONS(77), - [sym_nothing] = ACTIONS(77), - [sym_integer_literal] = ACTIONS(79), - [aux_sym_define_token1] = ACTIONS(77), + [aux_sym_undef_token1] = ACTIONS(77), [sym_comment] = ACTIONS(77), + [aux_sym_string_literal_token1] = ACTIONS(77), + [ts_builtin_sym_end] = ACTIONS(79), + [aux_sym_preproc_if_token1] = ACTIONS(77), + [aux_sym_preproc_nothing_token1] = ACTIONS(77), + [sym_nothing] = ACTIONS(77), + [aux_sym_char_literal_token1] = ACTIONS(77), + [aux_sym_define_token1] = ACTIONS(77), + [sym_integer_literal] = ACTIONS(79), + }, + [12] = { + [sym_path] = ACTIONS(81), }, [13] = { - [aux_sym_define_repeat1] = STATE(24), - [sym_preproc_continuation_line] = ACTIONS(81), - [sym_preproc_line] = ACTIONS(83), + [aux_sym_define_repeat1] = STATE(26), + [sym_preproc_continuation_line] = ACTIONS(83), + [sym_preproc_line] = ACTIONS(85), }, [14] = { - [sym_define] = STATE(25), - [sym_preproc_if] = STATE(25), - [sym_char_literal] = STATE(25), - [aux_sym_translation_unit_repeat1] = STATE(25), - [sym__top_level_item] = STATE(25), - [sym_preproc_include] = STATE(25), - [sym_preproc_nothing] = STATE(25), - [sym_string_literal] = STATE(25), - [sym_raw_string_literal] = ACTIONS(85), + [sym_define] = STATE(27), + [sym_preproc_if] = STATE(27), + [sym_string_literal] = STATE(27), + [sym_char_literal] = STATE(27), + [aux_sym_translation_unit_repeat1] = STATE(27), + [sym__top_level_item] = STATE(27), + [sym_preproc_include] = STATE(27), + [sym_undef] = STATE(27), + [sym_preproc_nothing] = STATE(27), + [sym_raw_string_literal] = ACTIONS(87), [aux_sym_preproc_include_token1] = ACTIONS(37), - [aux_sym_preproc_nothing_token1] = ACTIONS(39), - [aux_sym_char_literal_token1] = ACTIONS(41), - [aux_sym_preproc_if_token1] = ACTIONS(43), - [aux_sym_string_literal_token1] = ACTIONS(45), - [aux_sym_preproc_elif_token1] = ACTIONS(87), - [sym_nothing] = ACTIONS(89), - [sym_integer_literal] = ACTIONS(85), - [aux_sym_preproc_if_token2] = ACTIONS(87), - [aux_sym_define_token1] = ACTIONS(53), - [aux_sym_preproc_else_token1] = ACTIONS(87), + [aux_sym_undef_token1] = ACTIONS(39), [sym_comment] = ACTIONS(89), + [aux_sym_string_literal_token1] = ACTIONS(43), + [aux_sym_preproc_if_token1] = ACTIONS(45), + [aux_sym_preproc_nothing_token1] = ACTIONS(47), + [aux_sym_preproc_elif_token1] = ACTIONS(91), + [sym_nothing] = ACTIONS(89), + [aux_sym_char_literal_token1] = ACTIONS(51), + [aux_sym_preproc_if_token2] = ACTIONS(91), + [aux_sym_define_token1] = ACTIONS(55), + [aux_sym_preproc_else_token1] = ACTIONS(91), + [sym_integer_literal] = ACTIONS(87), }, [15] = { - [aux_sym_preproc_include_token1] = ACTIONS(91), - [sym_raw_string_literal] = ACTIONS(93), - [aux_sym_preproc_nothing_token1] = ACTIONS(91), - [ts_builtin_sym_end] = ACTIONS(93), - [aux_sym_char_literal_token1] = ACTIONS(91), - [aux_sym_preproc_if_token1] = ACTIONS(91), - [aux_sym_string_literal_token1] = ACTIONS(91), - [sym_nothing] = ACTIONS(91), - [sym_integer_literal] = ACTIONS(93), - [aux_sym_define_token1] = ACTIONS(91), - [sym_comment] = ACTIONS(91), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [sym_raw_string_literal] = ACTIONS(95), + [aux_sym_undef_token1] = ACTIONS(93), + [sym_comment] = ACTIONS(93), + [aux_sym_string_literal_token1] = ACTIONS(93), + [ts_builtin_sym_end] = ACTIONS(95), + [aux_sym_preproc_if_token1] = ACTIONS(93), + [aux_sym_preproc_nothing_token1] = ACTIONS(93), + [sym_nothing] = ACTIONS(93), + [aux_sym_char_literal_token1] = ACTIONS(93), + [aux_sym_define_token1] = ACTIONS(93), + [sym_integer_literal] = ACTIONS(95), }, [16] = { - [sym_define] = STATE(26), - [sym_preproc_if] = STATE(26), - [sym_char_literal] = STATE(26), - [aux_sym_translation_unit_repeat1] = STATE(26), - [sym__top_level_item] = STATE(26), - [sym_preproc_include] = STATE(26), - [sym_preproc_nothing] = STATE(26), - [sym_string_literal] = STATE(26), - [sym_raw_string_literal] = ACTIONS(95), + [sym_define] = STATE(28), + [sym_preproc_if] = STATE(28), + [sym_string_literal] = STATE(28), + [sym_char_literal] = STATE(28), + [aux_sym_translation_unit_repeat1] = STATE(28), + [sym__top_level_item] = STATE(28), + [sym_preproc_include] = STATE(28), + [sym_undef] = STATE(28), + [sym_preproc_nothing] = STATE(28), + [sym_raw_string_literal] = ACTIONS(97), [aux_sym_preproc_include_token1] = ACTIONS(37), - [aux_sym_preproc_nothing_token1] = ACTIONS(39), - [aux_sym_char_literal_token1] = ACTIONS(41), - [aux_sym_preproc_if_token1] = ACTIONS(43), - [aux_sym_string_literal_token1] = ACTIONS(45), - [sym_nothing] = ACTIONS(97), - [sym_integer_literal] = ACTIONS(95), - [aux_sym_preproc_if_token2] = ACTIONS(99), - [aux_sym_define_token1] = ACTIONS(53), - [sym_comment] = ACTIONS(97), + [aux_sym_undef_token1] = ACTIONS(39), + [sym_comment] = ACTIONS(99), + [aux_sym_string_literal_token1] = ACTIONS(43), + [aux_sym_preproc_if_token1] = ACTIONS(45), + [aux_sym_preproc_nothing_token1] = ACTIONS(47), + [sym_nothing] = ACTIONS(99), + [aux_sym_char_literal_token1] = ACTIONS(51), + [aux_sym_preproc_if_token2] = ACTIONS(101), + [aux_sym_define_token1] = ACTIONS(55), + [sym_integer_literal] = ACTIONS(97), }, [17] = { - [sym_define] = STATE(45), - [sym_preproc_if] = STATE(45), - [sym_char_literal] = STATE(45), - [aux_sym_translation_unit_repeat1] = STATE(45), - [sym_preproc_elif] = STATE(29), - [sym_preproc_else] = STATE(28), - [aux_sym_preproc_if_repeat1] = STATE(29), - [sym__top_level_item] = STATE(45), - [sym_preproc_include] = STATE(45), - [sym_preproc_nothing] = STATE(45), - [sym_string_literal] = STATE(45), - [sym_raw_string_literal] = ACTIONS(101), - [aux_sym_preproc_include_token1] = ACTIONS(37), - [aux_sym_preproc_nothing_token1] = ACTIONS(39), - [aux_sym_char_literal_token1] = ACTIONS(41), - [aux_sym_preproc_if_token1] = ACTIONS(43), - [aux_sym_string_literal_token1] = ACTIONS(45), - [aux_sym_preproc_elif_token1] = ACTIONS(47), - [sym_nothing] = ACTIONS(103), - [sym_integer_literal] = ACTIONS(101), - [aux_sym_preproc_if_token2] = ACTIONS(105), - [aux_sym_define_token1] = ACTIONS(53), - [aux_sym_preproc_else_token1] = ACTIONS(55), - [sym_comment] = ACTIONS(103), + [aux_sym_preproc_if_token2] = ACTIONS(103), }, [18] = { - [aux_sym_preproc_if_token2] = ACTIONS(107), + [sym_define] = STATE(52), + [sym_preproc_if] = STATE(52), + [sym_string_literal] = STATE(52), + [sym_char_literal] = STATE(52), + [sym_preproc_elif] = STATE(31), + [sym_preproc_else] = STATE(30), + [aux_sym_translation_unit_repeat1] = STATE(52), + [sym__top_level_item] = STATE(52), + [sym_preproc_include] = STATE(52), + [sym_undef] = STATE(52), + [sym_preproc_nothing] = STATE(52), + [aux_sym_preproc_if_repeat1] = STATE(31), + [sym_raw_string_literal] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(37), + [aux_sym_undef_token1] = ACTIONS(39), + [sym_comment] = ACTIONS(107), + [aux_sym_string_literal_token1] = ACTIONS(43), + [aux_sym_preproc_if_token1] = ACTIONS(45), + [aux_sym_preproc_nothing_token1] = ACTIONS(47), + [aux_sym_preproc_elif_token1] = ACTIONS(49), + [sym_nothing] = ACTIONS(107), + [aux_sym_char_literal_token1] = ACTIONS(51), + [aux_sym_preproc_if_token2] = ACTIONS(109), + [aux_sym_define_token1] = ACTIONS(55), + [aux_sym_preproc_else_token1] = ACTIONS(57), + [sym_integer_literal] = ACTIONS(105), }, [19] = { - [sym_preproc_else] = STATE(28), - [aux_sym_preproc_if_repeat1] = STATE(30), - [sym_preproc_elif] = STATE(30), - [aux_sym_preproc_elif_token1] = ACTIONS(109), - [aux_sym_preproc_else_token1] = ACTIONS(111), - [aux_sym_preproc_if_token2] = ACTIONS(107), + [sym_preproc_else] = STATE(30), + [sym_preproc_elif] = STATE(32), + [aux_sym_preproc_if_repeat1] = STATE(32), + [aux_sym_preproc_elif_token1] = ACTIONS(111), + [aux_sym_preproc_else_token1] = ACTIONS(113), + [aux_sym_preproc_if_token2] = ACTIONS(103), }, [20] = { - [aux_sym_define_repeat1] = STATE(32), - [sym_preproc_continuation_line] = ACTIONS(113), - [sym_preproc_line] = ACTIONS(115), + [aux_sym_preproc_include_token1] = ACTIONS(115), + [sym_raw_string_literal] = ACTIONS(117), + [aux_sym_undef_token1] = ACTIONS(115), + [sym_comment] = ACTIONS(115), + [aux_sym_string_literal_token1] = ACTIONS(115), + [ts_builtin_sym_end] = ACTIONS(117), + [aux_sym_preproc_if_token1] = ACTIONS(115), + [aux_sym_preproc_nothing_token1] = ACTIONS(115), + [sym_nothing] = ACTIONS(115), + [aux_sym_char_literal_token1] = ACTIONS(115), + [aux_sym_define_token1] = ACTIONS(115), + [sym_integer_literal] = ACTIONS(117), }, [21] = { - [sym_define] = STATE(21), - [sym_preproc_if] = STATE(21), - [sym_char_literal] = STATE(21), - [aux_sym_translation_unit_repeat1] = STATE(21), - [sym__top_level_item] = STATE(21), - [sym_preproc_include] = STATE(21), - [sym_preproc_nothing] = STATE(21), - [sym_string_literal] = STATE(21), - [aux_sym_preproc_include_token1] = ACTIONS(117), - [sym_raw_string_literal] = ACTIONS(120), - [aux_sym_preproc_nothing_token1] = ACTIONS(123), - [ts_builtin_sym_end] = ACTIONS(126), - [aux_sym_char_literal_token1] = ACTIONS(128), - [aux_sym_preproc_if_token1] = ACTIONS(131), - [aux_sym_string_literal_token1] = ACTIONS(134), - [sym_nothing] = ACTIONS(137), - [sym_integer_literal] = ACTIONS(120), - [aux_sym_define_token1] = ACTIONS(140), - [sym_comment] = ACTIONS(137), + [aux_sym_define_repeat1] = STATE(34), + [sym_preproc_continuation_line] = ACTIONS(119), + [sym_preproc_line] = ACTIONS(121), }, [22] = { - [anon_sym_GT] = ACTIONS(143), + [aux_sym_define_repeat1] = STATE(36), + [sym_preproc_continuation_line] = ACTIONS(123), + [sym_preproc_line] = ACTIONS(125), }, [23] = { - [aux_sym_preproc_include_token1] = ACTIONS(145), - [sym_raw_string_literal] = ACTIONS(147), - [aux_sym_preproc_nothing_token1] = ACTIONS(145), - [ts_builtin_sym_end] = ACTIONS(147), - [aux_sym_char_literal_token1] = ACTIONS(145), - [aux_sym_preproc_if_token1] = ACTIONS(145), - [aux_sym_string_literal_token1] = ACTIONS(145), - [sym_nothing] = ACTIONS(145), - [sym_integer_literal] = ACTIONS(147), - [aux_sym_define_token1] = ACTIONS(145), - [sym_comment] = ACTIONS(145), + [sym_define] = STATE(23), + [sym_preproc_if] = STATE(23), + [sym_string_literal] = STATE(23), + [sym_char_literal] = STATE(23), + [aux_sym_translation_unit_repeat1] = STATE(23), + [sym__top_level_item] = STATE(23), + [sym_preproc_include] = STATE(23), + [sym_undef] = STATE(23), + [sym_preproc_nothing] = STATE(23), + [aux_sym_preproc_include_token1] = ACTIONS(127), + [sym_raw_string_literal] = ACTIONS(130), + [aux_sym_undef_token1] = ACTIONS(133), + [sym_comment] = ACTIONS(136), + [aux_sym_string_literal_token1] = ACTIONS(139), + [ts_builtin_sym_end] = ACTIONS(142), + [aux_sym_preproc_if_token1] = ACTIONS(144), + [aux_sym_preproc_nothing_token1] = ACTIONS(147), + [sym_nothing] = ACTIONS(136), + [aux_sym_char_literal_token1] = ACTIONS(150), + [aux_sym_define_token1] = ACTIONS(153), + [sym_integer_literal] = ACTIONS(130), }, [24] = { - [aux_sym_define_repeat1] = STATE(24), - [sym_preproc_continuation_line] = ACTIONS(149), - [sym_preproc_line] = ACTIONS(152), + [anon_sym_GT] = ACTIONS(156), }, [25] = { - [sym_define] = STATE(45), - [sym_preproc_if] = STATE(45), - [sym_char_literal] = STATE(45), - [aux_sym_translation_unit_repeat1] = STATE(45), - [sym__top_level_item] = STATE(45), - [sym_preproc_include] = STATE(45), - [sym_preproc_nothing] = STATE(45), - [sym_string_literal] = STATE(45), - [sym_raw_string_literal] = ACTIONS(101), - [aux_sym_preproc_include_token1] = ACTIONS(37), - [aux_sym_preproc_nothing_token1] = ACTIONS(39), - [aux_sym_char_literal_token1] = ACTIONS(41), - [aux_sym_preproc_if_token1] = ACTIONS(43), - [aux_sym_string_literal_token1] = ACTIONS(45), - [aux_sym_preproc_elif_token1] = ACTIONS(154), - [sym_nothing] = ACTIONS(103), - [sym_integer_literal] = ACTIONS(101), - [aux_sym_preproc_if_token2] = ACTIONS(154), - [aux_sym_define_token1] = ACTIONS(53), - [aux_sym_preproc_else_token1] = ACTIONS(154), - [sym_comment] = ACTIONS(103), + [anon_sym_LF] = ACTIONS(158), }, [26] = { - [sym_define] = STATE(45), - [sym_preproc_if] = STATE(45), - [sym_char_literal] = STATE(45), - [aux_sym_translation_unit_repeat1] = STATE(45), - [sym__top_level_item] = STATE(45), - [sym_preproc_include] = STATE(45), - [sym_preproc_nothing] = STATE(45), - [sym_string_literal] = STATE(45), - [sym_raw_string_literal] = ACTIONS(101), - [aux_sym_preproc_include_token1] = ACTIONS(37), - [aux_sym_preproc_nothing_token1] = ACTIONS(39), - [aux_sym_char_literal_token1] = ACTIONS(41), - [aux_sym_preproc_if_token1] = ACTIONS(43), - [aux_sym_string_literal_token1] = ACTIONS(45), - [sym_nothing] = ACTIONS(103), - [sym_integer_literal] = ACTIONS(101), - [aux_sym_preproc_if_token2] = ACTIONS(156), - [aux_sym_define_token1] = ACTIONS(53), - [sym_comment] = ACTIONS(103), + [aux_sym_define_repeat1] = STATE(34), + [sym_preproc_continuation_line] = ACTIONS(119), + [sym_preproc_line] = ACTIONS(160), }, [27] = { - [aux_sym_preproc_include_token1] = ACTIONS(158), - [sym_raw_string_literal] = ACTIONS(160), - [aux_sym_preproc_nothing_token1] = ACTIONS(158), - [ts_builtin_sym_end] = ACTIONS(160), - [aux_sym_char_literal_token1] = ACTIONS(158), - [aux_sym_preproc_if_token1] = ACTIONS(158), - [aux_sym_string_literal_token1] = ACTIONS(158), - [sym_nothing] = ACTIONS(158), - [sym_integer_literal] = ACTIONS(160), - [aux_sym_define_token1] = ACTIONS(158), - [sym_comment] = ACTIONS(158), + [sym_define] = STATE(52), + [sym_preproc_if] = STATE(52), + [sym_string_literal] = STATE(52), + [sym_char_literal] = STATE(52), + [aux_sym_translation_unit_repeat1] = STATE(52), + [sym__top_level_item] = STATE(52), + [sym_preproc_include] = STATE(52), + [sym_undef] = STATE(52), + [sym_preproc_nothing] = STATE(52), + [sym_raw_string_literal] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(37), + [aux_sym_undef_token1] = ACTIONS(39), + [sym_comment] = ACTIONS(107), + [aux_sym_string_literal_token1] = ACTIONS(43), + [aux_sym_preproc_if_token1] = ACTIONS(45), + [aux_sym_preproc_nothing_token1] = ACTIONS(47), + [aux_sym_preproc_elif_token1] = ACTIONS(162), + [sym_nothing] = ACTIONS(107), + [aux_sym_char_literal_token1] = ACTIONS(51), + [aux_sym_preproc_if_token2] = ACTIONS(162), + [aux_sym_define_token1] = ACTIONS(55), + [aux_sym_preproc_else_token1] = ACTIONS(162), + [sym_integer_literal] = ACTIONS(105), }, [28] = { - [aux_sym_preproc_if_token2] = ACTIONS(162), + [sym_define] = STATE(52), + [sym_preproc_if] = STATE(52), + [sym_string_literal] = STATE(52), + [sym_char_literal] = STATE(52), + [aux_sym_translation_unit_repeat1] = STATE(52), + [sym__top_level_item] = STATE(52), + [sym_preproc_include] = STATE(52), + [sym_undef] = STATE(52), + [sym_preproc_nothing] = STATE(52), + [sym_raw_string_literal] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(37), + [aux_sym_undef_token1] = ACTIONS(39), + [sym_comment] = ACTIONS(107), + [aux_sym_string_literal_token1] = ACTIONS(43), + [aux_sym_preproc_if_token1] = ACTIONS(45), + [aux_sym_preproc_nothing_token1] = ACTIONS(47), + [sym_nothing] = ACTIONS(107), + [aux_sym_char_literal_token1] = ACTIONS(51), + [aux_sym_preproc_if_token2] = ACTIONS(164), + [aux_sym_define_token1] = ACTIONS(55), + [sym_integer_literal] = ACTIONS(105), }, [29] = { - [sym_preproc_else] = STATE(35), - [aux_sym_preproc_if_repeat1] = STATE(30), - [sym_preproc_elif] = STATE(30), - [aux_sym_preproc_elif_token1] = ACTIONS(109), - [aux_sym_preproc_else_token1] = ACTIONS(111), - [aux_sym_preproc_if_token2] = ACTIONS(162), + [aux_sym_preproc_include_token1] = ACTIONS(166), + [sym_raw_string_literal] = ACTIONS(168), + [aux_sym_undef_token1] = ACTIONS(166), + [sym_comment] = ACTIONS(166), + [aux_sym_string_literal_token1] = ACTIONS(166), + [ts_builtin_sym_end] = ACTIONS(168), + [aux_sym_preproc_if_token1] = ACTIONS(166), + [aux_sym_preproc_nothing_token1] = ACTIONS(166), + [sym_nothing] = ACTIONS(166), + [aux_sym_char_literal_token1] = ACTIONS(166), + [aux_sym_define_token1] = ACTIONS(166), + [sym_integer_literal] = ACTIONS(168), }, [30] = { - [aux_sym_preproc_if_repeat1] = STATE(30), - [sym_preproc_elif] = STATE(30), - [aux_sym_preproc_elif_token1] = ACTIONS(164), - [aux_sym_preproc_else_token1] = ACTIONS(167), - [aux_sym_preproc_if_token2] = ACTIONS(167), + [aux_sym_preproc_if_token2] = ACTIONS(170), }, [31] = { - [anon_sym_LF] = ACTIONS(169), + [sym_preproc_else] = STATE(41), + [sym_preproc_elif] = STATE(32), + [aux_sym_preproc_if_repeat1] = STATE(32), + [aux_sym_preproc_elif_token1] = ACTIONS(111), + [aux_sym_preproc_else_token1] = ACTIONS(113), + [aux_sym_preproc_if_token2] = ACTIONS(170), }, [32] = { - [aux_sym_define_repeat1] = STATE(24), - [sym_preproc_continuation_line] = ACTIONS(81), - [sym_preproc_line] = ACTIONS(171), + [sym_preproc_elif] = STATE(32), + [aux_sym_preproc_if_repeat1] = STATE(32), + [aux_sym_preproc_elif_token1] = ACTIONS(172), + [aux_sym_preproc_else_token1] = ACTIONS(175), + [aux_sym_preproc_if_token2] = ACTIONS(175), }, [33] = { - [aux_sym_preproc_include_token1] = ACTIONS(173), - [sym_raw_string_literal] = ACTIONS(175), - [aux_sym_preproc_nothing_token1] = ACTIONS(173), - [ts_builtin_sym_end] = ACTIONS(175), - [aux_sym_char_literal_token1] = ACTIONS(173), - [aux_sym_preproc_if_token1] = ACTIONS(173), - [aux_sym_string_literal_token1] = ACTIONS(173), - [sym_nothing] = ACTIONS(173), - [sym_integer_literal] = ACTIONS(175), - [aux_sym_define_token1] = ACTIONS(173), - [sym_comment] = ACTIONS(173), - }, - [34] = { [aux_sym_preproc_include_token1] = ACTIONS(177), [sym_raw_string_literal] = ACTIONS(179), - [aux_sym_preproc_nothing_token1] = ACTIONS(177), - [ts_builtin_sym_end] = ACTIONS(179), - [aux_sym_char_literal_token1] = ACTIONS(177), - [aux_sym_preproc_if_token1] = ACTIONS(177), - [aux_sym_string_literal_token1] = ACTIONS(177), - [sym_nothing] = ACTIONS(177), - [sym_integer_literal] = ACTIONS(179), - [aux_sym_define_token1] = ACTIONS(177), + [aux_sym_undef_token1] = ACTIONS(177), [sym_comment] = ACTIONS(177), + [aux_sym_string_literal_token1] = ACTIONS(177), + [ts_builtin_sym_end] = ACTIONS(179), + [aux_sym_preproc_if_token1] = ACTIONS(177), + [aux_sym_preproc_nothing_token1] = ACTIONS(177), + [sym_nothing] = ACTIONS(177), + [aux_sym_char_literal_token1] = ACTIONS(177), + [aux_sym_define_token1] = ACTIONS(177), + [sym_integer_literal] = ACTIONS(179), + }, + [34] = { + [aux_sym_define_repeat1] = STATE(34), + [sym_preproc_continuation_line] = ACTIONS(181), + [sym_preproc_line] = ACTIONS(184), }, [35] = { - [aux_sym_preproc_if_token2] = ACTIONS(181), + [anon_sym_LF] = ACTIONS(186), }, [36] = { - [aux_sym_preproc_include_token1] = ACTIONS(183), - [sym_raw_string_literal] = ACTIONS(185), - [aux_sym_preproc_nothing_token1] = ACTIONS(183), - [ts_builtin_sym_end] = ACTIONS(185), - [aux_sym_char_literal_token1] = ACTIONS(183), - [aux_sym_preproc_if_token1] = ACTIONS(183), - [aux_sym_string_literal_token1] = ACTIONS(183), - [sym_nothing] = ACTIONS(183), - [sym_integer_literal] = ACTIONS(185), - [aux_sym_define_token1] = ACTIONS(183), - [sym_comment] = ACTIONS(183), + [aux_sym_define_repeat1] = STATE(34), + [sym_preproc_continuation_line] = ACTIONS(119), + [sym_preproc_line] = ACTIONS(188), }, [37] = { - [anon_sym_LF] = ACTIONS(187), + [aux_sym_preproc_include_token1] = ACTIONS(190), + [sym_raw_string_literal] = ACTIONS(192), + [aux_sym_undef_token1] = ACTIONS(190), + [sym_comment] = ACTIONS(190), + [aux_sym_string_literal_token1] = ACTIONS(190), + [ts_builtin_sym_end] = ACTIONS(192), + [aux_sym_preproc_if_token1] = ACTIONS(190), + [aux_sym_preproc_nothing_token1] = ACTIONS(190), + [sym_nothing] = ACTIONS(190), + [aux_sym_char_literal_token1] = ACTIONS(190), + [aux_sym_define_token1] = ACTIONS(190), + [sym_integer_literal] = ACTIONS(192), }, [38] = { - [aux_sym_preproc_include_token1] = ACTIONS(189), - [sym_raw_string_literal] = ACTIONS(191), - [aux_sym_preproc_nothing_token1] = ACTIONS(189), - [ts_builtin_sym_end] = ACTIONS(191), - [aux_sym_char_literal_token1] = ACTIONS(189), - [aux_sym_preproc_if_token1] = ACTIONS(189), - [aux_sym_string_literal_token1] = ACTIONS(189), - [sym_nothing] = ACTIONS(189), - [sym_integer_literal] = ACTIONS(191), - [aux_sym_define_token1] = ACTIONS(189), - [sym_comment] = ACTIONS(189), + [aux_sym_preproc_include_token1] = ACTIONS(194), + [sym_raw_string_literal] = ACTIONS(196), + [aux_sym_undef_token1] = ACTIONS(194), + [sym_comment] = ACTIONS(194), + [aux_sym_string_literal_token1] = ACTIONS(194), + [ts_builtin_sym_end] = ACTIONS(196), + [aux_sym_preproc_if_token1] = ACTIONS(194), + [aux_sym_preproc_nothing_token1] = ACTIONS(194), + [sym_nothing] = ACTIONS(194), + [aux_sym_char_literal_token1] = ACTIONS(194), + [aux_sym_define_token1] = ACTIONS(194), + [sym_integer_literal] = ACTIONS(196), }, [39] = { - [aux_sym_preproc_include_token1] = ACTIONS(193), - [sym_raw_string_literal] = ACTIONS(195), - [aux_sym_preproc_nothing_token1] = ACTIONS(193), - [ts_builtin_sym_end] = ACTIONS(195), - [aux_sym_char_literal_token1] = ACTIONS(193), - [aux_sym_preproc_if_token1] = ACTIONS(193), - [aux_sym_string_literal_token1] = ACTIONS(193), - [sym_nothing] = ACTIONS(193), - [sym_integer_literal] = ACTIONS(195), - [aux_sym_define_token1] = ACTIONS(193), - [sym_comment] = ACTIONS(193), + [anon_sym_LF] = ACTIONS(198), }, [40] = { + [aux_sym_preproc_include_token1] = ACTIONS(200), + [sym_raw_string_literal] = ACTIONS(202), + [aux_sym_undef_token1] = ACTIONS(200), + [sym_comment] = ACTIONS(200), + [aux_sym_string_literal_token1] = ACTIONS(200), + [ts_builtin_sym_end] = ACTIONS(202), + [aux_sym_preproc_if_token1] = ACTIONS(200), + [aux_sym_preproc_nothing_token1] = ACTIONS(200), + [sym_nothing] = ACTIONS(200), + [aux_sym_char_literal_token1] = ACTIONS(200), + [aux_sym_define_token1] = ACTIONS(200), + [sym_integer_literal] = ACTIONS(202), + }, + [41] = { + [aux_sym_preproc_if_token2] = ACTIONS(204), + }, + [42] = { + [aux_sym_preproc_include_token1] = ACTIONS(206), + [sym_raw_string_literal] = ACTIONS(208), + [aux_sym_undef_token1] = ACTIONS(206), + [sym_comment] = ACTIONS(206), + [aux_sym_string_literal_token1] = ACTIONS(206), + [ts_builtin_sym_end] = ACTIONS(208), + [aux_sym_preproc_if_token1] = ACTIONS(206), + [aux_sym_preproc_nothing_token1] = ACTIONS(206), + [sym_nothing] = ACTIONS(206), + [aux_sym_char_literal_token1] = ACTIONS(206), + [aux_sym_define_token1] = ACTIONS(206), + [sym_integer_literal] = ACTIONS(208), + }, + [43] = { + [anon_sym_LF] = ACTIONS(210), + }, + [44] = { + [aux_sym_preproc_include_token1] = ACTIONS(212), + [sym_raw_string_literal] = ACTIONS(214), + [aux_sym_undef_token1] = ACTIONS(212), + [sym_comment] = ACTIONS(212), + [aux_sym_string_literal_token1] = ACTIONS(212), + [ts_builtin_sym_end] = ACTIONS(214), + [aux_sym_preproc_if_token1] = ACTIONS(212), + [aux_sym_preproc_nothing_token1] = ACTIONS(212), + [sym_nothing] = ACTIONS(212), + [aux_sym_char_literal_token1] = ACTIONS(212), + [aux_sym_define_token1] = ACTIONS(212), + [sym_integer_literal] = ACTIONS(214), + }, + [45] = { + [aux_sym_preproc_include_token1] = ACTIONS(216), + [sym_raw_string_literal] = ACTIONS(218), + [aux_sym_undef_token1] = ACTIONS(216), + [sym_comment] = ACTIONS(216), + [aux_sym_string_literal_token1] = ACTIONS(216), + [ts_builtin_sym_end] = ACTIONS(218), + [aux_sym_preproc_if_token1] = ACTIONS(216), + [aux_sym_preproc_nothing_token1] = ACTIONS(216), + [sym_nothing] = ACTIONS(216), + [aux_sym_char_literal_token1] = ACTIONS(216), + [aux_sym_define_token1] = ACTIONS(216), + [sym_integer_literal] = ACTIONS(218), + }, + [46] = { + [aux_sym_preproc_include_token1] = ACTIONS(220), + [sym_raw_string_literal] = ACTIONS(222), + [aux_sym_undef_token1] = ACTIONS(220), + [sym_comment] = ACTIONS(220), + [aux_sym_string_literal_token1] = ACTIONS(220), + [ts_builtin_sym_end] = ACTIONS(222), + [aux_sym_preproc_if_token1] = ACTIONS(220), + [aux_sym_preproc_nothing_token1] = ACTIONS(220), + [sym_nothing] = ACTIONS(220), + [aux_sym_char_literal_token1] = ACTIONS(220), + [aux_sym_define_token1] = ACTIONS(220), + [sym_integer_literal] = ACTIONS(222), + }, + [47] = { [sym_raw_string_literal] = ACTIONS(33), - [aux_sym_preproc_nothing_token1] = ACTIONS(31), - [sym_integer_literal] = ACTIONS(33), + [aux_sym_undef_token1] = ACTIONS(31), + [aux_sym_char_literal_token1] = ACTIONS(31), [aux_sym_preproc_if_token2] = ACTIONS(31), [aux_sym_define_token1] = ACTIONS(31), [aux_sym_preproc_else_token1] = ACTIONS(31), [aux_sym_preproc_include_token1] = ACTIONS(31), - [aux_sym_char_literal_token1] = ACTIONS(31), - [aux_sym_preproc_if_token1] = ACTIONS(31), + [sym_comment] = ACTIONS(31), [aux_sym_string_literal_token1] = ACTIONS(31), + [aux_sym_preproc_if_token1] = ACTIONS(31), + [aux_sym_preproc_nothing_token1] = ACTIONS(31), [aux_sym_preproc_elif_token1] = ACTIONS(31), [sym_nothing] = ACTIONS(31), - [sym_comment] = ACTIONS(31), + [sym_integer_literal] = ACTIONS(33), }, - [41] = { - [sym_raw_string_literal] = ACTIONS(59), - [aux_sym_preproc_nothing_token1] = ACTIONS(57), - [sym_integer_literal] = ACTIONS(59), - [aux_sym_preproc_if_token2] = ACTIONS(57), - [aux_sym_define_token1] = ACTIONS(57), - [aux_sym_preproc_else_token1] = ACTIONS(57), - [aux_sym_preproc_include_token1] = ACTIONS(57), - [aux_sym_char_literal_token1] = ACTIONS(57), - [aux_sym_preproc_if_token1] = ACTIONS(57), - [aux_sym_string_literal_token1] = ACTIONS(57), - [aux_sym_preproc_elif_token1] = ACTIONS(57), - [sym_nothing] = ACTIONS(57), - [sym_comment] = ACTIONS(57), + [48] = { + [sym_raw_string_literal] = ACTIONS(65), + [aux_sym_undef_token1] = ACTIONS(63), + [aux_sym_char_literal_token1] = ACTIONS(63), + [aux_sym_preproc_if_token2] = ACTIONS(63), + [aux_sym_define_token1] = ACTIONS(63), + [aux_sym_preproc_else_token1] = ACTIONS(63), + [aux_sym_preproc_include_token1] = ACTIONS(63), + [sym_comment] = ACTIONS(63), + [aux_sym_string_literal_token1] = ACTIONS(63), + [aux_sym_preproc_if_token1] = ACTIONS(63), + [aux_sym_preproc_nothing_token1] = ACTIONS(63), + [aux_sym_preproc_elif_token1] = ACTIONS(63), + [sym_nothing] = ACTIONS(63), + [sym_integer_literal] = ACTIONS(65), }, - [42] = { - [sym_raw_string_literal] = ACTIONS(73), - [aux_sym_preproc_nothing_token1] = ACTIONS(71), - [sym_integer_literal] = ACTIONS(73), - [aux_sym_preproc_if_token2] = ACTIONS(71), - [aux_sym_define_token1] = ACTIONS(71), - [aux_sym_preproc_else_token1] = ACTIONS(71), - [aux_sym_preproc_include_token1] = ACTIONS(71), - [aux_sym_char_literal_token1] = ACTIONS(71), - [aux_sym_preproc_if_token1] = ACTIONS(71), - [aux_sym_string_literal_token1] = ACTIONS(71), - [aux_sym_preproc_elif_token1] = ACTIONS(71), - [sym_nothing] = ACTIONS(71), - [sym_comment] = ACTIONS(71), - }, - [43] = { + [49] = { [sym_raw_string_literal] = ACTIONS(79), - [aux_sym_preproc_nothing_token1] = ACTIONS(77), - [sym_integer_literal] = ACTIONS(79), + [aux_sym_undef_token1] = ACTIONS(77), + [aux_sym_char_literal_token1] = ACTIONS(77), [aux_sym_preproc_if_token2] = ACTIONS(77), [aux_sym_define_token1] = ACTIONS(77), [aux_sym_preproc_else_token1] = ACTIONS(77), [aux_sym_preproc_include_token1] = ACTIONS(77), - [aux_sym_char_literal_token1] = ACTIONS(77), - [aux_sym_preproc_if_token1] = ACTIONS(77), + [sym_comment] = ACTIONS(77), [aux_sym_string_literal_token1] = ACTIONS(77), + [aux_sym_preproc_if_token1] = ACTIONS(77), + [aux_sym_preproc_nothing_token1] = ACTIONS(77), [aux_sym_preproc_elif_token1] = ACTIONS(77), [sym_nothing] = ACTIONS(77), - [sym_comment] = ACTIONS(77), + [sym_integer_literal] = ACTIONS(79), }, - [44] = { - [sym_raw_string_literal] = ACTIONS(93), - [aux_sym_preproc_nothing_token1] = ACTIONS(91), - [sym_integer_literal] = ACTIONS(93), - [aux_sym_preproc_if_token2] = ACTIONS(91), - [aux_sym_define_token1] = ACTIONS(91), - [aux_sym_preproc_else_token1] = ACTIONS(91), - [aux_sym_preproc_include_token1] = ACTIONS(91), - [aux_sym_char_literal_token1] = ACTIONS(91), - [aux_sym_preproc_if_token1] = ACTIONS(91), - [aux_sym_string_literal_token1] = ACTIONS(91), - [aux_sym_preproc_elif_token1] = ACTIONS(91), - [sym_nothing] = ACTIONS(91), - [sym_comment] = ACTIONS(91), + [50] = { + [sym_raw_string_literal] = ACTIONS(95), + [aux_sym_undef_token1] = ACTIONS(93), + [aux_sym_char_literal_token1] = ACTIONS(93), + [aux_sym_preproc_if_token2] = ACTIONS(93), + [aux_sym_define_token1] = ACTIONS(93), + [aux_sym_preproc_else_token1] = ACTIONS(93), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [sym_comment] = ACTIONS(93), + [aux_sym_string_literal_token1] = ACTIONS(93), + [aux_sym_preproc_if_token1] = ACTIONS(93), + [aux_sym_preproc_nothing_token1] = ACTIONS(93), + [aux_sym_preproc_elif_token1] = ACTIONS(93), + [sym_nothing] = ACTIONS(93), + [sym_integer_literal] = ACTIONS(95), }, - [45] = { - [sym_define] = STATE(45), - [sym_preproc_if] = STATE(45), - [sym_char_literal] = STATE(45), - [aux_sym_translation_unit_repeat1] = STATE(45), - [sym__top_level_item] = STATE(45), - [sym_preproc_include] = STATE(45), - [sym_preproc_nothing] = STATE(45), - [sym_string_literal] = STATE(45), - [sym_raw_string_literal] = ACTIONS(197), - [aux_sym_preproc_nothing_token1] = ACTIONS(200), - [sym_integer_literal] = ACTIONS(197), - [aux_sym_preproc_if_token2] = ACTIONS(203), - [aux_sym_define_token1] = ACTIONS(205), - [aux_sym_preproc_else_token1] = ACTIONS(203), - [aux_sym_preproc_include_token1] = ACTIONS(208), - [aux_sym_char_literal_token1] = ACTIONS(211), - [aux_sym_preproc_if_token1] = ACTIONS(214), - [aux_sym_string_literal_token1] = ACTIONS(217), - [aux_sym_preproc_elif_token1] = ACTIONS(203), - [sym_nothing] = ACTIONS(220), - [sym_comment] = ACTIONS(220), + [51] = { + [sym_raw_string_literal] = ACTIONS(117), + [aux_sym_undef_token1] = ACTIONS(115), + [aux_sym_char_literal_token1] = ACTIONS(115), + [aux_sym_preproc_if_token2] = ACTIONS(115), + [aux_sym_define_token1] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(115), + [aux_sym_preproc_include_token1] = ACTIONS(115), + [sym_comment] = ACTIONS(115), + [aux_sym_string_literal_token1] = ACTIONS(115), + [aux_sym_preproc_if_token1] = ACTIONS(115), + [aux_sym_preproc_nothing_token1] = ACTIONS(115), + [aux_sym_preproc_elif_token1] = ACTIONS(115), + [sym_nothing] = ACTIONS(115), + [sym_integer_literal] = ACTIONS(117), }, - [46] = { - [sym_raw_string_literal] = ACTIONS(147), - [aux_sym_preproc_nothing_token1] = ACTIONS(145), - [sym_integer_literal] = ACTIONS(147), - [aux_sym_preproc_if_token2] = ACTIONS(145), - [aux_sym_define_token1] = ACTIONS(145), - [aux_sym_preproc_else_token1] = ACTIONS(145), - [aux_sym_preproc_include_token1] = ACTIONS(145), - [aux_sym_char_literal_token1] = ACTIONS(145), - [aux_sym_preproc_if_token1] = ACTIONS(145), - [aux_sym_string_literal_token1] = ACTIONS(145), - [aux_sym_preproc_elif_token1] = ACTIONS(145), - [sym_nothing] = ACTIONS(145), - [sym_comment] = ACTIONS(145), + [52] = { + [sym_define] = STATE(52), + [sym_preproc_if] = STATE(52), + [sym_string_literal] = STATE(52), + [sym_char_literal] = STATE(52), + [aux_sym_translation_unit_repeat1] = STATE(52), + [sym__top_level_item] = STATE(52), + [sym_preproc_include] = STATE(52), + [sym_undef] = STATE(52), + [sym_preproc_nothing] = STATE(52), + [sym_raw_string_literal] = ACTIONS(224), + [aux_sym_undef_token1] = ACTIONS(227), + [aux_sym_char_literal_token1] = ACTIONS(230), + [aux_sym_preproc_if_token2] = ACTIONS(233), + [aux_sym_define_token1] = ACTIONS(235), + [aux_sym_preproc_else_token1] = ACTIONS(233), + [aux_sym_preproc_include_token1] = ACTIONS(238), + [sym_comment] = ACTIONS(241), + [aux_sym_string_literal_token1] = ACTIONS(244), + [aux_sym_preproc_if_token1] = ACTIONS(247), + [aux_sym_preproc_nothing_token1] = ACTIONS(250), + [aux_sym_preproc_elif_token1] = ACTIONS(233), + [sym_nothing] = ACTIONS(241), + [sym_integer_literal] = ACTIONS(224), }, - [47] = { - [sym_raw_string_literal] = ACTIONS(160), - [aux_sym_preproc_nothing_token1] = ACTIONS(158), - [sym_integer_literal] = ACTIONS(160), - [aux_sym_preproc_if_token2] = ACTIONS(158), - [aux_sym_define_token1] = ACTIONS(158), - [aux_sym_preproc_else_token1] = ACTIONS(158), - [aux_sym_preproc_include_token1] = ACTIONS(158), - [aux_sym_char_literal_token1] = ACTIONS(158), - [aux_sym_preproc_if_token1] = ACTIONS(158), - [aux_sym_string_literal_token1] = ACTIONS(158), - [aux_sym_preproc_elif_token1] = ACTIONS(158), - [sym_nothing] = ACTIONS(158), - [sym_comment] = ACTIONS(158), + [53] = { + [sym_raw_string_literal] = ACTIONS(168), + [aux_sym_undef_token1] = ACTIONS(166), + [aux_sym_char_literal_token1] = ACTIONS(166), + [aux_sym_preproc_if_token2] = ACTIONS(166), + [aux_sym_define_token1] = ACTIONS(166), + [aux_sym_preproc_else_token1] = ACTIONS(166), + [aux_sym_preproc_include_token1] = ACTIONS(166), + [sym_comment] = ACTIONS(166), + [aux_sym_string_literal_token1] = ACTIONS(166), + [aux_sym_preproc_if_token1] = ACTIONS(166), + [aux_sym_preproc_nothing_token1] = ACTIONS(166), + [aux_sym_preproc_elif_token1] = ACTIONS(166), + [sym_nothing] = ACTIONS(166), + [sym_integer_literal] = ACTIONS(168), }, - [48] = { - [sym_raw_string_literal] = ACTIONS(175), - [aux_sym_preproc_nothing_token1] = ACTIONS(173), - [sym_integer_literal] = ACTIONS(175), - [aux_sym_preproc_if_token2] = ACTIONS(173), - [aux_sym_define_token1] = ACTIONS(173), - [aux_sym_preproc_else_token1] = ACTIONS(173), - [aux_sym_preproc_include_token1] = ACTIONS(173), - [aux_sym_char_literal_token1] = ACTIONS(173), - [aux_sym_preproc_if_token1] = ACTIONS(173), - [aux_sym_string_literal_token1] = ACTIONS(173), - [aux_sym_preproc_elif_token1] = ACTIONS(173), - [sym_nothing] = ACTIONS(173), - [sym_comment] = ACTIONS(173), - }, - [49] = { + [54] = { [sym_raw_string_literal] = ACTIONS(179), - [aux_sym_preproc_nothing_token1] = ACTIONS(177), - [sym_integer_literal] = ACTIONS(179), + [aux_sym_undef_token1] = ACTIONS(177), + [aux_sym_char_literal_token1] = ACTIONS(177), [aux_sym_preproc_if_token2] = ACTIONS(177), [aux_sym_define_token1] = ACTIONS(177), [aux_sym_preproc_else_token1] = ACTIONS(177), [aux_sym_preproc_include_token1] = ACTIONS(177), - [aux_sym_char_literal_token1] = ACTIONS(177), - [aux_sym_preproc_if_token1] = ACTIONS(177), + [sym_comment] = ACTIONS(177), [aux_sym_string_literal_token1] = ACTIONS(177), + [aux_sym_preproc_if_token1] = ACTIONS(177), + [aux_sym_preproc_nothing_token1] = ACTIONS(177), [aux_sym_preproc_elif_token1] = ACTIONS(177), [sym_nothing] = ACTIONS(177), - [sym_comment] = ACTIONS(177), - }, - [50] = { - [sym_raw_string_literal] = ACTIONS(185), - [aux_sym_preproc_nothing_token1] = ACTIONS(183), - [sym_integer_literal] = ACTIONS(185), - [aux_sym_preproc_if_token2] = ACTIONS(183), - [aux_sym_define_token1] = ACTIONS(183), - [aux_sym_preproc_else_token1] = ACTIONS(183), - [aux_sym_preproc_include_token1] = ACTIONS(183), - [aux_sym_char_literal_token1] = ACTIONS(183), - [aux_sym_preproc_if_token1] = ACTIONS(183), - [aux_sym_string_literal_token1] = ACTIONS(183), - [aux_sym_preproc_elif_token1] = ACTIONS(183), - [sym_nothing] = ACTIONS(183), - [sym_comment] = ACTIONS(183), - }, - [51] = { - [sym_raw_string_literal] = ACTIONS(191), - [aux_sym_preproc_nothing_token1] = ACTIONS(189), - [sym_integer_literal] = ACTIONS(191), - [aux_sym_preproc_if_token2] = ACTIONS(189), - [aux_sym_define_token1] = ACTIONS(189), - [aux_sym_preproc_else_token1] = ACTIONS(189), - [aux_sym_preproc_include_token1] = ACTIONS(189), - [aux_sym_char_literal_token1] = ACTIONS(189), - [aux_sym_preproc_if_token1] = ACTIONS(189), - [aux_sym_string_literal_token1] = ACTIONS(189), - [aux_sym_preproc_elif_token1] = ACTIONS(189), - [sym_nothing] = ACTIONS(189), - [sym_comment] = ACTIONS(189), - }, - [52] = { - [sym_raw_string_literal] = ACTIONS(195), - [aux_sym_preproc_nothing_token1] = ACTIONS(193), - [sym_integer_literal] = ACTIONS(195), - [aux_sym_preproc_if_token2] = ACTIONS(193), - [aux_sym_define_token1] = ACTIONS(193), - [aux_sym_preproc_else_token1] = ACTIONS(193), - [aux_sym_preproc_include_token1] = ACTIONS(193), - [aux_sym_char_literal_token1] = ACTIONS(193), - [aux_sym_preproc_if_token1] = ACTIONS(193), - [aux_sym_string_literal_token1] = ACTIONS(193), - [aux_sym_preproc_elif_token1] = ACTIONS(193), - [sym_nothing] = ACTIONS(193), - [sym_comment] = ACTIONS(193), - }, - [53] = { - [sym_string_literal] = STATE(42), - [sym_identifier] = ACTIONS(223), - [anon_sym_LT] = ACTIONS(225), - [aux_sym_string_literal_token1] = ACTIONS(227), - }, - [54] = { - [aux_sym_define_repeat1] = STATE(56), - [sym_preproc_continuation_line] = ACTIONS(229), - [sym_preproc_line] = ACTIONS(231), + [sym_integer_literal] = ACTIONS(179), }, [55] = { - [sym_define] = STATE(57), - [sym_preproc_if] = STATE(57), - [sym_char_literal] = STATE(57), - [aux_sym_translation_unit_repeat1] = STATE(57), - [sym__top_level_item] = STATE(57), - [sym_preproc_include] = STATE(57), - [sym_preproc_nothing] = STATE(57), - [sym_string_literal] = STATE(57), - [sym_preproc_elif] = STATE(59), - [sym_preproc_else] = STATE(58), - [aux_sym_preproc_if_repeat1] = STATE(59), - [sym_raw_string_literal] = ACTIONS(233), - [aux_sym_preproc_nothing_token1] = ACTIONS(39), - [sym_integer_literal] = ACTIONS(233), - [aux_sym_preproc_if_token2] = ACTIONS(235), - [aux_sym_define_token1] = ACTIONS(53), - [aux_sym_preproc_else_token1] = ACTIONS(55), - [aux_sym_preproc_include_token1] = ACTIONS(37), - [aux_sym_char_literal_token1] = ACTIONS(41), - [aux_sym_preproc_if_token1] = ACTIONS(43), - [aux_sym_string_literal_token1] = ACTIONS(45), - [aux_sym_preproc_elif_token1] = ACTIONS(47), - [sym_nothing] = ACTIONS(237), - [sym_comment] = ACTIONS(237), + [sym_raw_string_literal] = ACTIONS(192), + [aux_sym_undef_token1] = ACTIONS(190), + [aux_sym_char_literal_token1] = ACTIONS(190), + [aux_sym_preproc_if_token2] = ACTIONS(190), + [aux_sym_define_token1] = ACTIONS(190), + [aux_sym_preproc_else_token1] = ACTIONS(190), + [aux_sym_preproc_include_token1] = ACTIONS(190), + [sym_comment] = ACTIONS(190), + [aux_sym_string_literal_token1] = ACTIONS(190), + [aux_sym_preproc_if_token1] = ACTIONS(190), + [aux_sym_preproc_nothing_token1] = ACTIONS(190), + [aux_sym_preproc_elif_token1] = ACTIONS(190), + [sym_nothing] = ACTIONS(190), + [sym_integer_literal] = ACTIONS(192), }, [56] = { - [aux_sym_define_repeat1] = STATE(24), - [sym_preproc_continuation_line] = ACTIONS(81), - [sym_preproc_line] = ACTIONS(239), + [sym_raw_string_literal] = ACTIONS(196), + [aux_sym_undef_token1] = ACTIONS(194), + [aux_sym_char_literal_token1] = ACTIONS(194), + [aux_sym_preproc_if_token2] = ACTIONS(194), + [aux_sym_define_token1] = ACTIONS(194), + [aux_sym_preproc_else_token1] = ACTIONS(194), + [aux_sym_preproc_include_token1] = ACTIONS(194), + [sym_comment] = ACTIONS(194), + [aux_sym_string_literal_token1] = ACTIONS(194), + [aux_sym_preproc_if_token1] = ACTIONS(194), + [aux_sym_preproc_nothing_token1] = ACTIONS(194), + [aux_sym_preproc_elif_token1] = ACTIONS(194), + [sym_nothing] = ACTIONS(194), + [sym_integer_literal] = ACTIONS(196), }, [57] = { - [sym_define] = STATE(45), - [sym_preproc_if] = STATE(45), - [sym_char_literal] = STATE(45), - [aux_sym_translation_unit_repeat1] = STATE(45), - [sym__top_level_item] = STATE(45), - [sym_preproc_include] = STATE(45), - [sym_preproc_nothing] = STATE(45), - [sym_string_literal] = STATE(45), - [sym_preproc_elif] = STATE(62), - [sym_preproc_else] = STATE(61), - [aux_sym_preproc_if_repeat1] = STATE(62), - [sym_raw_string_literal] = ACTIONS(101), - [aux_sym_preproc_nothing_token1] = ACTIONS(39), - [sym_integer_literal] = ACTIONS(101), - [aux_sym_preproc_if_token2] = ACTIONS(241), - [aux_sym_define_token1] = ACTIONS(53), - [aux_sym_preproc_else_token1] = ACTIONS(55), - [aux_sym_preproc_include_token1] = ACTIONS(37), - [aux_sym_char_literal_token1] = ACTIONS(41), - [aux_sym_preproc_if_token1] = ACTIONS(43), - [aux_sym_string_literal_token1] = ACTIONS(45), - [aux_sym_preproc_elif_token1] = ACTIONS(47), - [sym_nothing] = ACTIONS(103), - [sym_comment] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(202), + [aux_sym_undef_token1] = ACTIONS(200), + [aux_sym_char_literal_token1] = ACTIONS(200), + [aux_sym_preproc_if_token2] = ACTIONS(200), + [aux_sym_define_token1] = ACTIONS(200), + [aux_sym_preproc_else_token1] = ACTIONS(200), + [aux_sym_preproc_include_token1] = ACTIONS(200), + [sym_comment] = ACTIONS(200), + [aux_sym_string_literal_token1] = ACTIONS(200), + [aux_sym_preproc_if_token1] = ACTIONS(200), + [aux_sym_preproc_nothing_token1] = ACTIONS(200), + [aux_sym_preproc_elif_token1] = ACTIONS(200), + [sym_nothing] = ACTIONS(200), + [sym_integer_literal] = ACTIONS(202), }, [58] = { - [aux_sym_preproc_if_token2] = ACTIONS(243), + [sym_raw_string_literal] = ACTIONS(208), + [aux_sym_undef_token1] = ACTIONS(206), + [aux_sym_char_literal_token1] = ACTIONS(206), + [aux_sym_preproc_if_token2] = ACTIONS(206), + [aux_sym_define_token1] = ACTIONS(206), + [aux_sym_preproc_else_token1] = ACTIONS(206), + [aux_sym_preproc_include_token1] = ACTIONS(206), + [sym_comment] = ACTIONS(206), + [aux_sym_string_literal_token1] = ACTIONS(206), + [aux_sym_preproc_if_token1] = ACTIONS(206), + [aux_sym_preproc_nothing_token1] = ACTIONS(206), + [aux_sym_preproc_elif_token1] = ACTIONS(206), + [sym_nothing] = ACTIONS(206), + [sym_integer_literal] = ACTIONS(208), }, [59] = { - [sym_preproc_else] = STATE(61), - [aux_sym_preproc_if_repeat1] = STATE(30), - [sym_preproc_elif] = STATE(30), - [aux_sym_preproc_elif_token1] = ACTIONS(109), - [aux_sym_preproc_if_token2] = ACTIONS(243), - [aux_sym_preproc_else_token1] = ACTIONS(111), + [sym_raw_string_literal] = ACTIONS(214), + [aux_sym_undef_token1] = ACTIONS(212), + [aux_sym_char_literal_token1] = ACTIONS(212), + [aux_sym_preproc_if_token2] = ACTIONS(212), + [aux_sym_define_token1] = ACTIONS(212), + [aux_sym_preproc_else_token1] = ACTIONS(212), + [aux_sym_preproc_include_token1] = ACTIONS(212), + [sym_comment] = ACTIONS(212), + [aux_sym_string_literal_token1] = ACTIONS(212), + [aux_sym_preproc_if_token1] = ACTIONS(212), + [aux_sym_preproc_nothing_token1] = ACTIONS(212), + [aux_sym_preproc_elif_token1] = ACTIONS(212), + [sym_nothing] = ACTIONS(212), + [sym_integer_literal] = ACTIONS(214), }, [60] = { - [anon_sym_GT] = ACTIONS(245), + [sym_raw_string_literal] = ACTIONS(218), + [aux_sym_undef_token1] = ACTIONS(216), + [aux_sym_char_literal_token1] = ACTIONS(216), + [aux_sym_preproc_if_token2] = ACTIONS(216), + [aux_sym_define_token1] = ACTIONS(216), + [aux_sym_preproc_else_token1] = ACTIONS(216), + [aux_sym_preproc_include_token1] = ACTIONS(216), + [sym_comment] = ACTIONS(216), + [aux_sym_string_literal_token1] = ACTIONS(216), + [aux_sym_preproc_if_token1] = ACTIONS(216), + [aux_sym_preproc_nothing_token1] = ACTIONS(216), + [aux_sym_preproc_elif_token1] = ACTIONS(216), + [sym_nothing] = ACTIONS(216), + [sym_integer_literal] = ACTIONS(218), }, [61] = { - [aux_sym_preproc_if_token2] = ACTIONS(247), + [sym_raw_string_literal] = ACTIONS(222), + [aux_sym_undef_token1] = ACTIONS(220), + [aux_sym_char_literal_token1] = ACTIONS(220), + [aux_sym_preproc_if_token2] = ACTIONS(220), + [aux_sym_define_token1] = ACTIONS(220), + [aux_sym_preproc_else_token1] = ACTIONS(220), + [aux_sym_preproc_include_token1] = ACTIONS(220), + [sym_comment] = ACTIONS(220), + [aux_sym_string_literal_token1] = ACTIONS(220), + [aux_sym_preproc_if_token1] = ACTIONS(220), + [aux_sym_preproc_nothing_token1] = ACTIONS(220), + [aux_sym_preproc_elif_token1] = ACTIONS(220), + [sym_nothing] = ACTIONS(220), + [sym_integer_literal] = ACTIONS(222), }, [62] = { - [sym_preproc_else] = STATE(64), - [aux_sym_preproc_if_repeat1] = STATE(30), - [sym_preproc_elif] = STATE(30), - [aux_sym_preproc_elif_token1] = ACTIONS(109), - [aux_sym_preproc_if_token2] = ACTIONS(247), - [aux_sym_preproc_else_token1] = ACTIONS(111), + [sym_string_literal] = STATE(49), + [aux_sym_string_literal_token1] = ACTIONS(253), + [sym_identifier] = ACTIONS(255), + [anon_sym_LT] = ACTIONS(257), }, [63] = { - [anon_sym_LF] = ACTIONS(249), + [sym_define] = STATE(66), + [sym_preproc_if] = STATE(66), + [sym_string_literal] = STATE(66), + [sym_char_literal] = STATE(66), + [sym__top_level_item] = STATE(66), + [sym_preproc_include] = STATE(66), + [sym_undef] = STATE(66), + [sym_preproc_nothing] = STATE(66), + [aux_sym_preproc_if_repeat1] = STATE(67), + [sym_preproc_elif] = STATE(67), + [sym_preproc_else] = STATE(65), + [aux_sym_translation_unit_repeat1] = STATE(66), + [sym_raw_string_literal] = ACTIONS(259), + [aux_sym_undef_token1] = ACTIONS(39), + [aux_sym_char_literal_token1] = ACTIONS(51), + [aux_sym_preproc_if_token2] = ACTIONS(261), + [aux_sym_define_token1] = ACTIONS(55), + [aux_sym_preproc_else_token1] = ACTIONS(57), + [aux_sym_preproc_include_token1] = ACTIONS(37), + [sym_comment] = ACTIONS(263), + [aux_sym_string_literal_token1] = ACTIONS(43), + [aux_sym_preproc_if_token1] = ACTIONS(45), + [aux_sym_preproc_nothing_token1] = ACTIONS(47), + [aux_sym_preproc_elif_token1] = ACTIONS(49), + [sym_nothing] = ACTIONS(263), + [sym_integer_literal] = ACTIONS(259), }, [64] = { - [aux_sym_preproc_if_token2] = ACTIONS(251), + [aux_sym_define_repeat1] = STATE(68), + [sym_preproc_continuation_line] = ACTIONS(265), + [sym_preproc_line] = ACTIONS(267), }, [65] = { - [anon_sym_LF] = ACTIONS(253), + [aux_sym_preproc_if_token2] = ACTIONS(269), }, [66] = { - [sym_path] = ACTIONS(255), + [sym_define] = STATE(52), + [sym_preproc_if] = STATE(52), + [sym_string_literal] = STATE(52), + [sym_char_literal] = STATE(52), + [sym__top_level_item] = STATE(52), + [sym_preproc_include] = STATE(52), + [sym_undef] = STATE(52), + [sym_preproc_nothing] = STATE(52), + [aux_sym_preproc_if_repeat1] = STATE(72), + [sym_preproc_elif] = STATE(72), + [sym_preproc_else] = STATE(71), + [aux_sym_translation_unit_repeat1] = STATE(52), + [sym_raw_string_literal] = ACTIONS(105), + [aux_sym_undef_token1] = ACTIONS(39), + [aux_sym_char_literal_token1] = ACTIONS(51), + [aux_sym_preproc_if_token2] = ACTIONS(271), + [aux_sym_define_token1] = ACTIONS(55), + [aux_sym_preproc_else_token1] = ACTIONS(57), + [aux_sym_preproc_include_token1] = ACTIONS(37), + [sym_comment] = ACTIONS(107), + [aux_sym_string_literal_token1] = ACTIONS(43), + [aux_sym_preproc_if_token1] = ACTIONS(45), + [aux_sym_preproc_nothing_token1] = ACTIONS(47), + [aux_sym_preproc_elif_token1] = ACTIONS(49), + [sym_nothing] = ACTIONS(107), + [sym_integer_literal] = ACTIONS(105), }, [67] = { - [aux_sym_define_repeat1] = STATE(68), - [sym_preproc_continuation_line] = ACTIONS(257), - [sym_preproc_line] = ACTIONS(259), + [sym_preproc_else] = STATE(71), + [aux_sym_preproc_if_repeat1] = STATE(32), + [sym_preproc_elif] = STATE(32), + [aux_sym_preproc_elif_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(269), + [aux_sym_preproc_else_token1] = ACTIONS(113), }, [68] = { - [aux_sym_define_repeat1] = STATE(24), - [sym_preproc_continuation_line] = ACTIONS(81), - [sym_preproc_line] = ACTIONS(261), + [aux_sym_define_repeat1] = STATE(34), + [sym_preproc_continuation_line] = ACTIONS(119), + [sym_preproc_line] = ACTIONS(273), }, [69] = { - [sym_identifier] = ACTIONS(263), + [anon_sym_GT] = ACTIONS(275), + }, + [70] = { + [anon_sym_LF] = ACTIONS(277), + }, + [71] = { + [aux_sym_preproc_if_token2] = ACTIONS(279), + }, + [72] = { + [sym_preproc_else] = STATE(75), + [aux_sym_preproc_if_repeat1] = STATE(32), + [sym_preproc_elif] = STATE(32), + [aux_sym_preproc_elif_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(279), + [aux_sym_preproc_else_token1] = ACTIONS(113), + }, + [73] = { + [anon_sym_LF] = ACTIONS(281), + }, + [74] = { + [anon_sym_LF] = ACTIONS(283), + }, + [75] = { + [aux_sym_preproc_if_token2] = ACTIONS(285), + }, + [76] = { + [anon_sym_LF] = ACTIONS(287), + }, + [77] = { + [sym_path] = ACTIONS(289), + }, + [78] = { + [aux_sym_define_repeat1] = STATE(80), + [sym_preproc_continuation_line] = ACTIONS(291), + [sym_preproc_line] = ACTIONS(293), + }, + [79] = { + [aux_sym_define_repeat1] = STATE(81), + [sym_preproc_continuation_line] = ACTIONS(295), + [sym_preproc_line] = ACTIONS(297), + }, + [80] = { + [aux_sym_define_repeat1] = STATE(34), + [sym_preproc_continuation_line] = ACTIONS(119), + [sym_preproc_line] = ACTIONS(299), + }, + [81] = { + [aux_sym_define_repeat1] = STATE(34), + [sym_preproc_continuation_line] = ACTIONS(119), + [sym_preproc_line] = ACTIONS(301), + }, + [82] = { + [sym_identifier] = ACTIONS(303), + }, + [83] = { + [sym_identifier] = ACTIONS(305), }, }; static TSParseActionEntry ts_parse_actions[] = { [0] = {.count = 0, .reusable = false}, [1] = {.count = 1, .reusable = false}, RECOVER(), - [3] = {.count = 1, .reusable = true}, SHIFT(8), + [3] = {.count = 1, .reusable = true}, SHIFT(10), [5] = {.count = 1, .reusable = false}, SHIFT(2), [7] = {.count = 1, .reusable = true}, REDUCE(sym_translation_unit, 0), [9] = {.count = 1, .reusable = false}, SHIFT(3), - [11] = {.count = 1, .reusable = false}, SHIFT(4), - [13] = {.count = 1, .reusable = false}, SHIFT(5), - [15] = {.count = 1, .reusable = false}, SHIFT(6), - [17] = {.count = 1, .reusable = false}, SHIFT(8), + [11] = {.count = 1, .reusable = false}, SHIFT(10), + [13] = {.count = 1, .reusable = false}, SHIFT(4), + [15] = {.count = 1, .reusable = false}, SHIFT(5), + [17] = {.count = 1, .reusable = false}, SHIFT(6), [19] = {.count = 1, .reusable = false}, SHIFT(7), - [21] = {.count = 1, .reusable = true}, SHIFT(10), - [23] = {.count = 1, .reusable = true}, SHIFT(11), - [25] = {.count = 1, .reusable = true}, SHIFT(6), - [27] = {.count = 1, .reusable = true}, SHIFT(13), - [29] = {.count = 1, .reusable = false}, SHIFT(12), - [31] = {.count = 1, .reusable = false}, REDUCE(sym_char_literal, 1), - [33] = {.count = 1, .reusable = true}, REDUCE(sym_char_literal, 1), - [35] = {.count = 1, .reusable = true}, SHIFT(17), - [37] = {.count = 1, .reusable = false}, SHIFT(53), - [39] = {.count = 1, .reusable = false}, SHIFT(54), - [41] = {.count = 1, .reusable = false}, SHIFT(40), - [43] = {.count = 1, .reusable = false}, SHIFT(55), - [45] = {.count = 1, .reusable = false}, SHIFT(41), - [47] = {.count = 1, .reusable = false}, SHIFT(14), - [49] = {.count = 1, .reusable = false}, SHIFT(17), - [51] = {.count = 1, .reusable = false}, SHIFT(15), - [53] = {.count = 1, .reusable = false}, SHIFT(69), - [55] = {.count = 1, .reusable = false}, SHIFT(16), - [57] = {.count = 1, .reusable = false}, REDUCE(sym_string_literal, 1), - [59] = {.count = 1, .reusable = true}, REDUCE(sym_string_literal, 1), - [61] = {.count = 1, .reusable = true}, SHIFT(20), - [63] = {.count = 1, .reusable = true}, SHIFT(21), - [65] = {.count = 1, .reusable = true}, REDUCE(sym_translation_unit, 1), - [67] = {.count = 1, .reusable = false}, SHIFT(21), + [21] = {.count = 1, .reusable = false}, SHIFT(8), + [23] = {.count = 1, .reusable = true}, SHIFT(4), + [25] = {.count = 1, .reusable = true}, SHIFT(11), + [27] = {.count = 1, .reusable = true}, SHIFT(12), + [29] = {.count = 1, .reusable = true}, SHIFT(13), + [31] = {.count = 1, .reusable = false}, REDUCE(sym_string_literal, 1), + [33] = {.count = 1, .reusable = true}, REDUCE(sym_string_literal, 1), + [35] = {.count = 1, .reusable = true}, SHIFT(18), + [37] = {.count = 1, .reusable = false}, SHIFT(62), + [39] = {.count = 1, .reusable = false}, SHIFT(82), + [41] = {.count = 1, .reusable = false}, SHIFT(18), + [43] = {.count = 1, .reusable = false}, SHIFT(47), + [45] = {.count = 1, .reusable = false}, SHIFT(63), + [47] = {.count = 1, .reusable = false}, SHIFT(64), + [49] = {.count = 1, .reusable = false}, SHIFT(14), + [51] = {.count = 1, .reusable = false}, SHIFT(48), + [53] = {.count = 1, .reusable = false}, SHIFT(15), + [55] = {.count = 1, .reusable = false}, SHIFT(83), + [57] = {.count = 1, .reusable = false}, SHIFT(16), + [59] = {.count = 1, .reusable = true}, SHIFT(21), + [61] = {.count = 1, .reusable = false}, SHIFT(20), + [63] = {.count = 1, .reusable = false}, REDUCE(sym_char_literal, 1), + [65] = {.count = 1, .reusable = true}, REDUCE(sym_char_literal, 1), + [67] = {.count = 1, .reusable = true}, SHIFT(22), [69] = {.count = 1, .reusable = true}, ACCEPT_INPUT(), - [71] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_include, 2), - [73] = {.count = 1, .reusable = true}, REDUCE(sym_preproc_include, 2), - [75] = {.count = 1, .reusable = true}, SHIFT(22), - [77] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_nothing, 2), - [79] = {.count = 1, .reusable = true}, REDUCE(sym_preproc_nothing, 2), + [71] = {.count = 1, .reusable = true}, SHIFT(23), + [73] = {.count = 1, .reusable = true}, REDUCE(sym_translation_unit, 1), + [75] = {.count = 1, .reusable = false}, SHIFT(23), + [77] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_include, 2), + [79] = {.count = 1, .reusable = true}, REDUCE(sym_preproc_include, 2), [81] = {.count = 1, .reusable = true}, SHIFT(24), - [83] = {.count = 1, .reusable = false}, SHIFT(23), - [85] = {.count = 1, .reusable = true}, SHIFT(25), - [87] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_elif, 1), - [89] = {.count = 1, .reusable = false}, SHIFT(25), - [91] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_if, 2), - [93] = {.count = 1, .reusable = true}, REDUCE(sym_preproc_if, 2), - [95] = {.count = 1, .reusable = true}, SHIFT(26), - [97] = {.count = 1, .reusable = false}, SHIFT(26), - [99] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_else, 1), - [101] = {.count = 1, .reusable = true}, SHIFT(45), - [103] = {.count = 1, .reusable = false}, SHIFT(45), - [105] = {.count = 1, .reusable = false}, SHIFT(27), - [107] = {.count = 1, .reusable = true}, SHIFT(27), - [109] = {.count = 1, .reusable = true}, SHIFT(14), - [111] = {.count = 1, .reusable = true}, SHIFT(16), - [113] = {.count = 1, .reusable = true}, SHIFT(32), - [115] = {.count = 1, .reusable = false}, SHIFT(31), - [117] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(2), - [120] = {.count = 2, .reusable = true}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(21), - [123] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(3), - [126] = {.count = 1, .reusable = true}, REDUCE(aux_sym_translation_unit_repeat1, 2), - [128] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(4), - [131] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5), - [134] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6), - [137] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(21), - [140] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(7), - [143] = {.count = 1, .reusable = true}, SHIFT(33), - [145] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_nothing, 3), - [147] = {.count = 1, .reusable = true}, REDUCE(sym_preproc_nothing, 3), - [149] = {.count = 2, .reusable = true}, REDUCE(aux_sym_define_repeat1, 2), SHIFT_REPEAT(24), - [152] = {.count = 1, .reusable = false}, REDUCE(aux_sym_define_repeat1, 2), - [154] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_elif, 2), - [156] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_else, 2), - [158] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_if, 3), - [160] = {.count = 1, .reusable = true}, REDUCE(sym_preproc_if, 3), - [162] = {.count = 1, .reusable = true}, SHIFT(34), - [164] = {.count = 2, .reusable = true}, REDUCE(aux_sym_preproc_if_repeat1, 2), SHIFT_REPEAT(14), - [167] = {.count = 1, .reusable = true}, REDUCE(aux_sym_preproc_if_repeat1, 2), - [169] = {.count = 1, .reusable = true}, SHIFT(36), - [171] = {.count = 1, .reusable = false}, SHIFT(37), - [173] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_include, 4), - [175] = {.count = 1, .reusable = true}, REDUCE(sym_preproc_include, 4), - [177] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_if, 4), - [179] = {.count = 1, .reusable = true}, REDUCE(sym_preproc_if, 4), - [181] = {.count = 1, .reusable = true}, SHIFT(38), - [183] = {.count = 1, .reusable = false}, REDUCE(sym_define, 4), - [185] = {.count = 1, .reusable = true}, REDUCE(sym_define, 4), - [187] = {.count = 1, .reusable = true}, SHIFT(39), - [189] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_if, 5), - [191] = {.count = 1, .reusable = true}, REDUCE(sym_preproc_if, 5), - [193] = {.count = 1, .reusable = false}, REDUCE(sym_define, 5), - [195] = {.count = 1, .reusable = true}, REDUCE(sym_define, 5), - [197] = {.count = 2, .reusable = true}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(45), - [200] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(54), - [203] = {.count = 1, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), - [205] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(69), - [208] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(53), - [211] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(40), - [214] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(55), - [217] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(41), - [220] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(45), - [223] = {.count = 1, .reusable = true}, SHIFT(42), - [225] = {.count = 1, .reusable = true}, SHIFT(66), - [227] = {.count = 1, .reusable = true}, SHIFT(41), - [229] = {.count = 1, .reusable = true}, SHIFT(56), - [231] = {.count = 1, .reusable = false}, SHIFT(43), - [233] = {.count = 1, .reusable = true}, SHIFT(57), - [235] = {.count = 1, .reusable = false}, SHIFT(44), - [237] = {.count = 1, .reusable = false}, SHIFT(57), - [239] = {.count = 1, .reusable = false}, SHIFT(46), - [241] = {.count = 1, .reusable = false}, SHIFT(47), - [243] = {.count = 1, .reusable = true}, SHIFT(47), - [245] = {.count = 1, .reusable = true}, SHIFT(48), - [247] = {.count = 1, .reusable = true}, SHIFT(49), - [249] = {.count = 1, .reusable = true}, SHIFT(50), - [251] = {.count = 1, .reusable = true}, SHIFT(51), - [253] = {.count = 1, .reusable = true}, SHIFT(52), - [255] = {.count = 1, .reusable = true}, SHIFT(60), - [257] = {.count = 1, .reusable = true}, SHIFT(68), - [259] = {.count = 1, .reusable = false}, SHIFT(63), - [261] = {.count = 1, .reusable = false}, SHIFT(65), - [263] = {.count = 1, .reusable = true}, SHIFT(67), + [83] = {.count = 1, .reusable = true}, SHIFT(26), + [85] = {.count = 1, .reusable = false}, SHIFT(25), + [87] = {.count = 1, .reusable = true}, SHIFT(27), + [89] = {.count = 1, .reusable = false}, SHIFT(27), + [91] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_elif, 1), + [93] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_if, 2), + [95] = {.count = 1, .reusable = true}, REDUCE(sym_preproc_if, 2), + [97] = {.count = 1, .reusable = true}, SHIFT(28), + [99] = {.count = 1, .reusable = false}, SHIFT(28), + [101] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_else, 1), + [103] = {.count = 1, .reusable = true}, SHIFT(29), + [105] = {.count = 1, .reusable = true}, SHIFT(52), + [107] = {.count = 1, .reusable = false}, SHIFT(52), + [109] = {.count = 1, .reusable = false}, SHIFT(29), + [111] = {.count = 1, .reusable = true}, SHIFT(14), + [113] = {.count = 1, .reusable = true}, SHIFT(16), + [115] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_nothing, 2), + [117] = {.count = 1, .reusable = true}, REDUCE(sym_preproc_nothing, 2), + [119] = {.count = 1, .reusable = true}, SHIFT(34), + [121] = {.count = 1, .reusable = false}, SHIFT(33), + [123] = {.count = 1, .reusable = true}, SHIFT(36), + [125] = {.count = 1, .reusable = false}, SHIFT(35), + [127] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(2), + [130] = {.count = 2, .reusable = true}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(23), + [133] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(3), + [136] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(23), + [139] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(4), + [142] = {.count = 1, .reusable = true}, REDUCE(aux_sym_translation_unit_repeat1, 2), + [144] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5), + [147] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6), + [150] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(7), + [153] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(8), + [156] = {.count = 1, .reusable = true}, SHIFT(37), + [158] = {.count = 1, .reusable = true}, SHIFT(38), + [160] = {.count = 1, .reusable = false}, SHIFT(39), + [162] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_elif, 2), + [164] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_else, 2), + [166] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_if, 3), + [168] = {.count = 1, .reusable = true}, REDUCE(sym_preproc_if, 3), + [170] = {.count = 1, .reusable = true}, SHIFT(40), + [172] = {.count = 2, .reusable = true}, REDUCE(aux_sym_preproc_if_repeat1, 2), SHIFT_REPEAT(14), + [175] = {.count = 1, .reusable = true}, REDUCE(aux_sym_preproc_if_repeat1, 2), + [177] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_nothing, 3), + [179] = {.count = 1, .reusable = true}, REDUCE(sym_preproc_nothing, 3), + [181] = {.count = 2, .reusable = true}, REDUCE(aux_sym_define_repeat1, 2), SHIFT_REPEAT(34), + [184] = {.count = 1, .reusable = false}, REDUCE(aux_sym_define_repeat1, 2), + [186] = {.count = 1, .reusable = true}, SHIFT(42), + [188] = {.count = 1, .reusable = false}, SHIFT(43), + [190] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_include, 4), + [192] = {.count = 1, .reusable = true}, REDUCE(sym_preproc_include, 4), + [194] = {.count = 1, .reusable = false}, REDUCE(sym_undef, 4), + [196] = {.count = 1, .reusable = true}, REDUCE(sym_undef, 4), + [198] = {.count = 1, .reusable = true}, SHIFT(44), + [200] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_if, 4), + [202] = {.count = 1, .reusable = true}, REDUCE(sym_preproc_if, 4), + [204] = {.count = 1, .reusable = true}, SHIFT(45), + [206] = {.count = 1, .reusable = false}, REDUCE(sym_define, 4), + [208] = {.count = 1, .reusable = true}, REDUCE(sym_define, 4), + [210] = {.count = 1, .reusable = true}, SHIFT(46), + [212] = {.count = 1, .reusable = false}, REDUCE(sym_undef, 5), + [214] = {.count = 1, .reusable = true}, REDUCE(sym_undef, 5), + [216] = {.count = 1, .reusable = false}, REDUCE(sym_preproc_if, 5), + [218] = {.count = 1, .reusable = true}, REDUCE(sym_preproc_if, 5), + [220] = {.count = 1, .reusable = false}, REDUCE(sym_define, 5), + [222] = {.count = 1, .reusable = true}, REDUCE(sym_define, 5), + [224] = {.count = 2, .reusable = true}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(52), + [227] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(82), + [230] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(48), + [233] = {.count = 1, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), + [235] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(83), + [238] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(62), + [241] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(52), + [244] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(47), + [247] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(63), + [250] = {.count = 2, .reusable = false}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(64), + [253] = {.count = 1, .reusable = true}, SHIFT(47), + [255] = {.count = 1, .reusable = true}, SHIFT(49), + [257] = {.count = 1, .reusable = true}, SHIFT(77), + [259] = {.count = 1, .reusable = true}, SHIFT(66), + [261] = {.count = 1, .reusable = false}, SHIFT(50), + [263] = {.count = 1, .reusable = false}, SHIFT(66), + [265] = {.count = 1, .reusable = true}, SHIFT(68), + [267] = {.count = 1, .reusable = false}, SHIFT(51), + [269] = {.count = 1, .reusable = true}, SHIFT(53), + [271] = {.count = 1, .reusable = false}, SHIFT(53), + [273] = {.count = 1, .reusable = false}, SHIFT(54), + [275] = {.count = 1, .reusable = true}, SHIFT(55), + [277] = {.count = 1, .reusable = true}, SHIFT(56), + [279] = {.count = 1, .reusable = true}, SHIFT(57), + [281] = {.count = 1, .reusable = true}, SHIFT(58), + [283] = {.count = 1, .reusable = true}, SHIFT(59), + [285] = {.count = 1, .reusable = true}, SHIFT(60), + [287] = {.count = 1, .reusable = true}, SHIFT(61), + [289] = {.count = 1, .reusable = true}, SHIFT(69), + [291] = {.count = 1, .reusable = true}, SHIFT(80), + [293] = {.count = 1, .reusable = false}, SHIFT(70), + [295] = {.count = 1, .reusable = true}, SHIFT(81), + [297] = {.count = 1, .reusable = false}, SHIFT(73), + [299] = {.count = 1, .reusable = false}, SHIFT(74), + [301] = {.count = 1, .reusable = false}, SHIFT(76), + [303] = {.count = 1, .reusable = true}, SHIFT(78), + [305] = {.count = 1, .reusable = true}, SHIFT(79), }; void *tree_sitter_preproc_external_scanner_create(void);