aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2023-10-29 17:55:31 +0100
committerThomas Voss <mail@thomasvoss.com> 2023-10-29 17:55:31 +0100
commit4dde2d9838ba3ae9e39aed9007716e5e782f244c (patch)
tree9e85f9cdeee5502902a202b958c6aeb4c3ae8d35 /src
parent4ed241343f6babdb0b954c683c1408345bbeed30 (diff)
Make $._S pattern use ‘+’ instead of ‘*’v1.0.3
The previous pattern caused the parser to use infinite memory and eventually crash. Not good!
Diffstat (limited to 'src')
-rw-r--r--src/grammar.json2
-rw-r--r--src/parser.c1218
2 files changed, 470 insertions, 750 deletions
diff --git a/src/grammar.json b/src/grammar.json
index ae2f4ab..960f0dd 100644
--- a/src/grammar.json
+++ b/src/grammar.json
@@ -196,7 +196,7 @@
},
"_S": {
"type": "PATTERN",
- "value": "\\p{White_Space}*"
+ "value": "\\p{White_Space}+"
}
},
"extras": [
diff --git a/src/parser.c b/src/parser.c
index f644014..ceaf3b5 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -6,7 +6,7 @@
#endif
#define LANGUAGE_VERSION 14
-#define STATE_COUNT 64
+#define STATE_COUNT 48
#define LARGE_STATE_COUNT 2
#define SYMBOL_COUNT 23
#define ALIAS_COUNT 0
@@ -201,66 +201,50 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
[1] = 1,
[2] = 2,
[3] = 3,
- [4] = 2,
- [5] = 5,
- [6] = 5,
- [7] = 3,
- [8] = 3,
- [9] = 2,
- [10] = 5,
- [11] = 11,
- [12] = 11,
+ [4] = 4,
+ [5] = 3,
+ [6] = 2,
+ [7] = 4,
+ [8] = 8,
+ [9] = 9,
+ [10] = 9,
+ [11] = 8,
+ [12] = 12,
[13] = 13,
- [14] = 11,
- [15] = 13,
- [16] = 13,
+ [14] = 14,
+ [15] = 15,
+ [16] = 16,
[17] = 17,
[18] = 18,
[19] = 19,
[20] = 20,
[21] = 21,
[22] = 22,
- [23] = 19,
+ [23] = 23,
[24] = 24,
[25] = 25,
[26] = 26,
- [27] = 27,
- [28] = 28,
- [29] = 29,
- [30] = 30,
+ [27] = 18,
+ [28] = 26,
+ [29] = 24,
+ [30] = 21,
[31] = 31,
[32] = 32,
[33] = 33,
- [34] = 29,
+ [34] = 34,
[35] = 35,
- [36] = 33,
- [37] = 32,
- [38] = 29,
- [39] = 35,
- [40] = 33,
- [41] = 32,
- [42] = 35,
- [43] = 43,
+ [36] = 36,
+ [37] = 37,
+ [38] = 38,
+ [39] = 39,
+ [40] = 36,
+ [41] = 41,
+ [42] = 33,
+ [43] = 39,
[44] = 44,
- [45] = 45,
- [46] = 46,
- [47] = 47,
- [48] = 44,
- [49] = 49,
- [50] = 44,
- [51] = 45,
- [52] = 45,
- [53] = 47,
- [54] = 54,
- [55] = 55,
- [56] = 55,
- [57] = 54,
- [58] = 47,
- [59] = 59,
- [60] = 55,
- [61] = 54,
- [62] = 49,
- [63] = 49,
+ [45] = 37,
+ [46] = 34,
+ [47] = 35,
};
static inline bool sym_node_name_character_set_1(int32_t c) {
@@ -360,194 +344,130 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
eof = lexer->eof(lexer);
switch (state) {
case 0:
- ACCEPT_TOKEN(sym__S);
- if (eof) ADVANCE(5);
+ if (eof) ADVANCE(7);
if (lookahead == '"') ADVANCE(1);
- if (lookahead == '#') ADVANCE(2);
- if (lookahead == '-') ADVANCE(11);
- if (lookahead == '.') ADVANCE(3);
- if (lookahead == '=') ADVANCE(12);
- if (lookahead == '>') ADVANCE(6);
- if (lookahead == '@') ADVANCE(13);
- if (lookahead == '{') ADVANCE(7);
- if (lookahead == '}') ADVANCE(8);
- if (lookahead == 5760) ADVANCE(9);
- if (sym__S_character_set_1(lookahead)) ADVANCE(30);
- if (sym_node_name_character_set_1(lookahead)) ADVANCE(10);
+ if (lookahead == '#') ADVANCE(3);
+ if (lookahead == '-') ADVANCE(13);
+ if (lookahead == '.') ADVANCE(4);
+ if (lookahead == '=') ADVANCE(14);
+ if (lookahead == '>') ADVANCE(8);
+ if (lookahead == '@') ADVANCE(15);
+ if (lookahead == '{') ADVANCE(9);
+ if (lookahead == '}') ADVANCE(10);
+ if (lookahead == 5760) ADVANCE(11);
+ if (sym__S_character_set_1(lookahead)) ADVANCE(23);
+ if (sym_node_name_character_set_1(lookahead)) ADVANCE(12);
END_STATE();
case 1:
- if (lookahead == '"') ADVANCE(20);
- if (lookahead == '\\') ADVANCE(4);
+ if (lookahead == '"') ADVANCE(22);
+ if (lookahead == '\\') ADVANCE(5);
if (lookahead != 0) ADVANCE(1);
END_STATE();
case 2:
- if (!sym_id_shorthand_character_set_1(lookahead)) ADVANCE(18);
+ if (lookahead == '@') ADVANCE(15);
+ if (lookahead == '\\') ADVANCE(18);
+ if (lookahead == '}') ADVANCE(10);
+ if (sym_literal_text_character_set_1(lookahead)) ADVANCE(16);
+ if (lookahead != 0) ADVANCE(17);
END_STATE();
case 3:
- if (!sym_id_shorthand_character_set_1(lookahead)) ADVANCE(17);
+ if (!sym_id_shorthand_character_set_1(lookahead)) ADVANCE(20);
END_STATE();
case 4:
+ if (!sym_id_shorthand_character_set_1(lookahead)) ADVANCE(19);
+ END_STATE();
+ case 5:
if (lookahead != 0 &&
lookahead != '\n') ADVANCE(1);
END_STATE();
- case 5:
+ case 6:
+ if (eof) ADVANCE(7);
+ if (lookahead == '"') ADVANCE(1);
+ if (lookahead == '#') ADVANCE(3);
+ if (lookahead == '.') ADVANCE(4);
+ if (lookahead == '=') ADVANCE(14);
+ if (lookahead == '{') ADVANCE(9);
+ if (lookahead == '}') ADVANCE(10);
+ if (sym_literal_text_character_set_1(lookahead)) ADVANCE(23);
+ if (lookahead == '-' ||
+ ('0' <= lookahead && lookahead <= '9') ||
+ ('A' <= lookahead && lookahead <= 'Z') ||
+ lookahead == '_' ||
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(21);
+ END_STATE();
+ case 7:
ACCEPT_TOKEN(ts_builtin_sym_end);
END_STATE();
- case 6:
+ case 8:
ACCEPT_TOKEN(anon_sym_GT);
END_STATE();
- case 7:
+ case 9:
ACCEPT_TOKEN(anon_sym_LBRACE);
END_STATE();
- case 8:
+ case 10:
ACCEPT_TOKEN(anon_sym_RBRACE);
END_STATE();
- case 9:
+ case 11:
ACCEPT_TOKEN(sym_node_name);
- if (lookahead == 5760) ADVANCE(9);
- if (sym__S_character_set_1(lookahead)) ADVANCE(30);
- if (sym_node_name_character_set_2(lookahead)) ADVANCE(10);
+ if (lookahead == 5760) ADVANCE(11);
+ if (sym__S_character_set_1(lookahead)) ADVANCE(23);
+ if (sym_node_name_character_set_2(lookahead)) ADVANCE(12);
END_STATE();
- case 10:
+ case 12:
ACCEPT_TOKEN(sym_node_name);
- if (sym_node_name_character_set_2(lookahead)) ADVANCE(10);
+ if (sym_node_name_character_set_2(lookahead)) ADVANCE(12);
END_STATE();
- case 11:
+ case 13:
ACCEPT_TOKEN(anon_sym_DASH);
END_STATE();
- case 12:
+ case 14:
ACCEPT_TOKEN(anon_sym_EQ);
END_STATE();
- case 13:
+ case 15:
ACCEPT_TOKEN(anon_sym_AT);
END_STATE();
- case 14:
+ case 16:
ACCEPT_TOKEN(sym_literal_text);
- if (lookahead == '\\') ADVANCE(16);
- if (sym_literal_text_character_set_1(lookahead)) ADVANCE(14);
+ if (lookahead == '\\') ADVANCE(18);
+ if (sym_literal_text_character_set_1(lookahead)) ADVANCE(16);
if (lookahead != 0 &&
lookahead != '@' &&
- lookahead != '}') ADVANCE(15);
+ lookahead != '}') ADVANCE(17);
END_STATE();
- case 15:
+ case 17:
ACCEPT_TOKEN(sym_literal_text);
- if (lookahead == '\\') ADVANCE(16);
+ if (lookahead == '\\') ADVANCE(18);
if (lookahead != 0 &&
lookahead != '@' &&
- lookahead != '}') ADVANCE(15);
+ lookahead != '}') ADVANCE(17);
END_STATE();
- case 16:
+ case 18:
ACCEPT_TOKEN(sym_literal_text);
- if (lookahead == '\\') ADVANCE(16);
- if (lookahead != 0) ADVANCE(15);
+ if (lookahead == '\\') ADVANCE(18);
+ if (lookahead != 0) ADVANCE(17);
END_STATE();
- case 17:
+ case 19:
ACCEPT_TOKEN(sym_class_shorthand);
- if (!sym_id_shorthand_character_set_1(lookahead)) ADVANCE(17);
+ if (!sym_id_shorthand_character_set_1(lookahead)) ADVANCE(19);
END_STATE();
- case 18:
+ case 20:
ACCEPT_TOKEN(sym_id_shorthand);
- if (!sym_id_shorthand_character_set_1(lookahead)) ADVANCE(18);
+ if (!sym_id_shorthand_character_set_1(lookahead)) ADVANCE(20);
END_STATE();
- case 19:
+ case 21:
ACCEPT_TOKEN(sym_attribute_name);
if (lookahead == '-' ||
('0' <= lookahead && lookahead <= '9') ||
('A' <= lookahead && lookahead <= 'Z') ||
lookahead == '_' ||
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(19);
- END_STATE();
- case 20:
- ACCEPT_TOKEN(sym_attribute_value);
- END_STATE();
- case 21:
- ACCEPT_TOKEN(sym__S);
- if (lookahead == '"') ADVANCE(1);
- if (sym_literal_text_character_set_1(lookahead)) ADVANCE(30);
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(21);
END_STATE();
case 22:
- ACCEPT_TOKEN(sym__S);
- if (lookahead == '#') ADVANCE(2);
- if (lookahead == '.') ADVANCE(3);
- if (lookahead == '=') ADVANCE(12);
- if (lookahead == '{') ADVANCE(7);
- if (sym_literal_text_character_set_1(lookahead)) ADVANCE(30);
- if (lookahead == '-' ||
- ('0' <= lookahead && lookahead <= '9') ||
- ('A' <= lookahead && lookahead <= 'Z') ||
- lookahead == '_' ||
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(19);
+ ACCEPT_TOKEN(sym_attribute_value);
END_STATE();
case 23:
ACCEPT_TOKEN(sym__S);
- if (lookahead == '#') ADVANCE(2);
- if (lookahead == '.') ADVANCE(3);
- if (lookahead == '{') ADVANCE(7);
- if (sym_literal_text_character_set_1(lookahead)) ADVANCE(30);
- if (lookahead == '-' ||
- ('0' <= lookahead && lookahead <= '9') ||
- ('A' <= lookahead && lookahead <= 'Z') ||
- lookahead == '_' ||
- ('a' <= lookahead && lookahead <= 'z')) ADVANCE(19);
- END_STATE();
- case 24:
- ACCEPT_TOKEN(sym__S);
- if (lookahead == '-') ADVANCE(11);
- if (lookahead == '=') ADVANCE(12);
- if (lookahead == '>') ADVANCE(6);
- if (lookahead == '}') ADVANCE(8);
- if (lookahead == 5760) ADVANCE(9);
- if (sym__S_character_set_1(lookahead)) ADVANCE(30);
- if (sym_node_name_character_set_1(lookahead)) ADVANCE(10);
- END_STATE();
- case 25:
- ACCEPT_TOKEN(sym__S);
- if (lookahead == '>') ADVANCE(6);
- if (lookahead == '}') ADVANCE(8);
- if (lookahead == 5760) ADVANCE(9);
- if (sym__S_character_set_1(lookahead)) ADVANCE(30);
- if (sym_node_name_character_set_1(lookahead)) ADVANCE(10);
- END_STATE();
- case 26:
- ACCEPT_TOKEN(sym__S);
- if (lookahead == '@') ADVANCE(13);
- if (lookahead == '\\') ADVANCE(16);
- if (lookahead == '}') ADVANCE(8);
- if (sym_literal_text_character_set_1(lookahead)) ADVANCE(14);
- if (lookahead != 0) ADVANCE(15);
- END_STATE();
- case 27:
- ACCEPT_TOKEN(sym__S);
- if (lookahead == '{') ADVANCE(7);
- if (sym_literal_text_character_set_1(lookahead)) ADVANCE(30);
- END_STATE();
- case 28:
- ACCEPT_TOKEN(sym__S);
- if (lookahead == '}') ADVANCE(8);
- if (sym_literal_text_character_set_1(lookahead)) ADVANCE(30);
- END_STATE();
- case 29:
- ACCEPT_TOKEN(sym__S);
- if (lookahead == 5760) ADVANCE(9);
- if (sym__S_character_set_1(lookahead)) ADVANCE(30);
- if (sym_node_name_character_set_1(lookahead)) ADVANCE(10);
- END_STATE();
- case 30:
- ACCEPT_TOKEN(sym__S);
- if (sym_literal_text_character_set_1(lookahead)) ADVANCE(30);
- END_STATE();
- case 31:
- ACCEPT_TOKEN(sym__S);
- if (eof) ADVANCE(5);
- if (lookahead == '>') ADVANCE(6);
- if (lookahead == 5760) ADVANCE(9);
- if (sym__S_character_set_1(lookahead)) ADVANCE(30);
- if (sym_node_name_character_set_1(lookahead)) ADVANCE(10);
- END_STATE();
- case 32:
- ACCEPT_TOKEN(sym__S);
- if (eof) ADVANCE(5);
- if (sym_literal_text_character_set_1(lookahead)) ADVANCE(30);
+ if (sym_literal_text_character_set_1(lookahead)) ADVANCE(23);
END_STATE();
default:
return false;
@@ -556,69 +476,53 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
static const TSLexMode ts_lex_modes[STATE_COUNT] = {
[0] = {.lex_state = 0},
- [1] = {.lex_state = 31},
- [2] = {.lex_state = 24},
- [3] = {.lex_state = 24},
- [4] = {.lex_state = 24},
- [5] = {.lex_state = 24},
- [6] = {.lex_state = 24},
- [7] = {.lex_state = 24},
- [8] = {.lex_state = 24},
- [9] = {.lex_state = 24},
- [10] = {.lex_state = 24},
- [11] = {.lex_state = 23},
- [12] = {.lex_state = 23},
- [13] = {.lex_state = 23},
- [14] = {.lex_state = 23},
- [15] = {.lex_state = 23},
- [16] = {.lex_state = 23},
- [17] = {.lex_state = 23},
- [18] = {.lex_state = 23},
- [19] = {.lex_state = 31},
- [20] = {.lex_state = 22},
- [21] = {.lex_state = 31},
- [22] = {.lex_state = 25},
- [23] = {.lex_state = 25},
- [24] = {.lex_state = 26},
- [25] = {.lex_state = 26},
- [26] = {.lex_state = 26},
- [27] = {.lex_state = 23},
- [28] = {.lex_state = 23},
- [29] = {.lex_state = 31},
- [30] = {.lex_state = 26},
- [31] = {.lex_state = 31},
- [32] = {.lex_state = 31},
- [33] = {.lex_state = 31},
- [34] = {.lex_state = 25},
- [35] = {.lex_state = 25},
- [36] = {.lex_state = 25},
- [37] = {.lex_state = 25},
- [38] = {.lex_state = 26},
- [39] = {.lex_state = 26},
- [40] = {.lex_state = 26},
- [41] = {.lex_state = 26},
- [42] = {.lex_state = 31},
- [43] = {.lex_state = 28},
- [44] = {.lex_state = 28},
- [45] = {.lex_state = 28},
- [46] = {.lex_state = 21},
- [47] = {.lex_state = 28},
- [48] = {.lex_state = 28},
- [49] = {.lex_state = 29},
- [50] = {.lex_state = 28},
- [51] = {.lex_state = 28},
- [52] = {.lex_state = 28},
- [53] = {.lex_state = 28},
- [54] = {.lex_state = 27},
- [55] = {.lex_state = 27},
- [56] = {.lex_state = 27},
- [57] = {.lex_state = 27},
- [58] = {.lex_state = 28},
- [59] = {.lex_state = 32},
- [60] = {.lex_state = 27},
- [61] = {.lex_state = 27},
- [62] = {.lex_state = 29},
- [63] = {.lex_state = 29},
+ [1] = {.lex_state = 0},
+ [2] = {.lex_state = 0},
+ [3] = {.lex_state = 0},
+ [4] = {.lex_state = 0},
+ [5] = {.lex_state = 0},
+ [6] = {.lex_state = 0},
+ [7] = {.lex_state = 0},
+ [8] = {.lex_state = 6},
+ [9] = {.lex_state = 6},
+ [10] = {.lex_state = 6},
+ [11] = {.lex_state = 6},
+ [12] = {.lex_state = 0},
+ [13] = {.lex_state = 6},
+ [14] = {.lex_state = 6},
+ [15] = {.lex_state = 0},
+ [16] = {.lex_state = 6},
+ [17] = {.lex_state = 0},
+ [18] = {.lex_state = 0},
+ [19] = {.lex_state = 2},
+ [20] = {.lex_state = 6},
+ [21] = {.lex_state = 0},
+ [22] = {.lex_state = 2},
+ [23] = {.lex_state = 6},
+ [24] = {.lex_state = 0},
+ [25] = {.lex_state = 2},
+ [26] = {.lex_state = 0},
+ [27] = {.lex_state = 2},
+ [28] = {.lex_state = 2},
+ [29] = {.lex_state = 2},
+ [30] = {.lex_state = 2},
+ [31] = {.lex_state = 0},
+ [32] = {.lex_state = 2},
+ [33] = {.lex_state = 6},
+ [34] = {.lex_state = 6},
+ [35] = {.lex_state = 0},
+ [36] = {.lex_state = 6},
+ [37] = {.lex_state = 6},
+ [38] = {.lex_state = 6},
+ [39] = {.lex_state = 6},
+ [40] = {.lex_state = 6},
+ [41] = {.lex_state = 6},
+ [42] = {.lex_state = 6},
+ [43] = {.lex_state = 6},
+ [44] = {.lex_state = 6},
+ [45] = {.lex_state = 6},
+ [46] = {.lex_state = 6},
+ [47] = {.lex_state = 0},
};
static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
@@ -637,9 +541,9 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
[sym__S] = ACTIONS(3),
},
[1] = {
- [sym_source_file] = STATE(59),
- [sym_node] = STATE(21),
- [aux_sym_source_file_repeat1] = STATE(21),
+ [sym_source_file] = STATE(44),
+ [sym_node] = STATE(15),
+ [aux_sym_source_file_repeat1] = STATE(15),
[ts_builtin_sym_end] = ACTIONS(5),
[anon_sym_GT] = ACTIONS(7),
[sym_node_name] = ACTIONS(9),
@@ -651,609 +555,453 @@ static const uint16_t ts_small_parse_table[] = {
[0] = 8,
ACTIONS(3), 1,
sym__S,
- ACTIONS(11), 1,
+ ACTIONS(7), 1,
anon_sym_GT,
- ACTIONS(13), 1,
- anon_sym_RBRACE,
- ACTIONS(15), 1,
+ ACTIONS(9), 1,
sym_node_name,
- STATE(43), 1,
+ ACTIONS(11), 1,
+ anon_sym_RBRACE,
+ STATE(41), 1,
sym_text_node,
- STATE(52), 1,
+ STATE(42), 1,
sym_node_body,
- ACTIONS(17), 2,
+ ACTIONS(13), 2,
anon_sym_DASH,
anon_sym_EQ,
- STATE(22), 2,
+ STATE(17), 2,
sym_node,
aux_sym_source_file_repeat1,
[27] = 8,
ACTIONS(3), 1,
sym__S,
- ACTIONS(11), 1,
+ ACTIONS(7), 1,
anon_sym_GT,
- ACTIONS(15), 1,
+ ACTIONS(9), 1,
sym_node_name,
- ACTIONS(19), 1,
+ ACTIONS(15), 1,
anon_sym_RBRACE,
- STATE(43), 1,
+ STATE(41), 1,
sym_text_node,
- STATE(44), 1,
+ STATE(43), 1,
sym_node_body,
- ACTIONS(17), 2,
+ ACTIONS(13), 2,
anon_sym_DASH,
anon_sym_EQ,
- STATE(22), 2,
+ STATE(17), 2,
sym_node,
aux_sym_source_file_repeat1,
[54] = 8,
ACTIONS(3), 1,
sym__S,
- ACTIONS(11), 1,
+ ACTIONS(7), 1,
anon_sym_GT,
- ACTIONS(15), 1,
+ ACTIONS(9), 1,
sym_node_name,
- ACTIONS(21), 1,
+ ACTIONS(17), 1,
anon_sym_RBRACE,
- STATE(43), 1,
- sym_text_node,
- STATE(45), 1,
+ STATE(40), 1,
sym_node_body,
- ACTIONS(17), 2,
+ STATE(41), 1,
+ sym_text_node,
+ ACTIONS(13), 2,
anon_sym_DASH,
anon_sym_EQ,
- STATE(22), 2,
+ STATE(17), 2,
sym_node,
aux_sym_source_file_repeat1,
[81] = 8,
ACTIONS(3), 1,
sym__S,
- ACTIONS(11), 1,
+ ACTIONS(7), 1,
anon_sym_GT,
- ACTIONS(15), 1,
+ ACTIONS(9), 1,
sym_node_name,
- ACTIONS(23), 1,
+ ACTIONS(19), 1,
anon_sym_RBRACE,
- STATE(43), 1,
- sym_text_node,
- STATE(47), 1,
+ STATE(39), 1,
sym_node_body,
- ACTIONS(17), 2,
- anon_sym_DASH,
- anon_sym_EQ,
- STATE(22), 2,
- sym_node,
- aux_sym_source_file_repeat1,
- [108] = 8,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(11), 1,
- anon_sym_GT,
- ACTIONS(15), 1,
- sym_node_name,
- ACTIONS(25), 1,
- anon_sym_RBRACE,
- STATE(43), 1,
+ STATE(41), 1,
sym_text_node,
- STATE(58), 1,
- sym_node_body,
- ACTIONS(17), 2,
+ ACTIONS(13), 2,
anon_sym_DASH,
anon_sym_EQ,
- STATE(22), 2,
+ STATE(17), 2,
sym_node,
aux_sym_source_file_repeat1,
- [135] = 8,
+ [108] = 8,
ACTIONS(3), 1,
sym__S,
- ACTIONS(11), 1,
+ ACTIONS(7), 1,
anon_sym_GT,
- ACTIONS(15), 1,
+ ACTIONS(9), 1,
sym_node_name,
- ACTIONS(27), 1,
+ ACTIONS(21), 1,
anon_sym_RBRACE,
- STATE(43), 1,
- sym_text_node,
- STATE(48), 1,
+ STATE(33), 1,
sym_node_body,
- ACTIONS(17), 2,
- anon_sym_DASH,
- anon_sym_EQ,
- STATE(22), 2,
- sym_node,
- aux_sym_source_file_repeat1,
- [162] = 8,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(11), 1,
- anon_sym_GT,
- ACTIONS(15), 1,
- sym_node_name,
- ACTIONS(29), 1,
- anon_sym_RBRACE,
- STATE(43), 1,
+ STATE(41), 1,
sym_text_node,
- STATE(50), 1,
- sym_node_body,
- ACTIONS(17), 2,
+ ACTIONS(13), 2,
anon_sym_DASH,
anon_sym_EQ,
- STATE(22), 2,
+ STATE(17), 2,
sym_node,
aux_sym_source_file_repeat1,
- [189] = 8,
+ [135] = 8,
ACTIONS(3), 1,
sym__S,
- ACTIONS(11), 1,
+ ACTIONS(7), 1,
anon_sym_GT,
- ACTIONS(15), 1,
+ ACTIONS(9), 1,
sym_node_name,
- ACTIONS(31), 1,
+ ACTIONS(23), 1,
anon_sym_RBRACE,
- STATE(43), 1,
- sym_text_node,
- STATE(51), 1,
+ STATE(36), 1,
sym_node_body,
- ACTIONS(17), 2,
- anon_sym_DASH,
- anon_sym_EQ,
- STATE(22), 2,
- sym_node,
- aux_sym_source_file_repeat1,
- [216] = 8,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(11), 1,
- anon_sym_GT,
- ACTIONS(15), 1,
- sym_node_name,
- ACTIONS(33), 1,
- anon_sym_RBRACE,
- STATE(43), 1,
+ STATE(41), 1,
sym_text_node,
- STATE(53), 1,
- sym_node_body,
- ACTIONS(17), 2,
+ ACTIONS(13), 2,
anon_sym_DASH,
anon_sym_EQ,
- STATE(22), 2,
+ STATE(17), 2,
sym_node,
aux_sym_source_file_repeat1,
- [243] = 6,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(35), 1,
+ [162] = 6,
+ ACTIONS(25), 1,
anon_sym_LBRACE,
- ACTIONS(39), 1,
+ ACTIONS(29), 1,
sym_attribute_name,
- STATE(54), 1,
+ ACTIONS(31), 1,
+ sym__S,
+ STATE(46), 1,
sym_attribute_list,
- ACTIONS(37), 2,
+ ACTIONS(27), 2,
sym_class_shorthand,
sym_id_shorthand,
- STATE(17), 2,
+ STATE(14), 2,
sym_attribute,
aux_sym_attribute_list_repeat1,
- [264] = 6,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(39), 1,
+ [183] = 6,
+ ACTIONS(29), 1,
sym_attribute_name,
- ACTIONS(41), 1,
+ ACTIONS(31), 1,
+ sym__S,
+ ACTIONS(33), 1,
anon_sym_LBRACE,
- STATE(61), 1,
+ STATE(37), 1,
sym_attribute_list,
- ACTIONS(37), 2,
+ ACTIONS(27), 2,
sym_class_shorthand,
sym_id_shorthand,
- STATE(17), 2,
+ STATE(14), 2,
sym_attribute,
aux_sym_attribute_list_repeat1,
- [285] = 6,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(39), 1,
+ [204] = 6,
+ ACTIONS(29), 1,
sym_attribute_name,
- ACTIONS(43), 1,
+ ACTIONS(31), 1,
+ sym__S,
+ ACTIONS(35), 1,
anon_sym_LBRACE,
- STATE(56), 1,
+ STATE(45), 1,
sym_attribute_list,
- ACTIONS(37), 2,
+ ACTIONS(27), 2,
sym_class_shorthand,
sym_id_shorthand,
- STATE(17), 2,
+ STATE(14), 2,
sym_attribute,
aux_sym_attribute_list_repeat1,
- [306] = 6,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(39), 1,
+ [225] = 6,
+ ACTIONS(29), 1,
sym_attribute_name,
- ACTIONS(45), 1,
+ ACTIONS(31), 1,
+ sym__S,
+ ACTIONS(37), 1,
anon_sym_LBRACE,
- STATE(57), 1,
+ STATE(34), 1,
sym_attribute_list,
- ACTIONS(37), 2,
+ ACTIONS(27), 2,
sym_class_shorthand,
sym_id_shorthand,
- STATE(17), 2,
+ STATE(14), 2,
sym_attribute,
aux_sym_attribute_list_repeat1,
- [327] = 6,
+ [246] = 5,
ACTIONS(3), 1,
sym__S,
- ACTIONS(39), 1,
- sym_attribute_name,
+ ACTIONS(41), 1,
+ anon_sym_GT,
+ ACTIONS(44), 1,
+ sym_node_name,
+ ACTIONS(39), 2,
+ ts_builtin_sym_end,
+ anon_sym_RBRACE,
+ STATE(12), 2,
+ sym_node,
+ aux_sym_source_file_repeat1,
+ [264] = 5,
+ ACTIONS(31), 1,
+ sym__S,
ACTIONS(47), 1,
anon_sym_LBRACE,
- STATE(60), 1,
- sym_attribute_list,
- ACTIONS(37), 2,
- sym_class_shorthand,
- sym_id_shorthand,
- STATE(17), 2,
- sym_attribute,
- aux_sym_attribute_list_repeat1,
- [348] = 6,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(39), 1,
+ ACTIONS(52), 1,
sym_attribute_name,
- ACTIONS(49), 1,
- anon_sym_LBRACE,
- STATE(55), 1,
- sym_attribute_list,
- ACTIONS(37), 2,
+ ACTIONS(49), 2,
sym_class_shorthand,
sym_id_shorthand,
- STATE(17), 2,
+ STATE(13), 2,
sym_attribute,
aux_sym_attribute_list_repeat1,
- [369] = 5,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(39), 1,
+ [282] = 5,
+ ACTIONS(29), 1,
sym_attribute_name,
- ACTIONS(51), 1,
- anon_sym_LBRACE,
- ACTIONS(37), 2,
- sym_class_shorthand,
- sym_id_shorthand,
- STATE(18), 2,
- sym_attribute,
- aux_sym_attribute_list_repeat1,
- [387] = 5,
- ACTIONS(3), 1,
+ ACTIONS(31), 1,
sym__S,
- ACTIONS(53), 1,
+ ACTIONS(55), 1,
anon_sym_LBRACE,
- ACTIONS(58), 1,
- sym_attribute_name,
- ACTIONS(55), 2,
+ ACTIONS(27), 2,
sym_class_shorthand,
sym_id_shorthand,
- STATE(18), 2,
+ STATE(13), 2,
sym_attribute,
aux_sym_attribute_list_repeat1,
- [405] = 5,
+ [300] = 5,
ACTIONS(3), 1,
sym__S,
- ACTIONS(61), 1,
- ts_builtin_sym_end,
- ACTIONS(63), 1,
+ ACTIONS(7), 1,
anon_sym_GT,
- ACTIONS(66), 1,
+ ACTIONS(9), 1,
sym_node_name,
- STATE(19), 2,
+ ACTIONS(57), 1,
+ ts_builtin_sym_end,
+ STATE(12), 2,
sym_node,
aux_sym_source_file_repeat1,
- [422] = 3,
- ACTIONS(3), 1,
+ [317] = 3,
+ ACTIONS(31), 1,
sym__S,
- ACTIONS(71), 1,
+ ACTIONS(61), 1,
anon_sym_EQ,
- ACTIONS(69), 4,
+ ACTIONS(59), 4,
anon_sym_LBRACE,
sym_class_shorthand,
sym_id_shorthand,
sym_attribute_name,
- [435] = 5,
+ [330] = 5,
ACTIONS(3), 1,
sym__S,
ACTIONS(7), 1,
anon_sym_GT,
ACTIONS(9), 1,
sym_node_name,
- ACTIONS(73), 1,
- ts_builtin_sym_end,
- STATE(19), 2,
- sym_node,
- aux_sym_source_file_repeat1,
- [452] = 5,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(11), 1,
- anon_sym_GT,
- ACTIONS(15), 1,
- sym_node_name,
- ACTIONS(75), 1,
+ ACTIONS(63), 1,
anon_sym_RBRACE,
- STATE(23), 2,
+ STATE(12), 2,
sym_node,
aux_sym_source_file_repeat1,
- [469] = 5,
+ [347] = 3,
ACTIONS(3), 1,
sym__S,
- ACTIONS(61), 1,
- anon_sym_RBRACE,
- ACTIONS(77), 1,
- anon_sym_GT,
- ACTIONS(80), 1,
+ ACTIONS(67), 1,
sym_node_name,
- STATE(23), 2,
- sym_node,
- aux_sym_source_file_repeat1,
- [486] = 5,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(83), 1,
+ ACTIONS(65), 3,
+ ts_builtin_sym_end,
+ anon_sym_GT,
anon_sym_RBRACE,
- ACTIONS(85), 1,
- anon_sym_AT,
- ACTIONS(88), 1,
- sym_literal_text,
- STATE(24), 1,
- aux_sym_text_node_repeat1,
- [502] = 5,
+ [359] = 5,
ACTIONS(3), 1,
sym__S,
- ACTIONS(91), 1,
+ ACTIONS(69), 1,
anon_sym_RBRACE,
- ACTIONS(93), 1,
- anon_sym_AT,
- ACTIONS(95), 1,
- sym_literal_text,
- STATE(26), 1,
- aux_sym_text_node_repeat1,
- [518] = 5,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(93), 1,
+ ACTIONS(71), 1,
anon_sym_AT,
- ACTIONS(97), 1,
- anon_sym_RBRACE,
- ACTIONS(99), 1,
+ ACTIONS(73), 1,
sym_literal_text,
- STATE(24), 1,
+ STATE(22), 1,
aux_sym_text_node_repeat1,
- [534] = 2,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(101), 4,
- anon_sym_LBRACE,
- sym_class_shorthand,
- sym_id_shorthand,
- sym_attribute_name,
- [544] = 2,
- ACTIONS(3), 1,
+ [375] = 2,
+ ACTIONS(31), 1,
sym__S,
- ACTIONS(69), 4,
+ ACTIONS(59), 4,
anon_sym_LBRACE,
sym_class_shorthand,
sym_id_shorthand,
sym_attribute_name,
- [554] = 3,
+ [385] = 3,
ACTIONS(3), 1,
sym__S,
- ACTIONS(105), 1,
+ ACTIONS(77), 1,
sym_node_name,
- ACTIONS(103), 2,
+ ACTIONS(75), 3,
ts_builtin_sym_end,
anon_sym_GT,
- [565] = 2,
+ anon_sym_RBRACE,
+ [397] = 5,
ACTIONS(3), 1,
sym__S,
- ACTIONS(83), 3,
- anon_sym_RBRACE,
+ ACTIONS(71), 1,
anon_sym_AT,
+ ACTIONS(79), 1,
+ anon_sym_RBRACE,
+ ACTIONS(81), 1,
sym_literal_text,
- [574] = 4,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(107), 1,
- anon_sym_GT,
- ACTIONS(109), 1,
- sym_node_name,
- STATE(30), 1,
- sym_node,
- [587] = 3,
- ACTIONS(3), 1,
+ STATE(25), 1,
+ aux_sym_text_node_repeat1,
+ [413] = 2,
+ ACTIONS(31), 1,
sym__S,
- ACTIONS(113), 1,
- sym_node_name,
- ACTIONS(111), 2,
- ts_builtin_sym_end,
- anon_sym_GT,
- [598] = 3,
+ ACTIONS(83), 4,
+ anon_sym_LBRACE,
+ sym_class_shorthand,
+ sym_id_shorthand,
+ sym_attribute_name,
+ [423] = 3,
ACTIONS(3), 1,
sym__S,
- ACTIONS(117), 1,
+ ACTIONS(87), 1,
sym_node_name,
- ACTIONS(115), 2,
+ ACTIONS(85), 3,
ts_builtin_sym_end,
anon_sym_GT,
- [609] = 3,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(105), 1,
- sym_node_name,
- ACTIONS(103), 2,
- anon_sym_GT,
- anon_sym_RBRACE,
- [620] = 3,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(121), 1,
- sym_node_name,
- ACTIONS(119), 2,
- anon_sym_GT,
anon_sym_RBRACE,
- [631] = 3,
+ [435] = 5,
ACTIONS(3), 1,
sym__S,
- ACTIONS(117), 1,
- sym_node_name,
- ACTIONS(115), 2,
- anon_sym_GT,
+ ACTIONS(89), 1,
anon_sym_RBRACE,
- [642] = 3,
+ ACTIONS(91), 1,
+ anon_sym_AT,
+ ACTIONS(94), 1,
+ sym_literal_text,
+ STATE(25), 1,
+ aux_sym_text_node_repeat1,
+ [451] = 3,
ACTIONS(3), 1,
sym__S,
- ACTIONS(113), 1,
+ ACTIONS(99), 1,
sym_node_name,
- ACTIONS(111), 2,
+ ACTIONS(97), 3,
+ ts_builtin_sym_end,
anon_sym_GT,
anon_sym_RBRACE,
- [653] = 2,
+ [463] = 2,
ACTIONS(3), 1,
sym__S,
- ACTIONS(103), 3,
+ ACTIONS(65), 3,
anon_sym_RBRACE,
anon_sym_AT,
sym_literal_text,
- [662] = 2,
+ [472] = 2,
ACTIONS(3), 1,
sym__S,
- ACTIONS(119), 3,
+ ACTIONS(97), 3,
anon_sym_RBRACE,
anon_sym_AT,
sym_literal_text,
- [671] = 2,
+ [481] = 2,
ACTIONS(3), 1,
sym__S,
- ACTIONS(115), 3,
+ ACTIONS(85), 3,
anon_sym_RBRACE,
anon_sym_AT,
sym_literal_text,
- [680] = 2,
+ [490] = 2,
ACTIONS(3), 1,
sym__S,
- ACTIONS(111), 3,
+ ACTIONS(75), 3,
anon_sym_RBRACE,
anon_sym_AT,
sym_literal_text,
- [689] = 3,
+ [499] = 4,
ACTIONS(3), 1,
sym__S,
- ACTIONS(121), 1,
- sym_node_name,
- ACTIONS(119), 2,
- ts_builtin_sym_end,
+ ACTIONS(101), 1,
anon_sym_GT,
- [700] = 2,
+ ACTIONS(103), 1,
+ sym_node_name,
+ STATE(32), 1,
+ sym_node,
+ [512] = 2,
ACTIONS(3), 1,
sym__S,
- ACTIONS(75), 1,
+ ACTIONS(89), 3,
anon_sym_RBRACE,
- [707] = 2,
- ACTIONS(3), 1,
+ anon_sym_AT,
+ sym_literal_text,
+ [521] = 2,
+ ACTIONS(31), 1,
sym__S,
- ACTIONS(21), 1,
+ ACTIONS(105), 1,
anon_sym_RBRACE,
- [714] = 2,
+ [528] = 2,
+ ACTIONS(31), 1,
+ sym__S,
+ ACTIONS(107), 1,
+ anon_sym_LBRACE,
+ [535] = 2,
ACTIONS(3), 1,
sym__S,
- ACTIONS(23), 1,
+ ACTIONS(109), 1,
+ sym_node_name,
+ [542] = 2,
+ ACTIONS(21), 1,
anon_sym_RBRACE,
- [721] = 2,
- ACTIONS(3), 1,
+ ACTIONS(31), 1,
sym__S,
- ACTIONS(123), 1,
- sym_attribute_value,
- [728] = 2,
- ACTIONS(3), 1,
+ [549] = 2,
+ ACTIONS(31), 1,
sym__S,
- ACTIONS(125), 1,
- anon_sym_RBRACE,
- [735] = 2,
- ACTIONS(3), 1,
+ ACTIONS(37), 1,
+ anon_sym_LBRACE,
+ [556] = 2,
+ ACTIONS(31), 1,
sym__S,
- ACTIONS(13), 1,
+ ACTIONS(111), 1,
+ sym_attribute_value,
+ [563] = 2,
+ ACTIONS(17), 1,
anon_sym_RBRACE,
- [742] = 2,
- ACTIONS(3), 1,
+ ACTIONS(31), 1,
sym__S,
- ACTIONS(127), 1,
- sym_node_name,
- [749] = 2,
- ACTIONS(3), 1,
+ [570] = 2,
+ ACTIONS(11), 1,
+ anon_sym_RBRACE,
+ ACTIONS(31), 1,
sym__S,
+ [577] = 2,
ACTIONS(31), 1,
- anon_sym_RBRACE,
- [756] = 2,
- ACTIONS(3), 1,
sym__S,
- ACTIONS(33), 1,
+ ACTIONS(63), 1,
anon_sym_RBRACE,
- [763] = 2,
- ACTIONS(3), 1,
+ [584] = 2,
+ ACTIONS(31), 1,
sym__S,
- ACTIONS(25), 1,
+ ACTIONS(113), 1,
anon_sym_RBRACE,
- [770] = 2,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(129), 1,
+ [591] = 2,
+ ACTIONS(23), 1,
anon_sym_RBRACE,
- [777] = 2,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(131), 1,
- anon_sym_LBRACE,
- [784] = 2,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(35), 1,
- anon_sym_LBRACE,
- [791] = 2,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(45), 1,
- anon_sym_LBRACE,
- [798] = 2,
- ACTIONS(3), 1,
+ ACTIONS(31), 1,
sym__S,
- ACTIONS(133), 1,
- anon_sym_LBRACE,
- [805] = 2,
- ACTIONS(3), 1,
+ [598] = 2,
+ ACTIONS(31), 1,
sym__S,
- ACTIONS(135), 1,
- anon_sym_RBRACE,
- [812] = 2,
- ACTIONS(137), 1,
+ ACTIONS(115), 1,
ts_builtin_sym_end,
- ACTIONS(139), 1,
- sym__S,
- [819] = 2,
- ACTIONS(3), 1,
- sym__S,
- ACTIONS(41), 1,
+ [605] = 2,
+ ACTIONS(25), 1,
anon_sym_LBRACE,
- [826] = 2,
- ACTIONS(3), 1,
+ ACTIONS(31), 1,
sym__S,
- ACTIONS(141), 1,
- anon_sym_LBRACE,
- [833] = 2,
- ACTIONS(3), 1,
+ [612] = 2,
+ ACTIONS(31), 1,
sym__S,
- ACTIONS(143), 1,
- sym_node_name,
- [840] = 2,
+ ACTIONS(117), 1,
+ anon_sym_LBRACE,
+ [619] = 2,
ACTIONS(3), 1,
sym__S,
- ACTIONS(145), 1,
+ ACTIONS(119), 1,
sym_node_name,
};
@@ -1265,61 +1013,45 @@ static const uint32_t ts_small_parse_table_map[] = {
[SMALL_STATE(6)] = 108,
[SMALL_STATE(7)] = 135,
[SMALL_STATE(8)] = 162,
- [SMALL_STATE(9)] = 189,
- [SMALL_STATE(10)] = 216,
- [SMALL_STATE(11)] = 243,
- [SMALL_STATE(12)] = 264,
- [SMALL_STATE(13)] = 285,
- [SMALL_STATE(14)] = 306,
- [SMALL_STATE(15)] = 327,
- [SMALL_STATE(16)] = 348,
- [SMALL_STATE(17)] = 369,
- [SMALL_STATE(18)] = 387,
- [SMALL_STATE(19)] = 405,
- [SMALL_STATE(20)] = 422,
- [SMALL_STATE(21)] = 435,
- [SMALL_STATE(22)] = 452,
- [SMALL_STATE(23)] = 469,
- [SMALL_STATE(24)] = 486,
- [SMALL_STATE(25)] = 502,
- [SMALL_STATE(26)] = 518,
- [SMALL_STATE(27)] = 534,
- [SMALL_STATE(28)] = 544,
- [SMALL_STATE(29)] = 554,
- [SMALL_STATE(30)] = 565,
- [SMALL_STATE(31)] = 574,
- [SMALL_STATE(32)] = 587,
- [SMALL_STATE(33)] = 598,
- [SMALL_STATE(34)] = 609,
- [SMALL_STATE(35)] = 620,
- [SMALL_STATE(36)] = 631,
- [SMALL_STATE(37)] = 642,
- [SMALL_STATE(38)] = 653,
- [SMALL_STATE(39)] = 662,
- [SMALL_STATE(40)] = 671,
- [SMALL_STATE(41)] = 680,
- [SMALL_STATE(42)] = 689,
- [SMALL_STATE(43)] = 700,
- [SMALL_STATE(44)] = 707,
- [SMALL_STATE(45)] = 714,
- [SMALL_STATE(46)] = 721,
- [SMALL_STATE(47)] = 728,
- [SMALL_STATE(48)] = 735,
- [SMALL_STATE(49)] = 742,
- [SMALL_STATE(50)] = 749,
- [SMALL_STATE(51)] = 756,
- [SMALL_STATE(52)] = 763,
- [SMALL_STATE(53)] = 770,
- [SMALL_STATE(54)] = 777,
- [SMALL_STATE(55)] = 784,
- [SMALL_STATE(56)] = 791,
- [SMALL_STATE(57)] = 798,
- [SMALL_STATE(58)] = 805,
- [SMALL_STATE(59)] = 812,
- [SMALL_STATE(60)] = 819,
- [SMALL_STATE(61)] = 826,
- [SMALL_STATE(62)] = 833,
- [SMALL_STATE(63)] = 840,
+ [SMALL_STATE(9)] = 183,
+ [SMALL_STATE(10)] = 204,
+ [SMALL_STATE(11)] = 225,
+ [SMALL_STATE(12)] = 246,
+ [SMALL_STATE(13)] = 264,
+ [SMALL_STATE(14)] = 282,
+ [SMALL_STATE(15)] = 300,
+ [SMALL_STATE(16)] = 317,
+ [SMALL_STATE(17)] = 330,
+ [SMALL_STATE(18)] = 347,
+ [SMALL_STATE(19)] = 359,
+ [SMALL_STATE(20)] = 375,
+ [SMALL_STATE(21)] = 385,
+ [SMALL_STATE(22)] = 397,
+ [SMALL_STATE(23)] = 413,
+ [SMALL_STATE(24)] = 423,
+ [SMALL_STATE(25)] = 435,
+ [SMALL_STATE(26)] = 451,
+ [SMALL_STATE(27)] = 463,
+ [SMALL_STATE(28)] = 472,
+ [SMALL_STATE(29)] = 481,
+ [SMALL_STATE(30)] = 490,
+ [SMALL_STATE(31)] = 499,
+ [SMALL_STATE(32)] = 512,
+ [SMALL_STATE(33)] = 521,
+ [SMALL_STATE(34)] = 528,
+ [SMALL_STATE(35)] = 535,
+ [SMALL_STATE(36)] = 542,
+ [SMALL_STATE(37)] = 549,
+ [SMALL_STATE(38)] = 556,
+ [SMALL_STATE(39)] = 563,
+ [SMALL_STATE(40)] = 570,
+ [SMALL_STATE(41)] = 577,
+ [SMALL_STATE(42)] = 584,
+ [SMALL_STATE(43)] = 591,
+ [SMALL_STATE(44)] = 598,
+ [SMALL_STATE(45)] = 605,
+ [SMALL_STATE(46)] = 612,
+ [SMALL_STATE(47)] = 619,
};
static const TSParseActionEntry ts_parse_actions[] = {
@@ -1327,72 +1059,60 @@ static const TSParseActionEntry ts_parse_actions[] = {
[1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(),
[3] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(),
[5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0),
- [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49),
- [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16),
- [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62),
- [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
- [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13),
- [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
- [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
- [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
- [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
- [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
- [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29),
- [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38),
- [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39),
- [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
- [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
- [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
- [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
- [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
- [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
- [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
- [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
- [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
- [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_list, 1),
- [53] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2),
- [55] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2), SHIFT_REPEAT(28),
- [58] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2), SHIFT_REPEAT(20),
- [61] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2),
- [63] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(49),
- [66] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(16),
- [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1),
- [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
- [73] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1),
- [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node_body, 1),
- [77] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(62),
- [80] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(13),
- [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_text_node_repeat1, 2),
- [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_text_node_repeat1, 2), SHIFT_REPEAT(31),
- [88] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_text_node_repeat1, 2), SHIFT_REPEAT(24),
- [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_text_node, 1),
- [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
- [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
- [97] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_text_node, 2),
- [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
- [101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3),
- [103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node, 3),
- [105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node, 3),
- [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63),
- [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15),
- [111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node, 6),
- [113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node, 6),
- [115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node, 5),
- [117] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node, 5),
- [119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node, 4),
- [121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node, 4),
- [123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
- [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
- [127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11),
- [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
- [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
- [133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
- [135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32),
- [137] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
- [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(),
- [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
- [143] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14),
- [145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12),
+ [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
+ [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9),
+ [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29),
+ [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19),
+ [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
+ [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30),
+ [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
+ [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
+ [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21),
+ [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
+ [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
+ [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
+ [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(),
+ [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
+ [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
+ [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
+ [39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2),
+ [41] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(35),
+ [44] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(9),
+ [47] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2),
+ [49] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2), SHIFT_REPEAT(20),
+ [52] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2), SHIFT_REPEAT(16),
+ [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_list, 1),
+ [57] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1),
+ [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1),
+ [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38),
+ [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node_body, 1),
+ [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node, 3),
+ [67] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node, 3),
+ [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_text_node, 1),
+ [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
+ [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
+ [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node, 4),
+ [77] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node, 4),
+ [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_text_node, 2),
+ [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
+ [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3),
+ [85] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node, 5),
+ [87] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node, 5),
+ [89] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_text_node_repeat1, 2),
+ [91] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_text_node_repeat1, 2), SHIFT_REPEAT(31),
+ [94] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_text_node_repeat1, 2), SHIFT_REPEAT(25),
+ [97] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node, 6),
+ [99] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node, 6),
+ [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
+ [103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10),
+ [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
+ [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
+ [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11),
+ [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
+ [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
+ [115] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
+ [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
+ [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8),
};
#ifdef __cplusplus