From 393915db4b16a792da9c60f52d11d93247d870b9 Mon Sep 17 00:00:00 2001 From: Amaan Qureshi Date: Tue, 25 Apr 2023 22:20:20 -0400 Subject: [PATCH] feat: add negated classes --- grammar.js | 21 +- src/grammar.json | 110 +-- src/node-types.json | 82 +- src/parser.c | 2061 +++++++++++++++++++++---------------------- 4 files changed, 990 insertions(+), 1284 deletions(-) diff --git a/grammar.js b/grammar.js index 4eafa52..0315095 100644 --- a/grammar.js +++ b/grammar.js @@ -50,16 +50,6 @@ module.exports = grammar({ optional($.quantifier), ), - all_letters_char: _ => token.immediate('a'), - control_char: _ => token.immediate('c'), - digit_char: _ => token.immediate('d'), - printable_char: _ => token.immediate('g'), - lowercase_char: _ => token.immediate('l'), - punctuation_char: _ => token.immediate('p'), - space_char: _ => token.immediate('s'), - uppercase_char: _ => token.immediate('u'), - alphanumeric_char: _ => token.immediate('w'), - hexadecimal_char: _ => token.immediate('x'), escape_char: _ => token.immediate(/\W/), capture_index: _ => token.immediate(/[1-9]/), balanced_match: $ => seq( @@ -91,16 +81,7 @@ module.exports = grammar({ class: $ => seq( token.immediate('%'), choice( - $.all_letters_char, - $.control_char, - $.digit_char, - $.printable_char, - $.lowercase_char, - $.punctuation_char, - $.space_char, - $.uppercase_char, - $.alphanumeric_char, - $.hexadecimal_char, + /[acdglpsuwxACDGLPSUWX]/, $.capture_index, $.balanced_match, $.escape_char, diff --git a/src/grammar.json b/src/grammar.json index b1d0e50..47323fc 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -125,76 +125,6 @@ } ] }, - "all_letters_char": { - "type": "IMMEDIATE_TOKEN", - "content": { - "type": "STRING", - "value": "a" - } - }, - "control_char": { - "type": "IMMEDIATE_TOKEN", - "content": { - "type": "STRING", - "value": "c" - } - }, - "digit_char": { - "type": "IMMEDIATE_TOKEN", - "content": { - "type": "STRING", - "value": "d" - } - }, - "printable_char": { - "type": "IMMEDIATE_TOKEN", - "content": { - "type": "STRING", - "value": "g" - } - }, - "lowercase_char": { - "type": "IMMEDIATE_TOKEN", - "content": { - "type": "STRING", - "value": "l" - } - }, - "punctuation_char": { - "type": "IMMEDIATE_TOKEN", - "content": { - "type": "STRING", - "value": "p" - } - }, - "space_char": { - "type": "IMMEDIATE_TOKEN", - "content": { - "type": "STRING", - "value": "s" - } - }, - "uppercase_char": { - "type": "IMMEDIATE_TOKEN", - "content": { - "type": "STRING", - "value": "u" - } - }, - "alphanumeric_char": { - "type": "IMMEDIATE_TOKEN", - "content": { - "type": "STRING", - "value": "w" - } - }, - "hexadecimal_char": { - "type": "IMMEDIATE_TOKEN", - "content": { - "type": "STRING", - "value": "x" - } - }, "escape_char": { "type": "IMMEDIATE_TOKEN", "content": { @@ -341,44 +271,8 @@ "type": "CHOICE", "members": [ { - "type": "SYMBOL", - "name": "all_letters_char" - }, - { - "type": "SYMBOL", - "name": "control_char" - }, - { - "type": "SYMBOL", - "name": "digit_char" - }, - { - "type": "SYMBOL", - "name": "printable_char" - }, - { - "type": "SYMBOL", - "name": "lowercase_char" - }, - { - "type": "SYMBOL", - "name": "punctuation_char" - }, - { - "type": "SYMBOL", - "name": "space_char" - }, - { - "type": "SYMBOL", - "name": "uppercase_char" - }, - { - "type": "SYMBOL", - "name": "alphanumeric_char" - }, - { - "type": "SYMBOL", - "name": "hexadecimal_char" + "type": "PATTERN", + "value": "[acdglpsuwxACDGLPSUWX]" }, { "type": "SYMBOL", diff --git a/src/node-types.json b/src/node-types.json index 2543f67..c760dbf 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -115,16 +115,8 @@ "fields": {}, "children": { "multiple": false, - "required": true, + "required": false, "types": [ - { - "type": "all_letters_char", - "named": true - }, - { - "type": "alphanumeric_char", - "named": true - }, { "type": "balanced_match", "named": true @@ -133,41 +125,9 @@ "type": "capture_index", "named": true }, - { - "type": "control_char", - "named": true - }, - { - "type": "digit_char", - "named": true - }, { "type": "escape_char", "named": true - }, - { - "type": "hexadecimal_char", - "named": true - }, - { - "type": "lowercase_char", - "named": true - }, - { - "type": "printable_char", - "named": true - }, - { - "type": "punctuation_char", - "named": true - }, - { - "type": "space_char", - "named": true - }, - { - "type": "uppercase_char", - "named": true } ] } @@ -414,14 +374,6 @@ "type": "^", "named": false }, - { - "type": "all_letters_char", - "named": true - }, - { - "type": "alphanumeric_char", - "named": true - }, { "type": "b", "named": false @@ -430,46 +382,14 @@ "type": "capture_index", "named": true }, - { - "type": "control_char", - "named": true - }, - { - "type": "digit_char", - "named": true - }, { "type": "escape_char", "named": true }, - { - "type": "hexadecimal_char", - "named": true - }, - { - "type": "lowercase_char", - "named": true - }, { "type": "one_or_more", "named": true }, - { - "type": "printable_char", - "named": true - }, - { - "type": "punctuation_char", - "named": true - }, - { - "type": "space_char", - "named": true - }, - { - "type": "uppercase_char", - "named": true - }, { "type": "zero_or_more", "named": true diff --git a/src/parser.c b/src/parser.c index aa1473b..326b3df 100644 --- a/src/parser.c +++ b/src/parser.c @@ -8,9 +8,9 @@ #define LANGUAGE_VERSION 14 #define STATE_COUNT 95 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 47 +#define SYMBOL_COUNT 38 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 30 +#define TOKEN_COUNT 21 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 4 #define MAX_ALIAS_SEQUENCE_LENGTH 5 @@ -21,48 +21,39 @@ enum { anon_sym_CARET = 2, aux_sym__raw_character_token1 = 3, anon_sym_DOT = 4, - sym_all_letters_char = 5, - sym_control_char = 6, - sym_digit_char = 7, - sym_printable_char = 8, - sym_lowercase_char = 9, - sym_punctuation_char = 10, - sym_space_char = 11, - sym_uppercase_char = 12, - sym_alphanumeric_char = 13, - sym_hexadecimal_char = 14, - sym_escape_char = 15, - sym_capture_index = 16, - anon_sym_b = 17, - aux_sym_balanced_match_token1 = 18, - anon_sym_PERCENTf = 19, - sym_zero_or_more = 20, - anon_sym_DASH = 21, - sym_one_or_more = 22, - sym_zero_or_one = 23, - anon_sym_PERCENT = 24, - aux_sym_range_token1 = 25, - anon_sym_LBRACK = 26, - anon_sym_LPAREN = 27, - anon_sym_RBRACK = 28, - anon_sym_RPAREN = 29, - sym_pattern = 30, - sym_anchor_begin = 31, - sym_anchor_end = 32, - sym__raw_character = 33, - sym_character = 34, - sym_balanced_match = 35, - sym_frontier_pattern = 36, - sym_shortest_zero_or_more = 37, - sym_class = 38, - sym_class_pattern = 39, - sym_range = 40, - sym_set = 41, - sym_negated_set = 42, - sym_capture = 43, - aux_sym_pattern_repeat1 = 44, - aux_sym_set_repeat1 = 45, - aux_sym_capture_repeat1 = 46, + sym_escape_char = 5, + sym_capture_index = 6, + anon_sym_b = 7, + aux_sym_balanced_match_token1 = 8, + anon_sym_PERCENTf = 9, + sym_zero_or_more = 10, + anon_sym_DASH = 11, + sym_one_or_more = 12, + sym_zero_or_one = 13, + anon_sym_PERCENT = 14, + aux_sym_class_token1 = 15, + aux_sym_range_token1 = 16, + anon_sym_LBRACK = 17, + anon_sym_LPAREN = 18, + anon_sym_RBRACK = 19, + anon_sym_RPAREN = 20, + sym_pattern = 21, + sym_anchor_begin = 22, + sym_anchor_end = 23, + sym__raw_character = 24, + sym_character = 25, + sym_balanced_match = 26, + sym_frontier_pattern = 27, + sym_shortest_zero_or_more = 28, + sym_class = 29, + sym_class_pattern = 30, + sym_range = 31, + sym_set = 32, + sym_negated_set = 33, + sym_capture = 34, + aux_sym_pattern_repeat1 = 35, + aux_sym_set_repeat1 = 36, + aux_sym_capture_repeat1 = 37, }; static const char * const ts_symbol_names[] = { @@ -71,16 +62,6 @@ static const char * const ts_symbol_names[] = { [anon_sym_CARET] = "^", [aux_sym__raw_character_token1] = "_raw_character_token1", [anon_sym_DOT] = ".", - [sym_all_letters_char] = "all_letters_char", - [sym_control_char] = "control_char", - [sym_digit_char] = "digit_char", - [sym_printable_char] = "printable_char", - [sym_lowercase_char] = "lowercase_char", - [sym_punctuation_char] = "punctuation_char", - [sym_space_char] = "space_char", - [sym_uppercase_char] = "uppercase_char", - [sym_alphanumeric_char] = "alphanumeric_char", - [sym_hexadecimal_char] = "hexadecimal_char", [sym_escape_char] = "escape_char", [sym_capture_index] = "capture_index", [anon_sym_b] = "b", @@ -91,6 +72,7 @@ static const char * const ts_symbol_names[] = { [sym_one_or_more] = "one_or_more", [sym_zero_or_one] = "zero_or_one", [anon_sym_PERCENT] = "%", + [aux_sym_class_token1] = "class_token1", [aux_sym_range_token1] = "character", [anon_sym_LBRACK] = "[", [anon_sym_LPAREN] = "(", @@ -121,16 +103,6 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_CARET] = anon_sym_CARET, [aux_sym__raw_character_token1] = aux_sym__raw_character_token1, [anon_sym_DOT] = anon_sym_DOT, - [sym_all_letters_char] = sym_all_letters_char, - [sym_control_char] = sym_control_char, - [sym_digit_char] = sym_digit_char, - [sym_printable_char] = sym_printable_char, - [sym_lowercase_char] = sym_lowercase_char, - [sym_punctuation_char] = sym_punctuation_char, - [sym_space_char] = sym_space_char, - [sym_uppercase_char] = sym_uppercase_char, - [sym_alphanumeric_char] = sym_alphanumeric_char, - [sym_hexadecimal_char] = sym_hexadecimal_char, [sym_escape_char] = sym_escape_char, [sym_capture_index] = sym_capture_index, [anon_sym_b] = anon_sym_b, @@ -141,6 +113,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_one_or_more] = sym_one_or_more, [sym_zero_or_one] = sym_zero_or_one, [anon_sym_PERCENT] = anon_sym_PERCENT, + [aux_sym_class_token1] = aux_sym_class_token1, [aux_sym_range_token1] = sym_character, [anon_sym_LBRACK] = anon_sym_LBRACK, [anon_sym_LPAREN] = anon_sym_LPAREN, @@ -186,46 +159,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [sym_all_letters_char] = { - .visible = true, - .named = true, - }, - [sym_control_char] = { - .visible = true, - .named = true, - }, - [sym_digit_char] = { - .visible = true, - .named = true, - }, - [sym_printable_char] = { - .visible = true, - .named = true, - }, - [sym_lowercase_char] = { - .visible = true, - .named = true, - }, - [sym_punctuation_char] = { - .visible = true, - .named = true, - }, - [sym_space_char] = { - .visible = true, - .named = true, - }, - [sym_uppercase_char] = { - .visible = true, - .named = true, - }, - [sym_alphanumeric_char] = { - .visible = true, - .named = true, - }, - [sym_hexadecimal_char] = { - .visible = true, - .named = true, - }, [sym_escape_char] = { .visible = true, .named = true, @@ -266,6 +199,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [aux_sym_class_token1] = { + .visible = false, + .named = false, + }, [aux_sym_range_token1] = { .visible = true, .named = true, @@ -412,387 +349,392 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [6] = 6, [7] = 7, [8] = 8, - [9] = 7, + [9] = 6, [10] = 8, [11] = 11, - [12] = 11, - [13] = 11, + [12] = 12, + [13] = 13, [14] = 14, [15] = 15, - [16] = 16, + [16] = 12, [17] = 17, [18] = 15, - [19] = 19, - [20] = 16, + [19] = 12, + [20] = 20, [21] = 21, - [22] = 22, - [23] = 23, - [24] = 17, - [25] = 15, - [26] = 21, - [27] = 14, - [28] = 19, - [29] = 16, - [30] = 15, - [31] = 31, - [32] = 16, - [33] = 33, - [34] = 34, - [35] = 35, - [36] = 33, - [37] = 34, - [38] = 31, - [39] = 35, - [40] = 22, - [41] = 23, - [42] = 42, - [43] = 43, - [44] = 43, - [45] = 43, - [46] = 46, - [47] = 42, - [48] = 48, - [49] = 43, - [50] = 48, - [51] = 48, - [52] = 42, - [53] = 42, - [54] = 48, - [55] = 55, - [56] = 55, - [57] = 55, - [58] = 55, - [59] = 23, + [22] = 13, + [23] = 17, + [24] = 11, + [25] = 14, + [26] = 15, + [27] = 27, + [28] = 28, + [29] = 29, + [30] = 30, + [31] = 12, + [32] = 15, + [33] = 29, + [34] = 20, + [35] = 27, + [36] = 28, + [37] = 21, + [38] = 30, + [39] = 39, + [40] = 40, + [41] = 41, + [42] = 40, + [43] = 40, + [44] = 44, + [45] = 40, + [46] = 41, + [47] = 44, + [48] = 44, + [49] = 41, + [50] = 44, + [51] = 41, + [52] = 52, + [53] = 52, + [54] = 52, + [55] = 52, + [56] = 28, + [57] = 57, + [58] = 58, + [59] = 59, [60] = 60, [61] = 61, [62] = 62, - [63] = 63, + [63] = 21, [64] = 64, [65] = 65, - [66] = 66, - [67] = 67, - [68] = 22, - [69] = 22, - [70] = 62, - [71] = 63, - [72] = 64, - [73] = 23, - [74] = 65, - [75] = 66, - [76] = 33, + [66] = 60, + [67] = 21, + [68] = 28, + [69] = 65, + [70] = 58, + [71] = 61, + [72] = 59, + [73] = 30, + [74] = 74, + [75] = 20, + [76] = 76, [77] = 77, - [78] = 34, - [79] = 31, - [80] = 80, - [81] = 81, + [78] = 27, + [79] = 79, + [80] = 79, + [81] = 79, [82] = 82, [83] = 82, [84] = 84, [85] = 84, - [86] = 86, + [86] = 84, [87] = 87, - [88] = 84, + [88] = 88, [89] = 89, - [90] = 89, - [91] = 91, - [92] = 89, + [90] = 90, + [91] = 90, + [92] = 92, [93] = 93, - [94] = 94, + [94] = 90, }; +static inline bool aux_sym_class_token1_character_set_1(int32_t c) { + return (c < 'W' + ? (c < 'L' + ? (c < 'C' + ? c == 'A' + : (c <= 'D' || c == 'G')) + : (c <= 'L' || (c < 'S' + ? c == 'P' + : (c <= 'S' || c == 'U')))) + : (c <= 'X' || (c < 'p' + ? (c < 'g' + ? (c >= 'a' && c <= 'd') + : (c <= 'g' || c == 'l')) + : (c <= 'p' || (c < 'u' + ? c == 's' + : (c <= 'u' || (c >= 'w' && c <= 'x'))))))); +} + +static inline bool aux_sym_class_token1_character_set_2(int32_t c) { + return (c < 'a' + ? (c < 'P' + ? (c < 'G' + ? (c < 'C' + ? c == 'A' + : c <= 'D') + : (c <= 'G' || c == 'L')) + : (c <= 'P' || (c < 'U' + ? c == 'S' + : (c <= 'U' || (c >= 'W' && c <= 'X'))))) + : (c <= 'a' || (c < 'p' + ? (c < 'g' + ? (c >= 'c' && c <= 'd') + : (c <= 'g' || c == 'l')) + : (c <= 'p' || (c < 'u' + ? c == 's' + : (c <= 'u' || (c >= 'w' && c <= 'x'))))))); +} + static bool ts_lex(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(14); - if (lookahead == '\n') SKIP(13) - if (lookahead == '$') ADVANCE(15); - if (lookahead == '%') ADVANCE(39); - if (lookahead == '(') ADVANCE(43); - if (lookahead == ')') ADVANCE(45); - if (lookahead == '*') ADVANCE(34); - if (lookahead == '+') ADVANCE(36); - if (lookahead == '-') ADVANCE(35); - if (lookahead == '.') ADVANCE(18); - if (lookahead == '?') ADVANCE(37); - if (lookahead == '[') ADVANCE(42); - if (lookahead == ']') ADVANCE(44); - if (lookahead == '^') ADVANCE(16); - if (lookahead == 'a') ADVANCE(19); - if (lookahead == 'b') ADVANCE(31); - if (lookahead == 'c') ADVANCE(20); - if (lookahead == 'd') ADVANCE(21); - if (lookahead == 'g') ADVANCE(22); - if (lookahead == 'l') ADVANCE(23); - if (lookahead == 'p') ADVANCE(24); - if (lookahead == 's') ADVANCE(25); - if (lookahead == 'u') ADVANCE(26); - if (lookahead == 'w') ADVANCE(27); - if (lookahead == 'x') ADVANCE(28); + if (eof) ADVANCE(15); + if (lookahead == '$') ADVANCE(16); + if (lookahead == '%') ADVANCE(30); + if (lookahead == '(') ADVANCE(35); + if (lookahead == ')') ADVANCE(37); + if (lookahead == '*') ADVANCE(25); + if (lookahead == '+') ADVANCE(27); + if (lookahead == '-') ADVANCE(26); + if (lookahead == '.') ADVANCE(19); + if (lookahead == '?') ADVANCE(28); + if (lookahead == '[') ADVANCE(34); + if (lookahead == ']') ADVANCE(36); + if (lookahead == '^') ADVANCE(17); + if (lookahead == 'b') ADVANCE(22); if (lookahead == '\t' || + lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(17); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(17); - if (lookahead != 0) ADVANCE(17); + lookahead == ' ') SKIP(13) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(21); + if (aux_sym_class_token1_character_set_1(lookahead)) ADVANCE(31); END_STATE(); case 1: if (lookahead == '\n') SKIP(6) - if (lookahead == '%') ADVANCE(39); - if (lookahead == '(') ADVANCE(43); - if (lookahead == ')') ADVANCE(45); - if (lookahead == '*') ADVANCE(34); - if (lookahead == '+') ADVANCE(36); - if (lookahead == '-') ADVANCE(35); - if (lookahead == '.') ADVANCE(18); - if (lookahead == '?') ADVANCE(37); - if (lookahead == '[') ADVANCE(42); + if (lookahead == '%') ADVANCE(30); + if (lookahead == '(') ADVANCE(35); + if (lookahead == ')') ADVANCE(37); + if (lookahead == '*') ADVANCE(25); + if (lookahead == '+') ADVANCE(27); + if (lookahead == '-') ADVANCE(26); + if (lookahead == '.') ADVANCE(19); + if (lookahead == '?') ADVANCE(28); + if (lookahead == '[') ADVANCE(34); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(17); - if (lookahead != 0) ADVANCE(17); + lookahead == ' ') ADVANCE(18); + if (lookahead != 0) ADVANCE(18); END_STATE(); case 2: if (lookahead == '\n') SKIP(6) - if (lookahead == '%') ADVANCE(39); - if (lookahead == '(') ADVANCE(43); - if (lookahead == ')') ADVANCE(45); - if (lookahead == '.') ADVANCE(18); - if (lookahead == '[') ADVANCE(42); + if (lookahead == '%') ADVANCE(30); + if (lookahead == '(') ADVANCE(35); + if (lookahead == ')') ADVANCE(37); + if (lookahead == '.') ADVANCE(19); + if (lookahead == '[') ADVANCE(34); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(17); - if (lookahead != 0) ADVANCE(17); + lookahead == ' ') ADVANCE(18); + if (lookahead != 0) ADVANCE(18); END_STATE(); case 3: if (lookahead == '\n') SKIP(6) - if (lookahead == '%') ADVANCE(38); - if (lookahead == '(') ADVANCE(43); - if (lookahead == '-') ADVANCE(35); - if (lookahead == '.') ADVANCE(18); - if (lookahead == ']') ADVANCE(44); + if (lookahead == '%') ADVANCE(29); + if (lookahead == '(') ADVANCE(35); + if (lookahead == '-') ADVANCE(26); + if (lookahead == '.') ADVANCE(19); + if (lookahead == ']') ADVANCE(36); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(17); + lookahead == ' ') ADVANCE(18); if (lookahead != 0 && - lookahead != '[') ADVANCE(17); + lookahead != '[') ADVANCE(18); END_STATE(); case 4: if (lookahead == '\n') SKIP(6) - if (lookahead == '%') ADVANCE(38); - if (lookahead == '(') ADVANCE(43); - if (lookahead == '-') ADVANCE(35); - if (lookahead == '.') ADVANCE(18); - if (lookahead == '^') ADVANCE(16); + if (lookahead == '%') ADVANCE(29); + if (lookahead == '(') ADVANCE(35); + if (lookahead == '-') ADVANCE(26); + if (lookahead == '.') ADVANCE(19); + if (lookahead == '^') ADVANCE(17); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(17); + lookahead == ' ') ADVANCE(18); if (lookahead != 0 && - lookahead != '[') ADVANCE(17); + lookahead != '[') ADVANCE(18); END_STATE(); case 5: if (lookahead == '\n') SKIP(6) - if (lookahead == '%') ADVANCE(38); - if (lookahead == '(') ADVANCE(43); - if (lookahead == '-') ADVANCE(35); - if (lookahead == '.') ADVANCE(18); + if (lookahead == '%') ADVANCE(29); + if (lookahead == '(') ADVANCE(35); + if (lookahead == '-') ADVANCE(26); + if (lookahead == '.') ADVANCE(19); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(17); + lookahead == ' ') ADVANCE(18); if (lookahead != 0 && - lookahead != '[') ADVANCE(17); + lookahead != '[') ADVANCE(18); END_STATE(); case 6: - if (lookahead == '.') ADVANCE(18); + if (lookahead == '.') ADVANCE(19); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(6) END_STATE(); case 7: - if (lookahead == 'a') ADVANCE(19); - if (lookahead == 'b') ADVANCE(31); - if (lookahead == 'c') ADVANCE(20); - if (lookahead == 'd') ADVANCE(21); - if (lookahead == 'g') ADVANCE(22); - if (lookahead == 'l') ADVANCE(23); - if (lookahead == 'p') ADVANCE(24); - if (lookahead == 's') ADVANCE(25); - if (lookahead == 'u') ADVANCE(26); - if (lookahead == 'w') ADVANCE(27); - if (lookahead == 'x') ADVANCE(28); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(30); + if (lookahead == 'b') ADVANCE(22); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(20); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(21); + if (aux_sym_class_token1_character_set_1(lookahead)) ADVANCE(31); if (lookahead != 0 && lookahead != '0' && - (lookahead < 'A' || 'Z' < lookahead) && + (lookahead < 'B' || 'Z' < lookahead) && lookahead != '_' && - (lookahead < 'e' || 'z' < lookahead)) ADVANCE(29); + (lookahead < 'e' || 'z' < lookahead)) ADVANCE(20); END_STATE(); case 8: if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(41); + lookahead == ' ') ADVANCE(33); if (lookahead != 0 && - lookahead != ']') ADVANCE(40); + lookahead != ']') ADVANCE(32); END_STATE(); case 9: if (lookahead != 0 && - lookahead != '\n') ADVANCE(32); + lookahead != '\n') ADVANCE(23); END_STATE(); case 10: - if (eof) ADVANCE(14); - if (lookahead == '\n') SKIP(13) - if (lookahead == '$') ADVANCE(15); - if (lookahead == '%') ADVANCE(39); - if (lookahead == '(') ADVANCE(43); - if (lookahead == '*') ADVANCE(34); - if (lookahead == '+') ADVANCE(36); - if (lookahead == '-') ADVANCE(35); - if (lookahead == '.') ADVANCE(18); - if (lookahead == '?') ADVANCE(37); - if (lookahead == '[') ADVANCE(42); + if (eof) ADVANCE(15); + if (lookahead == '\n') SKIP(14) + if (lookahead == '$') ADVANCE(16); + if (lookahead == '%') ADVANCE(30); + if (lookahead == '(') ADVANCE(35); + if (lookahead == '*') ADVANCE(25); + if (lookahead == '+') ADVANCE(27); + if (lookahead == '-') ADVANCE(26); + if (lookahead == '.') ADVANCE(19); + if (lookahead == '?') ADVANCE(28); + if (lookahead == '[') ADVANCE(34); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(17); - if (lookahead != 0) ADVANCE(17); + lookahead == ' ') ADVANCE(18); + if (lookahead != 0) ADVANCE(18); END_STATE(); case 11: - if (eof) ADVANCE(14); - if (lookahead == '\n') SKIP(13) - if (lookahead == '$') ADVANCE(15); - if (lookahead == '%') ADVANCE(39); - if (lookahead == '(') ADVANCE(43); - if (lookahead == '.') ADVANCE(18); - if (lookahead == '[') ADVANCE(42); - if (lookahead == '^') ADVANCE(16); + if (eof) ADVANCE(15); + if (lookahead == '\n') SKIP(14) + if (lookahead == '$') ADVANCE(16); + if (lookahead == '%') ADVANCE(30); + if (lookahead == '(') ADVANCE(35); + if (lookahead == '.') ADVANCE(19); + if (lookahead == '[') ADVANCE(34); + if (lookahead == '^') ADVANCE(17); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(17); - if (lookahead != 0) ADVANCE(17); + lookahead == ' ') ADVANCE(18); + if (lookahead != 0) ADVANCE(18); END_STATE(); case 12: - if (eof) ADVANCE(14); - if (lookahead == '\n') SKIP(13) - if (lookahead == '$') ADVANCE(15); - if (lookahead == '%') ADVANCE(39); - if (lookahead == '(') ADVANCE(43); - if (lookahead == '.') ADVANCE(18); - if (lookahead == '[') ADVANCE(42); + if (eof) ADVANCE(15); + if (lookahead == '\n') SKIP(14) + if (lookahead == '$') ADVANCE(16); + if (lookahead == '%') ADVANCE(30); + if (lookahead == '(') ADVANCE(35); + if (lookahead == '.') ADVANCE(19); + if (lookahead == '[') ADVANCE(34); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(17); - if (lookahead != 0) ADVANCE(17); + lookahead == ' ') ADVANCE(18); + if (lookahead != 0) ADVANCE(18); END_STATE(); case 13: - if (eof) ADVANCE(14); - if (lookahead == '.') ADVANCE(18); + if (eof) ADVANCE(15); + if (lookahead == '.') ADVANCE(19); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(13) + if (aux_sym_class_token1_character_set_2(lookahead)) ADVANCE(31); END_STATE(); case 14: - ACCEPT_TOKEN(ts_builtin_sym_end); + if (eof) ADVANCE(15); + if (lookahead == '.') ADVANCE(19); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(14) END_STATE(); case 15: - ACCEPT_TOKEN(anon_sym_DOLLAR); + ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 16: - ACCEPT_TOKEN(anon_sym_CARET); + ACCEPT_TOKEN(anon_sym_DOLLAR); END_STATE(); case 17: - ACCEPT_TOKEN(aux_sym__raw_character_token1); + ACCEPT_TOKEN(anon_sym_CARET); END_STATE(); case 18: - ACCEPT_TOKEN(anon_sym_DOT); + ACCEPT_TOKEN(aux_sym__raw_character_token1); END_STATE(); case 19: - ACCEPT_TOKEN(sym_all_letters_char); + ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); case 20: - ACCEPT_TOKEN(sym_control_char); + ACCEPT_TOKEN(sym_escape_char); END_STATE(); case 21: - ACCEPT_TOKEN(sym_digit_char); + ACCEPT_TOKEN(sym_capture_index); END_STATE(); case 22: - ACCEPT_TOKEN(sym_printable_char); + ACCEPT_TOKEN(anon_sym_b); END_STATE(); case 23: - ACCEPT_TOKEN(sym_lowercase_char); + ACCEPT_TOKEN(aux_sym_balanced_match_token1); END_STATE(); case 24: - ACCEPT_TOKEN(sym_punctuation_char); + ACCEPT_TOKEN(anon_sym_PERCENTf); END_STATE(); case 25: - ACCEPT_TOKEN(sym_space_char); + ACCEPT_TOKEN(sym_zero_or_more); END_STATE(); case 26: - ACCEPT_TOKEN(sym_uppercase_char); + ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); case 27: - ACCEPT_TOKEN(sym_alphanumeric_char); + ACCEPT_TOKEN(sym_one_or_more); END_STATE(); case 28: - ACCEPT_TOKEN(sym_hexadecimal_char); + ACCEPT_TOKEN(sym_zero_or_one); END_STATE(); case 29: - ACCEPT_TOKEN(sym_escape_char); + ACCEPT_TOKEN(anon_sym_PERCENT); END_STATE(); case 30: - ACCEPT_TOKEN(sym_capture_index); + ACCEPT_TOKEN(anon_sym_PERCENT); + if (lookahead == 'f') ADVANCE(24); END_STATE(); case 31: - ACCEPT_TOKEN(anon_sym_b); + ACCEPT_TOKEN(aux_sym_class_token1); END_STATE(); case 32: - ACCEPT_TOKEN(aux_sym_balanced_match_token1); - END_STATE(); - case 33: - ACCEPT_TOKEN(anon_sym_PERCENTf); - END_STATE(); - case 34: - ACCEPT_TOKEN(sym_zero_or_more); - END_STATE(); - case 35: - ACCEPT_TOKEN(anon_sym_DASH); - END_STATE(); - case 36: - ACCEPT_TOKEN(sym_one_or_more); - END_STATE(); - case 37: - ACCEPT_TOKEN(sym_zero_or_one); - END_STATE(); - case 38: - ACCEPT_TOKEN(anon_sym_PERCENT); - END_STATE(); - case 39: - ACCEPT_TOKEN(anon_sym_PERCENT); - if (lookahead == 'f') ADVANCE(33); - END_STATE(); - case 40: ACCEPT_TOKEN(aux_sym_range_token1); END_STATE(); - case 41: + case 33: ACCEPT_TOKEN(aux_sym_range_token1); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(41); + lookahead == ' ') ADVANCE(33); if (lookahead != 0 && - lookahead != ']') ADVANCE(40); + lookahead != ']') ADVANCE(32); END_STATE(); - case 42: + case 34: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 43: + case 35: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 44: + case 36: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 45: + case 37: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); default: @@ -812,54 +754,54 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [8] = {.lex_state = 2}, [9] = {.lex_state = 2}, [10] = {.lex_state = 2}, - [11] = {.lex_state = 7}, - [12] = {.lex_state = 7}, - [13] = {.lex_state = 7}, + [11] = {.lex_state = 10}, + [12] = {.lex_state = 10}, + [13] = {.lex_state = 10}, [14] = {.lex_state = 10}, [15] = {.lex_state = 10}, [16] = {.lex_state = 10}, [17] = {.lex_state = 10}, [18] = {.lex_state = 10}, - [19] = {.lex_state = 10}, + [19] = {.lex_state = 1}, [20] = {.lex_state = 10}, [21] = {.lex_state = 10}, - [22] = {.lex_state = 10}, - [23] = {.lex_state = 10}, + [22] = {.lex_state = 1}, + [23] = {.lex_state = 1}, [24] = {.lex_state = 1}, [25] = {.lex_state = 1}, [26] = {.lex_state = 1}, - [27] = {.lex_state = 1}, - [28] = {.lex_state = 1}, - [29] = {.lex_state = 1}, - [30] = {.lex_state = 1}, - [31] = {.lex_state = 10}, + [27] = {.lex_state = 10}, + [28] = {.lex_state = 10}, + [29] = {.lex_state = 10}, + [30] = {.lex_state = 10}, + [31] = {.lex_state = 1}, [32] = {.lex_state = 1}, - [33] = {.lex_state = 10}, - [34] = {.lex_state = 10}, - [35] = {.lex_state = 10}, + [33] = {.lex_state = 1}, + [34] = {.lex_state = 1}, + [35] = {.lex_state = 1}, [36] = {.lex_state = 1}, [37] = {.lex_state = 1}, [38] = {.lex_state = 1}, - [39] = {.lex_state = 1}, - [40] = {.lex_state = 1}, - [41] = {.lex_state = 1}, - [42] = {.lex_state = 3}, + [39] = {.lex_state = 3}, + [40] = {.lex_state = 4}, + [41] = {.lex_state = 3}, + [42] = {.lex_state = 4}, [43] = {.lex_state = 4}, - [44] = {.lex_state = 4}, + [44] = {.lex_state = 3}, [45] = {.lex_state = 4}, [46] = {.lex_state = 3}, [47] = {.lex_state = 3}, [48] = {.lex_state = 3}, - [49] = {.lex_state = 4}, + [49] = {.lex_state = 3}, [50] = {.lex_state = 3}, [51] = {.lex_state = 3}, - [52] = {.lex_state = 3}, - [53] = {.lex_state = 3}, - [54] = {.lex_state = 3}, + [52] = {.lex_state = 5}, + [53] = {.lex_state = 5}, + [54] = {.lex_state = 5}, [55] = {.lex_state = 5}, - [56] = {.lex_state = 5}, - [57] = {.lex_state = 5}, - [58] = {.lex_state = 5}, + [56] = {.lex_state = 12}, + [57] = {.lex_state = 12}, + [58] = {.lex_state = 12}, [59] = {.lex_state = 12}, [60] = {.lex_state = 12}, [61] = {.lex_state = 12}, @@ -867,35 +809,35 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [63] = {.lex_state = 12}, [64] = {.lex_state = 12}, [65] = {.lex_state = 12}, - [66] = {.lex_state = 12}, - [67] = {.lex_state = 12}, - [68] = {.lex_state = 12}, + [66] = {.lex_state = 2}, + [67] = {.lex_state = 2}, + [68] = {.lex_state = 2}, [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}, + [73] = {.lex_state = 3}, + [74] = {.lex_state = 3}, + [75] = {.lex_state = 3}, [76] = {.lex_state = 3}, [77] = {.lex_state = 3}, [78] = {.lex_state = 3}, - [79] = {.lex_state = 3}, - [80] = {.lex_state = 3}, - [81] = {.lex_state = 3}, + [79] = {.lex_state = 7}, + [80] = {.lex_state = 7}, + [81] = {.lex_state = 7}, [82] = {.lex_state = 0}, [83] = {.lex_state = 0}, [84] = {.lex_state = 9}, [85] = {.lex_state = 9}, - [86] = {.lex_state = 0}, + [86] = {.lex_state = 9}, [87] = {.lex_state = 0}, - [88] = {.lex_state = 9}, - [89] = {.lex_state = 9}, + [88] = {.lex_state = 0}, + [89] = {.lex_state = 8}, [90] = {.lex_state = 9}, - [91] = {.lex_state = 0}, - [92] = {.lex_state = 9}, + [91] = {.lex_state = 9}, + [92] = {.lex_state = 0}, [93] = {.lex_state = 0}, - [94] = {.lex_state = 8}, + [94] = {.lex_state = 9}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -903,18 +845,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [ts_builtin_sym_end] = ACTIONS(1), [anon_sym_DOLLAR] = ACTIONS(1), [anon_sym_CARET] = ACTIONS(1), - [aux_sym__raw_character_token1] = ACTIONS(1), [anon_sym_DOT] = ACTIONS(1), - [sym_all_letters_char] = ACTIONS(1), - [sym_control_char] = ACTIONS(1), - [sym_digit_char] = ACTIONS(1), - [sym_printable_char] = ACTIONS(1), - [sym_lowercase_char] = ACTIONS(1), - [sym_punctuation_char] = ACTIONS(1), - [sym_space_char] = ACTIONS(1), - [sym_uppercase_char] = ACTIONS(1), - [sym_alphanumeric_char] = ACTIONS(1), - [sym_hexadecimal_char] = ACTIONS(1), [sym_capture_index] = ACTIONS(1), [anon_sym_b] = ACTIONS(1), [anon_sym_PERCENTf] = ACTIONS(1), @@ -923,6 +854,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_one_or_more] = ACTIONS(1), [sym_zero_or_one] = ACTIONS(1), [anon_sym_PERCENT] = ACTIONS(1), + [aux_sym_class_token1] = ACTIONS(1), [anon_sym_LBRACK] = ACTIONS(1), [anon_sym_LPAREN] = ACTIONS(1), [anon_sym_RBRACK] = ACTIONS(1), @@ -930,17 +862,17 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }, [1] = { [sym_pattern] = STATE(93), - [sym_anchor_begin] = STATE(3), - [sym_anchor_end] = STATE(91), - [sym__raw_character] = STATE(19), - [sym_character] = STATE(2), - [sym_frontier_pattern] = STATE(14), - [sym_class] = STATE(14), - [sym_class_pattern] = STATE(2), - [sym_set] = STATE(2), - [sym_negated_set] = STATE(2), - [sym_capture] = STATE(2), - [aux_sym_pattern_repeat1] = STATE(2), + [sym_anchor_begin] = STATE(4), + [sym_anchor_end] = STATE(92), + [sym__raw_character] = STATE(14), + [sym_character] = STATE(3), + [sym_frontier_pattern] = STATE(11), + [sym_class] = STATE(11), + [sym_class_pattern] = STATE(3), + [sym_set] = STATE(3), + [sym_negated_set] = STATE(3), + [sym_capture] = STATE(3), + [aux_sym_pattern_repeat1] = STATE(3), [ts_builtin_sym_end] = ACTIONS(3), [anon_sym_DOLLAR] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -967,14 +899,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, ACTIONS(19), 1, ts_builtin_sym_end, - STATE(19), 1, + STATE(14), 1, sym__raw_character, - STATE(86), 1, + STATE(88), 1, sym_anchor_end, ACTIONS(9), 2, aux_sym__raw_character_token1, anon_sym_DOT, - STATE(14), 2, + STATE(11), 2, sym_frontier_pattern, sym_class, STATE(5), 6, @@ -995,19 +927,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(19), 1, + ACTIONS(21), 1, ts_builtin_sym_end, - STATE(19), 1, + STATE(14), 1, sym__raw_character, - STATE(86), 1, + STATE(87), 1, sym_anchor_end, ACTIONS(9), 2, aux_sym__raw_character_token1, anon_sym_DOT, - STATE(14), 2, + STATE(11), 2, sym_frontier_pattern, sym_class, - STATE(4), 6, + STATE(5), 6, sym_character, sym_class_pattern, sym_set, @@ -1027,17 +959,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, ACTIONS(21), 1, ts_builtin_sym_end, - STATE(19), 1, + STATE(14), 1, sym__raw_character, STATE(87), 1, sym_anchor_end, ACTIONS(9), 2, aux_sym__raw_character_token1, anon_sym_DOT, - STATE(14), 2, + STATE(11), 2, sym_frontier_pattern, sym_class, - STATE(5), 6, + STATE(2), 6, sym_character, sym_class_pattern, sym_set, @@ -1057,12 +989,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(40), 1, anon_sym_LPAREN, - STATE(19), 1, + STATE(14), 1, sym__raw_character, ACTIONS(28), 2, aux_sym__raw_character_token1, anon_sym_DOT, - STATE(14), 2, + STATE(11), 2, sym_frontier_pattern, sym_class, STATE(5), 6, @@ -1073,25 +1005,25 @@ static const uint16_t ts_small_parse_table[] = { sym_capture, aux_sym_pattern_repeat1, [161] = 9, - ACTIONS(46), 1, + ACTIONS(45), 1, anon_sym_PERCENTf, - ACTIONS(49), 1, + ACTIONS(47), 1, anon_sym_PERCENT, - ACTIONS(52), 1, + ACTIONS(49), 1, anon_sym_LBRACK, - ACTIONS(55), 1, + ACTIONS(51), 1, anon_sym_LPAREN, - ACTIONS(58), 1, + ACTIONS(53), 1, anon_sym_RPAREN, - STATE(28), 1, + STATE(25), 1, sym__raw_character, ACTIONS(43), 2, aux_sym__raw_character_token1, anon_sym_DOT, - STATE(27), 2, + STATE(24), 2, sym_frontier_pattern, sym_class, - STATE(6), 6, + STATE(7), 6, sym_character, sym_class_pattern, sym_set, @@ -1099,25 +1031,25 @@ static const uint16_t ts_small_parse_table[] = { sym_capture, aux_sym_capture_repeat1, [196] = 9, - ACTIONS(62), 1, + ACTIONS(58), 1, anon_sym_PERCENTf, - ACTIONS(64), 1, + ACTIONS(61), 1, anon_sym_PERCENT, - ACTIONS(66), 1, + ACTIONS(64), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(67), 1, anon_sym_LPAREN, ACTIONS(70), 1, anon_sym_RPAREN, - STATE(28), 1, + STATE(25), 1, sym__raw_character, - ACTIONS(60), 2, + ACTIONS(55), 2, aux_sym__raw_character_token1, anon_sym_DOT, - STATE(27), 2, + STATE(24), 2, sym_frontier_pattern, sym_class, - STATE(8), 6, + STATE(7), 6, sym_character, sym_class_pattern, sym_set, @@ -1125,25 +1057,25 @@ static const uint16_t ts_small_parse_table[] = { sym_capture, aux_sym_capture_repeat1, [231] = 9, - ACTIONS(62), 1, + ACTIONS(45), 1, anon_sym_PERCENTf, - ACTIONS(64), 1, + ACTIONS(47), 1, anon_sym_PERCENT, - ACTIONS(66), 1, + ACTIONS(49), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(51), 1, anon_sym_LPAREN, ACTIONS(72), 1, anon_sym_RPAREN, - STATE(28), 1, + STATE(25), 1, sym__raw_character, - ACTIONS(60), 2, + ACTIONS(43), 2, aux_sym__raw_character_token1, anon_sym_DOT, - STATE(27), 2, + STATE(24), 2, sym_frontier_pattern, sym_class, - STATE(6), 6, + STATE(9), 6, sym_character, sym_class_pattern, sym_set, @@ -1151,25 +1083,25 @@ static const uint16_t ts_small_parse_table[] = { sym_capture, aux_sym_capture_repeat1, [266] = 9, - ACTIONS(62), 1, + ACTIONS(45), 1, anon_sym_PERCENTf, - ACTIONS(64), 1, + ACTIONS(47), 1, anon_sym_PERCENT, - ACTIONS(66), 1, + ACTIONS(49), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(51), 1, anon_sym_LPAREN, ACTIONS(74), 1, anon_sym_RPAREN, - STATE(28), 1, + STATE(25), 1, sym__raw_character, - ACTIONS(60), 2, + ACTIONS(43), 2, aux_sym__raw_character_token1, anon_sym_DOT, - STATE(27), 2, + STATE(24), 2, sym_frontier_pattern, sym_class, - STATE(10), 6, + STATE(7), 6, sym_character, sym_class_pattern, sym_set, @@ -1177,22 +1109,22 @@ static const uint16_t ts_small_parse_table[] = { sym_capture, aux_sym_capture_repeat1, [301] = 9, - ACTIONS(62), 1, + ACTIONS(45), 1, anon_sym_PERCENTf, - ACTIONS(64), 1, + ACTIONS(47), 1, anon_sym_PERCENT, - ACTIONS(66), 1, + ACTIONS(49), 1, anon_sym_LBRACK, - ACTIONS(68), 1, + ACTIONS(51), 1, anon_sym_LPAREN, ACTIONS(76), 1, anon_sym_RPAREN, - STATE(28), 1, + STATE(25), 1, sym__raw_character, - ACTIONS(60), 2, + ACTIONS(43), 2, aux_sym__raw_character_token1, anon_sym_DOT, - STATE(27), 2, + STATE(24), 2, sym_frontier_pattern, sym_class, STATE(6), 6, @@ -1202,180 +1134,145 @@ static const uint16_t ts_small_parse_table[] = { sym_negated_set, sym_capture, aux_sym_capture_repeat1, - [336] = 3, - ACTIONS(80), 1, - anon_sym_b, - STATE(79), 1, - sym_balanced_match, - ACTIONS(78), 12, - sym_all_letters_char, - sym_control_char, - sym_digit_char, - sym_printable_char, - sym_lowercase_char, - sym_punctuation_char, - sym_space_char, - sym_uppercase_char, - sym_alphanumeric_char, - sym_hexadecimal_char, - sym_escape_char, - sym_capture_index, - [357] = 3, + [336] = 5, ACTIONS(84), 1, - anon_sym_b, - STATE(31), 1, - sym_balanced_match, - ACTIONS(82), 12, - sym_all_letters_char, - sym_control_char, - sym_digit_char, - sym_printable_char, - sym_lowercase_char, - sym_punctuation_char, - sym_space_char, - sym_uppercase_char, - sym_alphanumeric_char, - sym_hexadecimal_char, - sym_escape_char, - sym_capture_index, - [378] = 3, - ACTIONS(88), 1, - anon_sym_b, - STATE(38), 1, - sym_balanced_match, - ACTIONS(86), 12, - sym_all_letters_char, - sym_control_char, - sym_digit_char, - sym_printable_char, - sym_lowercase_char, - sym_punctuation_char, - sym_space_char, - sym_uppercase_char, - sym_alphanumeric_char, - sym_hexadecimal_char, - sym_escape_char, - sym_capture_index, - [399] = 5, - ACTIONS(96), 1, anon_sym_DASH, - STATE(64), 1, + STATE(58), 1, sym_shortest_zero_or_more, - ACTIONS(92), 3, + ACTIONS(80), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(94), 3, + ACTIONS(82), 3, sym_zero_or_more, sym_one_or_more, sym_zero_or_one, - ACTIONS(90), 5, + ACTIONS(78), 5, ts_builtin_sym_end, anon_sym_DOLLAR, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, - [423] = 5, - ACTIONS(96), 1, + [360] = 3, + STATE(28), 1, + sym_shortest_zero_or_more, + ACTIONS(88), 3, + aux_sym__raw_character_token1, + anon_sym_DOT, + anon_sym_PERCENT, + ACTIONS(86), 9, + ts_builtin_sym_end, + anon_sym_DOLLAR, + anon_sym_PERCENTf, + sym_zero_or_more, anon_sym_DASH, - STATE(68), 1, + sym_one_or_more, + sym_zero_or_one, + anon_sym_LBRACK, + anon_sym_LPAREN, + [380] = 5, + ACTIONS(84), 1, + anon_sym_DASH, + STATE(65), 1, sym_shortest_zero_or_more, - ACTIONS(100), 3, + ACTIONS(92), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(102), 3, + ACTIONS(94), 3, sym_zero_or_more, sym_one_or_more, sym_zero_or_one, - ACTIONS(98), 5, + ACTIONS(90), 5, ts_builtin_sym_end, anon_sym_DOLLAR, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, - [447] = 5, - ACTIONS(96), 1, + [404] = 5, + ACTIONS(84), 1, anon_sym_DASH, - STATE(59), 1, + STATE(61), 1, sym_shortest_zero_or_more, - ACTIONS(106), 3, + ACTIONS(98), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(108), 3, + ACTIONS(100), 3, sym_zero_or_more, sym_one_or_more, sym_zero_or_one, - ACTIONS(104), 5, + ACTIONS(96), 5, ts_builtin_sym_end, anon_sym_DOLLAR, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, - [471] = 5, - ACTIONS(96), 1, + [428] = 5, + ACTIONS(84), 1, anon_sym_DASH, - STATE(66), 1, + STATE(63), 1, sym_shortest_zero_or_more, - ACTIONS(112), 3, + ACTIONS(104), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(114), 3, + ACTIONS(106), 3, sym_zero_or_more, sym_one_or_more, sym_zero_or_one, - ACTIONS(110), 5, + ACTIONS(102), 5, ts_builtin_sym_end, anon_sym_DOLLAR, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, - [495] = 3, - STATE(22), 1, + [452] = 5, + ACTIONS(84), 1, + anon_sym_DASH, + STATE(56), 1, sym_shortest_zero_or_more, - ACTIONS(100), 3, + ACTIONS(88), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(98), 9, - ts_builtin_sym_end, - anon_sym_DOLLAR, - anon_sym_PERCENTf, + ACTIONS(108), 3, sym_zero_or_more, - anon_sym_DASH, sym_one_or_more, sym_zero_or_one, + ACTIONS(86), 5, + ts_builtin_sym_end, + anon_sym_DOLLAR, + anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, - [515] = 5, - ACTIONS(96), 1, + [476] = 5, + ACTIONS(84), 1, anon_sym_DASH, - STATE(62), 1, + STATE(60), 1, sym_shortest_zero_or_more, - ACTIONS(118), 3, + ACTIONS(112), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(120), 3, + ACTIONS(114), 3, sym_zero_or_more, sym_one_or_more, sym_zero_or_one, - ACTIONS(116), 5, + ACTIONS(110), 5, ts_builtin_sym_end, anon_sym_DOLLAR, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, - [539] = 3, - STATE(23), 1, + [500] = 3, + STATE(21), 1, sym_shortest_zero_or_more, - ACTIONS(106), 3, + ACTIONS(104), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(104), 9, + ACTIONS(102), 9, ts_builtin_sym_end, anon_sym_DOLLAR, anon_sym_PERCENTf, @@ -1385,31 +1282,30 @@ static const uint16_t ts_small_parse_table[] = { sym_zero_or_one, anon_sym_LBRACK, anon_sym_LPAREN, - [559] = 5, - ACTIONS(96), 1, + [520] = 5, + ACTIONS(118), 1, anon_sym_DASH, - STATE(65), 1, + STATE(68), 1, sym_shortest_zero_or_more, - ACTIONS(124), 3, + ACTIONS(88), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(126), 3, + ACTIONS(116), 3, sym_zero_or_more, sym_one_or_more, sym_zero_or_one, - ACTIONS(122), 5, - ts_builtin_sym_end, - anon_sym_DOLLAR, + ACTIONS(86), 4, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, - [583] = 2, - ACTIONS(130), 3, + anon_sym_RPAREN, + [543] = 2, + ACTIONS(122), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(128), 9, + ACTIONS(120), 9, ts_builtin_sym_end, anon_sym_DOLLAR, anon_sym_PERCENTf, @@ -1419,12 +1315,12 @@ static const uint16_t ts_small_parse_table[] = { sym_zero_or_one, anon_sym_LBRACK, anon_sym_LPAREN, - [600] = 2, - ACTIONS(134), 3, + [560] = 2, + ACTIONS(126), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(132), 9, + ACTIONS(124), 9, ts_builtin_sym_end, anon_sym_DOLLAR, anon_sym_PERCENTf, @@ -1434,122 +1330,104 @@ static const uint16_t ts_small_parse_table[] = { sym_zero_or_one, anon_sym_LBRACK, anon_sym_LPAREN, - [617] = 5, - ACTIONS(138), 1, - anon_sym_DASH, - STATE(75), 1, - sym_shortest_zero_or_more, - ACTIONS(112), 3, - aux_sym__raw_character_token1, - anon_sym_DOT, - anon_sym_PERCENT, - ACTIONS(136), 3, - sym_zero_or_more, - sym_one_or_more, - sym_zero_or_one, - ACTIONS(110), 4, - anon_sym_PERCENTf, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - [640] = 5, - ACTIONS(138), 1, + [577] = 5, + ACTIONS(118), 1, anon_sym_DASH, STATE(69), 1, sym_shortest_zero_or_more, - ACTIONS(100), 3, + ACTIONS(92), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(140), 3, + ACTIONS(128), 3, sym_zero_or_more, sym_one_or_more, sym_zero_or_one, - ACTIONS(98), 4, + ACTIONS(90), 4, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_RPAREN, - [663] = 5, - ACTIONS(138), 1, + [600] = 5, + ACTIONS(118), 1, anon_sym_DASH, - STATE(74), 1, + STATE(66), 1, sym_shortest_zero_or_more, - ACTIONS(124), 3, + ACTIONS(112), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(142), 3, + ACTIONS(130), 3, sym_zero_or_more, sym_one_or_more, sym_zero_or_one, - ACTIONS(122), 4, + ACTIONS(110), 4, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_RPAREN, - [686] = 5, - ACTIONS(138), 1, + [623] = 5, + ACTIONS(118), 1, anon_sym_DASH, - STATE(72), 1, + STATE(70), 1, sym_shortest_zero_or_more, - ACTIONS(92), 3, + ACTIONS(80), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(144), 3, + ACTIONS(132), 3, sym_zero_or_more, sym_one_or_more, sym_zero_or_one, - ACTIONS(90), 4, + ACTIONS(78), 4, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_RPAREN, - [709] = 5, - ACTIONS(138), 1, + [646] = 5, + ACTIONS(118), 1, anon_sym_DASH, - STATE(70), 1, + STATE(71), 1, sym_shortest_zero_or_more, - ACTIONS(118), 3, + ACTIONS(98), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(146), 3, + ACTIONS(134), 3, sym_zero_or_more, sym_one_or_more, sym_zero_or_one, - ACTIONS(116), 4, + ACTIONS(96), 4, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_RPAREN, - [732] = 5, - ACTIONS(138), 1, + [669] = 5, + ACTIONS(118), 1, anon_sym_DASH, - STATE(73), 1, + STATE(67), 1, sym_shortest_zero_or_more, - ACTIONS(106), 3, + ACTIONS(104), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(148), 3, + ACTIONS(136), 3, sym_zero_or_more, sym_one_or_more, sym_zero_or_one, - ACTIONS(104), 4, + ACTIONS(102), 4, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_RPAREN, - [755] = 3, - STATE(40), 1, - sym_shortest_zero_or_more, - ACTIONS(100), 3, + [692] = 2, + ACTIONS(140), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(98), 8, + ACTIONS(138), 9, + ts_builtin_sym_end, + anon_sym_DOLLAR, anon_sym_PERCENTf, sym_zero_or_more, anon_sym_DASH, @@ -1557,13 +1435,12 @@ static const uint16_t ts_small_parse_table[] = { sym_zero_or_one, anon_sym_LBRACK, anon_sym_LPAREN, - anon_sym_RPAREN, - [774] = 2, - ACTIONS(152), 3, + [709] = 2, + ACTIONS(144), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(150), 9, + ACTIONS(142), 9, ts_builtin_sym_end, anon_sym_DOLLAR, anon_sym_PERCENTf, @@ -1573,14 +1450,14 @@ static const uint16_t ts_small_parse_table[] = { sym_zero_or_one, anon_sym_LBRACK, anon_sym_LPAREN, - [791] = 3, - STATE(41), 1, - sym_shortest_zero_or_more, - ACTIONS(106), 3, + [726] = 2, + ACTIONS(148), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(104), 8, + ACTIONS(146), 9, + ts_builtin_sym_end, + anon_sym_DOLLAR, anon_sym_PERCENTf, sym_zero_or_more, anon_sym_DASH, @@ -1588,13 +1465,12 @@ static const uint16_t ts_small_parse_table[] = { sym_zero_or_one, anon_sym_LBRACK, anon_sym_LPAREN, - anon_sym_RPAREN, - [810] = 2, - ACTIONS(156), 3, + [743] = 2, + ACTIONS(152), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(154), 9, + ACTIONS(150), 9, ts_builtin_sym_end, anon_sym_DOLLAR, anon_sym_PERCENTf, @@ -1604,14 +1480,14 @@ static const uint16_t ts_small_parse_table[] = { sym_zero_or_one, anon_sym_LBRACK, anon_sym_LPAREN, - [827] = 2, - ACTIONS(160), 3, + [760] = 3, + STATE(36), 1, + sym_shortest_zero_or_more, + ACTIONS(88), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(158), 9, - ts_builtin_sym_end, - anon_sym_DOLLAR, + ACTIONS(86), 8, anon_sym_PERCENTf, sym_zero_or_more, anon_sym_DASH, @@ -1619,14 +1495,15 @@ static const uint16_t ts_small_parse_table[] = { sym_zero_or_one, anon_sym_LBRACK, anon_sym_LPAREN, - [844] = 2, - ACTIONS(164), 3, + anon_sym_RPAREN, + [779] = 3, + STATE(37), 1, + sym_shortest_zero_or_more, + ACTIONS(104), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(162), 9, - ts_builtin_sym_end, - anon_sym_DOLLAR, + ACTIONS(102), 8, anon_sym_PERCENTf, sym_zero_or_more, anon_sym_DASH, @@ -1634,12 +1511,13 @@ static const uint16_t ts_small_parse_table[] = { sym_zero_or_one, anon_sym_LBRACK, anon_sym_LPAREN, - [861] = 2, - ACTIONS(156), 3, + anon_sym_RPAREN, + [798] = 2, + ACTIONS(148), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(154), 8, + ACTIONS(146), 8, anon_sym_PERCENTf, sym_zero_or_more, anon_sym_DASH, @@ -1648,12 +1526,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_RPAREN, - [877] = 2, - ACTIONS(160), 3, + [814] = 2, + ACTIONS(122), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(158), 8, + ACTIONS(120), 8, anon_sym_PERCENTf, sym_zero_or_more, anon_sym_DASH, @@ -1662,12 +1540,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_RPAREN, - [893] = 2, - ACTIONS(152), 3, + [830] = 2, + ACTIONS(140), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(150), 8, + ACTIONS(138), 8, anon_sym_PERCENTf, sym_zero_or_more, anon_sym_DASH, @@ -1676,12 +1554,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_RPAREN, - [909] = 2, - ACTIONS(164), 3, + [846] = 2, + ACTIONS(144), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(162), 8, + ACTIONS(142), 8, anon_sym_PERCENTf, sym_zero_or_more, anon_sym_DASH, @@ -1690,12 +1568,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_RPAREN, - [925] = 2, - ACTIONS(130), 3, + [862] = 2, + ACTIONS(126), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(128), 8, + ACTIONS(124), 8, anon_sym_PERCENTf, sym_zero_or_more, anon_sym_DASH, @@ -1704,12 +1582,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_RPAREN, - [941] = 2, - ACTIONS(134), 3, + [878] = 2, + ACTIONS(152), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(132), 8, + ACTIONS(150), 8, anon_sym_PERCENTf, sym_zero_or_more, anon_sym_DASH, @@ -1718,568 +1596,598 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_RPAREN, - [957] = 6, - ACTIONS(170), 1, + [894] = 6, + ACTIONS(160), 1, anon_sym_PERCENT, - ACTIONS(172), 1, + ACTIONS(163), 1, anon_sym_RBRACK, - STATE(81), 1, + STATE(77), 1, sym__raw_character, - ACTIONS(166), 2, + ACTIONS(154), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(168), 2, + ACTIONS(157), 2, anon_sym_DASH, anon_sym_LPAREN, - STATE(46), 3, + STATE(39), 3, sym_class, sym_range, aux_sym_set_repeat1, - [980] = 6, - ACTIONS(170), 1, - anon_sym_PERCENT, - ACTIONS(174), 1, + [917] = 6, + ACTIONS(165), 1, anon_sym_CARET, - STATE(81), 1, + ACTIONS(171), 1, + anon_sym_PERCENT, + STATE(77), 1, sym__raw_character, - ACTIONS(166), 2, + ACTIONS(167), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(168), 2, + ACTIONS(169), 2, anon_sym_DASH, anon_sym_LPAREN, - STATE(47), 3, + STATE(44), 3, sym_class, sym_range, aux_sym_set_repeat1, - [1003] = 6, - ACTIONS(170), 1, + [940] = 6, + ACTIONS(171), 1, anon_sym_PERCENT, - ACTIONS(176), 1, - anon_sym_CARET, - STATE(81), 1, + ACTIONS(173), 1, + anon_sym_RBRACK, + STATE(77), 1, sym__raw_character, - ACTIONS(166), 2, + ACTIONS(167), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(168), 2, + ACTIONS(169), 2, anon_sym_DASH, anon_sym_LPAREN, - STATE(53), 3, + STATE(39), 3, sym_class, sym_range, aux_sym_set_repeat1, - [1026] = 6, - ACTIONS(170), 1, + [963] = 6, + ACTIONS(171), 1, anon_sym_PERCENT, - ACTIONS(178), 1, + ACTIONS(175), 1, anon_sym_CARET, - STATE(81), 1, + STATE(77), 1, sym__raw_character, - ACTIONS(166), 2, + ACTIONS(167), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(168), 2, + ACTIONS(169), 2, anon_sym_DASH, anon_sym_LPAREN, - STATE(52), 3, + STATE(47), 3, sym_class, sym_range, aux_sym_set_repeat1, - [1049] = 6, - ACTIONS(186), 1, + [986] = 6, + ACTIONS(171), 1, anon_sym_PERCENT, - ACTIONS(189), 1, - anon_sym_RBRACK, - STATE(81), 1, + ACTIONS(177), 1, + anon_sym_CARET, + STATE(77), 1, sym__raw_character, - ACTIONS(180), 2, + ACTIONS(167), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(183), 2, + ACTIONS(169), 2, anon_sym_DASH, anon_sym_LPAREN, - STATE(46), 3, + STATE(50), 3, sym_class, sym_range, aux_sym_set_repeat1, - [1072] = 6, - ACTIONS(170), 1, + [1009] = 6, + ACTIONS(171), 1, anon_sym_PERCENT, - ACTIONS(191), 1, + ACTIONS(179), 1, anon_sym_RBRACK, - STATE(81), 1, + STATE(77), 1, sym__raw_character, - ACTIONS(166), 2, + ACTIONS(167), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(168), 2, + ACTIONS(169), 2, anon_sym_DASH, anon_sym_LPAREN, - STATE(46), 3, + STATE(39), 3, sym_class, sym_range, aux_sym_set_repeat1, - [1095] = 6, - ACTIONS(170), 1, + [1032] = 6, + ACTIONS(171), 1, anon_sym_PERCENT, - ACTIONS(193), 1, - anon_sym_RBRACK, - STATE(81), 1, + ACTIONS(181), 1, + anon_sym_CARET, + STATE(77), 1, sym__raw_character, - ACTIONS(166), 2, + ACTIONS(167), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(168), 2, + ACTIONS(169), 2, anon_sym_DASH, anon_sym_LPAREN, - STATE(46), 3, + STATE(48), 3, sym_class, sym_range, aux_sym_set_repeat1, - [1118] = 6, - ACTIONS(170), 1, + [1055] = 6, + ACTIONS(171), 1, anon_sym_PERCENT, - ACTIONS(195), 1, - anon_sym_CARET, - STATE(81), 1, + ACTIONS(183), 1, + anon_sym_RBRACK, + STATE(77), 1, sym__raw_character, - ACTIONS(166), 2, + ACTIONS(167), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(168), 2, + ACTIONS(169), 2, anon_sym_DASH, anon_sym_LPAREN, - STATE(42), 3, + STATE(39), 3, sym_class, sym_range, aux_sym_set_repeat1, - [1141] = 6, - ACTIONS(170), 1, + [1078] = 6, + ACTIONS(171), 1, anon_sym_PERCENT, - ACTIONS(197), 1, + ACTIONS(185), 1, anon_sym_RBRACK, - STATE(81), 1, + STATE(77), 1, sym__raw_character, - ACTIONS(166), 2, + ACTIONS(167), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(168), 2, + ACTIONS(169), 2, anon_sym_DASH, anon_sym_LPAREN, - STATE(46), 3, + STATE(39), 3, sym_class, sym_range, aux_sym_set_repeat1, - [1164] = 6, - ACTIONS(170), 1, + [1101] = 6, + ACTIONS(171), 1, anon_sym_PERCENT, - ACTIONS(199), 1, + ACTIONS(187), 1, anon_sym_RBRACK, - STATE(81), 1, + STATE(77), 1, sym__raw_character, - ACTIONS(166), 2, + ACTIONS(167), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(168), 2, + ACTIONS(169), 2, anon_sym_DASH, anon_sym_LPAREN, - STATE(46), 3, + STATE(39), 3, sym_class, sym_range, aux_sym_set_repeat1, - [1187] = 6, - ACTIONS(170), 1, + [1124] = 6, + ACTIONS(171), 1, anon_sym_PERCENT, - ACTIONS(201), 1, + ACTIONS(189), 1, anon_sym_RBRACK, - STATE(81), 1, + STATE(77), 1, sym__raw_character, - ACTIONS(166), 2, + ACTIONS(167), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(168), 2, + ACTIONS(169), 2, anon_sym_DASH, anon_sym_LPAREN, - STATE(46), 3, + STATE(39), 3, sym_class, sym_range, aux_sym_set_repeat1, - [1210] = 6, - ACTIONS(170), 1, + [1147] = 6, + ACTIONS(171), 1, anon_sym_PERCENT, - ACTIONS(203), 1, + ACTIONS(191), 1, anon_sym_RBRACK, - STATE(81), 1, + STATE(77), 1, sym__raw_character, - ACTIONS(166), 2, + ACTIONS(167), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(168), 2, + ACTIONS(169), 2, anon_sym_DASH, anon_sym_LPAREN, - STATE(46), 3, + STATE(39), 3, sym_class, sym_range, aux_sym_set_repeat1, - [1233] = 6, - ACTIONS(170), 1, + [1170] = 6, + ACTIONS(171), 1, anon_sym_PERCENT, - ACTIONS(205), 1, + ACTIONS(193), 1, anon_sym_RBRACK, - STATE(81), 1, + STATE(77), 1, sym__raw_character, - ACTIONS(166), 2, + ACTIONS(167), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(168), 2, + ACTIONS(169), 2, anon_sym_DASH, anon_sym_LPAREN, - STATE(46), 3, + STATE(39), 3, sym_class, sym_range, aux_sym_set_repeat1, - [1256] = 5, - ACTIONS(170), 1, + [1193] = 5, + ACTIONS(171), 1, anon_sym_PERCENT, - STATE(81), 1, + STATE(77), 1, sym__raw_character, - ACTIONS(166), 2, + ACTIONS(167), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(168), 2, + ACTIONS(169), 2, anon_sym_DASH, anon_sym_LPAREN, - STATE(51), 3, + STATE(46), 3, sym_class, sym_range, aux_sym_set_repeat1, - [1276] = 5, - ACTIONS(170), 1, + [1213] = 5, + ACTIONS(171), 1, anon_sym_PERCENT, - STATE(81), 1, + STATE(77), 1, sym__raw_character, - ACTIONS(166), 2, + ACTIONS(167), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(168), 2, + ACTIONS(169), 2, anon_sym_DASH, anon_sym_LPAREN, - STATE(50), 3, + STATE(49), 3, sym_class, sym_range, aux_sym_set_repeat1, - [1296] = 5, - ACTIONS(170), 1, + [1233] = 5, + ACTIONS(171), 1, anon_sym_PERCENT, - STATE(81), 1, + STATE(77), 1, sym__raw_character, - ACTIONS(166), 2, + ACTIONS(167), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(168), 2, + ACTIONS(169), 2, anon_sym_DASH, anon_sym_LPAREN, - STATE(54), 3, + STATE(51), 3, sym_class, sym_range, aux_sym_set_repeat1, - [1316] = 5, - ACTIONS(170), 1, + [1253] = 5, + ACTIONS(171), 1, anon_sym_PERCENT, - STATE(81), 1, + STATE(77), 1, sym__raw_character, - ACTIONS(166), 2, + ACTIONS(167), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(168), 2, + ACTIONS(169), 2, anon_sym_DASH, anon_sym_LPAREN, - STATE(48), 3, + STATE(41), 3, sym_class, sym_range, aux_sym_set_repeat1, - [1336] = 2, - ACTIONS(134), 3, + [1273] = 2, + ACTIONS(144), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(132), 5, + ACTIONS(142), 5, ts_builtin_sym_end, anon_sym_DOLLAR, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, - [1349] = 2, - ACTIONS(209), 3, + [1286] = 2, + ACTIONS(197), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(207), 5, + ACTIONS(195), 5, ts_builtin_sym_end, anon_sym_DOLLAR, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, - [1362] = 2, - ACTIONS(213), 3, + [1299] = 2, + ACTIONS(201), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(211), 5, + ACTIONS(199), 5, ts_builtin_sym_end, anon_sym_DOLLAR, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, - [1375] = 2, - ACTIONS(217), 3, + [1312] = 2, + ACTIONS(205), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(215), 5, + ACTIONS(203), 5, ts_builtin_sym_end, anon_sym_DOLLAR, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, - [1388] = 2, - ACTIONS(221), 3, + [1325] = 2, + ACTIONS(92), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(219), 5, + ACTIONS(90), 5, ts_builtin_sym_end, anon_sym_DOLLAR, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, - [1401] = 2, - ACTIONS(225), 3, + [1338] = 2, + ACTIONS(209), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(223), 5, + ACTIONS(207), 5, ts_builtin_sym_end, anon_sym_DOLLAR, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, - [1414] = 2, - ACTIONS(112), 3, + [1351] = 2, + ACTIONS(213), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(110), 5, + ACTIONS(211), 5, ts_builtin_sym_end, anon_sym_DOLLAR, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, - [1427] = 2, - ACTIONS(229), 3, + [1364] = 2, + ACTIONS(126), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(227), 5, + ACTIONS(124), 5, ts_builtin_sym_end, anon_sym_DOLLAR, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, - [1440] = 3, - ACTIONS(231), 1, + [1377] = 3, + ACTIONS(215), 1, ts_builtin_sym_end, - ACTIONS(209), 3, + ACTIONS(213), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(207), 4, + ACTIONS(211), 4, anon_sym_DOLLAR, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, - [1455] = 2, - ACTIONS(130), 3, + [1392] = 2, + ACTIONS(219), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(128), 5, + ACTIONS(217), 5, ts_builtin_sym_end, anon_sym_DOLLAR, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, - [1468] = 2, - ACTIONS(130), 3, + [1405] = 2, + ACTIONS(92), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(128), 4, + ACTIONS(90), 4, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_RPAREN, - [1480] = 2, - ACTIONS(217), 3, + [1417] = 2, + ACTIONS(126), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(215), 4, + ACTIONS(124), 4, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_RPAREN, - [1492] = 2, - ACTIONS(221), 3, + [1429] = 2, + ACTIONS(144), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(219), 4, + ACTIONS(142), 4, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_RPAREN, - [1504] = 2, - ACTIONS(225), 3, + [1441] = 2, + ACTIONS(219), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(223), 4, + ACTIONS(217), 4, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_RPAREN, - [1516] = 2, - ACTIONS(134), 3, + [1453] = 2, + ACTIONS(201), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(132), 4, + ACTIONS(199), 4, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_RPAREN, - [1528] = 2, - ACTIONS(112), 3, + [1465] = 2, + ACTIONS(209), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(110), 4, + ACTIONS(207), 4, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_RPAREN, - [1540] = 2, - ACTIONS(229), 3, + [1477] = 2, + ACTIONS(205), 3, aux_sym__raw_character_token1, anon_sym_DOT, anon_sym_PERCENT, - ACTIONS(227), 4, + ACTIONS(203), 4, anon_sym_PERCENTf, anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_RPAREN, - [1552] = 2, - ACTIONS(156), 2, + [1489] = 2, + ACTIONS(152), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(154), 4, + ACTIONS(150), 4, anon_sym_DASH, anon_sym_PERCENT, anon_sym_LPAREN, anon_sym_RBRACK, - [1563] = 2, - ACTIONS(233), 2, + [1500] = 2, + ACTIONS(221), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(235), 4, + ACTIONS(223), 4, anon_sym_DASH, anon_sym_PERCENT, anon_sym_LPAREN, anon_sym_RBRACK, - [1574] = 2, - ACTIONS(160), 2, + [1511] = 2, + ACTIONS(122), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(158), 4, + ACTIONS(120), 4, anon_sym_DASH, anon_sym_PERCENT, anon_sym_LPAREN, anon_sym_RBRACK, - [1585] = 2, - ACTIONS(152), 2, + [1522] = 2, + ACTIONS(225), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(150), 4, + ACTIONS(227), 4, anon_sym_DASH, anon_sym_PERCENT, anon_sym_LPAREN, anon_sym_RBRACK, - [1596] = 2, - ACTIONS(237), 2, + [1533] = 3, + ACTIONS(229), 1, + anon_sym_DASH, + ACTIONS(225), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(239), 4, - anon_sym_DASH, + ACTIONS(227), 3, anon_sym_PERCENT, anon_sym_LPAREN, anon_sym_RBRACK, - [1607] = 3, - ACTIONS(241), 1, - anon_sym_DASH, - ACTIONS(237), 2, + [1546] = 2, + ACTIONS(140), 2, aux_sym__raw_character_token1, anon_sym_DOT, - ACTIONS(239), 3, + ACTIONS(138), 4, + anon_sym_DASH, anon_sym_PERCENT, anon_sym_LPAREN, anon_sym_RBRACK, - [1620] = 2, - ACTIONS(244), 1, + [1557] = 4, + ACTIONS(234), 1, + anon_sym_b, + ACTIONS(236), 1, + aux_sym_class_token1, + STATE(75), 1, + sym_balanced_match, + ACTIONS(232), 2, + sym_escape_char, + sym_capture_index, + [1571] = 4, + ACTIONS(240), 1, + anon_sym_b, + ACTIONS(242), 1, + aux_sym_class_token1, + STATE(34), 1, + sym_balanced_match, + ACTIONS(238), 2, + sym_escape_char, + sym_capture_index, + [1585] = 4, + ACTIONS(246), 1, + anon_sym_b, + ACTIONS(248), 1, + aux_sym_class_token1, + STATE(20), 1, + sym_balanced_match, + ACTIONS(244), 2, + sym_escape_char, + sym_capture_index, + [1599] = 2, + ACTIONS(250), 1, anon_sym_LBRACK, - STATE(39), 2, + STATE(29), 2, sym_set, sym_negated_set, - [1628] = 2, - ACTIONS(246), 1, + [1607] = 2, + ACTIONS(252), 1, anon_sym_LBRACK, - STATE(35), 2, + STATE(33), 2, sym_set, sym_negated_set, - [1636] = 1, - ACTIONS(248), 1, - aux_sym_balanced_match_token1, - [1640] = 1, - ACTIONS(250), 1, - aux_sym_balanced_match_token1, - [1644] = 1, - ACTIONS(21), 1, - ts_builtin_sym_end, - [1648] = 1, - ACTIONS(252), 1, - ts_builtin_sym_end, - [1652] = 1, + [1615] = 1, ACTIONS(254), 1, aux_sym_balanced_match_token1, - [1656] = 1, + [1619] = 1, ACTIONS(256), 1, aux_sym_balanced_match_token1, - [1660] = 1, + [1623] = 1, ACTIONS(258), 1, aux_sym_balanced_match_token1, - [1664] = 1, + [1627] = 1, ACTIONS(19), 1, ts_builtin_sym_end, - [1668] = 1, + [1631] = 1, ACTIONS(260), 1, - aux_sym_balanced_match_token1, - [1672] = 1, - ACTIONS(262), 1, ts_builtin_sym_end, - [1676] = 1, - ACTIONS(264), 1, + [1635] = 1, + ACTIONS(262), 1, aux_sym_range_token1, + [1639] = 1, + ACTIONS(264), 1, + aux_sym_balanced_match_token1, + [1643] = 1, + ACTIONS(266), 1, + aux_sym_balanced_match_token1, + [1647] = 1, + ACTIONS(21), 1, + ts_builtin_sym_end, + [1651] = 1, + ACTIONS(268), 1, + ts_builtin_sym_end, + [1655] = 1, + ACTIONS(270), 1, + aux_sym_balanced_match_token1, }; static const uint32_t ts_small_parse_table_map[] = { @@ -2293,218 +2201,221 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(9)] = 266, [SMALL_STATE(10)] = 301, [SMALL_STATE(11)] = 336, - [SMALL_STATE(12)] = 357, - [SMALL_STATE(13)] = 378, - [SMALL_STATE(14)] = 399, - [SMALL_STATE(15)] = 423, - [SMALL_STATE(16)] = 447, - [SMALL_STATE(17)] = 471, - [SMALL_STATE(18)] = 495, - [SMALL_STATE(19)] = 515, - [SMALL_STATE(20)] = 539, - [SMALL_STATE(21)] = 559, - [SMALL_STATE(22)] = 583, + [SMALL_STATE(12)] = 360, + [SMALL_STATE(13)] = 380, + [SMALL_STATE(14)] = 404, + [SMALL_STATE(15)] = 428, + [SMALL_STATE(16)] = 452, + [SMALL_STATE(17)] = 476, + [SMALL_STATE(18)] = 500, + [SMALL_STATE(19)] = 520, + [SMALL_STATE(20)] = 543, + [SMALL_STATE(21)] = 560, + [SMALL_STATE(22)] = 577, [SMALL_STATE(23)] = 600, - [SMALL_STATE(24)] = 617, - [SMALL_STATE(25)] = 640, - [SMALL_STATE(26)] = 663, - [SMALL_STATE(27)] = 686, + [SMALL_STATE(24)] = 623, + [SMALL_STATE(25)] = 646, + [SMALL_STATE(26)] = 669, + [SMALL_STATE(27)] = 692, [SMALL_STATE(28)] = 709, - [SMALL_STATE(29)] = 732, - [SMALL_STATE(30)] = 755, - [SMALL_STATE(31)] = 774, - [SMALL_STATE(32)] = 791, - [SMALL_STATE(33)] = 810, - [SMALL_STATE(34)] = 827, - [SMALL_STATE(35)] = 844, - [SMALL_STATE(36)] = 861, - [SMALL_STATE(37)] = 877, - [SMALL_STATE(38)] = 893, - [SMALL_STATE(39)] = 909, - [SMALL_STATE(40)] = 925, - [SMALL_STATE(41)] = 941, - [SMALL_STATE(42)] = 957, - [SMALL_STATE(43)] = 980, - [SMALL_STATE(44)] = 1003, - [SMALL_STATE(45)] = 1026, - [SMALL_STATE(46)] = 1049, - [SMALL_STATE(47)] = 1072, - [SMALL_STATE(48)] = 1095, - [SMALL_STATE(49)] = 1118, - [SMALL_STATE(50)] = 1141, - [SMALL_STATE(51)] = 1164, - [SMALL_STATE(52)] = 1187, - [SMALL_STATE(53)] = 1210, + [SMALL_STATE(29)] = 726, + [SMALL_STATE(30)] = 743, + [SMALL_STATE(31)] = 760, + [SMALL_STATE(32)] = 779, + [SMALL_STATE(33)] = 798, + [SMALL_STATE(34)] = 814, + [SMALL_STATE(35)] = 830, + [SMALL_STATE(36)] = 846, + [SMALL_STATE(37)] = 862, + [SMALL_STATE(38)] = 878, + [SMALL_STATE(39)] = 894, + [SMALL_STATE(40)] = 917, + [SMALL_STATE(41)] = 940, + [SMALL_STATE(42)] = 963, + [SMALL_STATE(43)] = 986, + [SMALL_STATE(44)] = 1009, + [SMALL_STATE(45)] = 1032, + [SMALL_STATE(46)] = 1055, + [SMALL_STATE(47)] = 1078, + [SMALL_STATE(48)] = 1101, + [SMALL_STATE(49)] = 1124, + [SMALL_STATE(50)] = 1147, + [SMALL_STATE(51)] = 1170, + [SMALL_STATE(52)] = 1193, + [SMALL_STATE(53)] = 1213, [SMALL_STATE(54)] = 1233, - [SMALL_STATE(55)] = 1256, - [SMALL_STATE(56)] = 1276, - [SMALL_STATE(57)] = 1296, - [SMALL_STATE(58)] = 1316, - [SMALL_STATE(59)] = 1336, - [SMALL_STATE(60)] = 1349, - [SMALL_STATE(61)] = 1362, - [SMALL_STATE(62)] = 1375, - [SMALL_STATE(63)] = 1388, - [SMALL_STATE(64)] = 1401, - [SMALL_STATE(65)] = 1414, - [SMALL_STATE(66)] = 1427, - [SMALL_STATE(67)] = 1440, - [SMALL_STATE(68)] = 1455, - [SMALL_STATE(69)] = 1468, - [SMALL_STATE(70)] = 1480, - [SMALL_STATE(71)] = 1492, - [SMALL_STATE(72)] = 1504, - [SMALL_STATE(73)] = 1516, - [SMALL_STATE(74)] = 1528, - [SMALL_STATE(75)] = 1540, - [SMALL_STATE(76)] = 1552, - [SMALL_STATE(77)] = 1563, - [SMALL_STATE(78)] = 1574, - [SMALL_STATE(79)] = 1585, - [SMALL_STATE(80)] = 1596, - [SMALL_STATE(81)] = 1607, - [SMALL_STATE(82)] = 1620, - [SMALL_STATE(83)] = 1628, - [SMALL_STATE(84)] = 1636, - [SMALL_STATE(85)] = 1640, - [SMALL_STATE(86)] = 1644, - [SMALL_STATE(87)] = 1648, - [SMALL_STATE(88)] = 1652, - [SMALL_STATE(89)] = 1656, - [SMALL_STATE(90)] = 1660, - [SMALL_STATE(91)] = 1664, - [SMALL_STATE(92)] = 1668, - [SMALL_STATE(93)] = 1672, - [SMALL_STATE(94)] = 1676, + [SMALL_STATE(55)] = 1253, + [SMALL_STATE(56)] = 1273, + [SMALL_STATE(57)] = 1286, + [SMALL_STATE(58)] = 1299, + [SMALL_STATE(59)] = 1312, + [SMALL_STATE(60)] = 1325, + [SMALL_STATE(61)] = 1338, + [SMALL_STATE(62)] = 1351, + [SMALL_STATE(63)] = 1364, + [SMALL_STATE(64)] = 1377, + [SMALL_STATE(65)] = 1392, + [SMALL_STATE(66)] = 1405, + [SMALL_STATE(67)] = 1417, + [SMALL_STATE(68)] = 1429, + [SMALL_STATE(69)] = 1441, + [SMALL_STATE(70)] = 1453, + [SMALL_STATE(71)] = 1465, + [SMALL_STATE(72)] = 1477, + [SMALL_STATE(73)] = 1489, + [SMALL_STATE(74)] = 1500, + [SMALL_STATE(75)] = 1511, + [SMALL_STATE(76)] = 1522, + [SMALL_STATE(77)] = 1533, + [SMALL_STATE(78)] = 1546, + [SMALL_STATE(79)] = 1557, + [SMALL_STATE(80)] = 1571, + [SMALL_STATE(81)] = 1585, + [SMALL_STATE(82)] = 1599, + [SMALL_STATE(83)] = 1607, + [SMALL_STATE(84)] = 1615, + [SMALL_STATE(85)] = 1619, + [SMALL_STATE(86)] = 1623, + [SMALL_STATE(87)] = 1627, + [SMALL_STATE(88)] = 1631, + [SMALL_STATE(89)] = 1635, + [SMALL_STATE(90)] = 1639, + [SMALL_STATE(91)] = 1643, + [SMALL_STATE(92)] = 1647, + [SMALL_STATE(93)] = 1651, + [SMALL_STATE(94)] = 1655, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 0), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [19] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 1), - [21] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 2), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [19] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 2), + [21] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 1), [23] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pattern_repeat1, 2), - [25] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pattern_repeat1, 2), SHIFT_REPEAT(60), - [28] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_repeat1, 2), SHIFT_REPEAT(33), - [31] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pattern_repeat1, 2), SHIFT_REPEAT(83), - [34] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_repeat1, 2), SHIFT_REPEAT(12), + [25] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pattern_repeat1, 2), SHIFT_REPEAT(62), + [28] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_repeat1, 2), SHIFT_REPEAT(30), + [31] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pattern_repeat1, 2), SHIFT_REPEAT(82), + [34] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pattern_repeat1, 2), SHIFT_REPEAT(81), [37] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pattern_repeat1, 2), SHIFT_REPEAT(45), - [40] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pattern_repeat1, 2), SHIFT_REPEAT(9), - [43] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_capture_repeat1, 2), SHIFT_REPEAT(36), - [46] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_capture_repeat1, 2), SHIFT_REPEAT(82), - [49] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_capture_repeat1, 2), SHIFT_REPEAT(13), - [52] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_capture_repeat1, 2), SHIFT_REPEAT(49), - [55] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_capture_repeat1, 2), SHIFT_REPEAT(7), - [58] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_capture_repeat1, 2), - [60] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), - [62] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [64] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), - [66] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [68] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [70] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [72] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [74] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [40] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pattern_repeat1, 2), SHIFT_REPEAT(10), + [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), + [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [55] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_capture_repeat1, 2), SHIFT_REPEAT(38), + [58] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_capture_repeat1, 2), SHIFT_REPEAT(83), + [61] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_capture_repeat1, 2), SHIFT_REPEAT(80), + [64] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_capture_repeat1, 2), SHIFT_REPEAT(42), + [67] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_capture_repeat1, 2), SHIFT_REPEAT(8), + [70] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_capture_repeat1, 2), + [72] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [74] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), [76] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [78] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [80] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [82] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [88] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_pattern, 1), - [92] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_pattern, 1), - [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [98] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set, 3), - [100] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set, 3), - [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_negated_set, 4), - [106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_negated_set, 4), - [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_capture, 3), - [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_capture, 3), - [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character, 1), - [118] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character, 1), - [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_capture, 2), - [124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_capture, 2), - [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set, 4), - [130] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set, 4), - [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_negated_set, 5), - [134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_negated_set, 5), - [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class, 2), - [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class, 2), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__raw_character, 1), - [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__raw_character, 1), - [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_balanced_match, 3, .production_id = 2), - [160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_balanced_match, 3, .production_id = 2), - [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_frontier_pattern, 2), - [164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_frontier_pattern, 2), - [166] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), - [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [180] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_set_repeat1, 2), SHIFT_REPEAT(76), - [183] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_set_repeat1, 2), SHIFT_REPEAT(80), - [186] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_set_repeat1, 2), SHIFT_REPEAT(11), - [189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_set_repeat1, 2), - [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pattern_repeat1, 1, .production_id = 1), - [209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_pattern_repeat1, 1, .production_id = 1), - [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anchor_begin, 1), - [213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anchor_begin, 1), - [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character, 2), - [217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character, 2), - [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shortest_zero_or_more, 1), - [221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_shortest_zero_or_more, 1), - [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_pattern, 2), - [225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_pattern, 2), - [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_capture, 4), - [229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_capture, 4), - [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anchor_end, 1), - [233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range, 3, .dynamic_precedence = 1, .production_id = 3), - [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range, 3, .dynamic_precedence = 1, .production_id = 3), - [237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_set_repeat1, 1, .production_id = 1), - [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_set_repeat1, 1, .production_id = 1), - [241] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_set_repeat1, 1, .production_id = 1), SHIFT(94), - [244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 3), - [254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [262] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [78] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_pattern, 1), + [80] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_pattern, 1), + [82] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_negated_set, 4), + [88] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_negated_set, 4), + [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_capture, 3), + [92] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_capture, 3), + [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character, 1), + [98] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character, 1), + [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set, 3), + [104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set, 3), + [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_capture, 2), + [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_capture, 2), + [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class, 2), + [122] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class, 2), + [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set, 4), + [126] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set, 4), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_balanced_match, 3, .production_id = 2), + [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_balanced_match, 3, .production_id = 2), + [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_negated_set, 5), + [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_negated_set, 5), + [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_frontier_pattern, 2), + [148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_frontier_pattern, 2), + [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__raw_character, 1), + [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__raw_character, 1), + [154] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_set_repeat1, 2), SHIFT_REPEAT(73), + [157] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_set_repeat1, 2), SHIFT_REPEAT(76), + [160] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_set_repeat1, 2), SHIFT_REPEAT(79), + [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_set_repeat1, 2), + [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), + [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anchor_begin, 1), + [197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anchor_begin, 1), + [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_pattern, 2), + [201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_pattern, 2), + [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shortest_zero_or_more, 1), + [205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_shortest_zero_or_more, 1), + [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character, 2), + [209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character, 2), + [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pattern_repeat1, 1, .production_id = 1), + [213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_pattern_repeat1, 1, .production_id = 1), + [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anchor_end, 1), + [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_capture, 4), + [219] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_capture, 4), + [221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range, 3, .dynamic_precedence = 1, .production_id = 3), + [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range, 3, .dynamic_precedence = 1, .production_id = 3), + [225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_set_repeat1, 1, .production_id = 1), + [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_set_repeat1, 1, .production_id = 1), + [229] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_set_repeat1, 1, .production_id = 1), SHIFT(89), + [232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [236] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), + [238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [242] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), + [244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [248] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), + [250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 3), + [262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [268] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), }; #ifdef __cplusplus