diff --git a/grammar.js b/grammar.js index de4c1e5..2067b74 100644 --- a/grammar.js +++ b/grammar.js @@ -117,27 +117,29 @@ module.exports = grammar({ $.attribute_name, optional(seq( '=', - choice( - $.attribute_value, - $.quoted_attribute_value, - ), + $._attribute_value, )), ), attribute_name: _ => /[^<>"'/=\s]+/, - attribute_value: _ => /[^<>"'=\s]+/, - // An entity can be named, numeric (decimal), or numeric (hexacecimal). The // longest entity name is 29 characters long, and the HTML spec says that // no more will ever be added. entity: _ => /&(#([xX][0-9a-fA-F]{1,6}|[0-9]{1,5})|[A-Za-z]{1,30});?/, - quoted_attribute_value: $ => choice( - seq('\'', optional(alias(/[^']+/, $.attribute_value)), '\''), - seq('"', optional(alias(/[^"]+/, $.attribute_value)), '"'), + _attribute_value: $ => choice( + $.doublequoted_attribute_value, + $.singlequoted_attribute_value, + $.unquoted_attribute_value, ), + doublequoted_attribute_value: $ => seq('"', /[^"]*/, '"'), + + singlequoted_attribute_value: $ => seq('\'', /[^']*/, '\''), + + unquoted_attribute_value: $ => /[^"'>\s][^>\s]*/, + text: _ => /[^<>&\s]([^<>&]*[^<>&\s])?/, }, }); diff --git a/queries/highlights.scm b/queries/highlights.scm index ea0ff4e..6d44d7b 100644 --- a/queries/highlights.scm +++ b/queries/highlights.scm @@ -2,7 +2,9 @@ (erroneous_end_tag_name) @tag.error (doctype) @constant (attribute_name) @attribute -(attribute_value) @string +(doublequoted_attribute_value) @string +(singlequoted_attribute_value) @string +(unquoted_attribute_value) @string (comment) @comment [ diff --git a/src/grammar.json b/src/grammar.json index cf34624..c246839 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -342,17 +342,8 @@ "value": "=" }, { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "attribute_value" - }, - { - "type": "SYMBOL", - "name": "quoted_attribute_value" - } - ] + "type": "SYMBOL", + "name": "_attribute_value" } ] }, @@ -367,79 +358,65 @@ "type": "PATTERN", "value": "[^<>\"'/=\\s]+" }, - "attribute_value": { - "type": "PATTERN", - "value": "[^<>\"'=\\s]+" - }, "entity": { "type": "PATTERN", "value": "&(#([xX][0-9a-fA-F]{1,6}|[0-9]{1,5})|[A-Za-z]{1,30});?" }, - "quoted_attribute_value": { + "_attribute_value": { "type": "CHOICE", "members": [ { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "'" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "ALIAS", - "content": { - "type": "PATTERN", - "value": "[^']+" - }, - "named": true, - "value": "attribute_value" - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "STRING", - "value": "'" - } - ] + "type": "SYMBOL", + "name": "doublequoted_attribute_value" }, { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "\"" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "ALIAS", - "content": { - "type": "PATTERN", - "value": "[^\"]+" - }, - "named": true, - "value": "attribute_value" - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "STRING", - "value": "\"" - } - ] + "type": "SYMBOL", + "name": "singlequoted_attribute_value" + }, + { + "type": "SYMBOL", + "name": "unquoted_attribute_value" + } + ] + }, + "doublequoted_attribute_value": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "\"" + }, + { + "type": "PATTERN", + "value": "[^\"]*" + }, + { + "type": "STRING", + "value": "\"" } ] }, + "singlequoted_attribute_value": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "'" + }, + { + "type": "PATTERN", + "value": "[^']*" + }, + { + "type": "STRING", + "value": "'" + } + ] + }, + "unquoted_attribute_value": { + "type": "PATTERN", + "value": "[^\"'>\\s][^>\\s]*" + }, "text": { "type": "PATTERN", "value": "[^<>&\\s]([^<>&]*[^<>&\\s])?" diff --git a/src/node-types.json b/src/node-types.json index 07fc375..92f1922 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -12,11 +12,15 @@ "named": true }, { - "type": "attribute_value", + "type": "doublequoted_attribute_value", "named": true }, { - "type": "quoted_attribute_value", + "type": "singlequoted_attribute_value", + "named": true + }, + { + "type": "unquoted_attribute_value", "named": true } ] @@ -66,6 +70,11 @@ ] } }, + { + "type": "doublequoted_attribute_value", + "named": true, + "fields": {} + }, { "type": "element", "named": true, @@ -147,21 +156,6 @@ ] } }, - { - "type": "quoted_attribute_value", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": false, - "types": [ - { - "type": "attribute_value", - "named": true - } - ] - } - }, { "type": "script_element", "named": true, @@ -204,6 +198,11 @@ ] } }, + { + "type": "singlequoted_attribute_value", + "named": true, + "fields": {} + }, { "type": "start_tag", "named": true, @@ -282,10 +281,6 @@ "type": "attribute_name", "named": true }, - { - "type": "attribute_value", - "named": true - }, { "type": "comment", "named": true @@ -313,5 +308,9 @@ { "type": "text", "named": true + }, + { + "type": "unquoted_attribute_value", + "named": true } ] \ No newline at end of file diff --git a/src/parser.c b/src/parser.c index 0b97e1e..d3e827a 100644 --- a/src/parser.c +++ b/src/parser.c @@ -8,7 +8,7 @@ #define LANGUAGE_VERSION 14 #define STATE_COUNT 94 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 41 +#define SYMBOL_COUNT 43 #define ALIAS_COUNT 0 #define TOKEN_COUNT 25 #define EXTERNAL_TOKEN_COUNT 9 @@ -26,12 +26,12 @@ enum ts_symbol_identifiers { anon_sym_LT_SLASH = 7, anon_sym_EQ = 8, sym_attribute_name = 9, - sym_attribute_value = 10, - sym_entity = 11, - anon_sym_SQUOTE = 12, - aux_sym_quoted_attribute_value_token1 = 13, - anon_sym_DQUOTE = 14, - aux_sym_quoted_attribute_value_token2 = 15, + sym_entity = 10, + anon_sym_DQUOTE = 11, + aux_sym_doublequoted_attribute_value_token1 = 12, + anon_sym_SQUOTE = 13, + aux_sym_singlequoted_attribute_value_token1 = 14, + sym_unquoted_attribute_value = 15, sym_text = 16, sym__start_tag_name = 17, sym__script_start_tag_name = 18, @@ -54,9 +54,11 @@ enum ts_symbol_identifiers { sym_end_tag = 35, sym_erroneous_end_tag = 36, sym_attribute = 37, - sym_quoted_attribute_value = 38, - aux_sym_document_repeat1 = 39, - aux_sym_start_tag_repeat1 = 40, + sym__attribute_value = 38, + sym_doublequoted_attribute_value = 39, + sym_singlequoted_attribute_value = 40, + aux_sym_document_repeat1 = 41, + aux_sym_start_tag_repeat1 = 42, }; static const char * const ts_symbol_names[] = { @@ -70,12 +72,12 @@ static const char * const ts_symbol_names[] = { [anon_sym_LT_SLASH] = "eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(18); - if (lookahead == '"') ADVANCE(73); - if (lookahead == '&') ADVANCE(3); + if (eof) ADVANCE(16); + if (lookahead == '"') ADVANCE(67); + if (lookahead == '&') ADVANCE(2); if (lookahead == '\'') ADVANCE(70); - if (lookahead == '/') ADVANCE(6); - if (lookahead == '<') ADVANCE(24); - if (lookahead == '=') ADVANCE(27); - if (lookahead == '>') ADVANCE(22); + if (lookahead == '/') ADVANCE(4); + if (lookahead == '<') ADVANCE(22); + if (lookahead == '=') ADVANCE(25); + if (lookahead == '>') ADVANCE(20); if (lookahead == 'D' || - lookahead == 'd') ADVANCE(9); + lookahead == 'd') ADVANCE(7); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(0) END_STATE(); case 1: - if (lookahead == '"') ADVANCE(73); + if (lookahead == '"') ADVANCE(67); if (lookahead == '\'') ADVANCE(70); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(1) if (lookahead != 0 && - (lookahead < '<' || '>' < lookahead)) ADVANCE(29); + lookahead != '>') ADVANCE(73); END_STATE(); case 2: - if (lookahead == '"') ADVANCE(73); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(74); - if (lookahead != 0) ADVANCE(75); - END_STATE(); - case 3: - if (lookahead == '#') ADVANCE(12); + if (lookahead == '#') ADVANCE(10); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(69); - END_STATE(); - case 4: - if (lookahead == '\'') ADVANCE(70); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(71); - if (lookahead != 0) ADVANCE(72); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(66); END_STATE(); - case 5: - if (lookahead == '/') ADVANCE(6); - if (lookahead == '=') ADVANCE(27); - if (lookahead == '>') ADVANCE(22); + case 3: + if (lookahead == '/') ADVANCE(4); + if (lookahead == '=') ADVANCE(25); + if (lookahead == '>') ADVANCE(20); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(5) + lookahead == ' ') SKIP(3) if (lookahead != 0 && lookahead != '"' && lookahead != '\'' && - lookahead != '<') ADVANCE(28); + lookahead != '<') ADVANCE(26); END_STATE(); - case 6: - if (lookahead == '>') ADVANCE(25); + case 4: + if (lookahead == '>') ADVANCE(23); END_STATE(); - case 7: + case 5: if (lookahead == 'C' || - lookahead == 'c') ADVANCE(11); + lookahead == 'c') ADVANCE(9); END_STATE(); - case 8: + case 6: if (lookahead == 'E' || - lookahead == 'e') ADVANCE(23); + lookahead == 'e') ADVANCE(21); END_STATE(); - case 9: + case 7: if (lookahead == 'O' || - lookahead == 'o') ADVANCE(7); + lookahead == 'o') ADVANCE(5); END_STATE(); - case 10: + case 8: if (lookahead == 'P' || - lookahead == 'p') ADVANCE(8); + lookahead == 'p') ADVANCE(6); END_STATE(); - case 11: + case 9: if (lookahead == 'T' || - lookahead == 't') ADVANCE(13); + lookahead == 't') ADVANCE(11); END_STATE(); - case 12: + case 10: if (lookahead == 'X' || - lookahead == 'x') ADVANCE(16); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(35); + lookahead == 'x') ADVANCE(14); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(32); END_STATE(); - case 13: + case 11: if (lookahead == 'Y' || - lookahead == 'y') ADVANCE(10); + lookahead == 'y') ADVANCE(8); END_STATE(); - case 14: + case 12: if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(14); + lookahead == ' ') ADVANCE(12); if (lookahead != 0 && lookahead != '&' && lookahead != '<' && - lookahead != '>') ADVANCE(76); + lookahead != '>') ADVANCE(74); END_STATE(); - case 15: + case 13: if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(20); + lookahead == ' ') ADVANCE(18); if (lookahead != 0 && - lookahead != '>') ADVANCE(21); + lookahead != '>') ADVANCE(19); END_STATE(); - case 16: + case 14: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(40); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(37); END_STATE(); - case 17: - if (eof) ADVANCE(18); - if (lookahead == '&') ADVANCE(3); - if (lookahead == '<') ADVANCE(24); + case 15: + if (eof) ADVANCE(16); + if (lookahead == '&') ADVANCE(2); + if (lookahead == '<') ADVANCE(22); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(17) + lookahead == ' ') SKIP(15) if (lookahead != 0 && - lookahead != '>') ADVANCE(76); + lookahead != '>') ADVANCE(74); END_STATE(); - case 18: + case 16: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); - case 19: + case 17: ACCEPT_TOKEN(anon_sym_LT_BANG); END_STATE(); - case 20: + case 18: ACCEPT_TOKEN(aux_sym_doctype_token1); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(20); + lookahead == ' ') ADVANCE(18); if (lookahead != 0 && - lookahead != '>') ADVANCE(21); + lookahead != '>') ADVANCE(19); END_STATE(); - case 21: + case 19: ACCEPT_TOKEN(aux_sym_doctype_token1); if (lookahead != 0 && - lookahead != '>') ADVANCE(21); + lookahead != '>') ADVANCE(19); END_STATE(); - case 22: + case 20: ACCEPT_TOKEN(anon_sym_GT); END_STATE(); - case 23: + case 21: ACCEPT_TOKEN(sym__doctype); END_STATE(); - case 24: + case 22: ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '!') ADVANCE(19); - if (lookahead == '/') ADVANCE(26); + if (lookahead == '!') ADVANCE(17); + if (lookahead == '/') ADVANCE(24); END_STATE(); - case 25: + case 23: ACCEPT_TOKEN(anon_sym_SLASH_GT); END_STATE(); - case 26: + case 24: ACCEPT_TOKEN(anon_sym_LT_SLASH); END_STATE(); - case 27: + case 25: ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); - case 28: + case 26: ACCEPT_TOKEN(sym_attribute_name); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && @@ -579,291 +581,289 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead != '"' && lookahead != '\'' && lookahead != '/' && - (lookahead < '<' || '>' < lookahead)) ADVANCE(28); + (lookahead < '<' || '>' < lookahead)) ADVANCE(26); + END_STATE(); + case 27: + ACCEPT_TOKEN(sym_entity); + END_STATE(); + case 28: + ACCEPT_TOKEN(sym_entity); + if (lookahead == ';') ADVANCE(27); END_STATE(); case 29: - ACCEPT_TOKEN(sym_attribute_value); - if (lookahead != 0 && - (lookahead < '\t' || '\r' < lookahead) && - lookahead != ' ' && - lookahead != '"' && - lookahead != '\'' && - (lookahead < '<' || '>' < lookahead)) ADVANCE(29); + ACCEPT_TOKEN(sym_entity); + if (lookahead == ';') ADVANCE(27); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(28); END_STATE(); case 30: ACCEPT_TOKEN(sym_entity); + if (lookahead == ';') ADVANCE(27); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(29); END_STATE(); case 31: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(30); END_STATE(); case 32: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(31); END_STATE(); case 33: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(32); + if (lookahead == ';') ADVANCE(27); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(28); END_STATE(); case 34: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(33); + if (lookahead == ';') ADVANCE(27); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(33); END_STATE(); case 35: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(34); + if (lookahead == ';') ADVANCE(27); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(34); END_STATE(); case 36: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(31); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(35); END_STATE(); case 37: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(36); END_STATE(); case 38: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(37); + if (lookahead == ';') ADVANCE(27); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(28); END_STATE(); case 39: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(38); + if (lookahead == ';') ADVANCE(27); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(38); END_STATE(); case 40: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(39); + if (lookahead == ';') ADVANCE(27); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(39); END_STATE(); case 41: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(31); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(40); END_STATE(); case 42: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(41); END_STATE(); case 43: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(42); END_STATE(); case 44: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(43); END_STATE(); case 45: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 46: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(45); END_STATE(); case 47: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(46); END_STATE(); case 48: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(47); END_STATE(); case 49: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(48); END_STATE(); case 50: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(49); END_STATE(); case 51: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(50); END_STATE(); case 52: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(51); END_STATE(); case 53: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); END_STATE(); case 54: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(53); END_STATE(); case 55: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(54); END_STATE(); case 56: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(55); END_STATE(); case 57: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(56); END_STATE(); case 58: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(57); END_STATE(); case 59: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(58); END_STATE(); case 60: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(59); END_STATE(); case 61: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(60); END_STATE(); case 62: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(61); END_STATE(); case 63: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(62); END_STATE(); case 64: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(63); END_STATE(); case 65: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(64); END_STATE(); case 66: ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); + if (lookahead == ';') ADVANCE(27); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(65); END_STATE(); case 67: - ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(66); + ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); case 68: - ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(67); + ACCEPT_TOKEN(aux_sym_doublequoted_attribute_value_token1); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(68); + if (lookahead != 0 && + lookahead != '"') ADVANCE(69); END_STATE(); case 69: - ACCEPT_TOKEN(sym_entity); - if (lookahead == ';') ADVANCE(30); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(68); + ACCEPT_TOKEN(aux_sym_doublequoted_attribute_value_token1); + if (lookahead != 0 && + lookahead != '"') ADVANCE(69); END_STATE(); case 70: ACCEPT_TOKEN(anon_sym_SQUOTE); END_STATE(); case 71: - ACCEPT_TOKEN(aux_sym_quoted_attribute_value_token1); + ACCEPT_TOKEN(aux_sym_singlequoted_attribute_value_token1); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') ADVANCE(71); if (lookahead != 0 && lookahead != '\'') ADVANCE(72); END_STATE(); case 72: - ACCEPT_TOKEN(aux_sym_quoted_attribute_value_token1); + ACCEPT_TOKEN(aux_sym_singlequoted_attribute_value_token1); if (lookahead != 0 && lookahead != '\'') ADVANCE(72); END_STATE(); case 73: - ACCEPT_TOKEN(anon_sym_DQUOTE); - END_STATE(); - case 74: - ACCEPT_TOKEN(aux_sym_quoted_attribute_value_token2); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(74); - if (lookahead != 0 && - lookahead != '"') ADVANCE(75); - END_STATE(); - case 75: - ACCEPT_TOKEN(aux_sym_quoted_attribute_value_token2); + ACCEPT_TOKEN(sym_unquoted_attribute_value); if (lookahead != 0 && - lookahead != '"') ADVANCE(75); + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ' && + lookahead != '>') ADVANCE(73); END_STATE(); - case 76: + case 74: ACCEPT_TOKEN(sym_text); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(14); + lookahead == ' ') ADVANCE(12); if (lookahead != 0 && lookahead != '&' && lookahead != '<' && - lookahead != '>') ADVANCE(76); + lookahead != '>') ADVANCE(74); END_STATE(); default: return false; @@ -872,98 +872,98 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0, .external_lex_state = 1}, - [1] = {.lex_state = 17, .external_lex_state = 2}, - [2] = {.lex_state = 17, .external_lex_state = 3}, - [3] = {.lex_state = 17, .external_lex_state = 3}, - [4] = {.lex_state = 17, .external_lex_state = 3}, - [5] = {.lex_state = 17, .external_lex_state = 3}, - [6] = {.lex_state = 17, .external_lex_state = 3}, - [7] = {.lex_state = 17, .external_lex_state = 2}, - [8] = {.lex_state = 17, .external_lex_state = 2}, - [9] = {.lex_state = 17, .external_lex_state = 2}, - [10] = {.lex_state = 17, .external_lex_state = 2}, - [11] = {.lex_state = 17, .external_lex_state = 2}, - [12] = {.lex_state = 17, .external_lex_state = 3}, - [13] = {.lex_state = 17, .external_lex_state = 3}, - [14] = {.lex_state = 17, .external_lex_state = 2}, - [15] = {.lex_state = 17, .external_lex_state = 2}, - [16] = {.lex_state = 17, .external_lex_state = 3}, - [17] = {.lex_state = 17, .external_lex_state = 2}, - [18] = {.lex_state = 17, .external_lex_state = 3}, - [19] = {.lex_state = 17, .external_lex_state = 3}, - [20] = {.lex_state = 17, .external_lex_state = 3}, - [21] = {.lex_state = 17, .external_lex_state = 2}, - [22] = {.lex_state = 17, .external_lex_state = 3}, - [23] = {.lex_state = 17, .external_lex_state = 2}, - [24] = {.lex_state = 17, .external_lex_state = 3}, - [25] = {.lex_state = 17, .external_lex_state = 3}, - [26] = {.lex_state = 17, .external_lex_state = 3}, - [27] = {.lex_state = 17, .external_lex_state = 2}, - [28] = {.lex_state = 17, .external_lex_state = 2}, - [29] = {.lex_state = 17, .external_lex_state = 2}, - [30] = {.lex_state = 17, .external_lex_state = 3}, - [31] = {.lex_state = 17, .external_lex_state = 3}, - [32] = {.lex_state = 17, .external_lex_state = 3}, - [33] = {.lex_state = 17, .external_lex_state = 3}, - [34] = {.lex_state = 17, .external_lex_state = 2}, - [35] = {.lex_state = 5, .external_lex_state = 4}, - [36] = {.lex_state = 5, .external_lex_state = 4}, - [37] = {.lex_state = 5, .external_lex_state = 4}, - [38] = {.lex_state = 5, .external_lex_state = 4}, - [39] = {.lex_state = 5, .external_lex_state = 4}, - [40] = {.lex_state = 5, .external_lex_state = 2}, - [41] = {.lex_state = 5, .external_lex_state = 2}, - [42] = {.lex_state = 5, .external_lex_state = 4}, - [43] = {.lex_state = 1, .external_lex_state = 2}, - [44] = {.lex_state = 1, .external_lex_state = 2}, - [45] = {.lex_state = 5, .external_lex_state = 2}, - [46] = {.lex_state = 5, .external_lex_state = 2}, - [47] = {.lex_state = 5, .external_lex_state = 2}, - [48] = {.lex_state = 5, .external_lex_state = 4}, - [49] = {.lex_state = 5, .external_lex_state = 2}, - [50] = {.lex_state = 5, .external_lex_state = 4}, - [51] = {.lex_state = 0, .external_lex_state = 5}, - [52] = {.lex_state = 0, .external_lex_state = 5}, - [53] = {.lex_state = 5, .external_lex_state = 4}, + [1] = {.lex_state = 15, .external_lex_state = 2}, + [2] = {.lex_state = 15, .external_lex_state = 3}, + [3] = {.lex_state = 15, .external_lex_state = 3}, + [4] = {.lex_state = 15, .external_lex_state = 3}, + [5] = {.lex_state = 15, .external_lex_state = 3}, + [6] = {.lex_state = 15, .external_lex_state = 2}, + [7] = {.lex_state = 15, .external_lex_state = 3}, + [8] = {.lex_state = 15, .external_lex_state = 2}, + [9] = {.lex_state = 15, .external_lex_state = 2}, + [10] = {.lex_state = 15, .external_lex_state = 3}, + [11] = {.lex_state = 15, .external_lex_state = 2}, + [12] = {.lex_state = 15, .external_lex_state = 3}, + [13] = {.lex_state = 15, .external_lex_state = 3}, + [14] = {.lex_state = 15, .external_lex_state = 3}, + [15] = {.lex_state = 15, .external_lex_state = 2}, + [16] = {.lex_state = 15, .external_lex_state = 2}, + [17] = {.lex_state = 15, .external_lex_state = 3}, + [18] = {.lex_state = 15, .external_lex_state = 3}, + [19] = {.lex_state = 15, .external_lex_state = 2}, + [20] = {.lex_state = 1, .external_lex_state = 2}, + [21] = {.lex_state = 15, .external_lex_state = 2}, + [22] = {.lex_state = 15, .external_lex_state = 3}, + [23] = {.lex_state = 15, .external_lex_state = 2}, + [24] = {.lex_state = 15, .external_lex_state = 3}, + [25] = {.lex_state = 15, .external_lex_state = 3}, + [26] = {.lex_state = 15, .external_lex_state = 3}, + [27] = {.lex_state = 15, .external_lex_state = 2}, + [28] = {.lex_state = 1, .external_lex_state = 2}, + [29] = {.lex_state = 15, .external_lex_state = 3}, + [30] = {.lex_state = 15, .external_lex_state = 3}, + [31] = {.lex_state = 15, .external_lex_state = 3}, + [32] = {.lex_state = 15, .external_lex_state = 2}, + [33] = {.lex_state = 15, .external_lex_state = 3}, + [34] = {.lex_state = 15, .external_lex_state = 2}, + [35] = {.lex_state = 15, .external_lex_state = 2}, + [36] = {.lex_state = 15, .external_lex_state = 2}, + [37] = {.lex_state = 3, .external_lex_state = 4}, + [38] = {.lex_state = 3, .external_lex_state = 4}, + [39] = {.lex_state = 3, .external_lex_state = 4}, + [40] = {.lex_state = 3, .external_lex_state = 4}, + [41] = {.lex_state = 3, .external_lex_state = 4}, + [42] = {.lex_state = 3, .external_lex_state = 2}, + [43] = {.lex_state = 3, .external_lex_state = 2}, + [44] = {.lex_state = 3, .external_lex_state = 4}, + [45] = {.lex_state = 3, .external_lex_state = 2}, + [46] = {.lex_state = 3, .external_lex_state = 2}, + [47] = {.lex_state = 3, .external_lex_state = 2}, + [48] = {.lex_state = 0, .external_lex_state = 5}, + [49] = {.lex_state = 0, .external_lex_state = 6}, + [50] = {.lex_state = 0, .external_lex_state = 6}, + [51] = {.lex_state = 3, .external_lex_state = 4}, + [52] = {.lex_state = 3, .external_lex_state = 4}, + [53] = {.lex_state = 3, .external_lex_state = 4}, [54] = {.lex_state = 0, .external_lex_state = 6}, [55] = {.lex_state = 0, .external_lex_state = 6}, - [56] = {.lex_state = 0, .external_lex_state = 6}, - [57] = {.lex_state = 0, .external_lex_state = 6}, - [58] = {.lex_state = 5, .external_lex_state = 2}, - [59] = {.lex_state = 0, .external_lex_state = 6}, - [60] = {.lex_state = 0, .external_lex_state = 6}, - [61] = {.lex_state = 0, .external_lex_state = 6}, - [62] = {.lex_state = 0, .external_lex_state = 7}, - [63] = {.lex_state = 0, .external_lex_state = 2}, - [64] = {.lex_state = 2, .external_lex_state = 2}, + [56] = {.lex_state = 3, .external_lex_state = 2}, + [57] = {.lex_state = 0, .external_lex_state = 5}, + [58] = {.lex_state = 0, .external_lex_state = 6}, + [59] = {.lex_state = 0, .external_lex_state = 7}, + [60] = {.lex_state = 0, .external_lex_state = 7}, + [61] = {.lex_state = 0, .external_lex_state = 2}, + [62] = {.lex_state = 0, .external_lex_state = 2}, + [63] = {.lex_state = 0, .external_lex_state = 6}, + [64] = {.lex_state = 0, .external_lex_state = 2}, [65] = {.lex_state = 0, .external_lex_state = 2}, - [66] = {.lex_state = 0, .external_lex_state = 7}, - [67] = {.lex_state = 4, .external_lex_state = 2}, - [68] = {.lex_state = 0, .external_lex_state = 2}, - [69] = {.lex_state = 5, .external_lex_state = 2}, - [70] = {.lex_state = 5, .external_lex_state = 2}, - [71] = {.lex_state = 2, .external_lex_state = 2}, + [66] = {.lex_state = 0, .external_lex_state = 6}, + [67] = {.lex_state = 0, .external_lex_state = 6}, + [68] = {.lex_state = 3, .external_lex_state = 2}, + [69] = {.lex_state = 3, .external_lex_state = 2}, + [70] = {.lex_state = 3, .external_lex_state = 2}, + [71] = {.lex_state = 0, .external_lex_state = 2}, [72] = {.lex_state = 0, .external_lex_state = 2}, - [73] = {.lex_state = 0, .external_lex_state = 6}, - [74] = {.lex_state = 4, .external_lex_state = 2}, - [75] = {.lex_state = 0, .external_lex_state = 2}, + [73] = {.lex_state = 0, .external_lex_state = 8}, + [74] = {.lex_state = 0, .external_lex_state = 2}, + [75] = {.lex_state = 71, .external_lex_state = 2}, [76] = {.lex_state = 0, .external_lex_state = 2}, [77] = {.lex_state = 0, .external_lex_state = 2}, - [78] = {.lex_state = 0, .external_lex_state = 2}, - [79] = {.lex_state = 15, .external_lex_state = 2}, + [78] = {.lex_state = 68, .external_lex_state = 2}, + [79] = {.lex_state = 0, .external_lex_state = 2}, [80] = {.lex_state = 0, .external_lex_state = 2}, - [81] = {.lex_state = 0, .external_lex_state = 8}, + [81] = {.lex_state = 13, .external_lex_state = 2}, [82] = {.lex_state = 0, .external_lex_state = 2}, [83] = {.lex_state = 0, .external_lex_state = 2}, [84] = {.lex_state = 0, .external_lex_state = 2}, - [85] = {.lex_state = 0, .external_lex_state = 9}, - [86] = {.lex_state = 0, .external_lex_state = 2}, - [87] = {.lex_state = 0, .external_lex_state = 2}, - [88] = {.lex_state = 0, .external_lex_state = 2}, - [89] = {.lex_state = 0, .external_lex_state = 8}, - [90] = {.lex_state = 15, .external_lex_state = 2}, - [91] = {.lex_state = 0, .external_lex_state = 2}, - [92] = {.lex_state = 0, .external_lex_state = 9}, + [85] = {.lex_state = 0, .external_lex_state = 2}, + [86] = {.lex_state = 0, .external_lex_state = 9}, + [87] = {.lex_state = 0, .external_lex_state = 9}, + [88] = {.lex_state = 13, .external_lex_state = 2}, + [89] = {.lex_state = 0, .external_lex_state = 2}, + [90] = {.lex_state = 0, .external_lex_state = 8}, + [91] = {.lex_state = 68, .external_lex_state = 2}, + [92] = {.lex_state = 71, .external_lex_state = 2}, [93] = {.lex_state = 0, .external_lex_state = 2}, }; @@ -978,8 +978,8 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_SLASH] = ACTIONS(1), [anon_sym_EQ] = ACTIONS(1), [sym_entity] = ACTIONS(1), - [anon_sym_SQUOTE] = ACTIONS(1), [anon_sym_DQUOTE] = ACTIONS(1), + [anon_sym_SQUOTE] = ACTIONS(1), [sym__start_tag_name] = ACTIONS(1), [sym__script_start_tag_name] = ACTIONS(1), [sym__style_start_tag_name] = ACTIONS(1), @@ -990,16 +990,16 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(3), }, [1] = { - [sym_document] = STATE(77), + [sym_document] = STATE(83), [sym_doctype] = STATE(8), [sym__node] = STATE(8), [sym_element] = STATE(8), [sym_script_element] = STATE(8), [sym_style_element] = STATE(8), - [sym_start_tag] = STATE(4), - [sym_script_start_tag] = STATE(54), - [sym_style_start_tag] = STATE(57), - [sym_self_closing_tag] = STATE(11), + [sym_start_tag] = STATE(5), + [sym_script_start_tag] = STATE(55), + [sym_style_start_tag] = STATE(54), + [sym_self_closing_tag] = STATE(9), [sym_erroneous_end_tag] = STATE(8), [aux_sym_document_repeat1] = STATE(8), [ts_builtin_sym_end] = ACTIONS(5), @@ -1024,20 +1024,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_SLASH, ACTIONS(23), 1, sym__implicit_end_tag, - STATE(5), 1, + STATE(3), 1, sym_start_tag, - STATE(9), 1, - sym_end_tag, - STATE(13), 1, + STATE(14), 1, sym_self_closing_tag, - STATE(55), 1, - sym_style_start_tag, - STATE(56), 1, + STATE(17), 1, + sym_end_tag, + STATE(49), 1, sym_script_start_tag, + STATE(50), 1, + sym_style_start_tag, ACTIONS(21), 2, sym_entity, sym_text, - STATE(6), 7, + STATE(7), 7, sym_doctype, sym__node, sym_element, @@ -1052,24 +1052,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_BANG, ACTIONS(17), 1, anon_sym_LT, - ACTIONS(25), 1, + ACTIONS(19), 1, anon_sym_LT_SLASH, ACTIONS(27), 1, sym__implicit_end_tag, - STATE(5), 1, + STATE(3), 1, sym_start_tag, STATE(13), 1, - sym_self_closing_tag, - STATE(22), 1, sym_end_tag, - STATE(55), 1, - sym_style_start_tag, - STATE(56), 1, + STATE(14), 1, + sym_self_closing_tag, + STATE(49), 1, sym_script_start_tag, - ACTIONS(21), 2, + STATE(50), 1, + sym_style_start_tag, + ACTIONS(25), 2, sym_entity, sym_text, - STATE(6), 7, + STATE(2), 7, sym_doctype, sym__node, sym_element, @@ -1084,24 +1084,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_BANG, ACTIONS(17), 1, anon_sym_LT, - ACTIONS(19), 1, + ACTIONS(29), 1, anon_sym_LT_SLASH, ACTIONS(31), 1, sym__implicit_end_tag, - STATE(5), 1, + STATE(3), 1, sym_start_tag, - STATE(13), 1, + STATE(14), 1, sym_self_closing_tag, - STATE(17), 1, + STATE(34), 1, sym_end_tag, - STATE(55), 1, - sym_style_start_tag, - STATE(56), 1, + STATE(49), 1, sym_script_start_tag, - ACTIONS(29), 2, + STATE(50), 1, + sym_style_start_tag, + ACTIONS(21), 2, sym_entity, sym_text, - STATE(2), 7, + STATE(7), 7, sym_doctype, sym__node, sym_element, @@ -1116,24 +1116,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_BANG, ACTIONS(17), 1, anon_sym_LT, - ACTIONS(25), 1, + ACTIONS(29), 1, anon_sym_LT_SLASH, ACTIONS(35), 1, sym__implicit_end_tag, - STATE(5), 1, + STATE(3), 1, sym_start_tag, - STATE(12), 1, - sym_end_tag, - STATE(13), 1, + STATE(14), 1, sym_self_closing_tag, - STATE(55), 1, - sym_style_start_tag, - STATE(56), 1, + STATE(16), 1, + sym_end_tag, + STATE(49), 1, sym_script_start_tag, + STATE(50), 1, + sym_style_start_tag, ACTIONS(33), 2, sym_entity, sym_text, - STATE(3), 7, + STATE(4), 7, sym_doctype, sym__node, sym_element, @@ -1145,22 +1145,22 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(3), 1, sym_comment, ACTIONS(37), 1, + ts_builtin_sym_end, + ACTIONS(39), 1, anon_sym_LT_BANG, - ACTIONS(40), 1, + ACTIONS(42), 1, anon_sym_LT, - ACTIONS(43), 1, + ACTIONS(45), 1, anon_sym_LT_SLASH, - ACTIONS(49), 1, - sym__implicit_end_tag, STATE(5), 1, sym_start_tag, - STATE(13), 1, + STATE(9), 1, sym_self_closing_tag, - STATE(55), 1, + STATE(54), 1, sym_style_start_tag, - STATE(56), 1, + STATE(55), 1, sym_script_start_tag, - ACTIONS(46), 2, + ACTIONS(48), 2, sym_entity, sym_text, STATE(6), 7, @@ -1174,21 +1174,21 @@ static const uint16_t ts_small_parse_table[] = { [217] = 11, ACTIONS(3), 1, sym_comment, - ACTIONS(49), 1, - ts_builtin_sym_end, + ACTIONS(37), 1, + sym__implicit_end_tag, ACTIONS(51), 1, anon_sym_LT_BANG, ACTIONS(54), 1, anon_sym_LT, ACTIONS(57), 1, anon_sym_LT_SLASH, - STATE(4), 1, + STATE(3), 1, sym_start_tag, - STATE(11), 1, + STATE(14), 1, sym_self_closing_tag, - STATE(54), 1, + STATE(49), 1, sym_script_start_tag, - STATE(57), 1, + STATE(50), 1, sym_style_start_tag, ACTIONS(60), 2, sym_entity, @@ -1212,18 +1212,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_SLASH, ACTIONS(63), 1, ts_builtin_sym_end, - STATE(4), 1, + STATE(5), 1, sym_start_tag, - STATE(11), 1, + STATE(9), 1, sym_self_closing_tag, STATE(54), 1, - sym_script_start_tag, - STATE(57), 1, sym_style_start_tag, + STATE(55), 1, + sym_script_start_tag, ACTIONS(65), 2, sym_entity, sym_text, - STATE(7), 7, + STATE(6), 7, sym_doctype, sym__node, sym_element, @@ -1248,7 +1248,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(73), 1, anon_sym_LT, ACTIONS(71), 5, - ts_builtin_sym_end, + sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, @@ -1278,9 +1278,9 @@ static const uint16_t ts_small_parse_table[] = { [355] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(77), 1, + ACTIONS(85), 1, anon_sym_LT, - ACTIONS(75), 5, + ACTIONS(83), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, @@ -1289,10 +1289,10 @@ static const uint16_t ts_small_parse_table[] = { [369] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(85), 1, + ACTIONS(69), 1, anon_sym_LT, - ACTIONS(83), 5, - ts_builtin_sym_end, + ACTIONS(67), 5, + sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, @@ -1300,9 +1300,9 @@ static const uint16_t ts_small_parse_table[] = { [383] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(89), 1, + ACTIONS(73), 1, anon_sym_LT, - ACTIONS(87), 5, + ACTIONS(71), 5, ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, @@ -1311,10 +1311,10 @@ static const uint16_t ts_small_parse_table[] = { [397] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(89), 1, + ACTIONS(85), 1, anon_sym_LT, - ACTIONS(87), 5, - sym__implicit_end_tag, + ACTIONS(83), 5, + ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, @@ -1322,10 +1322,10 @@ static const uint16_t ts_small_parse_table[] = { [411] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(81), 1, + ACTIONS(89), 1, anon_sym_LT, - ACTIONS(79), 5, - ts_builtin_sym_end, + ACTIONS(87), 5, + sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, @@ -1347,602 +1347,598 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(97), 1, anon_sym_LT, ACTIONS(95), 5, - sym__implicit_end_tag, + ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, - [453] = 3, + [453] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(73), 1, - anon_sym_LT, - ACTIONS(71), 5, - sym__implicit_end_tag, - anon_sym_LT_BANG, - anon_sym_LT_SLASH, - sym_entity, - sym_text, - [467] = 3, + ACTIONS(99), 1, + anon_sym_DQUOTE, + ACTIONS(101), 1, + anon_sym_SQUOTE, + ACTIONS(103), 1, + sym_unquoted_attribute_value, + STATE(69), 3, + sym__attribute_value, + sym_doublequoted_attribute_value, + sym_singlequoted_attribute_value, + [471] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(101), 1, + ACTIONS(81), 1, anon_sym_LT, - ACTIONS(99), 5, + ACTIONS(79), 5, ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, - [481] = 3, + [485] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(69), 1, + ACTIONS(107), 1, anon_sym_LT, - ACTIONS(67), 5, + ACTIONS(105), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, - [495] = 3, + [499] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(105), 1, + ACTIONS(107), 1, anon_sym_LT, - ACTIONS(103), 5, + ACTIONS(105), 5, ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, - [509] = 3, + [513] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(109), 1, + ACTIONS(111), 1, anon_sym_LT, - ACTIONS(107), 5, + ACTIONS(109), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, - [523] = 3, + [527] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(113), 1, + ACTIONS(115), 1, anon_sym_LT, - ACTIONS(111), 5, + ACTIONS(113), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, - [537] = 3, + [541] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(117), 1, + ACTIONS(119), 1, anon_sym_LT, - ACTIONS(115), 5, + ACTIONS(117), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, - [551] = 3, + [555] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(121), 1, + ACTIONS(93), 1, anon_sym_LT, - ACTIONS(119), 5, + ACTIONS(91), 5, ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, - [565] = 3, + [569] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(93), 1, + ACTIONS(121), 1, + anon_sym_DQUOTE, + ACTIONS(123), 1, + anon_sym_SQUOTE, + ACTIONS(125), 1, + sym_unquoted_attribute_value, + STATE(51), 3, + sym__attribute_value, + sym_doublequoted_attribute_value, + sym_singlequoted_attribute_value, + [587] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(129), 1, anon_sym_LT, - ACTIONS(91), 5, - ts_builtin_sym_end, + ACTIONS(127), 5, + sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, - [579] = 3, + [601] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(97), 1, anon_sym_LT, ACTIONS(95), 5, - ts_builtin_sym_end, + sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, - [593] = 3, + [615] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(121), 1, + ACTIONS(77), 1, anon_sym_LT, - ACTIONS(119), 5, + ACTIONS(75), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, - [607] = 3, + [629] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(85), 1, + ACTIONS(111), 1, anon_sym_LT, - ACTIONS(83), 5, - sym__implicit_end_tag, + ACTIONS(109), 5, + ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, - [621] = 3, + [643] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(101), 1, + ACTIONS(133), 1, anon_sym_LT, - ACTIONS(99), 5, + ACTIONS(131), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, - [635] = 3, + [657] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(105), 1, + ACTIONS(89), 1, anon_sym_LT, - ACTIONS(103), 5, - sym__implicit_end_tag, + ACTIONS(87), 5, + ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, - [649] = 3, + [671] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(113), 1, + ACTIONS(129), 1, anon_sym_LT, - ACTIONS(111), 5, + ACTIONS(127), 5, ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, - [663] = 5, + [685] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(123), 1, + ACTIONS(133), 1, + anon_sym_LT, + ACTIONS(131), 5, + ts_builtin_sym_end, + anon_sym_LT_BANG, + anon_sym_LT_SLASH, + sym_entity, + sym_text, + [699] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(135), 1, anon_sym_GT, - ACTIONS(125), 1, + ACTIONS(137), 1, anon_sym_SLASH_GT, - ACTIONS(127), 1, + ACTIONS(139), 1, sym_attribute_name, STATE(38), 2, sym_attribute, aux_sym_start_tag_repeat1, - [680] = 5, + [716] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(127), 1, + ACTIONS(143), 1, sym_attribute_name, - ACTIONS(129), 1, + ACTIONS(141), 2, anon_sym_GT, - ACTIONS(131), 1, anon_sym_SLASH_GT, - STATE(37), 2, + STATE(38), 2, sym_attribute, aux_sym_start_tag_repeat1, - [697] = 4, + [731] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(135), 1, + ACTIONS(139), 1, sym_attribute_name, - ACTIONS(133), 2, + ACTIONS(146), 1, anon_sym_GT, + ACTIONS(148), 1, anon_sym_SLASH_GT, - STATE(37), 2, + STATE(41), 2, sym_attribute, aux_sym_start_tag_repeat1, - [712] = 5, + [748] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(127), 1, + ACTIONS(139), 1, sym_attribute_name, - ACTIONS(129), 1, + ACTIONS(146), 1, anon_sym_GT, - ACTIONS(138), 1, + ACTIONS(150), 1, anon_sym_SLASH_GT, STATE(37), 2, sym_attribute, aux_sym_start_tag_repeat1, - [729] = 5, + [765] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(123), 1, + ACTIONS(135), 1, anon_sym_GT, - ACTIONS(127), 1, + ACTIONS(139), 1, sym_attribute_name, - ACTIONS(140), 1, + ACTIONS(152), 1, anon_sym_SLASH_GT, - STATE(36), 2, + STATE(38), 2, sym_attribute, aux_sym_start_tag_repeat1, - [746] = 4, + [782] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(142), 1, + ACTIONS(154), 1, anon_sym_GT, - ACTIONS(144), 1, + ACTIONS(156), 1, sym_attribute_name, - STATE(47), 2, + STATE(45), 2, sym_attribute, aux_sym_start_tag_repeat1, - [760] = 4, + [796] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(144), 1, + ACTIONS(156), 1, sym_attribute_name, - ACTIONS(146), 1, + ACTIONS(158), 1, anon_sym_GT, - STATE(47), 2, + STATE(45), 2, sym_attribute, aux_sym_start_tag_repeat1, - [774] = 3, + [810] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(150), 1, + ACTIONS(162), 1, anon_sym_EQ, - ACTIONS(148), 3, + ACTIONS(160), 3, anon_sym_GT, anon_sym_SLASH_GT, sym_attribute_name, - [786] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(152), 1, - sym_attribute_value, - ACTIONS(154), 1, - anon_sym_SQUOTE, - ACTIONS(156), 1, - anon_sym_DQUOTE, - STATE(48), 1, - sym_quoted_attribute_value, - [802] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(158), 1, - sym_attribute_value, - ACTIONS(160), 1, - anon_sym_SQUOTE, - ACTIONS(162), 1, - anon_sym_DQUOTE, - STATE(69), 1, - sym_quoted_attribute_value, - [818] = 4, + [822] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(144), 1, - sym_attribute_name, - ACTIONS(164), 1, + ACTIONS(141), 1, anon_sym_GT, - STATE(40), 2, + ACTIONS(164), 1, + sym_attribute_name, + STATE(45), 2, sym_attribute, aux_sym_start_tag_repeat1, - [832] = 4, + [836] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(144), 1, + ACTIONS(156), 1, sym_attribute_name, - ACTIONS(166), 1, + ACTIONS(167), 1, anon_sym_GT, - STATE(41), 2, + STATE(43), 2, sym_attribute, aux_sym_start_tag_repeat1, - [846] = 4, + [850] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(133), 1, - anon_sym_GT, - ACTIONS(168), 1, + ACTIONS(156), 1, sym_attribute_name, - STATE(47), 2, + ACTIONS(169), 1, + anon_sym_GT, + STATE(42), 2, sym_attribute, aux_sym_start_tag_repeat1, - [860] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(171), 3, - anon_sym_GT, - anon_sym_SLASH_GT, - sym_attribute_name, - [869] = 3, + [864] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(171), 1, + sym__start_tag_name, ACTIONS(173), 1, - anon_sym_EQ, - ACTIONS(148), 2, - anon_sym_GT, - sym_attribute_name, - [880] = 2, + sym__script_start_tag_name, + ACTIONS(175), 1, + sym__style_start_tag_name, + [877] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(175), 3, - anon_sym_GT, - anon_sym_SLASH_GT, - sym_attribute_name, - [889] = 4, + ACTIONS(177), 1, + anon_sym_LT_SLASH, + ACTIONS(179), 1, + sym_raw_text, + STATE(12), 1, + sym_end_tag, + [890] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(177), 1, - sym__start_tag_name, - ACTIONS(179), 1, - sym__script_start_tag_name, + anon_sym_LT_SLASH, ACTIONS(181), 1, - sym__style_start_tag_name, - [902] = 4, + sym_raw_text, + STATE(22), 1, + sym_end_tag, + [903] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(179), 1, - sym__script_start_tag_name, - ACTIONS(181), 1, - sym__style_start_tag_name, - ACTIONS(183), 1, - sym__start_tag_name, - [915] = 2, + ACTIONS(183), 3, + anon_sym_GT, + anon_sym_SLASH_GT, + sym_attribute_name, + [912] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(185), 3, anon_sym_GT, anon_sym_SLASH_GT, sym_attribute_name, - [924] = 4, + [921] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(187), 1, - anon_sym_LT_SLASH, - ACTIONS(189), 1, - sym_raw_text, - STATE(21), 1, - sym_end_tag, - [937] = 4, + ACTIONS(187), 3, + anon_sym_GT, + anon_sym_SLASH_GT, + sym_attribute_name, + [930] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(191), 1, + ACTIONS(189), 1, anon_sym_LT_SLASH, - ACTIONS(193), 1, - sym_raw_text, - STATE(33), 1, - sym_end_tag, - [950] = 4, - ACTIONS(3), 1, - sym_comment, ACTIONS(191), 1, - anon_sym_LT_SLASH, - ACTIONS(195), 1, sym_raw_text, - STATE(32), 1, + STATE(23), 1, sym_end_tag, - [963] = 4, + [943] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(187), 1, + ACTIONS(189), 1, anon_sym_LT_SLASH, - ACTIONS(197), 1, + ACTIONS(193), 1, sym_raw_text, - STATE(23), 1, + STATE(21), 1, sym_end_tag, - [976] = 2, + [956] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(185), 2, + ACTIONS(195), 1, + anon_sym_EQ, + ACTIONS(160), 2, anon_sym_GT, sym_attribute_name, - [984] = 2, + [967] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(199), 2, - sym_raw_text, - anon_sym_LT_SLASH, - [992] = 2, + ACTIONS(173), 1, + sym__script_start_tag_name, + ACTIONS(175), 1, + sym__style_start_tag_name, + ACTIONS(197), 1, + sym__start_tag_name, + [980] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(201), 2, + ACTIONS(199), 2, sym_raw_text, anon_sym_LT_SLASH, - [1000] = 2, + [988] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(203), 2, - sym_raw_text, - anon_sym_LT_SLASH, - [1008] = 3, + ACTIONS(201), 1, + sym__end_tag_name, + ACTIONS(203), 1, + sym_erroneous_end_tag_name, + [998] = 3, ACTIONS(3), 1, sym_comment, + ACTIONS(203), 1, + sym_erroneous_end_tag_name, ACTIONS(205), 1, sym__end_tag_name, - ACTIONS(207), 1, - sym_erroneous_end_tag_name, + [1008] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(177), 1, + anon_sym_LT_SLASH, + STATE(33), 1, + sym_end_tag, [1018] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(187), 1, + ACTIONS(177), 1, anon_sym_LT_SLASH, STATE(29), 1, sym_end_tag, - [1028] = 3, + [1028] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(209), 1, - anon_sym_DQUOTE, - ACTIONS(211), 1, - aux_sym_quoted_attribute_value_token2, - [1038] = 3, + ACTIONS(207), 2, + sym_raw_text, + anon_sym_LT_SLASH, + [1036] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(187), 1, + ACTIONS(189), 1, anon_sym_LT_SLASH, - STATE(10), 1, + STATE(35), 1, sym_end_tag, - [1048] = 3, + [1046] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(207), 1, - sym_erroneous_end_tag_name, - ACTIONS(213), 1, - sym__end_tag_name, - [1058] = 3, + ACTIONS(189), 1, + anon_sym_LT_SLASH, + STATE(36), 1, + sym_end_tag, + [1056] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(209), 1, - anon_sym_SQUOTE, - ACTIONS(215), 1, - aux_sym_quoted_attribute_value_token1, - [1068] = 3, + ACTIONS(209), 2, + sym_raw_text, + anon_sym_LT_SLASH, + [1064] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(191), 1, + ACTIONS(211), 2, + sym_raw_text, anon_sym_LT_SLASH, - STATE(19), 1, - sym_end_tag, - [1078] = 2, + [1072] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(171), 2, + ACTIONS(187), 2, anon_sym_GT, sym_attribute_name, - [1086] = 2, + [1080] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(175), 2, + ACTIONS(183), 2, anon_sym_GT, sym_attribute_name, - [1094] = 3, + [1088] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(217), 1, - anon_sym_DQUOTE, - ACTIONS(219), 1, - aux_sym_quoted_attribute_value_token2, - [1104] = 3, + ACTIONS(185), 2, + anon_sym_GT, + sym_attribute_name, + [1096] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(191), 1, - anon_sym_LT_SLASH, - STATE(20), 1, - sym_end_tag, - [1114] = 2, + ACTIONS(213), 1, + anon_sym_GT, + [1103] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(221), 2, - sym_raw_text, - anon_sym_LT_SLASH, - [1122] = 3, + ACTIONS(215), 1, + anon_sym_GT, + [1110] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(201), 1, + sym__end_tag_name, + [1117] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(217), 1, - anon_sym_SQUOTE, + sym__doctype, + [1124] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(219), 1, + aux_sym_singlequoted_attribute_value_token1, + [1131] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(221), 1, + anon_sym_GT, + [1138] = 2, + ACTIONS(3), 1, + sym_comment, ACTIONS(223), 1, - aux_sym_quoted_attribute_value_token1, - [1132] = 2, + anon_sym_GT, + [1145] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(225), 1, - sym__doctype, - [1139] = 2, + aux_sym_doublequoted_attribute_value_token1, + [1152] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(227), 1, - anon_sym_GT, - [1146] = 2, + anon_sym_SQUOTE, + [1159] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(229), 1, - ts_builtin_sym_end, - [1153] = 2, + anon_sym_GT, + [1166] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(231), 1, - anon_sym_SQUOTE, - [1160] = 2, + aux_sym_doctype_token1, + [1173] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(233), 1, - aux_sym_doctype_token1, - [1167] = 2, + anon_sym_GT, + [1180] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(235), 1, - anon_sym_GT, - [1174] = 2, + ts_builtin_sym_end, + [1187] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(237), 1, - sym_erroneous_end_tag_name, - [1181] = 2, + anon_sym_DQUOTE, + [1194] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(239), 1, - anon_sym_GT, - [1188] = 2, + anon_sym_SQUOTE, + [1201] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(241), 1, - anon_sym_GT, - [1195] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(243), 1, - anon_sym_GT, - [1202] = 2, + sym_erroneous_end_tag_name, + [1208] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(213), 1, - sym__end_tag_name, - [1209] = 2, + ACTIONS(203), 1, + sym_erroneous_end_tag_name, + [1215] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(245), 1, - anon_sym_SQUOTE, - [1216] = 2, + ACTIONS(243), 1, + aux_sym_doctype_token1, + [1222] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(245), 1, anon_sym_DQUOTE, - [1223] = 2, + [1229] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(231), 1, - anon_sym_DQUOTE, - [1230] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(207), 1, - sym_erroneous_end_tag_name, - [1237] = 2, + ACTIONS(205), 1, + sym__end_tag_name, + [1236] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(247), 1, - aux_sym_doctype_token1, - [1244] = 2, + aux_sym_doublequoted_attribute_value_token1, + [1243] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(249), 1, - anon_sym_GT, - [1251] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(205), 1, - sym__end_tag_name, - [1258] = 2, + aux_sym_singlequoted_attribute_value_token1, + [1250] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(251), 1, @@ -1969,79 +1965,79 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(18)] = 425, [SMALL_STATE(19)] = 439, [SMALL_STATE(20)] = 453, - [SMALL_STATE(21)] = 467, - [SMALL_STATE(22)] = 481, - [SMALL_STATE(23)] = 495, - [SMALL_STATE(24)] = 509, - [SMALL_STATE(25)] = 523, - [SMALL_STATE(26)] = 537, - [SMALL_STATE(27)] = 551, - [SMALL_STATE(28)] = 565, - [SMALL_STATE(29)] = 579, - [SMALL_STATE(30)] = 593, - [SMALL_STATE(31)] = 607, - [SMALL_STATE(32)] = 621, - [SMALL_STATE(33)] = 635, - [SMALL_STATE(34)] = 649, - [SMALL_STATE(35)] = 663, - [SMALL_STATE(36)] = 680, - [SMALL_STATE(37)] = 697, - [SMALL_STATE(38)] = 712, - [SMALL_STATE(39)] = 729, - [SMALL_STATE(40)] = 746, - [SMALL_STATE(41)] = 760, - [SMALL_STATE(42)] = 774, - [SMALL_STATE(43)] = 786, - [SMALL_STATE(44)] = 802, - [SMALL_STATE(45)] = 818, - [SMALL_STATE(46)] = 832, - [SMALL_STATE(47)] = 846, - [SMALL_STATE(48)] = 860, - [SMALL_STATE(49)] = 869, - [SMALL_STATE(50)] = 880, - [SMALL_STATE(51)] = 889, - [SMALL_STATE(52)] = 902, - [SMALL_STATE(53)] = 915, - [SMALL_STATE(54)] = 924, - [SMALL_STATE(55)] = 937, - [SMALL_STATE(56)] = 950, - [SMALL_STATE(57)] = 963, - [SMALL_STATE(58)] = 976, - [SMALL_STATE(59)] = 984, - [SMALL_STATE(60)] = 992, - [SMALL_STATE(61)] = 1000, - [SMALL_STATE(62)] = 1008, - [SMALL_STATE(63)] = 1018, - [SMALL_STATE(64)] = 1028, - [SMALL_STATE(65)] = 1038, - [SMALL_STATE(66)] = 1048, - [SMALL_STATE(67)] = 1058, - [SMALL_STATE(68)] = 1068, - [SMALL_STATE(69)] = 1078, - [SMALL_STATE(70)] = 1086, - [SMALL_STATE(71)] = 1094, - [SMALL_STATE(72)] = 1104, - [SMALL_STATE(73)] = 1114, - [SMALL_STATE(74)] = 1122, - [SMALL_STATE(75)] = 1132, - [SMALL_STATE(76)] = 1139, - [SMALL_STATE(77)] = 1146, - [SMALL_STATE(78)] = 1153, - [SMALL_STATE(79)] = 1160, - [SMALL_STATE(80)] = 1167, - [SMALL_STATE(81)] = 1174, - [SMALL_STATE(82)] = 1181, - [SMALL_STATE(83)] = 1188, - [SMALL_STATE(84)] = 1195, - [SMALL_STATE(85)] = 1202, - [SMALL_STATE(86)] = 1209, - [SMALL_STATE(87)] = 1216, - [SMALL_STATE(88)] = 1223, - [SMALL_STATE(89)] = 1230, - [SMALL_STATE(90)] = 1237, - [SMALL_STATE(91)] = 1244, - [SMALL_STATE(92)] = 1251, - [SMALL_STATE(93)] = 1258, + [SMALL_STATE(21)] = 471, + [SMALL_STATE(22)] = 485, + [SMALL_STATE(23)] = 499, + [SMALL_STATE(24)] = 513, + [SMALL_STATE(25)] = 527, + [SMALL_STATE(26)] = 541, + [SMALL_STATE(27)] = 555, + [SMALL_STATE(28)] = 569, + [SMALL_STATE(29)] = 587, + [SMALL_STATE(30)] = 601, + [SMALL_STATE(31)] = 615, + [SMALL_STATE(32)] = 629, + [SMALL_STATE(33)] = 643, + [SMALL_STATE(34)] = 657, + [SMALL_STATE(35)] = 671, + [SMALL_STATE(36)] = 685, + [SMALL_STATE(37)] = 699, + [SMALL_STATE(38)] = 716, + [SMALL_STATE(39)] = 731, + [SMALL_STATE(40)] = 748, + [SMALL_STATE(41)] = 765, + [SMALL_STATE(42)] = 782, + [SMALL_STATE(43)] = 796, + [SMALL_STATE(44)] = 810, + [SMALL_STATE(45)] = 822, + [SMALL_STATE(46)] = 836, + [SMALL_STATE(47)] = 850, + [SMALL_STATE(48)] = 864, + [SMALL_STATE(49)] = 877, + [SMALL_STATE(50)] = 890, + [SMALL_STATE(51)] = 903, + [SMALL_STATE(52)] = 912, + [SMALL_STATE(53)] = 921, + [SMALL_STATE(54)] = 930, + [SMALL_STATE(55)] = 943, + [SMALL_STATE(56)] = 956, + [SMALL_STATE(57)] = 967, + [SMALL_STATE(58)] = 980, + [SMALL_STATE(59)] = 988, + [SMALL_STATE(60)] = 998, + [SMALL_STATE(61)] = 1008, + [SMALL_STATE(62)] = 1018, + [SMALL_STATE(63)] = 1028, + [SMALL_STATE(64)] = 1036, + [SMALL_STATE(65)] = 1046, + [SMALL_STATE(66)] = 1056, + [SMALL_STATE(67)] = 1064, + [SMALL_STATE(68)] = 1072, + [SMALL_STATE(69)] = 1080, + [SMALL_STATE(70)] = 1088, + [SMALL_STATE(71)] = 1096, + [SMALL_STATE(72)] = 1103, + [SMALL_STATE(73)] = 1110, + [SMALL_STATE(74)] = 1117, + [SMALL_STATE(75)] = 1124, + [SMALL_STATE(76)] = 1131, + [SMALL_STATE(77)] = 1138, + [SMALL_STATE(78)] = 1145, + [SMALL_STATE(79)] = 1152, + [SMALL_STATE(80)] = 1159, + [SMALL_STATE(81)] = 1166, + [SMALL_STATE(82)] = 1173, + [SMALL_STATE(83)] = 1180, + [SMALL_STATE(84)] = 1187, + [SMALL_STATE(85)] = 1194, + [SMALL_STATE(86)] = 1201, + [SMALL_STATE(87)] = 1208, + [SMALL_STATE(88)] = 1215, + [SMALL_STATE(89)] = 1222, + [SMALL_STATE(90)] = 1229, + [SMALL_STATE(91)] = 1236, + [SMALL_STATE(92)] = 1243, + [SMALL_STATE(93)] = 1250, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -2049,124 +2045,124 @@ static const TSParseActionEntry ts_parse_actions[] = { [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 0), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [37] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2), SHIFT_REPEAT(93), - [40] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_document_repeat1, 2), SHIFT_REPEAT(51), - [43] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2), SHIFT_REPEAT(89), - [46] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2), SHIFT_REPEAT(6), - [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2), - [51] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2), SHIFT_REPEAT(75), - [54] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_document_repeat1, 2), SHIFT_REPEAT(52), - [57] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2), SHIFT_REPEAT(81), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2), + [39] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2), SHIFT_REPEAT(74), + [42] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_document_repeat1, 2), SHIFT_REPEAT(57), + [45] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2), SHIFT_REPEAT(86), + [48] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2), SHIFT_REPEAT(6), + [51] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2), SHIFT_REPEAT(93), + [54] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_document_repeat1, 2), SHIFT_REPEAT(48), + [57] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2), SHIFT_REPEAT(87), [60] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2), SHIFT_REPEAT(7), [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 1), - [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 3), - [69] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_element, 3), - [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_script_element, 3), - [73] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_script_element, 3), - [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 1), - [77] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_element, 1), - [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 2), - [81] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_element, 2), - [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_end_tag, 3), - [85] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_end_tag, 3), - [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_tag, 4), - [89] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_tag, 4), - [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype, 4), - [93] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doctype, 4), - [95] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_style_element, 3), - [97] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_style_element, 3), - [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_script_element, 2), - [101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_script_element, 2), - [103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_style_element, 2), - [105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_style_element, 2), - [107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_tag, 4), - [109] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_tag, 4), - [111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_erroneous_end_tag, 3), - [113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_erroneous_end_tag, 3), - [115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_tag, 3), - [117] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_tag, 3), - [119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_tag, 3), - [121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_tag, 3), - [123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2), - [135] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2), SHIFT_REPEAT(42), - [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1), - [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [168] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2), SHIFT_REPEAT(49), - [171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3), - [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_attribute_value, 2), - [177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_attribute_value, 3), - [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_script_start_tag, 4), - [201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_style_start_tag, 3), - [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_script_start_tag, 3), + [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 1), + [69] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_element, 1), + [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_end_tag, 3), + [73] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_end_tag, 3), + [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype, 4), + [77] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doctype, 4), + [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_script_element, 2), + [81] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_script_element, 2), + [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 2), + [85] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_element, 2), + [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 3), + [89] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_element, 3), + [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_tag, 3), + [93] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_tag, 3), + [95] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_tag, 4), + [97] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_tag, 4), + [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_style_element, 2), + [107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_style_element, 2), + [109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_erroneous_end_tag, 3), + [111] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_erroneous_end_tag, 3), + [113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_tag, 4), + [115] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_tag, 4), + [117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_tag, 3), + [119] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_tag, 3), + [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_script_element, 3), + [129] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_script_element, 3), + [131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_style_element, 3), + [133] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_style_element, 3), + [135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2), + [143] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2), SHIFT_REPEAT(44), + [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1), + [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [164] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2), SHIFT_REPEAT(56), + [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3), + [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doublequoted_attribute_value, 3), + [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singlequoted_attribute_value, 3), + [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_style_start_tag, 4), + [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), [205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), - [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), - [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_style_start_tag, 4), - [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [229] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_script_start_tag, 4), + [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_style_start_tag, 3), + [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_script_start_tag, 3), + [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [235] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), }; enum ts_external_scanner_symbol_identifiers { @@ -2232,11 +2228,11 @@ static const bool ts_external_scanner_states[10][EXTERNAL_TOKEN_COUNT] = { [ts_external_token_comment] = true, }, [8] = { - [ts_external_token_erroneous_end_tag_name] = true, + [ts_external_token__end_tag_name] = true, [ts_external_token_comment] = true, }, [9] = { - [ts_external_token__end_tag_name] = true, + [ts_external_token_erroneous_end_tag_name] = true, [ts_external_token_comment] = true, }, }; diff --git a/test/corpus/main.txt b/test/corpus/main.txt index 9bccd9b..faf61d0 100644 --- a/test/corpus/main.txt +++ b/test/corpus/main.txt @@ -24,11 +24,10 @@ Tags with attributes (tag_name) (attribute (attribute_name) - (attribute_value)) + (unquoted_attribute_value)) (attribute (attribute_name) - (quoted_attribute_value - (attribute_value))) + (doublequoted_attribute_value)) (attribute (attribute_name))) (end_tag @@ -82,8 +81,7 @@ Void tags (tag_name) (attribute (attribute_name) - (quoted_attribute_value - (attribute_value))))) + (doublequoted_attribute_value)))) (element (start_tag (tag_name))) @@ -92,10 +90,10 @@ Void tags (tag_name) (attribute (attribute_name) - (attribute_value)) + (unquoted_attribute_value)) (attribute (attribute_name) - (attribute_value)))) + (unquoted_attribute_value)))) (end_tag (tag_name)))) @@ -111,8 +109,7 @@ Void tags at EOF (tag_name) (attribute (attribute_name) - (quoted_attribute_value - (attribute_value)))))) + (doublequoted_attribute_value))))) ================================== Custom tags @@ -371,15 +368,13 @@ COLGROUP elements without end tags (tag_name) (attribute (attribute_name) - (quoted_attribute_value - (attribute_value))))) + (doublequoted_attribute_value)))) (element (start_tag (tag_name) (attribute (attribute_name) - (quoted_attribute_value - (attribute_value)))))) + (doublequoted_attribute_value))))) (element (start_tag (tag_name))