diff --git a/grammar.js b/grammar.js index b132534..edbb7a7 100644 --- a/grammar.js +++ b/grammar.js @@ -99,7 +99,16 @@ module.exports = grammar({ ), _expression_value: ($) => - choice(/[^{}]+/, seq("{", optional($._expression_value), "}")), + // Note that we alias "{" and "}", so they are not targetted by + // delimiter highlight queries. + choice( + /[^{}]+/, + seq( + alias("{", "left"), + repeat($._expression_value), + alias("}", "right") + ) + ), special_attribute: ($) => seq($.special_attribute_name, "=", $.expression), diff --git a/queries/injections.scm b/queries/injections.scm index f52cf44..dd9edfc 100644 --- a/queries/injections.scm +++ b/queries/injections.scm @@ -20,5 +20,8 @@ ; expressions live within HTML tags, and do not need to be combined ; +; note that we include children, because expression_value may consist +; of multiple nodes, when the value contains { and } ((expression (expression_value) @injection.content) - (#set! injection.language "elixir")) + (#set! injection.language "elixir") + (#set! injection.include-children)) diff --git a/src/grammar.json b/src/grammar.json index 00c8dd2..537dbc5 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -492,24 +492,29 @@ "type": "SEQ", "members": [ { - "type": "STRING", - "value": "{" + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "{" + }, + "named": false, + "value": "left" }, { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "_expression_value" - }, - { - "type": "BLANK" - } - ] + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_expression_value" + } }, { - "type": "STRING", - "value": "}" + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "}" + }, + "named": false, + "value": "right" } ] } diff --git a/src/node-types.json b/src/node-types.json index f2cb021..ed2856e 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -683,10 +683,18 @@ "type": "html", "named": false }, + { + "type": "left", + "named": false + }, { "type": "module", "named": true }, + { + "type": "right", + "named": false + }, { "type": "slot_name", "named": true diff --git a/src/parser.c b/src/parser.c index 34e2504..706fa9c 100644 --- a/src/parser.c +++ b/src/parser.c @@ -5,15 +5,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 120 +#define STATE_COUNT 116 #define LARGE_STATE_COUNT 2 #define SYMBOL_COUNT 81 -#define ALIAS_COUNT 1 +#define ALIAS_COUNT 3 #define TOKEN_COUNT 45 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 0 #define MAX_ALIAS_SEQUENCE_LENGTH 4 -#define PRODUCTION_ID_COUNT 3 +#define PRODUCTION_ID_COUNT 5 enum ts_symbol_identifiers { anon_sym_LT_BANG = 1, @@ -96,7 +96,9 @@ enum ts_symbol_identifiers { aux_sym_expression_repeat1 = 78, aux_sym__html_comment_repeat1 = 79, aux_sym__hash_comment_repeat1 = 80, - alias_sym_slot_name = 81, + anon_alias_sym_left = 81, + anon_alias_sym_right = 82, + alias_sym_slot_name = 83, }; static const char * const ts_symbol_names[] = { @@ -181,6 +183,8 @@ static const char * const ts_symbol_names[] = { [aux_sym_expression_repeat1] = "expression_repeat1", [aux_sym__html_comment_repeat1] = "_html_comment_repeat1", [aux_sym__hash_comment_repeat1] = "_hash_comment_repeat1", + [anon_alias_sym_left] = "left", + [anon_alias_sym_right] = "right", [alias_sym_slot_name] = "slot_name", }; @@ -266,6 +270,8 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_expression_repeat1] = aux_sym_expression_repeat1, [aux_sym__html_comment_repeat1] = aux_sym__html_comment_repeat1, [aux_sym__hash_comment_repeat1] = aux_sym__hash_comment_repeat1, + [anon_alias_sym_left] = anon_alias_sym_left, + [anon_alias_sym_right] = anon_alias_sym_right, [alias_sym_slot_name] = alias_sym_slot_name, }; @@ -594,6 +600,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [anon_alias_sym_left] = { + .visible = true, + .named = false, + }, + [anon_alias_sym_right] = { + .visible = true, + .named = false, + }, [alias_sym_slot_name] = { .visible = true, .named = true, @@ -603,9 +617,17 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { [0] = {0}, [1] = { - [1] = sym_expression_value, + [0] = anon_alias_sym_left, + [1] = anon_alias_sym_right, }, [2] = { + [1] = sym_expression_value, + }, + [3] = { + [0] = anon_alias_sym_left, + [2] = anon_alias_sym_right, + }, + [4] = { [1] = alias_sym_slot_name, }, }; @@ -674,25 +696,25 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [53] = 53, [54] = 54, [55] = 55, - [56] = 56, + [56] = 18, [57] = 57, [58] = 58, - [59] = 59, + [59] = 14, [60] = 60, [61] = 61, - [62] = 33, - [63] = 21, + [62] = 62, + [63] = 63, [64] = 64, [65] = 65, [66] = 66, - [67] = 65, + [67] = 67, [68] = 68, [69] = 66, [70] = 70, [71] = 71, - [72] = 72, + [72] = 71, [73] = 73, - [74] = 72, + [74] = 74, [75] = 75, [76] = 76, [77] = 77, @@ -707,17 +729,17 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [86] = 86, [87] = 87, [88] = 88, - [89] = 89, + [89] = 68, [90] = 90, - [91] = 91, - [92] = 71, - [93] = 90, + [91] = 75, + [92] = 92, + [93] = 93, [94] = 94, [95] = 95, [96] = 96, [97] = 97, [98] = 98, - [99] = 85, + [99] = 99, [100] = 100, [101] = 101, [102] = 102, @@ -733,11 +755,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [112] = 112, [113] = 113, [114] = 114, - [115] = 79, - [116] = 116, - [117] = 117, - [118] = 118, - [119] = 101, + [115] = 115, }; static TSCharacterRange sym_module_character_set_1[] = { @@ -1430,8 +1448,8 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [5] = {.lex_state = 47}, [6] = {.lex_state = 48}, [7] = {.lex_state = 17}, - [8] = {.lex_state = 48}, - [9] = {.lex_state = 17}, + [8] = {.lex_state = 17}, + [9] = {.lex_state = 48}, [10] = {.lex_state = 48}, [11] = {.lex_state = 47}, [12] = {.lex_state = 47}, @@ -1456,30 +1474,30 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [31] = {.lex_state = 47}, [32] = {.lex_state = 47}, [33] = {.lex_state = 47}, - [34] = {.lex_state = 48}, + [34] = {.lex_state = 15}, [35] = {.lex_state = 48}, - [36] = {.lex_state = 15}, - [37] = {.lex_state = 15}, - [38] = {.lex_state = 48}, + [36] = {.lex_state = 48}, + [37] = {.lex_state = 48}, + [38] = {.lex_state = 15}, [39] = {.lex_state = 15}, - [40] = {.lex_state = 15}, + [40] = {.lex_state = 48}, [41] = {.lex_state = 15}, - [42] = {.lex_state = 15}, - [43] = {.lex_state = 48}, + [42] = {.lex_state = 48}, + [43] = {.lex_state = 15}, [44] = {.lex_state = 48}, [45] = {.lex_state = 48}, [46] = {.lex_state = 15}, - [47] = {.lex_state = 48}, + [47] = {.lex_state = 15}, [48] = {.lex_state = 48}, [49] = {.lex_state = 48}, - [50] = {.lex_state = 17}, + [50] = {.lex_state = 48}, [51] = {.lex_state = 17}, - [52] = {.lex_state = 48}, - [53] = {.lex_state = 15}, - [54] = {.lex_state = 14}, + [52] = {.lex_state = 17}, + [53] = {.lex_state = 14}, + [54] = {.lex_state = 15}, [55] = {.lex_state = 15}, - [56] = {.lex_state = 4}, - [57] = {.lex_state = 15}, + [56] = {.lex_state = 15}, + [57] = {.lex_state = 4}, [58] = {.lex_state = 15}, [59] = {.lex_state = 15}, [60] = {.lex_state = 15}, @@ -1490,58 +1508,54 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [65] = {.lex_state = 44}, [66] = {.lex_state = 44}, [67] = {.lex_state = 44}, - [68] = {.lex_state = 44}, + [68] = {.lex_state = 5}, [69] = {.lex_state = 44}, [70] = {.lex_state = 5}, - [71] = {.lex_state = 5}, + [71] = {.lex_state = 44}, [72] = {.lex_state = 44}, - [73] = {.lex_state = 3}, - [74] = {.lex_state = 44}, - [75] = {.lex_state = 6}, - [76] = {.lex_state = 11}, - [77] = {.lex_state = 12}, - [78] = {.lex_state = 44}, - [79] = {.lex_state = 44}, + [73] = {.lex_state = 44}, + [74] = {.lex_state = 3}, + [75] = {.lex_state = 11}, + [76] = {.lex_state = 12}, + [77] = {.lex_state = 44}, + [78] = {.lex_state = 6}, + [79] = {.lex_state = 6}, [80] = {.lex_state = 6}, [81] = {.lex_state = 6}, - [82] = {.lex_state = 6}, - [83] = {.lex_state = 6}, + [82] = {.lex_state = 44}, + [83] = {.lex_state = 12}, [84] = {.lex_state = 11}, - [85] = {.lex_state = 44}, - [86] = {.lex_state = 6}, + [85] = {.lex_state = 6}, + [86] = {.lex_state = 3}, [87] = {.lex_state = 6}, [88] = {.lex_state = 6}, - [89] = {.lex_state = 12}, + [89] = {.lex_state = 6}, [90] = {.lex_state = 11}, - [91] = {.lex_state = 3}, + [91] = {.lex_state = 12}, [92] = {.lex_state = 6}, - [93] = {.lex_state = 12}, - [94] = {.lex_state = 0}, - [95] = {.lex_state = 3}, - [96] = {.lex_state = 8}, - [97] = {.lex_state = 2}, + [93] = {.lex_state = 44}, + [94] = {.lex_state = 8}, + [95] = {.lex_state = 2}, + [96] = {.lex_state = 3}, + [97] = {.lex_state = 0}, [98] = {.lex_state = 3}, - [99] = {.lex_state = 0}, + [99] = {.lex_state = 3}, [100] = {.lex_state = 0}, [101] = {.lex_state = 0}, [102] = {.lex_state = 3}, - [103] = {.lex_state = 0}, - [104] = {.lex_state = 0}, - [105] = {.lex_state = 23}, + [103] = {.lex_state = 23}, + [104] = {.lex_state = 3}, + [105] = {.lex_state = 3}, [106] = {.lex_state = 23}, [107] = {.lex_state = 0}, [108] = {.lex_state = 0}, - [109] = {.lex_state = 34}, - [110] = {.lex_state = 0}, + [109] = {.lex_state = 0}, + [110] = {.lex_state = 34}, [111] = {.lex_state = 0}, [112] = {.lex_state = 0}, [113] = {.lex_state = 0}, - [114] = {.lex_state = 23}, - [115] = {.lex_state = 0}, - [116] = {.lex_state = 3}, - [117] = {.lex_state = 3}, - [118] = {.lex_state = 3}, - [119] = {.lex_state = 0}, + [114] = {.lex_state = 0}, + [115] = {.lex_state = 23}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -1579,21 +1593,21 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_attribute_name] = ACTIONS(1), }, [1] = { - [sym_fragment] = STATE(112), + [sym_fragment] = STATE(113), [sym__node] = STATE(10), [sym_doctype] = STATE(10), [sym_tag] = STATE(10), [sym_component] = STATE(10), - [sym_start_tag] = STATE(8), - [sym_self_closing_tag] = STATE(18), + [sym_start_tag] = STATE(9), + [sym_self_closing_tag] = STATE(12), [sym_start_component] = STATE(2), - [sym_self_closing_component] = STATE(16), + [sym_self_closing_component] = STATE(13), [sym_expression] = STATE(10), [sym_directive] = STATE(10), [sym_comment] = STATE(10), - [sym__html_comment] = STATE(11), - [sym__bang_comment] = STATE(11), - [sym__hash_comment] = STATE(11), + [sym__html_comment] = STATE(29), + [sym__bang_comment] = STATE(29), + [sym__hash_comment] = STATE(29), [aux_sym_fragment_repeat1] = STATE(10), [ts_builtin_sym_end] = ACTIONS(3), [anon_sym_LT_BANG] = ACTIONS(5), @@ -1634,15 +1648,15 @@ static const uint16_t ts_small_parse_table[] = { sym_start_component, STATE(7), 1, sym_start_slot, - STATE(8), 1, + STATE(9), 1, sym_start_tag, - STATE(16), 1, + STATE(12), 1, + sym_self_closing_tag, + STATE(13), 1, sym_self_closing_component, - STATE(17), 1, + STATE(33), 1, sym_end_component, - STATE(18), 1, - sym_self_closing_tag, - STATE(34), 1, + STATE(37), 1, sym_self_closing_slot, ACTIONS(11), 2, anon_sym_LT_PERCENT, @@ -1650,7 +1664,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(13), 2, anon_sym_LT_PERCENT_EQ, anon_sym_LT_PERCENT_PERCENT_EQ, - STATE(11), 3, + STATE(29), 3, sym__html_comment, sym__bang_comment, sym__hash_comment, @@ -1687,15 +1701,15 @@ static const uint16_t ts_small_parse_table[] = { sym_start_component, STATE(7), 1, sym_start_slot, - STATE(8), 1, + STATE(9), 1, sym_start_tag, - STATE(16), 1, - sym_self_closing_component, - STATE(18), 1, + STATE(12), 1, sym_self_closing_tag, - STATE(27), 1, + STATE(13), 1, + sym_self_closing_component, + STATE(25), 1, sym_end_component, - STATE(34), 1, + STATE(37), 1, sym_self_closing_slot, ACTIONS(11), 2, anon_sym_LT_PERCENT, @@ -1703,7 +1717,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(13), 2, anon_sym_LT_PERCENT_EQ, anon_sym_LT_PERCENT_PERCENT_EQ, - STATE(11), 3, + STATE(29), 3, sym__html_comment, sym__bang_comment, sym__hash_comment, @@ -1740,13 +1754,13 @@ static const uint16_t ts_small_parse_table[] = { sym_start_component, STATE(7), 1, sym_start_slot, - STATE(8), 1, + STATE(9), 1, sym_start_tag, - STATE(16), 1, - sym_self_closing_component, - STATE(18), 1, + STATE(12), 1, sym_self_closing_tag, - STATE(34), 1, + STATE(13), 1, + sym_self_closing_component, + STATE(37), 1, sym_self_closing_slot, ACTIONS(45), 2, anon_sym_LT_PERCENT, @@ -1754,7 +1768,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(48), 2, anon_sym_LT_PERCENT_EQ, anon_sym_LT_PERCENT_PERCENT_EQ, - STATE(11), 3, + STATE(29), 3, sym__html_comment, sym__bang_comment, sym__hash_comment, @@ -1787,12 +1801,12 @@ static const uint16_t ts_small_parse_table[] = { sym_text, STATE(2), 1, sym_start_component, - STATE(8), 1, + STATE(9), 1, sym_start_tag, - STATE(16), 1, - sym_self_closing_component, - STATE(18), 1, + STATE(12), 1, sym_self_closing_tag, + STATE(13), 1, + sym_self_closing_component, ACTIONS(63), 2, ts_builtin_sym_end, anon_sym_LT_SLASH_COLON, @@ -1802,7 +1816,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(79), 2, anon_sym_LT_PERCENT_EQ, anon_sym_LT_PERCENT_PERCENT_EQ, - STATE(11), 3, + STATE(29), 3, sym__html_comment, sym__bang_comment, sym__hash_comment, @@ -1834,13 +1848,13 @@ static const uint16_t ts_small_parse_table[] = { sym_text, STATE(2), 1, sym_start_component, - STATE(8), 1, + STATE(9), 1, sym_start_tag, - STATE(16), 1, - sym_self_closing_component, - STATE(18), 1, + STATE(12), 1, sym_self_closing_tag, - STATE(26), 1, + STATE(13), 1, + sym_self_closing_component, + STATE(23), 1, sym_end_tag, ACTIONS(11), 2, anon_sym_LT_PERCENT, @@ -1848,7 +1862,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(13), 2, anon_sym_LT_PERCENT_EQ, anon_sym_LT_PERCENT_PERCENT_EQ, - STATE(11), 3, + STATE(29), 3, sym__html_comment, sym__bang_comment, sym__hash_comment, @@ -1880,13 +1894,13 @@ static const uint16_t ts_small_parse_table[] = { sym_text, STATE(2), 1, sym_start_component, - STATE(8), 1, + STATE(9), 1, sym_start_tag, - STATE(16), 1, - sym_self_closing_component, - STATE(18), 1, + STATE(12), 1, sym_self_closing_tag, - STATE(38), 1, + STATE(13), 1, + sym_self_closing_component, + STATE(35), 1, sym_end_slot, ACTIONS(11), 2, anon_sym_LT_PERCENT, @@ -1894,11 +1908,11 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(13), 2, anon_sym_LT_PERCENT_EQ, anon_sym_LT_PERCENT_PERCENT_EQ, - STATE(11), 3, + STATE(29), 3, sym__html_comment, sym__bang_comment, sym__hash_comment, - STATE(9), 8, + STATE(8), 8, sym__node, sym_doctype, sym_tag, @@ -1920,31 +1934,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_PERCENT_BANG_DASH_DASH, ACTIONS(19), 1, anon_sym_LT_PERCENT_POUND, - ACTIONS(94), 1, - anon_sym_LT_SLASH, - ACTIONS(102), 1, + ACTIONS(96), 1, sym_text, + ACTIONS(98), 1, + anon_sym_LT_SLASH_COLON, STATE(2), 1, sym_start_component, - STATE(8), 1, + STATE(9), 1, sym_start_tag, - STATE(15), 1, - sym_end_tag, - STATE(16), 1, - sym_self_closing_component, - STATE(18), 1, + STATE(12), 1, sym_self_closing_tag, + STATE(13), 1, + sym_self_closing_component, + STATE(44), 1, + sym_end_slot, ACTIONS(11), 2, anon_sym_LT_PERCENT, anon_sym_LT_PERCENT_PERCENT, ACTIONS(13), 2, anon_sym_LT_PERCENT_EQ, anon_sym_LT_PERCENT_PERCENT_EQ, - STATE(11), 3, + STATE(29), 3, sym__html_comment, sym__bang_comment, sym__hash_comment, - STATE(6), 8, + STATE(5), 8, sym__node, sym_doctype, sym_tag, @@ -1966,31 +1980,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_PERCENT_BANG_DASH_DASH, ACTIONS(19), 1, anon_sym_LT_PERCENT_POUND, - ACTIONS(96), 1, + ACTIONS(94), 1, + anon_sym_LT_SLASH, + ACTIONS(102), 1, sym_text, - ACTIONS(98), 1, - anon_sym_LT_SLASH_COLON, STATE(2), 1, sym_start_component, - STATE(8), 1, + STATE(9), 1, sym_start_tag, - STATE(16), 1, - sym_self_closing_component, - STATE(18), 1, + STATE(12), 1, sym_self_closing_tag, - STATE(47), 1, - sym_end_slot, + STATE(13), 1, + sym_self_closing_component, + STATE(28), 1, + sym_end_tag, ACTIONS(11), 2, anon_sym_LT_PERCENT, anon_sym_LT_PERCENT_PERCENT, ACTIONS(13), 2, anon_sym_LT_PERCENT_EQ, anon_sym_LT_PERCENT_PERCENT_EQ, - STATE(11), 3, + STATE(29), 3, sym__html_comment, sym__bang_comment, sym__hash_comment, - STATE(5), 8, + STATE(6), 8, sym__node, sym_doctype, sym_tag, @@ -2018,19 +2032,19 @@ static const uint16_t ts_small_parse_table[] = { ts_builtin_sym_end, STATE(2), 1, sym_start_component, - STATE(8), 1, + STATE(9), 1, sym_start_tag, - STATE(16), 1, - sym_self_closing_component, - STATE(18), 1, + STATE(12), 1, sym_self_closing_tag, + STATE(13), 1, + sym_self_closing_component, ACTIONS(11), 2, anon_sym_LT_PERCENT, anon_sym_LT_PERCENT_PERCENT, ACTIONS(13), 2, anon_sym_LT_PERCENT_EQ, anon_sym_LT_PERCENT_PERCENT_EQ, - STATE(11), 3, + STATE(29), 3, sym__html_comment, sym__bang_comment, sym__hash_comment, @@ -2457,13 +2471,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_PERCENT_BANG_DASH_DASH, anon_sym_LT_PERCENT_POUND, sym_text, - [1052] = 2, - ACTIONS(198), 4, + [1052] = 6, + ACTIONS(200), 1, + anon_sym_LBRACE, + ACTIONS(206), 1, + sym_attribute_name, + STATE(114), 1, + sym_special_attribute_name, + ACTIONS(198), 2, + anon_sym_GT, + anon_sym_SLASH_GT, + ACTIONS(203), 4, + anon_sym_COLONlet, + anon_sym_COLONfor, + anon_sym_COLONstream, + anon_sym_COLONif, + STATE(34), 4, + sym_expression, + sym_special_attribute, + sym_attribute, + aux_sym_start_tag_repeat1, + [1078] = 2, + ACTIONS(209), 4, anon_sym_LT_BANG, anon_sym_LT, anon_sym_LT_PERCENT, anon_sym_LT_PERCENT_PERCENT, - ACTIONS(200), 9, + ACTIONS(211), 9, anon_sym_LT_SLASH, anon_sym_LT_COLON, anon_sym_LBRACE, @@ -2473,13 +2507,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_PERCENT_BANG_DASH_DASH, anon_sym_LT_PERCENT_POUND, sym_text, - [1070] = 2, - ACTIONS(202), 4, + [1096] = 2, + ACTIONS(213), 4, anon_sym_LT_BANG, anon_sym_LT, anon_sym_LT_PERCENT, anon_sym_LT_PERCENT_PERCENT, - ACTIONS(204), 9, + ACTIONS(215), 9, anon_sym_LT_SLASH, anon_sym_LT_COLON, anon_sym_LBRACE, @@ -2489,55 +2523,71 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_PERCENT_BANG_DASH_DASH, anon_sym_LT_PERCENT_POUND, sym_text, - [1088] = 7, - ACTIONS(206), 1, + [1114] = 2, + ACTIONS(217), 4, + anon_sym_LT_BANG, + anon_sym_LT, + anon_sym_LT_PERCENT, + anon_sym_LT_PERCENT_PERCENT, + ACTIONS(219), 9, + anon_sym_LT_SLASH, + anon_sym_LT_COLON, + anon_sym_LBRACE, + anon_sym_LT_PERCENT_EQ, + anon_sym_LT_PERCENT_PERCENT_EQ, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_LT_PERCENT_BANG_DASH_DASH, + anon_sym_LT_PERCENT_POUND, + sym_text, + [1132] = 7, + ACTIONS(221), 1, anon_sym_GT, - ACTIONS(208), 1, + ACTIONS(223), 1, anon_sym_SLASH_GT, - ACTIONS(210), 1, + ACTIONS(225), 1, anon_sym_LBRACE, - ACTIONS(214), 1, + ACTIONS(229), 1, sym_attribute_name, - STATE(103), 1, + STATE(114), 1, sym_special_attribute_name, - ACTIONS(212), 4, + ACTIONS(227), 4, anon_sym_COLONlet, anon_sym_COLONfor, anon_sym_COLONstream, anon_sym_COLONif, - STATE(42), 4, + STATE(34), 4, sym_expression, sym_special_attribute, sym_attribute, aux_sym_start_tag_repeat1, - [1116] = 7, - ACTIONS(210), 1, + [1160] = 7, + ACTIONS(225), 1, anon_sym_LBRACE, - ACTIONS(214), 1, + ACTIONS(229), 1, sym_attribute_name, - ACTIONS(216), 1, + ACTIONS(231), 1, anon_sym_GT, - ACTIONS(218), 1, + ACTIONS(233), 1, anon_sym_SLASH_GT, - STATE(103), 1, + STATE(114), 1, sym_special_attribute_name, - ACTIONS(212), 4, + ACTIONS(227), 4, anon_sym_COLONlet, anon_sym_COLONfor, anon_sym_COLONstream, anon_sym_COLONif, - STATE(46), 4, + STATE(38), 4, sym_expression, sym_special_attribute, sym_attribute, aux_sym_start_tag_repeat1, - [1144] = 2, - ACTIONS(220), 4, + [1188] = 2, + ACTIONS(235), 4, anon_sym_LT_BANG, anon_sym_LT, anon_sym_LT_PERCENT, anon_sym_LT_PERCENT_PERCENT, - ACTIONS(222), 9, + ACTIONS(237), 9, anon_sym_LT_SLASH, anon_sym_LT_COLON, anon_sym_LBRACE, @@ -2547,106 +2597,65 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_PERCENT_BANG_DASH_DASH, anon_sym_LT_PERCENT_POUND, sym_text, - [1162] = 7, - ACTIONS(210), 1, + [1206] = 7, + ACTIONS(225), 1, anon_sym_LBRACE, - ACTIONS(214), 1, + ACTIONS(229), 1, sym_attribute_name, - ACTIONS(224), 1, + ACTIONS(239), 1, anon_sym_GT, - ACTIONS(226), 1, + ACTIONS(241), 1, anon_sym_SLASH_GT, - STATE(103), 1, + STATE(114), 1, sym_special_attribute_name, - ACTIONS(212), 4, + ACTIONS(227), 4, anon_sym_COLONlet, anon_sym_COLONfor, anon_sym_COLONstream, anon_sym_COLONif, - STATE(36), 4, + STATE(43), 4, sym_expression, sym_special_attribute, sym_attribute, aux_sym_start_tag_repeat1, - [1190] = 7, - ACTIONS(210), 1, + [1234] = 2, + ACTIONS(243), 4, + anon_sym_LT_BANG, + anon_sym_LT, + anon_sym_LT_PERCENT, + anon_sym_LT_PERCENT_PERCENT, + ACTIONS(245), 9, + anon_sym_LT_SLASH, + anon_sym_LT_COLON, anon_sym_LBRACE, - ACTIONS(214), 1, - sym_attribute_name, - ACTIONS(228), 1, - anon_sym_GT, - ACTIONS(230), 1, - anon_sym_SLASH_GT, - STATE(103), 1, - sym_special_attribute_name, - ACTIONS(212), 4, - anon_sym_COLONlet, - anon_sym_COLONfor, - anon_sym_COLONstream, - anon_sym_COLONif, - STATE(42), 4, - sym_expression, - sym_special_attribute, - sym_attribute, - aux_sym_start_tag_repeat1, - [1218] = 7, - ACTIONS(210), 1, + anon_sym_LT_PERCENT_EQ, + anon_sym_LT_PERCENT_PERCENT_EQ, + anon_sym_LT_BANG_DASH_DASH, + anon_sym_LT_PERCENT_BANG_DASH_DASH, + anon_sym_LT_PERCENT_POUND, + sym_text, + [1252] = 7, + ACTIONS(225), 1, anon_sym_LBRACE, - ACTIONS(214), 1, + ACTIONS(229), 1, sym_attribute_name, - ACTIONS(232), 1, + ACTIONS(247), 1, anon_sym_GT, - ACTIONS(234), 1, + ACTIONS(249), 1, anon_sym_SLASH_GT, - STATE(103), 1, - sym_special_attribute_name, - ACTIONS(212), 4, - anon_sym_COLONlet, - anon_sym_COLONfor, - anon_sym_COLONstream, - anon_sym_COLONif, - STATE(40), 4, - sym_expression, - sym_special_attribute, - sym_attribute, - aux_sym_start_tag_repeat1, - [1246] = 6, - ACTIONS(238), 1, - anon_sym_LBRACE, - ACTIONS(244), 1, - sym_attribute_name, - STATE(103), 1, + STATE(114), 1, sym_special_attribute_name, - ACTIONS(236), 2, - anon_sym_GT, - anon_sym_SLASH_GT, - ACTIONS(241), 4, + ACTIONS(227), 4, anon_sym_COLONlet, anon_sym_COLONfor, anon_sym_COLONstream, anon_sym_COLONif, - STATE(42), 4, + STATE(34), 4, sym_expression, sym_special_attribute, sym_attribute, aux_sym_start_tag_repeat1, - [1272] = 2, - ACTIONS(247), 4, - anon_sym_LT_BANG, - anon_sym_LT, - anon_sym_LT_PERCENT, - anon_sym_LT_PERCENT_PERCENT, - ACTIONS(249), 9, - anon_sym_LT_SLASH, - anon_sym_LT_COLON, - anon_sym_LBRACE, - anon_sym_LT_PERCENT_EQ, - anon_sym_LT_PERCENT_PERCENT_EQ, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_PERCENT_BANG_DASH_DASH, - anon_sym_LT_PERCENT_POUND, - sym_text, - [1290] = 2, + [1280] = 2, ACTIONS(251), 4, anon_sym_LT_BANG, anon_sym_LT, @@ -2662,7 +2671,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_PERCENT_BANG_DASH_DASH, anon_sym_LT_PERCENT_POUND, sym_text, - [1308] = 2, + [1298] = 2, ACTIONS(255), 4, anon_sym_LT_BANG, anon_sym_LT, @@ -2678,43 +2687,48 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_PERCENT_BANG_DASH_DASH, anon_sym_LT_PERCENT_POUND, sym_text, - [1326] = 7, - ACTIONS(210), 1, + [1316] = 7, + ACTIONS(225), 1, anon_sym_LBRACE, - ACTIONS(214), 1, + ACTIONS(229), 1, sym_attribute_name, ACTIONS(259), 1, anon_sym_GT, ACTIONS(261), 1, anon_sym_SLASH_GT, - STATE(103), 1, + STATE(114), 1, sym_special_attribute_name, - ACTIONS(212), 4, + ACTIONS(227), 4, anon_sym_COLONlet, anon_sym_COLONfor, anon_sym_COLONstream, anon_sym_COLONif, - STATE(42), 4, + STATE(34), 4, sym_expression, sym_special_attribute, sym_attribute, aux_sym_start_tag_repeat1, - [1354] = 2, - ACTIONS(263), 4, - anon_sym_LT_BANG, - anon_sym_LT, - anon_sym_LT_PERCENT, - anon_sym_LT_PERCENT_PERCENT, - ACTIONS(265), 9, - anon_sym_LT_SLASH, - anon_sym_LT_COLON, + [1344] = 7, + ACTIONS(225), 1, anon_sym_LBRACE, - anon_sym_LT_PERCENT_EQ, - anon_sym_LT_PERCENT_PERCENT_EQ, - anon_sym_LT_BANG_DASH_DASH, - anon_sym_LT_PERCENT_BANG_DASH_DASH, - anon_sym_LT_PERCENT_POUND, - sym_text, + ACTIONS(229), 1, + sym_attribute_name, + ACTIONS(263), 1, + anon_sym_GT, + ACTIONS(265), 1, + anon_sym_SLASH_GT, + STATE(114), 1, + sym_special_attribute_name, + ACTIONS(227), 4, + anon_sym_COLONlet, + anon_sym_COLONfor, + anon_sym_COLONstream, + anon_sym_COLONif, + STATE(46), 4, + sym_expression, + sym_special_attribute, + sym_attribute, + aux_sym_start_tag_repeat1, [1372] = 2, ACTIONS(267), 4, anon_sym_LT_BANG, @@ -2753,7 +2767,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_PERCENT, anon_sym_LT_PERCENT_PERCENT, ACTIONS(277), 8, - anon_sym_LT_SLASH_COLON, + anon_sym_LT_SLASH, anon_sym_LBRACE, anon_sym_LT_PERCENT_EQ, anon_sym_LT_PERCENT_PERCENT_EQ, @@ -2783,7 +2797,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_PERCENT, anon_sym_LT_PERCENT_PERCENT, ACTIONS(285), 8, - anon_sym_LT_SLASH, + anon_sym_LT_SLASH_COLON, anon_sym_LBRACE, anon_sym_LT_PERCENT_EQ, anon_sym_LT_PERCENT_PERCENT_EQ, @@ -2791,10 +2805,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_PERCENT_BANG_DASH_DASH, anon_sym_LT_PERCENT_POUND, sym_text, - [1458] = 2, + [1458] = 3, ACTIONS(289), 1, - anon_sym_EQ, - ACTIONS(287), 8, + anon_sym_DOT, + ACTIONS(291), 1, + sym_attribute_name, + ACTIONS(287), 7, anon_sym_GT, anon_sym_SLASH_GT, anon_sym_LBRACE, @@ -2802,13 +2818,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLONfor, anon_sym_COLONstream, anon_sym_COLONif, - sym_attribute_name, - [1472] = 3, - ACTIONS(293), 1, - anon_sym_DOT, + [1474] = 2, ACTIONS(295), 1, - sym_attribute_name, - ACTIONS(291), 7, + anon_sym_EQ, + ACTIONS(293), 8, anon_sym_GT, anon_sym_SLASH_GT, anon_sym_LBRACE, @@ -2816,6 +2829,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLONfor, anon_sym_COLONstream, anon_sym_COLONif, + sym_attribute_name, [1488] = 1, ACTIONS(297), 8, anon_sym_GT, @@ -2826,7 +2840,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLONstream, anon_sym_COLONif, sym_attribute_name, - [1499] = 5, + [1499] = 1, + ACTIONS(134), 8, + anon_sym_GT, + anon_sym_SLASH_GT, + anon_sym_LBRACE, + anon_sym_COLONlet, + anon_sym_COLONfor, + anon_sym_COLONstream, + anon_sym_COLONif, + sym_attribute_name, + [1510] = 5, ACTIONS(301), 1, aux_sym_ending_expression_value_token1, ACTIONS(303), 1, @@ -2836,22 +2860,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(299), 2, anon_sym_do, anon_sym_DASH_GT, - STATE(102), 3, + STATE(99), 3, sym_expression_value, sym_partial_expression_value, sym_ending_expression_value, - [1518] = 1, - ACTIONS(305), 8, - anon_sym_GT, - anon_sym_SLASH_GT, - anon_sym_LBRACE, - anon_sym_COLONlet, - anon_sym_COLONfor, - anon_sym_COLONstream, - anon_sym_COLONif, - sym_attribute_name, [1529] = 1, - ACTIONS(307), 8, + ACTIONS(305), 8, anon_sym_GT, anon_sym_SLASH_GT, anon_sym_LBRACE, @@ -2861,7 +2875,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLONif, sym_attribute_name, [1540] = 1, - ACTIONS(309), 8, + ACTIONS(118), 8, anon_sym_GT, anon_sym_SLASH_GT, anon_sym_LBRACE, @@ -2871,7 +2885,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLONif, sym_attribute_name, [1551] = 1, - ACTIONS(311), 8, + ACTIONS(307), 8, anon_sym_GT, anon_sym_SLASH_GT, anon_sym_LBRACE, @@ -2881,7 +2895,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLONif, sym_attribute_name, [1562] = 1, - ACTIONS(313), 8, + ACTIONS(309), 8, anon_sym_GT, anon_sym_SLASH_GT, anon_sym_LBRACE, @@ -2891,7 +2905,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLONif, sym_attribute_name, [1573] = 1, - ACTIONS(194), 8, + ACTIONS(311), 8, anon_sym_GT, anon_sym_SLASH_GT, anon_sym_LBRACE, @@ -2901,7 +2915,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLONif, sym_attribute_name, [1584] = 1, - ACTIONS(146), 8, + ACTIONS(313), 8, anon_sym_GT, anon_sym_SLASH_GT, anon_sym_LBRACE, @@ -2911,7 +2925,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLONif, sym_attribute_name, [1595] = 5, - ACTIONS(210), 1, + ACTIONS(225), 1, anon_sym_LBRACE, ACTIONS(315), 1, sym_attribute_value, @@ -2919,7 +2933,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SQUOTE, ACTIONS(319), 1, anon_sym_DQUOTE, - STATE(57), 2, + STATE(55), 2, sym_expression, sym_quoted_attribute_value, [1612] = 5, @@ -2929,9 +2943,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, ACTIONS(325), 1, aux_sym__expression_value_token1, - STATE(69), 1, + STATE(73), 1, aux_sym_expression_repeat1, - STATE(78), 1, + STATE(82), 1, sym__expression_value, [1628] = 5, ACTIONS(321), 1, @@ -2940,307 +2954,299 @@ static const uint16_t ts_small_parse_table[] = { aux_sym__expression_value_token1, ACTIONS(327), 1, anon_sym_RBRACE, - STATE(68), 1, + STATE(67), 1, aux_sym_expression_repeat1, - STATE(78), 1, + STATE(82), 1, sym__expression_value, [1644] = 5, - ACTIONS(321), 1, - anon_sym_LBRACE, - ACTIONS(325), 1, - aux_sym__expression_value_token1, ACTIONS(329), 1, - anon_sym_RBRACE, - STATE(66), 1, - aux_sym_expression_repeat1, - STATE(78), 1, - sym__expression_value, - [1660] = 5, - ACTIONS(331), 1, anon_sym_LBRACE, - ACTIONS(334), 1, + ACTIONS(332), 1, anon_sym_RBRACE, - ACTIONS(336), 1, + ACTIONS(334), 1, aux_sym__expression_value_token1, - STATE(68), 1, + STATE(67), 1, aux_sym_expression_repeat1, - STATE(78), 1, + STATE(82), 1, sym__expression_value, - [1676] = 5, + [1660] = 3, + ACTIONS(339), 1, + sym__code, + STATE(68), 1, + aux_sym__hash_comment_repeat1, + ACTIONS(337), 3, + anon_sym_PERCENT_GT, + anon_sym_do, + anon_sym_DASH_GT, + [1672] = 5, ACTIONS(321), 1, anon_sym_LBRACE, ACTIONS(325), 1, aux_sym__expression_value_token1, - ACTIONS(339), 1, + ACTIONS(342), 1, anon_sym_RBRACE, - STATE(68), 1, + STATE(67), 1, aux_sym_expression_repeat1, - STATE(78), 1, + STATE(82), 1, sym__expression_value, - [1692] = 4, - ACTIONS(341), 1, + [1688] = 4, + ACTIONS(344), 1, anon_sym_PERCENT_GT, - ACTIONS(345), 1, + ACTIONS(348), 1, sym__code, - STATE(71), 1, - aux_sym__hash_comment_repeat1, - ACTIONS(343), 2, - anon_sym_do, - anon_sym_DASH_GT, - [1706] = 3, - ACTIONS(349), 1, - sym__code, - STATE(71), 1, + STATE(68), 1, aux_sym__hash_comment_repeat1, - ACTIONS(347), 3, - anon_sym_PERCENT_GT, + ACTIONS(346), 2, anon_sym_do, anon_sym_DASH_GT, - [1718] = 4, + [1702] = 5, + ACTIONS(321), 1, + anon_sym_LBRACE, + ACTIONS(325), 1, + aux_sym__expression_value_token1, + ACTIONS(350), 1, + anon_sym_RBRACE, + STATE(69), 1, + aux_sym_expression_repeat1, + STATE(82), 1, + sym__expression_value, + [1718] = 5, + ACTIONS(321), 1, + anon_sym_LBRACE, + ACTIONS(325), 1, + aux_sym__expression_value_token1, ACTIONS(352), 1, + anon_sym_RBRACE, + STATE(66), 1, + aux_sym_expression_repeat1, + STATE(82), 1, + sym__expression_value, + [1734] = 5, + ACTIONS(321), 1, anon_sym_LBRACE, + ACTIONS(325), 1, + aux_sym__expression_value_token1, ACTIONS(354), 1, anon_sym_RBRACE, - ACTIONS(356), 1, - aux_sym__expression_value_token1, - STATE(101), 1, + STATE(67), 1, + aux_sym_expression_repeat1, + STATE(82), 1, sym__expression_value, - [1731] = 4, - ACTIONS(358), 1, + [1750] = 4, + ACTIONS(356), 1, anon_sym_DOT, - ACTIONS(360), 1, + ACTIONS(358), 1, sym_module, - ACTIONS(362), 1, + ACTIONS(360), 1, sym_tag_name, - STATE(41), 1, + STATE(39), 1, sym_component_name, - [1744] = 4, - ACTIONS(352), 1, - anon_sym_LBRACE, - ACTIONS(364), 1, - anon_sym_RBRACE, - ACTIONS(366), 1, - aux_sym__expression_value_token1, - STATE(119), 1, - sym__expression_value, - [1757] = 3, - ACTIONS(368), 1, - anon_sym_PERCENT_GT, - ACTIONS(370), 1, - sym__code, - STATE(92), 1, - aux_sym__hash_comment_repeat1, - [1767] = 3, - ACTIONS(372), 1, + [1763] = 3, + ACTIONS(362), 1, aux_sym__html_comment_token1, - ACTIONS(374), 1, + ACTIONS(365), 1, anon_sym_DASH_DASH_GT, - STATE(84), 1, + STATE(75), 1, aux_sym__html_comment_repeat1, - [1777] = 3, - ACTIONS(376), 1, + [1773] = 3, + ACTIONS(367), 1, aux_sym__html_comment_token1, - ACTIONS(378), 1, + ACTIONS(369), 1, anon_sym_DASH_DASH_PERCENT_GT, - STATE(89), 1, + STATE(91), 1, aux_sym__html_comment_repeat1, - [1787] = 2, - ACTIONS(382), 1, - aux_sym__expression_value_token1, - ACTIONS(380), 2, - anon_sym_LBRACE, - anon_sym_RBRACE, - [1795] = 2, - ACTIONS(386), 1, + [1783] = 2, + ACTIONS(373), 1, aux_sym__expression_value_token1, - ACTIONS(384), 2, + ACTIONS(371), 2, anon_sym_LBRACE, anon_sym_RBRACE, - [1803] = 3, - ACTIONS(388), 1, + [1791] = 3, + ACTIONS(375), 1, anon_sym_PERCENT_GT, - ACTIONS(390), 1, + ACTIONS(377), 1, sym__code, - STATE(86), 1, + STATE(89), 1, aux_sym__hash_comment_repeat1, - [1813] = 3, - ACTIONS(392), 1, + [1801] = 3, + ACTIONS(375), 1, anon_sym_PERCENT_GT, - ACTIONS(394), 1, + ACTIONS(379), 1, sym__code, - STATE(88), 1, + STATE(85), 1, aux_sym__hash_comment_repeat1, - [1823] = 3, - ACTIONS(370), 1, + [1811] = 3, + ACTIONS(377), 1, sym__code, - ACTIONS(388), 1, + ACTIONS(381), 1, anon_sym_PERCENT_GT, - STATE(92), 1, + STATE(89), 1, aux_sym__hash_comment_repeat1, - [1833] = 3, - ACTIONS(396), 1, - anon_sym_PERCENT_GT, - ACTIONS(398), 1, + [1821] = 3, + ACTIONS(377), 1, sym__code, - STATE(75), 1, + ACTIONS(383), 1, + anon_sym_PERCENT_GT, + STATE(89), 1, aux_sym__hash_comment_repeat1, - [1843] = 3, - ACTIONS(400), 1, - aux_sym__html_comment_token1, - ACTIONS(402), 1, - anon_sym_DASH_DASH_GT, - STATE(90), 1, - aux_sym__html_comment_repeat1, - [1853] = 2, - ACTIONS(406), 1, + [1831] = 2, + ACTIONS(387), 1, aux_sym__expression_value_token1, - ACTIONS(404), 2, + ACTIONS(385), 2, anon_sym_LBRACE, anon_sym_RBRACE, - [1861] = 3, - ACTIONS(370), 1, + [1839] = 3, + ACTIONS(389), 1, + aux_sym__html_comment_token1, + ACTIONS(391), 1, + anon_sym_DASH_DASH_PERCENT_GT, + STATE(76), 1, + aux_sym__html_comment_repeat1, + [1849] = 3, + ACTIONS(393), 1, + aux_sym__html_comment_token1, + ACTIONS(395), 1, + anon_sym_DASH_DASH_GT, + STATE(75), 1, + aux_sym__html_comment_repeat1, + [1859] = 3, + ACTIONS(377), 1, sym__code, - ACTIONS(408), 1, + ACTIONS(397), 1, anon_sym_PERCENT_GT, - STATE(92), 1, + STATE(89), 1, aux_sym__hash_comment_repeat1, - [1871] = 3, - ACTIONS(410), 1, + [1869] = 3, + ACTIONS(356), 1, + anon_sym_DOT, + ACTIONS(358), 1, + sym_module, + STATE(100), 1, + sym_component_name, + [1879] = 3, + ACTIONS(399), 1, anon_sym_PERCENT_GT, - ACTIONS(412), 1, + ACTIONS(401), 1, sym__code, - STATE(82), 1, + STATE(80), 1, aux_sym__hash_comment_repeat1, - [1881] = 3, - ACTIONS(370), 1, + [1889] = 3, + ACTIONS(403), 1, + anon_sym_PERCENT_GT, + ACTIONS(405), 1, sym__code, - ACTIONS(414), 1, + STATE(78), 1, + aux_sym__hash_comment_repeat1, + [1899] = 3, + ACTIONS(337), 1, anon_sym_PERCENT_GT, - STATE(92), 1, + ACTIONS(407), 1, + sym__code, + STATE(89), 1, aux_sym__hash_comment_repeat1, - [1891] = 3, - ACTIONS(416), 1, + [1909] = 3, + ACTIONS(410), 1, aux_sym__html_comment_token1, - ACTIONS(418), 1, - anon_sym_DASH_DASH_PERCENT_GT, - STATE(93), 1, + ACTIONS(412), 1, + anon_sym_DASH_DASH_GT, + STATE(84), 1, aux_sym__html_comment_repeat1, - [1901] = 3, - ACTIONS(420), 1, + [1919] = 3, + ACTIONS(365), 1, + anon_sym_DASH_DASH_PERCENT_GT, + ACTIONS(414), 1, aux_sym__html_comment_token1, - ACTIONS(423), 1, - anon_sym_DASH_DASH_GT, - STATE(90), 1, + STATE(91), 1, aux_sym__html_comment_repeat1, - [1911] = 3, - ACTIONS(358), 1, - anon_sym_DOT, - ACTIONS(360), 1, - sym_module, - STATE(104), 1, - sym_component_name, - [1921] = 3, - ACTIONS(347), 1, + [1929] = 3, + ACTIONS(417), 1, anon_sym_PERCENT_GT, - ACTIONS(425), 1, + ACTIONS(419), 1, sym__code, - STATE(92), 1, + STATE(81), 1, aux_sym__hash_comment_repeat1, - [1931] = 3, + [1939] = 2, ACTIONS(423), 1, - anon_sym_DASH_DASH_PERCENT_GT, - ACTIONS(428), 1, - aux_sym__html_comment_token1, - STATE(93), 1, - aux_sym__html_comment_repeat1, - [1941] = 2, - ACTIONS(210), 1, + aux_sym__expression_value_token1, + ACTIONS(421), 2, anon_sym_LBRACE, - STATE(59), 1, - sym_expression, - [1948] = 2, + anon_sym_RBRACE, + [1947] = 2, + ACTIONS(425), 1, + anon_sym_SQUOTE, + ACTIONS(427), 1, + aux_sym_quoted_attribute_value_token1, + [1954] = 2, + ACTIONS(425), 1, + anon_sym_DQUOTE, + ACTIONS(429), 1, + aux_sym_quoted_attribute_value_token2, + [1961] = 2, ACTIONS(431), 1, anon_sym_PERCENT_GT, ACTIONS(433), 1, anon_sym_POUND, - [1955] = 2, + [1968] = 2, + ACTIONS(225), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym_expression, + [1975] = 2, ACTIONS(435), 1, - anon_sym_SQUOTE, + anon_sym_PERCENT_GT, ACTIONS(437), 1, - aux_sym_quoted_attribute_value_token1, - [1962] = 2, - ACTIONS(435), 1, - anon_sym_DQUOTE, + anon_sym_POUND, + [1982] = 1, ACTIONS(439), 1, - aux_sym_quoted_attribute_value_token2, - [1969] = 2, - ACTIONS(441), 1, anon_sym_PERCENT_GT, + [1986] = 1, + ACTIONS(441), 1, + anon_sym_GT, + [1990] = 1, ACTIONS(443), 1, - anon_sym_POUND, - [1976] = 1, - ACTIONS(406), 1, - anon_sym_RBRACE, - [1980] = 1, - ACTIONS(445), 1, anon_sym_GT, - [1984] = 1, + [1994] = 1, + ACTIONS(445), 1, + sym_tag_name, + [1998] = 1, ACTIONS(447), 1, - anon_sym_RBRACE, - [1988] = 1, + sym_function, + [2002] = 1, ACTIONS(449), 1, - anon_sym_PERCENT_GT, - [1992] = 1, + sym_tag_name, + [2006] = 1, ACTIONS(451), 1, - anon_sym_EQ, - [1996] = 1, + sym_tag_name, + [2010] = 1, ACTIONS(453), 1, - anon_sym_GT, - [2000] = 1, - ACTIONS(455), 1, - anon_sym_DOCTYPE, - [2004] = 1, - ACTIONS(457), 1, sym_function, - [2008] = 1, - ACTIONS(459), 1, + [2014] = 1, + ACTIONS(455), 1, anon_sym_SQUOTE, - [2012] = 1, - ACTIONS(459), 1, + [2018] = 1, + ACTIONS(455), 1, anon_sym_DQUOTE, - [2016] = 1, - ACTIONS(461), 1, + [2022] = 1, + ACTIONS(457), 1, + anon_sym_GT, + [2026] = 1, + ACTIONS(459), 1, anon_sym_html, - [2020] = 1, - ACTIONS(463), 1, + [2030] = 1, + ACTIONS(461), 1, anon_sym_EQ, - [2024] = 1, - ACTIONS(465), 1, + [2034] = 1, + ACTIONS(463), 1, anon_sym_GT, - [2028] = 1, - ACTIONS(467), 1, + [2038] = 1, + ACTIONS(465), 1, ts_builtin_sym_end, - [2032] = 1, + [2042] = 1, + ACTIONS(467), 1, + anon_sym_EQ, + [2046] = 1, ACTIONS(469), 1, - anon_sym_GT, - [2036] = 1, - ACTIONS(471), 1, - sym_function, - [2040] = 1, - ACTIONS(386), 1, - anon_sym_RBRACE, - [2044] = 1, - ACTIONS(473), 1, - sym_tag_name, - [2048] = 1, - ACTIONS(475), 1, - sym_tag_name, - [2052] = 1, - ACTIONS(477), 1, - sym_tag_name, - [2056] = 1, - ACTIONS(479), 1, - anon_sym_RBRACE, + anon_sym_DOCTYPE, }; static const uint32_t ts_small_parse_table_map[] = { @@ -3277,29 +3283,29 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(32)] = 1012, [SMALL_STATE(33)] = 1032, [SMALL_STATE(34)] = 1052, - [SMALL_STATE(35)] = 1070, - [SMALL_STATE(36)] = 1088, - [SMALL_STATE(37)] = 1116, - [SMALL_STATE(38)] = 1144, - [SMALL_STATE(39)] = 1162, - [SMALL_STATE(40)] = 1190, - [SMALL_STATE(41)] = 1218, - [SMALL_STATE(42)] = 1246, - [SMALL_STATE(43)] = 1272, - [SMALL_STATE(44)] = 1290, - [SMALL_STATE(45)] = 1308, - [SMALL_STATE(46)] = 1326, - [SMALL_STATE(47)] = 1354, + [SMALL_STATE(35)] = 1078, + [SMALL_STATE(36)] = 1096, + [SMALL_STATE(37)] = 1114, + [SMALL_STATE(38)] = 1132, + [SMALL_STATE(39)] = 1160, + [SMALL_STATE(40)] = 1188, + [SMALL_STATE(41)] = 1206, + [SMALL_STATE(42)] = 1234, + [SMALL_STATE(43)] = 1252, + [SMALL_STATE(44)] = 1280, + [SMALL_STATE(45)] = 1298, + [SMALL_STATE(46)] = 1316, + [SMALL_STATE(47)] = 1344, [SMALL_STATE(48)] = 1372, [SMALL_STATE(49)] = 1390, [SMALL_STATE(50)] = 1407, [SMALL_STATE(51)] = 1424, [SMALL_STATE(52)] = 1441, [SMALL_STATE(53)] = 1458, - [SMALL_STATE(54)] = 1472, + [SMALL_STATE(54)] = 1474, [SMALL_STATE(55)] = 1488, [SMALL_STATE(56)] = 1499, - [SMALL_STATE(57)] = 1518, + [SMALL_STATE(57)] = 1510, [SMALL_STATE(58)] = 1529, [SMALL_STATE(59)] = 1540, [SMALL_STATE(60)] = 1551, @@ -3311,287 +3317,278 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(66)] = 1628, [SMALL_STATE(67)] = 1644, [SMALL_STATE(68)] = 1660, - [SMALL_STATE(69)] = 1676, - [SMALL_STATE(70)] = 1692, - [SMALL_STATE(71)] = 1706, + [SMALL_STATE(69)] = 1672, + [SMALL_STATE(70)] = 1688, + [SMALL_STATE(71)] = 1702, [SMALL_STATE(72)] = 1718, - [SMALL_STATE(73)] = 1731, - [SMALL_STATE(74)] = 1744, - [SMALL_STATE(75)] = 1757, - [SMALL_STATE(76)] = 1767, - [SMALL_STATE(77)] = 1777, - [SMALL_STATE(78)] = 1787, - [SMALL_STATE(79)] = 1795, - [SMALL_STATE(80)] = 1803, - [SMALL_STATE(81)] = 1813, - [SMALL_STATE(82)] = 1823, - [SMALL_STATE(83)] = 1833, - [SMALL_STATE(84)] = 1843, - [SMALL_STATE(85)] = 1853, - [SMALL_STATE(86)] = 1861, - [SMALL_STATE(87)] = 1871, - [SMALL_STATE(88)] = 1881, - [SMALL_STATE(89)] = 1891, - [SMALL_STATE(90)] = 1901, - [SMALL_STATE(91)] = 1911, - [SMALL_STATE(92)] = 1921, - [SMALL_STATE(93)] = 1931, - [SMALL_STATE(94)] = 1941, - [SMALL_STATE(95)] = 1948, - [SMALL_STATE(96)] = 1955, - [SMALL_STATE(97)] = 1962, - [SMALL_STATE(98)] = 1969, - [SMALL_STATE(99)] = 1976, - [SMALL_STATE(100)] = 1980, - [SMALL_STATE(101)] = 1984, - [SMALL_STATE(102)] = 1988, - [SMALL_STATE(103)] = 1992, - [SMALL_STATE(104)] = 1996, - [SMALL_STATE(105)] = 2000, - [SMALL_STATE(106)] = 2004, - [SMALL_STATE(107)] = 2008, - [SMALL_STATE(108)] = 2012, - [SMALL_STATE(109)] = 2016, - [SMALL_STATE(110)] = 2020, - [SMALL_STATE(111)] = 2024, - [SMALL_STATE(112)] = 2028, - [SMALL_STATE(113)] = 2032, - [SMALL_STATE(114)] = 2036, - [SMALL_STATE(115)] = 2040, - [SMALL_STATE(116)] = 2044, - [SMALL_STATE(117)] = 2048, - [SMALL_STATE(118)] = 2052, - [SMALL_STATE(119)] = 2056, + [SMALL_STATE(73)] = 1734, + [SMALL_STATE(74)] = 1750, + [SMALL_STATE(75)] = 1763, + [SMALL_STATE(76)] = 1773, + [SMALL_STATE(77)] = 1783, + [SMALL_STATE(78)] = 1791, + [SMALL_STATE(79)] = 1801, + [SMALL_STATE(80)] = 1811, + [SMALL_STATE(81)] = 1821, + [SMALL_STATE(82)] = 1831, + [SMALL_STATE(83)] = 1839, + [SMALL_STATE(84)] = 1849, + [SMALL_STATE(85)] = 1859, + [SMALL_STATE(86)] = 1869, + [SMALL_STATE(87)] = 1879, + [SMALL_STATE(88)] = 1889, + [SMALL_STATE(89)] = 1899, + [SMALL_STATE(90)] = 1909, + [SMALL_STATE(91)] = 1919, + [SMALL_STATE(92)] = 1929, + [SMALL_STATE(93)] = 1939, + [SMALL_STATE(94)] = 1947, + [SMALL_STATE(95)] = 1954, + [SMALL_STATE(96)] = 1961, + [SMALL_STATE(97)] = 1968, + [SMALL_STATE(98)] = 1975, + [SMALL_STATE(99)] = 1982, + [SMALL_STATE(100)] = 1986, + [SMALL_STATE(101)] = 1990, + [SMALL_STATE(102)] = 1994, + [SMALL_STATE(103)] = 1998, + [SMALL_STATE(104)] = 2002, + [SMALL_STATE(105)] = 2006, + [SMALL_STATE(106)] = 2010, + [SMALL_STATE(107)] = 2014, + [SMALL_STATE(108)] = 2018, + [SMALL_STATE(109)] = 2022, + [SMALL_STATE(110)] = 2026, + [SMALL_STATE(111)] = 2030, + [SMALL_STATE(112)] = 2034, + [SMALL_STATE(113)] = 2038, + [SMALL_STATE(114)] = 2042, + [SMALL_STATE(115)] = 2046, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fragment, 0, 0, 0), - [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), - [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [31] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), SHIFT_REPEAT(105), - [34] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), SHIFT_REPEAT(73), + [31] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), SHIFT_REPEAT(115), + [34] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), SHIFT_REPEAT(74), [37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), - [39] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), SHIFT_REPEAT(117), - [42] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), SHIFT_REPEAT(65), - [45] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), SHIFT_REPEAT(56), - [48] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), SHIFT_REPEAT(56), - [51] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), SHIFT_REPEAT(76), - [54] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), SHIFT_REPEAT(77), - [57] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), SHIFT_REPEAT(83), + [39] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), SHIFT_REPEAT(102), + [42] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), SHIFT_REPEAT(71), + [45] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), SHIFT_REPEAT(57), + [48] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), SHIFT_REPEAT(57), + [51] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), SHIFT_REPEAT(90), + [54] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), SHIFT_REPEAT(83), + [57] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), SHIFT_REPEAT(92), [60] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_component_repeat1, 2, 0, 0), SHIFT_REPEAT(4), [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_fragment_repeat1, 2, 0, 0), - [65] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_fragment_repeat1, 2, 0, 0), SHIFT_REPEAT(105), - [68] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_fragment_repeat1, 2, 0, 0), SHIFT_REPEAT(73), + [65] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_fragment_repeat1, 2, 0, 0), SHIFT_REPEAT(115), + [68] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_fragment_repeat1, 2, 0, 0), SHIFT_REPEAT(74), [71] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_fragment_repeat1, 2, 0, 0), - [73] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fragment_repeat1, 2, 0, 0), SHIFT_REPEAT(65), - [76] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_fragment_repeat1, 2, 0, 0), SHIFT_REPEAT(56), - [79] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fragment_repeat1, 2, 0, 0), SHIFT_REPEAT(56), - [82] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fragment_repeat1, 2, 0, 0), SHIFT_REPEAT(76), - [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fragment_repeat1, 2, 0, 0), SHIFT_REPEAT(77), - [88] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fragment_repeat1, 2, 0, 0), SHIFT_REPEAT(83), + [73] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fragment_repeat1, 2, 0, 0), SHIFT_REPEAT(71), + [76] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_fragment_repeat1, 2, 0, 0), SHIFT_REPEAT(57), + [79] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fragment_repeat1, 2, 0, 0), SHIFT_REPEAT(57), + [82] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fragment_repeat1, 2, 0, 0), SHIFT_REPEAT(90), + [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fragment_repeat1, 2, 0, 0), SHIFT_REPEAT(83), + [88] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fragment_repeat1, 2, 0, 0), SHIFT_REPEAT(92), [91] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fragment_repeat1, 2, 0, 0), SHIFT_REPEAT(5), - [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fragment, 1, 0, 0), - [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 1, 0, 0), - [108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 1, 0, 0), - [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__html_comment, 2, 0, 0), - [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__html_comment, 2, 0, 0), - [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__bang_comment, 2, 0, 0), - [116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__bang_comment, 2, 0, 0), - [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__hash_comment, 2, 0, 0), - [120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__hash_comment, 2, 0, 0), - [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 2, 0, 0), - [124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 2, 0, 0), - [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_component, 1, 0, 0), - [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_component, 1, 0, 0), - [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_component, 2, 0, 0), - [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_component, 2, 0, 0), - [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 1, 0, 0), - [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 1, 0, 0), - [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_tag, 3, 0, 0), - [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_tag, 3, 0, 0), - [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_component, 3, 0, 0), - [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_component, 3, 0, 0), - [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 3, 0, 1), - [148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 3, 0, 1), - [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_directive, 3, 0, 0), - [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_directive, 3, 0, 0), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__html_comment, 3, 0, 0), - [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__html_comment, 3, 0, 0), - [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__bang_comment, 3, 0, 0), - [160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__bang_comment, 3, 0, 0), - [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__hash_comment, 3, 0, 0), - [164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__hash_comment, 3, 0, 0), - [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 3, 0, 0), - [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 3, 0, 0), - [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_component, 3, 0, 0), - [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_component, 3, 0, 0), - [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype, 4, 0, 0), - [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doctype, 4, 0, 0), - [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_tag, 4, 0, 0), - [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_tag, 4, 0, 0), + [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_tag, 4, 0, 0), + [108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_tag, 4, 0, 0), + [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 1, 0, 0), + [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 1, 0, 0), + [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_component, 1, 0, 0), + [116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_component, 1, 0, 0), + [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 2, 0, 0), + [120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 2, 0, 0), + [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__html_comment, 2, 0, 0), + [124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__html_comment, 2, 0, 0), + [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_tag, 3, 0, 0), + [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_tag, 3, 0, 0), + [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_component, 3, 0, 0), + [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_component, 3, 0, 0), + [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 3, 0, 2), + [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 3, 0, 2), + [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_directive, 3, 0, 0), + [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_directive, 3, 0, 0), + [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__html_comment, 3, 0, 0), + [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__html_comment, 3, 0, 0), + [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__bang_comment, 3, 0, 0), + [148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__bang_comment, 3, 0, 0), + [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__hash_comment, 3, 0, 0), + [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__hash_comment, 3, 0, 0), + [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 3, 0, 0), + [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 3, 0, 0), + [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__bang_comment, 2, 0, 0), + [160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__bang_comment, 2, 0, 0), + [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_component, 3, 0, 0), + [164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_component, 3, 0, 0), + [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__hash_comment, 2, 0, 0), + [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__hash_comment, 2, 0, 0), + [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype, 4, 0, 0), + [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doctype, 4, 0, 0), + [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag, 2, 0, 0), + [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag, 2, 0, 0), + [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 1, 0, 0), + [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 1, 0, 0), [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_component, 4, 0, 0), [184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_component, 4, 0, 0), [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_end_tag, 3, 0, 0), [188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_end_tag, 3, 0, 0), [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_end_component, 3, 0, 0), [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_end_component, 3, 0, 0), - [194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 2, 0, 0), - [196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 2, 0, 0), - [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_slot, 1, 0, 0), - [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slot, 1, 0, 0), - [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_component, 3, 0, 0), - [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_component, 3, 0, 0), - [206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [220] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_slot, 2, 0, 0), - [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slot, 2, 0, 0), - [224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2, 0, 0), - [238] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2, 0, 0), SHIFT_REPEAT(67), - [241] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2, 0, 0), SHIFT_REPEAT(110), - [244] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2, 0, 0), SHIFT_REPEAT(53), - [247] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_component, 4, 0, 0), - [249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_component, 4, 0, 0), - [251] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_slot, 3, 0, 2), - [253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_slot, 3, 0, 2), - [255] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_slot, 4, 0, 2), - [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_slot, 4, 0, 2), - [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_component, 2, 0, 0), + [196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_component, 2, 0, 0), + [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2, 0, 0), + [200] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2, 0, 0), SHIFT_REPEAT(72), + [203] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2, 0, 0), SHIFT_REPEAT(111), + [206] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2, 0, 0), SHIFT_REPEAT(54), + [209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_slot, 2, 0, 0), + [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slot, 2, 0, 0), + [213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_component, 3, 0, 0), + [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_component, 3, 0, 0), + [217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_slot, 1, 0, 0), + [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slot, 1, 0, 0), + [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [235] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_component, 4, 0, 0), + [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_component, 4, 0, 0), + [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [243] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_slot, 3, 0, 4), + [245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_slot, 3, 0, 4), + [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [251] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_slot, 3, 0, 0), + [253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slot, 3, 0, 0), + [255] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_slot, 4, 0, 4), + [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_slot, 4, 0, 4), + [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [263] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_slot, 3, 0, 0), - [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slot, 3, 0, 0), - [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_end_slot, 3, 0, 2), - [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_end_slot, 3, 0, 2), - [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_tag, 4, 0, 0), - [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_tag, 4, 0, 0), - [275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_slot, 3, 0, 2), - [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_slot, 3, 0, 2), - [279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_slot, 4, 0, 2), - [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_slot, 4, 0, 2), - [283] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_tag, 3, 0, 0), - [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_tag, 3, 0, 0), - [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, 0, 0), - [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_component_name, 1, 0, 0), - [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_component_name, 1, 0, 0), - [297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_component_name, 3, 0, 0), - [299] = {.entry = {.count = 1, .reusable = false}}, SHIFT(95), - [301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), + [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_end_slot, 3, 0, 4), + [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_end_slot, 3, 0, 4), + [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_tag, 3, 0, 0), + [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_tag, 3, 0, 0), + [275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_tag, 4, 0, 0), + [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_tag, 4, 0, 0), + [279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_slot, 3, 0, 4), + [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_slot, 3, 0, 4), + [283] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_slot, 4, 0, 4), + [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_slot, 4, 0, 4), + [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_component_name, 1, 0, 0), + [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_component_name, 1, 0, 0), + [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, 0, 0), + [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, 0, 0), + [299] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), + [301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), [303] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), - [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, 0, 0), + [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_component_name, 3, 0, 0), [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_component_name, 2, 0, 0), [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_special_attribute, 3, 0, 0), [311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_attribute_value, 2, 0, 0), [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_attribute_value, 3, 0, 0), - [315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [321] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), - [323] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), - [325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [327] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), - [329] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), - [331] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(72), - [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_expression_repeat1, 2, 0, 0), - [336] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(78), - [339] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), - [341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_value, 1, 0, 0), - [343] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), - [345] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), - [347] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__hash_comment_repeat1, 2, 0, 0), - [349] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__hash_comment_repeat1, 2, 0, 0), SHIFT_REPEAT(71), - [352] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), - [354] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), - [356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [364] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), - [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [368] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), - [370] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), - [372] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), - [374] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), - [376] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), - [378] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), - [380] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_expression_repeat1, 1, 0, 0), - [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_expression_repeat1, 1, 0, 0), - [384] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_value, 3, 0, 0), - [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_value, 3, 0, 0), - [388] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_partial_expression_value, 3, 0, 0), - [390] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), - [392] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ending_expression_value, 1, 0, 0), - [394] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), - [396] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14), - [398] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), - [400] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), - [402] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23), - [404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_value, 2, 0, 0), - [406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_value, 2, 0, 0), - [408] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_partial_expression_value, 4, 0, 0), - [410] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_partial_expression_value, 2, 0, 0), - [412] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), - [414] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ending_expression_value, 2, 0, 0), - [416] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), - [418] = {.entry = {.count = 1, .reusable = false}}, SHIFT(24), - [420] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__html_comment_repeat1, 2, 0, 0), SHIFT_REPEAT(90), - [423] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__html_comment_repeat1, 2, 0, 0), - [425] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__hash_comment_repeat1, 2, 0, 0), SHIFT_REPEAT(92), - [428] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__html_comment_repeat1, 2, 0, 0), SHIFT_REPEAT(93), + [315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [321] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), + [323] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), + [325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [327] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), + [329] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(65), + [332] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_expression_repeat1, 2, 0, 0), + [334] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(82), + [337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__hash_comment_repeat1, 2, 0, 0), + [339] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__hash_comment_repeat1, 2, 0, 0), SHIFT_REPEAT(68), + [342] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), + [344] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_value, 1, 0, 0), + [346] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), + [348] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), + [350] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14), + [352] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), + [354] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), + [356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [362] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__html_comment_repeat1, 2, 0, 0), SHIFT_REPEAT(75), + [365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__html_comment_repeat1, 2, 0, 0), + [367] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), + [369] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), + [371] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_value, 3, 0, 3), + [373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_value, 3, 0, 3), + [375] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_partial_expression_value, 3, 0, 0), + [377] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), + [379] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), + [381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ending_expression_value, 2, 0, 0), + [383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), + [385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_expression_repeat1, 1, 0, 0), + [387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_expression_repeat1, 1, 0, 0), + [389] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), + [391] = {.entry = {.count = 1, .reusable = false}}, SHIFT(24), + [393] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), + [395] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), + [397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_partial_expression_value, 4, 0, 0), + [399] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ending_expression_value, 1, 0, 0), + [401] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), + [403] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_partial_expression_value, 2, 0, 0), + [405] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), + [407] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__hash_comment_repeat1, 2, 0, 0), SHIFT_REPEAT(89), + [410] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), + [412] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), + [414] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__html_comment_repeat1, 2, 0, 0), SHIFT_REPEAT(91), + [417] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), + [419] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), + [421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_value, 2, 0, 1), + [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_value, 2, 0, 1), + [425] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), + [427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_partial_expression_value, 1, 0, 0), - [433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [435] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), - [437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [441] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_partial_expression_value, 2, 0, 0), - [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_special_attribute_name, 1, 0, 0), - [465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [467] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_partial_expression_value, 2, 0, 0), + [437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [461] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_special_attribute_name, 1, 0, 0), + [463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [465] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), }; #ifdef __cplusplus diff --git a/test/corpus/expressions.txt b/test/corpus/expressions.txt index 4fc0678..7506d18 100644 --- a/test/corpus/expressions.txt +++ b/test/corpus/expressions.txt @@ -57,6 +57,29 @@ Interpolation
+================================================================================ +Many openings and closings +================================================================================ + + + +-------------------------------------------------------------------------------- + +(fragment + (tag + (self_closing_tag + (tag_name) + (attribute + (attribute_name) + (expression + (expression_value)))))) + +================================================================================ +Interpolation +================================================================================ + + + -------------------------------------------------------------------------------- (fragment @@ -69,7 +92,7 @@ Interpolation (expression_value)))))) ================================================================================ -Interpolation inside body +Interpolation inside body ================================================================================