#include "tree_sitter/parser.h" #if defined(__GNUC__) || defined(__clang__) #pragma GCC diagnostic ignored "-Wmissing-field-initializers" #endif #define LANGUAGE_VERSION 14 #define STATE_COUNT 94 #define LARGE_STATE_COUNT 2 #define SYMBOL_COUNT 41 #define ALIAS_COUNT 0 #define TOKEN_COUNT 25 #define EXTERNAL_TOKEN_COUNT 9 #define FIELD_COUNT 0 #define MAX_ALIAS_SEQUENCE_LENGTH 4 #define PRODUCTION_ID_COUNT 1 enum ts_symbol_identifiers { anon_sym_LT_BANG = 1, aux_sym_doctype_token1 = 2, anon_sym_GT = 3, sym__doctype = 4, anon_sym_LT = 5, anon_sym_SLASH_GT = 6, 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_text = 16, sym__start_tag_name = 17, sym__script_start_tag_name = 18, sym__style_start_tag_name = 19, sym__end_tag_name = 20, sym_erroneous_end_tag_name = 21, sym__implicit_end_tag = 22, sym_raw_text = 23, sym_comment = 24, sym_document = 25, sym_doctype = 26, sym__node = 27, sym_element = 28, sym_script_element = 29, sym_style_element = 30, sym_start_tag = 31, sym_script_start_tag = 32, sym_style_start_tag = 33, sym_self_closing_tag = 34, 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, }; static const char * const ts_symbol_names[] = { [ts_builtin_sym_end] = "end", [anon_sym_LT_BANG] = "", [sym__doctype] = "doctype", [anon_sym_LT] = "<", [anon_sym_SLASH_GT] = "/>", [anon_sym_LT_SLASH] = "eof(lexer); switch (state) { case 0: if (eof) ADVANCE(18); ADVANCE_MAP( '"', 73, '&', 3, '\'', 70, '/', 6, '<', 24, '=', 27, '>', 22, 'D', 9, 'd', 9, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(0); END_STATE(); case 1: if (lookahead == '"') ADVANCE(73); if (lookahead == '\'') ADVANCE(70); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(1); if (lookahead != 0 && (lookahead < '<' || '>' < lookahead)) ADVANCE(29); 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 (('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); END_STATE(); case 5: if (lookahead == '/') ADVANCE(6); if (lookahead == '=') ADVANCE(27); if (lookahead == '>') ADVANCE(22); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(5); if (lookahead != 0 && lookahead != '"' && lookahead != '\'' && (lookahead < '<' || '>' < lookahead)) ADVANCE(28); END_STATE(); case 6: if (lookahead == '>') ADVANCE(25); END_STATE(); case 7: if (lookahead == 'C' || lookahead == 'c') ADVANCE(11); END_STATE(); case 8: if (lookahead == 'E' || lookahead == 'e') ADVANCE(23); END_STATE(); case 9: if (lookahead == 'O' || lookahead == 'o') ADVANCE(7); END_STATE(); case 10: if (lookahead == 'P' || lookahead == 'p') ADVANCE(8); END_STATE(); case 11: if (lookahead == 'T' || lookahead == 't') ADVANCE(13); END_STATE(); case 12: if (lookahead == 'X' || lookahead == 'x') ADVANCE(16); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(35); END_STATE(); case 13: if (lookahead == 'Y' || lookahead == 'y') ADVANCE(10); END_STATE(); case 14: if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') ADVANCE(14); if (lookahead != 0 && lookahead != '&' && lookahead != '<' && lookahead != '>') ADVANCE(76); END_STATE(); case 15: if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') ADVANCE(20); if (lookahead != 0 && lookahead != '>') ADVANCE(21); END_STATE(); case 16: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(40); END_STATE(); case 17: if (eof) ADVANCE(18); if (lookahead == '&') ADVANCE(3); if (lookahead == '<') ADVANCE(24); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(17); if (lookahead != 0 && lookahead != '>') ADVANCE(76); END_STATE(); case 18: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 19: ACCEPT_TOKEN(anon_sym_LT_BANG); END_STATE(); case 20: ACCEPT_TOKEN(aux_sym_doctype_token1); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') ADVANCE(20); if (lookahead != 0 && lookahead != '>') ADVANCE(21); END_STATE(); case 21: ACCEPT_TOKEN(aux_sym_doctype_token1); if (lookahead != 0 && lookahead != '>') ADVANCE(21); END_STATE(); case 22: ACCEPT_TOKEN(anon_sym_GT); END_STATE(); case 23: ACCEPT_TOKEN(sym__doctype); END_STATE(); case 24: ACCEPT_TOKEN(anon_sym_LT); if (lookahead == '!') ADVANCE(19); if (lookahead == '/') ADVANCE(26); END_STATE(); case 25: ACCEPT_TOKEN(anon_sym_SLASH_GT); END_STATE(); case 26: ACCEPT_TOKEN(anon_sym_LT_SLASH); END_STATE(); case 27: ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); case 28: ACCEPT_TOKEN(sym_attribute_name); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != ' ' && lookahead != '"' && lookahead != '\'' && lookahead != '/' && (lookahead < '<' || '>' < lookahead)) ADVANCE(28); END_STATE(); case 29: ACCEPT_TOKEN(sym_attribute_value); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != ' ' && lookahead != '"' && lookahead != '\'' && (lookahead < '<' || '>' < lookahead)) ADVANCE(29); END_STATE(); case 30: ACCEPT_TOKEN(sym_entity); END_STATE(); case 31: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); END_STATE(); case 32: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); 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); END_STATE(); case 34: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(33); END_STATE(); case 35: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(34); END_STATE(); case 36: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(31); END_STATE(); case 37: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); 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); 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); 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); END_STATE(); case 41: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(31); END_STATE(); case 42: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(41); END_STATE(); case 43: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(42); END_STATE(); case 44: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(43); END_STATE(); case 45: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 46: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(45); END_STATE(); case 47: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(46); END_STATE(); case 48: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(47); END_STATE(); case 49: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(48); END_STATE(); case 50: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(49); END_STATE(); case 51: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(50); END_STATE(); case 52: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(51); END_STATE(); case 53: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); END_STATE(); case 54: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(53); END_STATE(); case 55: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(54); END_STATE(); case 56: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(55); END_STATE(); case 57: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(56); END_STATE(); case 58: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(57); END_STATE(); case 59: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(58); END_STATE(); case 60: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(59); END_STATE(); case 61: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(60); END_STATE(); case 62: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(61); END_STATE(); case 63: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(62); END_STATE(); case 64: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(63); END_STATE(); case 65: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(64); END_STATE(); case 66: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); 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); END_STATE(); case 68: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(67); END_STATE(); case 69: ACCEPT_TOKEN(sym_entity); if (lookahead == ';') ADVANCE(30); if (('A' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(68); END_STATE(); case 70: ACCEPT_TOKEN(anon_sym_SQUOTE); END_STATE(); case 71: ACCEPT_TOKEN(aux_sym_quoted_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); 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); if (lookahead != 0 && lookahead != '"') ADVANCE(75); END_STATE(); case 76: ACCEPT_TOKEN(sym_text); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') ADVANCE(14); if (lookahead != 0 && lookahead != '&' && lookahead != '<' && lookahead != '>') ADVANCE(76); END_STATE(); default: return false; } } 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 = 3}, [10] = {.lex_state = 17, .external_lex_state = 2}, [11] = {.lex_state = 17, .external_lex_state = 3}, [12] = {.lex_state = 17, .external_lex_state = 2}, [13] = {.lex_state = 17, .external_lex_state = 2}, [14] = {.lex_state = 17, .external_lex_state = 2}, [15] = {.lex_state = 17, .external_lex_state = 2}, [16] = {.lex_state = 17, .external_lex_state = 2}, [17] = {.lex_state = 17, .external_lex_state = 2}, [18] = {.lex_state = 17, .external_lex_state = 3}, [19] = {.lex_state = 17, .external_lex_state = 2}, [20] = {.lex_state = 17, .external_lex_state = 2}, [21] = {.lex_state = 17, .external_lex_state = 3}, [22] = {.lex_state = 17, .external_lex_state = 3}, [23] = {.lex_state = 17, .external_lex_state = 3}, [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 = 3}, [28] = {.lex_state = 17, .external_lex_state = 3}, [29] = {.lex_state = 17, .external_lex_state = 3}, [30] = {.lex_state = 17, .external_lex_state = 3}, [31] = {.lex_state = 17, .external_lex_state = 3}, [32] = {.lex_state = 17, .external_lex_state = 2}, [33] = {.lex_state = 17, .external_lex_state = 2}, [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 = 2}, [43] = {.lex_state = 5, .external_lex_state = 2}, [44] = {.lex_state = 5, .external_lex_state = 2}, [45] = {.lex_state = 5, .external_lex_state = 4}, [46] = {.lex_state = 1, .external_lex_state = 2}, [47] = {.lex_state = 1, .external_lex_state = 2}, [48] = {.lex_state = 0, .external_lex_state = 5}, [49] = {.lex_state = 5, .external_lex_state = 4}, [50] = {.lex_state = 5, .external_lex_state = 4}, [51] = {.lex_state = 5, .external_lex_state = 2}, [52] = {.lex_state = 0, .external_lex_state = 6}, [53] = {.lex_state = 0, .external_lex_state = 5}, [54] = {.lex_state = 0, .external_lex_state = 5}, [55] = {.lex_state = 0, .external_lex_state = 5}, [56] = {.lex_state = 5, .external_lex_state = 4}, [57] = {.lex_state = 0, .external_lex_state = 6}, [58] = {.lex_state = 5, .external_lex_state = 2}, [59] = {.lex_state = 0, .external_lex_state = 7}, [60] = {.lex_state = 0, .external_lex_state = 2}, [61] = {.lex_state = 0, .external_lex_state = 5}, [62] = {.lex_state = 2, .external_lex_state = 2}, [63] = {.lex_state = 5, .external_lex_state = 2}, [64] = {.lex_state = 5, .external_lex_state = 2}, [65] = {.lex_state = 0, .external_lex_state = 5}, [66] = {.lex_state = 0, .external_lex_state = 5}, [67] = {.lex_state = 0, .external_lex_state = 5}, [68] = {.lex_state = 0, .external_lex_state = 7}, [69] = {.lex_state = 0, .external_lex_state = 2}, [70] = {.lex_state = 0, .external_lex_state = 2}, [71] = {.lex_state = 0, .external_lex_state = 2}, [72] = {.lex_state = 4, .external_lex_state = 2}, [73] = {.lex_state = 4, .external_lex_state = 2}, [74] = {.lex_state = 2, .external_lex_state = 2}, [75] = {.lex_state = 0, .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 = 0, .external_lex_state = 2}, [80] = {.lex_state = 0, .external_lex_state = 2}, [81] = {.lex_state = 15, .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 = 8}, [86] = {.lex_state = 0, .external_lex_state = 2}, [87] = {.lex_state = 0, .external_lex_state = 2}, [88] = {.lex_state = 0, .external_lex_state = 9}, [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}, [93] = {.lex_state = 0, .external_lex_state = 2}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [0] = { [ts_builtin_sym_end] = ACTIONS(1), [anon_sym_LT_BANG] = ACTIONS(1), [anon_sym_GT] = ACTIONS(1), [sym__doctype] = ACTIONS(1), [anon_sym_LT] = ACTIONS(1), [anon_sym_SLASH_GT] = ACTIONS(1), [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), [sym__start_tag_name] = ACTIONS(1), [sym__script_start_tag_name] = ACTIONS(1), [sym__style_start_tag_name] = ACTIONS(1), [sym__end_tag_name] = ACTIONS(1), [sym_erroneous_end_tag_name] = ACTIONS(1), [sym__implicit_end_tag] = ACTIONS(1), [sym_raw_text] = ACTIONS(1), [sym_comment] = ACTIONS(3), }, [1] = { [sym_document] = STATE(83), [sym_doctype] = STATE(7), [sym__node] = STATE(7), [sym_element] = STATE(7), [sym_script_element] = STATE(7), [sym_style_element] = STATE(7), [sym_start_tag] = STATE(2), [sym_script_start_tag] = STATE(48), [sym_style_start_tag] = STATE(53), [sym_self_closing_tag] = STATE(33), [sym_erroneous_end_tag] = STATE(7), [aux_sym_document_repeat1] = STATE(7), [ts_builtin_sym_end] = ACTIONS(5), [anon_sym_LT_BANG] = ACTIONS(7), [anon_sym_LT] = ACTIONS(9), [anon_sym_LT_SLASH] = ACTIONS(11), [sym_entity] = ACTIONS(13), [sym_text] = ACTIONS(13), [sym_comment] = ACTIONS(3), }, }; static const uint16_t ts_small_parse_table[] = { [0] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LT_BANG, ACTIONS(17), 1, anon_sym_LT, ACTIONS(19), 1, anon_sym_LT_SLASH, ACTIONS(23), 1, sym__implicit_end_tag, STATE(5), 1, sym_start_tag, STATE(21), 1, sym_self_closing_tag, STATE(32), 1, sym_end_tag, STATE(54), 1, sym_script_start_tag, STATE(55), 1, sym_style_start_tag, ACTIONS(21), 2, sym_entity, sym_text, STATE(3), 7, sym_doctype, sym__node, sym_element, sym_script_element, sym_style_element, sym_erroneous_end_tag, aux_sym_document_repeat1, [44] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LT_BANG, ACTIONS(17), 1, anon_sym_LT, ACTIONS(19), 1, anon_sym_LT_SLASH, ACTIONS(27), 1, sym__implicit_end_tag, STATE(5), 1, sym_start_tag, STATE(14), 1, sym_end_tag, STATE(21), 1, sym_self_closing_tag, STATE(54), 1, sym_script_start_tag, STATE(55), 1, sym_style_start_tag, ACTIONS(25), 2, sym_entity, sym_text, STATE(6), 7, sym_doctype, sym__node, sym_element, sym_script_element, sym_style_element, sym_erroneous_end_tag, aux_sym_document_repeat1, [88] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LT_BANG, ACTIONS(17), 1, anon_sym_LT, ACTIONS(29), 1, anon_sym_LT_SLASH, ACTIONS(31), 1, sym__implicit_end_tag, STATE(5), 1, sym_start_tag, STATE(21), 1, sym_self_closing_tag, STATE(27), 1, sym_end_tag, STATE(54), 1, sym_script_start_tag, STATE(55), 1, sym_style_start_tag, ACTIONS(25), 2, sym_entity, sym_text, STATE(6), 7, sym_doctype, sym__node, sym_element, sym_script_element, sym_style_element, sym_erroneous_end_tag, aux_sym_document_repeat1, [132] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LT_BANG, ACTIONS(17), 1, anon_sym_LT, ACTIONS(29), 1, anon_sym_LT_SLASH, ACTIONS(35), 1, sym__implicit_end_tag, STATE(5), 1, sym_start_tag, STATE(21), 1, sym_self_closing_tag, STATE(22), 1, sym_end_tag, STATE(54), 1, sym_script_start_tag, STATE(55), 1, sym_style_start_tag, ACTIONS(33), 2, sym_entity, sym_text, STATE(4), 7, sym_doctype, sym__node, sym_element, sym_script_element, sym_style_element, sym_erroneous_end_tag, aux_sym_document_repeat1, [176] = 11, ACTIONS(3), 1, sym_comment, ACTIONS(37), 1, anon_sym_LT_BANG, ACTIONS(40), 1, anon_sym_LT, ACTIONS(43), 1, anon_sym_LT_SLASH, ACTIONS(49), 1, sym__implicit_end_tag, STATE(5), 1, sym_start_tag, STATE(21), 1, sym_self_closing_tag, STATE(54), 1, sym_script_start_tag, STATE(55), 1, sym_style_start_tag, ACTIONS(46), 2, sym_entity, sym_text, STATE(6), 7, sym_doctype, sym__node, sym_element, sym_script_element, sym_style_element, sym_erroneous_end_tag, aux_sym_document_repeat1, [217] = 11, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, anon_sym_LT_BANG, ACTIONS(9), 1, anon_sym_LT, ACTIONS(11), 1, anon_sym_LT_SLASH, ACTIONS(51), 1, ts_builtin_sym_end, STATE(2), 1, sym_start_tag, STATE(33), 1, sym_self_closing_tag, STATE(48), 1, sym_script_start_tag, STATE(53), 1, sym_style_start_tag, ACTIONS(53), 2, sym_entity, sym_text, STATE(8), 7, sym_doctype, sym__node, sym_element, sym_script_element, sym_style_element, sym_erroneous_end_tag, aux_sym_document_repeat1, [258] = 11, ACTIONS(3), 1, sym_comment, ACTIONS(49), 1, ts_builtin_sym_end, ACTIONS(55), 1, anon_sym_LT_BANG, ACTIONS(58), 1, anon_sym_LT, ACTIONS(61), 1, anon_sym_LT_SLASH, STATE(2), 1, sym_start_tag, STATE(33), 1, sym_self_closing_tag, STATE(48), 1, sym_script_start_tag, STATE(53), 1, sym_style_start_tag, ACTIONS(64), 2, sym_entity, sym_text, STATE(8), 7, sym_doctype, sym__node, sym_element, sym_script_element, sym_style_element, sym_erroneous_end_tag, aux_sym_document_repeat1, [299] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(69), 1, anon_sym_LT, ACTIONS(67), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [313] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, anon_sym_LT, ACTIONS(71), 5, ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [327] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(77), 1, anon_sym_LT, ACTIONS(75), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [341] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(81), 1, anon_sym_LT, ACTIONS(79), 5, ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [355] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(85), 1, anon_sym_LT, ACTIONS(83), 5, ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [369] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(89), 1, anon_sym_LT, ACTIONS(87), 5, ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [383] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(93), 1, anon_sym_LT, ACTIONS(91), 5, ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [397] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(97), 1, anon_sym_LT, ACTIONS(95), 5, ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [411] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(101), 1, anon_sym_LT, ACTIONS(99), 5, ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [425] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(105), 1, anon_sym_LT, ACTIONS(103), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [439] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(109), 1, anon_sym_LT, ACTIONS(107), 5, ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [453] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(69), 1, anon_sym_LT, ACTIONS(67), 5, ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [467] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(113), 1, anon_sym_LT, ACTIONS(111), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [481] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(117), 1, anon_sym_LT, ACTIONS(115), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [495] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(109), 1, anon_sym_LT, ACTIONS(107), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [509] = 3, 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, [523] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(81), 1, anon_sym_LT, ACTIONS(79), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [537] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(85), 1, anon_sym_LT, ACTIONS(83), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [551] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(89), 1, anon_sym_LT, ACTIONS(87), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [565] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(93), 1, anon_sym_LT, ACTIONS(91), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [579] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(97), 1, anon_sym_LT, ACTIONS(95), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [593] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(101), 1, anon_sym_LT, ACTIONS(99), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [607] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(121), 1, anon_sym_LT, ACTIONS(119), 5, sym__implicit_end_tag, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [621] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(117), 1, anon_sym_LT, ACTIONS(115), 5, ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [635] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(113), 1, anon_sym_LT, ACTIONS(111), 5, ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [649] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(121), 1, anon_sym_LT, ACTIONS(119), 5, ts_builtin_sym_end, anon_sym_LT_BANG, anon_sym_LT_SLASH, sym_entity, sym_text, [663] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(125), 1, sym_attribute_name, ACTIONS(123), 2, anon_sym_GT, anon_sym_SLASH_GT, STATE(35), 2, sym_attribute, aux_sym_start_tag_repeat1, [678] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(128), 1, anon_sym_GT, ACTIONS(130), 1, anon_sym_SLASH_GT, ACTIONS(132), 1, sym_attribute_name, STATE(35), 2, sym_attribute, aux_sym_start_tag_repeat1, [695] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(132), 1, sym_attribute_name, ACTIONS(134), 1, anon_sym_GT, ACTIONS(136), 1, anon_sym_SLASH_GT, STATE(38), 2, sym_attribute, aux_sym_start_tag_repeat1, [712] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(128), 1, anon_sym_GT, ACTIONS(132), 1, sym_attribute_name, ACTIONS(138), 1, anon_sym_SLASH_GT, STATE(35), 2, sym_attribute, aux_sym_start_tag_repeat1, [729] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(132), 1, sym_attribute_name, ACTIONS(134), 1, anon_sym_GT, ACTIONS(140), 1, anon_sym_SLASH_GT, STATE(36), 2, sym_attribute, aux_sym_start_tag_repeat1, [746] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(142), 1, anon_sym_GT, ACTIONS(144), 1, sym_attribute_name, STATE(41), 2, sym_attribute, aux_sym_start_tag_repeat1, [760] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(123), 1, anon_sym_GT, ACTIONS(146), 1, sym_attribute_name, STATE(41), 2, sym_attribute, aux_sym_start_tag_repeat1, [774] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(144), 1, sym_attribute_name, ACTIONS(149), 1, anon_sym_GT, STATE(40), 2, sym_attribute, aux_sym_start_tag_repeat1, [788] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(144), 1, sym_attribute_name, ACTIONS(151), 1, anon_sym_GT, STATE(44), 2, sym_attribute, aux_sym_start_tag_repeat1, [802] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(144), 1, sym_attribute_name, ACTIONS(153), 1, anon_sym_GT, STATE(41), 2, sym_attribute, aux_sym_start_tag_repeat1, [816] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(157), 1, anon_sym_EQ, ACTIONS(155), 3, anon_sym_GT, anon_sym_SLASH_GT, sym_attribute_name, [828] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(159), 1, sym_attribute_value, ACTIONS(161), 1, anon_sym_SQUOTE, ACTIONS(163), 1, anon_sym_DQUOTE, STATE(56), 1, sym_quoted_attribute_value, [844] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(165), 1, sym_attribute_value, ACTIONS(167), 1, anon_sym_SQUOTE, ACTIONS(169), 1, anon_sym_DQUOTE, STATE(58), 1, sym_quoted_attribute_value, [860] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(171), 1, anon_sym_LT_SLASH, ACTIONS(173), 1, sym_raw_text, STATE(19), 1, sym_end_tag, [873] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(175), 3, anon_sym_GT, anon_sym_SLASH_GT, sym_attribute_name, [882] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(177), 3, anon_sym_GT, anon_sym_SLASH_GT, sym_attribute_name, [891] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(179), 1, anon_sym_EQ, ACTIONS(155), 2, anon_sym_GT, sym_attribute_name, [902] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(181), 1, sym__start_tag_name, ACTIONS(183), 1, sym__script_start_tag_name, ACTIONS(185), 1, sym__style_start_tag_name, [915] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(171), 1, anon_sym_LT_SLASH, ACTIONS(187), 1, sym_raw_text, STATE(10), 1, sym_end_tag, [928] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(189), 1, anon_sym_LT_SLASH, ACTIONS(191), 1, sym_raw_text, STATE(23), 1, sym_end_tag, [941] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(189), 1, anon_sym_LT_SLASH, ACTIONS(193), 1, sym_raw_text, STATE(24), 1, sym_end_tag, [954] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(195), 3, anon_sym_GT, anon_sym_SLASH_GT, sym_attribute_name, [963] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(183), 1, sym__script_start_tag_name, ACTIONS(185), 1, sym__style_start_tag_name, ACTIONS(197), 1, sym__start_tag_name, [976] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(195), 2, anon_sym_GT, sym_attribute_name, [984] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(199), 1, sym__end_tag_name, ACTIONS(201), 1, sym_erroneous_end_tag_name, [994] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(171), 1, anon_sym_LT_SLASH, STATE(16), 1, sym_end_tag, [1004] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(203), 2, sym_raw_text, anon_sym_LT_SLASH, [1012] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(205), 1, anon_sym_DQUOTE, ACTIONS(207), 1, aux_sym_quoted_attribute_value_token2, [1022] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(175), 2, anon_sym_GT, sym_attribute_name, [1030] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(177), 2, anon_sym_GT, sym_attribute_name, [1038] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(209), 2, sym_raw_text, anon_sym_LT_SLASH, [1046] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(211), 2, sym_raw_text, anon_sym_LT_SLASH, [1054] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(213), 2, sym_raw_text, anon_sym_LT_SLASH, [1062] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(201), 1, sym_erroneous_end_tag_name, ACTIONS(215), 1, sym__end_tag_name, [1072] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(189), 1, anon_sym_LT_SLASH, STATE(28), 1, sym_end_tag, [1082] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(189), 1, anon_sym_LT_SLASH, STATE(29), 1, sym_end_tag, [1092] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(171), 1, anon_sym_LT_SLASH, STATE(15), 1, sym_end_tag, [1102] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(205), 1, anon_sym_SQUOTE, ACTIONS(217), 1, aux_sym_quoted_attribute_value_token1, [1112] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(219), 1, anon_sym_SQUOTE, ACTIONS(221), 1, aux_sym_quoted_attribute_value_token1, [1122] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(219), 1, anon_sym_DQUOTE, ACTIONS(223), 1, aux_sym_quoted_attribute_value_token2, [1132] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(225), 1, anon_sym_DQUOTE, [1139] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(227), 1, anon_sym_DQUOTE, [1146] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(229), 1, sym__doctype, [1153] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(227), 1, anon_sym_SQUOTE, [1160] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(231), 1, anon_sym_GT, [1167] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(233), 1, anon_sym_GT, [1174] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(235), 1, aux_sym_doctype_token1, [1181] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(237), 1, anon_sym_GT, [1188] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(239), 1, ts_builtin_sym_end, [1195] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(241), 1, anon_sym_GT, [1202] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(243), 1, sym_erroneous_end_tag_name, [1209] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(225), 1, anon_sym_SQUOTE, [1216] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(245), 1, anon_sym_GT, [1223] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(215), 1, sym__end_tag_name, [1230] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(201), 1, sym_erroneous_end_tag_name, [1237] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(247), 1, aux_sym_doctype_token1, [1244] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(249), 1, anon_sym_GT, [1251] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(199), 1, sym__end_tag_name, [1258] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(251), 1, sym__doctype, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, [SMALL_STATE(3)] = 44, [SMALL_STATE(4)] = 88, [SMALL_STATE(5)] = 132, [SMALL_STATE(6)] = 176, [SMALL_STATE(7)] = 217, [SMALL_STATE(8)] = 258, [SMALL_STATE(9)] = 299, [SMALL_STATE(10)] = 313, [SMALL_STATE(11)] = 327, [SMALL_STATE(12)] = 341, [SMALL_STATE(13)] = 355, [SMALL_STATE(14)] = 369, [SMALL_STATE(15)] = 383, [SMALL_STATE(16)] = 397, [SMALL_STATE(17)] = 411, [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)] = 678, [SMALL_STATE(37)] = 695, [SMALL_STATE(38)] = 712, [SMALL_STATE(39)] = 729, [SMALL_STATE(40)] = 746, [SMALL_STATE(41)] = 760, [SMALL_STATE(42)] = 774, [SMALL_STATE(43)] = 788, [SMALL_STATE(44)] = 802, [SMALL_STATE(45)] = 816, [SMALL_STATE(46)] = 828, [SMALL_STATE(47)] = 844, [SMALL_STATE(48)] = 860, [SMALL_STATE(49)] = 873, [SMALL_STATE(50)] = 882, [SMALL_STATE(51)] = 891, [SMALL_STATE(52)] = 902, [SMALL_STATE(53)] = 915, [SMALL_STATE(54)] = 928, [SMALL_STATE(55)] = 941, [SMALL_STATE(56)] = 954, [SMALL_STATE(57)] = 963, [SMALL_STATE(58)] = 976, [SMALL_STATE(59)] = 984, [SMALL_STATE(60)] = 994, [SMALL_STATE(61)] = 1004, [SMALL_STATE(62)] = 1012, [SMALL_STATE(63)] = 1022, [SMALL_STATE(64)] = 1030, [SMALL_STATE(65)] = 1038, [SMALL_STATE(66)] = 1046, [SMALL_STATE(67)] = 1054, [SMALL_STATE(68)] = 1062, [SMALL_STATE(69)] = 1072, [SMALL_STATE(70)] = 1082, [SMALL_STATE(71)] = 1092, [SMALL_STATE(72)] = 1102, [SMALL_STATE(73)] = 1112, [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, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 0, 0, 0), [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), [37] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(93), [40] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(57), [43] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(89), [46] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(6), [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 1, 0, 0), [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), [55] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(77), [58] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(52), [61] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(85), [64] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(8), [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_end_tag, 3, 0, 0), [69] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_end_tag, 3, 0, 0), [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_style_element, 2, 0, 0), [73] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_style_element, 2, 0, 0), [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_tag, 3, 0, 0), [77] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_tag, 3, 0, 0), [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_tag, 3, 0, 0), [81] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_tag, 3, 0, 0), [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_erroneous_end_tag, 3, 0, 0), [85] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_erroneous_end_tag, 3, 0, 0), [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 3, 0, 0), [89] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_element, 3, 0, 0), [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_script_element, 3, 0, 0), [93] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_script_element, 3, 0, 0), [95] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_style_element, 3, 0, 0), [97] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_style_element, 3, 0, 0), [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype, 4, 0, 0), [101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doctype, 4, 0, 0), [103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_tag, 4, 0, 0), [105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_tag, 4, 0, 0), [107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_script_element, 2, 0, 0), [109] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_script_element, 2, 0, 0), [111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 1, 0, 0), [113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_element, 1, 0, 0), [115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 2, 0, 0), [117] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_element, 2, 0, 0), [119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_tag, 4, 0, 0), [121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_tag, 4, 0, 0), [123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2, 0, 0), [125] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2, 0, 0), SHIFT_REPEAT(45), [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), [146] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2, 0, 0), SHIFT_REPEAT(51), [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), [155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, 0, 0), [157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), [159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), [163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), [175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_attribute_value, 2, 0, 0), [177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_attribute_value, 3, 0, 0), [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), [185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, 0, 0), [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_script_start_tag, 3, 0, 0), [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_script_start_tag, 4, 0, 0), [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_style_start_tag, 3, 0, 0), [213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_style_start_tag, 4, 0, 0), [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), [219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), [237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), [239] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), }; enum ts_external_scanner_symbol_identifiers { ts_external_token__start_tag_name = 0, ts_external_token__script_start_tag_name = 1, ts_external_token__style_start_tag_name = 2, ts_external_token__end_tag_name = 3, ts_external_token_erroneous_end_tag_name = 4, ts_external_token_SLASH_GT = 5, ts_external_token__implicit_end_tag = 6, ts_external_token_raw_text = 7, ts_external_token_comment = 8, }; static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = { [ts_external_token__start_tag_name] = sym__start_tag_name, [ts_external_token__script_start_tag_name] = sym__script_start_tag_name, [ts_external_token__style_start_tag_name] = sym__style_start_tag_name, [ts_external_token__end_tag_name] = sym__end_tag_name, [ts_external_token_erroneous_end_tag_name] = sym_erroneous_end_tag_name, [ts_external_token_SLASH_GT] = anon_sym_SLASH_GT, [ts_external_token__implicit_end_tag] = sym__implicit_end_tag, [ts_external_token_raw_text] = sym_raw_text, [ts_external_token_comment] = sym_comment, }; static const bool ts_external_scanner_states[10][EXTERNAL_TOKEN_COUNT] = { [1] = { [ts_external_token__start_tag_name] = true, [ts_external_token__script_start_tag_name] = true, [ts_external_token__style_start_tag_name] = true, [ts_external_token__end_tag_name] = true, [ts_external_token_erroneous_end_tag_name] = true, [ts_external_token_SLASH_GT] = true, [ts_external_token__implicit_end_tag] = true, [ts_external_token_raw_text] = true, [ts_external_token_comment] = true, }, [2] = { [ts_external_token_comment] = true, }, [3] = { [ts_external_token__implicit_end_tag] = true, [ts_external_token_comment] = true, }, [4] = { [ts_external_token_SLASH_GT] = true, [ts_external_token_comment] = true, }, [5] = { [ts_external_token_raw_text] = true, [ts_external_token_comment] = true, }, [6] = { [ts_external_token__start_tag_name] = true, [ts_external_token__script_start_tag_name] = true, [ts_external_token__style_start_tag_name] = true, [ts_external_token_comment] = true, }, [7] = { [ts_external_token__end_tag_name] = true, [ts_external_token_erroneous_end_tag_name] = true, [ts_external_token_comment] = true, }, [8] = { [ts_external_token_erroneous_end_tag_name] = true, [ts_external_token_comment] = true, }, [9] = { [ts_external_token__end_tag_name] = true, [ts_external_token_comment] = true, }, }; #ifdef __cplusplus extern "C" { #endif void *tree_sitter_html_external_scanner_create(void); void tree_sitter_html_external_scanner_destroy(void *); bool tree_sitter_html_external_scanner_scan(void *, TSLexer *, const bool *); unsigned tree_sitter_html_external_scanner_serialize(void *, char *); void tree_sitter_html_external_scanner_deserialize(void *, const char *, unsigned); #ifdef TREE_SITTER_HIDE_SYMBOLS #define TS_PUBLIC #elif defined(_WIN32) #define TS_PUBLIC __declspec(dllexport) #else #define TS_PUBLIC __attribute__((visibility("default"))) #endif TS_PUBLIC const TSLanguage *tree_sitter_html(void) { static const TSLanguage language = { .version = LANGUAGE_VERSION, .symbol_count = SYMBOL_COUNT, .alias_count = ALIAS_COUNT, .token_count = TOKEN_COUNT, .external_token_count = EXTERNAL_TOKEN_COUNT, .state_count = STATE_COUNT, .large_state_count = LARGE_STATE_COUNT, .production_id_count = PRODUCTION_ID_COUNT, .field_count = FIELD_COUNT, .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, .parse_table = &ts_parse_table[0][0], .small_parse_table = ts_small_parse_table, .small_parse_table_map = ts_small_parse_table_map, .parse_actions = ts_parse_actions, .symbol_names = ts_symbol_names, .symbol_metadata = ts_symbol_metadata, .public_symbol_map = ts_symbol_map, .alias_map = ts_non_terminal_alias_map, .alias_sequences = &ts_alias_sequences[0][0], .lex_modes = ts_lex_modes, .lex_fn = ts_lex, .external_scanner = { &ts_external_scanner_states[0][0], ts_external_scanner_symbol_map, tree_sitter_html_external_scanner_create, tree_sitter_html_external_scanner_destroy, tree_sitter_html_external_scanner_scan, tree_sitter_html_external_scanner_serialize, tree_sitter_html_external_scanner_deserialize, }, .primary_state_ids = ts_primary_state_ids, }; return &language; } #ifdef __cplusplus } #endif