diff --git a/grammar.js b/grammar.js index 73ad9d5..2796f97 100644 --- a/grammar.js +++ b/grammar.js @@ -68,6 +68,7 @@ module.exports = grammar({ $.anonymous_capturing_group, $.named_capturing_group, $.non_capturing_group, + $.inline_flags_group, ), optional(choice( $.zero_or_more, @@ -153,6 +154,19 @@ module.exports = grammar({ non_capturing_group: $ => seq('(?:', $.pattern, ')'), + inline_flags_group: $ => seq( + '(?', + choice( + $.flags, + seq($.flags, '-', $.flags), + seq('-', $.flags), + ), + optional(seq(':', $.pattern)), + ')', + ), + + flags: _ => /[a-zA-Z]+/, + zero_or_more: quantifierRule(_ => '*'), one_or_more: quantifierRule(_ => '+'), optional: quantifierRule(_ => '?'), diff --git a/queries/highlights.scm b/queries/highlights.scm index 00efc59..191aa04 100644 --- a/queries/highlights.scm +++ b/queries/highlights.scm @@ -41,6 +41,12 @@ "," @punctuation.delimiter ]) +(inline_flags_group + "-"? @operator + ":"? @punctuation.delimiter) + +(flags) @character.special + (character_class [ "^" @operator diff --git a/src/grammar.json b/src/grammar.json index c236023..83a037f 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -127,6 +127,10 @@ { "type": "SYMBOL", "name": "non_capturing_group" + }, + { + "type": "SYMBOL", + "name": "inline_flags_group" } ] }, @@ -508,6 +512,83 @@ } ] }, + "inline_flags_group": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(?" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "flags" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "flags" + }, + { + "type": "STRING", + "value": "-" + }, + { + "type": "SYMBOL", + "name": "flags" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "SYMBOL", + "name": "flags" + } + ] + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "pattern" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "flags": { + "type": "PATTERN", + "value": "[a-zA-Z]+" + }, "zero_or_more": { "type": "SEQ", "members": [ diff --git a/src/node-types.json b/src/node-types.json index 83e1037..cb0126a 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -149,6 +149,30 @@ ] } }, + { + "type": "flags", + "named": true, + "fields": {} + }, + { + "type": "inline_flags_group", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "flags", + "named": true + }, + { + "type": "pattern", + "named": true + } + ] + } + }, { "type": "lookaround_assertion", "named": true, @@ -263,6 +287,11 @@ ] } }, + { + "type": "posix_class_name", + "named": true, + "fields": {} + }, { "type": "start_assertion", "named": true, @@ -324,6 +353,10 @@ "type": "identity_escape", "named": true }, + { + "type": "inline_flags_group", + "named": true + }, { "type": "lookaround_assertion", "named": true @@ -446,6 +479,10 @@ "type": "-", "named": false }, + { + "type": ":", + "named": false + }, { "type": ":]", "named": false @@ -534,10 +571,6 @@ "type": "pattern_character", "named": true }, - { - "type": "posix_class_name", - "named": true - }, { "type": "unicode_property_name", "named": true diff --git a/src/parser.c b/src/parser.c index ce828e2..9075074 100644 --- a/src/parser.c +++ b/src/parser.c @@ -5,14 +5,14 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 115 -#define LARGE_STATE_COUNT 10 -#define SYMBOL_COUNT 69 +#define STATE_COUNT 133 +#define LARGE_STATE_COUNT 13 +#define SYMBOL_COUNT 73 #define ALIAS_COUNT 2 -#define TOKEN_COUNT 44 +#define TOKEN_COUNT 45 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 0 -#define MAX_ALIAS_SEQUENCE_LENGTH 6 +#define MAX_ALIAS_SEQUENCE_LENGTH 7 #define PRODUCTION_ID_COUNT 15 enum ts_symbol_identifiers { @@ -33,59 +33,63 @@ enum ts_symbol_identifiers { anon_sym_RBRACK = 15, anon_sym_LBRACK_COLON = 16, anon_sym_COLON_RBRACK = 17, - sym_posix_class_name = 18, + aux_sym_posix_class_name_token1 = 18, 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_STAR = 24, - anon_sym_QMARK = 25, - anon_sym_PLUS = 26, - anon_sym_LBRACE = 27, - anon_sym_COMMA = 28, - anon_sym_RBRACE = 29, - anon_sym_BSLASHk = 30, - anon_sym_LT = 31, - sym_decimal_escape = 32, - aux_sym_character_class_escape_token1 = 33, - aux_sym_character_class_escape_token2 = 34, - aux_sym_unicode_character_escape_token1 = 35, - aux_sym_unicode_character_escape_token2 = 36, - sym_unicode_property = 37, - aux_sym_control_escape_token1 = 38, - aux_sym_control_escape_token2 = 39, - sym_control_letter_escape = 40, - sym_identity_escape = 41, - sym_group_name = 42, - sym_decimal_digits = 43, - sym_pattern = 44, - sym_alternation = 45, - sym_term = 46, - sym_start_assertion = 47, - sym_lookaround_assertion = 48, - sym__lookahead_assertion = 49, - sym__lookbehind_assertion = 50, - sym_character_class = 51, - sym_posix_character_class = 52, - sym_class_range = 53, - sym_anonymous_capturing_group = 54, - sym_named_capturing_group = 55, - sym_non_capturing_group = 56, - sym_zero_or_more = 57, - sym_one_or_more = 58, - sym_optional = 59, - sym_count_quantifier = 60, - sym_backreference_escape = 61, - sym_character_class_escape = 62, - sym_unicode_character_escape = 63, - sym_unicode_property_value_expression = 64, - sym_control_escape = 65, - aux_sym_alternation_repeat1 = 66, - aux_sym_term_repeat1 = 67, - aux_sym_character_class_repeat1 = 68, - alias_sym_lazy = 69, - alias_sym_unicode_property_name = 70, + 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, }; static const char * const ts_symbol_names[] = { @@ -107,12 +111,13 @@ static const char * const ts_symbol_names[] = { [anon_sym_RBRACK] = "]", [anon_sym_LBRACK_COLON] = "[:", [anon_sym_COLON_RBRACK] = ":]", - [sym_posix_class_name] = "posix_class_name", + [aux_sym_posix_class_name_token1] = "posix_class_name_token1", [anon_sym_BSLASH_DASH] = "identity_escape", [sym_class_character] = "class_character", [anon_sym_LPAREN] = "(", [anon_sym_GT] = ">", [anon_sym_LPAREN_QMARK_COLON] = "(\?:", + [anon_sym_COLON] = ":", [anon_sym_STAR] = "*", [anon_sym_QMARK] = "\?", [anon_sym_PLUS] = "+", @@ -142,10 +147,13 @@ static const char * const ts_symbol_names[] = { [sym__lookbehind_assertion] = "_lookbehind_assertion", [sym_character_class] = "character_class", [sym_posix_character_class] = "posix_character_class", + [sym_posix_class_name] = "posix_class_name", [sym_class_range] = "class_range", [sym_anonymous_capturing_group] = "anonymous_capturing_group", [sym_named_capturing_group] = "named_capturing_group", [sym_non_capturing_group] = "non_capturing_group", + [sym_inline_flags_group] = "inline_flags_group", + [sym_flags] = "flags", [sym_zero_or_more] = "zero_or_more", [sym_one_or_more] = "one_or_more", [sym_optional] = "optional", @@ -181,12 +189,13 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_RBRACK] = anon_sym_RBRACK, [anon_sym_LBRACK_COLON] = anon_sym_LBRACK_COLON, [anon_sym_COLON_RBRACK] = anon_sym_COLON_RBRACK, - [sym_posix_class_name] = sym_posix_class_name, + [aux_sym_posix_class_name_token1] = aux_sym_posix_class_name_token1, [anon_sym_BSLASH_DASH] = sym_identity_escape, [sym_class_character] = sym_class_character, [anon_sym_LPAREN] = anon_sym_LPAREN, [anon_sym_GT] = anon_sym_GT, [anon_sym_LPAREN_QMARK_COLON] = anon_sym_LPAREN_QMARK_COLON, + [anon_sym_COLON] = anon_sym_COLON, [anon_sym_STAR] = anon_sym_STAR, [anon_sym_QMARK] = anon_sym_QMARK, [anon_sym_PLUS] = anon_sym_PLUS, @@ -216,10 +225,13 @@ static const TSSymbol ts_symbol_map[] = { [sym__lookbehind_assertion] = sym__lookbehind_assertion, [sym_character_class] = sym_character_class, [sym_posix_character_class] = sym_posix_character_class, + [sym_posix_class_name] = sym_posix_class_name, [sym_class_range] = sym_class_range, [sym_anonymous_capturing_group] = sym_anonymous_capturing_group, [sym_named_capturing_group] = sym_named_capturing_group, [sym_non_capturing_group] = sym_non_capturing_group, + [sym_inline_flags_group] = sym_inline_flags_group, + [sym_flags] = sym_flags, [sym_zero_or_more] = sym_zero_or_more, [sym_one_or_more] = sym_one_or_more, [sym_optional] = sym_optional, @@ -309,9 +321,9 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [sym_posix_class_name] = { - .visible = true, - .named = true, + [aux_sym_posix_class_name_token1] = { + .visible = false, + .named = false, }, [anon_sym_BSLASH_DASH] = { .visible = true, @@ -333,6 +345,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_COLON] = { + .visible = true, + .named = false, + }, [anon_sym_STAR] = { .visible = true, .named = false, @@ -449,6 +465,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_posix_class_name] = { + .visible = true, + .named = true, + }, [sym_class_range] = { .visible = true, .named = true, @@ -465,6 +485,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_inline_flags_group] = { + .visible = true, + .named = true, + }, + [sym_flags] = { + .visible = true, + .named = true, + }, [sym_zero_or_more] = { .visible = true, .named = true, @@ -638,24 +666,24 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [56] = 56, [57] = 57, [58] = 58, - [59] = 29, + [59] = 59, [60] = 60, [61] = 61, [62] = 62, [63] = 63, [64] = 64, - [65] = 14, - [66] = 13, - [67] = 35, - [68] = 19, + [65] = 65, + [66] = 66, + [67] = 67, + [68] = 68, [69] = 69, [70] = 70, - [71] = 71, + [71] = 35, [72] = 72, - [73] = 73, - [74] = 74, - [75] = 75, - [76] = 76, + [73] = 43, + [74] = 21, + [75] = 22, + [76] = 33, [77] = 77, [78] = 78, [79] = 79, @@ -669,10 +697,10 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [87] = 87, [88] = 88, [89] = 89, - [90] = 84, + [90] = 90, [91] = 91, [92] = 92, - [93] = 93, + [93] = 91, [94] = 94, [95] = 95, [96] = 96, @@ -681,7 +709,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [99] = 99, [100] = 100, [101] = 101, - [102] = 102, + [102] = 90, [103] = 103, [104] = 104, [105] = 105, @@ -689,11 +717,29 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [107] = 107, [108] = 108, [109] = 109, - [110] = 103, - [111] = 106, - [112] = 94, + [110] = 110, + [111] = 111, + [112] = 112, [113] = 113, - [114] = 105, + [114] = 114, + [115] = 115, + [116] = 116, + [117] = 117, + [118] = 118, + [119] = 119, + [120] = 120, + [121] = 121, + [122] = 122, + [123] = 123, + [124] = 124, + [125] = 125, + [126] = 126, + [127] = 127, + [128] = 112, + [129] = 129, + [130] = 130, + [131] = 129, + [132] = 123, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -706,53 +752,53 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '\r') SKIP(28); if (lookahead == '!') ADVANCE(42); if (lookahead == '$') ADVANCE(37); - if (lookahead == '(') ADVANCE(59); + if (lookahead == '(') ADVANCE(58); if (lookahead == ')') ADVANCE(43); - if (lookahead == '*') ADVANCE(62); - if (lookahead == '+') ADVANCE(64); - if (lookahead == ',') ADVANCE(66); - if (lookahead == '-') ADVANCE(48); + if (lookahead == '*') ADVANCE(63); + if (lookahead == '+') ADVANCE(65); + if (lookahead == ',') ADVANCE(67); + if (lookahead == '-') ADVANCE(47); if (lookahead == '.') ADVANCE(35); - if (lookahead == ':') ADVANCE(46); - if (lookahead == '<') ADVANCE(69); + if (lookahead == ':') ADVANCE(62); + if (lookahead == '<') ADVANCE(70); if (lookahead == '=') ADVANCE(41); - if (lookahead == '>') ADVANCE(60); - if (lookahead == '?') ADVANCE(63); - if (lookahead == '[') ADVANCE(47); + if (lookahead == '>') ADVANCE(59); + if (lookahead == '?') ADVANCE(64); + if (lookahead == '[') ADVANCE(46); if (lookahead == '\\') ADVANCE(10); - if (lookahead == ']') ADVANCE(49); + if (lookahead == ']') ADVANCE(48); if (lookahead == '^') ADVANCE(36); - if (lookahead == '{') ADVANCE(65); + if (lookahead == '{') ADVANCE(66); if (lookahead == '|') ADVANCE(34); - if (lookahead == '}') ADVANCE(67); + if (lookahead == '}') ADVANCE(68); if (lookahead != 0) ADVANCE(45); END_STATE(); case 1: - if (lookahead == '\n') ADVANCE(55); - if (lookahead == '\r') ADVANCE(54); - if (lookahead == '-') ADVANCE(48); - if (lookahead == '[') ADVANCE(58); + if (lookahead == '\n') ADVANCE(54); + if (lookahead == '\r') ADVANCE(53); + if (lookahead == '-') ADVANCE(47); + if (lookahead == '[') ADVANCE(57); if (lookahead == '\\') ADVANCE(11); - if (lookahead == ']') ADVANCE(49); + if (lookahead == ']') ADVANCE(48); if (lookahead == '^') ADVANCE(36); - if (lookahead != 0) ADVANCE(54); + if (lookahead != 0) ADVANCE(53); END_STATE(); case 2: - if (lookahead == '\n') ADVANCE(56); - if (lookahead == '\r') ADVANCE(54); - if (lookahead == '-') ADVANCE(48); - if (lookahead == '[') ADVANCE(58); + if (lookahead == '\n') ADVANCE(55); + if (lookahead == '\r') ADVANCE(53); + if (lookahead == '-') ADVANCE(47); + if (lookahead == '[') ADVANCE(57); if (lookahead == '\\') ADVANCE(11); - if (lookahead == ']') ADVANCE(49); - if (lookahead != 0) ADVANCE(54); + if (lookahead == ']') ADVANCE(48); + if (lookahead != 0) ADVANCE(53); END_STATE(); case 3: - if (lookahead == '\n') ADVANCE(57); - if (lookahead == '\r') ADVANCE(54); - if (lookahead == '-') ADVANCE(48); + if (lookahead == '\n') ADVANCE(56); + if (lookahead == '\r') ADVANCE(53); + if (lookahead == '-') ADVANCE(47); if (lookahead == '\\') ADVANCE(14); - if (lookahead == ']') ADVANCE(49); - if (lookahead != 0) ADVANCE(54); + if (lookahead == ']') ADVANCE(48); + if (lookahead != 0) ADVANCE(53); END_STATE(); case 4: if (lookahead == '\n') SKIP(5); @@ -761,18 +807,18 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '\n') SKIP(5); if (lookahead == '\r') SKIP(4); if (lookahead == '!') ADVANCE(42); - if (lookahead == ',') ADVANCE(66); - if (lookahead == '-') ADVANCE(48); - if (lookahead == ':') ADVANCE(13); - if (lookahead == '<') ADVANCE(69); + 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(60); - if (lookahead == ']') ADVANCE(49); - if (lookahead == '}') ADVANCE(67); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(84); + if (lookahead == '>') ADVANCE(59); + if (lookahead == ']') ADVANCE(48); + if (lookahead == '}') ADVANCE(68); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(85); if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(83); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(51); END_STATE(); case 6: if (lookahead == '\n') SKIP(7); @@ -780,10 +826,12 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 7: if (lookahead == '\n') SKIP(7); if (lookahead == '\r') SKIP(6); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || + if (lookahead == '!') ADVANCE(42); + if (lookahead == ':') ADVANCE(13); + if (lookahead == '=') ADVANCE(41); + if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(75); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); END_STATE(); case 8: if (lookahead == '\n') SKIP(9); @@ -791,110 +839,112 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 9: if (lookahead == '\n') SKIP(9); if (lookahead == '\r') SKIP(8); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(76); END_STATE(); case 10: ADVANCE_MAP( - '-', 53, + '-', 52, 'B', 39, 'b', 38, - 'c', 82, - 'k', 68, - 'u', 80, - 'x', 81, - 'P', 72, - 'p', 72, - '0', 76, - 'f', 76, - 'n', 76, - 'r', 76, - 't', 76, - 'v', 76, - 'D', 71, - 'S', 71, - 'W', 71, - 'd', 71, - 's', 71, - 'w', 71, + '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(70); - if (lookahead != 0) ADVANCE(79); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(71); + if (lookahead != 0) ADVANCE(80); END_STATE(); case 11: ADVANCE_MAP( - '-', 53, - 'c', 82, - 'u', 80, - 'x', 81, - 'P', 72, - 'p', 72, - 'D', 71, - 'S', 71, - 'W', 71, - 'd', 71, - 's', 71, - 'w', 71, - '0', 76, - 'b', 76, - 'f', 76, - 'n', 76, - 'r', 76, - 't', 76, - 'v', 76, + '-', 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, ); if (lookahead != 0 && (lookahead < '0' || '9' < lookahead) && - lookahead != 'k') ADVANCE(79); + lookahead != 'k') ADVANCE(80); END_STATE(); case 12: ADVANCE_MAP( 'B', 39, 'b', 38, - 'c', 82, - 'k', 68, - 'u', 80, - 'x', 81, - 'P', 72, - 'p', 72, - '0', 76, - 'f', 76, - 'n', 76, - 'r', 76, - 't', 76, - 'v', 76, - 'D', 71, - 'S', 71, - 'W', 71, - 'd', 71, - 's', 71, - 'w', 71, + '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(70); - if (lookahead != 0) ADVANCE(79); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(71); + if (lookahead != 0) ADVANCE(80); END_STATE(); case 13: - if (lookahead == ']') ADVANCE(51); + if (lookahead == ']') ADVANCE(50); END_STATE(); case 14: ADVANCE_MAP( 'u', 15, 'x', 25, - 'P', 72, - 'p', 72, - 'D', 71, - 'S', 71, - 'W', 71, - 'd', 71, - 's', 71, - 'w', 71, - '0', 76, - 'b', 76, - 'f', 76, - 'n', 76, - 'r', 76, - 't', 76, - 'v', 76, + '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, ); END_STATE(); case 15: @@ -904,34 +954,34 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ('a' <= lookahead && lookahead <= 'f')) ADVANCE(27); END_STATE(); case 16: - if (lookahead == '}') ADVANCE(74); + if (lookahead == '}') ADVANCE(75); END_STATE(); case 17: - if (lookahead == '}') ADVANCE(74); + if (lookahead == '}') ADVANCE(75); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(16); END_STATE(); case 18: - if (lookahead == '}') ADVANCE(74); + if (lookahead == '}') ADVANCE(75); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(17); END_STATE(); case 19: - if (lookahead == '}') ADVANCE(74); + if (lookahead == '}') ADVANCE(75); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(18); END_STATE(); case 20: - if (lookahead == '}') ADVANCE(74); + if (lookahead == '}') ADVANCE(75); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(19); END_STATE(); case 21: - if (lookahead == '}') ADVANCE(74); + if (lookahead == '}') ADVANCE(75); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(20); @@ -944,12 +994,12 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 23: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(77); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(78); END_STATE(); case 24: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(73); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(74); END_STATE(); case 25: if (('0' <= lookahead && lookahead <= '9') || @@ -979,11 +1029,11 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '\n') SKIP(30); if (lookahead == '\r') SKIP(29); if (lookahead == '$') ADVANCE(37); - if (lookahead == '(') ADVANCE(59); + if (lookahead == '(') ADVANCE(58); if (lookahead == ')') ADVANCE(43); if (lookahead == '.') ADVANCE(35); - if (lookahead == '?') ADVANCE(63); - if (lookahead == '[') ADVANCE(47); + if (lookahead == '?') ADVANCE(64); + if (lookahead == '[') ADVANCE(46); if (lookahead == '\\') ADVANCE(12); if (lookahead == '^') ADVANCE(36); if (lookahead == '|') ADVANCE(34); @@ -1000,16 +1050,16 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '\n') SKIP(32); if (lookahead == '\r') SKIP(31); if (lookahead == '$') ADVANCE(37); - if (lookahead == '(') ADVANCE(59); + if (lookahead == '(') ADVANCE(58); if (lookahead == ')') ADVANCE(43); - if (lookahead == '*') ADVANCE(62); - if (lookahead == '+') ADVANCE(64); + if (lookahead == '*') ADVANCE(63); + if (lookahead == '+') ADVANCE(65); if (lookahead == '.') ADVANCE(35); - if (lookahead == '?') ADVANCE(63); - if (lookahead == '[') ADVANCE(47); + if (lookahead == '?') ADVANCE(64); + if (lookahead == '[') ADVANCE(46); if (lookahead == '\\') ADVANCE(12); if (lookahead == '^') ADVANCE(36); - if (lookahead == '{') ADVANCE(65); + if (lookahead == '{') ADVANCE(66); if (lookahead == '|') ADVANCE(34); if (lookahead != 0 && (lookahead < '[' || '^' < lookahead)) ADVANCE(45); @@ -1037,7 +1087,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 40: ACCEPT_TOKEN(anon_sym_LPAREN_QMARK); - if (lookahead == ':') ADVANCE(61); + if (lookahead == ':') ADVANCE(60); if (lookahead == '<') ADVANCE(44); END_STATE(); case 41: @@ -1056,165 +1106,168 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ACCEPT_TOKEN(sym_pattern_character); END_STATE(); case 46: - ACCEPT_TOKEN(sym_pattern_character); - if (lookahead == ']') ADVANCE(51); + ACCEPT_TOKEN(anon_sym_LBRACK); + if (lookahead == ':') ADVANCE(49); END_STATE(); case 47: - ACCEPT_TOKEN(anon_sym_LBRACK); - if (lookahead == ':') ADVANCE(50); + ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); case 48: - ACCEPT_TOKEN(anon_sym_DASH); + ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); case 49: - ACCEPT_TOKEN(anon_sym_RBRACK); + ACCEPT_TOKEN(anon_sym_LBRACK_COLON); END_STATE(); case 50: - ACCEPT_TOKEN(anon_sym_LBRACK_COLON); + ACCEPT_TOKEN(anon_sym_COLON_RBRACK); END_STATE(); case 51: - ACCEPT_TOKEN(anon_sym_COLON_RBRACK); + ACCEPT_TOKEN(aux_sym_posix_class_name_token1); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(51); END_STATE(); case 52: - ACCEPT_TOKEN(sym_posix_class_name); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52); + ACCEPT_TOKEN(anon_sym_BSLASH_DASH); END_STATE(); case 53: - ACCEPT_TOKEN(anon_sym_BSLASH_DASH); + ACCEPT_TOKEN(sym_class_character); 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(54); - if (lookahead == '[') ADVANCE(58); - if (lookahead == '^') ADVANCE(36); + if (lookahead == '\r') ADVANCE(53); + if (lookahead == '[') ADVANCE(57); if (lookahead != 0 && lookahead != '-' && - (lookahead < '[' || '^' < lookahead)) ADVANCE(54); + (lookahead < '[' || ']' < lookahead)) ADVANCE(53); END_STATE(); case 56: ACCEPT_TOKEN(sym_class_character); if (lookahead == '\n') ADVANCE(56); - if (lookahead == '\r') ADVANCE(54); - if (lookahead == '[') ADVANCE(58); + if (lookahead == '\r') ADVANCE(53); if (lookahead != 0 && lookahead != '-' && - (lookahead < '[' || ']' < lookahead)) ADVANCE(54); + lookahead != '\\' && + lookahead != ']') ADVANCE(53); END_STATE(); case 57: ACCEPT_TOKEN(sym_class_character); - if (lookahead == '\n') ADVANCE(57); - if (lookahead == '\r') ADVANCE(54); - if (lookahead != 0 && - lookahead != '-' && - lookahead != '\\' && - lookahead != ']') ADVANCE(54); + if (lookahead == ':') ADVANCE(49); END_STATE(); case 58: - ACCEPT_TOKEN(sym_class_character); - if (lookahead == ':') ADVANCE(50); - END_STATE(); - case 59: ACCEPT_TOKEN(anon_sym_LPAREN); if (lookahead == '?') ADVANCE(40); END_STATE(); - case 60: + case 59: ACCEPT_TOKEN(anon_sym_GT); END_STATE(); - case 61: + case 60: ACCEPT_TOKEN(anon_sym_LPAREN_QMARK_COLON); END_STATE(); + case 61: + ACCEPT_TOKEN(anon_sym_COLON); + END_STATE(); case 62: - ACCEPT_TOKEN(anon_sym_STAR); + ACCEPT_TOKEN(anon_sym_COLON); + if (lookahead == ']') ADVANCE(50); END_STATE(); case 63: - ACCEPT_TOKEN(anon_sym_QMARK); + ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); case 64: - ACCEPT_TOKEN(anon_sym_PLUS); + ACCEPT_TOKEN(anon_sym_QMARK); END_STATE(); case 65: - ACCEPT_TOKEN(anon_sym_LBRACE); + ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); case 66: - ACCEPT_TOKEN(anon_sym_COMMA); + ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 67: - ACCEPT_TOKEN(anon_sym_RBRACE); + ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 68: - ACCEPT_TOKEN(anon_sym_BSLASHk); + ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 69: - ACCEPT_TOKEN(anon_sym_LT); + ACCEPT_TOKEN(anon_sym_BSLASHk); END_STATE(); case 70: - ACCEPT_TOKEN(sym_decimal_escape); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(70); + ACCEPT_TOKEN(anon_sym_LT); END_STATE(); case 71: - ACCEPT_TOKEN(aux_sym_character_class_escape_token1); + ACCEPT_TOKEN(sym_decimal_escape); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(71); END_STATE(); case 72: - ACCEPT_TOKEN(aux_sym_character_class_escape_token2); + ACCEPT_TOKEN(aux_sym_character_class_escape_token1); END_STATE(); case 73: - ACCEPT_TOKEN(aux_sym_unicode_character_escape_token1); + ACCEPT_TOKEN(aux_sym_character_class_escape_token2); END_STATE(); case 74: - ACCEPT_TOKEN(aux_sym_unicode_character_escape_token2); + ACCEPT_TOKEN(aux_sym_unicode_character_escape_token1); END_STATE(); case 75: + ACCEPT_TOKEN(aux_sym_unicode_character_escape_token2); + END_STATE(); + case 76: ACCEPT_TOKEN(sym_unicode_property); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(75); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(76); END_STATE(); - case 76: + case 77: ACCEPT_TOKEN(aux_sym_control_escape_token1); END_STATE(); - case 77: + case 78: ACCEPT_TOKEN(aux_sym_control_escape_token2); END_STATE(); - case 78: + case 79: ACCEPT_TOKEN(sym_control_letter_escape); END_STATE(); - case 79: + case 80: ACCEPT_TOKEN(sym_identity_escape); END_STATE(); - case 80: + case 81: ACCEPT_TOKEN(sym_identity_escape); if (lookahead == '{') ADVANCE(22); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(27); END_STATE(); - case 81: + case 82: ACCEPT_TOKEN(sym_identity_escape); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(23); END_STATE(); - case 82: + case 83: ACCEPT_TOKEN(sym_identity_escape); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(78); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(79); END_STATE(); - case 83: + case 84: ACCEPT_TOKEN(sym_group_name); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(83); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(84); END_STATE(); - case 84: + case 85: ACCEPT_TOKEN(sym_decimal_digits); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(84); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(85); END_STATE(); default: return false; @@ -1232,9 +1285,9 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [7] = {.lex_state = 30}, [8] = {.lex_state = 30}, [9] = {.lex_state = 30}, - [10] = {.lex_state = 32}, - [11] = {.lex_state = 32}, - [12] = {.lex_state = 32}, + [10] = {.lex_state = 30}, + [11] = {.lex_state = 30}, + [12] = {.lex_state = 30}, [13] = {.lex_state = 32}, [14] = {.lex_state = 32}, [15] = {.lex_state = 32}, @@ -1258,28 +1311,28 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [33] = {.lex_state = 32}, [34] = {.lex_state = 32}, [35] = {.lex_state = 32}, - [36] = {.lex_state = 30}, - [37] = {.lex_state = 30}, - [38] = {.lex_state = 30}, - [39] = {.lex_state = 30}, - [40] = {.lex_state = 30}, - [41] = {.lex_state = 30}, - [42] = {.lex_state = 30}, - [43] = {.lex_state = 30}, + [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 = 1}, - [50] = {.lex_state = 2}, - [51] = {.lex_state = 2}, - [52] = {.lex_state = 2}, - [53] = {.lex_state = 2}, - [54] = {.lex_state = 2}, - [55] = {.lex_state = 2}, - [56] = {.lex_state = 2}, - [57] = {.lex_state = 2}, + [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}, [59] = {.lex_state = 2}, [60] = {.lex_state = 2}, @@ -1291,52 +1344,70 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [66] = {.lex_state = 2}, [67] = {.lex_state = 2}, [68] = {.lex_state = 2}, - [69] = {.lex_state = 3}, - [70] = {.lex_state = 3}, - [71] = {.lex_state = 3}, - [72] = {.lex_state = 3}, - [73] = {.lex_state = 0}, - [74] = {.lex_state = 0}, - [75] = {.lex_state = 0}, - [76] = {.lex_state = 0}, - [77] = {.lex_state = 5}, - [78] = {.lex_state = 0}, - [79] = {.lex_state = 5}, - [80] = {.lex_state = 5}, + [69] = {.lex_state = 2}, + [70] = {.lex_state = 2}, + [71] = {.lex_state = 2}, + [72] = {.lex_state = 2}, + [73] = {.lex_state = 2}, + [74] = {.lex_state = 2}, + [75] = {.lex_state = 2}, + [76] = {.lex_state = 2}, + [77] = {.lex_state = 3}, + [78] = {.lex_state = 3}, + [79] = {.lex_state = 3}, + [80] = {.lex_state = 3}, [81] = {.lex_state = 5}, - [82] = {.lex_state = 5}, - [83] = {.lex_state = 5}, - [84] = {.lex_state = 7}, - [85] = {.lex_state = 5}, - [86] = {.lex_state = 0}, + [82] = {.lex_state = 0}, + [83] = {.lex_state = 0}, + [84] = {.lex_state = 0}, + [85] = {.lex_state = 0}, + [86] = {.lex_state = 5}, [87] = {.lex_state = 5}, - [88] = {.lex_state = 5}, - [89] = {.lex_state = 5}, - [90] = {.lex_state = 7}, + [88] = {.lex_state = 7}, + [89] = {.lex_state = 0}, + [90] = {.lex_state = 9}, [91] = {.lex_state = 5}, [92] = {.lex_state = 5}, [93] = {.lex_state = 5}, - [94] = {.lex_state = 9}, + [94] = {.lex_state = 5}, [95] = {.lex_state = 5}, [96] = {.lex_state = 5}, [97] = {.lex_state = 5}, - [98] = {.lex_state = 0}, - [99] = {.lex_state = 0}, + [98] = {.lex_state = 5}, + [99] = {.lex_state = 5}, [100] = {.lex_state = 5}, - [101] = {.lex_state = 7}, - [102] = {.lex_state = 0}, + [101] = {.lex_state = 5}, + [102] = {.lex_state = 9}, [103] = {.lex_state = 5}, [104] = {.lex_state = 5}, - [105] = {.lex_state = 0}, - [106] = {.lex_state = 5}, - [107] = {.lex_state = 0}, + [105] = {.lex_state = 5}, + [106] = {.lex_state = 0}, + [107] = {.lex_state = 7}, [108] = {.lex_state = 0}, - [109] = {.lex_state = 0}, - [110] = {.lex_state = 5}, - [111] = {.lex_state = 5}, - [112] = {.lex_state = 9}, - [113] = {.lex_state = 5}, + [109] = {.lex_state = 5}, + [110] = {.lex_state = 9}, + [111] = {.lex_state = 0}, + [112] = {.lex_state = 7}, + [113] = {.lex_state = 0}, [114] = {.lex_state = 0}, + [115] = {.lex_state = 5}, + [116] = {.lex_state = 5}, + [117] = {.lex_state = 5}, + [118] = {.lex_state = 0}, + [119] = {.lex_state = 0}, + [120] = {.lex_state = 7}, + [121] = {.lex_state = 5}, + [122] = {.lex_state = 5}, + [123] = {.lex_state = 0}, + [124] = {.lex_state = 5}, + [125] = {.lex_state = 0}, + [126] = {.lex_state = 5}, + [127] = {.lex_state = 0}, + [128] = {.lex_state = 7}, + [129] = {.lex_state = 5}, + [130] = {.lex_state = 0}, + [131] = {.lex_state = 5}, + [132] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -1363,6 +1434,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LPAREN] = ACTIONS(1), [anon_sym_GT] = ACTIONS(1), [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(1), + [anon_sym_COLON] = ACTIONS(1), [anon_sym_STAR] = ACTIONS(1), [anon_sym_QMARK] = ACTIONS(1), [anon_sym_PLUS] = ACTIONS(1), @@ -1382,24 +1454,25 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_identity_escape] = ACTIONS(1), }, [1] = { - [sym_pattern] = STATE(98), - [sym_alternation] = STATE(86), - [sym_term] = STATE(76), - [sym_start_assertion] = STATE(10), - [sym_lookaround_assertion] = STATE(10), - [sym__lookahead_assertion] = STATE(15), - [sym__lookbehind_assertion] = STATE(15), - [sym_character_class] = STATE(10), - [sym_posix_character_class] = STATE(10), - [sym_anonymous_capturing_group] = STATE(10), - [sym_named_capturing_group] = STATE(10), - [sym_non_capturing_group] = STATE(10), - [sym_backreference_escape] = STATE(10), - [sym_character_class_escape] = STATE(10), - [sym_unicode_character_escape] = STATE(35), - [sym_control_escape] = STATE(10), - [aux_sym_alternation_repeat1] = STATE(74), - [aux_sym_term_repeat1] = STATE(8), + [sym_pattern] = STATE(108), + [sym_alternation] = STATE(106), + [sym_term] = STATE(85), + [sym_start_assertion] = STATE(13), + [sym_lookaround_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(16), + [sym__lookbehind_assertion] = STATE(16), + [sym_character_class] = STATE(13), + [sym_posix_character_class] = STATE(13), + [sym_anonymous_capturing_group] = STATE(13), + [sym_named_capturing_group] = STATE(13), + [sym_non_capturing_group] = STATE(13), + [sym_inline_flags_group] = STATE(13), + [sym_backreference_escape] = STATE(13), + [sym_character_class_escape] = STATE(13), + [sym_unicode_character_escape] = STATE(21), + [sym_control_escape] = STATE(13), + [aux_sym_alternation_repeat1] = STATE(83), + [aux_sym_term_repeat1] = STATE(12), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1425,24 +1498,25 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_identity_escape] = ACTIONS(33), }, [2] = { - [sym_pattern] = STATE(109), - [sym_alternation] = STATE(86), - [sym_term] = STATE(76), - [sym_start_assertion] = STATE(10), - [sym_lookaround_assertion] = STATE(10), - [sym__lookahead_assertion] = STATE(15), - [sym__lookbehind_assertion] = STATE(15), - [sym_character_class] = STATE(10), - [sym_posix_character_class] = STATE(10), - [sym_anonymous_capturing_group] = STATE(10), - [sym_named_capturing_group] = STATE(10), - [sym_non_capturing_group] = STATE(10), - [sym_backreference_escape] = STATE(10), - [sym_character_class_escape] = STATE(10), - [sym_unicode_character_escape] = STATE(35), - [sym_control_escape] = STATE(10), - [aux_sym_alternation_repeat1] = STATE(74), - [aux_sym_term_repeat1] = STATE(8), + [sym_pattern] = STATE(113), + [sym_alternation] = STATE(106), + [sym_term] = STATE(85), + [sym_start_assertion] = STATE(13), + [sym_lookaround_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(16), + [sym__lookbehind_assertion] = STATE(16), + [sym_character_class] = STATE(13), + [sym_posix_character_class] = STATE(13), + [sym_anonymous_capturing_group] = STATE(13), + [sym_named_capturing_group] = STATE(13), + [sym_non_capturing_group] = STATE(13), + [sym_inline_flags_group] = STATE(13), + [sym_backreference_escape] = STATE(13), + [sym_character_class_escape] = STATE(13), + [sym_unicode_character_escape] = STATE(21), + [sym_control_escape] = STATE(13), + [aux_sym_alternation_repeat1] = STATE(83), + [aux_sym_term_repeat1] = STATE(12), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1468,24 +1542,25 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_identity_escape] = ACTIONS(33), }, [3] = { - [sym_pattern] = STATE(102), - [sym_alternation] = STATE(86), - [sym_term] = STATE(76), - [sym_start_assertion] = STATE(10), - [sym_lookaround_assertion] = STATE(10), - [sym__lookahead_assertion] = STATE(15), - [sym__lookbehind_assertion] = STATE(15), - [sym_character_class] = STATE(10), - [sym_posix_character_class] = STATE(10), - [sym_anonymous_capturing_group] = STATE(10), - [sym_named_capturing_group] = STATE(10), - [sym_non_capturing_group] = STATE(10), - [sym_backreference_escape] = STATE(10), - [sym_character_class_escape] = STATE(10), - [sym_unicode_character_escape] = STATE(35), - [sym_control_escape] = STATE(10), - [aux_sym_alternation_repeat1] = STATE(74), - [aux_sym_term_repeat1] = STATE(8), + [sym_pattern] = STATE(114), + [sym_alternation] = STATE(106), + [sym_term] = STATE(85), + [sym_start_assertion] = STATE(13), + [sym_lookaround_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(16), + [sym__lookbehind_assertion] = STATE(16), + [sym_character_class] = STATE(13), + [sym_posix_character_class] = STATE(13), + [sym_anonymous_capturing_group] = STATE(13), + [sym_named_capturing_group] = STATE(13), + [sym_non_capturing_group] = STATE(13), + [sym_inline_flags_group] = STATE(13), + [sym_backreference_escape] = STATE(13), + [sym_character_class_escape] = STATE(13), + [sym_unicode_character_escape] = STATE(21), + [sym_control_escape] = STATE(13), + [aux_sym_alternation_repeat1] = STATE(83), + [aux_sym_term_repeat1] = STATE(12), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1511,24 +1586,25 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_identity_escape] = ACTIONS(33), }, [4] = { - [sym_pattern] = STATE(108), - [sym_alternation] = STATE(86), - [sym_term] = STATE(76), - [sym_start_assertion] = STATE(10), - [sym_lookaround_assertion] = STATE(10), - [sym__lookahead_assertion] = STATE(15), - [sym__lookbehind_assertion] = STATE(15), - [sym_character_class] = STATE(10), - [sym_posix_character_class] = STATE(10), - [sym_anonymous_capturing_group] = STATE(10), - [sym_named_capturing_group] = STATE(10), - [sym_non_capturing_group] = STATE(10), - [sym_backreference_escape] = STATE(10), - [sym_character_class_escape] = STATE(10), - [sym_unicode_character_escape] = STATE(35), - [sym_control_escape] = STATE(10), - [aux_sym_alternation_repeat1] = STATE(74), - [aux_sym_term_repeat1] = STATE(8), + [sym_pattern] = STATE(118), + [sym_alternation] = STATE(106), + [sym_term] = STATE(85), + [sym_start_assertion] = STATE(13), + [sym_lookaround_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(16), + [sym__lookbehind_assertion] = STATE(16), + [sym_character_class] = STATE(13), + [sym_posix_character_class] = STATE(13), + [sym_anonymous_capturing_group] = STATE(13), + [sym_named_capturing_group] = STATE(13), + [sym_non_capturing_group] = STATE(13), + [sym_inline_flags_group] = STATE(13), + [sym_backreference_escape] = STATE(13), + [sym_character_class_escape] = STATE(13), + [sym_unicode_character_escape] = STATE(21), + [sym_control_escape] = STATE(13), + [aux_sym_alternation_repeat1] = STATE(83), + [aux_sym_term_repeat1] = STATE(12), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1554,24 +1630,25 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_identity_escape] = ACTIONS(33), }, [5] = { - [sym_pattern] = STATE(107), - [sym_alternation] = STATE(86), - [sym_term] = STATE(76), - [sym_start_assertion] = STATE(10), - [sym_lookaround_assertion] = STATE(10), - [sym__lookahead_assertion] = STATE(15), - [sym__lookbehind_assertion] = STATE(15), - [sym_character_class] = STATE(10), - [sym_posix_character_class] = STATE(10), - [sym_anonymous_capturing_group] = STATE(10), - [sym_named_capturing_group] = STATE(10), - [sym_non_capturing_group] = STATE(10), - [sym_backreference_escape] = STATE(10), - [sym_character_class_escape] = STATE(10), - [sym_unicode_character_escape] = STATE(35), - [sym_control_escape] = STATE(10), - [aux_sym_alternation_repeat1] = STATE(74), - [aux_sym_term_repeat1] = STATE(8), + [sym_pattern] = STATE(127), + [sym_alternation] = STATE(106), + [sym_term] = STATE(85), + [sym_start_assertion] = STATE(13), + [sym_lookaround_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(16), + [sym__lookbehind_assertion] = STATE(16), + [sym_character_class] = STATE(13), + [sym_posix_character_class] = STATE(13), + [sym_anonymous_capturing_group] = STATE(13), + [sym_named_capturing_group] = STATE(13), + [sym_non_capturing_group] = STATE(13), + [sym_inline_flags_group] = STATE(13), + [sym_backreference_escape] = STATE(13), + [sym_character_class_escape] = STATE(13), + [sym_unicode_character_escape] = STATE(21), + [sym_control_escape] = STATE(13), + [aux_sym_alternation_repeat1] = STATE(83), + [aux_sym_term_repeat1] = STATE(12), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1597,24 +1674,25 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_identity_escape] = ACTIONS(33), }, [6] = { - [sym_pattern] = STATE(99), - [sym_alternation] = STATE(86), - [sym_term] = STATE(76), - [sym_start_assertion] = STATE(10), - [sym_lookaround_assertion] = STATE(10), - [sym__lookahead_assertion] = STATE(15), - [sym__lookbehind_assertion] = STATE(15), - [sym_character_class] = STATE(10), - [sym_posix_character_class] = STATE(10), - [sym_anonymous_capturing_group] = STATE(10), - [sym_named_capturing_group] = STATE(10), - [sym_non_capturing_group] = STATE(10), - [sym_backreference_escape] = STATE(10), - [sym_character_class_escape] = STATE(10), - [sym_unicode_character_escape] = STATE(35), - [sym_control_escape] = STATE(10), - [aux_sym_alternation_repeat1] = STATE(74), - [aux_sym_term_repeat1] = STATE(8), + [sym_pattern] = STATE(111), + [sym_alternation] = STATE(106), + [sym_term] = STATE(85), + [sym_start_assertion] = STATE(13), + [sym_lookaround_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(16), + [sym__lookbehind_assertion] = STATE(16), + [sym_character_class] = STATE(13), + [sym_posix_character_class] = STATE(13), + [sym_anonymous_capturing_group] = STATE(13), + [sym_named_capturing_group] = STATE(13), + [sym_non_capturing_group] = STATE(13), + [sym_inline_flags_group] = STATE(13), + [sym_backreference_escape] = STATE(13), + [sym_character_class_escape] = STATE(13), + [sym_unicode_character_escape] = STATE(21), + [sym_control_escape] = STATE(13), + [aux_sym_alternation_repeat1] = STATE(83), + [aux_sym_term_repeat1] = STATE(12), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1640,21 +1718,154 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_identity_escape] = ACTIONS(33), }, [7] = { - [sym_term] = STATE(78), - [sym_start_assertion] = STATE(10), - [sym_lookaround_assertion] = STATE(10), - [sym__lookahead_assertion] = STATE(15), - [sym__lookbehind_assertion] = STATE(15), - [sym_character_class] = STATE(10), - [sym_posix_character_class] = STATE(10), - [sym_anonymous_capturing_group] = STATE(10), - [sym_named_capturing_group] = STATE(10), - [sym_non_capturing_group] = STATE(10), - [sym_backreference_escape] = STATE(10), - [sym_character_class_escape] = STATE(10), - [sym_unicode_character_escape] = STATE(35), - [sym_control_escape] = STATE(10), - [aux_sym_term_repeat1] = STATE(8), + [sym_pattern] = STATE(130), + [sym_alternation] = STATE(106), + [sym_term] = STATE(85), + [sym_start_assertion] = STATE(13), + [sym_lookaround_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(16), + [sym__lookbehind_assertion] = STATE(16), + [sym_character_class] = STATE(13), + [sym_posix_character_class] = STATE(13), + [sym_anonymous_capturing_group] = STATE(13), + [sym_named_capturing_group] = STATE(13), + [sym_non_capturing_group] = STATE(13), + [sym_inline_flags_group] = STATE(13), + [sym_backreference_escape] = STATE(13), + [sym_character_class_escape] = STATE(13), + [sym_unicode_character_escape] = STATE(21), + [sym_control_escape] = STATE(13), + [aux_sym_alternation_repeat1] = STATE(83), + [aux_sym_term_repeat1] = STATE(12), + [anon_sym_PIPE] = ACTIONS(3), + [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_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), + }, + [8] = { + [sym_pattern] = STATE(125), + [sym_alternation] = STATE(106), + [sym_term] = STATE(85), + [sym_start_assertion] = STATE(13), + [sym_lookaround_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(16), + [sym__lookbehind_assertion] = STATE(16), + [sym_character_class] = STATE(13), + [sym_posix_character_class] = STATE(13), + [sym_anonymous_capturing_group] = STATE(13), + [sym_named_capturing_group] = STATE(13), + [sym_non_capturing_group] = STATE(13), + [sym_inline_flags_group] = STATE(13), + [sym_backreference_escape] = STATE(13), + [sym_character_class_escape] = STATE(13), + [sym_unicode_character_escape] = STATE(21), + [sym_control_escape] = STATE(13), + [aux_sym_alternation_repeat1] = STATE(83), + [aux_sym_term_repeat1] = STATE(12), + [anon_sym_PIPE] = ACTIONS(3), + [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_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), + }, + [9] = { + [sym_pattern] = STATE(119), + [sym_alternation] = STATE(106), + [sym_term] = STATE(85), + [sym_start_assertion] = STATE(13), + [sym_lookaround_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(16), + [sym__lookbehind_assertion] = STATE(16), + [sym_character_class] = STATE(13), + [sym_posix_character_class] = STATE(13), + [sym_anonymous_capturing_group] = STATE(13), + [sym_named_capturing_group] = STATE(13), + [sym_non_capturing_group] = STATE(13), + [sym_inline_flags_group] = STATE(13), + [sym_backreference_escape] = STATE(13), + [sym_character_class_escape] = STATE(13), + [sym_unicode_character_escape] = STATE(21), + [sym_control_escape] = STATE(13), + [aux_sym_alternation_repeat1] = STATE(83), + [aux_sym_term_repeat1] = STATE(12), + [anon_sym_PIPE] = ACTIONS(3), + [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_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), + }, + [10] = { + [sym_term] = STATE(89), + [sym_start_assertion] = STATE(13), + [sym_lookaround_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(16), + [sym__lookbehind_assertion] = STATE(16), + [sym_character_class] = STATE(13), + [sym_posix_character_class] = STATE(13), + [sym_anonymous_capturing_group] = STATE(13), + [sym_named_capturing_group] = STATE(13), + [sym_non_capturing_group] = STATE(13), + [sym_inline_flags_group] = STATE(13), + [sym_backreference_escape] = STATE(13), + [sym_character_class_escape] = STATE(13), + [sym_unicode_character_escape] = STATE(21), + [sym_control_escape] = STATE(13), + [aux_sym_term_repeat1] = STATE(12), [ts_builtin_sym_end] = ACTIONS(35), [anon_sym_PIPE] = ACTIONS(35), [sym_any_character] = ACTIONS(5), @@ -1681,30 +1892,73 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_control_letter_escape] = ACTIONS(5), [sym_identity_escape] = ACTIONS(33), }, - [8] = { - [sym_start_assertion] = STATE(10), - [sym_lookaround_assertion] = STATE(10), - [sym__lookahead_assertion] = STATE(15), - [sym__lookbehind_assertion] = STATE(15), - [sym_character_class] = STATE(10), - [sym_posix_character_class] = STATE(10), - [sym_anonymous_capturing_group] = STATE(10), - [sym_named_capturing_group] = STATE(10), - [sym_non_capturing_group] = STATE(10), - [sym_backreference_escape] = STATE(10), - [sym_character_class_escape] = STATE(10), - [sym_unicode_character_escape] = STATE(35), - [sym_control_escape] = STATE(10), - [aux_sym_term_repeat1] = STATE(9), + [11] = { + [sym_start_assertion] = STATE(13), + [sym_lookaround_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(16), + [sym__lookbehind_assertion] = STATE(16), + [sym_character_class] = STATE(13), + [sym_posix_character_class] = STATE(13), + [sym_anonymous_capturing_group] = STATE(13), + [sym_named_capturing_group] = STATE(13), + [sym_non_capturing_group] = STATE(13), + [sym_inline_flags_group] = STATE(13), + [sym_backreference_escape] = STATE(13), + [sym_character_class_escape] = STATE(13), + [sym_unicode_character_escape] = STATE(21), + [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), + }, + [12] = { + [sym_start_assertion] = STATE(13), + [sym_lookaround_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(16), + [sym__lookbehind_assertion] = STATE(16), + [sym_character_class] = STATE(13), + [sym_posix_character_class] = STATE(13), + [sym_anonymous_capturing_group] = STATE(13), + [sym_named_capturing_group] = STATE(13), + [sym_non_capturing_group] = STATE(13), + [sym_inline_flags_group] = STATE(13), + [sym_backreference_escape] = STATE(13), + [sym_character_class_escape] = STATE(13), + [sym_unicode_character_escape] = STATE(21), + [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(37), + [anon_sym_RPAREN] = ACTIONS(84), [anon_sym_LPAREN_QMARK_LT] = ACTIONS(11), [sym_pattern_character] = ACTIONS(5), [anon_sym_LBRACK] = ACTIONS(13), @@ -1722,47 +1976,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_control_letter_escape] = ACTIONS(5), [sym_identity_escape] = ACTIONS(33), }, - [9] = { - [sym_start_assertion] = STATE(10), - [sym_lookaround_assertion] = STATE(10), - [sym__lookahead_assertion] = STATE(15), - [sym__lookbehind_assertion] = STATE(15), - [sym_character_class] = STATE(10), - [sym_posix_character_class] = STATE(10), - [sym_anonymous_capturing_group] = STATE(10), - [sym_named_capturing_group] = STATE(10), - [sym_non_capturing_group] = STATE(10), - [sym_backreference_escape] = STATE(10), - [sym_character_class_escape] = STATE(10), - [sym_unicode_character_escape] = STATE(35), - [sym_control_escape] = STATE(10), - [aux_sym_term_repeat1] = STATE(9), - [ts_builtin_sym_end] = ACTIONS(39), - [anon_sym_PIPE] = ACTIONS(39), - [sym_any_character] = ACTIONS(41), - [anon_sym_CARET] = ACTIONS(44), - [sym_end_assertion] = ACTIONS(41), - [sym_boundary_assertion] = ACTIONS(41), - [sym_non_boundary_assertion] = ACTIONS(41), - [anon_sym_LPAREN_QMARK] = ACTIONS(47), - [anon_sym_RPAREN] = ACTIONS(39), - [anon_sym_LPAREN_QMARK_LT] = ACTIONS(50), - [sym_pattern_character] = ACTIONS(41), - [anon_sym_LBRACK] = ACTIONS(53), - [anon_sym_LBRACK_COLON] = ACTIONS(56), - [anon_sym_LPAREN] = ACTIONS(59), - [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(62), - [anon_sym_BSLASHk] = ACTIONS(65), - [sym_decimal_escape] = ACTIONS(41), - [aux_sym_character_class_escape_token1] = ACTIONS(68), - [aux_sym_character_class_escape_token2] = ACTIONS(71), - [aux_sym_unicode_character_escape_token1] = ACTIONS(74), - [aux_sym_unicode_character_escape_token2] = ACTIONS(74), - [aux_sym_control_escape_token1] = ACTIONS(77), - [aux_sym_control_escape_token2] = ACTIONS(80), - [sym_control_letter_escape] = ACTIONS(41), - [sym_identity_escape] = ACTIONS(83), - }, }; static const uint16_t ts_small_parse_table[] = { @@ -1775,7 +1988,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS, ACTIONS(96), 1, anon_sym_LBRACE, - STATE(47), 4, + STATE(54), 4, sym_zero_or_more, sym_one_or_more, sym_optional, @@ -2607,16 +2820,176 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [898] = 3, - ACTIONS(202), 1, + [898] = 2, + ACTIONS(200), 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, + 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_QMARK_COLON, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_PLUS, + anon_sym_LBRACE, + anon_sym_BSLASHk, + 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, + [932] = 2, + ACTIONS(204), 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, + 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_QMARK_COLON, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_PLUS, + anon_sym_LBRACE, + anon_sym_BSLASHk, + 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, + [966] = 2, + ACTIONS(208), 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, + 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_QMARK_COLON, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_PLUS, + anon_sym_LBRACE, + anon_sym_BSLASHk, + 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, + [1000] = 2, + ACTIONS(212), 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, + 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_QMARK_COLON, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_PLUS, + anon_sym_LBRACE, + anon_sym_BSLASHk, + 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, + [1034] = 2, + ACTIONS(216), 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, + 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_QMARK_COLON, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_PLUS, + anon_sym_LBRACE, + anon_sym_BSLASHk, + 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, + [1068] = 3, + ACTIONS(222), 1, anon_sym_QMARK, - ACTIONS(200), 5, + ACTIONS(220), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(198), 20, + ACTIONS(218), 20, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2637,16 +3010,16 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [931] = 3, - ACTIONS(208), 1, + [1101] = 3, + ACTIONS(228), 1, anon_sym_QMARK, - ACTIONS(206), 5, + ACTIONS(226), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(204), 20, + ACTIONS(224), 20, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2667,16 +3040,16 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [964] = 3, - ACTIONS(214), 1, + [1134] = 3, + ACTIONS(234), 1, anon_sym_QMARK, - ACTIONS(212), 5, + ACTIONS(232), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(210), 20, + ACTIONS(230), 20, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2697,16 +3070,16 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [997] = 3, - ACTIONS(220), 1, + [1167] = 3, + ACTIONS(240), 1, anon_sym_QMARK, - ACTIONS(218), 5, + ACTIONS(238), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(216), 20, + ACTIONS(236), 20, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2727,16 +3100,16 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1030] = 3, - ACTIONS(226), 1, + [1200] = 3, + ACTIONS(246), 1, anon_sym_QMARK, - ACTIONS(224), 5, + ACTIONS(244), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(222), 20, + ACTIONS(242), 20, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2757,16 +3130,16 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1063] = 3, - ACTIONS(232), 1, + [1233] = 3, + ACTIONS(252), 1, anon_sym_QMARK, - ACTIONS(230), 5, + ACTIONS(250), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(228), 20, + ACTIONS(248), 20, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2787,14 +3160,14 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1096] = 2, - ACTIONS(236), 5, + [1266] = 2, + ACTIONS(256), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(234), 20, + ACTIONS(254), 20, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2815,14 +3188,14 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1126] = 2, - ACTIONS(240), 5, + [1296] = 2, + ACTIONS(260), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(238), 20, + ACTIONS(258), 20, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2843,14 +3216,14 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1156] = 2, - ACTIONS(244), 5, + [1326] = 2, + ACTIONS(264), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(242), 20, + ACTIONS(262), 20, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2871,14 +3244,14 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1186] = 2, - ACTIONS(248), 5, + [1356] = 2, + ACTIONS(268), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(246), 20, + ACTIONS(266), 20, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2899,14 +3272,14 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1216] = 2, - ACTIONS(252), 5, + [1386] = 2, + ACTIONS(270), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(250), 20, + ACTIONS(37), 20, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2927,14 +3300,14 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1246] = 2, - ACTIONS(254), 5, + [1416] = 2, + ACTIONS(274), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(39), 20, + ACTIONS(272), 20, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2955,14 +3328,14 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1276] = 2, - ACTIONS(258), 5, + [1446] = 2, + ACTIONS(278), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, aux_sym_control_escape_token1, sym_identity_escape, - ACTIONS(256), 20, + ACTIONS(276), 20, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2983,324 +3356,324 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token2, aux_sym_control_escape_token2, sym_control_letter_escape, - [1306] = 13, - ACTIONS(260), 1, + [1476] = 13, + ACTIONS(280), 1, anon_sym_CARET, - ACTIONS(262), 1, + ACTIONS(282), 1, anon_sym_DASH, - ACTIONS(264), 1, + ACTIONS(284), 1, anon_sym_RBRACK, - ACTIONS(266), 1, + ACTIONS(286), 1, anon_sym_LBRACK_COLON, - ACTIONS(270), 1, + ACTIONS(290), 1, sym_class_character, - ACTIONS(272), 1, + ACTIONS(292), 1, aux_sym_character_class_escape_token1, - ACTIONS(274), 1, + ACTIONS(294), 1, aux_sym_character_class_escape_token2, - STATE(67), 1, + STATE(74), 1, sym_unicode_character_escape, - ACTIONS(276), 2, + ACTIONS(296), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(278), 2, + ACTIONS(298), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(63), 2, + STATE(70), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(268), 3, + ACTIONS(288), 3, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - STATE(57), 3, + STATE(65), 3, sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - [1353] = 12, - ACTIONS(266), 1, + [1523] = 12, + ACTIONS(286), 1, anon_sym_LBRACK_COLON, - ACTIONS(270), 1, + ACTIONS(290), 1, sym_class_character, - ACTIONS(272), 1, + ACTIONS(292), 1, aux_sym_character_class_escape_token1, - ACTIONS(274), 1, + ACTIONS(294), 1, aux_sym_character_class_escape_token2, - ACTIONS(280), 1, + ACTIONS(300), 1, anon_sym_DASH, - ACTIONS(282), 1, + ACTIONS(302), 1, anon_sym_RBRACK, - STATE(67), 1, + STATE(74), 1, sym_unicode_character_escape, - ACTIONS(276), 2, + ACTIONS(296), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(278), 2, + ACTIONS(298), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(63), 2, + STATE(70), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(284), 3, + ACTIONS(304), 3, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - STATE(52), 3, + STATE(60), 3, sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - [1397] = 12, - ACTIONS(266), 1, + [1567] = 12, + ACTIONS(286), 1, anon_sym_LBRACK_COLON, - ACTIONS(270), 1, + ACTIONS(290), 1, sym_class_character, - ACTIONS(272), 1, + ACTIONS(292), 1, aux_sym_character_class_escape_token1, - ACTIONS(274), 1, + ACTIONS(294), 1, aux_sym_character_class_escape_token2, - ACTIONS(286), 1, + ACTIONS(306), 1, anon_sym_DASH, - ACTIONS(288), 1, + ACTIONS(308), 1, anon_sym_RBRACK, - STATE(67), 1, + STATE(74), 1, sym_unicode_character_escape, - ACTIONS(276), 2, + ACTIONS(296), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(278), 2, + ACTIONS(298), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(63), 2, + STATE(70), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(284), 3, + ACTIONS(304), 3, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - STATE(52), 3, + STATE(60), 3, sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - [1441] = 12, - ACTIONS(290), 1, + [1611] = 12, + ACTIONS(310), 1, anon_sym_DASH, - ACTIONS(293), 1, + ACTIONS(313), 1, anon_sym_RBRACK, - ACTIONS(295), 1, + ACTIONS(315), 1, anon_sym_LBRACK_COLON, - ACTIONS(301), 1, + ACTIONS(321), 1, sym_class_character, - ACTIONS(304), 1, + ACTIONS(324), 1, aux_sym_character_class_escape_token1, - ACTIONS(307), 1, + ACTIONS(327), 1, aux_sym_character_class_escape_token2, - STATE(67), 1, + STATE(74), 1, sym_unicode_character_escape, - ACTIONS(310), 2, + ACTIONS(330), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(313), 2, + ACTIONS(333), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(63), 2, + STATE(70), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(298), 3, + ACTIONS(318), 3, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - STATE(52), 3, + STATE(60), 3, sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - [1485] = 12, - ACTIONS(266), 1, + [1655] = 12, + ACTIONS(286), 1, anon_sym_LBRACK_COLON, - ACTIONS(270), 1, + ACTIONS(290), 1, sym_class_character, - ACTIONS(272), 1, + ACTIONS(292), 1, aux_sym_character_class_escape_token1, - ACTIONS(274), 1, + ACTIONS(294), 1, aux_sym_character_class_escape_token2, - ACTIONS(316), 1, + ACTIONS(336), 1, anon_sym_DASH, - ACTIONS(318), 1, + ACTIONS(338), 1, anon_sym_RBRACK, - STATE(67), 1, + STATE(74), 1, sym_unicode_character_escape, - ACTIONS(276), 2, + ACTIONS(296), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(278), 2, + ACTIONS(298), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(63), 2, + STATE(70), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(320), 3, + ACTIONS(340), 3, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - STATE(55), 3, + STATE(62), 3, sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - [1529] = 12, - ACTIONS(266), 1, + [1699] = 12, + ACTIONS(286), 1, anon_sym_LBRACK_COLON, - ACTIONS(270), 1, + ACTIONS(290), 1, sym_class_character, - ACTIONS(272), 1, + ACTIONS(292), 1, aux_sym_character_class_escape_token1, - ACTIONS(274), 1, + ACTIONS(294), 1, aux_sym_character_class_escape_token2, - ACTIONS(322), 1, + ACTIONS(342), 1, anon_sym_DASH, - ACTIONS(324), 1, + ACTIONS(344), 1, anon_sym_RBRACK, - STATE(67), 1, + STATE(74), 1, sym_unicode_character_escape, - ACTIONS(276), 2, + ACTIONS(296), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(278), 2, + ACTIONS(298), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(63), 2, + STATE(70), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(326), 3, + ACTIONS(304), 3, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - STATE(51), 3, + STATE(60), 3, sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - [1573] = 12, - ACTIONS(266), 1, + [1743] = 12, + ACTIONS(286), 1, anon_sym_LBRACK_COLON, - ACTIONS(270), 1, + ACTIONS(290), 1, sym_class_character, - ACTIONS(272), 1, + ACTIONS(292), 1, aux_sym_character_class_escape_token1, - ACTIONS(274), 1, + ACTIONS(294), 1, aux_sym_character_class_escape_token2, - ACTIONS(328), 1, + ACTIONS(346), 1, anon_sym_DASH, - ACTIONS(330), 1, + ACTIONS(348), 1, anon_sym_RBRACK, - STATE(67), 1, + STATE(74), 1, sym_unicode_character_escape, - ACTIONS(276), 2, + ACTIONS(296), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(278), 2, + ACTIONS(298), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(63), 2, + STATE(70), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(284), 3, + ACTIONS(350), 3, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - STATE(52), 3, + STATE(58), 3, sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - [1617] = 12, - ACTIONS(266), 1, + [1787] = 12, + ACTIONS(286), 1, anon_sym_LBRACK_COLON, - ACTIONS(270), 1, + ACTIONS(290), 1, sym_class_character, - ACTIONS(272), 1, + ACTIONS(292), 1, aux_sym_character_class_escape_token1, - ACTIONS(274), 1, + ACTIONS(294), 1, aux_sym_character_class_escape_token2, - ACTIONS(332), 1, + ACTIONS(352), 1, anon_sym_DASH, - ACTIONS(334), 1, + ACTIONS(354), 1, anon_sym_RBRACK, - STATE(67), 1, + STATE(74), 1, sym_unicode_character_escape, - ACTIONS(276), 2, + ACTIONS(296), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(278), 2, + ACTIONS(298), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(63), 2, + STATE(70), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(336), 3, + ACTIONS(356), 3, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - STATE(50), 3, + STATE(59), 3, sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - [1661] = 12, - ACTIONS(266), 1, + [1831] = 12, + ACTIONS(286), 1, anon_sym_LBRACK_COLON, - ACTIONS(270), 1, + ACTIONS(290), 1, sym_class_character, - ACTIONS(272), 1, + ACTIONS(292), 1, aux_sym_character_class_escape_token1, - ACTIONS(274), 1, + ACTIONS(294), 1, aux_sym_character_class_escape_token2, - ACTIONS(334), 1, + ACTIONS(348), 1, anon_sym_RBRACK, - ACTIONS(338), 1, + ACTIONS(358), 1, anon_sym_DASH, - STATE(67), 1, + STATE(74), 1, sym_unicode_character_escape, - ACTIONS(276), 2, + ACTIONS(296), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(278), 2, + ACTIONS(298), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(63), 2, + STATE(70), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(284), 3, + ACTIONS(304), 3, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - STATE(52), 3, + STATE(60), 3, sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - [1705] = 9, - ACTIONS(272), 1, + [1875] = 9, + ACTIONS(292), 1, aux_sym_character_class_escape_token1, - ACTIONS(274), 1, + ACTIONS(294), 1, aux_sym_character_class_escape_token2, - ACTIONS(340), 1, + ACTIONS(360), 1, anon_sym_DASH, - ACTIONS(344), 1, + ACTIONS(364), 1, sym_class_character, - STATE(67), 1, + STATE(74), 1, sym_unicode_character_escape, - ACTIONS(276), 2, + ACTIONS(296), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(278), 2, + ACTIONS(298), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(61), 2, + STATE(67), 2, sym_character_class_escape, sym_control_escape, - ACTIONS(342), 5, + ACTIONS(362), 5, anon_sym_RBRACK, anon_sym_LBRACK_COLON, anon_sym_BSLASH_DASH, sym_control_letter_escape, sym_identity_escape, - [1740] = 1, - ACTIONS(172), 13, + [1910] = 1, + ACTIONS(366), 13, anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, @@ -3314,8 +3687,8 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [1756] = 1, - ACTIONS(346), 13, + [1926] = 1, + ACTIONS(368), 13, anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, @@ -3329,8 +3702,8 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [1772] = 1, - ACTIONS(348), 13, + [1942] = 1, + ACTIONS(370), 13, anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, @@ -3344,9 +3717,10 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [1788] = 1, - ACTIONS(350), 13, + [1958] = 2, + ACTIONS(372), 1, anon_sym_DASH, + ACTIONS(375), 12, anon_sym_RBRACK, anon_sym_LBRACK_COLON, anon_sym_BSLASH_DASH, @@ -3359,10 +3733,9 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [1804] = 2, - ACTIONS(352), 1, + [1976] = 1, + ACTIONS(184), 13, anon_sym_DASH, - ACTIONS(355), 12, anon_sym_RBRACK, anon_sym_LBRACK_COLON, anon_sym_BSLASH_DASH, @@ -3375,8 +3748,8 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [1822] = 1, - ACTIONS(342), 13, + [1992] = 1, + ACTIONS(362), 13, anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, @@ -3390,8 +3763,8 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [1838] = 1, - ACTIONS(112), 13, + [2008] = 1, + ACTIONS(216), 13, anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, @@ -3405,8 +3778,8 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [1854] = 1, - ACTIONS(108), 13, + [2024] = 1, + ACTIONS(128), 13, anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, @@ -3420,8 +3793,8 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [1870] = 1, - ACTIONS(196), 13, + [2040] = 1, + ACTIONS(132), 13, anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, @@ -3435,8 +3808,8 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [1886] = 1, - ACTIONS(132), 13, + [2056] = 1, + ACTIONS(176), 13, anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, @@ -3450,432 +3823,501 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_control_escape_token2, sym_control_letter_escape, sym_identity_escape, - [1902] = 9, - ACTIONS(272), 1, + [2072] = 9, + ACTIONS(292), 1, aux_sym_character_class_escape_token1, - ACTIONS(274), 1, + ACTIONS(294), 1, aux_sym_character_class_escape_token2, - ACTIONS(357), 1, + ACTIONS(377), 1, anon_sym_DASH, - ACTIONS(359), 1, + ACTIONS(379), 1, anon_sym_RBRACK, - ACTIONS(361), 1, + ACTIONS(381), 1, sym_class_character, - STATE(67), 1, + STATE(74), 1, sym_unicode_character_escape, - ACTIONS(276), 2, + ACTIONS(296), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(278), 2, + ACTIONS(298), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(61), 2, + STATE(67), 2, sym_character_class_escape, sym_control_escape, - [1933] = 9, - ACTIONS(272), 1, + [2103] = 9, + ACTIONS(292), 1, aux_sym_character_class_escape_token1, - ACTIONS(274), 1, + ACTIONS(294), 1, aux_sym_character_class_escape_token2, - ACTIONS(357), 1, + ACTIONS(377), 1, anon_sym_DASH, - ACTIONS(361), 1, + ACTIONS(381), 1, sym_class_character, - ACTIONS(363), 1, + ACTIONS(383), 1, anon_sym_RBRACK, - STATE(67), 1, + STATE(74), 1, sym_unicode_character_escape, - ACTIONS(276), 2, + ACTIONS(296), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(278), 2, + ACTIONS(298), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(61), 2, + STATE(67), 2, sym_character_class_escape, sym_control_escape, - [1964] = 8, - ACTIONS(272), 1, + [2134] = 8, + ACTIONS(292), 1, aux_sym_character_class_escape_token1, - ACTIONS(274), 1, + ACTIONS(294), 1, aux_sym_character_class_escape_token2, - ACTIONS(340), 1, + ACTIONS(360), 1, anon_sym_DASH, - ACTIONS(361), 1, + ACTIONS(381), 1, sym_class_character, - STATE(67), 1, + STATE(74), 1, sym_unicode_character_escape, - ACTIONS(276), 2, + ACTIONS(296), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(278), 2, + ACTIONS(298), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(61), 2, + STATE(67), 2, sym_character_class_escape, sym_control_escape, - [1992] = 8, - ACTIONS(272), 1, + [2162] = 8, + ACTIONS(292), 1, aux_sym_character_class_escape_token1, - ACTIONS(274), 1, + ACTIONS(294), 1, aux_sym_character_class_escape_token2, - ACTIONS(365), 1, + ACTIONS(385), 1, anon_sym_DASH, - ACTIONS(367), 1, + ACTIONS(387), 1, sym_class_character, - STATE(67), 1, + STATE(74), 1, sym_unicode_character_escape, - ACTIONS(276), 2, + ACTIONS(296), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - ACTIONS(278), 2, + ACTIONS(298), 2, aux_sym_control_escape_token1, aux_sym_control_escape_token2, - STATE(60), 2, + STATE(68), 2, sym_character_class_escape, sym_control_escape, - [2020] = 3, + [2190] = 4, + ACTIONS(391), 1, + anon_sym_DASH, + ACTIONS(393), 1, + aux_sym_posix_class_name_token1, + STATE(86), 1, + sym_flags, + ACTIONS(389), 2, + anon_sym_EQ, + anon_sym_BANG, + [2204] = 3, ACTIONS(3), 1, anon_sym_PIPE, - STATE(75), 1, + STATE(84), 1, aux_sym_alternation_repeat1, - ACTIONS(369), 2, + ACTIONS(395), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [2031] = 3, + [2215] = 3, ACTIONS(3), 1, anon_sym_PIPE, - STATE(75), 1, + STATE(84), 1, aux_sym_alternation_repeat1, - ACTIONS(371), 2, + ACTIONS(397), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [2042] = 3, - ACTIONS(375), 1, + [2226] = 3, + ACTIONS(401), 1, anon_sym_PIPE, - STATE(75), 1, + STATE(84), 1, aux_sym_alternation_repeat1, - ACTIONS(373), 2, + ACTIONS(399), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [2053] = 3, + [2237] = 3, ACTIONS(3), 1, anon_sym_PIPE, - STATE(73), 1, + STATE(82), 1, aux_sym_alternation_repeat1, - ACTIONS(378), 2, + ACTIONS(404), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [2064] = 2, - ACTIONS(382), 1, + [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, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_COLON, + [2264] = 2, + ACTIONS(416), 1, sym_group_name, - ACTIONS(380), 2, + ACTIONS(414), 2, anon_sym_EQ, anon_sym_BANG, - [2072] = 1, - ACTIONS(373), 3, + [2272] = 1, + ACTIONS(399), 3, ts_builtin_sym_end, anon_sym_PIPE, anon_sym_RPAREN, - [2078] = 2, - ACTIONS(384), 1, - anon_sym_DASH, - ACTIONS(386), 1, - anon_sym_RBRACK, - [2085] = 2, - ACTIONS(384), 1, + [2278] = 2, + ACTIONS(418), 1, + sym_unicode_property, + STATE(129), 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, anon_sym_DASH, - ACTIONS(388), 1, + ACTIONS(424), 1, anon_sym_RBRACK, - [2092] = 2, - ACTIONS(390), 1, - anon_sym_EQ, - ACTIONS(392), 1, - anon_sym_RBRACE, - [2099] = 1, - ACTIONS(394), 2, - anon_sym_EQ, - anon_sym_BANG, - [2104] = 2, - ACTIONS(396), 1, + [2299] = 2, + ACTIONS(420), 1, + aux_sym_posix_class_name_token1, + STATE(112), 1, + sym_posix_class_name, + [2306] = 2, + ACTIONS(426), 1, anon_sym_RBRACE, - ACTIONS(398), 1, + ACTIONS(428), 1, sym_decimal_digits, - [2111] = 2, - ACTIONS(400), 1, - sym_unicode_property, - STATE(106), 1, - sym_unicode_property_value_expression, - [2118] = 2, - ACTIONS(384), 1, + [2313] = 2, + ACTIONS(393), 1, + aux_sym_posix_class_name_token1, + STATE(98), 1, + sym_flags, + [2320] = 2, + ACTIONS(430), 1, + anon_sym_COMMA, + ACTIONS(432), 1, + sym_decimal_digits, + [2327] = 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(402), 1, + ACTIONS(442), 1, anon_sym_RBRACK, - [2125] = 1, - ACTIONS(378), 2, - ts_builtin_sym_end, - anon_sym_RPAREN, - [2130] = 2, - ACTIONS(404), 1, - anon_sym_COMMA, - ACTIONS(406), 1, - anon_sym_RBRACE, - [2137] = 2, - ACTIONS(384), 1, + [2348] = 2, + ACTIONS(422), 1, anon_sym_DASH, - ACTIONS(408), 1, + ACTIONS(444), 1, anon_sym_RBRACK, - [2144] = 2, - ACTIONS(410), 1, + [2355] = 2, + ACTIONS(446), 1, anon_sym_COMMA, - ACTIONS(412), 1, - sym_decimal_digits, - [2151] = 2, - ACTIONS(400), 1, - sym_unicode_property, - STATE(111), 1, - sym_unicode_property_value_expression, - [2158] = 1, - ACTIONS(414), 1, - anon_sym_LT, - [2162] = 1, - ACTIONS(396), 1, + ACTIONS(448), 1, anon_sym_RBRACE, - [2166] = 1, - ACTIONS(416), 1, - anon_sym_GT, - [2170] = 1, + [2362] = 2, ACTIONS(418), 1, - sym_posix_class_name, - [2174] = 1, - ACTIONS(384), 1, - anon_sym_DASH, - [2178] = 1, - ACTIONS(420), 1, - sym_group_name, - [2182] = 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, - sym_decimal_digits, - [2186] = 1, - ACTIONS(424), 1, + anon_sym_DASH, + ACTIONS(450), 1, + anon_sym_RBRACK, + [2383] = 2, + ACTIONS(452), 1, + anon_sym_EQ, + ACTIONS(454), 1, + anon_sym_RBRACE, + [2390] = 1, + ACTIONS(404), 2, ts_builtin_sym_end, - [2190] = 1, - ACTIONS(426), 1, anon_sym_RPAREN, - [2194] = 1, - ACTIONS(428), 1, - anon_sym_RBRACE, - [2198] = 1, - ACTIONS(430), 1, + [2395] = 1, + ACTIONS(456), 1, + anon_sym_COLON_RBRACK, + [2399] = 1, + ACTIONS(458), 1, + ts_builtin_sym_end, + [2403] = 1, + ACTIONS(460), 1, + sym_decimal_digits, + [2407] = 1, + ACTIONS(462), 1, sym_unicode_property, - [2202] = 1, - ACTIONS(432), 1, + [2411] = 1, + ACTIONS(464), 1, anon_sym_RPAREN, - [2206] = 1, - ACTIONS(434), 1, + [2415] = 1, + ACTIONS(466), 1, anon_sym_COLON_RBRACK, - [2210] = 1, - ACTIONS(436), 1, + [2419] = 1, + ACTIONS(468), 1, + anon_sym_RPAREN, + [2423] = 1, + ACTIONS(470), 1, + anon_sym_RPAREN, + [2427] = 1, + ACTIONS(472), 1, + anon_sym_RBRACE, + [2431] = 1, + ACTIONS(474), 1, anon_sym_GT, - [2214] = 1, - ACTIONS(438), 1, - anon_sym_LBRACE, - [2218] = 1, - ACTIONS(440), 1, + [2435] = 1, + ACTIONS(426), 1, anon_sym_RBRACE, - [2222] = 1, - ACTIONS(442), 1, + [2439] = 1, + ACTIONS(476), 1, anon_sym_RPAREN, - [2226] = 1, - ACTIONS(444), 1, + [2443] = 1, + ACTIONS(478), 1, anon_sym_RPAREN, - [2230] = 1, - ACTIONS(446), 1, + [2447] = 1, + ACTIONS(480), 1, + sym_group_name, + [2451] = 1, + ACTIONS(422), 1, + anon_sym_DASH, + [2455] = 1, + ACTIONS(482), 1, + anon_sym_RBRACE, + [2459] = 1, + ACTIONS(484), 1, + anon_sym_LBRACE, + [2463] = 1, + ACTIONS(486), 1, + anon_sym_LT, + [2467] = 1, + ACTIONS(488), 1, anon_sym_RPAREN, - [2234] = 1, - ACTIONS(448), 1, + [2471] = 1, + ACTIONS(490), 1, + anon_sym_GT, + [2475] = 1, + ACTIONS(438), 1, + anon_sym_RPAREN, + [2479] = 1, + ACTIONS(492), 1, anon_sym_COLON_RBRACK, - [2238] = 1, - ACTIONS(450), 1, + [2483] = 1, + ACTIONS(494), 1, anon_sym_RBRACE, - [2242] = 1, - ACTIONS(452), 1, - sym_posix_class_name, - [2246] = 1, - ACTIONS(454), 1, + [2487] = 1, + ACTIONS(496), 1, + anon_sym_RPAREN, + [2491] = 1, + ACTIONS(498), 1, anon_sym_RBRACE, - [2250] = 1, - ACTIONS(456), 1, + [2495] = 1, + ACTIONS(500), 1, anon_sym_LBRACE, }; static const uint32_t ts_small_parse_table_map[] = { - [SMALL_STATE(10)] = 0, - [SMALL_STATE(11)] = 48, - [SMALL_STATE(12)] = 82, - [SMALL_STATE(13)] = 116, - [SMALL_STATE(14)] = 150, - [SMALL_STATE(15)] = 184, - [SMALL_STATE(16)] = 218, - [SMALL_STATE(17)] = 252, - [SMALL_STATE(18)] = 286, - [SMALL_STATE(19)] = 320, - [SMALL_STATE(20)] = 354, - [SMALL_STATE(21)] = 388, - [SMALL_STATE(22)] = 422, - [SMALL_STATE(23)] = 456, - [SMALL_STATE(24)] = 490, - [SMALL_STATE(25)] = 524, - [SMALL_STATE(26)] = 558, - [SMALL_STATE(27)] = 592, - [SMALL_STATE(28)] = 626, - [SMALL_STATE(29)] = 660, - [SMALL_STATE(30)] = 694, - [SMALL_STATE(31)] = 728, - [SMALL_STATE(32)] = 762, - [SMALL_STATE(33)] = 796, - [SMALL_STATE(34)] = 830, - [SMALL_STATE(35)] = 864, - [SMALL_STATE(36)] = 898, - [SMALL_STATE(37)] = 931, - [SMALL_STATE(38)] = 964, - [SMALL_STATE(39)] = 997, - [SMALL_STATE(40)] = 1030, - [SMALL_STATE(41)] = 1063, - [SMALL_STATE(42)] = 1096, - [SMALL_STATE(43)] = 1126, - [SMALL_STATE(44)] = 1156, - [SMALL_STATE(45)] = 1186, - [SMALL_STATE(46)] = 1216, - [SMALL_STATE(47)] = 1246, - [SMALL_STATE(48)] = 1276, - [SMALL_STATE(49)] = 1306, - [SMALL_STATE(50)] = 1353, - [SMALL_STATE(51)] = 1397, - [SMALL_STATE(52)] = 1441, - [SMALL_STATE(53)] = 1485, - [SMALL_STATE(54)] = 1529, - [SMALL_STATE(55)] = 1573, - [SMALL_STATE(56)] = 1617, - [SMALL_STATE(57)] = 1661, - [SMALL_STATE(58)] = 1705, - [SMALL_STATE(59)] = 1740, - [SMALL_STATE(60)] = 1756, - [SMALL_STATE(61)] = 1772, - [SMALL_STATE(62)] = 1788, - [SMALL_STATE(63)] = 1804, - [SMALL_STATE(64)] = 1822, - [SMALL_STATE(65)] = 1838, - [SMALL_STATE(66)] = 1854, - [SMALL_STATE(67)] = 1870, - [SMALL_STATE(68)] = 1886, - [SMALL_STATE(69)] = 1902, - [SMALL_STATE(70)] = 1933, - [SMALL_STATE(71)] = 1964, + [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)] = 2020, - [SMALL_STATE(74)] = 2031, - [SMALL_STATE(75)] = 2042, - [SMALL_STATE(76)] = 2053, - [SMALL_STATE(77)] = 2064, - [SMALL_STATE(78)] = 2072, - [SMALL_STATE(79)] = 2078, - [SMALL_STATE(80)] = 2085, - [SMALL_STATE(81)] = 2092, - [SMALL_STATE(82)] = 2099, - [SMALL_STATE(83)] = 2104, - [SMALL_STATE(84)] = 2111, - [SMALL_STATE(85)] = 2118, - [SMALL_STATE(86)] = 2125, - [SMALL_STATE(87)] = 2130, - [SMALL_STATE(88)] = 2137, - [SMALL_STATE(89)] = 2144, - [SMALL_STATE(90)] = 2151, - [SMALL_STATE(91)] = 2158, - [SMALL_STATE(92)] = 2162, - [SMALL_STATE(93)] = 2166, - [SMALL_STATE(94)] = 2170, - [SMALL_STATE(95)] = 2174, - [SMALL_STATE(96)] = 2178, - [SMALL_STATE(97)] = 2182, - [SMALL_STATE(98)] = 2186, - [SMALL_STATE(99)] = 2190, - [SMALL_STATE(100)] = 2194, - [SMALL_STATE(101)] = 2198, - [SMALL_STATE(102)] = 2202, - [SMALL_STATE(103)] = 2206, - [SMALL_STATE(104)] = 2210, - [SMALL_STATE(105)] = 2214, - [SMALL_STATE(106)] = 2218, - [SMALL_STATE(107)] = 2222, - [SMALL_STATE(108)] = 2226, - [SMALL_STATE(109)] = 2230, - [SMALL_STATE(110)] = 2234, - [SMALL_STATE(111)] = 2238, - [SMALL_STATE(112)] = 2242, - [SMALL_STATE(113)] = 2246, - [SMALL_STATE(114)] = 2250, + [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, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), - [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10), + [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), + [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(sym_term, 1, 0, 0), - [39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), - [41] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(10), - [44] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(11), - [47] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(82), - [50] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(77), - [53] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(49), - [56] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(94), - [59] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(4), - [62] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(2), - [65] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(91), - [68] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(35), - [71] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(105), - [74] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(13), - [77] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(14), - [80] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(14), - [83] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(10), + [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(37), - [92] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [98] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_assertion, 1, 0, 0), - [100] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_assertion, 1, 0, 0), - [102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 6, 0, 13), - [104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 6, 0, 13), - [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unicode_character_escape, 1, 0, 0), - [108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unicode_character_escape, 1, 0, 0), - [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_control_escape, 1, 0, 0), - [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_control_escape, 1, 0, 0), - [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lookaround_assertion, 1, 0, 0), - [116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lookaround_assertion, 1, 0, 0), - [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 2, 0, 0), - [120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 2, 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, 3, 0, 2), - [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 3, 0, 2), + [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), @@ -3884,157 +4326,179 @@ static const TSParseActionEntry ts_parse_actions[] = { [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__lookbehind_assertion, 4, 0, 0), - [148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lookbehind_assertion, 4, 0, 0), - [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 4, 0, 3), - [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 4, 0, 3), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 4, 0, 0), - [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 4, 0, 0), - [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 4, 0, 5), - [160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 4, 0, 5), - [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 4, 0, 2), - [164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 4, 0, 2), - [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backreference_escape, 4, 0, 0), - [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backreference_escape, 4, 0, 0), - [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class_escape, 4, 0, 0), - [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class_escape, 4, 0, 0), - [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_capturing_group, 5, 0, 0), - [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_named_capturing_group, 5, 0, 0), - [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 5, 0, 8), - [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 5, 0, 8), - [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 5, 0, 3), - [184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 5, 0, 3), - [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 5, 0, 9), - [188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 5, 0, 9), - [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 5, 0, 10), - [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 5, 0, 10), - [194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class_escape, 1, 0, 0), - [196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class_escape, 1, 0, 0), - [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 3, 0, 0), - [200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 3, 0, 0), - [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_zero_or_more, 1, 0, 0), - [206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_zero_or_more, 1, 0, 0), - [208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional, 1, 0, 0), - [212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional, 1, 0, 0), - [214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_one_or_more, 1, 0, 0), - [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_one_or_more, 1, 0, 0), - [220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 4, 0, 0), - [224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 4, 0, 0), - [226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 5, 0, 0), - [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 5, 0, 0), - [232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 6, 0, 14), - [236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 6, 0, 14), - [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_zero_or_more, 2, 0, 1), - [240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_zero_or_more, 2, 0, 1), - [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional, 2, 0, 1), - [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional, 2, 0, 1), - [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_one_or_more, 2, 0, 1), - [248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_one_or_more, 2, 0, 1), - [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 4, 0, 7), - [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 4, 0, 7), - [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), - [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 5, 0, 12), - [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 5, 0, 12), - [260] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), - [262] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), - [264] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), - [266] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), - [268] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), - [270] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), - [272] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), - [274] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), - [276] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), - [278] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), - [280] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), - [282] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), - [284] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), - [286] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), - [288] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), - [290] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(95), - [293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), - [295] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(112), - [298] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(52), - [301] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(63), - [304] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(67), - [307] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(114), - [310] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(66), - [313] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(65), - [316] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), - [318] = {.entry = {.count = 1, .reusable = false}}, SHIFT(24), - [320] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), - [322] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), - [324] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), - [326] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), - [328] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), - [330] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), - [332] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), - [334] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), - [336] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), - [338] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), - [340] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), - [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 4), - [344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), - [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 0), - [348] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 6), - [350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 3), - [352] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 1, 0, 0), SHIFT(72), - [355] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 1, 0, 0), - [357] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), - [359] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), - [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [363] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), - [365] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), - [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alternation, 2, 0, 0), - [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alternation, 1, 0, 0), - [373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_alternation_repeat1, 2, 0, 0), - [375] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_alternation_repeat1, 2, 0, 0), SHIFT_REPEAT(7), - [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 1, 0, 0), - [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unicode_property_value_expression, 1, 0, 0), - [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [424] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unicode_property_value_expression, 3, 0, 11), - [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [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}}, SHIFT(41), - [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [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), }; #ifdef __cplusplus diff --git a/test/corpus/main.txt b/test/corpus/main.txt index 34f1707..cd8869e 100644 --- a/test/corpus/main.txt +++ b/test/corpus/main.txt @@ -691,3 +691,46 @@ Hexadecimal digits escape sequence (control_escape)) (control_escape)))) +============================================================ +Inline regex flags +============================================================ + +(?aiLmsux) +(?aiLmsux:test) +(?aiLmsux-imsx:test) +(?-imsx:test) +(?-imsx) + +------------------------------------------------------------ + +(pattern + (term + (inline_flags_group + (flags)) + (inline_flags_group + (flags) + (pattern + (term + (pattern_character) + (pattern_character) + (pattern_character) + (pattern_character)))) + (inline_flags_group + (flags) + (flags) + (pattern + (term + (pattern_character) + (pattern_character) + (pattern_character) + (pattern_character)))) + (inline_flags_group + (flags) + (pattern + (term + (pattern_character) + (pattern_character) + (pattern_character) + (pattern_character)))) + (inline_flags_group + (flags))))