diff --git a/grammar.js b/grammar.js index 45d59b2..a673563 100644 --- a/grammar.js +++ b/grammar.js @@ -37,7 +37,7 @@ module.exports = grammar({ $._class_atom, ], - conflicts: $ => [[$.character_class, $.class_range]], + conflicts: $ => [[$.class_range, $.character_class]], rules: { pattern: $ => choice( @@ -105,12 +105,9 @@ module.exports = grammar({ character_class: $ => seq( '[', optional('^'), - choice( - repeat(choice( - $.class_range, - $._class_atom, - )), - ), + optional(alias('-', $.class_character)), + repeat($._class_atom), + optional(alias('-', $.class_character)), ']', ), @@ -122,17 +119,27 @@ module.exports = grammar({ posix_class_name: _ => /[a-zA-Z]+/, - class_range: $ => prec.right( - seq($._class_atom, '-', $._class_atom), - ), + class_range: $ => prec.right(seq( + choice( + $.class_character, + $.character_class_escape, + alias('-', $.class_character), + ), + '-', + choice( + $.class_character, + $.character_class_escape, + alias('-', $.class_character), + ), + )), _class_atom: $ => choice( - alias('-', $.class_character), $.class_character, alias('\\-', $.identity_escape), $.character_class_escape, $._character_escape, $.posix_character_class, + $.class_range, ), class_character: _ => // NOT: \ ] or - diff --git a/src/grammar.json b/src/grammar.json index 2ddcffb..1a7e9df 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -282,20 +282,40 @@ "type": "CHOICE", "members": [ { - "type": "REPEAT", + "type": "ALIAS", "content": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "class_range" - }, - { - "type": "SYMBOL", - "name": "_class_atom" - } - ] - } + "type": "STRING", + "value": "-" + }, + "named": true, + "value": "class_character" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_class_atom" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "-" + }, + "named": true, + "value": "class_character" + }, + { + "type": "BLANK" } ] }, @@ -333,16 +353,52 @@ "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "_class_atom" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "class_character" + }, + { + "type": "SYMBOL", + "name": "character_class_escape" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "-" + }, + "named": true, + "value": "class_character" + } + ] }, { "type": "STRING", "value": "-" }, { - "type": "SYMBOL", - "name": "_class_atom" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "class_character" + }, + { + "type": "SYMBOL", + "name": "character_class_escape" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "-" + }, + "named": true, + "value": "class_character" + } + ] } ] } @@ -350,15 +406,6 @@ "_class_atom": { "type": "CHOICE", "members": [ - { - "type": "ALIAS", - "content": { - "type": "STRING", - "value": "-" - }, - "named": true, - "value": "class_character" - }, { "type": "SYMBOL", "name": "class_character" @@ -383,6 +430,10 @@ { "type": "SYMBOL", "name": "posix_character_class" + }, + { + "type": "SYMBOL", + "name": "class_range" } ] }, @@ -758,8 +809,8 @@ ], "conflicts": [ [ - "character_class", - "class_range" + "class_range", + "character_class" ] ], "precedences": [], diff --git a/src/node-types.json b/src/node-types.json index eb5b8a1..f4515e2 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -117,22 +117,6 @@ { "type": "class_character", "named": true - }, - { - "type": "control_escape", - "named": true - }, - { - "type": "control_letter_escape", - "named": true - }, - { - "type": "identity_escape", - "named": true - }, - { - "type": "posix_character_class", - "named": true } ] } diff --git a/src/parser.c b/src/parser.c index f9d660d..894ea73 100644 --- a/src/parser.c +++ b/src/parser.c @@ -5,7 +5,7 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 87 +#define STATE_COUNT 107 #define LARGE_STATE_COUNT 10 #define SYMBOL_COUNT 66 #define ALIAS_COUNT 2 @@ -13,7 +13,7 @@ #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 0 #define MAX_ALIAS_SEQUENCE_LENGTH 6 -#define PRODUCTION_ID_COUNT 8 +#define PRODUCTION_ID_COUNT 14 enum ts_symbol_identifiers { anon_sym_PIPE = 1, @@ -29,11 +29,11 @@ enum ts_symbol_identifiers { anon_sym_LPAREN_QMARK_LT = 11, sym_pattern_character = 12, anon_sym_LBRACK = 13, - anon_sym_RBRACK = 14, - anon_sym_LBRACK_COLON = 15, - anon_sym_COLON_RBRACK = 16, - sym_posix_class_name = 17, - anon_sym_DASH = 18, + anon_sym_DASH = 14, + anon_sym_RBRACK = 15, + anon_sym_LBRACK_COLON = 16, + anon_sym_COLON_RBRACK = 17, + sym_posix_class_name = 18, anon_sym_BSLASH_DASH = 19, sym_class_character = 20, anon_sym_LPAREN = 21, @@ -100,11 +100,11 @@ static const char * const ts_symbol_names[] = { [anon_sym_LPAREN_QMARK_LT] = "(\?<", [sym_pattern_character] = "pattern_character", [anon_sym_LBRACK] = "[", + [anon_sym_DASH] = "-", [anon_sym_RBRACK] = "]", [anon_sym_LBRACK_COLON] = "[:", [anon_sym_COLON_RBRACK] = ":]", [sym_posix_class_name] = "posix_class_name", - [anon_sym_DASH] = "-", [anon_sym_BSLASH_DASH] = "identity_escape", [sym_class_character] = "class_character", [anon_sym_LPAREN] = "(", @@ -171,11 +171,11 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_LPAREN_QMARK_LT] = anon_sym_LPAREN_QMARK_LT, [sym_pattern_character] = sym_pattern_character, [anon_sym_LBRACK] = anon_sym_LBRACK, + [anon_sym_DASH] = anon_sym_DASH, [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, - [anon_sym_DASH] = anon_sym_DASH, [anon_sym_BSLASH_DASH] = sym_identity_escape, [sym_class_character] = sym_class_character, [anon_sym_LPAREN] = anon_sym_LPAREN, @@ -284,6 +284,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_DASH] = { + .visible = true, + .named = false, + }, [anon_sym_RBRACK] = { .visible = true, .named = false, @@ -300,10 +304,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [anon_sym_DASH] = { - .visible = true, - .named = false, - }, [anon_sym_BSLASH_DASH] = { .visible = true, .named = true, @@ -505,25 +505,47 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { [0] = {0}, [1] = { - [0] = sym_class_character, + [1] = alias_sym_lazy, }, [2] = { - [1] = alias_sym_lazy, + [1] = sym_class_character, }, [3] = { - [0] = sym_class_character, [2] = sym_class_character, }, [4] = { + [0] = sym_class_character, [2] = sym_class_character, }, [5] = { - [3] = alias_sym_lazy, + [1] = sym_class_character, + [2] = sym_class_character, }, [6] = { - [0] = alias_sym_unicode_property_name, + [0] = sym_class_character, }, [7] = { + [3] = alias_sym_lazy, + }, + [8] = { + [2] = sym_class_character, + [3] = sym_class_character, + }, + [9] = { + [3] = sym_class_character, + }, + [10] = { + [1] = sym_class_character, + [3] = sym_class_character, + }, + [11] = { + [0] = alias_sym_unicode_property_name, + }, + [12] = { + [2] = sym_class_character, + [4] = sym_class_character, + }, + [13] = { [5] = alias_sym_lazy, }, }; @@ -582,23 +604,23 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [46] = 46, [47] = 47, [48] = 48, - [49] = 18, + [49] = 49, [50] = 50, - [51] = 12, - [52] = 14, - [53] = 23, + [51] = 51, + [52] = 52, + [53] = 53, [54] = 54, [55] = 55, [56] = 56, - [57] = 57, + [57] = 28, [58] = 58, [59] = 59, - [60] = 60, - [61] = 61, + [60] = 27, + [61] = 33, [62] = 62, [63] = 63, - [64] = 64, - [65] = 63, + [64] = 18, + [65] = 65, [66] = 66, [67] = 67, [68] = 68, @@ -616,10 +638,30 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [80] = 80, [81] = 81, [82] = 82, - [83] = 74, - [84] = 81, - [85] = 82, - [86] = 77, + [83] = 83, + [84] = 82, + [85] = 85, + [86] = 86, + [87] = 87, + [88] = 88, + [89] = 89, + [90] = 90, + [91] = 91, + [92] = 92, + [93] = 93, + [94] = 94, + [95] = 95, + [96] = 96, + [97] = 97, + [98] = 98, + [99] = 99, + [100] = 100, + [101] = 101, + [102] = 102, + [103] = 97, + [104] = 102, + [105] = 93, + [106] = 94, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -627,210 +669,224 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(28); + if (eof) ADVANCE(31); if (lookahead == '\n') SKIP(0); - if (lookahead == '\r') SKIP(23); - if (lookahead == '!') ADVANCE(37); - if (lookahead == '$') ADVANCE(32); - if (lookahead == '(') ADVANCE(53); - if (lookahead == ')') ADVANCE(38); - if (lookahead == '*') ADVANCE(56); - if (lookahead == '+') ADVANCE(58); - if (lookahead == ',') ADVANCE(60); - if (lookahead == '-') ADVANCE(47); - if (lookahead == '.') ADVANCE(30); - if (lookahead == ':') ADVANCE(41); - if (lookahead == '=') ADVANCE(36); - if (lookahead == '>') ADVANCE(54); - if (lookahead == '?') ADVANCE(57); - if (lookahead == '[') ADVANCE(42); - if (lookahead == '\\') ADVANCE(9); - if (lookahead == ']') ADVANCE(43); - if (lookahead == '^') ADVANCE(31); - if (lookahead == '{') ADVANCE(59); - if (lookahead == '|') ADVANCE(29); - if (lookahead == '}') ADVANCE(61); - if (lookahead != 0) ADVANCE(40); + if (lookahead == '\r') SKIP(26); + if (lookahead == '!') ADVANCE(40); + if (lookahead == '$') ADVANCE(35); + if (lookahead == '(') ADVANCE(57); + if (lookahead == ')') ADVANCE(41); + if (lookahead == '*') ADVANCE(60); + if (lookahead == '+') ADVANCE(62); + if (lookahead == ',') ADVANCE(64); + if (lookahead == '-') ADVANCE(46); + if (lookahead == '.') ADVANCE(33); + if (lookahead == ':') ADVANCE(44); + if (lookahead == '=') ADVANCE(39); + if (lookahead == '>') ADVANCE(58); + if (lookahead == '?') ADVANCE(61); + if (lookahead == '[') ADVANCE(45); + if (lookahead == '\\') ADVANCE(10); + if (lookahead == ']') ADVANCE(47); + if (lookahead == '^') ADVANCE(34); + if (lookahead == '{') ADVANCE(63); + if (lookahead == '|') ADVANCE(32); + if (lookahead == '}') ADVANCE(65); + if (lookahead != 0) ADVANCE(43); END_STATE(); case 1: - if (lookahead == '\n') ADVANCE(50); - if (lookahead == '\r') ADVANCE(49); - if (lookahead == '-') ADVANCE(47); - if (lookahead == '[') ADVANCE(52); - if (lookahead == '\\') ADVANCE(10); - if (lookahead == ']') ADVANCE(43); - if (lookahead == '^') ADVANCE(31); - if (lookahead != 0) ADVANCE(49); + if (lookahead == '\n') ADVANCE(53); + if (lookahead == '\r') ADVANCE(52); + if (lookahead == '-') ADVANCE(46); + if (lookahead == '[') ADVANCE(56); + if (lookahead == '\\') ADVANCE(11); + if (lookahead == ']') ADVANCE(47); + if (lookahead == '^') ADVANCE(34); + if (lookahead != 0) ADVANCE(52); END_STATE(); case 2: - if (lookahead == '\n') ADVANCE(51); - if (lookahead == '\r') ADVANCE(49); - if (lookahead == '-') ADVANCE(47); - if (lookahead == '[') ADVANCE(52); - if (lookahead == '\\') ADVANCE(10); - if (lookahead == ']') ADVANCE(43); - if (lookahead != 0) ADVANCE(49); + if (lookahead == '\n') ADVANCE(54); + if (lookahead == '\r') ADVANCE(52); + if (lookahead == '-') ADVANCE(46); + if (lookahead == '[') ADVANCE(56); + if (lookahead == '\\') ADVANCE(11); + if (lookahead == ']') ADVANCE(47); + if (lookahead != 0) ADVANCE(52); END_STATE(); case 3: - if (lookahead == '\n') SKIP(4); + if (lookahead == '\n') ADVANCE(55); + if (lookahead == '\r') ADVANCE(52); + if (lookahead == '-') ADVANCE(46); + if (lookahead == '\\') ADVANCE(14); + if (lookahead == ']') ADVANCE(47); + if (lookahead != 0) ADVANCE(52); END_STATE(); case 4: - if (lookahead == '\n') SKIP(4); - if (lookahead == '\r') SKIP(3); - if (lookahead == '!') ADVANCE(37); - if (lookahead == ',') ADVANCE(60); - if (lookahead == ':') ADVANCE(12); - if (lookahead == '=') ADVANCE(36); - if (lookahead == '>') ADVANCE(54); - if (lookahead == '}') ADVANCE(61); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(75); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(74); + if (lookahead == '\n') SKIP(5); END_STATE(); case 5: - if (lookahead == '\n') SKIP(6); + if (lookahead == '\n') SKIP(5); + if (lookahead == '\r') SKIP(4); + if (lookahead == '!') ADVANCE(40); + if (lookahead == ',') ADVANCE(64); + if (lookahead == '-') ADVANCE(46); + if (lookahead == ':') ADVANCE(13); + if (lookahead == '=') ADVANCE(39); + if (lookahead == '>') ADVANCE(58); + if (lookahead == ']') ADVANCE(47); + if (lookahead == '}') ADVANCE(65); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(79); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(78); END_STATE(); case 6: - if (lookahead == '\n') SKIP(6); - if (lookahead == '\r') SKIP(5); + if (lookahead == '\n') SKIP(7); + END_STATE(); + case 7: + if (lookahead == '\n') SKIP(7); + if (lookahead == '\r') SKIP(6); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(68); - END_STATE(); - case 7: - if (lookahead == '\n') SKIP(8); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(72); END_STATE(); case 8: - if (lookahead == '\n') SKIP(8); - if (lookahead == '\r') SKIP(7); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(46); + if (lookahead == '\n') SKIP(9); END_STATE(); case 9: - ADVANCE_MAP( - '-', 48, - 'B', 34, - 'b', 33, - 'c', 73, - 'k', 62, - 'u', 72, - 'P', 65, - 'p', 65, - '0', 69, - 'f', 69, - 'n', 69, - 'r', 69, - 't', 69, - 'v', 69, - 'D', 64, - 'S', 64, - 'W', 64, - 'd', 64, - 's', 64, - 'w', 64, - ); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(63); - if (lookahead != 0) ADVANCE(71); + if (lookahead == '\n') SKIP(9); + if (lookahead == '\r') SKIP(8); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(50); END_STATE(); case 10: ADVANCE_MAP( - '-', 48, - 'c', 73, - 'u', 72, - 'P', 65, - 'p', 65, - 'D', 64, - 'S', 64, - 'W', 64, - 'd', 64, - 's', 64, - 'w', 64, - '0', 69, - 'b', 69, - 'f', 69, - 'n', 69, - 'r', 69, - 't', 69, - 'v', 69, + '-', 51, + 'B', 37, + 'b', 36, + 'c', 77, + 'k', 66, + 'u', 76, + 'P', 69, + 'p', 69, + '0', 73, + 'f', 73, + 'n', 73, + 'r', 73, + 't', 73, + 'v', 73, + 'D', 68, + 'S', 68, + 'W', 68, + 'd', 68, + 's', 68, + 'w', 68, ); - if (lookahead != 0 && - (lookahead < '0' || '9' < lookahead) && - lookahead != 'k') ADVANCE(71); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(67); + if (lookahead != 0) ADVANCE(75); END_STATE(); case 11: ADVANCE_MAP( - 'B', 34, - 'b', 33, - 'c', 73, - 'k', 62, - 'u', 72, - 'P', 65, - 'p', 65, - '0', 69, - 'f', 69, - 'n', 69, - 'r', 69, - 't', 69, - 'v', 69, - 'D', 64, - 'S', 64, - 'W', 64, - 'd', 64, - 's', 64, - 'w', 64, + '-', 51, + 'c', 77, + 'u', 76, + 'P', 69, + 'p', 69, + 'D', 68, + 'S', 68, + 'W', 68, + 'd', 68, + 's', 68, + 'w', 68, + '0', 73, + 'b', 73, + 'f', 73, + 'n', 73, + 'r', 73, + 't', 73, + 'v', 73, ); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(63); - if (lookahead != 0) ADVANCE(71); + if (lookahead != 0 && + (lookahead < '0' || '9' < lookahead) && + lookahead != 'k') ADVANCE(75); END_STATE(); case 12: - if (lookahead == ']') ADVANCE(45); + ADVANCE_MAP( + 'B', 37, + 'b', 36, + 'c', 77, + 'k', 66, + 'u', 76, + 'P', 69, + 'p', 69, + '0', 73, + 'f', 73, + 'n', 73, + 'r', 73, + 't', 73, + 'v', 73, + 'D', 68, + 'S', 68, + 'W', 68, + 'd', 68, + 's', 68, + 'w', 68, + ); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(67); + if (lookahead != 0) ADVANCE(75); END_STATE(); case 13: - if (lookahead == '}') ADVANCE(67); + if (lookahead == ']') ADVANCE(49); END_STATE(); case 14: - if (lookahead == '}') ADVANCE(67); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(13); + ADVANCE_MAP( + 'u', 15, + 'P', 69, + 'p', 69, + 'D', 68, + 'S', 68, + 'W', 68, + 'd', 68, + 's', 68, + 'w', 68, + ); END_STATE(); case 15: - if (lookahead == '}') ADVANCE(67); + if (lookahead == '{') ADVANCE(22); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(14); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(25); END_STATE(); case 16: - if (lookahead == '}') ADVANCE(67); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(15); + if (lookahead == '}') ADVANCE(71); END_STATE(); case 17: - if (lookahead == '}') ADVANCE(67); + if (lookahead == '}') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(16); END_STATE(); case 18: - if (lookahead == '}') ADVANCE(67); + if (lookahead == '}') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(17); END_STATE(); case 19: + if (lookahead == '}') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(18); END_STATE(); case 20: + if (lookahead == '}') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(66); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(19); END_STATE(); case 21: + if (lookahead == '}') ADVANCE(71); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(20); @@ -841,233 +897,257 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ('a' <= lookahead && lookahead <= 'f')) ADVANCE(21); END_STATE(); case 23: - if (eof) ADVANCE(28); - if (lookahead == '\n') SKIP(0); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(70); END_STATE(); case 24: - if (eof) ADVANCE(28); - if (lookahead == '\n') SKIP(25); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(23); END_STATE(); case 25: - if (eof) ADVANCE(28); - if (lookahead == '\n') SKIP(25); - if (lookahead == '\r') SKIP(24); - if (lookahead == '$') ADVANCE(32); - if (lookahead == '(') ADVANCE(53); - if (lookahead == ')') ADVANCE(38); - if (lookahead == '.') ADVANCE(30); - if (lookahead == '?') ADVANCE(57); - if (lookahead == '[') ADVANCE(42); - if (lookahead == '\\') ADVANCE(11); - if (lookahead == '^') ADVANCE(31); - if (lookahead == '|') ADVANCE(29); - if (lookahead != 0 && - (lookahead < '(' || '+' < lookahead) && - (lookahead < '[' || '^' < lookahead)) ADVANCE(40); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(24); END_STATE(); case 26: - if (eof) ADVANCE(28); - if (lookahead == '\n') SKIP(27); + if (eof) ADVANCE(31); + if (lookahead == '\n') SKIP(0); END_STATE(); case 27: - if (eof) ADVANCE(28); - if (lookahead == '\n') SKIP(27); - if (lookahead == '\r') SKIP(26); - if (lookahead == '$') ADVANCE(32); - if (lookahead == '(') ADVANCE(53); - if (lookahead == ')') ADVANCE(38); - if (lookahead == '*') ADVANCE(56); - if (lookahead == '+') ADVANCE(58); - if (lookahead == '.') ADVANCE(30); - if (lookahead == '?') ADVANCE(57); - if (lookahead == '[') ADVANCE(42); - if (lookahead == '\\') ADVANCE(11); - if (lookahead == '^') ADVANCE(31); - if (lookahead == '{') ADVANCE(59); - if (lookahead == '|') ADVANCE(29); - if (lookahead != 0 && - (lookahead < '[' || '^' < lookahead)) ADVANCE(40); + if (eof) ADVANCE(31); + if (lookahead == '\n') SKIP(28); END_STATE(); case 28: - ACCEPT_TOKEN(ts_builtin_sym_end); + if (eof) ADVANCE(31); + if (lookahead == '\n') SKIP(28); + if (lookahead == '\r') SKIP(27); + if (lookahead == '$') ADVANCE(35); + if (lookahead == '(') ADVANCE(57); + if (lookahead == ')') ADVANCE(41); + if (lookahead == '.') ADVANCE(33); + if (lookahead == '?') ADVANCE(61); + if (lookahead == '[') ADVANCE(45); + if (lookahead == '\\') ADVANCE(12); + if (lookahead == '^') ADVANCE(34); + if (lookahead == '|') ADVANCE(32); + if (lookahead != 0 && + (lookahead < '(' || '+' < lookahead) && + (lookahead < '[' || '^' < lookahead)) ADVANCE(43); END_STATE(); case 29: - ACCEPT_TOKEN(anon_sym_PIPE); + if (eof) ADVANCE(31); + if (lookahead == '\n') SKIP(30); END_STATE(); case 30: - ACCEPT_TOKEN(sym_any_character); + if (eof) ADVANCE(31); + if (lookahead == '\n') SKIP(30); + if (lookahead == '\r') SKIP(29); + if (lookahead == '$') ADVANCE(35); + if (lookahead == '(') ADVANCE(57); + if (lookahead == ')') ADVANCE(41); + if (lookahead == '*') ADVANCE(60); + if (lookahead == '+') ADVANCE(62); + if (lookahead == '.') ADVANCE(33); + if (lookahead == '?') ADVANCE(61); + if (lookahead == '[') ADVANCE(45); + if (lookahead == '\\') ADVANCE(12); + if (lookahead == '^') ADVANCE(34); + if (lookahead == '{') ADVANCE(63); + if (lookahead == '|') ADVANCE(32); + if (lookahead != 0 && + (lookahead < '[' || '^' < lookahead)) ADVANCE(43); END_STATE(); case 31: - ACCEPT_TOKEN(anon_sym_CARET); + ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 32: - ACCEPT_TOKEN(sym_end_assertion); + ACCEPT_TOKEN(anon_sym_PIPE); END_STATE(); case 33: - ACCEPT_TOKEN(sym_boundary_assertion); + ACCEPT_TOKEN(sym_any_character); END_STATE(); case 34: - ACCEPT_TOKEN(sym_non_boundary_assertion); + ACCEPT_TOKEN(anon_sym_CARET); END_STATE(); case 35: - ACCEPT_TOKEN(anon_sym_LPAREN_QMARK); - if (lookahead == ':') ADVANCE(55); - if (lookahead == '<') ADVANCE(39); + ACCEPT_TOKEN(sym_end_assertion); END_STATE(); case 36: - ACCEPT_TOKEN(anon_sym_EQ); + ACCEPT_TOKEN(sym_boundary_assertion); END_STATE(); case 37: - ACCEPT_TOKEN(anon_sym_BANG); + ACCEPT_TOKEN(sym_non_boundary_assertion); END_STATE(); case 38: - ACCEPT_TOKEN(anon_sym_RPAREN); + ACCEPT_TOKEN(anon_sym_LPAREN_QMARK); + if (lookahead == ':') ADVANCE(59); + if (lookahead == '<') ADVANCE(42); END_STATE(); case 39: - ACCEPT_TOKEN(anon_sym_LPAREN_QMARK_LT); + ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); case 40: - ACCEPT_TOKEN(sym_pattern_character); + ACCEPT_TOKEN(anon_sym_BANG); END_STATE(); case 41: - ACCEPT_TOKEN(sym_pattern_character); - if (lookahead == ']') ADVANCE(45); + ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); case 42: - ACCEPT_TOKEN(anon_sym_LBRACK); - if (lookahead == ':') ADVANCE(44); + ACCEPT_TOKEN(anon_sym_LPAREN_QMARK_LT); END_STATE(); case 43: - ACCEPT_TOKEN(anon_sym_RBRACK); + ACCEPT_TOKEN(sym_pattern_character); END_STATE(); case 44: - ACCEPT_TOKEN(anon_sym_LBRACK_COLON); + ACCEPT_TOKEN(sym_pattern_character); + if (lookahead == ']') ADVANCE(49); END_STATE(); case 45: - ACCEPT_TOKEN(anon_sym_COLON_RBRACK); + ACCEPT_TOKEN(anon_sym_LBRACK); + if (lookahead == ':') ADVANCE(48); END_STATE(); case 46: - ACCEPT_TOKEN(sym_posix_class_name); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(46); + ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); case 47: - ACCEPT_TOKEN(anon_sym_DASH); + ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); case 48: - ACCEPT_TOKEN(anon_sym_BSLASH_DASH); + ACCEPT_TOKEN(anon_sym_LBRACK_COLON); END_STATE(); case 49: - ACCEPT_TOKEN(sym_class_character); + ACCEPT_TOKEN(anon_sym_COLON_RBRACK); END_STATE(); case 50: + ACCEPT_TOKEN(sym_posix_class_name); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(50); + END_STATE(); + case 51: + ACCEPT_TOKEN(anon_sym_BSLASH_DASH); + END_STATE(); + case 52: ACCEPT_TOKEN(sym_class_character); - if (lookahead == '\n') ADVANCE(50); - if (lookahead == '\r') ADVANCE(49); - if (lookahead == '[') ADVANCE(52); - if (lookahead == '^') ADVANCE(31); + END_STATE(); + case 53: + ACCEPT_TOKEN(sym_class_character); + if (lookahead == '\n') ADVANCE(53); + if (lookahead == '\r') ADVANCE(52); + if (lookahead == '[') ADVANCE(56); + if (lookahead == '^') ADVANCE(34); if (lookahead != 0 && lookahead != '-' && - (lookahead < '[' || '^' < lookahead)) ADVANCE(49); + (lookahead < '[' || '^' < lookahead)) ADVANCE(52); END_STATE(); - case 51: + case 54: ACCEPT_TOKEN(sym_class_character); - if (lookahead == '\n') ADVANCE(51); - if (lookahead == '\r') ADVANCE(49); - if (lookahead == '[') ADVANCE(52); + if (lookahead == '\n') ADVANCE(54); + if (lookahead == '\r') ADVANCE(52); + if (lookahead == '[') ADVANCE(56); if (lookahead != 0 && lookahead != '-' && - (lookahead < '[' || ']' < lookahead)) ADVANCE(49); + (lookahead < '[' || ']' < lookahead)) ADVANCE(52); END_STATE(); - case 52: + case 55: ACCEPT_TOKEN(sym_class_character); - if (lookahead == ':') ADVANCE(44); + if (lookahead == '\n') ADVANCE(55); + if (lookahead == '\r') ADVANCE(52); + if (lookahead != 0 && + lookahead != '-' && + lookahead != '\\' && + lookahead != ']') ADVANCE(52); END_STATE(); - case 53: + case 56: + ACCEPT_TOKEN(sym_class_character); + if (lookahead == ':') ADVANCE(48); + END_STATE(); + case 57: ACCEPT_TOKEN(anon_sym_LPAREN); - if (lookahead == '?') ADVANCE(35); + if (lookahead == '?') ADVANCE(38); END_STATE(); - case 54: + case 58: ACCEPT_TOKEN(anon_sym_GT); END_STATE(); - case 55: + case 59: ACCEPT_TOKEN(anon_sym_LPAREN_QMARK_COLON); END_STATE(); - case 56: + case 60: ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); - case 57: + case 61: ACCEPT_TOKEN(anon_sym_QMARK); END_STATE(); - case 58: + case 62: ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); - case 59: + case 63: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 60: + case 64: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 61: + case 65: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 62: + case 66: ACCEPT_TOKEN(anon_sym_BSLASHk); END_STATE(); - case 63: + case 67: ACCEPT_TOKEN(sym_decimal_escape); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(63); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(67); END_STATE(); - case 64: + case 68: ACCEPT_TOKEN(aux_sym_character_class_escape_token1); END_STATE(); - case 65: + case 69: ACCEPT_TOKEN(aux_sym_character_class_escape_token2); END_STATE(); - case 66: + case 70: ACCEPT_TOKEN(aux_sym_unicode_character_escape_token1); END_STATE(); - case 67: + case 71: ACCEPT_TOKEN(aux_sym_unicode_character_escape_token2); END_STATE(); - case 68: + case 72: ACCEPT_TOKEN(sym_unicode_property); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(68); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(72); END_STATE(); - case 69: + case 73: ACCEPT_TOKEN(sym_control_escape); END_STATE(); - case 70: + case 74: ACCEPT_TOKEN(sym_control_letter_escape); END_STATE(); - case 71: + case 75: ACCEPT_TOKEN(sym_identity_escape); END_STATE(); - case 72: + case 76: ACCEPT_TOKEN(sym_identity_escape); - if (lookahead == '{') ADVANCE(19); + if (lookahead == '{') ADVANCE(22); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(22); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(25); END_STATE(); - case 73: + case 77: ACCEPT_TOKEN(sym_identity_escape); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(70); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(74); END_STATE(); - case 74: + case 78: ACCEPT_TOKEN(sym_group_name); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(74); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(78); END_STATE(); - case 75: + case 79: ACCEPT_TOKEN(sym_decimal_digits); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(75); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(79); END_STATE(); default: return false; @@ -1076,52 +1156,52 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 25}, - [2] = {.lex_state = 25}, - [3] = {.lex_state = 25}, - [4] = {.lex_state = 25}, - [5] = {.lex_state = 25}, - [6] = {.lex_state = 25}, - [7] = {.lex_state = 25}, - [8] = {.lex_state = 25}, - [9] = {.lex_state = 25}, - [10] = {.lex_state = 27}, - [11] = {.lex_state = 27}, - [12] = {.lex_state = 27}, - [13] = {.lex_state = 27}, - [14] = {.lex_state = 27}, - [15] = {.lex_state = 27}, - [16] = {.lex_state = 27}, - [17] = {.lex_state = 27}, - [18] = {.lex_state = 27}, - [19] = {.lex_state = 27}, - [20] = {.lex_state = 27}, - [21] = {.lex_state = 27}, - [22] = {.lex_state = 27}, - [23] = {.lex_state = 27}, - [24] = {.lex_state = 27}, - [25] = {.lex_state = 27}, - [26] = {.lex_state = 25}, - [27] = {.lex_state = 25}, - [28] = {.lex_state = 25}, - [29] = {.lex_state = 25}, - [30] = {.lex_state = 25}, - [31] = {.lex_state = 25}, - [32] = {.lex_state = 25}, - [33] = {.lex_state = 25}, - [34] = {.lex_state = 25}, - [35] = {.lex_state = 25}, - [36] = {.lex_state = 25}, - [37] = {.lex_state = 1}, - [38] = {.lex_state = 2}, - [39] = {.lex_state = 2}, - [40] = {.lex_state = 2}, - [41] = {.lex_state = 2}, - [42] = {.lex_state = 2}, - [43] = {.lex_state = 2}, - [44] = {.lex_state = 2}, - [45] = {.lex_state = 2}, - [46] = {.lex_state = 2}, + [1] = {.lex_state = 28}, + [2] = {.lex_state = 28}, + [3] = {.lex_state = 28}, + [4] = {.lex_state = 28}, + [5] = {.lex_state = 28}, + [6] = {.lex_state = 28}, + [7] = {.lex_state = 28}, + [8] = {.lex_state = 28}, + [9] = {.lex_state = 28}, + [10] = {.lex_state = 30}, + [11] = {.lex_state = 30}, + [12] = {.lex_state = 30}, + [13] = {.lex_state = 30}, + [14] = {.lex_state = 30}, + [15] = {.lex_state = 30}, + [16] = {.lex_state = 30}, + [17] = {.lex_state = 30}, + [18] = {.lex_state = 30}, + [19] = {.lex_state = 30}, + [20] = {.lex_state = 30}, + [21] = {.lex_state = 30}, + [22] = {.lex_state = 30}, + [23] = {.lex_state = 30}, + [24] = {.lex_state = 30}, + [25] = {.lex_state = 30}, + [26] = {.lex_state = 30}, + [27] = {.lex_state = 30}, + [28] = {.lex_state = 30}, + [29] = {.lex_state = 30}, + [30] = {.lex_state = 30}, + [31] = {.lex_state = 30}, + [32] = {.lex_state = 30}, + [33] = {.lex_state = 30}, + [34] = {.lex_state = 30}, + [35] = {.lex_state = 28}, + [36] = {.lex_state = 28}, + [37] = {.lex_state = 28}, + [38] = {.lex_state = 28}, + [39] = {.lex_state = 28}, + [40] = {.lex_state = 28}, + [41] = {.lex_state = 28}, + [42] = {.lex_state = 28}, + [43] = {.lex_state = 28}, + [44] = {.lex_state = 28}, + [45] = {.lex_state = 28}, + [46] = {.lex_state = 1}, [47] = {.lex_state = 2}, [48] = {.lex_state = 2}, [49] = {.lex_state = 2}, @@ -1129,39 +1209,59 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [51] = {.lex_state = 2}, [52] = {.lex_state = 2}, [53] = {.lex_state = 2}, - [54] = {.lex_state = 0}, - [55] = {.lex_state = 0}, - [56] = {.lex_state = 0}, - [57] = {.lex_state = 0}, - [58] = {.lex_state = 0}, - [59] = {.lex_state = 4}, - [60] = {.lex_state = 4}, - [61] = {.lex_state = 4}, - [62] = {.lex_state = 4}, - [63] = {.lex_state = 6}, - [64] = {.lex_state = 0}, - [65] = {.lex_state = 6}, - [66] = {.lex_state = 4}, - [67] = {.lex_state = 0}, - [68] = {.lex_state = 4}, + [54] = {.lex_state = 2}, + [55] = {.lex_state = 2}, + [56] = {.lex_state = 2}, + [57] = {.lex_state = 2}, + [58] = {.lex_state = 2}, + [59] = {.lex_state = 2}, + [60] = {.lex_state = 2}, + [61] = {.lex_state = 2}, + [62] = {.lex_state = 2}, + [63] = {.lex_state = 2}, + [64] = {.lex_state = 2}, + [65] = {.lex_state = 3}, + [66] = {.lex_state = 3}, + [67] = {.lex_state = 3}, + [68] = {.lex_state = 3}, [69] = {.lex_state = 0}, - [70] = {.lex_state = 6}, + [70] = {.lex_state = 0}, [71] = {.lex_state = 0}, - [72] = {.lex_state = 4}, - [73] = {.lex_state = 0}, - [74] = {.lex_state = 4}, - [75] = {.lex_state = 4}, - [76] = {.lex_state = 4}, - [77] = {.lex_state = 0}, - [78] = {.lex_state = 4}, - [79] = {.lex_state = 0}, - [80] = {.lex_state = 0}, - [81] = {.lex_state = 8}, - [82] = {.lex_state = 4}, - [83] = {.lex_state = 4}, - [84] = {.lex_state = 8}, - [85] = {.lex_state = 4}, - [86] = {.lex_state = 0}, + [72] = {.lex_state = 0}, + [73] = {.lex_state = 5}, + [74] = {.lex_state = 0}, + [75] = {.lex_state = 0}, + [76] = {.lex_state = 5}, + [77] = {.lex_state = 5}, + [78] = {.lex_state = 5}, + [79] = {.lex_state = 5}, + [80] = {.lex_state = 5}, + [81] = {.lex_state = 5}, + [82] = {.lex_state = 7}, + [83] = {.lex_state = 5}, + [84] = {.lex_state = 7}, + [85] = {.lex_state = 0}, + [86] = {.lex_state = 5}, + [87] = {.lex_state = 0}, + [88] = {.lex_state = 7}, + [89] = {.lex_state = 5}, + [90] = {.lex_state = 5}, + [91] = {.lex_state = 5}, + [92] = {.lex_state = 5}, + [93] = {.lex_state = 9}, + [94] = {.lex_state = 0}, + [95] = {.lex_state = 5}, + [96] = {.lex_state = 0}, + [97] = {.lex_state = 5}, + [98] = {.lex_state = 0}, + [99] = {.lex_state = 0}, + [100] = {.lex_state = 0}, + [101] = {.lex_state = 5}, + [102] = {.lex_state = 5}, + [103] = {.lex_state = 5}, + [104] = {.lex_state = 5}, + [105] = {.lex_state = 9}, + [106] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -1180,10 +1280,10 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LPAREN_QMARK_LT] = ACTIONS(1), [sym_pattern_character] = ACTIONS(1), [anon_sym_LBRACK] = ACTIONS(1), + [anon_sym_DASH] = ACTIONS(1), [anon_sym_RBRACK] = ACTIONS(1), [anon_sym_LBRACK_COLON] = ACTIONS(1), [anon_sym_COLON_RBRACK] = ACTIONS(1), - [anon_sym_DASH] = ACTIONS(1), [anon_sym_BSLASH_DASH] = ACTIONS(1), [anon_sym_LPAREN] = ACTIONS(1), [anon_sym_GT] = ACTIONS(1), @@ -1205,13 +1305,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_identity_escape] = ACTIONS(1), }, [1] = { - [sym_pattern] = STATE(71), - [sym_alternation] = STATE(64), - [sym_term] = STATE(54), + [sym_pattern] = STATE(85), + [sym_alternation] = STATE(75), + [sym_term] = STATE(70), [sym_start_assertion] = STATE(10), [sym_lookaround_assertion] = STATE(10), - [sym__lookahead_assertion] = STATE(13), - [sym__lookbehind_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(14), + [sym__lookbehind_assertion] = STATE(14), [sym_character_class] = STATE(10), [sym_posix_character_class] = STATE(10), [sym_anonymous_capturing_group] = STATE(10), @@ -1219,9 +1319,9 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(10), [sym_backreference_escape] = STATE(10), [sym_character_class_escape] = STATE(10), - [sym_unicode_character_escape] = STATE(12), - [aux_sym_alternation_repeat1] = STATE(57), - [aux_sym_term_repeat1] = STATE(8), + [sym_unicode_character_escape] = STATE(28), + [aux_sym_alternation_repeat1] = STATE(71), + [aux_sym_term_repeat1] = STATE(9), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1246,13 +1346,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_identity_escape] = ACTIONS(29), }, [2] = { - [sym_pattern] = STATE(69), - [sym_alternation] = STATE(64), - [sym_term] = STATE(54), + [sym_pattern] = STATE(99), + [sym_alternation] = STATE(75), + [sym_term] = STATE(70), [sym_start_assertion] = STATE(10), [sym_lookaround_assertion] = STATE(10), - [sym__lookahead_assertion] = STATE(13), - [sym__lookbehind_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(14), + [sym__lookbehind_assertion] = STATE(14), [sym_character_class] = STATE(10), [sym_posix_character_class] = STATE(10), [sym_anonymous_capturing_group] = STATE(10), @@ -1260,9 +1360,9 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(10), [sym_backreference_escape] = STATE(10), [sym_character_class_escape] = STATE(10), - [sym_unicode_character_escape] = STATE(12), - [aux_sym_alternation_repeat1] = STATE(57), - [aux_sym_term_repeat1] = STATE(8), + [sym_unicode_character_escape] = STATE(28), + [aux_sym_alternation_repeat1] = STATE(71), + [aux_sym_term_repeat1] = STATE(9), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1287,13 +1387,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_identity_escape] = ACTIONS(29), }, [3] = { - [sym_pattern] = STATE(67), - [sym_alternation] = STATE(64), - [sym_term] = STATE(54), + [sym_pattern] = STATE(100), + [sym_alternation] = STATE(75), + [sym_term] = STATE(70), [sym_start_assertion] = STATE(10), [sym_lookaround_assertion] = STATE(10), - [sym__lookahead_assertion] = STATE(13), - [sym__lookbehind_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(14), + [sym__lookbehind_assertion] = STATE(14), [sym_character_class] = STATE(10), [sym_posix_character_class] = STATE(10), [sym_anonymous_capturing_group] = STATE(10), @@ -1301,9 +1401,9 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(10), [sym_backreference_escape] = STATE(10), [sym_character_class_escape] = STATE(10), - [sym_unicode_character_escape] = STATE(12), - [aux_sym_alternation_repeat1] = STATE(57), - [aux_sym_term_repeat1] = STATE(8), + [sym_unicode_character_escape] = STATE(28), + [aux_sym_alternation_repeat1] = STATE(71), + [aux_sym_term_repeat1] = STATE(9), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1328,13 +1428,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_identity_escape] = ACTIONS(29), }, [4] = { - [sym_pattern] = STATE(73), - [sym_alternation] = STATE(64), - [sym_term] = STATE(54), + [sym_pattern] = STATE(87), + [sym_alternation] = STATE(75), + [sym_term] = STATE(70), [sym_start_assertion] = STATE(10), [sym_lookaround_assertion] = STATE(10), - [sym__lookahead_assertion] = STATE(13), - [sym__lookbehind_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(14), + [sym__lookbehind_assertion] = STATE(14), [sym_character_class] = STATE(10), [sym_posix_character_class] = STATE(10), [sym_anonymous_capturing_group] = STATE(10), @@ -1342,9 +1442,9 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(10), [sym_backreference_escape] = STATE(10), [sym_character_class_escape] = STATE(10), - [sym_unicode_character_escape] = STATE(12), - [aux_sym_alternation_repeat1] = STATE(57), - [aux_sym_term_repeat1] = STATE(8), + [sym_unicode_character_escape] = STATE(28), + [aux_sym_alternation_repeat1] = STATE(71), + [aux_sym_term_repeat1] = STATE(9), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1369,13 +1469,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_identity_escape] = ACTIONS(29), }, [5] = { - [sym_pattern] = STATE(79), - [sym_alternation] = STATE(64), - [sym_term] = STATE(54), + [sym_pattern] = STATE(98), + [sym_alternation] = STATE(75), + [sym_term] = STATE(70), [sym_start_assertion] = STATE(10), [sym_lookaround_assertion] = STATE(10), - [sym__lookahead_assertion] = STATE(13), - [sym__lookbehind_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(14), + [sym__lookbehind_assertion] = STATE(14), [sym_character_class] = STATE(10), [sym_posix_character_class] = STATE(10), [sym_anonymous_capturing_group] = STATE(10), @@ -1383,9 +1483,9 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(10), [sym_backreference_escape] = STATE(10), [sym_character_class_escape] = STATE(10), - [sym_unicode_character_escape] = STATE(12), - [aux_sym_alternation_repeat1] = STATE(57), - [aux_sym_term_repeat1] = STATE(8), + [sym_unicode_character_escape] = STATE(28), + [aux_sym_alternation_repeat1] = STATE(71), + [aux_sym_term_repeat1] = STATE(9), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1410,13 +1510,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_identity_escape] = ACTIONS(29), }, [6] = { - [sym_pattern] = STATE(80), - [sym_alternation] = STATE(64), - [sym_term] = STATE(54), + [sym_pattern] = STATE(96), + [sym_alternation] = STATE(75), + [sym_term] = STATE(70), [sym_start_assertion] = STATE(10), [sym_lookaround_assertion] = STATE(10), - [sym__lookahead_assertion] = STATE(13), - [sym__lookbehind_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(14), + [sym__lookbehind_assertion] = STATE(14), [sym_character_class] = STATE(10), [sym_posix_character_class] = STATE(10), [sym_anonymous_capturing_group] = STATE(10), @@ -1424,9 +1524,9 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(10), [sym_backreference_escape] = STATE(10), [sym_character_class_escape] = STATE(10), - [sym_unicode_character_escape] = STATE(12), - [aux_sym_alternation_repeat1] = STATE(57), - [aux_sym_term_repeat1] = STATE(8), + [sym_unicode_character_escape] = STATE(28), + [aux_sym_alternation_repeat1] = STATE(71), + [aux_sym_term_repeat1] = STATE(9), [anon_sym_PIPE] = ACTIONS(3), [sym_any_character] = ACTIONS(5), [anon_sym_CARET] = ACTIONS(7), @@ -1451,11 +1551,11 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_identity_escape] = ACTIONS(29), }, [7] = { - [sym_term] = STATE(58), + [sym_term] = STATE(74), [sym_start_assertion] = STATE(10), [sym_lookaround_assertion] = STATE(10), - [sym__lookahead_assertion] = STATE(13), - [sym__lookbehind_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(14), + [sym__lookbehind_assertion] = STATE(14), [sym_character_class] = STATE(10), [sym_posix_character_class] = STATE(10), [sym_anonymous_capturing_group] = STATE(10), @@ -1463,8 +1563,8 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(10), [sym_backreference_escape] = STATE(10), [sym_character_class_escape] = STATE(10), - [sym_unicode_character_escape] = STATE(12), - [aux_sym_term_repeat1] = STATE(8), + [sym_unicode_character_escape] = STATE(28), + [aux_sym_term_repeat1] = STATE(9), [ts_builtin_sym_end] = ACTIONS(31), [anon_sym_PIPE] = ACTIONS(31), [sym_any_character] = ACTIONS(5), @@ -1493,8 +1593,8 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [8] = { [sym_start_assertion] = STATE(10), [sym_lookaround_assertion] = STATE(10), - [sym__lookahead_assertion] = STATE(13), - [sym__lookbehind_assertion] = STATE(13), + [sym__lookahead_assertion] = STATE(14), + [sym__lookbehind_assertion] = STATE(14), [sym_character_class] = STATE(10), [sym_posix_character_class] = STATE(10), [sym_anonymous_capturing_group] = STATE(10), @@ -1502,17 +1602,56 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_non_capturing_group] = STATE(10), [sym_backreference_escape] = STATE(10), [sym_character_class_escape] = STATE(10), - [sym_unicode_character_escape] = STATE(12), - [aux_sym_term_repeat1] = STATE(9), + [sym_unicode_character_escape] = STATE(28), + [aux_sym_term_repeat1] = STATE(8), [ts_builtin_sym_end] = ACTIONS(33), [anon_sym_PIPE] = ACTIONS(33), + [sym_any_character] = ACTIONS(35), + [anon_sym_CARET] = ACTIONS(38), + [sym_end_assertion] = ACTIONS(35), + [sym_boundary_assertion] = ACTIONS(35), + [sym_non_boundary_assertion] = ACTIONS(35), + [anon_sym_LPAREN_QMARK] = ACTIONS(41), + [anon_sym_RPAREN] = ACTIONS(33), + [anon_sym_LPAREN_QMARK_LT] = ACTIONS(44), + [sym_pattern_character] = ACTIONS(35), + [anon_sym_LBRACK] = ACTIONS(47), + [anon_sym_LBRACK_COLON] = ACTIONS(50), + [anon_sym_LPAREN] = ACTIONS(53), + [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(56), + [anon_sym_BSLASHk] = ACTIONS(59), + [sym_decimal_escape] = ACTIONS(35), + [aux_sym_character_class_escape_token1] = ACTIONS(62), + [aux_sym_character_class_escape_token2] = ACTIONS(65), + [aux_sym_unicode_character_escape_token1] = ACTIONS(68), + [aux_sym_unicode_character_escape_token2] = ACTIONS(68), + [sym_control_escape] = ACTIONS(71), + [sym_control_letter_escape] = ACTIONS(35), + [sym_identity_escape] = ACTIONS(71), + }, + [9] = { + [sym_start_assertion] = STATE(10), + [sym_lookaround_assertion] = STATE(10), + [sym__lookahead_assertion] = STATE(14), + [sym__lookbehind_assertion] = STATE(14), + [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(28), + [aux_sym_term_repeat1] = STATE(8), + [ts_builtin_sym_end] = ACTIONS(74), + [anon_sym_PIPE] = ACTIONS(74), [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(33), + [anon_sym_RPAREN] = ACTIONS(74), [anon_sym_LPAREN_QMARK_LT] = ACTIONS(11), [sym_pattern_character] = ACTIONS(5), [anon_sym_LBRACK] = ACTIONS(13), @@ -1529,45 +1668,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_control_letter_escape] = ACTIONS(5), [sym_identity_escape] = ACTIONS(29), }, - [9] = { - [sym_start_assertion] = STATE(10), - [sym_lookaround_assertion] = STATE(10), - [sym__lookahead_assertion] = STATE(13), - [sym__lookbehind_assertion] = STATE(13), - [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(12), - [aux_sym_term_repeat1] = STATE(9), - [ts_builtin_sym_end] = ACTIONS(35), - [anon_sym_PIPE] = ACTIONS(35), - [sym_any_character] = ACTIONS(37), - [anon_sym_CARET] = ACTIONS(40), - [sym_end_assertion] = ACTIONS(37), - [sym_boundary_assertion] = ACTIONS(37), - [sym_non_boundary_assertion] = ACTIONS(37), - [anon_sym_LPAREN_QMARK] = ACTIONS(43), - [anon_sym_RPAREN] = ACTIONS(35), - [anon_sym_LPAREN_QMARK_LT] = ACTIONS(46), - [sym_pattern_character] = ACTIONS(37), - [anon_sym_LBRACK] = ACTIONS(49), - [anon_sym_LBRACK_COLON] = ACTIONS(52), - [anon_sym_LPAREN] = ACTIONS(55), - [anon_sym_LPAREN_QMARK_COLON] = ACTIONS(58), - [anon_sym_BSLASHk] = ACTIONS(61), - [sym_decimal_escape] = ACTIONS(37), - [aux_sym_character_class_escape_token1] = ACTIONS(64), - [aux_sym_character_class_escape_token2] = ACTIONS(67), - [aux_sym_unicode_character_escape_token1] = ACTIONS(70), - [aux_sym_unicode_character_escape_token2] = ACTIONS(70), - [sym_control_escape] = ACTIONS(73), - [sym_control_letter_escape] = ACTIONS(37), - [sym_identity_escape] = ACTIONS(73), - }, }; static const uint16_t ts_small_parse_table[] = { @@ -1580,7 +1680,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS, ACTIONS(86), 1, anon_sym_LBRACE, - STATE(35), 4, + STATE(44), 4, sym_zero_or_more, sym_one_or_more, sym_optional, @@ -2076,16 +2176,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, sym_control_letter_escape, - [542] = 3, - ACTIONS(152), 1, - anon_sym_QMARK, - ACTIONS(150), 5, + [542] = 2, + ACTIONS(150), 6, anon_sym_LPAREN_QMARK, + sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, sym_control_escape, sym_identity_escape, - ACTIONS(148), 19, + ACTIONS(148), 22, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2095,9 +2194,12 @@ static const uint16_t ts_small_parse_table[] = { sym_non_boundary_assertion, anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, - sym_pattern_character, 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, @@ -2105,16 +2207,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, sym_control_letter_escape, - [574] = 3, - ACTIONS(158), 1, - anon_sym_QMARK, - ACTIONS(156), 5, + [575] = 2, + ACTIONS(154), 6, anon_sym_LPAREN_QMARK, + sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, sym_control_escape, sym_identity_escape, - ACTIONS(154), 19, + ACTIONS(152), 22, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2124,9 +2225,12 @@ static const uint16_t ts_small_parse_table[] = { sym_non_boundary_assertion, anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, - sym_pattern_character, 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, @@ -2134,16 +2238,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, sym_control_letter_escape, - [606] = 3, - ACTIONS(164), 1, - anon_sym_QMARK, - ACTIONS(162), 5, + [608] = 2, + ACTIONS(158), 6, anon_sym_LPAREN_QMARK, + sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, sym_control_escape, sym_identity_escape, - ACTIONS(160), 19, + ACTIONS(156), 22, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2153,9 +2256,12 @@ static const uint16_t ts_small_parse_table[] = { sym_non_boundary_assertion, anon_sym_RPAREN, anon_sym_LPAREN_QMARK_LT, - sym_pattern_character, 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, @@ -2163,16 +2269,15 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, sym_control_letter_escape, - [638] = 3, - ACTIONS(170), 1, - anon_sym_QMARK, - ACTIONS(168), 5, + [641] = 2, + ACTIONS(162), 6, anon_sym_LPAREN_QMARK, + sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, sym_control_escape, sym_identity_escape, - ACTIONS(166), 19, + ACTIONS(160), 22, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2182,9 +2287,43 @@ static const uint16_t ts_small_parse_table[] = { 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, + sym_control_letter_escape, + [674] = 2, + ACTIONS(166), 6, + anon_sym_LPAREN_QMARK, sym_pattern_character, + anon_sym_LBRACK, + anon_sym_LPAREN, + sym_control_escape, + sym_identity_escape, + ACTIONS(164), 22, + 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, @@ -2192,16 +2331,46 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, sym_control_letter_escape, - [670] = 3, - ACTIONS(176), 1, + [707] = 2, + ACTIONS(170), 6, + anon_sym_LPAREN_QMARK, + sym_pattern_character, + anon_sym_LBRACK, + anon_sym_LPAREN, + sym_control_escape, + sym_identity_escape, + ACTIONS(168), 22, + 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, - ACTIONS(174), 5, + 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, + sym_control_letter_escape, + [740] = 2, + ACTIONS(174), 6, anon_sym_LPAREN_QMARK, + sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, sym_control_escape, sym_identity_escape, - ACTIONS(172), 19, + ACTIONS(172), 22, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2211,9 +2380,43 @@ static const uint16_t ts_small_parse_table[] = { 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, + sym_control_letter_escape, + [773] = 2, + ACTIONS(178), 6, + anon_sym_LPAREN_QMARK, sym_pattern_character, + anon_sym_LBRACK, + anon_sym_LPAREN, + sym_control_escape, + sym_identity_escape, + ACTIONS(176), 22, + 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, @@ -2221,14 +2424,47 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, sym_control_letter_escape, - [702] = 2, - ACTIONS(180), 5, + [806] = 2, + ACTIONS(182), 6, anon_sym_LPAREN_QMARK, + sym_pattern_character, anon_sym_LBRACK, anon_sym_LPAREN, sym_control_escape, sym_identity_escape, - ACTIONS(178), 19, + ACTIONS(180), 22, + 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, + sym_control_letter_escape, + [839] = 3, + ACTIONS(188), 1, + anon_sym_QMARK, + ACTIONS(186), 5, + anon_sym_LPAREN_QMARK, + anon_sym_LBRACK, + anon_sym_LPAREN, + sym_control_escape, + sym_identity_escape, + ACTIONS(184), 19, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2248,14 +2484,16 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, sym_control_letter_escape, - [731] = 2, - ACTIONS(184), 5, + [871] = 3, + ACTIONS(194), 1, + anon_sym_QMARK, + ACTIONS(192), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, sym_control_escape, sym_identity_escape, - ACTIONS(182), 19, + ACTIONS(190), 19, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2275,14 +2513,16 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, sym_control_letter_escape, - [760] = 2, - ACTIONS(188), 5, + [903] = 3, + ACTIONS(200), 1, + anon_sym_QMARK, + ACTIONS(198), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, sym_control_escape, sym_identity_escape, - ACTIONS(186), 19, + ACTIONS(196), 19, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2302,14 +2542,16 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, sym_control_letter_escape, - [789] = 2, - ACTIONS(192), 5, + [935] = 3, + ACTIONS(206), 1, + anon_sym_QMARK, + ACTIONS(204), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, sym_control_escape, sym_identity_escape, - ACTIONS(190), 19, + ACTIONS(202), 19, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2329,14 +2571,16 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, sym_control_letter_escape, - [818] = 2, - ACTIONS(194), 5, + [967] = 3, + ACTIONS(212), 1, + anon_sym_QMARK, + ACTIONS(210), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, sym_control_escape, sym_identity_escape, - ACTIONS(35), 19, + ACTIONS(208), 19, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2356,14 +2600,14 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, sym_control_letter_escape, - [847] = 2, - ACTIONS(198), 5, + [999] = 2, + ACTIONS(216), 5, anon_sym_LPAREN_QMARK, anon_sym_LBRACK, anon_sym_LPAREN, sym_control_escape, sym_identity_escape, - ACTIONS(196), 19, + ACTIONS(214), 19, ts_builtin_sym_end, anon_sym_PIPE, sym_any_character, @@ -2383,214 +2627,432 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, sym_control_letter_escape, - [876] = 11, - ACTIONS(200), 1, + [1028] = 2, + ACTIONS(220), 5, + anon_sym_LPAREN_QMARK, + anon_sym_LBRACK, + anon_sym_LPAREN, + sym_control_escape, + sym_identity_escape, + ACTIONS(218), 19, + ts_builtin_sym_end, + anon_sym_PIPE, + sym_any_character, anon_sym_CARET, - ACTIONS(202), 1, - anon_sym_RBRACK, - ACTIONS(204), 1, + sym_end_assertion, + sym_boundary_assertion, + sym_non_boundary_assertion, + anon_sym_RPAREN, + anon_sym_LPAREN_QMARK_LT, + sym_pattern_character, anon_sym_LBRACK_COLON, - ACTIONS(206), 1, + anon_sym_LPAREN_QMARK_COLON, + 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, + sym_control_letter_escape, + [1057] = 2, + ACTIONS(224), 5, + anon_sym_LPAREN_QMARK, + anon_sym_LBRACK, + anon_sym_LPAREN, + sym_control_escape, + sym_identity_escape, + ACTIONS(222), 19, + 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, + sym_pattern_character, + anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARK_COLON, + 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, + sym_control_letter_escape, + [1086] = 2, + ACTIONS(228), 5, + anon_sym_LPAREN_QMARK, + anon_sym_LBRACK, + anon_sym_LPAREN, + sym_control_escape, + sym_identity_escape, + ACTIONS(226), 19, + 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, + sym_pattern_character, + anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARK_COLON, + 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, + sym_control_letter_escape, + [1115] = 2, + ACTIONS(230), 5, + anon_sym_LPAREN_QMARK, + anon_sym_LBRACK, + anon_sym_LPAREN, + sym_control_escape, + sym_identity_escape, + ACTIONS(33), 19, + 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, + sym_pattern_character, + anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARK_COLON, + 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, + sym_control_letter_escape, + [1144] = 2, + ACTIONS(234), 5, + anon_sym_LPAREN_QMARK, + anon_sym_LBRACK, + anon_sym_LPAREN, + sym_control_escape, + sym_identity_escape, + ACTIONS(232), 19, + 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, + sym_pattern_character, + anon_sym_LBRACK_COLON, + anon_sym_LPAREN_QMARK_COLON, + 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, + sym_control_letter_escape, + [1173] = 12, + ACTIONS(236), 1, + anon_sym_CARET, + ACTIONS(238), 1, anon_sym_DASH, - ACTIONS(210), 1, + ACTIONS(240), 1, + anon_sym_RBRACK, + ACTIONS(242), 1, + anon_sym_LBRACK_COLON, + ACTIONS(246), 1, + sym_class_character, + ACTIONS(248), 1, aux_sym_character_class_escape_token1, - ACTIONS(212), 1, + ACTIONS(250), 1, aux_sym_character_class_escape_token2, - STATE(51), 1, + STATE(57), 1, sym_unicode_character_escape, - ACTIONS(214), 2, + STATE(59), 1, + sym_character_class_escape, + ACTIONS(252), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - STATE(38), 2, + STATE(54), 3, + sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - STATE(44), 2, - sym_posix_character_class, - sym_character_class_escape, - ACTIONS(208), 5, + ACTIONS(244), 4, anon_sym_BSLASH_DASH, - sym_class_character, sym_control_escape, sym_control_letter_escape, sym_identity_escape, - [917] = 10, - ACTIONS(204), 1, + [1216] = 11, + ACTIONS(242), 1, anon_sym_LBRACK_COLON, - ACTIONS(206), 1, - anon_sym_DASH, - ACTIONS(210), 1, + ACTIONS(246), 1, + sym_class_character, + ACTIONS(248), 1, aux_sym_character_class_escape_token1, - ACTIONS(212), 1, + ACTIONS(250), 1, aux_sym_character_class_escape_token2, - ACTIONS(216), 1, + ACTIONS(254), 1, + anon_sym_DASH, + ACTIONS(256), 1, anon_sym_RBRACK, - STATE(51), 1, + STATE(57), 1, sym_unicode_character_escape, - ACTIONS(214), 2, + STATE(59), 1, + sym_character_class_escape, + ACTIONS(252), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - STATE(39), 2, + STATE(51), 3, + sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - STATE(44), 2, - sym_posix_character_class, - sym_character_class_escape, - ACTIONS(208), 5, + ACTIONS(258), 4, anon_sym_BSLASH_DASH, - sym_class_character, sym_control_escape, sym_control_letter_escape, sym_identity_escape, - [955] = 10, - ACTIONS(218), 1, + [1256] = 11, + ACTIONS(260), 1, + anon_sym_DASH, + ACTIONS(263), 1, anon_sym_RBRACK, - ACTIONS(220), 1, + ACTIONS(265), 1, anon_sym_LBRACK_COLON, - ACTIONS(223), 1, - anon_sym_DASH, - ACTIONS(229), 1, + ACTIONS(271), 1, + sym_class_character, + ACTIONS(274), 1, aux_sym_character_class_escape_token1, - ACTIONS(232), 1, + ACTIONS(277), 1, aux_sym_character_class_escape_token2, - STATE(51), 1, + STATE(57), 1, sym_unicode_character_escape, - ACTIONS(235), 2, + STATE(59), 1, + sym_character_class_escape, + ACTIONS(280), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - STATE(39), 2, + STATE(48), 3, + sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - STATE(44), 2, - sym_posix_character_class, - sym_character_class_escape, - ACTIONS(226), 5, + ACTIONS(268), 4, anon_sym_BSLASH_DASH, - sym_class_character, sym_control_escape, sym_control_letter_escape, sym_identity_escape, - [993] = 10, - ACTIONS(204), 1, + [1296] = 11, + ACTIONS(242), 1, anon_sym_LBRACK_COLON, - ACTIONS(206), 1, - anon_sym_DASH, - ACTIONS(210), 1, + ACTIONS(246), 1, + sym_class_character, + ACTIONS(248), 1, aux_sym_character_class_escape_token1, - ACTIONS(212), 1, + ACTIONS(250), 1, aux_sym_character_class_escape_token2, - ACTIONS(238), 1, + ACTIONS(283), 1, + anon_sym_DASH, + ACTIONS(285), 1, anon_sym_RBRACK, - STATE(51), 1, + STATE(57), 1, sym_unicode_character_escape, - ACTIONS(214), 2, + STATE(59), 1, + sym_character_class_escape, + ACTIONS(252), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - STATE(39), 2, + STATE(48), 3, + sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - STATE(44), 2, - sym_posix_character_class, - sym_character_class_escape, - ACTIONS(208), 5, + ACTIONS(287), 4, anon_sym_BSLASH_DASH, - sym_class_character, sym_control_escape, sym_control_letter_escape, sym_identity_escape, - [1031] = 10, - ACTIONS(204), 1, + [1336] = 11, + ACTIONS(242), 1, anon_sym_LBRACK_COLON, - ACTIONS(206), 1, - anon_sym_DASH, - ACTIONS(210), 1, + ACTIONS(246), 1, + sym_class_character, + ACTIONS(248), 1, aux_sym_character_class_escape_token1, - ACTIONS(212), 1, + ACTIONS(250), 1, aux_sym_character_class_escape_token2, - ACTIONS(216), 1, + ACTIONS(289), 1, + anon_sym_DASH, + ACTIONS(291), 1, anon_sym_RBRACK, - STATE(51), 1, + STATE(57), 1, sym_unicode_character_escape, - ACTIONS(214), 2, + STATE(59), 1, + sym_character_class_escape, + ACTIONS(252), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - STATE(40), 2, + STATE(48), 3, + sym_posix_character_class, sym_class_range, aux_sym_character_class_repeat1, - STATE(44), 2, - sym_posix_character_class, - sym_character_class_escape, - ACTIONS(208), 5, + ACTIONS(287), 4, anon_sym_BSLASH_DASH, - sym_class_character, sym_control_escape, sym_control_letter_escape, sym_identity_escape, - [1069] = 8, - ACTIONS(204), 1, + [1376] = 11, + ACTIONS(242), 1, anon_sym_LBRACK_COLON, - ACTIONS(210), 1, + ACTIONS(246), 1, + sym_class_character, + ACTIONS(248), 1, aux_sym_character_class_escape_token1, - ACTIONS(212), 1, + ACTIONS(250), 1, aux_sym_character_class_escape_token2, - ACTIONS(240), 1, + ACTIONS(293), 1, anon_sym_DASH, - STATE(51), 1, + ACTIONS(295), 1, + anon_sym_RBRACK, + STATE(57), 1, sym_unicode_character_escape, - ACTIONS(214), 2, + STATE(59), 1, + sym_character_class_escape, + ACTIONS(252), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - STATE(46), 2, + STATE(48), 3, sym_posix_character_class, - sym_character_class_escape, - ACTIONS(242), 5, + sym_class_range, + aux_sym_character_class_repeat1, + ACTIONS(287), 4, anon_sym_BSLASH_DASH, - sym_class_character, sym_control_escape, sym_control_letter_escape, sym_identity_escape, - [1100] = 8, - ACTIONS(204), 1, + [1416] = 11, + ACTIONS(242), 1, anon_sym_LBRACK_COLON, - ACTIONS(210), 1, + ACTIONS(246), 1, + sym_class_character, + ACTIONS(248), 1, aux_sym_character_class_escape_token1, - ACTIONS(212), 1, + ACTIONS(250), 1, aux_sym_character_class_escape_token2, - ACTIONS(244), 1, + ACTIONS(297), 1, anon_sym_DASH, - STATE(51), 1, + ACTIONS(299), 1, + anon_sym_RBRACK, + STATE(57), 1, sym_unicode_character_escape, - ACTIONS(214), 2, + STATE(59), 1, + sym_character_class_escape, + ACTIONS(252), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, - STATE(48), 2, + STATE(50), 3, sym_posix_character_class, - sym_character_class_escape, - ACTIONS(246), 5, + sym_class_range, + aux_sym_character_class_repeat1, + ACTIONS(301), 4, anon_sym_BSLASH_DASH, - sym_class_character, sym_control_escape, sym_control_letter_escape, sym_identity_escape, - [1131] = 2, + [1456] = 11, + ACTIONS(242), 1, + anon_sym_LBRACK_COLON, + ACTIONS(246), 1, + sym_class_character, + ACTIONS(248), 1, + aux_sym_character_class_escape_token1, ACTIONS(250), 1, + aux_sym_character_class_escape_token2, + ACTIONS(303), 1, anon_sym_DASH, - ACTIONS(248), 11, + ACTIONS(305), 1, anon_sym_RBRACK, - anon_sym_LBRACK_COLON, + STATE(57), 1, + sym_unicode_character_escape, + STATE(59), 1, + sym_character_class_escape, + ACTIONS(252), 2, + aux_sym_unicode_character_escape_token1, + aux_sym_unicode_character_escape_token2, + STATE(49), 3, + sym_posix_character_class, + sym_class_range, + aux_sym_character_class_repeat1, + ACTIONS(307), 4, anon_sym_BSLASH_DASH, + sym_control_escape, + sym_control_letter_escape, + sym_identity_escape, + [1496] = 11, + ACTIONS(242), 1, + anon_sym_LBRACK_COLON, + ACTIONS(246), 1, sym_class_character, + ACTIONS(248), 1, aux_sym_character_class_escape_token1, + ACTIONS(250), 1, aux_sym_character_class_escape_token2, + ACTIONS(299), 1, + anon_sym_RBRACK, + ACTIONS(309), 1, + anon_sym_DASH, + STATE(57), 1, + sym_unicode_character_escape, + STATE(59), 1, + sym_character_class_escape, + ACTIONS(252), 2, aux_sym_unicode_character_escape_token1, aux_sym_unicode_character_escape_token2, + STATE(48), 3, + sym_posix_character_class, + sym_class_range, + aux_sym_character_class_repeat1, + ACTIONS(287), 4, + anon_sym_BSLASH_DASH, sym_control_escape, sym_control_letter_escape, sym_identity_escape, - [1148] = 1, - ACTIONS(253), 12, + [1536] = 8, + ACTIONS(248), 1, + aux_sym_character_class_escape_token1, + ACTIONS(250), 1, + aux_sym_character_class_escape_token2, + ACTIONS(311), 1, + anon_sym_DASH, + ACTIONS(315), 1, + sym_class_character, + STATE(57), 1, + sym_unicode_character_escape, + STATE(63), 1, + sym_character_class_escape, + ACTIONS(252), 2, + aux_sym_unicode_character_escape_token1, + aux_sym_unicode_character_escape_token2, + ACTIONS(313), 6, anon_sym_RBRACK, anon_sym_LBRACK_COLON, + anon_sym_BSLASH_DASH, + sym_control_escape, + sym_control_letter_escape, + sym_identity_escape, + [1567] = 1, + ACTIONS(317), 12, anon_sym_DASH, + anon_sym_RBRACK, + anon_sym_LBRACK_COLON, anon_sym_BSLASH_DASH, sym_class_character, aux_sym_character_class_escape_token1, @@ -2600,11 +3062,11 @@ static const uint16_t ts_small_parse_table[] = { sym_control_escape, sym_control_letter_escape, sym_identity_escape, - [1163] = 1, - ACTIONS(255), 12, + [1582] = 1, + ACTIONS(158), 12, + anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, - anon_sym_DASH, anon_sym_BSLASH_DASH, sym_class_character, aux_sym_character_class_escape_token1, @@ -2614,11 +3076,11 @@ static const uint16_t ts_small_parse_table[] = { sym_control_escape, sym_control_letter_escape, sym_identity_escape, - [1178] = 1, - ACTIONS(257), 12, + [1597] = 1, + ACTIONS(319), 12, + anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, - anon_sym_DASH, anon_sym_BSLASH_DASH, sym_class_character, aux_sym_character_class_escape_token1, @@ -2628,11 +3090,12 @@ static const uint16_t ts_small_parse_table[] = { sym_control_escape, sym_control_letter_escape, sym_identity_escape, - [1193] = 1, - ACTIONS(259), 12, + [1612] = 2, + ACTIONS(321), 1, + anon_sym_DASH, + ACTIONS(324), 11, anon_sym_RBRACK, anon_sym_LBRACK_COLON, - anon_sym_DASH, anon_sym_BSLASH_DASH, sym_class_character, aux_sym_character_class_escape_token1, @@ -2642,11 +3105,11 @@ static const uint16_t ts_small_parse_table[] = { sym_control_escape, sym_control_letter_escape, sym_identity_escape, - [1208] = 1, - ACTIONS(118), 12, + [1629] = 1, + ACTIONS(154), 12, + anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, - anon_sym_DASH, anon_sym_BSLASH_DASH, sym_class_character, aux_sym_character_class_escape_token1, @@ -2656,10 +3119,9 @@ static const uint16_t ts_small_parse_table[] = { sym_control_escape, sym_control_letter_escape, sym_identity_escape, - [1223] = 2, - ACTIONS(263), 1, + [1644] = 1, + ACTIONS(178), 12, anon_sym_DASH, - ACTIONS(261), 11, anon_sym_RBRACK, anon_sym_LBRACK_COLON, anon_sym_BSLASH_DASH, @@ -2671,11 +3133,11 @@ static const uint16_t ts_small_parse_table[] = { sym_control_escape, sym_control_letter_escape, sym_identity_escape, - [1240] = 1, - ACTIONS(94), 12, + [1659] = 1, + ACTIONS(313), 12, + anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, - anon_sym_DASH, anon_sym_BSLASH_DASH, sym_class_character, aux_sym_character_class_escape_token1, @@ -2685,11 +3147,11 @@ static const uint16_t ts_small_parse_table[] = { sym_control_escape, sym_control_letter_escape, sym_identity_escape, - [1255] = 1, - ACTIONS(102), 12, + [1674] = 1, + ACTIONS(326), 12, + anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, - anon_sym_DASH, anon_sym_BSLASH_DASH, sym_class_character, aux_sym_character_class_escape_token1, @@ -2699,11 +3161,11 @@ static const uint16_t ts_small_parse_table[] = { sym_control_escape, sym_control_letter_escape, sym_identity_escape, - [1270] = 1, - ACTIONS(138), 12, + [1689] = 1, + ACTIONS(118), 12, + anon_sym_DASH, anon_sym_RBRACK, anon_sym_LBRACK_COLON, - anon_sym_DASH, anon_sym_BSLASH_DASH, sym_class_character, aux_sym_character_class_escape_token1, @@ -2713,139 +3175,230 @@ static const uint16_t ts_small_parse_table[] = { sym_control_escape, sym_control_letter_escape, sym_identity_escape, - [1285] = 3, + [1704] = 8, + ACTIONS(248), 1, + aux_sym_character_class_escape_token1, + ACTIONS(250), 1, + aux_sym_character_class_escape_token2, + ACTIONS(328), 1, + anon_sym_DASH, + ACTIONS(330), 1, + anon_sym_RBRACK, + ACTIONS(332), 1, + sym_class_character, + STATE(57), 1, + sym_unicode_character_escape, + STATE(63), 1, + sym_character_class_escape, + ACTIONS(252), 2, + aux_sym_unicode_character_escape_token1, + aux_sym_unicode_character_escape_token2, + [1730] = 8, + ACTIONS(248), 1, + aux_sym_character_class_escape_token1, + ACTIONS(250), 1, + aux_sym_character_class_escape_token2, + ACTIONS(328), 1, + anon_sym_DASH, + ACTIONS(332), 1, + sym_class_character, + ACTIONS(334), 1, + anon_sym_RBRACK, + STATE(57), 1, + sym_unicode_character_escape, + STATE(63), 1, + sym_character_class_escape, + ACTIONS(252), 2, + aux_sym_unicode_character_escape_token1, + aux_sym_unicode_character_escape_token2, + [1756] = 7, + ACTIONS(248), 1, + aux_sym_character_class_escape_token1, + ACTIONS(250), 1, + aux_sym_character_class_escape_token2, + ACTIONS(336), 1, + anon_sym_DASH, + ACTIONS(338), 1, + sym_class_character, + STATE(56), 1, + sym_character_class_escape, + STATE(57), 1, + sym_unicode_character_escape, + ACTIONS(252), 2, + aux_sym_unicode_character_escape_token1, + aux_sym_unicode_character_escape_token2, + [1779] = 7, + ACTIONS(248), 1, + aux_sym_character_class_escape_token1, + ACTIONS(250), 1, + aux_sym_character_class_escape_token2, + ACTIONS(311), 1, + anon_sym_DASH, + ACTIONS(332), 1, + sym_class_character, + STATE(57), 1, + sym_unicode_character_escape, + STATE(63), 1, + sym_character_class_escape, + ACTIONS(252), 2, + aux_sym_unicode_character_escape_token1, + aux_sym_unicode_character_escape_token2, + [1802] = 3, ACTIONS(3), 1, anon_sym_PIPE, - STATE(56), 1, + STATE(72), 1, aux_sym_alternation_repeat1, - ACTIONS(266), 2, + ACTIONS(340), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [1296] = 3, - ACTIONS(270), 1, + [1813] = 3, + ACTIONS(3), 1, anon_sym_PIPE, - STATE(55), 1, + STATE(69), 1, aux_sym_alternation_repeat1, - ACTIONS(268), 2, + ACTIONS(342), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [1307] = 3, + [1824] = 3, ACTIONS(3), 1, anon_sym_PIPE, - STATE(55), 1, + STATE(72), 1, aux_sym_alternation_repeat1, - ACTIONS(273), 2, + ACTIONS(344), 2, ts_builtin_sym_end, anon_sym_RPAREN, - [1318] = 3, - ACTIONS(3), 1, + [1835] = 3, + ACTIONS(348), 1, anon_sym_PIPE, - STATE(55), 1, + STATE(72), 1, aux_sym_alternation_repeat1, - ACTIONS(275), 2, - ts_builtin_sym_end, - anon_sym_RPAREN, - [1329] = 1, - ACTIONS(268), 3, + ACTIONS(346), 2, ts_builtin_sym_end, - anon_sym_PIPE, anon_sym_RPAREN, - [1335] = 2, - ACTIONS(279), 1, + [1846] = 2, + ACTIONS(353), 1, sym_group_name, - ACTIONS(277), 2, - anon_sym_EQ, - anon_sym_BANG, - [1343] = 1, - ACTIONS(281), 2, + ACTIONS(351), 2, anon_sym_EQ, anon_sym_BANG, - [1348] = 2, - ACTIONS(283), 1, - anon_sym_EQ, - ACTIONS(285), 1, - anon_sym_RBRACE, - [1355] = 2, - ACTIONS(287), 1, + [1854] = 1, + ACTIONS(346), 3, + ts_builtin_sym_end, + anon_sym_PIPE, + anon_sym_RPAREN, + [1860] = 1, + ACTIONS(342), 2, + ts_builtin_sym_end, + anon_sym_RPAREN, + [1865] = 2, + ACTIONS(355), 1, + anon_sym_DASH, + ACTIONS(357), 1, + anon_sym_RBRACK, + [1872] = 2, + ACTIONS(355), 1, + anon_sym_DASH, + ACTIONS(359), 1, + anon_sym_RBRACK, + [1879] = 2, + ACTIONS(361), 1, anon_sym_COMMA, - ACTIONS(289), 1, + ACTIONS(363), 1, anon_sym_RBRACE, - [1362] = 2, - ACTIONS(291), 1, + [1886] = 2, + ACTIONS(355), 1, + anon_sym_DASH, + ACTIONS(365), 1, + anon_sym_RBRACK, + [1893] = 2, + ACTIONS(355), 1, + anon_sym_DASH, + ACTIONS(367), 1, + anon_sym_RBRACK, + [1900] = 2, + ACTIONS(369), 1, + anon_sym_EQ, + ACTIONS(371), 1, + anon_sym_RBRACE, + [1907] = 2, + ACTIONS(373), 1, sym_unicode_property, - STATE(74), 1, + STATE(102), 1, sym_unicode_property_value_expression, - [1369] = 1, - ACTIONS(266), 2, - ts_builtin_sym_end, - anon_sym_RPAREN, - [1374] = 2, - ACTIONS(291), 1, + [1914] = 1, + ACTIONS(375), 2, + anon_sym_EQ, + anon_sym_BANG, + [1919] = 2, + ACTIONS(373), 1, sym_unicode_property, - STATE(83), 1, + STATE(104), 1, sym_unicode_property_value_expression, - [1381] = 1, - ACTIONS(293), 1, - anon_sym_GT, - [1385] = 1, - ACTIONS(295), 1, - anon_sym_RPAREN, - [1389] = 1, - ACTIONS(297), 1, + [1926] = 1, + ACTIONS(377), 1, + ts_builtin_sym_end, + [1930] = 1, + ACTIONS(379), 1, sym_group_name, - [1393] = 1, - ACTIONS(299), 1, + [1934] = 1, + ACTIONS(381), 1, anon_sym_RPAREN, - [1397] = 1, - ACTIONS(301), 1, + [1938] = 1, + ACTIONS(383), 1, sym_unicode_property, - [1401] = 1, - ACTIONS(303), 1, - ts_builtin_sym_end, - [1405] = 1, - ACTIONS(305), 1, - anon_sym_RBRACE, - [1409] = 1, - ACTIONS(307), 1, - anon_sym_RPAREN, - [1413] = 1, - ACTIONS(309), 1, - anon_sym_RBRACE, - [1417] = 1, - ACTIONS(311), 1, + [1942] = 1, + ACTIONS(355), 1, + anon_sym_DASH, + [1946] = 1, + ACTIONS(385), 1, anon_sym_RBRACE, - [1421] = 1, - ACTIONS(313), 1, + [1950] = 1, + ACTIONS(387), 1, sym_decimal_digits, - [1425] = 1, - ACTIONS(315), 1, + [1954] = 1, + ACTIONS(389), 1, + anon_sym_GT, + [1958] = 1, + ACTIONS(391), 1, + sym_posix_class_name, + [1962] = 1, + ACTIONS(393), 1, anon_sym_LBRACE, - [1429] = 1, - ACTIONS(317), 1, - sym_decimal_digits, - [1433] = 1, - ACTIONS(319), 1, + [1966] = 1, + ACTIONS(395), 1, + anon_sym_RBRACE, + [1970] = 1, + ACTIONS(397), 1, anon_sym_RPAREN, - [1437] = 1, - ACTIONS(321), 1, + [1974] = 1, + ACTIONS(399), 1, + anon_sym_COLON_RBRACK, + [1978] = 1, + ACTIONS(401), 1, anon_sym_RPAREN, - [1441] = 1, - ACTIONS(323), 1, - sym_posix_class_name, - [1445] = 1, - ACTIONS(325), 1, + [1982] = 1, + ACTIONS(403), 1, + anon_sym_RPAREN, + [1986] = 1, + ACTIONS(405), 1, + anon_sym_RPAREN, + [1990] = 1, + ACTIONS(407), 1, + sym_decimal_digits, + [1994] = 1, + ACTIONS(409), 1, + anon_sym_RBRACE, + [1998] = 1, + ACTIONS(411), 1, anon_sym_COLON_RBRACK, - [1449] = 1, - ACTIONS(327), 1, + [2002] = 1, + ACTIONS(413), 1, anon_sym_RBRACE, - [1453] = 1, - ACTIONS(329), 1, + [2006] = 1, + ACTIONS(415), 1, sym_posix_class_name, - [1457] = 1, - ACTIONS(331), 1, - anon_sym_COLON_RBRACK, - [1461] = 1, - ACTIONS(333), 1, + [2010] = 1, + ACTIONS(417), 1, anon_sym_LBRACE, }; @@ -2867,66 +3420,86 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(24)] = 476, [SMALL_STATE(25)] = 509, [SMALL_STATE(26)] = 542, - [SMALL_STATE(27)] = 574, - [SMALL_STATE(28)] = 606, - [SMALL_STATE(29)] = 638, - [SMALL_STATE(30)] = 670, - [SMALL_STATE(31)] = 702, - [SMALL_STATE(32)] = 731, - [SMALL_STATE(33)] = 760, - [SMALL_STATE(34)] = 789, - [SMALL_STATE(35)] = 818, - [SMALL_STATE(36)] = 847, - [SMALL_STATE(37)] = 876, - [SMALL_STATE(38)] = 917, - [SMALL_STATE(39)] = 955, - [SMALL_STATE(40)] = 993, - [SMALL_STATE(41)] = 1031, - [SMALL_STATE(42)] = 1069, - [SMALL_STATE(43)] = 1100, - [SMALL_STATE(44)] = 1131, - [SMALL_STATE(45)] = 1148, - [SMALL_STATE(46)] = 1163, - [SMALL_STATE(47)] = 1178, - [SMALL_STATE(48)] = 1193, - [SMALL_STATE(49)] = 1208, - [SMALL_STATE(50)] = 1223, - [SMALL_STATE(51)] = 1240, - [SMALL_STATE(52)] = 1255, - [SMALL_STATE(53)] = 1270, - [SMALL_STATE(54)] = 1285, - [SMALL_STATE(55)] = 1296, - [SMALL_STATE(56)] = 1307, - [SMALL_STATE(57)] = 1318, - [SMALL_STATE(58)] = 1329, - [SMALL_STATE(59)] = 1335, - [SMALL_STATE(60)] = 1343, - [SMALL_STATE(61)] = 1348, - [SMALL_STATE(62)] = 1355, - [SMALL_STATE(63)] = 1362, - [SMALL_STATE(64)] = 1369, - [SMALL_STATE(65)] = 1374, - [SMALL_STATE(66)] = 1381, - [SMALL_STATE(67)] = 1385, - [SMALL_STATE(68)] = 1389, - [SMALL_STATE(69)] = 1393, - [SMALL_STATE(70)] = 1397, - [SMALL_STATE(71)] = 1401, - [SMALL_STATE(72)] = 1405, - [SMALL_STATE(73)] = 1409, - [SMALL_STATE(74)] = 1413, - [SMALL_STATE(75)] = 1417, - [SMALL_STATE(76)] = 1421, - [SMALL_STATE(77)] = 1425, - [SMALL_STATE(78)] = 1429, - [SMALL_STATE(79)] = 1433, - [SMALL_STATE(80)] = 1437, - [SMALL_STATE(81)] = 1441, - [SMALL_STATE(82)] = 1445, - [SMALL_STATE(83)] = 1449, - [SMALL_STATE(84)] = 1453, - [SMALL_STATE(85)] = 1457, - [SMALL_STATE(86)] = 1461, + [SMALL_STATE(27)] = 575, + [SMALL_STATE(28)] = 608, + [SMALL_STATE(29)] = 641, + [SMALL_STATE(30)] = 674, + [SMALL_STATE(31)] = 707, + [SMALL_STATE(32)] = 740, + [SMALL_STATE(33)] = 773, + [SMALL_STATE(34)] = 806, + [SMALL_STATE(35)] = 839, + [SMALL_STATE(36)] = 871, + [SMALL_STATE(37)] = 903, + [SMALL_STATE(38)] = 935, + [SMALL_STATE(39)] = 967, + [SMALL_STATE(40)] = 999, + [SMALL_STATE(41)] = 1028, + [SMALL_STATE(42)] = 1057, + [SMALL_STATE(43)] = 1086, + [SMALL_STATE(44)] = 1115, + [SMALL_STATE(45)] = 1144, + [SMALL_STATE(46)] = 1173, + [SMALL_STATE(47)] = 1216, + [SMALL_STATE(48)] = 1256, + [SMALL_STATE(49)] = 1296, + [SMALL_STATE(50)] = 1336, + [SMALL_STATE(51)] = 1376, + [SMALL_STATE(52)] = 1416, + [SMALL_STATE(53)] = 1456, + [SMALL_STATE(54)] = 1496, + [SMALL_STATE(55)] = 1536, + [SMALL_STATE(56)] = 1567, + [SMALL_STATE(57)] = 1582, + [SMALL_STATE(58)] = 1597, + [SMALL_STATE(59)] = 1612, + [SMALL_STATE(60)] = 1629, + [SMALL_STATE(61)] = 1644, + [SMALL_STATE(62)] = 1659, + [SMALL_STATE(63)] = 1674, + [SMALL_STATE(64)] = 1689, + [SMALL_STATE(65)] = 1704, + [SMALL_STATE(66)] = 1730, + [SMALL_STATE(67)] = 1756, + [SMALL_STATE(68)] = 1779, + [SMALL_STATE(69)] = 1802, + [SMALL_STATE(70)] = 1813, + [SMALL_STATE(71)] = 1824, + [SMALL_STATE(72)] = 1835, + [SMALL_STATE(73)] = 1846, + [SMALL_STATE(74)] = 1854, + [SMALL_STATE(75)] = 1860, + [SMALL_STATE(76)] = 1865, + [SMALL_STATE(77)] = 1872, + [SMALL_STATE(78)] = 1879, + [SMALL_STATE(79)] = 1886, + [SMALL_STATE(80)] = 1893, + [SMALL_STATE(81)] = 1900, + [SMALL_STATE(82)] = 1907, + [SMALL_STATE(83)] = 1914, + [SMALL_STATE(84)] = 1919, + [SMALL_STATE(85)] = 1926, + [SMALL_STATE(86)] = 1930, + [SMALL_STATE(87)] = 1934, + [SMALL_STATE(88)] = 1938, + [SMALL_STATE(89)] = 1942, + [SMALL_STATE(90)] = 1946, + [SMALL_STATE(91)] = 1950, + [SMALL_STATE(92)] = 1954, + [SMALL_STATE(93)] = 1958, + [SMALL_STATE(94)] = 1962, + [SMALL_STATE(95)] = 1966, + [SMALL_STATE(96)] = 1970, + [SMALL_STATE(97)] = 1974, + [SMALL_STATE(98)] = 1978, + [SMALL_STATE(99)] = 1982, + [SMALL_STATE(100)] = 1986, + [SMALL_STATE(101)] = 1990, + [SMALL_STATE(102)] = 1994, + [SMALL_STATE(103)] = 1998, + [SMALL_STATE(104)] = 2002, + [SMALL_STATE(105)] = 2006, + [SMALL_STATE(106)] = 2010, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -2934,159 +3507,201 @@ static const TSParseActionEntry ts_parse_actions[] = { [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(60), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10), [31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_alternation_repeat1, 1, 0, 0), - [33] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_term, 1, 0, 0), - [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), - [37] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(10), - [40] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(11), - [43] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(60), - [46] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(59), - [49] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(37), - [52] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(81), - [55] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(3), - [58] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(2), - [61] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(68), - [64] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(12), - [67] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(77), - [70] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(14), - [73] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(10), + [33] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), + [35] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(10), + [38] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(15), + [41] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(83), + [44] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(73), + [47] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(46), + [50] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(93), + [53] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(4), + [56] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(2), + [59] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(86), + [62] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(28), + [65] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(94), + [68] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(33), + [71] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(10), + [74] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_term, 1, 0, 0), [76] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 1, 0, 0), [78] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 1, 0, 0), - [80] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [82] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_assertion, 1, 0, 0), - [90] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_assertion, 1, 0, 0), - [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class_escape, 1, 0, 0), - [94] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class_escape, 1, 0, 0), - [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lookaround_assertion, 1, 0, 0), - [98] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lookaround_assertion, 1, 0, 0), - [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unicode_character_escape, 1, 0, 0), - [102] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unicode_character_escape, 1, 0, 0), - [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backreference_escape, 2, 0, 0), - [106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backreference_escape, 2, 0, 0), - [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 2, 0, 0), - [110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 2, 0, 0), - [112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 3, 0, 0), - [114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 3, 0, 0), + [80] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [82] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_capturing_group, 5, 0, 0), + [90] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_named_capturing_group, 5, 0, 0), + [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 2, 0, 0), + [94] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 2, 0, 0), + [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backreference_escape, 2, 0, 0), + [98] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_backreference_escape, 2, 0, 0), + [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lookaround_assertion, 1, 0, 0), + [102] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lookaround_assertion, 1, 0, 0), + [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_assertion, 1, 0, 0), + [106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_assertion, 1, 0, 0), + [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 3, 0, 0), + [110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 3, 0, 0), + [112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 3, 0, 2), + [114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 3, 0, 2), [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_posix_character_class, 3, 0, 0), [118] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_posix_character_class, 3, 0, 0), [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_capturing_group, 3, 0, 0), [122] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_capturing_group, 3, 0, 0), [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_non_capturing_group, 3, 0, 0), [126] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_non_capturing_group, 3, 0, 0), - [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lookbehind_assertion, 4, 0, 0), - [130] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lookbehind_assertion, 4, 0, 0), - [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lookahead_assertion, 4, 0, 0), - [134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lookahead_assertion, 4, 0, 0), - [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class_escape, 4, 0, 0), - [138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class_escape, 4, 0, 0), + [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lookahead_assertion, 4, 0, 0), + [130] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lookahead_assertion, 4, 0, 0), + [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lookbehind_assertion, 4, 0, 0), + [134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__lookbehind_assertion, 4, 0, 0), + [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 4, 0, 3), + [138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 4, 0, 3), [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 4, 0, 0), [142] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 4, 0, 0), - [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_capturing_group, 5, 0, 0), - [146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_named_capturing_group, 5, 0, 0), - [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_zero_or_more, 1, 0, 0), - [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_zero_or_more, 1, 0, 0), - [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional, 1, 0, 0), - [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional, 1, 0, 0), - [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_one_or_more, 1, 0, 0), - [162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_one_or_more, 1, 0, 0), - [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 3, 0, 0), - [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 3, 0, 0), - [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 5, 0, 0), - [174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 5, 0, 0), - [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 6, 0, 7), - [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 6, 0, 7), - [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_one_or_more, 2, 0, 2), - [184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_one_or_more, 2, 0, 2), - [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_zero_or_more, 2, 0, 2), - [188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_zero_or_more, 2, 0, 2), - [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional, 2, 0, 2), - [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional, 2, 0, 2), - [194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), - [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 4, 0, 5), - [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 4, 0, 5), - [200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), - [202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), - [204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), - [206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), - [208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44), - [210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), - [212] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), - [214] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), - [216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), - [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), - [220] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(84), - [223] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(50), - [226] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(44), - [229] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(51), - [232] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(86), - [235] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(52), - [238] = {.entry = {.count = 1, .reusable = false}}, SHIFT(24), - [240] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), - [242] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), - [244] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), - [246] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48), - [248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 1, 0, 0), - [250] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 1, 0, 0), SHIFT(43), - [253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 3), - [255] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 1), - [257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 4), - [259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 0), - [261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 1, 0, 1), - [263] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 1, 0, 1), SHIFT(42), - [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 1, 0, 0), - [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_alternation_repeat1, 2, 0, 0), - [270] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_alternation_repeat1, 2, 0, 0), SHIFT_REPEAT(7), - [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alternation, 2, 0, 0), - [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alternation, 1, 0, 0), - [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unicode_property_value_expression, 1, 0, 0), - [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [303] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unicode_property_value_expression, 3, 0, 6), - [313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 4, 0, 5), + [146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 4, 0, 5), + [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 4, 0, 2), + [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 4, 0, 2), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class_escape, 4, 0, 0), + [154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class_escape, 4, 0, 0), + [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class_escape, 1, 0, 0), + [158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class_escape, 1, 0, 0), + [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 5, 0, 8), + [162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 5, 0, 8), + [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 5, 0, 3), + [166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 5, 0, 3), + [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 5, 0, 9), + [170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 5, 0, 9), + [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 5, 0, 10), + [174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 5, 0, 10), + [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unicode_character_escape, 1, 0, 0), + [178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unicode_character_escape, 1, 0, 0), + [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character_class, 6, 0, 12), + [182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character_class, 6, 0, 12), + [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 5, 0, 0), + [186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 5, 0, 0), + [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_zero_or_more, 1, 0, 0), + [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_zero_or_more, 1, 0, 0), + [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 3, 0, 0), + [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 3, 0, 0), + [200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional, 1, 0, 0), + [204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional, 1, 0, 0), + [206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_one_or_more, 1, 0, 0), + [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_one_or_more, 1, 0, 0), + [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_zero_or_more, 2, 0, 1), + [216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_zero_or_more, 2, 0, 1), + [218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional, 2, 0, 1), + [220] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_optional, 2, 0, 1), + [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_one_or_more, 2, 0, 1), + [224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_one_or_more, 2, 0, 1), + [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 4, 0, 7), + [228] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 4, 0, 7), + [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), + [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_count_quantifier, 6, 0, 13), + [234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_count_quantifier, 6, 0, 13), + [236] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), + [238] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), + [240] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), + [242] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), + [244] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), + [246] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), + [248] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), + [250] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), + [252] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), + [254] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), + [256] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23), + [258] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), + [260] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(89), + [263] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), + [265] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(105), + [268] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(48), + [271] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(59), + [274] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(57), + [277] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(106), + [280] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 2, 0, 0), SHIFT_REPEAT(61), + [283] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), + [285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), + [287] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48), + [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), + [291] = {.entry = {.count = 1, .reusable = false}}, SHIFT(24), + [293] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), + [295] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), + [297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), + [299] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), + [301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), + [303] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), + [305] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), + [307] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), + [309] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), + [311] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), + [313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 4), + [315] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), + [317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 0), + [319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 3), + [321] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 1, 0, 0), SHIFT(67), + [324] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_character_class_repeat1, 1, 0, 0), + [326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_range, 3, 0, 6), + [328] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), + [330] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), + [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [334] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), + [336] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), + [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alternation, 2, 0, 0), + [342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 1, 0, 0), + [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alternation, 1, 0, 0), + [346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_alternation_repeat1, 2, 0, 0), + [348] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_alternation_repeat1, 2, 0, 0), SHIFT_REPEAT(7), + [351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unicode_property_value_expression, 1, 0, 0), + [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [377] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unicode_property_value_expression, 3, 0, 11), + [397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), }; #ifdef __cplusplus