From 4ed241343f6babdb0b954c683c1408345bbeed30 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Sat, 28 Oct 2023 15:25:34 +0200 Subject: Support unicode whitespace --- grammar.js | 8 +- src/grammar.json | 12 +- src/parser.c | 1381 +++++++++++++++++++++++++++++++++++------------------- 3 files changed, 911 insertions(+), 490 deletions(-) diff --git a/grammar.js b/grammar.js index 5849132..8d0e5a5 100644 --- a/grammar.js +++ b/grammar.js @@ -1,6 +1,6 @@ module.exports = grammar({ name: 'gsp', - + extras: $ => [$._S], rules: { source_file: $ => repeat($.node), @@ -43,10 +43,12 @@ module.exports = grammar({ ), ), - class_shorthand: $ => /\.[^\s]+/, - id_shorthand: $ => /#[^\s]+/, + class_shorthand: $ => /\.[^\p{White_Space}]+/u, + id_shorthand: $ => /#[^\p{White_Space}]+/u, attribute_name: $ => /[a-zA-Z0-9_-]+/, attribute_value: $ => /"(\\.|[^"\\])*"/, + + _S: $ => /\p{White_Space}*/u, }, }) diff --git a/src/grammar.json b/src/grammar.json index 150b1a5..ae2f4ab 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -180,11 +180,11 @@ }, "class_shorthand": { "type": "PATTERN", - "value": "\\.[^\\s]+" + "value": "\\.[^\\p{White_Space}]+" }, "id_shorthand": { "type": "PATTERN", - "value": "#[^\\s]+" + "value": "#[^\\p{White_Space}]+" }, "attribute_name": { "type": "PATTERN", @@ -193,12 +193,16 @@ "attribute_value": { "type": "PATTERN", "value": "\"(\\\\.|[^\"\\\\])*\"" + }, + "_S": { + "type": "PATTERN", + "value": "\\p{White_Space}*" } }, "extras": [ { - "type": "PATTERN", - "value": "\\s" + "type": "SYMBOL", + "name": "_S" } ], "conflicts": [], diff --git a/src/parser.c b/src/parser.c index 97761e6..f644014 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,11 +6,11 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 48 +#define STATE_COUNT 64 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 22 +#define SYMBOL_COUNT 23 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 13 +#define TOKEN_COUNT 14 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 0 #define MAX_ALIAS_SEQUENCE_LENGTH 6 @@ -29,15 +29,16 @@ enum { sym_id_shorthand = 10, sym_attribute_name = 11, sym_attribute_value = 12, - sym_source_file = 13, - sym_node = 14, - sym_node_body = 15, - sym_text_node = 16, - sym_attribute_list = 17, - sym_attribute = 18, - aux_sym_source_file_repeat1 = 19, - aux_sym_text_node_repeat1 = 20, - aux_sym_attribute_list_repeat1 = 21, + sym__S = 13, + sym_source_file = 14, + sym_node = 15, + sym_node_body = 16, + sym_text_node = 17, + sym_attribute_list = 18, + sym_attribute = 19, + aux_sym_source_file_repeat1 = 20, + aux_sym_text_node_repeat1 = 21, + aux_sym_attribute_list_repeat1 = 22, }; static const char * const ts_symbol_names[] = { @@ -54,6 +55,7 @@ static const char * const ts_symbol_names[] = { [sym_id_shorthand] = "id_shorthand", [sym_attribute_name] = "attribute_name", [sym_attribute_value] = "attribute_value", + [sym__S] = "_S", [sym_source_file] = "source_file", [sym_node] = "node", [sym_node_body] = "node_body", @@ -79,6 +81,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_id_shorthand] = sym_id_shorthand, [sym_attribute_name] = sym_attribute_name, [sym_attribute_value] = sym_attribute_value, + [sym__S] = sym__S, [sym_source_file] = sym_source_file, [sym_node] = sym_node, [sym_node_body] = sym_node_body, @@ -143,6 +146,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym__S] = { + .visible = false, + .named = true, + }, [sym_source_file] = { .visible = true, .named = true, @@ -194,50 +201,66 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [1] = 1, [2] = 2, [3] = 3, - [4] = 4, - [5] = 3, - [6] = 2, - [7] = 4, - [8] = 8, - [9] = 9, - [10] = 9, - [11] = 8, - [12] = 12, + [4] = 2, + [5] = 5, + [6] = 5, + [7] = 3, + [8] = 3, + [9] = 2, + [10] = 5, + [11] = 11, + [12] = 11, [13] = 13, - [14] = 14, - [15] = 15, - [16] = 16, + [14] = 11, + [15] = 13, + [16] = 13, [17] = 17, [18] = 18, [19] = 19, [20] = 20, [21] = 21, [22] = 22, - [23] = 23, + [23] = 19, [24] = 24, [25] = 25, [26] = 26, - [27] = 18, - [28] = 26, - [29] = 24, - [30] = 21, + [27] = 27, + [28] = 28, + [29] = 29, + [30] = 30, [31] = 31, [32] = 32, [33] = 33, - [34] = 34, + [34] = 29, [35] = 35, - [36] = 36, - [37] = 37, - [38] = 38, - [39] = 39, - [40] = 36, - [41] = 41, - [42] = 33, - [43] = 39, + [36] = 33, + [37] = 32, + [38] = 29, + [39] = 35, + [40] = 33, + [41] = 32, + [42] = 35, + [43] = 43, [44] = 44, - [45] = 37, - [46] = 34, - [47] = 35, + [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, }; static inline bool sym_node_name_character_set_1(int32_t c) { @@ -284,150 +307,248 @@ static inline bool sym_node_name_character_set_2(int32_t c) { : (c <= 65533 || (c >= 65536 && c <= 983039))))))); } +static inline bool sym_literal_text_character_set_1(int32_t c) { + return (c < 8192 + ? (c < 133 + ? (c < ' ' + ? (c >= '\t' && c <= '\r') + : c <= ' ') + : (c <= 133 || (c < 5760 + ? c == 160 + : c <= 5760))) + : (c <= 8202 || (c < 8287 + ? (c < 8239 + ? (c >= 8232 && c <= 8233) + : c <= 8239) + : (c <= 8287 || c == 12288)))); +} + +static inline bool sym_id_shorthand_character_set_1(int32_t c) { + return (c < 5760 + ? (c < ' ' + ? (c < '\t' + ? c == 0 + : c <= '\r') + : (c <= ' ' || (c < 160 + ? c == 133 + : c <= 160))) + : (c <= 5760 || (c < 8239 + ? (c < 8232 + ? (c >= 8192 && c <= 8202) + : c <= 8233) + : (c <= 8239 || (c < 12288 + ? c == 8287 + : c <= 12288))))); +} + +static inline bool sym__S_character_set_1(int32_t c) { + return (c < 8192 + ? (c < 133 + ? (c < ' ' + ? (c >= '\t' && c <= '\r') + : c <= ' ') + : (c <= 133 || c == 160)) + : (c <= 8202 || (c < 8287 + ? (c < 8239 + ? (c >= 8232 && c <= 8233) + : c <= 8239) + : (c <= 8287 || c == 12288)))); +} + static bool ts_lex(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(7); + ACCEPT_TOKEN(sym__S); + if (eof) ADVANCE(5); if (lookahead == '"') ADVANCE(1); - if (lookahead == '#') ADVANCE(4); - if (lookahead == '-') ADVANCE(12); - if (lookahead == '.') ADVANCE(5); - if (lookahead == '=') ADVANCE(13); - if (lookahead == '>') ADVANCE(8); - if (lookahead == '@') ADVANCE(14); - if (lookahead == '{') ADVANCE(9); - if (lookahead == '}') ADVANCE(10); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(0) - if (sym_node_name_character_set_1(lookahead)) ADVANCE(11); + 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); END_STATE(); case 1: - if (lookahead == '"') ADVANCE(21); - if (lookahead == '\\') ADVANCE(6); + if (lookahead == '"') ADVANCE(20); + if (lookahead == '\\') ADVANCE(4); if (lookahead != 0) ADVANCE(1); END_STATE(); case 2: - if (lookahead == '#') ADVANCE(4); - if (lookahead == '.') ADVANCE(5); - if (lookahead == '=') ADVANCE(13); - if (lookahead == '{') ADVANCE(9); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(2) - if (lookahead == '-' || - ('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(20); + if (!sym_id_shorthand_character_set_1(lookahead)) ADVANCE(18); END_STATE(); case 3: - if (lookahead == '@') ADVANCE(14); - if (lookahead == '\\') ADVANCE(17); - if (lookahead == '}') ADVANCE(10); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(15); - if (lookahead != 0) ADVANCE(16); + if (!sym_id_shorthand_character_set_1(lookahead)) ADVANCE(17); END_STATE(); case 4: if (lookahead != 0 && - lookahead != '\t' && - lookahead != '\n' && - lookahead != '\r' && - lookahead != ' ') ADVANCE(19); + lookahead != '\n') ADVANCE(1); END_STATE(); case 5: - if (lookahead != 0 && - lookahead != '\t' && - lookahead != '\n' && - lookahead != '\r' && - lookahead != ' ') ADVANCE(18); + ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 6: - if (lookahead != 0 && - lookahead != '\n') ADVANCE(1); + ACCEPT_TOKEN(anon_sym_GT); END_STATE(); case 7: - ACCEPT_TOKEN(ts_builtin_sym_end); + ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 8: - ACCEPT_TOKEN(anon_sym_GT); + ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 9: - ACCEPT_TOKEN(anon_sym_LBRACE); + 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); END_STATE(); case 10: - ACCEPT_TOKEN(anon_sym_RBRACE); - END_STATE(); - case 11: ACCEPT_TOKEN(sym_node_name); - if (sym_node_name_character_set_2(lookahead)) ADVANCE(11); + if (sym_node_name_character_set_2(lookahead)) ADVANCE(10); END_STATE(); - case 12: + case 11: ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); - case 13: + case 12: ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); - case 14: + case 13: ACCEPT_TOKEN(anon_sym_AT); END_STATE(); - case 15: + case 14: ACCEPT_TOKEN(sym_literal_text); - if (lookahead == '\\') ADVANCE(17); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(15); + if (lookahead == '\\') ADVANCE(16); + if (sym_literal_text_character_set_1(lookahead)) ADVANCE(14); if (lookahead != 0 && lookahead != '@' && - lookahead != '}') ADVANCE(16); + lookahead != '}') ADVANCE(15); END_STATE(); - case 16: + case 15: ACCEPT_TOKEN(sym_literal_text); - if (lookahead == '\\') ADVANCE(17); + if (lookahead == '\\') ADVANCE(16); if (lookahead != 0 && lookahead != '@' && - lookahead != '}') ADVANCE(16); + lookahead != '}') ADVANCE(15); END_STATE(); - case 17: + case 16: ACCEPT_TOKEN(sym_literal_text); - if (lookahead == '\\') ADVANCE(17); - if (lookahead != 0) ADVANCE(16); + if (lookahead == '\\') ADVANCE(16); + if (lookahead != 0) ADVANCE(15); END_STATE(); - case 18: + case 17: ACCEPT_TOKEN(sym_class_shorthand); - if (lookahead != 0 && - lookahead != '\t' && - lookahead != '\n' && - lookahead != '\r' && - lookahead != ' ') ADVANCE(18); + if (!sym_id_shorthand_character_set_1(lookahead)) ADVANCE(17); END_STATE(); - case 19: + case 18: ACCEPT_TOKEN(sym_id_shorthand); - if (lookahead != 0 && - lookahead != '\t' && - lookahead != '\n' && - lookahead != '\r' && - lookahead != ' ') ADVANCE(19); + if (!sym_id_shorthand_character_set_1(lookahead)) ADVANCE(18); END_STATE(); - case 20: + case 19: ACCEPT_TOKEN(sym_attribute_name); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(20); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(19); END_STATE(); - case 21: + 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); + 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); + 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); + END_STATE(); default: return false; } @@ -435,53 +556,69 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [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 = 2}, - [9] = {.lex_state = 2}, - [10] = {.lex_state = 2}, - [11] = {.lex_state = 2}, - [12] = {.lex_state = 0}, - [13] = {.lex_state = 2}, - [14] = {.lex_state = 2}, - [15] = {.lex_state = 0}, - [16] = {.lex_state = 2}, - [17] = {.lex_state = 0}, - [18] = {.lex_state = 0}, - [19] = {.lex_state = 3}, - [20] = {.lex_state = 2}, - [21] = {.lex_state = 0}, - [22] = {.lex_state = 3}, - [23] = {.lex_state = 2}, - [24] = {.lex_state = 0}, - [25] = {.lex_state = 3}, - [26] = {.lex_state = 0}, - [27] = {.lex_state = 3}, - [28] = {.lex_state = 3}, - [29] = {.lex_state = 3}, - [30] = {.lex_state = 3}, - [31] = {.lex_state = 0}, - [32] = {.lex_state = 3}, - [33] = {.lex_state = 0}, - [34] = {.lex_state = 0}, - [35] = {.lex_state = 0}, - [36] = {.lex_state = 0}, - [37] = {.lex_state = 0}, - [38] = {.lex_state = 0}, - [39] = {.lex_state = 0}, - [40] = {.lex_state = 0}, - [41] = {.lex_state = 0}, - [42] = {.lex_state = 0}, - [43] = {.lex_state = 0}, - [44] = {.lex_state = 0}, - [45] = {.lex_state = 0}, - [46] = {.lex_state = 0}, - [47] = {.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}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -497,487 +634,765 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_class_shorthand] = ACTIONS(1), [sym_id_shorthand] = ACTIONS(1), [sym_attribute_value] = ACTIONS(1), + [sym__S] = ACTIONS(3), }, [1] = { - [sym_source_file] = STATE(44), - [sym_node] = STATE(15), - [aux_sym_source_file_repeat1] = STATE(15), - [ts_builtin_sym_end] = ACTIONS(3), - [anon_sym_GT] = ACTIONS(5), - [sym_node_name] = ACTIONS(7), + [sym_source_file] = STATE(59), + [sym_node] = STATE(21), + [aux_sym_source_file_repeat1] = STATE(21), + [ts_builtin_sym_end] = ACTIONS(5), + [anon_sym_GT] = ACTIONS(7), + [sym_node_name] = ACTIONS(9), + [sym__S] = ACTIONS(3), }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 7, - ACTIONS(5), 1, + [0] = 8, + ACTIONS(3), 1, + sym__S, + ACTIONS(11), 1, anon_sym_GT, - ACTIONS(7), 1, - sym_node_name, - ACTIONS(9), 1, + ACTIONS(13), 1, anon_sym_RBRACE, - STATE(41), 1, + ACTIONS(15), 1, + sym_node_name, + STATE(43), 1, sym_text_node, - STATE(42), 1, + STATE(52), 1, sym_node_body, - ACTIONS(11), 2, + ACTIONS(17), 2, anon_sym_DASH, anon_sym_EQ, - STATE(17), 2, + STATE(22), 2, sym_node, aux_sym_source_file_repeat1, - [24] = 7, - ACTIONS(5), 1, + [27] = 8, + ACTIONS(3), 1, + sym__S, + ACTIONS(11), 1, anon_sym_GT, - ACTIONS(7), 1, + ACTIONS(15), 1, sym_node_name, - ACTIONS(13), 1, + ACTIONS(19), 1, anon_sym_RBRACE, - STATE(41), 1, - sym_text_node, STATE(43), 1, + sym_text_node, + STATE(44), 1, sym_node_body, - ACTIONS(11), 2, + ACTIONS(17), 2, anon_sym_DASH, anon_sym_EQ, - STATE(17), 2, + STATE(22), 2, sym_node, aux_sym_source_file_repeat1, - [48] = 7, - ACTIONS(5), 1, + [54] = 8, + ACTIONS(3), 1, + sym__S, + ACTIONS(11), 1, anon_sym_GT, - ACTIONS(7), 1, - sym_node_name, ACTIONS(15), 1, + sym_node_name, + ACTIONS(21), 1, anon_sym_RBRACE, - STATE(40), 1, - sym_node_body, - STATE(41), 1, + STATE(43), 1, sym_text_node, - ACTIONS(11), 2, + STATE(45), 1, + sym_node_body, + ACTIONS(17), 2, anon_sym_DASH, anon_sym_EQ, - STATE(17), 2, + STATE(22), 2, sym_node, aux_sym_source_file_repeat1, - [72] = 7, - ACTIONS(5), 1, + [81] = 8, + ACTIONS(3), 1, + sym__S, + ACTIONS(11), 1, anon_sym_GT, - ACTIONS(7), 1, + ACTIONS(15), 1, sym_node_name, - ACTIONS(17), 1, + ACTIONS(23), 1, anon_sym_RBRACE, - STATE(39), 1, + STATE(43), 1, + sym_text_node, + STATE(47), 1, sym_node_body, - STATE(41), 1, + 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, sym_text_node, - ACTIONS(11), 2, + STATE(58), 1, + sym_node_body, + ACTIONS(17), 2, anon_sym_DASH, anon_sym_EQ, - STATE(17), 2, + STATE(22), 2, sym_node, aux_sym_source_file_repeat1, - [96] = 7, - ACTIONS(5), 1, + [135] = 8, + ACTIONS(3), 1, + sym__S, + ACTIONS(11), 1, anon_sym_GT, - ACTIONS(7), 1, + ACTIONS(15), 1, sym_node_name, - ACTIONS(19), 1, + ACTIONS(27), 1, anon_sym_RBRACE, - STATE(33), 1, + STATE(43), 1, + sym_text_node, + STATE(48), 1, sym_node_body, - STATE(41), 1, + 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, sym_text_node, - ACTIONS(11), 2, + STATE(50), 1, + sym_node_body, + ACTIONS(17), 2, anon_sym_DASH, anon_sym_EQ, - STATE(17), 2, + STATE(22), 2, sym_node, aux_sym_source_file_repeat1, - [120] = 7, - ACTIONS(5), 1, + [189] = 8, + ACTIONS(3), 1, + sym__S, + ACTIONS(11), 1, anon_sym_GT, - ACTIONS(7), 1, + ACTIONS(15), 1, sym_node_name, - ACTIONS(21), 1, + ACTIONS(31), 1, anon_sym_RBRACE, - STATE(36), 1, + STATE(43), 1, + sym_text_node, + STATE(51), 1, sym_node_body, - STATE(41), 1, + 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, sym_text_node, - ACTIONS(11), 2, + STATE(53), 1, + sym_node_body, + ACTIONS(17), 2, anon_sym_DASH, anon_sym_EQ, - STATE(17), 2, + STATE(22), 2, sym_node, aux_sym_source_file_repeat1, - [144] = 5, - ACTIONS(23), 1, + [243] = 6, + ACTIONS(3), 1, + sym__S, + ACTIONS(35), 1, anon_sym_LBRACE, - ACTIONS(27), 1, + ACTIONS(39), 1, sym_attribute_name, - STATE(46), 1, + STATE(54), 1, sym_attribute_list, - ACTIONS(25), 2, + ACTIONS(37), 2, sym_class_shorthand, sym_id_shorthand, - STATE(14), 2, + STATE(17), 2, sym_attribute, aux_sym_attribute_list_repeat1, - [162] = 5, - ACTIONS(27), 1, + [264] = 6, + ACTIONS(3), 1, + sym__S, + ACTIONS(39), 1, sym_attribute_name, - ACTIONS(29), 1, + ACTIONS(41), 1, anon_sym_LBRACE, - STATE(37), 1, + STATE(61), 1, sym_attribute_list, - ACTIONS(25), 2, + ACTIONS(37), 2, sym_class_shorthand, sym_id_shorthand, - STATE(14), 2, + STATE(17), 2, sym_attribute, aux_sym_attribute_list_repeat1, - [180] = 5, - ACTIONS(27), 1, + [285] = 6, + ACTIONS(3), 1, + sym__S, + ACTIONS(39), 1, sym_attribute_name, - ACTIONS(31), 1, + ACTIONS(43), 1, anon_sym_LBRACE, - STATE(45), 1, + STATE(56), 1, sym_attribute_list, - ACTIONS(25), 2, + ACTIONS(37), 2, sym_class_shorthand, sym_id_shorthand, - STATE(14), 2, + STATE(17), 2, sym_attribute, aux_sym_attribute_list_repeat1, - [198] = 5, - ACTIONS(27), 1, + [306] = 6, + ACTIONS(3), 1, + sym__S, + ACTIONS(39), 1, sym_attribute_name, - ACTIONS(33), 1, + ACTIONS(45), 1, anon_sym_LBRACE, - STATE(34), 1, + STATE(57), 1, sym_attribute_list, - ACTIONS(25), 2, + ACTIONS(37), 2, sym_class_shorthand, sym_id_shorthand, - STATE(14), 2, + STATE(17), 2, sym_attribute, aux_sym_attribute_list_repeat1, - [216] = 4, - ACTIONS(37), 1, - anon_sym_GT, - ACTIONS(40), 1, - sym_node_name, - ACTIONS(35), 2, - ts_builtin_sym_end, - anon_sym_RBRACE, - STATE(12), 2, - sym_node, - aux_sym_source_file_repeat1, - [231] = 4, - ACTIONS(43), 1, + [327] = 6, + ACTIONS(3), 1, + sym__S, + ACTIONS(39), 1, + sym_attribute_name, + ACTIONS(47), 1, anon_sym_LBRACE, - ACTIONS(48), 1, + 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, sym_attribute_name, - ACTIONS(45), 2, + ACTIONS(49), 1, + anon_sym_LBRACE, + STATE(55), 1, + sym_attribute_list, + ACTIONS(37), 2, sym_class_shorthand, sym_id_shorthand, - STATE(13), 2, + STATE(17), 2, sym_attribute, aux_sym_attribute_list_repeat1, - [246] = 4, - ACTIONS(27), 1, + [369] = 5, + ACTIONS(3), 1, + sym__S, + ACTIONS(39), 1, sym_attribute_name, ACTIONS(51), 1, anon_sym_LBRACE, - ACTIONS(25), 2, + ACTIONS(37), 2, sym_class_shorthand, sym_id_shorthand, - STATE(13), 2, + STATE(18), 2, sym_attribute, aux_sym_attribute_list_repeat1, - [261] = 4, - ACTIONS(5), 1, - anon_sym_GT, - ACTIONS(7), 1, - sym_node_name, + [387] = 5, + ACTIONS(3), 1, + sym__S, ACTIONS(53), 1, + anon_sym_LBRACE, + ACTIONS(58), 1, + sym_attribute_name, + ACTIONS(55), 2, + sym_class_shorthand, + sym_id_shorthand, + STATE(18), 2, + sym_attribute, + aux_sym_attribute_list_repeat1, + [405] = 5, + ACTIONS(3), 1, + sym__S, + ACTIONS(61), 1, ts_builtin_sym_end, - STATE(12), 2, + ACTIONS(63), 1, + anon_sym_GT, + ACTIONS(66), 1, + sym_node_name, + STATE(19), 2, sym_node, aux_sym_source_file_repeat1, - [275] = 2, - ACTIONS(57), 1, + [422] = 3, + ACTIONS(3), 1, + sym__S, + ACTIONS(71), 1, anon_sym_EQ, - ACTIONS(55), 4, + ACTIONS(69), 4, anon_sym_LBRACE, sym_class_shorthand, sym_id_shorthand, sym_attribute_name, - [285] = 4, - ACTIONS(5), 1, - anon_sym_GT, + [435] = 5, + ACTIONS(3), 1, + sym__S, ACTIONS(7), 1, + anon_sym_GT, + ACTIONS(9), 1, sym_node_name, - ACTIONS(59), 1, - anon_sym_RBRACE, - STATE(12), 2, + ACTIONS(73), 1, + ts_builtin_sym_end, + STATE(19), 2, sym_node, aux_sym_source_file_repeat1, - [299] = 1, - ACTIONS(61), 4, - ts_builtin_sym_end, + [452] = 5, + ACTIONS(3), 1, + sym__S, + ACTIONS(11), 1, anon_sym_GT, + ACTIONS(15), 1, + sym_node_name, + ACTIONS(75), 1, + anon_sym_RBRACE, + STATE(23), 2, + sym_node, + aux_sym_source_file_repeat1, + [469] = 5, + ACTIONS(3), 1, + sym__S, + ACTIONS(61), 1, anon_sym_RBRACE, + ACTIONS(77), 1, + anon_sym_GT, + ACTIONS(80), 1, sym_node_name, - [306] = 4, - ACTIONS(63), 1, + STATE(23), 2, + sym_node, + aux_sym_source_file_repeat1, + [486] = 5, + ACTIONS(3), 1, + sym__S, + ACTIONS(83), 1, anon_sym_RBRACE, - ACTIONS(65), 1, + ACTIONS(85), 1, anon_sym_AT, - ACTIONS(67), 1, + ACTIONS(88), 1, sym_literal_text, - STATE(22), 1, + STATE(24), 1, aux_sym_text_node_repeat1, - [319] = 1, - ACTIONS(55), 4, - anon_sym_LBRACE, - sym_class_shorthand, - sym_id_shorthand, - sym_attribute_name, - [326] = 1, - ACTIONS(69), 4, - ts_builtin_sym_end, - anon_sym_GT, + [502] = 5, + ACTIONS(3), 1, + sym__S, + ACTIONS(91), 1, anon_sym_RBRACE, - sym_node_name, - [333] = 4, - ACTIONS(65), 1, + ACTIONS(93), 1, anon_sym_AT, - ACTIONS(71), 1, + ACTIONS(95), 1, + sym_literal_text, + STATE(26), 1, + aux_sym_text_node_repeat1, + [518] = 5, + ACTIONS(3), 1, + sym__S, + ACTIONS(93), 1, + anon_sym_AT, + ACTIONS(97), 1, anon_sym_RBRACE, - ACTIONS(73), 1, + ACTIONS(99), 1, sym_literal_text, - STATE(25), 1, + STATE(24), 1, aux_sym_text_node_repeat1, - [346] = 1, - ACTIONS(75), 4, + [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, + sym__S, + ACTIONS(69), 4, anon_sym_LBRACE, sym_class_shorthand, sym_id_shorthand, sym_attribute_name, - [353] = 1, - ACTIONS(77), 4, + [554] = 3, + ACTIONS(3), 1, + sym__S, + ACTIONS(105), 1, + sym_node_name, + ACTIONS(103), 2, ts_builtin_sym_end, anon_sym_GT, + [565] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(83), 3, anon_sym_RBRACE, - sym_node_name, - [360] = 4, - ACTIONS(79), 1, - anon_sym_RBRACE, - ACTIONS(81), 1, anon_sym_AT, - ACTIONS(84), 1, sym_literal_text, - STATE(25), 1, - aux_sym_text_node_repeat1, - [373] = 1, - ACTIONS(87), 4, + [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, + sym__S, + ACTIONS(113), 1, + sym_node_name, + ACTIONS(111), 2, ts_builtin_sym_end, anon_sym_GT, + [598] = 3, + ACTIONS(3), 1, + sym__S, + ACTIONS(117), 1, + sym_node_name, + ACTIONS(115), 2, + 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, - [380] = 2, - ACTIONS(61), 1, - sym_literal_text, - ACTIONS(89), 2, + ACTIONS(119), 2, + anon_sym_GT, + anon_sym_RBRACE, + [631] = 3, + ACTIONS(3), 1, + sym__S, + ACTIONS(117), 1, + sym_node_name, + ACTIONS(115), 2, + anon_sym_GT, + anon_sym_RBRACE, + [642] = 3, + ACTIONS(3), 1, + sym__S, + ACTIONS(113), 1, + sym_node_name, + ACTIONS(111), 2, + anon_sym_GT, + anon_sym_RBRACE, + [653] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(103), 3, anon_sym_RBRACE, anon_sym_AT, - [388] = 2, - ACTIONS(87), 1, sym_literal_text, - ACTIONS(91), 2, + [662] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(119), 3, anon_sym_RBRACE, anon_sym_AT, - [396] = 2, - ACTIONS(77), 1, sym_literal_text, - ACTIONS(93), 2, + [671] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(115), 3, anon_sym_RBRACE, anon_sym_AT, - [404] = 2, - ACTIONS(69), 1, sym_literal_text, - ACTIONS(95), 2, + [680] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(111), 3, anon_sym_RBRACE, anon_sym_AT, - [412] = 3, - ACTIONS(97), 1, - anon_sym_GT, - ACTIONS(99), 1, - sym_node_name, - STATE(32), 1, - sym_node, - [422] = 2, - ACTIONS(101), 1, sym_literal_text, - ACTIONS(79), 2, + [689] = 3, + ACTIONS(3), 1, + sym__S, + ACTIONS(121), 1, + sym_node_name, + ACTIONS(119), 2, + ts_builtin_sym_end, + anon_sym_GT, + [700] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(75), 1, anon_sym_RBRACE, - anon_sym_AT, - [430] = 1, - ACTIONS(103), 1, + [707] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(21), 1, anon_sym_RBRACE, - [434] = 1, - ACTIONS(105), 1, - anon_sym_LBRACE, - [438] = 1, - ACTIONS(107), 1, - sym_node_name, - [442] = 1, - ACTIONS(19), 1, + [714] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(23), 1, anon_sym_RBRACE, - [446] = 1, - ACTIONS(33), 1, - anon_sym_LBRACE, - [450] = 1, - ACTIONS(109), 1, + [721] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(123), 1, sym_attribute_value, - [454] = 1, - ACTIONS(15), 1, + [728] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(125), 1, anon_sym_RBRACE, - [458] = 1, - ACTIONS(9), 1, + [735] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(13), 1, anon_sym_RBRACE, - [462] = 1, - ACTIONS(59), 1, + [742] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(127), 1, + sym_node_name, + [749] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(31), 1, anon_sym_RBRACE, - [466] = 1, - ACTIONS(111), 1, + [756] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(33), 1, anon_sym_RBRACE, - [470] = 1, - ACTIONS(21), 1, + [763] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(25), 1, anon_sym_RBRACE, - [474] = 1, - ACTIONS(113), 1, + [770] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(129), 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, + sym__S, + ACTIONS(133), 1, + anon_sym_LBRACE, + [805] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(135), 1, + anon_sym_RBRACE, + [812] = 2, + ACTIONS(137), 1, ts_builtin_sym_end, - [478] = 1, - ACTIONS(23), 1, + ACTIONS(139), 1, + sym__S, + [819] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(41), 1, anon_sym_LBRACE, - [482] = 1, - ACTIONS(115), 1, + [826] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(141), 1, anon_sym_LBRACE, - [486] = 1, - ACTIONS(117), 1, + [833] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(143), 1, + sym_node_name, + [840] = 2, + ACTIONS(3), 1, + sym__S, + ACTIONS(145), 1, sym_node_name, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 24, - [SMALL_STATE(4)] = 48, - [SMALL_STATE(5)] = 72, - [SMALL_STATE(6)] = 96, - [SMALL_STATE(7)] = 120, - [SMALL_STATE(8)] = 144, - [SMALL_STATE(9)] = 162, - [SMALL_STATE(10)] = 180, - [SMALL_STATE(11)] = 198, - [SMALL_STATE(12)] = 216, - [SMALL_STATE(13)] = 231, - [SMALL_STATE(14)] = 246, - [SMALL_STATE(15)] = 261, - [SMALL_STATE(16)] = 275, - [SMALL_STATE(17)] = 285, - [SMALL_STATE(18)] = 299, - [SMALL_STATE(19)] = 306, - [SMALL_STATE(20)] = 319, - [SMALL_STATE(21)] = 326, - [SMALL_STATE(22)] = 333, - [SMALL_STATE(23)] = 346, - [SMALL_STATE(24)] = 353, - [SMALL_STATE(25)] = 360, - [SMALL_STATE(26)] = 373, - [SMALL_STATE(27)] = 380, - [SMALL_STATE(28)] = 388, - [SMALL_STATE(29)] = 396, - [SMALL_STATE(30)] = 404, - [SMALL_STATE(31)] = 412, - [SMALL_STATE(32)] = 422, - [SMALL_STATE(33)] = 430, - [SMALL_STATE(34)] = 434, - [SMALL_STATE(35)] = 438, - [SMALL_STATE(36)] = 442, - [SMALL_STATE(37)] = 446, - [SMALL_STATE(38)] = 450, - [SMALL_STATE(39)] = 454, - [SMALL_STATE(40)] = 458, - [SMALL_STATE(41)] = 462, - [SMALL_STATE(42)] = 466, - [SMALL_STATE(43)] = 470, - [SMALL_STATE(44)] = 474, - [SMALL_STATE(45)] = 478, - [SMALL_STATE(46)] = 482, - [SMALL_STATE(47)] = 486, + [SMALL_STATE(3)] = 27, + [SMALL_STATE(4)] = 54, + [SMALL_STATE(5)] = 81, + [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, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), - [3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [37] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(35), - [40] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(9), - [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2), - [45] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2), SHIFT_REPEAT(20), - [48] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2), SHIFT_REPEAT(16), + [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(sym_source_file, 1), - [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1), - [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node_body, 1), - [61] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node, 3), - [63] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_text_node, 1), - [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node, 4), - [71] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_text_node, 2), - [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3), - [77] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node, 5), - [79] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_text_node_repeat1, 2), - [81] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_text_node_repeat1, 2), SHIFT_REPEAT(31), - [84] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_text_node_repeat1, 2), SHIFT_REPEAT(25), - [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_node, 6), - [89] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node, 3), - [91] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node, 6), - [93] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node, 5), - [95] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_node, 4), - [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_text_node_repeat1, 2), - [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [113] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [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), }; #ifdef __cplusplus -- cgit v1.2.3