diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/grammar.json | 2 | ||||
| -rw-r--r-- | src/parser.c | 1218 | 
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  |