diff --git a/grammar.js b/grammar.js index 2796f97..d653aeb 100644 --- a/grammar.js +++ b/grammar.js @@ -65,6 +65,7 @@ module.exports = grammar({ $.character_class_escape, $._character_escape, $.backreference_escape, + $.named_group_backreference, $.anonymous_capturing_group, $.named_capturing_group, $.non_capturing_group, @@ -150,7 +151,7 @@ module.exports = grammar({ anonymous_capturing_group: $ => seq('(', $.pattern, ')'), - named_capturing_group: $ => seq('(?<', $.group_name, '>', $.pattern, ')'), + named_capturing_group: $ => seq(choice('(?<', '(?P<'), $.group_name, '>', $.pattern, ')'), non_capturing_group: $ => seq('(?:', $.pattern, ')'), @@ -184,6 +185,8 @@ module.exports = grammar({ backreference_escape: $ => seq('\\k', '<', $.group_name, '>'), + named_group_backreference: $ => seq('(?P=', $.group_name, ')'), + decimal_escape: _ => /\\[1-9][0-9]*/, character_class_escape: $ => choice( diff --git a/queries/highlights.scm b/queries/highlights.scm index 191aa04..d062cbb 100644 --- a/queries/highlights.scm +++ b/queries/highlights.scm @@ -4,6 +4,8 @@ "(?" "(?:" "(?<" + "(?P<" + "(?P=" ">" "[" "]" diff --git a/src/grammar.json b/src/grammar.json index 83a037f..35ad396 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -116,6 +116,10 @@ "type": "SYMBOL", "name": "backreference_escape" }, + { + "type": "SYMBOL", + "name": "named_group_backreference" + }, { "type": "SYMBOL", "name": "anonymous_capturing_group" @@ -474,8 +478,17 @@ "type": "SEQ", "members": [ { - "type": "STRING", - "value": "(?<" + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "(?<" + }, + { + "type": "STRING", + "value": "(?P<" + } + ] }, { "type": "SYMBOL", @@ -779,6 +792,23 @@ } ] }, + "named_group_backreference": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(?P=" + }, + { + "type": "SYMBOL", + "name": "group_name" + }, + { + "type": "STRING", + "value": ")" + } + ] + }, "decimal_escape": { "type": "PATTERN", "value": "\\\\[1-9][0-9]*" diff --git a/src/node-types.json b/src/node-types.json index cb0126a..7cf6e69 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -207,6 +207,21 @@ ] } }, + { + "type": "named_group_backreference", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "group_name", + "named": true + } + ] + } + }, { "type": "non_capturing_group", "named": true, @@ -365,6 +380,10 @@ "type": "named_capturing_group", "named": true }, + { + "type": "named_group_backreference", + "named": true + }, { "type": "non_boundary_assertion", "named": true @@ -459,6 +478,14 @@ "type": "(?<", "named": false }, + { + "type": "(?P<", + "named": false + }, + { + "type": "(?P=", + "named": false + }, { "type": ")", "named": false diff --git a/src/parser.c b/src/parser.c index 9075074..2f7de48 100644 --- a/src/parser.c +++ b/src/parser.c @@ -5,11 +5,11 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 133 +#define STATE_COUNT 137 #define LARGE_STATE_COUNT 13 -#define SYMBOL_COUNT 73 +#define SYMBOL_COUNT 76 #define ALIAS_COUNT 2 -#define TOKEN_COUNT 45 +#define TOKEN_COUNT 47 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 0 #define MAX_ALIAS_SEQUENCE_LENGTH 7 @@ -37,59 +37,62 @@ enum ts_symbol_identifiers { anon_sym_BSLASH_DASH = 19, sym_class_character = 20, anon_sym_LPAREN = 21, - anon_sym_GT = 22, - anon_sym_LPAREN_QMARK_COLON = 23, - anon_sym_COLON = 24, - anon_sym_STAR = 25, - anon_sym_QMARK = 26, - anon_sym_PLUS = 27, - anon_sym_LBRACE = 28, - anon_sym_COMMA = 29, - anon_sym_RBRACE = 30, - anon_sym_BSLASHk = 31, - anon_sym_LT = 32, - sym_decimal_escape = 33, - aux_sym_character_class_escape_token1 = 34, - aux_sym_character_class_escape_token2 = 35, - aux_sym_unicode_character_escape_token1 = 36, - aux_sym_unicode_character_escape_token2 = 37, - sym_unicode_property = 38, - aux_sym_control_escape_token1 = 39, - aux_sym_control_escape_token2 = 40, - sym_control_letter_escape = 41, - sym_identity_escape = 42, - sym_group_name = 43, - sym_decimal_digits = 44, - sym_pattern = 45, - sym_alternation = 46, - sym_term = 47, - sym_start_assertion = 48, - sym_lookaround_assertion = 49, - sym__lookahead_assertion = 50, - sym__lookbehind_assertion = 51, - sym_character_class = 52, - sym_posix_character_class = 53, - sym_posix_class_name = 54, - sym_class_range = 55, - sym_anonymous_capturing_group = 56, - sym_named_capturing_group = 57, - sym_non_capturing_group = 58, - sym_inline_flags_group = 59, - sym_flags = 60, - sym_zero_or_more = 61, - sym_one_or_more = 62, - sym_optional = 63, - sym_count_quantifier = 64, - sym_backreference_escape = 65, - sym_character_class_escape = 66, - sym_unicode_character_escape = 67, - sym_unicode_property_value_expression = 68, - sym_control_escape = 69, - aux_sym_alternation_repeat1 = 70, - aux_sym_term_repeat1 = 71, - aux_sym_character_class_repeat1 = 72, - alias_sym_lazy = 73, - alias_sym_unicode_property_name = 74, + anon_sym_LPAREN_QMARKP_LT = 22, + anon_sym_GT = 23, + anon_sym_LPAREN_QMARK_COLON = 24, + anon_sym_COLON = 25, + anon_sym_STAR = 26, + anon_sym_QMARK = 27, + anon_sym_PLUS = 28, + anon_sym_LBRACE = 29, + anon_sym_COMMA = 30, + anon_sym_RBRACE = 31, + anon_sym_BSLASHk = 32, + anon_sym_LT = 33, + anon_sym_LPAREN_QMARKP_EQ = 34, + sym_decimal_escape = 35, + aux_sym_character_class_escape_token1 = 36, + aux_sym_character_class_escape_token2 = 37, + aux_sym_unicode_character_escape_token1 = 38, + aux_sym_unicode_character_escape_token2 = 39, + sym_unicode_property = 40, + aux_sym_control_escape_token1 = 41, + aux_sym_control_escape_token2 = 42, + sym_control_letter_escape = 43, + sym_identity_escape = 44, + sym_group_name = 45, + sym_decimal_digits = 46, + sym_pattern = 47, + sym_alternation = 48, + sym_term = 49, + sym_start_assertion = 50, + sym_lookaround_assertion = 51, + sym__lookahead_assertion = 52, + sym__lookbehind_assertion = 53, + sym_character_class = 54, + sym_posix_character_class = 55, + sym_posix_class_name = 56, + sym_class_range = 57, + sym_anonymous_capturing_group = 58, + sym_named_capturing_group = 59, + sym_non_capturing_group = 60, + sym_inline_flags_group = 61, + sym_flags = 62, + sym_zero_or_more = 63, + sym_one_or_more = 64, + sym_optional = 65, + sym_count_quantifier = 66, + sym_backreference_escape = 67, + sym_named_group_backreference = 68, + sym_character_class_escape = 69, + sym_unicode_character_escape = 70, + sym_unicode_property_value_expression = 71, + sym_control_escape = 72, + aux_sym_alternation_repeat1 = 73, + aux_sym_term_repeat1 = 74, + aux_sym_character_class_repeat1 = 75, + alias_sym_lazy = 76, + alias_sym_unicode_property_name = 77, }; static const char * const ts_symbol_names[] = { @@ -115,6 +118,7 @@ static const char * const ts_symbol_names[] = { [anon_sym_BSLASH_DASH] = "identity_escape", [sym_class_character] = "class_character", [anon_sym_LPAREN] = "(", + [anon_sym_LPAREN_QMARKP_LT] = "(\?P<", [anon_sym_GT] = ">", [anon_sym_LPAREN_QMARK_COLON] = "(\?:", [anon_sym_COLON] = ":", @@ -126,6 +130,7 @@ static const char * const ts_symbol_names[] = { [anon_sym_RBRACE] = "}", [anon_sym_BSLASHk] = "\\k", [anon_sym_LT] = "<", + [anon_sym_LPAREN_QMARKP_EQ] = "(\?P=", [sym_decimal_escape] = "decimal_escape", [aux_sym_character_class_escape_token1] = "character_class_escape_token1", [aux_sym_character_class_escape_token2] = "character_class_escape_token2", @@ -159,6 +164,7 @@ static const char * const ts_symbol_names[] = { [sym_optional] = "optional", [sym_count_quantifier] = "count_quantifier", [sym_backreference_escape] = "backreference_escape", + [sym_named_group_backreference] = "named_group_backreference", [sym_character_class_escape] = "character_class_escape", [sym_unicode_character_escape] = "unicode_character_escape", [sym_unicode_property_value_expression] = "unicode_property_value_expression", @@ -193,6 +199,7 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_BSLASH_DASH] = sym_identity_escape, [sym_class_character] = sym_class_character, [anon_sym_LPAREN] = anon_sym_LPAREN, + [anon_sym_LPAREN_QMARKP_LT] = anon_sym_LPAREN_QMARKP_LT, [anon_sym_GT] = anon_sym_GT, [anon_sym_LPAREN_QMARK_COLON] = anon_sym_LPAREN_QMARK_COLON, [anon_sym_COLON] = anon_sym_COLON, @@ -204,6 +211,7 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_RBRACE] = anon_sym_RBRACE, [anon_sym_BSLASHk] = anon_sym_BSLASHk, [anon_sym_LT] = anon_sym_LT, + [anon_sym_LPAREN_QMARKP_EQ] = anon_sym_LPAREN_QMARKP_EQ, [sym_decimal_escape] = sym_decimal_escape, [aux_sym_character_class_escape_token1] = aux_sym_character_class_escape_token1, [aux_sym_character_class_escape_token2] = aux_sym_character_class_escape_token2, @@ -237,6 +245,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_optional] = sym_optional, [sym_count_quantifier] = sym_count_quantifier, [sym_backreference_escape] = sym_backreference_escape, + [sym_named_group_backreference] = sym_named_group_backreference, [sym_character_class_escape] = sym_character_class_escape, [sym_unicode_character_escape] = sym_unicode_character_escape, [sym_unicode_property_value_expression] = sym_unicode_property_value_expression, @@ -337,6 +346,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_LPAREN_QMARKP_LT] = { + .visible = true, + .named = false, + }, [anon_sym_GT] = { .visible = true, .named = false, @@ -381,6 +394,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_LPAREN_QMARKP_EQ] = { + .visible = true, + .named = false, + }, [sym_decimal_escape] = { .visible = true, .named = true, @@ -513,6 +530,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_named_group_backreference] = { + .visible = true, + .named = true, + }, [sym_character_class_escape] = { .visible = true, .named = true, @@ -678,13 +699,13 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [68] = 68, [69] = 69, [70] = 70, - [71] = 35, - [72] = 72, - [73] = 43, - [74] = 21, - [75] = 22, - [76] = 33, - [77] = 77, + [71] = 71, + [72] = 27, + [73] = 73, + [74] = 14, + [75] = 15, + [76] = 22, + [77] = 34, [78] = 78, [79] = 79, [80] = 80, @@ -700,8 +721,8 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [90] = 90, [91] = 91, [92] = 92, - [93] = 91, - [94] = 94, + [93] = 93, + [94] = 92, [95] = 95, [96] = 96, [97] = 97, @@ -709,11 +730,11 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [99] = 99, [100] = 100, [101] = 101, - [102] = 90, + [102] = 102, [103] = 103, [104] = 104, [105] = 105, - [106] = 106, + [106] = 96, [107] = 107, [108] = 108, [109] = 109, @@ -735,11 +756,15 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [125] = 125, [126] = 126, [127] = 127, - [128] = 112, + [128] = 128, [129] = 129, [130] = 130, - [131] = 129, - [132] = 123, + [131] = 131, + [132] = 115, + [133] = 116, + [134] = 134, + [135] = 135, + [136] = 111, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -747,58 +772,58 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(33); + if (eof) ADVANCE(34); if (lookahead == '\n') SKIP(0); - if (lookahead == '\r') SKIP(28); - if (lookahead == '!') ADVANCE(42); - if (lookahead == '$') ADVANCE(37); - if (lookahead == '(') ADVANCE(58); - if (lookahead == ')') ADVANCE(43); - if (lookahead == '*') ADVANCE(63); - if (lookahead == '+') ADVANCE(65); - if (lookahead == ',') ADVANCE(67); - if (lookahead == '-') ADVANCE(47); - if (lookahead == '.') ADVANCE(35); - if (lookahead == ':') ADVANCE(62); - if (lookahead == '<') ADVANCE(70); - if (lookahead == '=') ADVANCE(41); - if (lookahead == '>') ADVANCE(59); - if (lookahead == '?') ADVANCE(64); - if (lookahead == '[') ADVANCE(46); + if (lookahead == '\r') SKIP(29); + if (lookahead == '!') ADVANCE(43); + if (lookahead == '$') ADVANCE(38); + if (lookahead == '(') ADVANCE(59); + if (lookahead == ')') ADVANCE(44); + if (lookahead == '*') ADVANCE(65); + if (lookahead == '+') ADVANCE(67); + if (lookahead == ',') ADVANCE(69); + if (lookahead == '-') ADVANCE(48); + if (lookahead == '.') ADVANCE(36); + if (lookahead == ':') ADVANCE(64); + if (lookahead == '<') ADVANCE(72); + if (lookahead == '=') ADVANCE(42); + if (lookahead == '>') ADVANCE(61); + if (lookahead == '?') ADVANCE(66); + if (lookahead == '[') ADVANCE(47); if (lookahead == '\\') ADVANCE(10); - if (lookahead == ']') ADVANCE(48); - if (lookahead == '^') ADVANCE(36); - if (lookahead == '{') ADVANCE(66); - if (lookahead == '|') ADVANCE(34); - if (lookahead == '}') ADVANCE(68); - if (lookahead != 0) ADVANCE(45); + if (lookahead == ']') ADVANCE(49); + if (lookahead == '^') ADVANCE(37); + if (lookahead == '{') ADVANCE(68); + if (lookahead == '|') ADVANCE(35); + if (lookahead == '}') ADVANCE(70); + if (lookahead != 0) ADVANCE(46); END_STATE(); case 1: - if (lookahead == '\n') ADVANCE(54); - if (lookahead == '\r') ADVANCE(53); - if (lookahead == '-') ADVANCE(47); - if (lookahead == '[') ADVANCE(57); + if (lookahead == '\n') ADVANCE(55); + if (lookahead == '\r') ADVANCE(54); + if (lookahead == '-') ADVANCE(48); + if (lookahead == '[') ADVANCE(58); if (lookahead == '\\') ADVANCE(11); - if (lookahead == ']') ADVANCE(48); - if (lookahead == '^') ADVANCE(36); - if (lookahead != 0) ADVANCE(53); + if (lookahead == ']') ADVANCE(49); + if (lookahead == '^') ADVANCE(37); + if (lookahead != 0) ADVANCE(54); END_STATE(); case 2: - if (lookahead == '\n') ADVANCE(55); - if (lookahead == '\r') ADVANCE(53); - if (lookahead == '-') ADVANCE(47); - if (lookahead == '[') ADVANCE(57); + if (lookahead == '\n') ADVANCE(56); + if (lookahead == '\r') ADVANCE(54); + if (lookahead == '-') ADVANCE(48); + if (lookahead == '[') ADVANCE(58); if (lookahead == '\\') ADVANCE(11); - if (lookahead == ']') ADVANCE(48); - if (lookahead != 0) ADVANCE(53); + if (lookahead == ']') ADVANCE(49); + if (lookahead != 0) ADVANCE(54); END_STATE(); case 3: - if (lookahead == '\n') ADVANCE(56); - if (lookahead == '\r') ADVANCE(53); - if (lookahead == '-') ADVANCE(47); - if (lookahead == '\\') ADVANCE(14); - if (lookahead == ']') ADVANCE(48); - if (lookahead != 0) ADVANCE(53); + if (lookahead == '\n') ADVANCE(57); + if (lookahead == '\r') ADVANCE(54); + if (lookahead == '-') ADVANCE(48); + if (lookahead == '\\') ADVANCE(15); + if (lookahead == ']') ADVANCE(49); + if (lookahead != 0) ADVANCE(54); END_STATE(); case 4: if (lookahead == '\n') SKIP(5); @@ -806,19 +831,19 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 5: if (lookahead == '\n') SKIP(5); if (lookahead == '\r') SKIP(4); - if (lookahead == '!') ADVANCE(42); - if (lookahead == ')') ADVANCE(43); - if (lookahead == ',') ADVANCE(67); - if (lookahead == '-') ADVANCE(47); - if (lookahead == ':') ADVANCE(61); - if (lookahead == '<') ADVANCE(70); - if (lookahead == '=') ADVANCE(41); - if (lookahead == '>') ADVANCE(59); - if (lookahead == ']') ADVANCE(48); - if (lookahead == '}') ADVANCE(68); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(85); + if (lookahead == '!') ADVANCE(43); + if (lookahead == ')') ADVANCE(44); + if (lookahead == ',') ADVANCE(69); + if (lookahead == '-') ADVANCE(48); + if (lookahead == ':') ADVANCE(63); + if (lookahead == '<') ADVANCE(72); + if (lookahead == '=') ADVANCE(42); + if (lookahead == '>') ADVANCE(61); + if (lookahead == ']') ADVANCE(49); + if (lookahead == '}') ADVANCE(70); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(88); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(51); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); END_STATE(); case 6: if (lookahead == '\n') SKIP(7); @@ -826,12 +851,12 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 7: if (lookahead == '\n') SKIP(7); if (lookahead == '\r') SKIP(6); - if (lookahead == '!') ADVANCE(42); - if (lookahead == ':') ADVANCE(13); - if (lookahead == '=') ADVANCE(41); + if (lookahead == '!') ADVANCE(43); + if (lookahead == ':') ADVANCE(14); + if (lookahead == '=') ADVANCE(42); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(87); END_STATE(); case 8: if (lookahead == '\n') SKIP(9); @@ -842,151 +867,150 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(76); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(79); END_STATE(); case 10: ADVANCE_MAP( - '-', 52, - 'B', 39, - 'b', 38, - 'c', 83, - 'k', 69, - 'u', 81, - 'x', 82, - 'P', 73, - 'p', 73, - '0', 77, - 'f', 77, - 'n', 77, - 'r', 77, - 't', 77, - 'v', 77, - 'D', 72, - 'S', 72, - 'W', 72, - 'd', 72, - 's', 72, - 'w', 72, + '-', 53, + 'B', 40, + 'b', 39, + 'c', 86, + 'k', 71, + 'u', 84, + 'x', 85, + 'P', 76, + 'p', 76, + '0', 80, + 'f', 80, + 'n', 80, + 'r', 80, + 't', 80, + 'v', 80, + 'D', 75, + 'S', 75, + 'W', 75, + 'd', 75, + 's', 75, + 'w', 75, ); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(71); - if (lookahead != 0) ADVANCE(80); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(74); + if (lookahead != 0) ADVANCE(83); END_STATE(); case 11: ADVANCE_MAP( - '-', 52, - 'c', 83, - 'u', 81, - 'x', 82, - 'P', 73, - 'p', 73, - 'D', 72, - 'S', 72, - 'W', 72, - 'd', 72, - 's', 72, - 'w', 72, - '0', 77, - 'b', 77, - 'f', 77, - 'n', 77, - 'r', 77, - 't', 77, - 'v', 77, + '-', 53, + 'c', 86, + 'u', 84, + 'x', 85, + 'P', 76, + 'p', 76, + 'D', 75, + 'S', 75, + 'W', 75, + 'd', 75, + 's', 75, + 'w', 75, + '0', 80, + 'b', 80, + 'f', 80, + 'n', 80, + 'r', 80, + 't', 80, + 'v', 80, ); if (lookahead != 0 && (lookahead < '0' || '9' < lookahead) && - lookahead != 'k') ADVANCE(80); + lookahead != 'k') ADVANCE(83); END_STATE(); case 12: - ADVANCE_MAP( - 'B', 39, - 'b', 38, - 'c', 83, - 'k', 69, - 'u', 81, - 'x', 82, - 'P', 73, - 'p', 73, - '0', 77, - 'f', 77, - 'n', 77, - 'r', 77, - 't', 77, - 'v', 77, - 'D', 72, - 'S', 72, - 'W', 72, - 'd', 72, - 's', 72, - 'w', 72, - ); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(71); - if (lookahead != 0) ADVANCE(80); + if (lookahead == '<') ADVANCE(60); + if (lookahead == '=') ADVANCE(73); END_STATE(); case 13: - if (lookahead == ']') ADVANCE(50); + ADVANCE_MAP( + 'B', 40, + 'b', 39, + 'c', 86, + 'k', 71, + 'u', 84, + 'x', 85, + 'P', 76, + 'p', 76, + '0', 80, + 'f', 80, + 'n', 80, + 'r', 80, + 't', 80, + 'v', 80, + 'D', 75, + 'S', 75, + 'W', 75, + 'd', 75, + 's', 75, + 'w', 75, + ); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(74); + if (lookahead != 0) ADVANCE(83); END_STATE(); case 14: + if (lookahead == ']') ADVANCE(51); + END_STATE(); + case 15: ADVANCE_MAP( - 'u', 15, - 'x', 25, - 'P', 73, - 'p', 73, - 'D', 72, - 'S', 72, - 'W', 72, - 'd', 72, - 's', 72, - 'w', 72, - '0', 77, - 'b', 77, - 'f', 77, - 'n', 77, - 'r', 77, - 't', 77, - 'v', 77, + 'u', 16, + 'x', 26, + 'P', 76, + 'p', 76, + 'D', 75, + 'S', 75, + 'W', 75, + 'd', 75, + 's', 75, + 'w', 75, + '0', 80, + 'b', 80, + 'f', 80, + 'n', 80, + 'r', 80, + 't', 80, + 'v', 80, ); END_STATE(); - case 15: - if (lookahead == '{') ADVANCE(22); + case 16: + if (lookahead == '{') ADVANCE(23); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(27); - END_STATE(); - case 16: - if (lookahead == '}') ADVANCE(75); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(28); END_STATE(); case 17: - if (lookahead == '}') ADVANCE(75); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(16); + if (lookahead == '}') ADVANCE(78); END_STATE(); case 18: - if (lookahead == '}') ADVANCE(75); + if (lookahead == '}') ADVANCE(78); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(17); END_STATE(); case 19: - if (lookahead == '}') ADVANCE(75); + if (lookahead == '}') ADVANCE(78); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(18); END_STATE(); case 20: - if (lookahead == '}') ADVANCE(75); + if (lookahead == '}') ADVANCE(78); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(19); END_STATE(); case 21: - if (lookahead == '}') ADVANCE(75); + if (lookahead == '}') ADVANCE(78); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(20); END_STATE(); case 22: + if (lookahead == '}') ADVANCE(78); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(21); @@ -994,17 +1018,17 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 23: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(78); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(22); END_STATE(); case 24: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(74); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(81); END_STATE(); case 25: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(23); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(77); END_STATE(); case 26: if (('0' <= lookahead && lookahead <= '9') || @@ -1014,260 +1038,272 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 27: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(26); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(25); END_STATE(); case 28: - if (eof) ADVANCE(33); - if (lookahead == '\n') SKIP(0); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(27); END_STATE(); case 29: - if (eof) ADVANCE(33); - if (lookahead == '\n') SKIP(30); + if (eof) ADVANCE(34); + if (lookahead == '\n') SKIP(0); END_STATE(); case 30: - if (eof) ADVANCE(33); - if (lookahead == '\n') SKIP(30); - if (lookahead == '\r') SKIP(29); - if (lookahead == '$') ADVANCE(37); - if (lookahead == '(') ADVANCE(58); - if (lookahead == ')') ADVANCE(43); - if (lookahead == '.') ADVANCE(35); - if (lookahead == '?') ADVANCE(64); - if (lookahead == '[') ADVANCE(46); - if (lookahead == '\\') ADVANCE(12); - if (lookahead == '^') ADVANCE(36); - if (lookahead == '|') ADVANCE(34); - if (lookahead != 0 && - (lookahead < '(' || '+' < lookahead) && - (lookahead < '[' || '^' < lookahead)) ADVANCE(45); + if (eof) ADVANCE(34); + if (lookahead == '\n') SKIP(31); END_STATE(); case 31: - if (eof) ADVANCE(33); - if (lookahead == '\n') SKIP(32); + if (eof) ADVANCE(34); + if (lookahead == '\n') SKIP(31); + if (lookahead == '\r') SKIP(30); + if (lookahead == '$') ADVANCE(38); + if (lookahead == '(') ADVANCE(59); + if (lookahead == ')') ADVANCE(44); + if (lookahead == '.') ADVANCE(36); + if (lookahead == '?') ADVANCE(66); + if (lookahead == '[') ADVANCE(47); + if (lookahead == '\\') ADVANCE(13); + if (lookahead == '^') ADVANCE(37); + if (lookahead == '|') ADVANCE(35); + if (lookahead != 0 && + (lookahead < '(' || '+' < lookahead) && + (lookahead < '[' || '^' < lookahead)) ADVANCE(46); END_STATE(); case 32: - if (eof) ADVANCE(33); - if (lookahead == '\n') SKIP(32); - if (lookahead == '\r') SKIP(31); - if (lookahead == '$') ADVANCE(37); - if (lookahead == '(') ADVANCE(58); - if (lookahead == ')') ADVANCE(43); - if (lookahead == '*') ADVANCE(63); - if (lookahead == '+') ADVANCE(65); - if (lookahead == '.') ADVANCE(35); - if (lookahead == '?') ADVANCE(64); - if (lookahead == '[') ADVANCE(46); - if (lookahead == '\\') ADVANCE(12); - if (lookahead == '^') ADVANCE(36); - if (lookahead == '{') ADVANCE(66); - if (lookahead == '|') ADVANCE(34); - if (lookahead != 0 && - (lookahead < '[' || '^' < lookahead)) ADVANCE(45); + if (eof) ADVANCE(34); + if (lookahead == '\n') SKIP(33); END_STATE(); case 33: - ACCEPT_TOKEN(ts_builtin_sym_end); + if (eof) ADVANCE(34); + if (lookahead == '\n') SKIP(33); + if (lookahead == '\r') SKIP(32); + if (lookahead == '$') ADVANCE(38); + if (lookahead == '(') ADVANCE(59); + if (lookahead == ')') ADVANCE(44); + if (lookahead == '*') ADVANCE(65); + if (lookahead == '+') ADVANCE(67); + if (lookahead == '.') ADVANCE(36); + if (lookahead == '?') ADVANCE(66); + if (lookahead == '[') ADVANCE(47); + if (lookahead == '\\') ADVANCE(13); + if (lookahead == '^') ADVANCE(37); + if (lookahead == '{') ADVANCE(68); + if (lookahead == '|') ADVANCE(35); + if (lookahead != 0 && + (lookahead < '[' || '^' < lookahead)) ADVANCE(46); END_STATE(); case 34: - ACCEPT_TOKEN(anon_sym_PIPE); + ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 35: - ACCEPT_TOKEN(sym_any_character); + ACCEPT_TOKEN(anon_sym_PIPE); END_STATE(); case 36: - ACCEPT_TOKEN(anon_sym_CARET); + ACCEPT_TOKEN(sym_any_character); END_STATE(); case 37: - ACCEPT_TOKEN(sym_end_assertion); + ACCEPT_TOKEN(anon_sym_CARET); END_STATE(); case 38: - ACCEPT_TOKEN(sym_boundary_assertion); + ACCEPT_TOKEN(sym_end_assertion); END_STATE(); case 39: - ACCEPT_TOKEN(sym_non_boundary_assertion); + ACCEPT_TOKEN(sym_boundary_assertion); END_STATE(); case 40: - ACCEPT_TOKEN(anon_sym_LPAREN_QMARK); - if (lookahead == ':') ADVANCE(60); - if (lookahead == '<') ADVANCE(44); + ACCEPT_TOKEN(sym_non_boundary_assertion); END_STATE(); case 41: - ACCEPT_TOKEN(anon_sym_EQ); + ACCEPT_TOKEN(anon_sym_LPAREN_QMARK); + if (lookahead == ':') ADVANCE(62); + if (lookahead == '<') ADVANCE(45); + if (lookahead == 'P') ADVANCE(12); END_STATE(); case 42: - ACCEPT_TOKEN(anon_sym_BANG); + ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); case 43: - ACCEPT_TOKEN(anon_sym_RPAREN); + ACCEPT_TOKEN(anon_sym_BANG); END_STATE(); case 44: - ACCEPT_TOKEN(anon_sym_LPAREN_QMARK_LT); + ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); case 45: - ACCEPT_TOKEN(sym_pattern_character); + ACCEPT_TOKEN(anon_sym_LPAREN_QMARK_LT); END_STATE(); case 46: - ACCEPT_TOKEN(anon_sym_LBRACK); - if (lookahead == ':') ADVANCE(49); + ACCEPT_TOKEN(sym_pattern_character); END_STATE(); case 47: - ACCEPT_TOKEN(anon_sym_DASH); + ACCEPT_TOKEN(anon_sym_LBRACK); + if (lookahead == ':') ADVANCE(50); END_STATE(); case 48: - ACCEPT_TOKEN(anon_sym_RBRACK); + ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); case 49: - ACCEPT_TOKEN(anon_sym_LBRACK_COLON); + ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); case 50: - ACCEPT_TOKEN(anon_sym_COLON_RBRACK); + ACCEPT_TOKEN(anon_sym_LBRACK_COLON); END_STATE(); case 51: - ACCEPT_TOKEN(aux_sym_posix_class_name_token1); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(51); + ACCEPT_TOKEN(anon_sym_COLON_RBRACK); END_STATE(); case 52: - ACCEPT_TOKEN(anon_sym_BSLASH_DASH); + ACCEPT_TOKEN(aux_sym_posix_class_name_token1); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); END_STATE(); case 53: - ACCEPT_TOKEN(sym_class_character); + ACCEPT_TOKEN(anon_sym_BSLASH_DASH); END_STATE(); case 54: ACCEPT_TOKEN(sym_class_character); - if (lookahead == '\n') ADVANCE(54); - if (lookahead == '\r') ADVANCE(53); - if (lookahead == '[') ADVANCE(57); - if (lookahead == '^') ADVANCE(36); - if (lookahead != 0 && - lookahead != '-' && - (lookahead < '[' || '^' < lookahead)) ADVANCE(53); END_STATE(); case 55: ACCEPT_TOKEN(sym_class_character); if (lookahead == '\n') ADVANCE(55); - if (lookahead == '\r') ADVANCE(53); - if (lookahead == '[') ADVANCE(57); + if (lookahead == '\r') ADVANCE(54); + if (lookahead == '[') ADVANCE(58); + if (lookahead == '^') ADVANCE(37); if (lookahead != 0 && lookahead != '-' && - (lookahead < '[' || ']' < lookahead)) ADVANCE(53); + (lookahead < '[' || '^' < lookahead)) ADVANCE(54); END_STATE(); case 56: ACCEPT_TOKEN(sym_class_character); if (lookahead == '\n') ADVANCE(56); - if (lookahead == '\r') ADVANCE(53); + if (lookahead == '\r') ADVANCE(54); + if (lookahead == '[') ADVANCE(58); if (lookahead != 0 && lookahead != '-' && - lookahead != '\\' && - lookahead != ']') ADVANCE(53); + (lookahead < '[' || ']' < lookahead)) ADVANCE(54); END_STATE(); case 57: ACCEPT_TOKEN(sym_class_character); - if (lookahead == ':') ADVANCE(49); + if (lookahead == '\n') ADVANCE(57); + if (lookahead == '\r') ADVANCE(54); + if (lookahead != 0 && + lookahead != '-' && + lookahead != '\\' && + lookahead != ']') ADVANCE(54); END_STATE(); case 58: - ACCEPT_TOKEN(anon_sym_LPAREN); - if (lookahead == '?') ADVANCE(40); + ACCEPT_TOKEN(sym_class_character); + if (lookahead == ':') ADVANCE(50); END_STATE(); case 59: - ACCEPT_TOKEN(anon_sym_GT); + ACCEPT_TOKEN(anon_sym_LPAREN); + if (lookahead == '?') ADVANCE(41); END_STATE(); case 60: - ACCEPT_TOKEN(anon_sym_LPAREN_QMARK_COLON); + ACCEPT_TOKEN(anon_sym_LPAREN_QMARKP_LT); END_STATE(); case 61: - ACCEPT_TOKEN(anon_sym_COLON); + ACCEPT_TOKEN(anon_sym_GT); END_STATE(); case 62: - ACCEPT_TOKEN(anon_sym_COLON); - if (lookahead == ']') ADVANCE(50); + ACCEPT_TOKEN(anon_sym_LPAREN_QMARK_COLON); END_STATE(); case 63: - ACCEPT_TOKEN(anon_sym_STAR); + ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); case 64: - ACCEPT_TOKEN(anon_sym_QMARK); + ACCEPT_TOKEN(anon_sym_COLON); + if (lookahead == ']') ADVANCE(51); END_STATE(); case 65: - ACCEPT_TOKEN(anon_sym_PLUS); + ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); case 66: - ACCEPT_TOKEN(anon_sym_LBRACE); + ACCEPT_TOKEN(anon_sym_QMARK); END_STATE(); case 67: - ACCEPT_TOKEN(anon_sym_COMMA); + ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); case 68: - ACCEPT_TOKEN(anon_sym_RBRACE); + ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 69: - ACCEPT_TOKEN(anon_sym_BSLASHk); + ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 70: - ACCEPT_TOKEN(anon_sym_LT); + ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 71: - ACCEPT_TOKEN(sym_decimal_escape); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(71); + ACCEPT_TOKEN(anon_sym_BSLASHk); END_STATE(); case 72: - ACCEPT_TOKEN(aux_sym_character_class_escape_token1); + ACCEPT_TOKEN(anon_sym_LT); END_STATE(); case 73: - ACCEPT_TOKEN(aux_sym_character_class_escape_token2); + ACCEPT_TOKEN(anon_sym_LPAREN_QMARKP_EQ); END_STATE(); case 74: - ACCEPT_TOKEN(aux_sym_unicode_character_escape_token1); + ACCEPT_TOKEN(sym_decimal_escape); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(74); END_STATE(); case 75: - ACCEPT_TOKEN(aux_sym_unicode_character_escape_token2); + ACCEPT_TOKEN(aux_sym_character_class_escape_token1); END_STATE(); case 76: + ACCEPT_TOKEN(aux_sym_character_class_escape_token2); + END_STATE(); + case 77: + ACCEPT_TOKEN(aux_sym_unicode_character_escape_token1); + END_STATE(); + case 78: + ACCEPT_TOKEN(aux_sym_unicode_character_escape_token2); + END_STATE(); + case 79: ACCEPT_TOKEN(sym_unicode_property); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(76); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(79); END_STATE(); - case 77: + case 80: ACCEPT_TOKEN(aux_sym_control_escape_token1); END_STATE(); - case 78: + case 81: ACCEPT_TOKEN(aux_sym_control_escape_token2); END_STATE(); - case 79: + case 82: ACCEPT_TOKEN(sym_control_letter_escape); END_STATE(); - case 80: + case 83: ACCEPT_TOKEN(sym_identity_escape); END_STATE(); - case 81: + case 84: ACCEPT_TOKEN(sym_identity_escape); - if (lookahead == '{') ADVANCE(22); + if (lookahead == '{') ADVANCE(23); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(27); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(28); END_STATE(); - case 82: + case 85: ACCEPT_TOKEN(sym_identity_escape); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(23); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(24); END_STATE(); - case 83: + case 86: ACCEPT_TOKEN(sym_identity_escape); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(79); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(82); END_STATE(); - case 84: + case 87: ACCEPT_TOKEN(sym_group_name); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(87); END_STATE(); - case 85: + case 88: ACCEPT_TOKEN(sym_decimal_digits); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(85); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(88); END_STATE(); default: return false; @@ -1276,64 +1312,64 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 30}, - [2] = {.lex_state = 30}, - [3] = {.lex_state = 30}, - [4] = {.lex_state = 30}, - [5] = {.lex_state = 30}, - [6] = {.lex_state = 30}, - [7] = {.lex_state = 30}, - [8] = {.lex_state = 30}, - [9] = {.lex_state = 30}, - [10] = {.lex_state = 30}, - [11] = {.lex_state = 30}, - [12] = {.lex_state = 30}, - [13] = {.lex_state = 32}, - [14] = {.lex_state = 32}, - [15] = {.lex_state = 32}, - [16] = {.lex_state = 32}, - [17] = {.lex_state = 32}, - [18] = {.lex_state = 32}, - [19] = {.lex_state = 32}, - [20] = {.lex_state = 32}, - [21] = {.lex_state = 32}, - [22] = {.lex_state = 32}, - [23] = {.lex_state = 32}, - [24] = {.lex_state = 32}, - [25] = {.lex_state = 32}, - [26] = {.lex_state = 32}, - [27] = {.lex_state = 32}, - [28] = {.lex_state = 32}, - [29] = {.lex_state = 32}, - [30] = {.lex_state = 32}, - [31] = {.lex_state = 32}, - [32] = {.lex_state = 32}, - [33] = {.lex_state = 32}, - [34] = {.lex_state = 32}, - [35] = {.lex_state = 32}, - [36] = {.lex_state = 32}, - [37] = {.lex_state = 32}, - [38] = {.lex_state = 32}, - [39] = {.lex_state = 32}, - [40] = {.lex_state = 32}, - [41] = {.lex_state = 32}, - [42] = {.lex_state = 32}, - [43] = {.lex_state = 32}, - [44] = {.lex_state = 30}, - [45] = {.lex_state = 30}, - [46] = {.lex_state = 30}, - [47] = {.lex_state = 30}, - [48] = {.lex_state = 30}, - [49] = {.lex_state = 30}, - [50] = {.lex_state = 30}, - [51] = {.lex_state = 30}, - [52] = {.lex_state = 30}, - [53] = {.lex_state = 30}, - [54] = {.lex_state = 30}, - [55] = {.lex_state = 30}, - [56] = {.lex_state = 30}, - [57] = {.lex_state = 1}, - [58] = {.lex_state = 2}, + [1] = {.lex_state = 31}, + [2] = {.lex_state = 31}, + [3] = {.lex_state = 31}, + [4] = {.lex_state = 31}, + [5] = {.lex_state = 31}, + [6] = {.lex_state = 31}, + [7] = {.lex_state = 31}, + [8] = {.lex_state = 31}, + [9] = {.lex_state = 31}, + [10] = {.lex_state = 31}, + [11] = {.lex_state = 31}, + [12] = {.lex_state = 31}, + [13] = {.lex_state = 33}, + [14] = {.lex_state = 33}, + [15] = {.lex_state = 33}, + [16] = {.lex_state = 33}, + [17] = {.lex_state = 33}, + [18] = {.lex_state = 33}, + [19] = {.lex_state = 33}, + [20] = {.lex_state = 33}, + [21] = {.lex_state = 33}, + [22] = {.lex_state = 33}, + [23] = {.lex_state = 33}, + [24] = {.lex_state = 33}, + [25] = {.lex_state = 33}, + [26] = {.lex_state = 33}, + [27] = {.lex_state = 33}, + [28] = {.lex_state = 33}, + [29] = {.lex_state = 33}, + [30] = {.lex_state = 33}, + [31] = {.lex_state = 33}, + [32] = {.lex_state = 33}, + [33] = {.lex_state = 33}, + [34] = {.lex_state = 33}, + [35] = {.lex_state = 33}, + [36] = {.lex_state = 33}, + [37] = {.lex_state = 33}, + [38] = {.lex_state = 33}, + [39] = {.lex_state = 33}, + [40] = {.lex_state = 33}, + [41] = {.lex_state = 33}, + [42] = {.lex_state = 33}, + [43] = {.lex_state = 33}, + [44] = {.lex_state = 33}, + [45] = {.lex_state = 31}, + [46] = {.lex_state = 31}, + [47] = {.lex_state = 31}, + [48] = {.lex_state = 31}, + [49] = {.lex_state = 31}, + [50] = {.lex_state = 31}, + [51] = {.lex_state = 31}, + [52] = {.lex_state = 31}, + [53] = {.lex_state = 31}, + [54] = {.lex_state = 31}, + [55] = {.lex_state = 31}, + [56] = {.lex_state = 31}, + [57] = {.lex_state = 31}, + [58] = {.lex_state = 1}, [59] = {.lex_state = 2}, [60] = {.lex_state = 2}, [61] = {.lex_state = 2}, @@ -1352,24 +1388,24 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [74] = {.lex_state = 2}, [75] = {.lex_state = 2}, [76] = {.lex_state = 2}, - [77] = {.lex_state = 3}, + [77] = {.lex_state = 2}, [78] = {.lex_state = 3}, [79] = {.lex_state = 3}, [80] = {.lex_state = 3}, - [81] = {.lex_state = 5}, - [82] = {.lex_state = 0}, + [81] = {.lex_state = 3}, + [82] = {.lex_state = 5}, [83] = {.lex_state = 0}, [84] = {.lex_state = 0}, [85] = {.lex_state = 0}, - [86] = {.lex_state = 5}, + [86] = {.lex_state = 0}, [87] = {.lex_state = 5}, [88] = {.lex_state = 7}, [89] = {.lex_state = 0}, - [90] = {.lex_state = 9}, - [91] = {.lex_state = 5}, - [92] = {.lex_state = 5}, + [90] = {.lex_state = 5}, + [91] = {.lex_state = 0}, + [92] = {.lex_state = 9}, [93] = {.lex_state = 5}, - [94] = {.lex_state = 5}, + [94] = {.lex_state = 9}, [95] = {.lex_state = 5}, [96] = {.lex_state = 5}, [97] = {.lex_state = 5}, @@ -1377,37 +1413,41 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [99] = {.lex_state = 5}, [100] = {.lex_state = 5}, [101] = {.lex_state = 5}, - [102] = {.lex_state = 9}, + [102] = {.lex_state = 5}, [103] = {.lex_state = 5}, [104] = {.lex_state = 5}, [105] = {.lex_state = 5}, - [106] = {.lex_state = 0}, - [107] = {.lex_state = 7}, + [106] = {.lex_state = 5}, + [107] = {.lex_state = 5}, [108] = {.lex_state = 0}, - [109] = {.lex_state = 5}, - [110] = {.lex_state = 9}, + [109] = {.lex_state = 0}, + [110] = {.lex_state = 0}, [111] = {.lex_state = 0}, - [112] = {.lex_state = 7}, - [113] = {.lex_state = 0}, + [112] = {.lex_state = 5}, + [113] = {.lex_state = 7}, [114] = {.lex_state = 0}, - [115] = {.lex_state = 5}, + [115] = {.lex_state = 7}, [116] = {.lex_state = 5}, [117] = {.lex_state = 5}, - [118] = {.lex_state = 0}, - [119] = {.lex_state = 0}, - [120] = {.lex_state = 7}, + [118] = {.lex_state = 5}, + [119] = {.lex_state = 5}, + [120] = {.lex_state = 5}, [121] = {.lex_state = 5}, - [122] = {.lex_state = 5}, + [122] = {.lex_state = 0}, [123] = {.lex_state = 0}, - [124] = {.lex_state = 5}, - [125] = {.lex_state = 0}, - [126] = {.lex_state = 5}, + [124] = {.lex_state = 7}, + [125] = {.lex_state = 9}, + [126] = {.lex_state = 0}, [127] = {.lex_state = 0}, - [128] = {.lex_state = 7}, - [129] = {.lex_state = 5}, - [130] = {.lex_state = 0}, - [131] = {.lex_state = 5}, - [132] = {.lex_state = 0}, + [128] = {.lex_state = 0}, + [129] = {.lex_state = 0}, + [130] = {.lex_state = 5}, + [131] = {.lex_state = 7}, + [132] = {.lex_state = 7}, + [133] = {.lex_state = 5}, + [134] = {.lex_state = 5}, + [135] = {.lex_state = 7}, + [136] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -1432,6 +1472,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_COLON_RBRACK] = ACTIONS(1), [anon_sym_BSLASH_DASH] = ACTIONS(1), [anon_sym_LPAREN] = ACTIONS(1), + [anon_sym_LPAREN_QMARKP_LT] = ACTIONS(1), [anon_sym_GT] = ACTIONS(1), [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(1), [anon_sym_COLON] = ACTIONS(1), @@ -1443,6 +1484,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_RBRACE] = ACTIONS(1), [anon_sym_BSLASHk] = ACTIONS(1), [anon_sym_LT] = ACTIONS(1), + [anon_sym_LPAREN_QMARKP_EQ] = ACTIONS(1), [sym_decimal_escape] = ACTIONS(1), [aux_sym_character_class_escape_token1] = ACTIONS(1), [aux_sym_character_class_escape_token2] = ACTIONS(1), @@ -1454,8 +1496,8 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_identity_escape] = ACTIONS(1), }, [1] = { - [sym_pattern] = STATE(108), - [sym_alternation] = STATE(106), + [sym_pattern] = STATE(129), + [sym_alternation] = STATE(91), [sym_term] = STATE(85), [sym_start_assertion] = STATE(13), [sym_lookaround_assertion] = STATE(13), @@ -1468,11 +1510,12 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(13), [sym_inline_flags_group] = STATE(13), [sym_backreference_escape] = STATE(13), + [sym_named_group_backreference] = STATE(13), [sym_character_class_escape] = STATE(13), - [sym_unicode_character_escape] = STATE(21), + [sym_unicode_character_escape] = STATE(14), [sym_control_escape] = STATE(13), - [aux_sym_alternation_repeat1] = STATE(83), - [aux_sym_term_repeat1] = STATE(12), + [aux_sym_alternation_repeat1] = STATE(86), + [aux_sym_term_repeat1] = STATE(11), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1485,21 +1528,23 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACK] = ACTIONS(13), [anon_sym_LBRACK_COLON] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), - [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(19), - [anon_sym_BSLASHk] = ACTIONS(21), + [anon_sym_LPAREN_QMARKP_LT] = ACTIONS(19), + [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(21), + [anon_sym_BSLASHk] = ACTIONS(23), + [anon_sym_LPAREN_QMARKP_EQ] = ACTIONS(25), [sym_decimal_escape] = ACTIONS(5), - [aux_sym_character_class_escape_token1] = ACTIONS(23), - [aux_sym_character_class_escape_token2] = ACTIONS(25), - [aux_sym_unicode_character_escape_token1] = ACTIONS(27), - [aux_sym_unicode_character_escape_token2] = ACTIONS(27), - [aux_sym_control_escape_token1] = ACTIONS(29), - [aux_sym_control_escape_token2] = ACTIONS(31), + [aux_sym_character_class_escape_token1] = ACTIONS(27), + [aux_sym_character_class_escape_token2] = ACTIONS(29), + [aux_sym_unicode_character_escape_token1] = ACTIONS(31), + [aux_sym_unicode_character_escape_token2] = ACTIONS(31), + [aux_sym_control_escape_token1] = ACTIONS(33), + [aux_sym_control_escape_token2] = ACTIONS(35), [sym_control_letter_escape] = ACTIONS(5), - [sym_identity_escape] = ACTIONS(33), + [sym_identity_escape] = ACTIONS(37), }, [2] = { - [sym_pattern] = STATE(113), - [sym_alternation] = STATE(106), + [sym_pattern] = STATE(126), + [sym_alternation] = STATE(91), [sym_term] = STATE(85), [sym_start_assertion] = STATE(13), [sym_lookaround_assertion] = STATE(13), @@ -1512,11 +1557,12 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(13), [sym_inline_flags_group] = STATE(13), [sym_backreference_escape] = STATE(13), + [sym_named_group_backreference] = STATE(13), [sym_character_class_escape] = STATE(13), - [sym_unicode_character_escape] = STATE(21), + [sym_unicode_character_escape] = STATE(14), [sym_control_escape] = STATE(13), - [aux_sym_alternation_repeat1] = STATE(83), - [aux_sym_term_repeat1] = STATE(12), + [aux_sym_alternation_repeat1] = STATE(86), + [aux_sym_term_repeat1] = STATE(11), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1529,21 +1575,23 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACK] = ACTIONS(13), [anon_sym_LBRACK_COLON] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), - [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(19), - [anon_sym_BSLASHk] = ACTIONS(21), + [anon_sym_LPAREN_QMARKP_LT] = ACTIONS(19), + [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(21), + [anon_sym_BSLASHk] = ACTIONS(23), + [anon_sym_LPAREN_QMARKP_EQ] = ACTIONS(25), [sym_decimal_escape] = ACTIONS(5), - [aux_sym_character_class_escape_token1] = ACTIONS(23), - [aux_sym_character_class_escape_token2] = ACTIONS(25), - [aux_sym_unicode_character_escape_token1] = ACTIONS(27), - [aux_sym_unicode_character_escape_token2] = ACTIONS(27), - [aux_sym_control_escape_token1] = ACTIONS(29), - [aux_sym_control_escape_token2] = ACTIONS(31), + [aux_sym_character_class_escape_token1] = ACTIONS(27), + [aux_sym_character_class_escape_token2] = ACTIONS(29), + [aux_sym_unicode_character_escape_token1] = ACTIONS(31), + [aux_sym_unicode_character_escape_token2] = ACTIONS(31), + [aux_sym_control_escape_token1] = ACTIONS(33), + [aux_sym_control_escape_token2] = ACTIONS(35), [sym_control_letter_escape] = ACTIONS(5), - [sym_identity_escape] = ACTIONS(33), + [sym_identity_escape] = ACTIONS(37), }, [3] = { - [sym_pattern] = STATE(114), - [sym_alternation] = STATE(106), + [sym_pattern] = STATE(108), + [sym_alternation] = STATE(91), [sym_term] = STATE(85), [sym_start_assertion] = STATE(13), [sym_lookaround_assertion] = STATE(13), @@ -1556,11 +1604,12 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(13), [sym_inline_flags_group] = STATE(13), [sym_backreference_escape] = STATE(13), + [sym_named_group_backreference] = STATE(13), [sym_character_class_escape] = STATE(13), - [sym_unicode_character_escape] = STATE(21), + [sym_unicode_character_escape] = STATE(14), [sym_control_escape] = STATE(13), - [aux_sym_alternation_repeat1] = STATE(83), - [aux_sym_term_repeat1] = STATE(12), + [aux_sym_alternation_repeat1] = STATE(86), + [aux_sym_term_repeat1] = STATE(11), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1573,21 +1622,23 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACK] = ACTIONS(13), [anon_sym_LBRACK_COLON] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), - [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(19), - [anon_sym_BSLASHk] = ACTIONS(21), + [anon_sym_LPAREN_QMARKP_LT] = ACTIONS(19), + [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(21), + [anon_sym_BSLASHk] = ACTIONS(23), + [anon_sym_LPAREN_QMARKP_EQ] = ACTIONS(25), [sym_decimal_escape] = ACTIONS(5), - [aux_sym_character_class_escape_token1] = ACTIONS(23), - [aux_sym_character_class_escape_token2] = ACTIONS(25), - [aux_sym_unicode_character_escape_token1] = ACTIONS(27), - [aux_sym_unicode_character_escape_token2] = ACTIONS(27), - [aux_sym_control_escape_token1] = ACTIONS(29), - [aux_sym_control_escape_token2] = ACTIONS(31), + [aux_sym_character_class_escape_token1] = ACTIONS(27), + [aux_sym_character_class_escape_token2] = ACTIONS(29), + [aux_sym_unicode_character_escape_token1] = ACTIONS(31), + [aux_sym_unicode_character_escape_token2] = ACTIONS(31), + [aux_sym_control_escape_token1] = ACTIONS(33), + [aux_sym_control_escape_token2] = ACTIONS(35), [sym_control_letter_escape] = ACTIONS(5), - [sym_identity_escape] = ACTIONS(33), + [sym_identity_escape] = ACTIONS(37), }, [4] = { - [sym_pattern] = STATE(118), - [sym_alternation] = STATE(106), + [sym_pattern] = STATE(110), + [sym_alternation] = STATE(91), [sym_term] = STATE(85), [sym_start_assertion] = STATE(13), [sym_lookaround_assertion] = STATE(13), @@ -1600,11 +1651,12 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(13), [sym_inline_flags_group] = STATE(13), [sym_backreference_escape] = STATE(13), + [sym_named_group_backreference] = STATE(13), [sym_character_class_escape] = STATE(13), - [sym_unicode_character_escape] = STATE(21), + [sym_unicode_character_escape] = STATE(14), [sym_control_escape] = STATE(13), - [aux_sym_alternation_repeat1] = STATE(83), - [aux_sym_term_repeat1] = STATE(12), + [aux_sym_alternation_repeat1] = STATE(86), + [aux_sym_term_repeat1] = STATE(11), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1617,21 +1669,23 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACK] = ACTIONS(13), [anon_sym_LBRACK_COLON] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), - [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(19), - [anon_sym_BSLASHk] = ACTIONS(21), + [anon_sym_LPAREN_QMARKP_LT] = ACTIONS(19), + [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(21), + [anon_sym_BSLASHk] = ACTIONS(23), + [anon_sym_LPAREN_QMARKP_EQ] = ACTIONS(25), [sym_decimal_escape] = ACTIONS(5), - [aux_sym_character_class_escape_token1] = ACTIONS(23), - [aux_sym_character_class_escape_token2] = ACTIONS(25), - [aux_sym_unicode_character_escape_token1] = ACTIONS(27), - [aux_sym_unicode_character_escape_token2] = ACTIONS(27), - [aux_sym_control_escape_token1] = ACTIONS(29), - [aux_sym_control_escape_token2] = ACTIONS(31), + [aux_sym_character_class_escape_token1] = ACTIONS(27), + [aux_sym_character_class_escape_token2] = ACTIONS(29), + [aux_sym_unicode_character_escape_token1] = ACTIONS(31), + [aux_sym_unicode_character_escape_token2] = ACTIONS(31), + [aux_sym_control_escape_token1] = ACTIONS(33), + [aux_sym_control_escape_token2] = ACTIONS(35), [sym_control_letter_escape] = ACTIONS(5), - [sym_identity_escape] = ACTIONS(33), + [sym_identity_escape] = ACTIONS(37), }, [5] = { [sym_pattern] = STATE(127), - [sym_alternation] = STATE(106), + [sym_alternation] = STATE(91), [sym_term] = STATE(85), [sym_start_assertion] = STATE(13), [sym_lookaround_assertion] = STATE(13), @@ -1644,11 +1698,12 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(13), [sym_inline_flags_group] = STATE(13), [sym_backreference_escape] = STATE(13), + [sym_named_group_backreference] = STATE(13), [sym_character_class_escape] = STATE(13), - [sym_unicode_character_escape] = STATE(21), + [sym_unicode_character_escape] = STATE(14), [sym_control_escape] = STATE(13), - [aux_sym_alternation_repeat1] = STATE(83), - [aux_sym_term_repeat1] = STATE(12), + [aux_sym_alternation_repeat1] = STATE(86), + [aux_sym_term_repeat1] = STATE(11), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1661,21 +1716,23 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACK] = ACTIONS(13), [anon_sym_LBRACK_COLON] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), - [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(19), - [anon_sym_BSLASHk] = ACTIONS(21), + [anon_sym_LPAREN_QMARKP_LT] = ACTIONS(19), + [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(21), + [anon_sym_BSLASHk] = ACTIONS(23), + [anon_sym_LPAREN_QMARKP_EQ] = ACTIONS(25), [sym_decimal_escape] = ACTIONS(5), - [aux_sym_character_class_escape_token1] = ACTIONS(23), - [aux_sym_character_class_escape_token2] = ACTIONS(25), - [aux_sym_unicode_character_escape_token1] = ACTIONS(27), - [aux_sym_unicode_character_escape_token2] = ACTIONS(27), - [aux_sym_control_escape_token1] = ACTIONS(29), - [aux_sym_control_escape_token2] = ACTIONS(31), + [aux_sym_character_class_escape_token1] = ACTIONS(27), + [aux_sym_character_class_escape_token2] = ACTIONS(29), + [aux_sym_unicode_character_escape_token1] = ACTIONS(31), + [aux_sym_unicode_character_escape_token2] = ACTIONS(31), + [aux_sym_control_escape_token1] = ACTIONS(33), + [aux_sym_control_escape_token2] = ACTIONS(35), [sym_control_letter_escape] = ACTIONS(5), - [sym_identity_escape] = ACTIONS(33), + [sym_identity_escape] = ACTIONS(37), }, [6] = { - [sym_pattern] = STATE(111), - [sym_alternation] = STATE(106), + [sym_pattern] = STATE(109), + [sym_alternation] = STATE(91), [sym_term] = STATE(85), [sym_start_assertion] = STATE(13), [sym_lookaround_assertion] = STATE(13), @@ -1688,11 +1745,12 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(13), [sym_inline_flags_group] = STATE(13), [sym_backreference_escape] = STATE(13), + [sym_named_group_backreference] = STATE(13), [sym_character_class_escape] = STATE(13), - [sym_unicode_character_escape] = STATE(21), + [sym_unicode_character_escape] = STATE(14), [sym_control_escape] = STATE(13), - [aux_sym_alternation_repeat1] = STATE(83), - [aux_sym_term_repeat1] = STATE(12), + [aux_sym_alternation_repeat1] = STATE(86), + [aux_sym_term_repeat1] = STATE(11), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1705,21 +1763,23 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACK] = ACTIONS(13), [anon_sym_LBRACK_COLON] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), - [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(19), - [anon_sym_BSLASHk] = ACTIONS(21), + [anon_sym_LPAREN_QMARKP_LT] = ACTIONS(19), + [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(21), + [anon_sym_BSLASHk] = ACTIONS(23), + [anon_sym_LPAREN_QMARKP_EQ] = ACTIONS(25), [sym_decimal_escape] = ACTIONS(5), - [aux_sym_character_class_escape_token1] = ACTIONS(23), - [aux_sym_character_class_escape_token2] = ACTIONS(25), - [aux_sym_unicode_character_escape_token1] = ACTIONS(27), - [aux_sym_unicode_character_escape_token2] = ACTIONS(27), - [aux_sym_control_escape_token1] = ACTIONS(29), - [aux_sym_control_escape_token2] = ACTIONS(31), + [aux_sym_character_class_escape_token1] = ACTIONS(27), + [aux_sym_character_class_escape_token2] = ACTIONS(29), + [aux_sym_unicode_character_escape_token1] = ACTIONS(31), + [aux_sym_unicode_character_escape_token2] = ACTIONS(31), + [aux_sym_control_escape_token1] = ACTIONS(33), + [aux_sym_control_escape_token2] = ACTIONS(35), [sym_control_letter_escape] = ACTIONS(5), - [sym_identity_escape] = ACTIONS(33), + [sym_identity_escape] = ACTIONS(37), }, [7] = { - [sym_pattern] = STATE(130), - [sym_alternation] = STATE(106), + [sym_pattern] = STATE(122), + [sym_alternation] = STATE(91), [sym_term] = STATE(85), [sym_start_assertion] = STATE(13), [sym_lookaround_assertion] = STATE(13), @@ -1732,11 +1792,12 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(13), [sym_inline_flags_group] = STATE(13), [sym_backreference_escape] = STATE(13), + [sym_named_group_backreference] = STATE(13), [sym_character_class_escape] = STATE(13), - [sym_unicode_character_escape] = STATE(21), + [sym_unicode_character_escape] = STATE(14), [sym_control_escape] = STATE(13), - [aux_sym_alternation_repeat1] = STATE(83), - [aux_sym_term_repeat1] = STATE(12), + [aux_sym_alternation_repeat1] = STATE(86), + [aux_sym_term_repeat1] = STATE(11), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1749,21 +1810,23 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACK] = ACTIONS(13), [anon_sym_LBRACK_COLON] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), - [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(19), - [anon_sym_BSLASHk] = ACTIONS(21), + [anon_sym_LPAREN_QMARKP_LT] = ACTIONS(19), + [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(21), + [anon_sym_BSLASHk] = ACTIONS(23), + [anon_sym_LPAREN_QMARKP_EQ] = ACTIONS(25), [sym_decimal_escape] = ACTIONS(5), - [aux_sym_character_class_escape_token1] = ACTIONS(23), - [aux_sym_character_class_escape_token2] = ACTIONS(25), - [aux_sym_unicode_character_escape_token1] = ACTIONS(27), - [aux_sym_unicode_character_escape_token2] = ACTIONS(27), - [aux_sym_control_escape_token1] = ACTIONS(29), - [aux_sym_control_escape_token2] = ACTIONS(31), + [aux_sym_character_class_escape_token1] = ACTIONS(27), + [aux_sym_character_class_escape_token2] = ACTIONS(29), + [aux_sym_unicode_character_escape_token1] = ACTIONS(31), + [aux_sym_unicode_character_escape_token2] = ACTIONS(31), + [aux_sym_control_escape_token1] = ACTIONS(33), + [aux_sym_control_escape_token2] = ACTIONS(35), [sym_control_letter_escape] = ACTIONS(5), - [sym_identity_escape] = ACTIONS(33), + [sym_identity_escape] = ACTIONS(37), }, [8] = { - [sym_pattern] = STATE(125), - [sym_alternation] = STATE(106), + [sym_pattern] = STATE(128), + [sym_alternation] = STATE(91), [sym_term] = STATE(85), [sym_start_assertion] = STATE(13), [sym_lookaround_assertion] = STATE(13), @@ -1776,11 +1839,12 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(13), [sym_inline_flags_group] = STATE(13), [sym_backreference_escape] = STATE(13), + [sym_named_group_backreference] = STATE(13), [sym_character_class_escape] = STATE(13), - [sym_unicode_character_escape] = STATE(21), + [sym_unicode_character_escape] = STATE(14), [sym_control_escape] = STATE(13), - [aux_sym_alternation_repeat1] = STATE(83), - [aux_sym_term_repeat1] = STATE(12), + [aux_sym_alternation_repeat1] = STATE(86), + [aux_sym_term_repeat1] = STATE(11), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1793,21 +1857,23 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACK] = ACTIONS(13), [anon_sym_LBRACK_COLON] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), - [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(19), - [anon_sym_BSLASHk] = ACTIONS(21), + [anon_sym_LPAREN_QMARKP_LT] = ACTIONS(19), + [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(21), + [anon_sym_BSLASHk] = ACTIONS(23), + [anon_sym_LPAREN_QMARKP_EQ] = ACTIONS(25), [sym_decimal_escape] = ACTIONS(5), - [aux_sym_character_class_escape_token1] = ACTIONS(23), - [aux_sym_character_class_escape_token2] = ACTIONS(25), - [aux_sym_unicode_character_escape_token1] = ACTIONS(27), - [aux_sym_unicode_character_escape_token2] = ACTIONS(27), - [aux_sym_control_escape_token1] = ACTIONS(29), - [aux_sym_control_escape_token2] = ACTIONS(31), + [aux_sym_character_class_escape_token1] = ACTIONS(27), + [aux_sym_character_class_escape_token2] = ACTIONS(29), + [aux_sym_unicode_character_escape_token1] = ACTIONS(31), + [aux_sym_unicode_character_escape_token2] = ACTIONS(31), + [aux_sym_control_escape_token1] = ACTIONS(33), + [aux_sym_control_escape_token2] = ACTIONS(35), [sym_control_letter_escape] = ACTIONS(5), - [sym_identity_escape] = ACTIONS(33), + [sym_identity_escape] = ACTIONS(37), }, [9] = { - [sym_pattern] = STATE(119), - [sym_alternation] = STATE(106), + [sym_pattern] = STATE(123), + [sym_alternation] = STATE(91), [sym_term] = STATE(85), [sym_start_assertion] = STATE(13), [sym_lookaround_assertion] = STATE(13), @@ -1820,11 +1886,12 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(13), [sym_inline_flags_group] = STATE(13), [sym_backreference_escape] = STATE(13), + [sym_named_group_backreference] = STATE(13), [sym_character_class_escape] = STATE(13), - [sym_unicode_character_escape] = STATE(21), + [sym_unicode_character_escape] = STATE(14), [sym_control_escape] = STATE(13), - [aux_sym_alternation_repeat1] = STATE(83), - [aux_sym_term_repeat1] = STATE(12), + [aux_sym_alternation_repeat1] = STATE(86), + [aux_sym_term_repeat1] = STATE(11), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1837,17 +1904,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACK] = ACTIONS(13), [anon_sym_LBRACK_COLON] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), - [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(19), - [anon_sym_BSLASHk] = ACTIONS(21), + [anon_sym_LPAREN_QMARKP_LT] = ACTIONS(19), + [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(21), + [anon_sym_BSLASHk] = ACTIONS(23), + [anon_sym_LPAREN_QMARKP_EQ] = ACTIONS(25), [sym_decimal_escape] = ACTIONS(5), - [aux_sym_character_class_escape_token1] = ACTIONS(23), - [aux_sym_character_class_escape_token2] = ACTIONS(25), - [aux_sym_unicode_character_escape_token1] = ACTIONS(27), - [aux_sym_unicode_character_escape_token2] = ACTIONS(27), - [aux_sym_control_escape_token1] = ACTIONS(29), - [aux_sym_control_escape_token2] = ACTIONS(31), + [aux_sym_character_class_escape_token1] = ACTIONS(27), + [aux_sym_character_class_escape_token2] = ACTIONS(29), + [aux_sym_unicode_character_escape_token1] = ACTIONS(31), + [aux_sym_unicode_character_escape_token2] = ACTIONS(31), + [aux_sym_control_escape_token1] = ACTIONS(33), + [aux_sym_control_escape_token2] = ACTIONS(35), [sym_control_letter_escape] = ACTIONS(5), - [sym_identity_escape] = ACTIONS(33), + [sym_identity_escape] = ACTIONS(37), }, [10] = { [sym_term] = STATE(89), @@ -1862,35 +1931,38 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(13), [sym_inline_flags_group] = STATE(13), [sym_backreference_escape] = STATE(13), + [sym_named_group_backreference] = STATE(13), [sym_character_class_escape] = STATE(13), - [sym_unicode_character_escape] = STATE(21), + [sym_unicode_character_escape] = STATE(14), [sym_control_escape] = STATE(13), - [aux_sym_term_repeat1] = STATE(12), - [ts_builtin_sym_end] = ACTIONS(35), - [anon_sym_PIPE] = ACTIONS(35), + [aux_sym_term_repeat1] = STATE(11), + [ts_builtin_sym_end] = ACTIONS(39), + [anon_sym_PIPE] = ACTIONS(39), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), [sym_end_assertion] = ACTIONS(5), [sym_boundary_assertion] = ACTIONS(5), [sym_non_boundary_assertion] = ACTIONS(5), [anon_sym_LPAREN_QMARK] = ACTIONS(9), - [anon_sym_RPAREN] = ACTIONS(35), + [anon_sym_RPAREN] = ACTIONS(39), [anon_sym_LPAREN_QMARK_LT] = ACTIONS(11), [sym_pattern_character] = ACTIONS(5), [anon_sym_LBRACK] = ACTIONS(13), [anon_sym_LBRACK_COLON] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), - [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(19), - [anon_sym_BSLASHk] = ACTIONS(21), + [anon_sym_LPAREN_QMARKP_LT] = ACTIONS(19), + [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(21), + [anon_sym_BSLASHk] = ACTIONS(23), + [anon_sym_LPAREN_QMARKP_EQ] = ACTIONS(25), [sym_decimal_escape] = ACTIONS(5), - [aux_sym_character_class_escape_token1] = ACTIONS(23), - [aux_sym_character_class_escape_token2] = ACTIONS(25), - [aux_sym_unicode_character_escape_token1] = ACTIONS(27), - [aux_sym_unicode_character_escape_token2] = ACTIONS(27), - [aux_sym_control_escape_token1] = ACTIONS(29), - [aux_sym_control_escape_token2] = ACTIONS(31), + [aux_sym_character_class_escape_token1] = ACTIONS(27), + [aux_sym_character_class_escape_token2] = ACTIONS(29), + [aux_sym_unicode_character_escape_token1] = ACTIONS(31), + [aux_sym_unicode_character_escape_token2] = ACTIONS(31), + [aux_sym_control_escape_token1] = ACTIONS(33), + [aux_sym_control_escape_token2] = ACTIONS(35), [sym_control_letter_escape] = ACTIONS(5), - [sym_identity_escape] = ACTIONS(33), + [sym_identity_escape] = ACTIONS(37), }, [11] = { [sym_start_assertion] = STATE(13), @@ -1904,35 +1976,38 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(13), [sym_inline_flags_group] = STATE(13), [sym_backreference_escape] = STATE(13), + [sym_named_group_backreference] = STATE(13), [sym_character_class_escape] = STATE(13), - [sym_unicode_character_escape] = STATE(21), + [sym_unicode_character_escape] = STATE(14), [sym_control_escape] = STATE(13), - [aux_sym_term_repeat1] = STATE(11), - [ts_builtin_sym_end] = ACTIONS(37), - [anon_sym_PIPE] = ACTIONS(37), - [sym_any_character] = ACTIONS(39), - [anon_sym_CARET] = ACTIONS(42), - [sym_end_assertion] = ACTIONS(39), - [sym_boundary_assertion] = ACTIONS(39), - [sym_non_boundary_assertion] = ACTIONS(39), - [anon_sym_LPAREN_QMARK] = ACTIONS(45), - [anon_sym_RPAREN] = ACTIONS(37), - [anon_sym_LPAREN_QMARK_LT] = ACTIONS(48), - [sym_pattern_character] = ACTIONS(39), - [anon_sym_LBRACK] = ACTIONS(51), - [anon_sym_LBRACK_COLON] = ACTIONS(54), - [anon_sym_LPAREN] = ACTIONS(57), - [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(60), - [anon_sym_BSLASHk] = ACTIONS(63), - [sym_decimal_escape] = ACTIONS(39), - [aux_sym_character_class_escape_token1] = ACTIONS(66), - [aux_sym_character_class_escape_token2] = ACTIONS(69), - [aux_sym_unicode_character_escape_token1] = ACTIONS(72), - [aux_sym_unicode_character_escape_token2] = ACTIONS(72), - [aux_sym_control_escape_token1] = ACTIONS(75), - [aux_sym_control_escape_token2] = ACTIONS(78), - [sym_control_letter_escape] = ACTIONS(39), - [sym_identity_escape] = ACTIONS(81), + [aux_sym_term_repeat1] = STATE(12), + [ts_builtin_sym_end] = ACTIONS(41), + [anon_sym_PIPE] = ACTIONS(41), + [sym_any_character] = ACTIONS(5), + [anon_sym_CARET] = ACTIONS(7), + [sym_end_assertion] = ACTIONS(5), + [sym_boundary_assertion] = ACTIONS(5), + [sym_non_boundary_assertion] = ACTIONS(5), + [anon_sym_LPAREN_QMARK] = ACTIONS(9), + [anon_sym_RPAREN] = ACTIONS(41), + [anon_sym_LPAREN_QMARK_LT] = ACTIONS(11), + [sym_pattern_character] = ACTIONS(5), + [anon_sym_LBRACK] = ACTIONS(13), + [anon_sym_LBRACK_COLON] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(17), + [anon_sym_LPAREN_QMARKP_LT] = ACTIONS(19), + [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(21), + [anon_sym_BSLASHk] = ACTIONS(23), + [anon_sym_LPAREN_QMARKP_EQ] = ACTIONS(25), + [sym_decimal_escape] = ACTIONS(5), + [aux_sym_character_class_escape_token1] = ACTIONS(27), + [aux_sym_character_class_escape_token2] = ACTIONS(29), + [aux_sym_unicode_character_escape_token1] = ACTIONS(31), + [aux_sym_unicode_character_escape_token2] = ACTIONS(31), + [aux_sym_control_escape_token1] = ACTIONS(33), + [aux_sym_control_escape_token2] = ACTIONS(35), + [sym_control_letter_escape] = ACTIONS(5), + [sym_identity_escape] = ACTIONS(37), }, [12] = { [sym_start_assertion] = STATE(13), @@ -1946,61 +2021,64 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(13), [sym_inline_flags_group] = STATE(13), [sym_backreference_escape] = STATE(13), + [sym_named_group_backreference] = STATE(13), [sym_character_class_escape] = STATE(13), - [sym_unicode_character_escape] = STATE(21), + [sym_unicode_character_escape] = STATE(14), [sym_control_escape] = STATE(13), - [aux_sym_term_repeat1] = STATE(11), - [ts_builtin_sym_end] = ACTIONS(84), - [anon_sym_PIPE] = ACTIONS(84), - [sym_any_character] = ACTIONS(5), - [anon_sym_CARET] = ACTIONS(7), - [sym_end_assertion] = ACTIONS(5), - [sym_boundary_assertion] = ACTIONS(5), - [sym_non_boundary_assertion] = ACTIONS(5), - [anon_sym_LPAREN_QMARK] = ACTIONS(9), - [anon_sym_RPAREN] = ACTIONS(84), - [anon_sym_LPAREN_QMARK_LT] = ACTIONS(11), - [sym_pattern_character] = ACTIONS(5), - [anon_sym_LBRACK] = ACTIONS(13), - [anon_sym_LBRACK_COLON] = ACTIONS(15), - [anon_sym_LPAREN] = ACTIONS(17), - [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(19), - [anon_sym_BSLASHk] = ACTIONS(21), - [sym_decimal_escape] = ACTIONS(5), - [aux_sym_character_class_escape_token1] = ACTIONS(23), - [aux_sym_character_class_escape_token2] = ACTIONS(25), - [aux_sym_unicode_character_escape_token1] = ACTIONS(27), - [aux_sym_unicode_character_escape_token2] = ACTIONS(27), - [aux_sym_control_escape_token1] = ACTIONS(29), - [aux_sym_control_escape_token2] = ACTIONS(31), - [sym_control_letter_escape] = ACTIONS(5), - [sym_identity_escape] = ACTIONS(33), + [aux_sym_term_repeat1] = STATE(12), + [ts_builtin_sym_end] = ACTIONS(43), + [anon_sym_PIPE] = ACTIONS(43), + [sym_any_character] = ACTIONS(45), + [anon_sym_CARET] = ACTIONS(48), + [sym_end_assertion] = ACTIONS(45), + [sym_boundary_assertion] = ACTIONS(45), + [sym_non_boundary_assertion] = ACTIONS(45), + [anon_sym_LPAREN_QMARK] = ACTIONS(51), + [anon_sym_RPAREN] = ACTIONS(43), + [anon_sym_LPAREN_QMARK_LT] = ACTIONS(54), + [sym_pattern_character] = ACTIONS(45), + [anon_sym_LBRACK] = ACTIONS(57), + [anon_sym_LBRACK_COLON] = ACTIONS(60), + [anon_sym_LPAREN] = ACTIONS(63), + [anon_sym_LPAREN_QMARKP_LT] = ACTIONS(66), + [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(69), + [anon_sym_BSLASHk] = ACTIONS(72), + [anon_sym_LPAREN_QMARKP_EQ] = ACTIONS(75), + [sym_decimal_escape] = ACTIONS(45), + [aux_sym_character_class_escape_token1] = ACTIONS(78), + [aux_sym_character_class_escape_token2] = ACTIONS(81), + [aux_sym_unicode_character_escape_token1] = ACTIONS(84), + [aux_sym_unicode_character_escape_token2] = ACTIONS(84), + [aux_sym_control_escape_token1] = ACTIONS(87), + [aux_sym_control_escape_token2] = ACTIONS(90), + [sym_control_letter_escape] = ACTIONS(45), + [sym_identity_escape] = ACTIONS(93), }, }; static const uint16_t ts_small_parse_table[] = { [0] = 7, - ACTIONS(90), 1, + ACTIONS(100), 1, anon_sym_STAR, - ACTIONS(92), 1, + ACTIONS(102), 1, anon_sym_QMARK, - ACTIONS(94), 1, + ACTIONS(104), 1, anon_sym_PLUS, - ACTIONS(96), 1, + ACTIONS(106), 1, anon_sym_LBRACE, - STATE(54), 4, + STATE(57), 4, sym_zero_or_more, sym_one_or_more, sym_optional, sym_count_quantifier, - ACTIONS(88), 6, + ACTIONS(98), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(86), 19, + ACTIONS(96), 21, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2011,8 +2089,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2020,15 +2100,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [48] = 2, - ACTIONS(100), 6, + [50] = 2, + ACTIONS(110), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(98), 23, + ACTIONS(108), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2039,12 +2119,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2052,15 +2134,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [82] = 2, - ACTIONS(104), 6, + [86] = 2, + ACTIONS(114), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(102), 23, + ACTIONS(112), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2071,12 +2153,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2084,15 +2168,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [116] = 2, - ACTIONS(108), 6, + [122] = 2, + ACTIONS(118), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(106), 23, + ACTIONS(116), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2103,12 +2187,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2116,15 +2202,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [150] = 2, - ACTIONS(112), 6, + [158] = 2, + ACTIONS(122), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(110), 23, + ACTIONS(120), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2135,12 +2221,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2148,15 +2236,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [184] = 2, - ACTIONS(116), 6, + [194] = 2, + ACTIONS(126), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(114), 23, + ACTIONS(124), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2167,12 +2255,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2180,15 +2270,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [218] = 2, - ACTIONS(120), 6, + [230] = 2, + ACTIONS(130), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(118), 23, + ACTIONS(128), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2199,12 +2289,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2212,15 +2304,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [252] = 2, - ACTIONS(124), 6, + [266] = 2, + ACTIONS(134), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(122), 23, + ACTIONS(132), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2231,12 +2323,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2244,15 +2338,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [286] = 2, - ACTIONS(128), 6, + [302] = 2, + ACTIONS(138), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(126), 23, + ACTIONS(136), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2263,12 +2357,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2276,15 +2372,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [320] = 2, - ACTIONS(132), 6, + [338] = 2, + ACTIONS(142), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(130), 23, + ACTIONS(140), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2295,12 +2391,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2308,15 +2406,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [354] = 2, - ACTIONS(136), 6, + [374] = 2, + ACTIONS(146), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(134), 23, + ACTIONS(144), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2327,12 +2425,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2340,15 +2440,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [388] = 2, - ACTIONS(140), 6, + [410] = 2, + ACTIONS(150), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(138), 23, + ACTIONS(148), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2359,12 +2459,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2372,15 +2474,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [422] = 2, - ACTIONS(144), 6, + [446] = 2, + ACTIONS(154), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(142), 23, + ACTIONS(152), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2391,12 +2493,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2404,15 +2508,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [456] = 2, - ACTIONS(148), 6, + [482] = 2, + ACTIONS(158), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(146), 23, + ACTIONS(156), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2423,12 +2527,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2436,15 +2542,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [490] = 2, - ACTIONS(152), 6, + [518] = 2, + ACTIONS(162), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(150), 23, + ACTIONS(160), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2455,12 +2561,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2468,15 +2576,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [524] = 2, - ACTIONS(156), 6, + [554] = 2, + ACTIONS(166), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(154), 23, + ACTIONS(164), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2487,12 +2595,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2500,15 +2610,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [558] = 2, - ACTIONS(160), 6, + [590] = 2, + ACTIONS(170), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(158), 23, + ACTIONS(168), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2519,12 +2629,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2532,15 +2644,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [592] = 2, - ACTIONS(164), 6, + [626] = 2, + ACTIONS(174), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(162), 23, + ACTIONS(172), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2551,12 +2663,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2564,15 +2678,49 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [626] = 2, - ACTIONS(168), 6, + [662] = 2, + ACTIONS(178), 6, + anon_sym_LPAREN_QMARK, + sym_pattern_character, + anon_sym_LBRACK, + anon_sym_LPAREN, + aux_sym_control_escape_token1, + sym_identity_escape, + ACTIONS(176), 25, + ts_builtin_sym_end, + anon_sym_PIPE, + sym_any_character, + anon_sym_CARET, + sym_end_assertion, + sym_boundary_assertion, + sym_non_boundary_assertion, + anon_sym_RPAREN, + anon_sym_LPAREN_QMARK_LT, + anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, + anon_sym_LPAREN_QMARK_COLON, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_PLUS, + anon_sym_LBRACE, + anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, + sym_decimal_escape, + aux_sym_character_class_escape_token1, + aux_sym_character_class_escape_token2, + aux_sym_unicode_character_escape_token1, + aux_sym_unicode_character_escape_token2, + aux_sym_control_escape_token2, + sym_control_letter_escape, + [698] = 2, + ACTIONS(182), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(166), 23, + ACTIONS(180), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2583,12 +2731,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2596,15 +2746,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [660] = 2, - ACTIONS(172), 6, + [734] = 2, + ACTIONS(186), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(170), 23, + ACTIONS(184), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2615,12 +2765,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2628,15 +2780,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [694] = 2, - ACTIONS(176), 6, + [770] = 2, + ACTIONS(190), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(174), 23, + ACTIONS(188), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2647,12 +2799,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2660,15 +2814,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [728] = 2, - ACTIONS(180), 6, + [806] = 2, + ACTIONS(194), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(178), 23, + ACTIONS(192), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2679,12 +2833,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2692,15 +2848,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [762] = 2, - ACTIONS(184), 6, + [842] = 2, + ACTIONS(198), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(182), 23, + ACTIONS(196), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2711,12 +2867,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2724,15 +2882,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [796] = 2, - ACTIONS(188), 6, + [878] = 2, + ACTIONS(202), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(186), 23, + ACTIONS(200), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2743,12 +2901,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2756,15 +2916,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [830] = 2, - ACTIONS(192), 6, + [914] = 2, + ACTIONS(206), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(190), 23, + ACTIONS(204), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2775,12 +2935,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2788,15 +2950,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [864] = 2, - ACTIONS(196), 6, + [950] = 2, + ACTIONS(210), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(194), 23, + ACTIONS(208), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2807,12 +2969,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2820,15 +2984,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [898] = 2, - ACTIONS(200), 6, + [986] = 2, + ACTIONS(214), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(198), 23, + ACTIONS(212), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2839,12 +3003,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2852,15 +3018,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [932] = 2, - ACTIONS(204), 6, + [1022] = 2, + ACTIONS(218), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(202), 23, + ACTIONS(216), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2871,12 +3037,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2884,15 +3052,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [966] = 2, - ACTIONS(208), 6, + [1058] = 2, + ACTIONS(222), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(206), 23, + ACTIONS(220), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2903,12 +3071,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2916,15 +3086,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1000] = 2, - ACTIONS(212), 6, + [1094] = 2, + ACTIONS(226), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(210), 23, + ACTIONS(224), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2935,12 +3105,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2948,15 +3120,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1034] = 2, - ACTIONS(216), 6, + [1130] = 2, + ACTIONS(230), 6, anon_sym_LPAREN_QMARK, sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(214), 23, + ACTIONS(228), 25, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2967,12 +3139,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_STAR, anon_sym_QMARK, anon_sym_PLUS, anon_sym_LBRACE, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -2980,16 +3154,16 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1068] = 3, - ACTIONS(222), 1, + [1166] = 3, + ACTIONS(236), 1, anon_sym_QMARK, - ACTIONS(220), 5, + ACTIONS(234), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(218), 20, + ACTIONS(232), 22, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -3001,8 +3175,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN_QMARK_LT, sym_pattern_character, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -3010,16 +3186,16 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1101] = 3, - ACTIONS(228), 1, + [1201] = 3, + ACTIONS(242), 1, anon_sym_QMARK, - ACTIONS(226), 5, + ACTIONS(240), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(224), 20, + ACTIONS(238), 22, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -3031,8 +3207,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN_QMARK_LT, sym_pattern_character, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -3040,16 +3218,16 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1134] = 3, - ACTIONS(234), 1, + [1236] = 3, + ACTIONS(248), 1, anon_sym_QMARK, - ACTIONS(232), 5, + ACTIONS(246), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(230), 20, + ACTIONS(244), 22, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -3061,8 +3239,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN_QMARK_LT, sym_pattern_character, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -3070,16 +3250,16 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1167] = 3, - ACTIONS(240), 1, + [1271] = 3, + ACTIONS(254), 1, anon_sym_QMARK, - ACTIONS(238), 5, + ACTIONS(252), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(236), 20, + ACTIONS(250), 22, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -3091,8 +3271,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN_QMARK_LT, sym_pattern_character, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -3100,16 +3282,16 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1200] = 3, - ACTIONS(246), 1, + [1306] = 3, + ACTIONS(260), 1, anon_sym_QMARK, - ACTIONS(244), 5, + ACTIONS(258), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(242), 20, + ACTIONS(256), 22, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -3121,8 +3303,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN_QMARK_LT, sym_pattern_character, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -3130,16 +3314,16 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1233] = 3, - ACTIONS(252), 1, + [1341] = 3, + ACTIONS(266), 1, anon_sym_QMARK, - ACTIONS(250), 5, + ACTIONS(264), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(248), 20, + ACTIONS(262), 22, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -3151,8 +3335,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN_QMARK_LT, sym_pattern_character, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -3160,14 +3346,14 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1266] = 2, - ACTIONS(256), 5, + [1376] = 2, + ACTIONS(270), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(254), 20, + ACTIONS(268), 22, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -3179,8 +3365,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN_QMARK_LT, sym_pattern_character, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -3188,14 +3376,14 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1296] = 2, - ACTIONS(260), 5, + [1408] = 2, + ACTIONS(274), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(258), 20, + ACTIONS(272), 22, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -3207,8 +3395,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN_QMARK_LT, sym_pattern_character, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -3216,14 +3406,14 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1326] = 2, - ACTIONS(264), 5, + [1440] = 2, + ACTIONS(278), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(262), 20, + ACTIONS(276), 22, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -3235,8 +3425,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN_QMARK_LT, sym_pattern_character, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -3244,14 +3436,14 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1356] = 2, - ACTIONS(268), 5, + [1472] = 2, + ACTIONS(282), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(266), 20, + ACTIONS(280), 22, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -3263,8 +3455,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN_QMARK_LT, sym_pattern_character, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -3272,14 +3466,14 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1386] = 2, - ACTIONS(270), 5, + [1504] = 2, + ACTIONS(286), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(37), 20, + ACTIONS(284), 22, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -3291,8 +3485,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN_QMARK_LT, sym_pattern_character, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -3300,14 +3496,14 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1416] = 2, - ACTIONS(274), 5, + [1536] = 2, + ACTIONS(290), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(272), 20, + ACTIONS(288), 22, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -3319,8 +3515,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN_QMARK_LT, sym_pattern_character, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -3328,14 +3526,14 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1446] = 2, - ACTIONS(278), 5, + [1568] = 2, + ACTIONS(292), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(276), 20, + ACTIONS(43), 22, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -3347,8 +3545,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN_QMARK_LT, sym_pattern_character, anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARKP_LT, anon_sym_LPAREN_QMARK_COLON, anon_sym_BSLASHk, + anon_sym_LPAREN_QMARKP_EQ, sym_decimal_escape, aux_sym_character_class_escape_token1, aux_sym_character_class_escape_token2, @@ -3356,324 +3556,324 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1476] = 13, - ACTIONS(280), 1, + [1600] = 13, + ACTIONS(294), 1, anon_sym_CARET, - ACTIONS(282), 1, + ACTIONS(296), 1, anon_sym_DASH, - ACTIONS(284), 1, + ACTIONS(298), 1, anon_sym_RBRACK, - ACTIONS(286), 1, + ACTIONS(300), 1, anon_sym_LBRACK_COLON, - ACTIONS(290), 1, + ACTIONS(304), 1, sym_class_character, - ACTIONS(292), 1, + ACTIONS(306), 1, aux_sym_character_class_escape_token1, - ACTIONS(294), 1, + ACTIONS(308), 1, aux_sym_character_class_escape_token2, STATE(74), 1, sym_unicode_character_escape, - ACTIONS(296), 2, + ACTIONS(310), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(298), 2, + ACTIONS(312), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(70), 2, + STATE(69), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(288), 3, + ACTIONS(302), 3, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - STATE(65), 3, + STATE(60), 3, sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - [1523] = 12, - ACTIONS(286), 1, + [1647] = 12, + ACTIONS(300), 1, anon_sym_LBRACK_COLON, - ACTIONS(290), 1, + ACTIONS(304), 1, sym_class_character, - ACTIONS(292), 1, + ACTIONS(306), 1, aux_sym_character_class_escape_token1, - ACTIONS(294), 1, + ACTIONS(308), 1, aux_sym_character_class_escape_token2, - ACTIONS(300), 1, + ACTIONS(314), 1, anon_sym_DASH, - ACTIONS(302), 1, + ACTIONS(316), 1, anon_sym_RBRACK, STATE(74), 1, sym_unicode_character_escape, - ACTIONS(296), 2, + ACTIONS(310), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(298), 2, + ACTIONS(312), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(70), 2, + STATE(69), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(304), 3, + ACTIONS(318), 3, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - STATE(60), 3, + STATE(61), 3, sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - [1567] = 12, - ACTIONS(286), 1, + [1691] = 12, + ACTIONS(300), 1, anon_sym_LBRACK_COLON, - ACTIONS(290), 1, + ACTIONS(304), 1, sym_class_character, - ACTIONS(292), 1, + ACTIONS(306), 1, aux_sym_character_class_escape_token1, - ACTIONS(294), 1, + ACTIONS(308), 1, aux_sym_character_class_escape_token2, - ACTIONS(306), 1, + ACTIONS(320), 1, anon_sym_DASH, - ACTIONS(308), 1, + ACTIONS(322), 1, anon_sym_RBRACK, STATE(74), 1, sym_unicode_character_escape, - ACTIONS(296), 2, + ACTIONS(310), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(298), 2, + ACTIONS(312), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(70), 2, + STATE(69), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(304), 3, + ACTIONS(318), 3, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - STATE(60), 3, + STATE(61), 3, sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - [1611] = 12, - ACTIONS(310), 1, + [1735] = 12, + ACTIONS(324), 1, anon_sym_DASH, - ACTIONS(313), 1, + ACTIONS(327), 1, anon_sym_RBRACK, - ACTIONS(315), 1, + ACTIONS(329), 1, anon_sym_LBRACK_COLON, - ACTIONS(321), 1, + ACTIONS(335), 1, sym_class_character, - ACTIONS(324), 1, + ACTIONS(338), 1, aux_sym_character_class_escape_token1, - ACTIONS(327), 1, + ACTIONS(341), 1, aux_sym_character_class_escape_token2, STATE(74), 1, sym_unicode_character_escape, - ACTIONS(330), 2, + ACTIONS(344), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(333), 2, + ACTIONS(347), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(70), 2, + STATE(69), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(318), 3, + ACTIONS(332), 3, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - STATE(60), 3, + STATE(61), 3, sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - [1655] = 12, - ACTIONS(286), 1, + [1779] = 12, + ACTIONS(300), 1, anon_sym_LBRACK_COLON, - ACTIONS(290), 1, + ACTIONS(304), 1, sym_class_character, - ACTIONS(292), 1, + ACTIONS(306), 1, aux_sym_character_class_escape_token1, - ACTIONS(294), 1, + ACTIONS(308), 1, aux_sym_character_class_escape_token2, - ACTIONS(336), 1, - anon_sym_DASH, - ACTIONS(338), 1, + ACTIONS(322), 1, anon_sym_RBRACK, + ACTIONS(350), 1, + anon_sym_DASH, STATE(74), 1, sym_unicode_character_escape, - ACTIONS(296), 2, + ACTIONS(310), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(298), 2, + ACTIONS(312), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(70), 2, + STATE(69), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(340), 3, + ACTIONS(352), 3, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - STATE(62), 3, + STATE(66), 3, sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - [1699] = 12, - ACTIONS(286), 1, + [1823] = 12, + ACTIONS(300), 1, anon_sym_LBRACK_COLON, - ACTIONS(290), 1, + ACTIONS(304), 1, sym_class_character, - ACTIONS(292), 1, + ACTIONS(306), 1, aux_sym_character_class_escape_token1, - ACTIONS(294), 1, + ACTIONS(308), 1, aux_sym_character_class_escape_token2, - ACTIONS(342), 1, + ACTIONS(354), 1, anon_sym_DASH, - ACTIONS(344), 1, + ACTIONS(356), 1, anon_sym_RBRACK, STATE(74), 1, sym_unicode_character_escape, - ACTIONS(296), 2, + ACTIONS(310), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(298), 2, + ACTIONS(312), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(70), 2, + STATE(69), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(304), 3, + ACTIONS(358), 3, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - STATE(60), 3, + STATE(65), 3, sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - [1743] = 12, - ACTIONS(286), 1, + [1867] = 12, + ACTIONS(300), 1, anon_sym_LBRACK_COLON, - ACTIONS(290), 1, + ACTIONS(304), 1, sym_class_character, - ACTIONS(292), 1, + ACTIONS(306), 1, aux_sym_character_class_escape_token1, - ACTIONS(294), 1, + ACTIONS(308), 1, aux_sym_character_class_escape_token2, - ACTIONS(346), 1, + ACTIONS(360), 1, anon_sym_DASH, - ACTIONS(348), 1, + ACTIONS(362), 1, anon_sym_RBRACK, STATE(74), 1, sym_unicode_character_escape, - ACTIONS(296), 2, + ACTIONS(310), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(298), 2, + ACTIONS(312), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(70), 2, + STATE(69), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(350), 3, + ACTIONS(364), 3, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - STATE(58), 3, + STATE(59), 3, sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - [1787] = 12, - ACTIONS(286), 1, + [1911] = 12, + ACTIONS(300), 1, anon_sym_LBRACK_COLON, - ACTIONS(290), 1, + ACTIONS(304), 1, sym_class_character, - ACTIONS(292), 1, + ACTIONS(306), 1, aux_sym_character_class_escape_token1, - ACTIONS(294), 1, + ACTIONS(308), 1, aux_sym_character_class_escape_token2, - ACTIONS(352), 1, + ACTIONS(366), 1, anon_sym_DASH, - ACTIONS(354), 1, + ACTIONS(368), 1, anon_sym_RBRACK, STATE(74), 1, sym_unicode_character_escape, - ACTIONS(296), 2, + ACTIONS(310), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(298), 2, + ACTIONS(312), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(70), 2, + STATE(69), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(356), 3, + ACTIONS(318), 3, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - STATE(59), 3, + STATE(61), 3, sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - [1831] = 12, - ACTIONS(286), 1, + [1955] = 12, + ACTIONS(300), 1, anon_sym_LBRACK_COLON, - ACTIONS(290), 1, + ACTIONS(304), 1, sym_class_character, - ACTIONS(292), 1, + ACTIONS(306), 1, aux_sym_character_class_escape_token1, - ACTIONS(294), 1, + ACTIONS(308), 1, aux_sym_character_class_escape_token2, - ACTIONS(348), 1, - anon_sym_RBRACK, - ACTIONS(358), 1, + ACTIONS(370), 1, anon_sym_DASH, + ACTIONS(372), 1, + anon_sym_RBRACK, STATE(74), 1, sym_unicode_character_escape, - ACTIONS(296), 2, + ACTIONS(310), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(298), 2, + ACTIONS(312), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(70), 2, + STATE(69), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(304), 3, + ACTIONS(318), 3, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - STATE(60), 3, + STATE(61), 3, sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - [1875] = 9, - ACTIONS(292), 1, + [1999] = 9, + ACTIONS(306), 1, aux_sym_character_class_escape_token1, - ACTIONS(294), 1, + ACTIONS(308), 1, aux_sym_character_class_escape_token2, - ACTIONS(360), 1, + ACTIONS(374), 1, anon_sym_DASH, - ACTIONS(364), 1, + ACTIONS(378), 1, sym_class_character, STATE(74), 1, sym_unicode_character_escape, - ACTIONS(296), 2, + ACTIONS(310), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(298), 2, + ACTIONS(312), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(67), 2, + STATE(68), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(362), 5, + ACTIONS(376), 5, anon_sym_RBRACK, anon_sym_LBRACK_COLON, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - [1910] = 1, - ACTIONS(366), 13, + [2034] = 1, + ACTIONS(380), 13, anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, @@ -3687,9 +3887,10 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [1926] = 1, - ACTIONS(368), 13, + [2050] = 2, + ACTIONS(382), 1, anon_sym_DASH, + ACTIONS(385), 12, anon_sym_RBRACK, anon_sym_LBRACK_COLON, anon_sym_BSLASH_DASH, @@ -3702,8 +3903,8 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [1942] = 1, - ACTIONS(370), 13, + [2068] = 1, + ACTIONS(387), 13, anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, @@ -3717,10 +3918,9 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [1958] = 2, - ACTIONS(372), 1, + [2084] = 1, + ACTIONS(389), 13, anon_sym_DASH, - ACTIONS(375), 12, anon_sym_RBRACK, anon_sym_LBRACK_COLON, anon_sym_BSLASH_DASH, @@ -3733,8 +3933,8 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [1976] = 1, - ACTIONS(184), 13, + [2100] = 1, + ACTIONS(162), 13, anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, @@ -3748,8 +3948,8 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [1992] = 1, - ACTIONS(362), 13, + [2116] = 1, + ACTIONS(376), 13, anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, @@ -3763,8 +3963,8 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [2008] = 1, - ACTIONS(216), 13, + [2132] = 1, + ACTIONS(110), 13, anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, @@ -3778,8 +3978,8 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [2024] = 1, - ACTIONS(128), 13, + [2148] = 1, + ACTIONS(114), 13, anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, @@ -3793,8 +3993,8 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [2040] = 1, - ACTIONS(132), 13, + [2164] = 1, + ACTIONS(142), 13, anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, @@ -3808,8 +4008,8 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [2056] = 1, - ACTIONS(176), 13, + [2180] = 1, + ACTIONS(190), 13, anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, @@ -3823,440 +4023,453 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [2072] = 9, - ACTIONS(292), 1, + [2196] = 9, + ACTIONS(306), 1, aux_sym_character_class_escape_token1, - ACTIONS(294), 1, + ACTIONS(308), 1, aux_sym_character_class_escape_token2, - ACTIONS(377), 1, + ACTIONS(391), 1, anon_sym_DASH, - ACTIONS(379), 1, + ACTIONS(393), 1, anon_sym_RBRACK, - ACTIONS(381), 1, + ACTIONS(395), 1, sym_class_character, STATE(74), 1, sym_unicode_character_escape, - ACTIONS(296), 2, + ACTIONS(310), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(298), 2, + ACTIONS(312), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(67), 2, + STATE(68), 2, sym_character_class_escape, sym_control_escape, - [2103] = 9, - ACTIONS(292), 1, + [2227] = 9, + ACTIONS(306), 1, aux_sym_character_class_escape_token1, - ACTIONS(294), 1, + ACTIONS(308), 1, aux_sym_character_class_escape_token2, - ACTIONS(377), 1, + ACTIONS(391), 1, anon_sym_DASH, - ACTIONS(381), 1, + ACTIONS(395), 1, sym_class_character, - ACTIONS(383), 1, + ACTIONS(397), 1, anon_sym_RBRACK, STATE(74), 1, sym_unicode_character_escape, - ACTIONS(296), 2, + ACTIONS(310), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(298), 2, + ACTIONS(312), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(67), 2, + STATE(68), 2, sym_character_class_escape, sym_control_escape, - [2134] = 8, - ACTIONS(292), 1, + [2258] = 8, + ACTIONS(306), 1, aux_sym_character_class_escape_token1, - ACTIONS(294), 1, + ACTIONS(308), 1, aux_sym_character_class_escape_token2, - ACTIONS(360), 1, + ACTIONS(399), 1, anon_sym_DASH, - ACTIONS(381), 1, + ACTIONS(401), 1, sym_class_character, STATE(74), 1, sym_unicode_character_escape, - ACTIONS(296), 2, + ACTIONS(310), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(298), 2, + ACTIONS(312), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(67), 2, + STATE(71), 2, sym_character_class_escape, sym_control_escape, - [2162] = 8, - ACTIONS(292), 1, + [2286] = 8, + ACTIONS(306), 1, aux_sym_character_class_escape_token1, - ACTIONS(294), 1, + ACTIONS(308), 1, aux_sym_character_class_escape_token2, - ACTIONS(385), 1, + ACTIONS(374), 1, anon_sym_DASH, - ACTIONS(387), 1, + ACTIONS(395), 1, sym_class_character, STATE(74), 1, sym_unicode_character_escape, - ACTIONS(296), 2, + ACTIONS(310), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(298), 2, + ACTIONS(312), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, STATE(68), 2, sym_character_class_escape, sym_control_escape, - [2190] = 4, - ACTIONS(391), 1, + [2314] = 4, + ACTIONS(405), 1, anon_sym_DASH, - ACTIONS(393), 1, + ACTIONS(407), 1, aux_sym_posix_class_name_token1, - STATE(86), 1, + STATE(87), 1, sym_flags, - ACTIONS(389), 2, + ACTIONS(403), 2, anon_sym_EQ, anon_sym_BANG, - [2204] = 3, - ACTIONS(3), 1, + [2328] = 3, + ACTIONS(411), 1, anon_sym_PIPE, - STATE(84), 1, + STATE(83), 1, aux_sym_alternation_repeat1, - ACTIONS(395), 2, + ACTIONS(409), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [2215] = 3, + [2339] = 3, ACTIONS(3), 1, anon_sym_PIPE, - STATE(84), 1, + STATE(83), 1, aux_sym_alternation_repeat1, - ACTIONS(397), 2, + ACTIONS(414), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [2226] = 3, - ACTIONS(401), 1, + [2350] = 3, + ACTIONS(3), 1, anon_sym_PIPE, STATE(84), 1, aux_sym_alternation_repeat1, - ACTIONS(399), 2, + ACTIONS(416), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [2237] = 3, + [2361] = 3, ACTIONS(3), 1, anon_sym_PIPE, - STATE(82), 1, + STATE(83), 1, aux_sym_alternation_repeat1, - ACTIONS(404), 2, + ACTIONS(418), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [2248] = 3, - ACTIONS(406), 1, - anon_sym_RPAREN, - ACTIONS(408), 1, - anon_sym_DASH, - ACTIONS(410), 1, - anon_sym_COLON, - [2258] = 1, - ACTIONS(412), 3, + [2372] = 3, + ACTIONS(420), 1, anon_sym_RPAREN, + ACTIONS(422), 1, anon_sym_DASH, + ACTIONS(424), 1, anon_sym_COLON, - [2264] = 2, - ACTIONS(416), 1, + [2382] = 2, + ACTIONS(428), 1, sym_group_name, - ACTIONS(414), 2, + ACTIONS(426), 2, anon_sym_EQ, anon_sym_BANG, - [2272] = 1, - ACTIONS(399), 3, + [2390] = 1, + ACTIONS(409), 3, ts_builtin_sym_end, anon_sym_PIPE, anon_sym_RPAREN, - [2278] = 2, - ACTIONS(418), 1, + [2396] = 1, + ACTIONS(430), 3, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_COLON, + [2402] = 1, + ACTIONS(416), 2, + ts_builtin_sym_end, + anon_sym_RPAREN, + [2407] = 2, + ACTIONS(432), 1, sym_unicode_property, - STATE(129), 1, + STATE(133), 1, sym_unicode_property_value_expression, - [2285] = 2, - ACTIONS(420), 1, - aux_sym_posix_class_name_token1, - STATE(128), 1, - sym_posix_class_name, - [2292] = 2, - ACTIONS(422), 1, + [2414] = 2, + ACTIONS(434), 1, anon_sym_DASH, - ACTIONS(424), 1, + ACTIONS(436), 1, anon_sym_RBRACK, - [2299] = 2, - ACTIONS(420), 1, + [2421] = 2, + ACTIONS(432), 1, + sym_unicode_property, + STATE(116), 1, + sym_unicode_property_value_expression, + [2428] = 2, + ACTIONS(434), 1, + anon_sym_DASH, + ACTIONS(438), 1, + anon_sym_RBRACK, + [2435] = 2, + ACTIONS(440), 1, aux_sym_posix_class_name_token1, - STATE(112), 1, + STATE(115), 1, sym_posix_class_name, - [2306] = 2, - ACTIONS(426), 1, - anon_sym_RBRACE, - ACTIONS(428), 1, - sym_decimal_digits, - [2313] = 2, - ACTIONS(393), 1, + [2442] = 2, + ACTIONS(407), 1, aux_sym_posix_class_name_token1, - STATE(98), 1, + STATE(104), 1, sym_flags, - [2320] = 2, - ACTIONS(430), 1, + [2449] = 2, + ACTIONS(442), 1, anon_sym_COMMA, - ACTIONS(432), 1, + ACTIONS(444), 1, sym_decimal_digits, - [2327] = 2, + [2456] = 2, ACTIONS(434), 1, - anon_sym_RPAREN, - ACTIONS(436), 1, - anon_sym_COLON, - [2334] = 2, - ACTIONS(438), 1, - anon_sym_RPAREN, - ACTIONS(440), 1, - anon_sym_COLON, - [2341] = 2, - ACTIONS(422), 1, - anon_sym_DASH, - ACTIONS(442), 1, - anon_sym_RBRACK, - [2348] = 2, - ACTIONS(422), 1, anon_sym_DASH, - ACTIONS(444), 1, - anon_sym_RBRACK, - [2355] = 2, ACTIONS(446), 1, - anon_sym_COMMA, + anon_sym_RBRACK, + [2463] = 2, ACTIONS(448), 1, - anon_sym_RBRACE, - [2362] = 2, - ACTIONS(418), 1, - sym_unicode_property, - STATE(131), 1, - sym_unicode_property_value_expression, - [2369] = 2, - ACTIONS(393), 1, - aux_sym_posix_class_name_token1, - STATE(97), 1, - sym_flags, - [2376] = 2, - ACTIONS(422), 1, - anon_sym_DASH, + anon_sym_EQ, ACTIONS(450), 1, - anon_sym_RBRACK, - [2383] = 2, + anon_sym_RBRACE, + [2470] = 2, ACTIONS(452), 1, - anon_sym_EQ, - ACTIONS(454), 1, anon_sym_RBRACE, - [2390] = 1, - ACTIONS(404), 2, - ts_builtin_sym_end, - anon_sym_RPAREN, - [2395] = 1, + ACTIONS(454), 1, + sym_decimal_digits, + [2477] = 2, ACTIONS(456), 1, - anon_sym_COLON_RBRACK, - [2399] = 1, + anon_sym_COMMA, ACTIONS(458), 1, - ts_builtin_sym_end, - [2403] = 1, + anon_sym_RBRACE, + [2484] = 2, ACTIONS(460), 1, - sym_decimal_digits, - [2407] = 1, + anon_sym_RPAREN, ACTIONS(462), 1, - sym_unicode_property, - [2411] = 1, + anon_sym_COLON, + [2491] = 2, ACTIONS(464), 1, anon_sym_RPAREN, - [2415] = 1, ACTIONS(466), 1, - anon_sym_COLON_RBRACK, - [2419] = 1, + anon_sym_COLON, + [2498] = 2, + ACTIONS(407), 1, + aux_sym_posix_class_name_token1, + STATE(103), 1, + sym_flags, + [2505] = 2, + ACTIONS(440), 1, + aux_sym_posix_class_name_token1, + STATE(132), 1, + sym_posix_class_name, + [2512] = 2, + ACTIONS(434), 1, + anon_sym_DASH, ACTIONS(468), 1, - anon_sym_RPAREN, - [2423] = 1, + anon_sym_RBRACK, + [2519] = 1, ACTIONS(470), 1, anon_sym_RPAREN, - [2427] = 1, + [2523] = 1, ACTIONS(472), 1, - anon_sym_RBRACE, - [2431] = 1, + anon_sym_RPAREN, + [2527] = 1, ACTIONS(474), 1, - anon_sym_GT, - [2435] = 1, - ACTIONS(426), 1, - anon_sym_RBRACE, - [2439] = 1, - ACTIONS(476), 1, anon_sym_RPAREN, - [2443] = 1, + [2531] = 1, + ACTIONS(476), 1, + anon_sym_LBRACE, + [2535] = 1, ACTIONS(478), 1, - anon_sym_RPAREN, - [2447] = 1, + anon_sym_GT, + [2539] = 1, ACTIONS(480), 1, sym_group_name, - [2451] = 1, - ACTIONS(422), 1, - anon_sym_DASH, - [2455] = 1, + [2543] = 1, ACTIONS(482), 1, - anon_sym_RBRACE, - [2459] = 1, + anon_sym_RPAREN, + [2547] = 1, ACTIONS(484), 1, - anon_sym_LBRACE, - [2463] = 1, + anon_sym_COLON_RBRACK, + [2551] = 1, ACTIONS(486), 1, - anon_sym_LT, - [2467] = 1, + anon_sym_RBRACE, + [2555] = 1, + ACTIONS(452), 1, + anon_sym_RBRACE, + [2559] = 1, + ACTIONS(434), 1, + anon_sym_DASH, + [2563] = 1, ACTIONS(488), 1, - anon_sym_RPAREN, - [2471] = 1, + anon_sym_RBRACE, + [2567] = 1, ACTIONS(490), 1, - anon_sym_GT, - [2475] = 1, - ACTIONS(438), 1, - anon_sym_RPAREN, - [2479] = 1, + sym_decimal_digits, + [2571] = 1, ACTIONS(492), 1, - anon_sym_COLON_RBRACK, - [2483] = 1, + anon_sym_GT, + [2575] = 1, ACTIONS(494), 1, - anon_sym_RBRACE, - [2487] = 1, + anon_sym_RPAREN, + [2579] = 1, ACTIONS(496), 1, anon_sym_RPAREN, - [2491] = 1, + [2583] = 1, ACTIONS(498), 1, - anon_sym_RBRACE, - [2495] = 1, + sym_group_name, + [2587] = 1, ACTIONS(500), 1, + sym_unicode_property, + [2591] = 1, + ACTIONS(460), 1, + anon_sym_RPAREN, + [2595] = 1, + ACTIONS(502), 1, + anon_sym_RPAREN, + [2599] = 1, + ACTIONS(504), 1, + anon_sym_RPAREN, + [2603] = 1, + ACTIONS(506), 1, + ts_builtin_sym_end, + [2607] = 1, + ACTIONS(508), 1, + anon_sym_LT, + [2611] = 1, + ACTIONS(510), 1, + anon_sym_COLON_RBRACK, + [2615] = 1, + ACTIONS(512), 1, + anon_sym_COLON_RBRACK, + [2619] = 1, + ACTIONS(514), 1, + anon_sym_RBRACE, + [2623] = 1, + ACTIONS(516), 1, + anon_sym_RBRACE, + [2627] = 1, + ACTIONS(428), 1, + sym_group_name, + [2631] = 1, + ACTIONS(518), 1, anon_sym_LBRACE, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(13)] = 0, - [SMALL_STATE(14)] = 48, - [SMALL_STATE(15)] = 82, - [SMALL_STATE(16)] = 116, - [SMALL_STATE(17)] = 150, - [SMALL_STATE(18)] = 184, - [SMALL_STATE(19)] = 218, - [SMALL_STATE(20)] = 252, - [SMALL_STATE(21)] = 286, - [SMALL_STATE(22)] = 320, - [SMALL_STATE(23)] = 354, - [SMALL_STATE(24)] = 388, - [SMALL_STATE(25)] = 422, - [SMALL_STATE(26)] = 456, - [SMALL_STATE(27)] = 490, - [SMALL_STATE(28)] = 524, - [SMALL_STATE(29)] = 558, - [SMALL_STATE(30)] = 592, - [SMALL_STATE(31)] = 626, - [SMALL_STATE(32)] = 660, - [SMALL_STATE(33)] = 694, - [SMALL_STATE(34)] = 728, - [SMALL_STATE(35)] = 762, - [SMALL_STATE(36)] = 796, - [SMALL_STATE(37)] = 830, - [SMALL_STATE(38)] = 864, - [SMALL_STATE(39)] = 898, - [SMALL_STATE(40)] = 932, - [SMALL_STATE(41)] = 966, - [SMALL_STATE(42)] = 1000, - [SMALL_STATE(43)] = 1034, - [SMALL_STATE(44)] = 1068, - [SMALL_STATE(45)] = 1101, - [SMALL_STATE(46)] = 1134, - [SMALL_STATE(47)] = 1167, - [SMALL_STATE(48)] = 1200, - [SMALL_STATE(49)] = 1233, - [SMALL_STATE(50)] = 1266, - [SMALL_STATE(51)] = 1296, - [SMALL_STATE(52)] = 1326, - [SMALL_STATE(53)] = 1356, - [SMALL_STATE(54)] = 1386, - [SMALL_STATE(55)] = 1416, - [SMALL_STATE(56)] = 1446, - [SMALL_STATE(57)] = 1476, - [SMALL_STATE(58)] = 1523, - [SMALL_STATE(59)] = 1567, - [SMALL_STATE(60)] = 1611, - [SMALL_STATE(61)] = 1655, - [SMALL_STATE(62)] = 1699, - [SMALL_STATE(63)] = 1743, - [SMALL_STATE(64)] = 1787, - [SMALL_STATE(65)] = 1831, - [SMALL_STATE(66)] = 1875, - [SMALL_STATE(67)] = 1910, - [SMALL_STATE(68)] = 1926, - [SMALL_STATE(69)] = 1942, - [SMALL_STATE(70)] = 1958, - [SMALL_STATE(71)] = 1976, - [SMALL_STATE(72)] = 1992, - [SMALL_STATE(73)] = 2008, - [SMALL_STATE(74)] = 2024, - [SMALL_STATE(75)] = 2040, - [SMALL_STATE(76)] = 2056, - [SMALL_STATE(77)] = 2072, - [SMALL_STATE(78)] = 2103, - [SMALL_STATE(79)] = 2134, - [SMALL_STATE(80)] = 2162, - [SMALL_STATE(81)] = 2190, - [SMALL_STATE(82)] = 2204, - [SMALL_STATE(83)] = 2215, - [SMALL_STATE(84)] = 2226, - [SMALL_STATE(85)] = 2237, - [SMALL_STATE(86)] = 2248, - [SMALL_STATE(87)] = 2258, - [SMALL_STATE(88)] = 2264, - [SMALL_STATE(89)] = 2272, - [SMALL_STATE(90)] = 2278, - [SMALL_STATE(91)] = 2285, - [SMALL_STATE(92)] = 2292, - [SMALL_STATE(93)] = 2299, - [SMALL_STATE(94)] = 2306, - [SMALL_STATE(95)] = 2313, - [SMALL_STATE(96)] = 2320, - [SMALL_STATE(97)] = 2327, - [SMALL_STATE(98)] = 2334, - [SMALL_STATE(99)] = 2341, - [SMALL_STATE(100)] = 2348, - [SMALL_STATE(101)] = 2355, - [SMALL_STATE(102)] = 2362, - [SMALL_STATE(103)] = 2369, - [SMALL_STATE(104)] = 2376, - [SMALL_STATE(105)] = 2383, - [SMALL_STATE(106)] = 2390, - [SMALL_STATE(107)] = 2395, - [SMALL_STATE(108)] = 2399, - [SMALL_STATE(109)] = 2403, - [SMALL_STATE(110)] = 2407, - [SMALL_STATE(111)] = 2411, - [SMALL_STATE(112)] = 2415, - [SMALL_STATE(113)] = 2419, - [SMALL_STATE(114)] = 2423, - [SMALL_STATE(115)] = 2427, - [SMALL_STATE(116)] = 2431, - [SMALL_STATE(117)] = 2435, - [SMALL_STATE(118)] = 2439, - [SMALL_STATE(119)] = 2443, - [SMALL_STATE(120)] = 2447, - [SMALL_STATE(121)] = 2451, - [SMALL_STATE(122)] = 2455, - [SMALL_STATE(123)] = 2459, - [SMALL_STATE(124)] = 2463, - [SMALL_STATE(125)] = 2467, - [SMALL_STATE(126)] = 2471, - [SMALL_STATE(127)] = 2475, - [SMALL_STATE(128)] = 2479, - [SMALL_STATE(129)] = 2483, - [SMALL_STATE(130)] = 2487, - [SMALL_STATE(131)] = 2491, - [SMALL_STATE(132)] = 2495, + [SMALL_STATE(14)] = 50, + [SMALL_STATE(15)] = 86, + [SMALL_STATE(16)] = 122, + [SMALL_STATE(17)] = 158, + [SMALL_STATE(18)] = 194, + [SMALL_STATE(19)] = 230, + [SMALL_STATE(20)] = 266, + [SMALL_STATE(21)] = 302, + [SMALL_STATE(22)] = 338, + [SMALL_STATE(23)] = 374, + [SMALL_STATE(24)] = 410, + [SMALL_STATE(25)] = 446, + [SMALL_STATE(26)] = 482, + [SMALL_STATE(27)] = 518, + [SMALL_STATE(28)] = 554, + [SMALL_STATE(29)] = 590, + [SMALL_STATE(30)] = 626, + [SMALL_STATE(31)] = 662, + [SMALL_STATE(32)] = 698, + [SMALL_STATE(33)] = 734, + [SMALL_STATE(34)] = 770, + [SMALL_STATE(35)] = 806, + [SMALL_STATE(36)] = 842, + [SMALL_STATE(37)] = 878, + [SMALL_STATE(38)] = 914, + [SMALL_STATE(39)] = 950, + [SMALL_STATE(40)] = 986, + [SMALL_STATE(41)] = 1022, + [SMALL_STATE(42)] = 1058, + [SMALL_STATE(43)] = 1094, + [SMALL_STATE(44)] = 1130, + [SMALL_STATE(45)] = 1166, + [SMALL_STATE(46)] = 1201, + [SMALL_STATE(47)] = 1236, + [SMALL_STATE(48)] = 1271, + [SMALL_STATE(49)] = 1306, + [SMALL_STATE(50)] = 1341, + [SMALL_STATE(51)] = 1376, + [SMALL_STATE(52)] = 1408, + [SMALL_STATE(53)] = 1440, + [SMALL_STATE(54)] = 1472, + [SMALL_STATE(55)] = 1504, + [SMALL_STATE(56)] = 1536, + [SMALL_STATE(57)] = 1568, + [SMALL_STATE(58)] = 1600, + [SMALL_STATE(59)] = 1647, + [SMALL_STATE(60)] = 1691, + [SMALL_STATE(61)] = 1735, + [SMALL_STATE(62)] = 1779, + [SMALL_STATE(63)] = 1823, + [SMALL_STATE(64)] = 1867, + [SMALL_STATE(65)] = 1911, + [SMALL_STATE(66)] = 1955, + [SMALL_STATE(67)] = 1999, + [SMALL_STATE(68)] = 2034, + [SMALL_STATE(69)] = 2050, + [SMALL_STATE(70)] = 2068, + [SMALL_STATE(71)] = 2084, + [SMALL_STATE(72)] = 2100, + [SMALL_STATE(73)] = 2116, + [SMALL_STATE(74)] = 2132, + [SMALL_STATE(75)] = 2148, + [SMALL_STATE(76)] = 2164, + [SMALL_STATE(77)] = 2180, + [SMALL_STATE(78)] = 2196, + [SMALL_STATE(79)] = 2227, + [SMALL_STATE(80)] = 2258, + [SMALL_STATE(81)] = 2286, + [SMALL_STATE(82)] = 2314, + [SMALL_STATE(83)] = 2328, + [SMALL_STATE(84)] = 2339, + [SMALL_STATE(85)] = 2350, + [SMALL_STATE(86)] = 2361, + [SMALL_STATE(87)] = 2372, + [SMALL_STATE(88)] = 2382, + [SMALL_STATE(89)] = 2390, + [SMALL_STATE(90)] = 2396, + [SMALL_STATE(91)] = 2402, + [SMALL_STATE(92)] = 2407, + [SMALL_STATE(93)] = 2414, + [SMALL_STATE(94)] = 2421, + [SMALL_STATE(95)] = 2428, + [SMALL_STATE(96)] = 2435, + [SMALL_STATE(97)] = 2442, + [SMALL_STATE(98)] = 2449, + [SMALL_STATE(99)] = 2456, + [SMALL_STATE(100)] = 2463, + [SMALL_STATE(101)] = 2470, + [SMALL_STATE(102)] = 2477, + [SMALL_STATE(103)] = 2484, + [SMALL_STATE(104)] = 2491, + [SMALL_STATE(105)] = 2498, + [SMALL_STATE(106)] = 2505, + [SMALL_STATE(107)] = 2512, + [SMALL_STATE(108)] = 2519, + [SMALL_STATE(109)] = 2523, + [SMALL_STATE(110)] = 2527, + [SMALL_STATE(111)] = 2531, + [SMALL_STATE(112)] = 2535, + [SMALL_STATE(113)] = 2539, + [SMALL_STATE(114)] = 2543, + [SMALL_STATE(115)] = 2547, + [SMALL_STATE(116)] = 2551, + [SMALL_STATE(117)] = 2555, + [SMALL_STATE(118)] = 2559, + [SMALL_STATE(119)] = 2563, + [SMALL_STATE(120)] = 2567, + [SMALL_STATE(121)] = 2571, + [SMALL_STATE(122)] = 2575, + [SMALL_STATE(123)] = 2579, + [SMALL_STATE(124)] = 2583, + [SMALL_STATE(125)] = 2587, + [SMALL_STATE(126)] = 2591, + [SMALL_STATE(127)] = 2595, + [SMALL_STATE(128)] = 2599, + [SMALL_STATE(129)] = 2603, + [SMALL_STATE(130)] = 2607, + [SMALL_STATE(131)] = 2611, + [SMALL_STATE(132)] = 2615, + [SMALL_STATE(133)] = 2619, + [SMALL_STATE(134)] = 2623, + [SMALL_STATE(135)] = 2627, + [SMALL_STATE(136)] = 2631, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -4264,241 +4477,249 @@ static const TSParseActionEntry ts_parse_actions[] = { [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), - [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_alternation_repeat1, 1, 0, 0), - [37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), - [39] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(13), - [42] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(18), - [45] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(81), - [48] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(88), - [51] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(57), - [54] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(93), - [57] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(3), - [60] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(4), - [63] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(124), - [66] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(21), - [69] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(123), - [72] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(35), - [75] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(43), - [78] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(43), - [81] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(13), - [84] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_term, 1, 0, 0), - [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 1, 0, 0), - [88] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 1, 0, 0), - [90] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [92] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [98] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 3, 0, 2), - [100] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 3, 0, 2), - [102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inline_flags_group, 7, 0, 0), - [104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inline_flags_group, 7, 0, 0), - [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lookaround_assertion, 1, 0, 0), - [108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lookaround_assertion, 1, 0, 0), - [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 2, 0, 0), - [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 2, 0, 0), - [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_assertion, 1, 0, 0), - [116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_assertion, 1, 0, 0), - [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inline_flags_group, 3, 0, 0), - [120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inline_flags_group, 3, 0, 0), - [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 3, 0, 0), - [124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 3, 0, 0), - [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class_escape, 1, 0, 0), - [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class_escape, 1, 0, 0), - [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_posix_character_class, 3, 0, 0), - [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_posix_character_class, 3, 0, 0), - [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_capturing_group, 3, 0, 0), - [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_capturing_group, 3, 0, 0), - [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_non_capturing_group, 3, 0, 0), - [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_non_capturing_group, 3, 0, 0), - [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lookahead_assertion, 4, 0, 0), - [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lookahead_assertion, 4, 0, 0), - [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inline_flags_group, 4, 0, 0), - [148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inline_flags_group, 4, 0, 0), - [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lookbehind_assertion, 4, 0, 0), - [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lookbehind_assertion, 4, 0, 0), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 4, 0, 3), - [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 4, 0, 3), - [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 4, 0, 0), - [160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 4, 0, 0), - [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 4, 0, 5), - [164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 4, 0, 5), - [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 4, 0, 2), - [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 4, 0, 2), - [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backreference_escape, 4, 0, 0), - [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backreference_escape, 4, 0, 0), - [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class_escape, 4, 0, 0), - [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class_escape, 4, 0, 0), - [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inline_flags_group, 5, 0, 0), - [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inline_flags_group, 5, 0, 0), - [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unicode_character_escape, 1, 0, 0), - [184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unicode_character_escape, 1, 0, 0), - [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_capturing_group, 5, 0, 0), - [188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_named_capturing_group, 5, 0, 0), - [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 5, 0, 8), - [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 5, 0, 8), - [194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 5, 0, 3), - [196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 5, 0, 3), - [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 5, 0, 9), - [200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 5, 0, 9), - [202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 5, 0, 10), - [204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 5, 0, 10), - [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inline_flags_group, 6, 0, 0), - [208] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inline_flags_group, 6, 0, 0), - [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 6, 0, 13), - [212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 6, 0, 13), - [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_control_escape, 1, 0, 0), - [216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_control_escape, 1, 0, 0), - [218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_zero_or_more, 1, 0, 0), - [220] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_zero_or_more, 1, 0, 0), - [222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional, 1, 0, 0), - [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional, 1, 0, 0), - [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_one_or_more, 1, 0, 0), - [232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_one_or_more, 1, 0, 0), - [234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 3, 0, 0), - [238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 3, 0, 0), - [240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 4, 0, 0), - [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 4, 0, 0), - [246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 5, 0, 0), - [250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 5, 0, 0), - [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_zero_or_more, 2, 0, 1), - [256] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_zero_or_more, 2, 0, 1), - [258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 6, 0, 14), - [260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 6, 0, 14), - [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_one_or_more, 2, 0, 1), - [264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_one_or_more, 2, 0, 1), - [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional, 2, 0, 1), - [268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional, 2, 0, 1), - [270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), - [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 4, 0, 7), - [274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 4, 0, 7), - [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 5, 0, 12), - [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 5, 0, 12), - [280] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), - [282] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), - [284] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), - [286] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), - [288] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), - [290] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), - [292] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), - [294] = {.entry = {.count = 1, .reusable = false}}, SHIFT(132), - [296] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), - [298] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), - [300] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), - [302] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), - [304] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), - [306] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), - [308] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), - [310] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(121), - [313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), - [315] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(91), - [318] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(60), - [321] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(70), - [324] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(74), - [327] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(132), - [330] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(71), - [333] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(73), - [336] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), - [338] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), - [340] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), - [342] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), - [344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), - [346] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), - [348] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), - [350] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), - [352] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), - [354] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14), - [356] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), - [358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100), - [360] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), - [362] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 4), - [364] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), - [366] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 6), - [368] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 0), - [370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 3), - [372] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 1, 0, 0), SHIFT(80), - [375] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 1, 0, 0), - [377] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), - [379] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), - [381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), - [385] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), - [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alternation, 2, 0, 0), - [397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alternation, 1, 0, 0), - [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_alternation_repeat1, 2, 0, 0), - [401] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_alternation_repeat1, 2, 0, 0), SHIFT_REPEAT(10), - [404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 1, 0, 0), - [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_flags, 1, 0, 0), - [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unicode_property_value_expression, 1, 0, 0), - [456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_posix_class_name, 1, 0, 0), - [458] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unicode_property_value_expression, 3, 0, 11), - [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), + [39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_alternation_repeat1, 1, 0, 0), + [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_term, 1, 0, 0), + [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), + [45] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(13), + [48] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(17), + [51] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(82), + [54] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(88), + [57] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(58), + [60] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(96), + [63] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(5), + [66] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(135), + [69] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(4), + [72] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(130), + [75] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(124), + [78] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(14), + [81] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(111), + [84] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(27), + [87] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(15), + [90] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(15), + [93] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(13), + [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 1, 0, 0), + [98] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 1, 0, 0), + [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class_escape, 1, 0, 0), + [110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class_escape, 1, 0, 0), + [112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_control_escape, 1, 0, 0), + [114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_control_escape, 1, 0, 0), + [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lookaround_assertion, 1, 0, 0), + [118] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lookaround_assertion, 1, 0, 0), + [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_assertion, 1, 0, 0), + [122] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_assertion, 1, 0, 0), + [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 2, 0, 0), + [126] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 2, 0, 0), + [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inline_flags_group, 3, 0, 0), + [130] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inline_flags_group, 3, 0, 0), + [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 3, 0, 0), + [134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 3, 0, 0), + [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 3, 0, 2), + [138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 3, 0, 2), + [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_posix_character_class, 3, 0, 0), + [142] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_posix_character_class, 3, 0, 0), + [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_capturing_group, 3, 0, 0), + [146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_capturing_group, 3, 0, 0), + [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_non_capturing_group, 3, 0, 0), + [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_non_capturing_group, 3, 0, 0), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_group_backreference, 3, 0, 0), + [154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_named_group_backreference, 3, 0, 0), + [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lookahead_assertion, 4, 0, 0), + [158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lookahead_assertion, 4, 0, 0), + [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unicode_character_escape, 1, 0, 0), + [162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unicode_character_escape, 1, 0, 0), + [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lookbehind_assertion, 4, 0, 0), + [166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lookbehind_assertion, 4, 0, 0), + [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 4, 0, 3), + [170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 4, 0, 3), + [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 4, 0, 0), + [174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 4, 0, 0), + [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 4, 0, 5), + [178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 4, 0, 5), + [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 4, 0, 2), + [182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 4, 0, 2), + [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backreference_escape, 4, 0, 0), + [186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backreference_escape, 4, 0, 0), + [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class_escape, 4, 0, 0), + [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class_escape, 4, 0, 0), + [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inline_flags_group, 5, 0, 0), + [194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inline_flags_group, 5, 0, 0), + [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_capturing_group, 5, 0, 0), + [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_named_capturing_group, 5, 0, 0), + [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 5, 0, 8), + [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 5, 0, 8), + [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 5, 0, 3), + [206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 5, 0, 3), + [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 5, 0, 9), + [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 5, 0, 9), + [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 5, 0, 10), + [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 5, 0, 10), + [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inline_flags_group, 6, 0, 0), + [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inline_flags_group, 6, 0, 0), + [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 6, 0, 13), + [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 6, 0, 13), + [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inline_flags_group, 7, 0, 0), + [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inline_flags_group, 7, 0, 0), + [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inline_flags_group, 4, 0, 0), + [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inline_flags_group, 4, 0, 0), + [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 5, 0, 0), + [234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 5, 0, 0), + [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional, 1, 0, 0), + [240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional, 1, 0, 0), + [242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_one_or_more, 1, 0, 0), + [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_one_or_more, 1, 0, 0), + [248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 3, 0, 0), + [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 3, 0, 0), + [254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 4, 0, 0), + [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 4, 0, 0), + [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_zero_or_more, 1, 0, 0), + [264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_zero_or_more, 1, 0, 0), + [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 5, 0, 12), + [270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 5, 0, 12), + [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 6, 0, 14), + [274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 6, 0, 14), + [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 4, 0, 7), + [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 4, 0, 7), + [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_zero_or_more, 2, 0, 1), + [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_zero_or_more, 2, 0, 1), + [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional, 2, 0, 1), + [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional, 2, 0, 1), + [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_one_or_more, 2, 0, 1), + [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_one_or_more, 2, 0, 1), + [292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), + [294] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), + [296] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), + [298] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), + [300] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), + [302] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), + [304] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), + [306] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), + [308] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), + [310] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), + [312] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), + [314] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), + [316] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), + [318] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), + [320] = {.entry = {.count = 1, .reusable = false}}, SHIFT(95), + [322] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), + [324] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(118), + [327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), + [329] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(106), + [332] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(61), + [335] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(69), + [338] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(74), + [341] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(136), + [344] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(72), + [347] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(75), + [350] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), + [352] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), + [354] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), + [356] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), + [358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), + [360] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), + [362] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), + [364] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), + [366] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), + [368] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), + [370] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), + [372] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), + [374] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), + [376] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 4), + [378] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), + [380] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 6), + [382] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 1, 0, 0), SHIFT(80), + [385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 1, 0, 0), + [387] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 3), + [389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 0), + [391] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), + [393] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), + [395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [397] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), + [399] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), + [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_alternation_repeat1, 2, 0, 0), + [411] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_alternation_repeat1, 2, 0, 0), SHIFT_REPEAT(10), + [414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alternation, 2, 0, 0), + [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 1, 0, 0), + [418] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alternation, 1, 0, 0), + [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_flags, 1, 0, 0), + [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [450] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unicode_property_value_expression, 1, 0, 0), + [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unicode_property_value_expression, 3, 0, 11), + [490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [506] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_posix_class_name, 1, 0, 0), + [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), }; #ifdef __cplusplus diff --git a/test/corpus/main.txt b/test/corpus/main.txt index cd8869e..cc3a870 100644 --- a/test/corpus/main.txt +++ b/test/corpus/main.txt @@ -456,10 +456,17 @@ hello (.*) named capturing groups ================================================================================ (?.*) +(?P.*) -------------------------------------------------------------------------------- (pattern (term + (named_capturing_group + (group_name) + (pattern + (term + (any_character) + (zero_or_more)))) (named_capturing_group (group_name) (pattern @@ -471,6 +478,7 @@ named capturing groups named capturing groups - backreferences ================================================================================ (?.*)\k +(?P.*)(?P=python) -------------------------------------------------------------------------------- (pattern @@ -482,6 +490,14 @@ named capturing groups - backreferences (any_character) (zero_or_more)))) (backreference_escape + (group_name)) + (named_capturing_group + (group_name) + (pattern + (term + (any_character) + (zero_or_more)))) + (named_group_backreference (group_name)))) ================================================================================