Go to the source code of this file.
Go to the SVN repository for this file.
#define NLBLOCK cb /* Block containing newline information */ #define PSSTART start_pattern /* Field containing processed string start */ #define PSEND end_pattern /* Field containing processed string end */ #define XDIGIT(c) (MAX_255(c)? xdigitab[c] : 0xff) #define STRING_UTFn_RIGHTPAR STRING_UTF32_RIGHTPAR, 6 #define PUTOFFSET(s, p) *p++ = s #define GETOFFSET(s, p) s = *p++ #define GETPLUSOFFSET(s, p) s = *(++p) #define READPLUSOFFSET(s, p) s = p[1] #define SKIPOFFSET(p) p++ #define SIZEOFFSET 1 #define META_CODE(x) (x & 0xffff0000u) #define META_DATA(x) (x & 0x0000ffffu) #define META_DIFF(x, y) ((x-y)>>16) #define MAX_GROUP_NUMBER 65535u #define MAX_REPEAT_COUNT 65535u #define REPEAT_UNLIMITED (MAX_REPEAT_COUNT+1) #define COMPILE_WORK_SIZE (3000*LINK_SIZE) /* Size in code units */ #define C16_WORK_SIZE ((COMPILE_WORK_SIZE * sizeof(PCRE2_UCHAR))/sizeof(uint16_t)) #define GROUPINFO_DEFAULT_SIZE 256 #define WORK_SIZE_SAFETY_MARGIN (100) #define NAMED_GROUP_LIST_SIZE 20 #define PARSED_PATTERN_DEFAULT_SIZE 1024 #define OFLOW_MAX (INT_MAX - 20) #define META_END 0x80000000u /* End of pattern */ #define META_ALT 0x80010000u /* alternation */ #define META_ATOMIC 0x80020000u /* atomic group */ #define META_BACKREF 0x80030000u /* Back ref */ #define META_BACKREF_BYNAME 0x80040000u /* \k'name' */ #define META_BIGVALUE 0x80050000u /* Next is a literal > META_END */ #define META_CALLOUT_NUMBER 0x80060000u /* (?C with numerical argument */ #define META_CALLOUT_STRING 0x80070000u /* (?C with string argument */ #define META_CAPTURE 0x80080000u /* Capturing parenthesis */ #define META_CIRCUMFLEX 0x80090000u /* ^ metacharacter */ #define META_CLASS 0x800a0000u /* start non-empty class */ #define META_CLASS_EMPTY 0x800b0000u /* empty class */ #define META_CLASS_EMPTY_NOT 0x800c0000u /* negative empty class */ #define META_CLASS_END 0x800d0000u /* end of non-empty class */ #define META_CLASS_NOT 0x800e0000u /* start non-empty negative class */ #define META_COND_ASSERT 0x800f0000u /* (?(?assertion)... */ #define META_COND_DEFINE 0x80100000u /* (?(DEFINE)... */ #define META_COND_NAME 0x80110000u /* (?(<name>)... */ #define META_COND_NUMBER 0x80120000u /* (?(digits)... */ #define META_COND_RNAME 0x80130000u /* (?(R&name)... */ #define META_COND_RNUMBER 0x80140000u /* (?(Rdigits)... */ #define META_COND_VERSION 0x80150000u /* (?(VERSION<op>x.y)... */ #define META_DOLLAR 0x80160000u /* $ metacharacter */ #define META_DOT 0x80170000u /* . metacharacter */ #define META_ESCAPE 0x80180000u /* \d and friends */ #define META_KET 0x80190000u /* closing parenthesis */ #define META_NOCAPTURE 0x801a0000u /* no capture parens */ #define META_OPTIONS 0x801b0000u /* (?i) and friends */ #define META_POSIX 0x801c0000u /* POSIX class item */ #define META_POSIX_NEG 0x801d0000u /* negative POSIX class item */ #define META_RANGE_ESCAPED 0x801e0000u /* range with at least one escape */ #define META_RANGE_LITERAL 0x801f0000u /* range defined literally */ #define META_RECURSE 0x80200000u /* Recursion */ #define META_RECURSE_BYNAME 0x80210000u /* (?&name) */ #define META_SCRIPT_RUN 0x80220000u /* (*script_run:...) */ #define META_LOOKAHEAD 0x80230000u /* (?= */ #define META_LOOKAHEADNOT 0x80240000u /* (?! */ #define META_LOOKBEHIND 0x80250000u /* (?<= */ #define META_LOOKBEHINDNOT 0x80260000u /* (?<! */ #define META_LOOKAHEAD_NA 0x80270000u /* (*napla: */ #define META_LOOKBEHIND_NA 0x80280000u /* (*naplb: */ #define META_MARK 0x80290000u /* (*MARK) */ #define META_ACCEPT 0x802a0000u /* (*ACCEPT) */ #define META_FAIL 0x802b0000u /* (*FAIL) */ #define META_COMMIT 0x802c0000u /* These */ #define META_COMMIT_ARG 0x802d0000u /* pairs */ #define META_PRUNE 0x802e0000u /* must */ #define META_PRUNE_ARG 0x802f0000u /* be */ #define META_SKIP 0x80300000u /* kept */ #define META_SKIP_ARG 0x80310000u /* in */ #define META_THEN 0x80320000u /* this */ #define META_THEN_ARG 0x80330000u /* order */ #define META_ASTERISK 0x80340000u /* * */ #define META_ASTERISK_PLUS 0x80350000u /* *+ */ #define META_ASTERISK_QUERY 0x80360000u /* *? */ #define META_PLUS 0x80370000u /* + */ #define META_PLUS_PLUS 0x80380000u /* ++ */ #define META_PLUS_QUERY 0x80390000u /* +? */ #define META_QUERY 0x803a0000u /* ? */ #define META_QUERY_PLUS 0x803b0000u /* ?+ */ #define META_QUERY_QUERY 0x803c0000u /* ?? */ #define META_MINMAX 0x803d0000u /* {n,m} repeat */ #define META_MINMAX_PLUS 0x803e0000u /* {n,m}+ repeat */ #define META_MINMAX_QUERY 0x803f0000u /* {n,m}? repeat */ #define META_FIRST_QUANTIFIER META_ASTERISK #define META_LAST_QUANTIFIER META_MINMAX_QUERY #define META_ATOMIC_SCRIPT_RUN 0x8fff0000u #define SETBIT(a, b) a[(b)/8] = (uint8_t)(a[(b)/8] | (1u << ((b)&7))) #define REQ_UNSET 0xffffffffu /* Not yet found anything */ #define REQ_NONE 0xfffffffeu /* Found not fixed character */ #define REQ_CASELESS 0x00000001u /* Code unit in xxcu is caseless */ #define REQ_VARY 0x00000002u /* Code unit is followed by non-literal */ #define GI_SET_FIXED_LENGTH 0x80000000u #define GI_NOT_FIXED_LENGTH 0x40000000u #define GI_FIXED_LENGTH_MASK 0x0000ffffu #define IS_DIGIT(x) ((x) >= CHAR_0 && (x) <= CHAR_9) #define ESCAPES_FIRST CHAR_0 #define ESCAPES_LAST CHAR_z #define UPPER_CASE(c) (c-32) #define PC_DIGIT 7 #define PC_GRAPH 8 #define PC_PRINT 9 #define PC_PUNCT 10 #define PC_XDIGIT 13 #define PUBLIC_LITERAL_COMPILE_OPTIONS #define PUBLIC_COMPILE_OPTIONS #define PUBLIC_LITERAL_COMPILE_EXTRA_OPTIONS (PCRE2_EXTRA_MATCH_LINE|PCRE2_EXTRA_MATCH_WORD|PCRE2_EXTRA_CASELESS_RESTRICT) #define PUBLIC_COMPILE_EXTRA_OPTIONS #define NSF_RESET 0x0001u #define NSF_CONDASSERT 0x0002u #define NSF_ATOMICSR 0x0004u #define PARSE_TRACKED_OPTIONS #define PARSE_TRACKED_EXTRA_OPTIONS #define PARSED_LITERAL(c, p) *p++ = c; okquantifier = TRUE; #define RSCAN_CACHE_SIZE 8 enum { PSKIP_ALT , PSKIP_CLASS , PSKIP_KET } enum {Definition at line 94 of file pcre2_compile.c.
◆ GI_FIXED_LENGTH_MASK ◆ GI_NOT_FIXED_LENGTH ◆ GI_SET_FIXED_LENGTH ◆ GROUPINFO_DEFAULT_SIZE ◆ IS_DIGIT ◆ MAX_GROUP_NUMBER ◆ MAX_REPEAT_COUNT ◆ META_ACCEPT #define META_ACCEPT 0x802a0000u /* (*ACCEPT) */Definition at line 266 of file pcre2_compile.c.
◆ META_ALT #define META_ALT 0x80010000u /* alternation */Definition at line 213 of file pcre2_compile.c.
◆ META_ASTERISK ◆ META_ASTERISK_PLUS #define META_ASTERISK_PLUS 0x80350000u /* *+ */Definition at line 280 of file pcre2_compile.c.
◆ META_ASTERISK_QUERY #define META_ASTERISK_QUERY 0x80360000u /* *? */Definition at line 281 of file pcre2_compile.c.
◆ META_ATOMIC #define META_ATOMIC 0x80020000u /* atomic group */Definition at line 214 of file pcre2_compile.c.
◆ META_ATOMIC_SCRIPT_RUN #define META_ATOMIC_SCRIPT_RUN 0x8fff0000uDefinition at line 300 of file pcre2_compile.c.
◆ META_BACKREF #define META_BACKREF 0x80030000u /* Back ref */Definition at line 215 of file pcre2_compile.c.
◆ META_BACKREF_BYNAME #define META_BACKREF_BYNAME 0x80040000u /* \k'name' */Definition at line 216 of file pcre2_compile.c.
◆ META_BIGVALUE ◆ META_CALLOUT_NUMBER #define META_CALLOUT_NUMBER 0x80060000u /* (?C with numerical argument */Definition at line 218 of file pcre2_compile.c.
◆ META_CALLOUT_STRING ◆ META_CAPTURE #define META_CAPTURE 0x80080000u /* Capturing parenthesis */Definition at line 220 of file pcre2_compile.c.
◆ META_CIRCUMFLEX #define META_CIRCUMFLEX 0x80090000u /* ^ metacharacter */Definition at line 221 of file pcre2_compile.c.
◆ META_CLASS #define META_CLASS 0x800a0000u /* start non-empty class */Definition at line 222 of file pcre2_compile.c.
◆ META_CLASS_EMPTY #define META_CLASS_EMPTY 0x800b0000u /* empty class */Definition at line 223 of file pcre2_compile.c.
◆ META_CLASS_EMPTY_NOT ◆ META_CLASS_END #define META_CLASS_END 0x800d0000u /* end of non-empty class */Definition at line 225 of file pcre2_compile.c.
◆ META_CLASS_NOT ◆ META_CODE ◆ META_COMMIT #define META_COMMIT 0x802c0000u /* These */Definition at line 268 of file pcre2_compile.c.
◆ META_COMMIT_ARG #define META_COMMIT_ARG 0x802d0000u /* pairs */Definition at line 269 of file pcre2_compile.c.
◆ META_COND_ASSERT #define META_COND_ASSERT 0x800f0000u /* (?(?assertion)... */Definition at line 227 of file pcre2_compile.c.
◆ META_COND_DEFINE #define META_COND_DEFINE 0x80100000u /* (?(DEFINE)... */Definition at line 228 of file pcre2_compile.c.
◆ META_COND_NAME #define META_COND_NAME 0x80110000u /* (?(<name>)... */Definition at line 229 of file pcre2_compile.c.
◆ META_COND_NUMBER #define META_COND_NUMBER 0x80120000u /* (?(digits)... */Definition at line 230 of file pcre2_compile.c.
◆ META_COND_RNAME #define META_COND_RNAME 0x80130000u /* (?(R&name)... */Definition at line 231 of file pcre2_compile.c.
◆ META_COND_RNUMBER #define META_COND_RNUMBER 0x80140000u /* (?(Rdigits)... */Definition at line 232 of file pcre2_compile.c.
◆ META_COND_VERSION ◆ META_DATA ◆ META_DIFF ◆ META_DOLLAR #define META_DOLLAR 0x80160000u /* $ metacharacter */Definition at line 234 of file pcre2_compile.c.
◆ META_DOT #define META_DOT 0x80170000u /* . metacharacter */Definition at line 235 of file pcre2_compile.c.
◆ META_END #define META_END 0x80000000u /* End of pattern */Definition at line 211 of file pcre2_compile.c.
◆ META_ESCAPE #define META_ESCAPE 0x80180000u /* \d and friends */Definition at line 236 of file pcre2_compile.c.
◆ META_FAIL ◆ META_FIRST_QUANTIFIER ◆ META_KET #define META_KET 0x80190000u /* closing parenthesis */Definition at line 237 of file pcre2_compile.c.
◆ META_LAST_QUANTIFIER ◆ META_LOOKAHEAD #define META_LOOKAHEAD 0x80230000u /* (?= */Definition at line 251 of file pcre2_compile.c.
◆ META_LOOKAHEAD_NA #define META_LOOKAHEAD_NA 0x80270000u /* (*napla: */Definition at line 258 of file pcre2_compile.c.
◆ META_LOOKAHEADNOT #define META_LOOKAHEADNOT 0x80240000u /* (?! */Definition at line 252 of file pcre2_compile.c.
◆ META_LOOKBEHIND #define META_LOOKBEHIND 0x80250000u /* (?<= */Definition at line 253 of file pcre2_compile.c.
◆ META_LOOKBEHIND_NA #define META_LOOKBEHIND_NA 0x80280000u /* (*naplb: */Definition at line 259 of file pcre2_compile.c.
◆ META_LOOKBEHINDNOT #define META_LOOKBEHINDNOT 0x80260000u /* (?<! */Definition at line 254 of file pcre2_compile.c.
◆ META_MARK #define META_MARK 0x80290000u /* (*MARK) */Definition at line 265 of file pcre2_compile.c.
◆ META_MINMAX #define META_MINMAX 0x803d0000u /* {n,m} repeat */Definition at line 288 of file pcre2_compile.c.
◆ META_MINMAX_PLUS #define META_MINMAX_PLUS 0x803e0000u /* {n,m}+ repeat */Definition at line 289 of file pcre2_compile.c.
◆ META_MINMAX_QUERY #define META_MINMAX_QUERY 0x803f0000u /* {n,m}? repeat */Definition at line 290 of file pcre2_compile.c.
◆ META_NOCAPTURE #define META_NOCAPTURE 0x801a0000u /* no capture parens */Definition at line 238 of file pcre2_compile.c.
◆ META_OPTIONS #define META_OPTIONS 0x801b0000u /* (?i) and friends */Definition at line 239 of file pcre2_compile.c.
◆ META_PLUS ◆ META_PLUS_PLUS #define META_PLUS_PLUS 0x80380000u /* ++ */Definition at line 283 of file pcre2_compile.c.
◆ META_PLUS_QUERY #define META_PLUS_QUERY 0x80390000u /* +? */Definition at line 284 of file pcre2_compile.c.
◆ META_POSIX #define META_POSIX 0x801c0000u /* POSIX class item */Definition at line 240 of file pcre2_compile.c.
◆ META_POSIX_NEG ◆ META_PRUNE ◆ META_PRUNE_ARG #define META_PRUNE_ARG 0x802f0000u /* be */Definition at line 271 of file pcre2_compile.c.
◆ META_QUERY ◆ META_QUERY_PLUS #define META_QUERY_PLUS 0x803b0000u /* ?+ */Definition at line 286 of file pcre2_compile.c.
◆ META_QUERY_QUERY #define META_QUERY_QUERY 0x803c0000u /* ?? */Definition at line 287 of file pcre2_compile.c.
◆ META_RANGE_ESCAPED #define META_RANGE_ESCAPED 0x801e0000u /* range with at least one escape */Definition at line 242 of file pcre2_compile.c.
◆ META_RANGE_LITERAL #define META_RANGE_LITERAL 0x801f0000u /* range defined literally */Definition at line 243 of file pcre2_compile.c.
◆ META_RECURSE #define META_RECURSE 0x80200000u /* Recursion */Definition at line 244 of file pcre2_compile.c.
◆ META_RECURSE_BYNAME #define META_RECURSE_BYNAME 0x80210000u /* (?&name) */Definition at line 245 of file pcre2_compile.c.
◆ META_SCRIPT_RUN #define META_SCRIPT_RUN 0x80220000u /* (*script_run:...) */Definition at line 246 of file pcre2_compile.c.
◆ META_SKIP ◆ META_SKIP_ARG ◆ META_THEN ◆ META_THEN_ARG #define META_THEN_ARG 0x80330000u /* order */Definition at line 275 of file pcre2_compile.c.
◆ NAMED_GROUP_LIST_SIZE ◆ NLBLOCK ◆ NSF_ATOMICSR ◆ NSF_CONDASSERT ◆ NSF_RESET ◆ OFLOW_MAX ◆ PARSE_TRACKED_EXTRA_OPTIONS #define PARSE_TRACKED_EXTRA_OPTIONS Value:#define PCRE2_EXTRA_ASCII_POSIX
#define PCRE2_EXTRA_ASCII_BSS
#define PCRE2_EXTRA_CASELESS_RESTRICT
#define PCRE2_EXTRA_ASCII_BSW
Definition at line 2747 of file pcre2_compile.c.
◆ PARSE_TRACKED_OPTIONS #define PARSE_TRACKED_OPTIONS Value:PCRE2_UNGREEDY)
#define PCRE2_EXTENDED_MORE
#define PCRE2_NO_AUTO_CAPTURE
Definition at line 2743 of file pcre2_compile.c.
◆ PARSED_LITERAL ◆ PARSED_PATTERN_DEFAULT_SIZE ◆ PC_DIGIT ◆ PC_GRAPH ◆ PC_PRINT ◆ PC_PUNCT ◆ PC_XDIGIT ◆ PSEND #define PSEND end_pattern /* Field containing processed string end */Definition at line 48 of file pcre2_compile.c.
◆ PSSTART #define PSSTART start_pattern /* Field containing processed string start */Definition at line 47 of file pcre2_compile.c.
◆ PUBLIC_COMPILE_EXTRA_OPTIONS #define PUBLIC_COMPILE_EXTRA_OPTIONS Value:PCRE2_EXTRA_ASCII_DIGIT)
#define PCRE2_EXTRA_ALT_BSUX
#define PCRE2_EXTRA_ASCII_BSD
#define PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL
#define PUBLIC_LITERAL_COMPILE_EXTRA_OPTIONS
Definition at line 786 of file pcre2_compile.c.
◆ PUBLIC_COMPILE_OPTIONS #define PUBLIC_COMPILE_OPTIONS Value:#define PCRE2_DOLLAR_ENDONLY
#define PCRE2_NO_AUTO_POSSESS
#define PCRE2_MATCH_UNSET_BACKREF
#define PCRE2_ALT_CIRCUMFLEX
#define PCRE2_NEVER_BACKSLASH_C
#define PUBLIC_LITERAL_COMPILE_OPTIONS
Definition at line 774 of file pcre2_compile.c.
◆ PUBLIC_LITERAL_COMPILE_EXTRA_OPTIONS ◆ PUBLIC_LITERAL_COMPILE_OPTIONS #define PUBLIC_LITERAL_COMPILE_OPTIONS Value:#define PCRE2_ENDANCHORED
#define PCRE2_AUTO_CALLOUT
#define PCRE2_MATCH_INVALID_UTF
#define PCRE2_USE_OFFSET_LIMIT
#define PCRE2_NO_UTF_CHECK
Definition at line 769 of file pcre2_compile.c.
◆ PUTOFFSET ◆ READPLUSOFFSET #define READPLUSOFFSET ( s, p ) s = p[1]Definition at line 95 of file pcre2_compile.c.
◆ REPEAT_UNLIMITED ◆ REQ_CASELESS ◆ REQ_NONE #define REQ_NONE 0xfffffffeu /* Found not fixed character */Definition at line 394 of file pcre2_compile.c.
◆ REQ_UNSET #define REQ_UNSET 0xffffffffu /* Not yet found anything */Definition at line 393 of file pcre2_compile.c.
◆ REQ_VARY ◆ RSCAN_CACHE_SIZE #define RSCAN_CACHE_SIZE 8 ◆ SETBIT ◆ SIZEOFFSET ◆ SKIPOFFSET ◆ STRING_UTFn_RIGHTPAR ◆ UPPER_CASE ◆ WORK_SIZE_SAFETY_MARGIN ◆ XDIGIT ◆ alasitem ◆ nest_save ◆ pso ◆ verbitem ◆ anonymous enum Enumerator PSKIP_ALT PSKIP_CLASS PSKIP_KETDefinition at line 375 of file pcre2_compile.c.
◆ anonymous enum Enumerator ERR0 ERR1 ERR2 ERR3 ERR4 ERR5 ERR6 ERR7 ERR8 ERR9 ERR10 ERR11 ERR12 ERR13 ERR14 ERR15 ERR16 ERR17 ERR18 ERR19 ERR20 ERR21 ERR22 ERR23 ERR24 ERR25 ERR26 ERR27 ERR28 ERR29 ERR30 ERR31 ERR32 ERR33 ERR34 ERR35 ERR36 ERR37 ERR38 ERR39 ERR40 ERR41 ERR42 ERR43 ERR44 ERR45 ERR46 ERR47 ERR48 ERR49 ERR50 ERR51 ERR52 ERR53 ERR54 ERR55 ERR56 ERR57 ERR58 ERR59 ERR60 ERR61 ERR62 ERR63 ERR64 ERR65 ERR66 ERR67 ERR68 ERR69 ERR70 ERR71 ERR72 ERR73 ERR74 ERR75 ERR76 ERR77 ERR78 ERR79 ERR80 ERR81 ERR82 ERR83 ERR84 ERR85 ERR86 ERR87 ERR88 ERR89 ERR90 ERR91 ERR92 ERR93 ERR94 ERR95 ERR96 ERR97 ERR98 ERR99 ERR100 ERR101Definition at line 801 of file pcre2_compile.c.
◆ anonymous enum Enumerator PSO_OPT PSO_FLG PSO_NL PSO_BSR PSO_LIMH PSO_LIMM PSO_LIMDDefinition at line 819 of file pcre2_compile.c.
◆ anonymous enum Enumerator RANGE_NO RANGE_STARTED RANGE_OK_ESCAPED RANGE_OK_LITERALDefinition at line 2754 of file pcre2_compile.c.
◆ _pcre2_check_escape()Definition at line 1551 of file pcre2_compile.c.
References compile_block::bracount, CHAR_0, CHAR_1, CHAR_2, CHAR_3, CHAR_4, CHAR_5, CHAR_6, CHAR_7, CHAR_8, CHAR_9, CHAR_a, CHAR_APOSTROPHE, CHAR_c, CHAR_CR, CHAR_F, CHAR_g, CHAR_HT, CHAR_L, CHAR_l, CHAR_LEFT_CURLY_BRACKET, CHAR_LESS_THAN_SIGN, CHAR_LF, CHAR_o, CHAR_PLUS, CHAR_QUESTION_MARK, CHAR_RIGHT_CURLY_BRACKET, CHAR_SPACE, CHAR_U, CHAR_u, CHAR_x, CHAR_z, ERR1, ERR15, ERR2, ERR3, ERR34, ERR37, ERR51, ERR55, ERR57, ERR61, ERR64, ERR67, ERR68, ERR73, ERR77, ERR78, ERR93, ESC_g, ESC_k, ESC_N, ESC_P, ESC_p, ESC_ub, ESC_X, escapes, ESCAPES_FIRST, ESCAPES_LAST, compile_block::external_flags, FALSE, GETCHARINCTEST, i, if(), int, MAX_GROUP_NUMBER, NULL, PCRE2_ALT_BSUX, PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES, PCRE2_EXTRA_ALT_BSUX, PCRE2_EXTRA_ESCAPED_CR_IS_LF, PCRE2_HASBKPORX, PCRE2_SPTR, PCRE2_UTF, read_number(), read_repeat_counts(), TRUE, uint32_t, UPPER_CASE, utf, and XDIGIT.
◆ add_list_to_class() ◆ add_name_to_table() ◆ add_not_list_to_class() ◆ add_to_class() ◆ add_to_class_internal()Definition at line 5231 of file pcre2_compile.c.
References compile_block::class_range_start, compile_block::fcc, PCRE2_CASELESS, PCRE2_EXTRA_CASELESS_RESTRICT, PCRE2_UCHAR, PCRE2_UCP, PCRE2_UTF, PRIV, SETBIT, XCL_RANGE, and XCL_SINGLE.
Referenced by add_list_to_class(), and add_to_class().
◆ check_lookbehinds()Definition at line 9966 of file pcre2_compile.c.
References ERR70, compile_block::erroroffset, ESC_p, ESC_P, META_ACCEPT, META_ALT, META_ASTERISK, META_ASTERISK_PLUS, META_ASTERISK_QUERY, META_ATOMIC, META_BACKREF, META_BACKREF_BYNAME, META_BIGVALUE, META_CALLOUT_NUMBER, META_CALLOUT_STRING, META_CAPTURE, META_CIRCUMFLEX, META_CLASS, META_CLASS_EMPTY, META_CLASS_EMPTY_NOT, META_CLASS_END, META_CLASS_NOT, META_CODE, META_COMMIT, META_COMMIT_ARG, META_COND_ASSERT, META_COND_DEFINE, META_COND_NAME, META_COND_NUMBER, META_COND_RNAME, META_COND_RNUMBER, META_COND_VERSION, META_DOLLAR, META_DOT, META_END, META_ESCAPE, META_FAIL, META_KET, META_LOOKAHEAD, META_LOOKAHEAD_NA, META_LOOKAHEADNOT, META_LOOKBEHIND, META_LOOKBEHIND_NA, META_LOOKBEHINDNOT, META_MARK, META_MINMAX, META_MINMAX_PLUS, META_MINMAX_QUERY, META_NOCAPTURE, META_OPTIONS, META_PLUS, META_PLUS_PLUS, META_PLUS_QUERY, META_POSIX, META_POSIX_NEG, META_PRUNE, META_PRUNE_ARG, META_QUERY, META_QUERY_PLUS, META_QUERY_QUERY, META_RANGE_ESCAPED, META_RANGE_LITERAL, META_RECURSE, META_RECURSE_BYNAME, META_SCRIPT_RUN, META_SKIP, META_SKIP_ARG, META_THEN, META_THEN_ARG, NULL, PCRE2_UNSET, set_lookbehind_lengths(), and SIZEOFFSET.
Referenced by get_branchlength(), and pcre2_compile().
◆ check_posix_name() ◆ check_posix_syntax() ◆ compile_branch() static int compile_branch ( uint32_t * optionsptr, uint32_t * xoptionsptr, PCRE2_UCHAR ** codeptr, uint32_t ** pptrptr, int * errorcodeptr, uint32_t * firstcuptr, uint32_t * firstcuflagsptr, uint32_t * reqcuptr, uint32_t * reqcuflagsptr, branch_chain * bcptr, open_capitem * open_caps, compile_block * cb, PCRE2_SIZE * lengthptr ) staticDefinition at line 5636 of file pcre2_compile.c.
References add_list_to_class(), add_not_list_to_class(), add_to_class(), open_capitem::assert_depth, compile_block::assert_depth, compile_block::backref_map, compile_block::bracount, C, cbit_digit, cbit_space, cbit_word, compile_block::cbits, CHAR_0, CHAR_CR, CHAR_i, CHAR_j, CHAR_LEFT_CURLY_BRACKET, CHAR_NL, CHAR_NUL, CHAR_r, CHAR_RIGHT_CURLY_BRACKET, CHAR_s, CHAR_z, chartypeoffset, compile_regex(), count, ctype_letter, compile_block::ctypes, CU2BYTES, D, delimiter, delta(), ERR10, ERR15, ERR20, ERR27, ERR52, ERR54, ERR61, ERR86, ERR89, ERR99, compile_block::erroroffset, ESC_A, ESC_b, ESC_B, ESC_C, ESC_D, ESC_d, ESC_H, ESC_h, ESC_K, ESC_P, ESC_p, ESC_S, ESC_s, ESC_v, ESC_V, ESC_w, ESC_W, ESC_Z, compile_block::external_flags, FALSE, compile_block::fcc, find_dupname_details(), GETPLUSOFFSET, compile_block::had_accept, compile_block::had_pruneorskip, compile_block::had_recurse, i, IMM2_SIZE, int, named_group::isdup, compile_block::lastcapture, len, named_group::length, LINK_SIZE, MAX_GROUP_NUMBER, compile_block::max_lookbehind, MAX_UTF_CODE_POINT, memmove, META_ACCEPT, META_ALT, META_ASTERISK, META_ASTERISK_PLUS, META_ASTERISK_QUERY, META_ATOMIC, META_BACKREF, META_BACKREF_BYNAME, META_BIGVALUE, META_CALLOUT_NUMBER, META_CALLOUT_STRING, META_CAPTURE, META_CIRCUMFLEX, META_CLASS, META_CLASS_EMPTY, META_CLASS_EMPTY_NOT, META_CLASS_END, META_CLASS_NOT, META_CODE, META_COMMIT, META_COMMIT_ARG, META_COND_ASSERT, META_COND_DEFINE, META_COND_NAME, META_COND_NUMBER, META_COND_RNAME, META_COND_RNUMBER, META_COND_VERSION, META_DATA, META_DOLLAR, META_DOT, META_END, META_ESCAPE, META_FAIL, META_KET, META_LOOKAHEAD, META_LOOKAHEAD_NA, META_LOOKAHEADNOT, META_LOOKBEHIND, META_LOOKBEHIND_NA, META_LOOKBEHINDNOT, META_MARK, META_MINMAX, META_MINMAX_PLUS, META_MINMAX_QUERY, META_NOCAPTURE, META_OPTIONS, META_PLUS, META_PLUS_PLUS, META_PLUS_QUERY, META_POSIX, META_POSIX_NEG, META_PRUNE, META_PRUNE_ARG, META_QUERY, META_QUERY_PLUS, META_QUERY_QUERY, META_RANGE_ESCAPED, META_RANGE_LITERAL, META_RECURSE, META_RECURSE_BYNAME, META_SCRIPT_RUN, META_SKIP, META_SKIP_ARG, META_THEN, META_THEN_ARG, named_group::name, compile_block::named_groups, compile_block::names_found, open_capitem::next, NOTACHAR, NULL, open_capitem::number, named_group::number, offset, OFLOW_MAX, OP_ACCEPT, OP_ALLANY, OP_ALT, OP_ANY, OP_ASSERT, OP_ASSERT_ACCEPT, OP_ASSERT_NA, OP_ASSERT_NOT, OP_ASSERTBACK, OP_ASSERTBACK_NA, OP_ASSERTBACK_NOT, OP_BRA, OP_BRAPOS, OP_BRAPOSZERO, OP_BRAZERO, OP_CALLOUT, OP_CALLOUT_STR, OP_CBRA, OP_CHAR, OP_CHARI, OP_CIRC, OP_CIRCM, OP_CLASS, OP_CLOSE, OP_COND, OP_CREF, OP_CRPLUS, OP_CRQUERY, OP_CRRANGE, OP_CRSTAR, OP_DEFINE, OP_DNREF, OP_DNREFI, OP_DOLL, OP_DOLLM, OP_EODN, OP_EXACT, OP_EXACTI, OP_FAIL, OP_FALSE, OP_KET, OP_KETRMAX, OP_KETRPOS, OP_lengths, OP_NCLASS, OP_NOT, OP_NOT_UCP_WORD_BOUNDARY, OP_NOTEXACT, OP_NOTEXACTI, OP_NOTI, OP_NOTPROP, OP_ONCE, OP_PLUS, OP_PROP, OP_QUERY, OP_RECURSE, OP_REF, OP_REFI, OP_RREF, OP_SBRA, OP_SBRAPOS, OP_SCOND, OP_SCRIPT_RUN, OP_SKIPZERO, OP_STAR, OP_THEN, OP_TRUE, OP_TYPEEXACT, OP_TYPESTAR, OP_UCP_WORD_BOUNDARY, OP_UPTO, OP_XCLASS, opcode_possessify, compile_block::parens_depth, PC_GRAPH, PC_PRINT, PC_PUNCT, PCRE2_CASELESS, PCRE2_CODE_UNIT_WIDTH, PCRE2_DOTALL, PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK, PCRE2_EXTRA_ASCII_BSW, PCRE2_EXTRA_ASCII_POSIX, PCRE2_EXTRA_CASELESS_RESTRICT, PCRE2_HASBKC, PCRE2_HASCRORLF, PCRE2_HASTHEN, PCRE2_MAJOR, PCRE2_MINOR, PCRE2_MULTILINE, PCRE2_SIZE, PCRE2_SPTR, PCRE2_UCHAR, PCRE2_UCP, PCRE2_UNGREEDY, PCRE2_UTF, posix_class_maps, PRIV, PT_ANY, PT_CLIST, PT_PXGRAPH, PT_PXPRINT, PT_PXPUNCT, PUT2, PUT2INC, PUTCHAR, PUTINC, REPEAT_UNLIMITED, REQ_CASELESS, REQ_NONE, REQ_UNSET, REQ_VARY, compile_block::req_varyopt, RREF_ANY, SKIPOFFSET, compile_block::small_ref_offset, compile_block::start_pattern, compile_block::start_workspace, util::strncmp(), SUPPORT_UNICODE, TABLE_GET, compile_block::top_backref, TRUE, UCD_CASESET, UCD_OTHERCASE, uint32_t, utf, verbops, WORK_SIZE_SAFETY_MARGIN, compile_block::workspace_size, XCL_END, XCL_HASPROP, XCL_MAP, XCL_NOT, XCL_NOTPROP, XCL_PROP, and XCL_RANGE.
Referenced by compile_regex().
◆ compile_regex() static int compile_regex ( uint32_t options, uint32_t xoptions, PCRE2_UCHAR ** codeptr, uint32_t ** pptrptr, int * errorcodeptr, uint32_t skipunits, uint32_t * firstcuptr, uint32_t * firstcuflagsptr, uint32_t * reqcuptr, uint32_t * reqcuflagsptr, branch_chain * bcptr, open_capitem * open_caps, compile_block * cb, PCRE2_SIZE * lengthptr ) staticDefinition at line 8378 of file pcre2_compile.c.
References open_capitem::assert_depth, compile_block::assert_depth, compile_branch(), branch_chain::current_branch, compile_block::cx, ERR20, ERR33, GET2, IMM2_SIZE, LINK_SIZE, LOOKBEHIND_MAX, META_ALT, META_CODE, META_DATA, open_capitem::next, NULL, open_capitem::number, OFLOW_MAX, OP_ALT, OP_ASSERTBACK, OP_ASSERTBACK_NA, OP_ASSERTBACK_NOT, OP_CBRA, OP_KET, OP_REVERSE, OP_VREVERSE, branch_chain::outer, compile_block::parens_depth, PCRE2_SIZE, PCRE2_UCHAR, prev_length, PUT2INC, REQ_NONE, REQ_UNSET, REQ_VARY, SIZEOFFSET, pcre2_real_compile_context::stack_guard, and pcre2_real_compile_context::stack_guard_data.
Referenced by compile_branch(), and pcre2_compile().
◆ find_dupname_details()Definition at line 5554 of file pcre2_compile.c.
References compile_block::backref_map, count, ERR53, compile_block::erroroffset, FALSE, GET2, i, IMM2_SIZE, compile_block::name_entry_size, compile_block::name_table, compile_block::names_found, PCRE2_UCHAR, PRIV, compile_block::start_pattern, util::strncmp(), compile_block::top_backref, and TRUE.
Referenced by compile_branch().
◆ find_firstassertedcu()Definition at line 9076 of file pcre2_compile.c.
References cflags, first_significant_code(), flags, IMM2_SIZE, LINK_SIZE, OP_ALT, OP_ASSERT, OP_ASSERT_NA, OP_BRA, OP_BRAPOS, OP_CBRA, OP_CBRAPOS, OP_CHAR, OP_CHARI, OP_EXACT, OP_EXACTI, OP_MINPLUS, OP_MINPLUSI, OP_ONCE, OP_PLUS, OP_PLUSI, OP_POSPLUS, OP_POSPLUSI, OP_SCBRA, OP_SCBRAPOS, OP_SCRIPT_RUN, PCRE2_SPTR, PCRE2_UCHAR, REQ_CASELESS, REQ_NONE, and TRUE.
Referenced by pcre2_compile().
◆ find_recurse()Definition at line 8920 of file pcre2_compile.c.
References IMM2_SIZE, LINK_SIZE, NULL, OP_CALLOUT_STR, OP_CHAR, OP_CHARI, OP_COMMIT_ARG, OP_END, OP_EXACT, OP_EXACTI, OP_lengths, OP_MARK, OP_MINPLUS, OP_MINPLUSI, OP_MINQUERY, OP_MINQUERYI, OP_MINSTAR, OP_MINSTARI, OP_MINUPTO, OP_MINUPTOI, OP_NOT, OP_NOTEXACT, OP_NOTEXACTI, OP_NOTI, OP_NOTMINPLUS, OP_NOTMINPLUSI, OP_NOTMINQUERY, OP_NOTMINQUERYI, OP_NOTMINSTAR, OP_NOTMINSTARI, OP_NOTMINUPTO, OP_NOTMINUPTOI, OP_NOTPLUS, OP_NOTPLUSI, OP_NOTPOSPLUS, OP_NOTPOSPLUSI, OP_NOTPOSQUERY, OP_NOTPOSQUERYI, OP_NOTPOSSTAR, OP_NOTPOSSTARI, OP_NOTPOSUPTO, OP_NOTPOSUPTOI, OP_NOTPROP, OP_NOTQUERY, OP_NOTQUERYI, OP_NOTSTAR, OP_NOTSTARI, OP_NOTUPTO, OP_NOTUPTOI, OP_PLUS, OP_PLUSI, OP_POSPLUS, OP_POSPLUSI, OP_POSQUERY, OP_POSQUERYI, OP_POSSTAR, OP_POSSTARI, OP_POSUPTO, OP_POSUPTOI, OP_PROP, OP_PRUNE_ARG, OP_QUERY, OP_QUERYI, OP_RECURSE, OP_SKIP_ARG, OP_STAR, OP_STARI, OP_THEN_ARG, OP_TYPEEXACT, OP_TYPEMINPLUS, OP_TYPEMINQUERY, OP_TYPEMINSTAR, OP_TYPEMINUPTO, OP_TYPEPLUS, OP_TYPEPOSPLUS, OP_TYPEPOSQUERY, OP_TYPEPOSSTAR, OP_TYPEPOSUPTO, OP_TYPEQUERY, OP_TYPESTAR, OP_TYPEUPTO, OP_UPTO, OP_UPTOI, OP_XCLASS, PCRE2_UCHAR, PRIV, and utf.
Referenced by pcre2_compile().
◆ first_significant_code()Definition at line 5061 of file pcre2_compile.c.
References LINK_SIZE, OP_ALT, OP_ASSERT_NOT, OP_ASSERTBACK, OP_ASSERTBACK_NA, OP_ASSERTBACK_NOT, OP_CALLOUT, OP_CALLOUT_STR, OP_COMMIT_ARG, OP_COND, OP_CREF, OP_DNCREF, OP_DNRREF, OP_FALSE, OP_KET, OP_lengths, OP_MARK, OP_NOT_UCP_WORD_BOUNDARY, OP_NOT_WORD_BOUNDARY, OP_PRUNE_ARG, OP_RREF, OP_SCOND, OP_SKIP_ARG, OP_SKIPZERO, OP_THEN_ARG, OP_TRUE, OP_UCP_WORD_BOUNDARY, OP_WORD_BOUNDARY, and PRIV.
Referenced by find_firstassertedcu(), is_anchored(), and is_startline().
◆ get_branchlength()Definition at line 9443 of file pcre2_compile.c.
References compile_block::bracount, check_lookbehinds(), ERR15, ERR25, ERR35, ERR36, ERR87, ERR90, compile_block::erroroffset, ESC_b, ESC_C, ESC_P, ESC_p, ESC_R, ESC_X, ESC_Z, compile_block::external_flags, compile_block::external_options, FALSE, get_grouplength(), GETPLUSOFFSET, parsed_recurse_check::groupptr, i, named_group::isdup, named_group::length, LOOKBEHIND_MAX, max(), META_ACCEPT, META_ALT, META_ASTERISK, META_ASTERISK_PLUS, META_ASTERISK_QUERY, META_ATOMIC, META_BACKREF, META_BACKREF_BYNAME, META_BIGVALUE, META_CALLOUT_NUMBER, META_CALLOUT_STRING, META_CAPTURE, META_CIRCUMFLEX, META_CLASS, META_CLASS_EMPTY_NOT, META_CLASS_NOT, META_CODE, META_COMMIT, META_COMMIT_ARG, META_COND_ASSERT, META_COND_DEFINE, META_COND_NAME, META_COND_NUMBER, META_COND_RNAME, META_COND_RNUMBER, META_COND_VERSION, META_DATA, META_DOLLAR, META_DOT, META_END, META_ESCAPE, META_FAIL, META_KET, META_LOOKAHEAD, META_LOOKAHEAD_NA, META_LOOKAHEADNOT, META_LOOKBEHIND, META_LOOKBEHIND_NA, META_LOOKBEHINDNOT, META_MARK, META_MINMAX, META_MINMAX_PLUS, META_MINMAX_QUERY, META_NOCAPTURE, META_OPTIONS, META_PLUS, META_PLUS_PLUS, META_PLUS_QUERY, META_PRUNE, META_PRUNE_ARG, META_QUERY, META_QUERY_PLUS, META_QUERY_QUERY, META_RECURSE, META_RECURSE_BYNAME, META_SCRIPT_RUN, META_SKIP, META_SKIP_ARG, META_THEN, META_THEN_ARG, min(), named_group::name, compile_block::named_groups, compile_block::names_found, NULL, named_group::number, offset, compile_block::parsed_pattern, parsed_skip(), PCRE2_DUPCAPUSED, PCRE2_MATCH_UNSET_BACKREF, PCRE2_SIZE, PCRE2_SPTR, PCRE2_UTF, parsed_recurse_check::prev, PRIV, PSKIP_ALT, PSKIP_CLASS, PSKIP_KET, r(), REPEAT_UNLIMITED, set_lookbehind_lengths(), SIZEOFFSET, compile_block::small_ref_offset, compile_block::start_pattern, util::strncmp(), and TRUE.
Referenced by get_grouplength(), and set_lookbehind_lengths().
◆ get_grouplength()Definition at line 9369 of file pcre2_compile.c.
References compile_block::external_flags, get_branchlength(), GI_FIXED_LENGTH_MASK, GI_NOT_FIXED_LENGTH, GI_SET_FIXED_LENGTH, compile_block::groupinfo, META_KET, parsed_skip(), PCRE2_DUPCAPUSED, PSKIP_KET, and uint32_t.
Referenced by get_branchlength().
◆ handle_escdsw()Definition at line 2642 of file pcre2_compile.c.
References ESC_d, ESC_D, ESC_P, ESC_p, ESC_S, ESC_s, ESC_W, ESC_w, META_ESCAPE, PCRE2_EXTRA_ASCII_BSD, PCRE2_EXTRA_ASCII_BSS, PCRE2_EXTRA_ASCII_BSW, PCRE2_UCP, PT_PC, PT_SPACE, PT_WORD, and ucp_Nd.
Referenced by parse_regex().
◆ is_anchored()Definition at line 8693 of file pcre2_compile.c.
References compile_block::backref_map, compile_block::external_options, FALSE, first_significant_code(), GET2, compile_block::had_pruneorskip, LINK_SIZE, n, OP_ALLANY, OP_ALT, OP_ASSERT, OP_ASSERT_NA, OP_BRA, OP_BRAPOS, OP_CBRA, OP_CBRAPOS, OP_CIRC, OP_COND, OP_lengths, OP_ONCE, OP_SBRA, OP_SBRAPOS, OP_SCBRA, OP_SCBRAPOS, OP_SCOND, OP_SOD, OP_SOM, OP_TYPEMINSTAR, OP_TYPEPOSSTAR, OP_TYPESTAR, PCRE2_NO_DOTSTAR_ANCHOR, PCRE2_SPTR, PRIV, and TRUE.
Referenced by pcre2_compile().
◆ is_startline()Definition at line 8798 of file pcre2_compile.c.
References compile_block::backref_map, compile_block::external_options, FALSE, first_significant_code(), GET2, compile_block::had_pruneorskip, LINK_SIZE, n, OP_ALT, OP_ANY, OP_ASSERT, OP_ASSERT_NA, OP_BRA, OP_BRAPOS, OP_CALLOUT, OP_CALLOUT_STR, OP_CBRA, OP_CBRAPOS, OP_CIRC, OP_CIRCM, OP_COND, OP_CREF, OP_DNCREF, OP_DNRREF, OP_FAIL, OP_FALSE, OP_lengths, OP_ONCE, OP_RREF, OP_SBRA, OP_SBRAPOS, OP_SCBRA, OP_SCBRAPOS, OP_TRUE, OP_TYPEMINSTAR, OP_TYPEPOSSTAR, OP_TYPESTAR, PCRE2_NO_DOTSTAR_ANCHOR, PCRE2_SPTR, PRIV, and TRUE.
Referenced by pcre2_compile().
◆ manage_callouts() ◆ parse_regex()Definition at line 2773 of file pcre2_compile.c.
References alascount, alasmeta, alasnames, compile_block::bracount, CHAR_0, CHAR_1, CHAR_2, CHAR_3, CHAR_4, CHAR_5, CHAR_6, CHAR_7, CHAR_8, CHAR_9, CHAR_a, CHAR_AMPERSAND, CHAR_APOSTROPHE, CHAR_ASTERISK, CHAR_BACKSLASH, CHAR_BS, CHAR_C, CHAR_CIRCUMFLEX_ACCENT, CHAR_COLON, CHAR_D, CHAR_DOLLAR_SIGN, CHAR_DOT, CHAR_E, CHAR_EQUALS_SIGN, CHAR_EXCLAMATION_MARK, CHAR_GREATER_THAN_SIGN, CHAR_HT, CHAR_i, CHAR_J, CHAR_LEFT_CURLY_BRACKET, CHAR_LEFT_PARENTHESIS, CHAR_LEFT_SQUARE_BRACKET, CHAR_LESS_THAN_SIGN, CHAR_m, CHAR_MINUS, CHAR_n, CHAR_NEL, CHAR_NUMBER_SIGN, CHAR_P, CHAR_PLUS, CHAR_Q, CHAR_QUESTION_MARK, CHAR_R, CHAR_r, CHAR_RIGHT_CURLY_BRACKET, CHAR_RIGHT_PARENTHESIS, CHAR_RIGHT_SQUARE_BRACKET, CHAR_S, CHAR_s, CHAR_SPACE, CHAR_T, CHAR_U, CHAR_u, CHAR_VERTICAL_LINE, CHAR_W, CHAR_x, check_posix_name(), check_posix_syntax(), CHMAX_255, ctype_lcletter, ctype_space, compile_block::ctypes, compile_block::cx, delimiter, compile_block::dupnames, compile_block::end_pattern, ERR11, ERR12, ERR13, ERR14, ERR15, ERR18, ERR19, ERR21, ERR22, ERR24, ERR28, ERR29, ERR30, ERR38, ERR39, ERR40, ERR41, ERR43, ERR45, ERR49, ERR50, ERR57, ERR58, ERR6, ERR60, ERR61, ERR63, ERR65, ERR66, ERR69, ERR7, ERR71, ERR72, ERR76, ERR79, ERR8, ERR81, ERR82, ERR83, ERR84, ERR85, ERR89, ERR9, ERR94, ERR95, ERR96, ERR97, ERR98, compile_block::erroroffset, ESC_B, ESC_b, ESC_C, ESC_D, ESC_d, ESC_E, ESC_g, ESC_H, ESC_h, ESC_k, ESC_N, ESC_p, ESC_P, ESC_Q, ESC_R, ESC_S, ESC_s, ESC_ub, ESC_V, ESC_v, ESC_W, ESC_w, ESC_X, compile_block::external_flags, compile_block::external_options, pcre2_real_compile_context::extra_options, FAILED, FALSE, nest_save::flags, pcre2_memctl::free, ge(), GETCHARINCTEST, handle_escdsw(), i, if(), IMM2_SIZE, int, IS_DIGIT, IS_NEWLINE, named_group::isdup, len, verbitem::len, alasitem::len, named_group::length, pcre2_memctl::malloc, manage_callouts(), MAX_255, nest_save::max_group, MAX_GROUP_NUMBER, MAX_MARK, MAX_NAME_COUNT, pcre2_real_compile_context::memctl, pcre2_memctl::memory_data, verbitem::meta, alasitem::meta, META_ACCEPT, META_ALT, META_ASTERISK, META_ATOMIC, META_ATOMIC_SCRIPT_RUN, META_BACKREF, META_BACKREF_BYNAME, META_BIGVALUE, META_CALLOUT_NUMBER, META_CALLOUT_STRING, META_CAPTURE, META_CIRCUMFLEX, META_CLASS, META_CLASS_EMPTY, META_CLASS_EMPTY_NOT, META_CLASS_END, META_CLASS_NOT, META_COND_ASSERT, META_COND_DEFINE, META_COND_NAME, META_COND_NUMBER, META_COND_RNAME, META_COND_RNUMBER, META_COND_VERSION, META_DOLLAR, META_DOT, META_END, META_ESCAPE, META_KET, META_LOOKAHEAD, META_LOOKAHEAD_NA, META_LOOKAHEADNOT, META_LOOKBEHIND, META_LOOKBEHIND_NA, META_LOOKBEHINDNOT, META_MARK, META_MINMAX, META_NOCAPTURE, META_OPTIONS, META_PLUS, META_POSIX, META_POSIX_NEG, META_QUERY, META_RANGE_ESCAPED, META_RANGE_LITERAL, META_RECURSE, META_RECURSE_BYNAME, META_SCRIPT_RUN, n, named_group::name, compile_block::name_entry_size, NAMED_GROUP_LIST_SIZE, compile_block::named_group_list_size, compile_block::named_groups, compile_block::names_found, nest_save::nest_depth, compile_block::nllen, NSF_ATOMICSR, NSF_CONDASSERT, NSF_RESET, NULL, named_group::number, offset, ok, nest_save::options, pcre2_real_compile_context::parens_nest_limit, PARSE_TRACKED_EXTRA_OPTIONS, PARSE_TRACKED_OPTIONS, PARSED_LITERAL, compile_block::parsed_pattern, compile_block::parsed_pattern_end, PC_DIGIT, PC_XDIGIT, PCRE2_ALLOW_EMPTY_CLASS, PCRE2_ALT_VERBNAMES, PCRE2_AUTO_CALLOUT, PCRE2_CASELESS, PCRE2_DOTALL, PCRE2_DUPCAPUSED, PCRE2_DUPNAMES, PCRE2_EXTENDED, PCRE2_EXTENDED_MORE, PCRE2_EXTRA_ASCII_BSD, PCRE2_EXTRA_ASCII_BSS, PCRE2_EXTRA_ASCII_BSW, PCRE2_EXTRA_ASCII_DIGIT, PCRE2_EXTRA_ASCII_POSIX, PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL, PCRE2_EXTRA_CASELESS_RESTRICT, PCRE2_EXTRA_MATCH_LINE, PCRE2_EXTRA_MATCH_WORD, PCRE2_JCHANGED, PCRE2_LITERAL, PCRE2_MULTILINE, PCRE2_NEVER_BACKSLASH_C, PCRE2_NO_AUTO_CAPTURE, PCRE2_SIZE, PCRE2_SPTR, PCRE2_UCHAR, PCRE2_UCP, PCRE2_UNGREEDY, PCRE2_UNSET, PCRE2_UTF, PRIV, PT_WORD, PUTOFFSET, RANGE_NO, RANGE_OK_ESCAPED, RANGE_OK_LITERAL, RANGE_STARTED, read_name(), read_number(), read_repeat_counts(), nest_save::reset_group, compile_block::small_ref_offset, compile_block::start_pattern, compile_block::start_workspace, STR_BACKSLASH, STR_E, STR_Q, STRING_DEFINE, STRING_VERSION, STRING_WEIRD_ENDWORD, STRING_WEIRD_STARTWORD, util::strncmp(), SUPPORT_UNICODE, terminator, TRUE, UINT32_MAX, uint32_t, utf, verbcount, verbnames, verbs, compile_block::workspace_size, and nest_save::xoptions.
Referenced by pcre2_compile().
◆ parsed_skip()Definition at line 9250 of file pcre2_compile.c.
References ESC_g, ESC_k, ESC_P, ESC_p, META_ALT, META_ATOMIC, META_BACKREF, META_CAPTURE, META_CLASS_END, META_CODE, META_COMMIT_ARG, META_COND_ASSERT, META_COND_DEFINE, META_COND_NAME, META_COND_NUMBER, META_COND_RNAME, META_COND_RNUMBER, META_COND_VERSION, META_DATA, META_END, META_ESCAPE, meta_extra_lengths, META_KET, META_LOOKAHEAD, META_LOOKAHEAD_NA, META_LOOKAHEADNOT, META_LOOKBEHIND, META_LOOKBEHIND_NA, META_LOOKBEHINDNOT, META_MARK, META_NOCAPTURE, META_PRUNE_ARG, META_SCRIPT_RUN, META_SKIP_ARG, META_THEN_ARG, NULL, PSKIP_ALT, PSKIP_CLASS, and SIZEOFFSET.
Referenced by get_branchlength(), and get_grouplength().
◆ pcre2_code_copy() ◆ pcre2_code_copy_with_tables() ◆ pcre2_code_free()Definition at line 1269 of file pcre2_compile.c.
References jit_free(), NULL, PCRE2_DEREF_TABLES, PCRE2_SIZE, PRIV, and TABLES_LENGTH.
Referenced by free_pattern_chain(), LLVMFuzzerTestOneInput(), main(), pcre2_compile(), pcre2_regcomp(), pcre2_regfree(), process_command(), process_pattern(), CRegexp::Set(), and CRegexp::~CRegexp().
◆ pcre2_compile()Definition at line 10126 of file pcre2_compile.c.
References add_name_to_table(), compile_block::assert_depth, compile_block::backref_map, pcre2_real_code::blocksize, compile_block::bracount, pcre2_real_code::bsr_convention, C16_WORK_SIZE, compile_block::cbits, cbits_offset, CHAR_0, CHAR_ASTERISK, CHAR_CR, CHAR_LEFT_PARENTHESIS, CHAR_NL, CHAR_NUL, CHAR_RIGHT_PARENTHESIS, check_lookbehinds(), pcre2_real_code::compile_options, compile_regex(), COMPILE_WORK_SIZE, compile_block::ctypes, ctypes_offset, CU2BYTES, compile_block::cx, compile_block::dupnames, compile_block::end_pattern, ERR0, ERR101, ERR16, ERR17, ERR20, ERR21, ERR23, ERR31, ERR32, ERR53, ERR56, ERR60, ERR74, ERR75, ERR80, ERR88, ERR91, ERR92, compile_block::erroroffset, pcre2_real_code::executable_jit, compile_block::external_flags, compile_block::external_options, pcre2_real_code::extra_options, FALSE, compile_block::fcc, fcc_offset, find_firstassertedcu(), find_recurse(), pcre2_real_code::first_codeunit, pcre2_real_code::flags, recurse_cache::group, compile_block::groupinfo, GROUPINFO_DEFAULT_SIZE, recurse_cache::groupnumber, compile_block::had_accept, compile_block::had_pruneorskip, compile_block::had_recurse, i, if(), int, is_anchored(), IS_DIGIT, is_startline(), pcre2_real_code::last_codeunit, compile_block::lastcapture, compile_block::lcc, lcc_offset, pso::length, named_group::length, pcre2_real_code::limit_depth, pcre2_real_code::limit_heap, pcre2_real_code::limit_match, LINK_SIZE, MAGIC_NUMBER, pcre2_real_code::magic_number, pcre2_memctl::malloc, pcre2_real_code::max_lookbehind, compile_block::max_lookbehind, MAX_UTF_CODE_POINT, compile_block::max_varlookbehind, pcre2_real_code::memctl, META_END, pcre2_real_code::minlength, pso::name, named_group::name, pcre2_real_code::name_count, pcre2_real_code::name_entry_size, compile_block::name_entry_size, compile_block::name_table, NAMED_GROUP_LIST_SIZE, compile_block::named_group_list_size, compile_block::named_groups, compile_block::names_found, pcre2_real_code::newline_convention, compile_block::nl, compile_block::nllen, compile_block::nltype, NLTYPE_ANY, NLTYPE_ANYCRLF, NLTYPE_FIXED, NULL, named_group::number, OP_BRA, OP_END, pcre2_real_code::overall_options, compile_block::parens_depth, parse_regex(), compile_block::parsed_pattern, PARSED_PATTERN_DEFAULT_SIZE, compile_block::parsed_pattern_end, PCRE2_ANCHORED, PCRE2_AUTO_CALLOUT, PCRE2_BSR_SET, pcre2_code_free(), PCRE2_CODE_UNIT_WIDTH, pcre2_compile_context, PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES, PCRE2_EXTRA_MATCH_LINE, PCRE2_EXTRA_MATCH_WORD, PCRE2_FIRSTCASELESS, PCRE2_FIRSTMAPSET, PCRE2_FIRSTSET, PCRE2_HASACCEPT, PCRE2_LASTCASELESS, PCRE2_LASTSET, PCRE2_LITERAL, PCRE2_MATCH_EMPTY, PCRE2_MATCH_INVALID_UTF, PCRE2_NEVER_UCP, PCRE2_NEVER_UTF, PCRE2_NEWLINE_ANY, PCRE2_NEWLINE_ANYCRLF, PCRE2_NEWLINE_CR, PCRE2_NEWLINE_CRLF, PCRE2_NEWLINE_LF, PCRE2_NEWLINE_NUL, PCRE2_NL_SET, PCRE2_NO_AUTO_POSSESS, PCRE2_NO_START_OPTIMIZE, PCRE2_NO_UTF_CHECK, pcre2_printint, PCRE2_SIZE, PCRE2_SPTR, PCRE2_STARTLINE, PCRE2_UCHAR, PCRE2_UCP, PCRE2_UNSET, PCRE2_UTF, PCRE2_ZERO_TERMINATED, PRIV, PSO_BSR, PSO_FLG, PSO_LIMD, PSO_LIMH, PSO_LIMM, pso_list, PSO_NL, PSO_OPT, PUBLIC_COMPILE_EXTRA_OPTIONS, PUBLIC_COMPILE_OPTIONS, PUBLIC_LITERAL_COMPILE_EXTRA_OPTIONS, PUBLIC_LITERAL_COMPILE_OPTIONS, REQ_CASELESS, REQ_NONE, REQ_VARY, compile_block::req_varyopt, RSCAN_CACHE_SIZE, compile_block::small_ref_offset, pcre2_real_code::start_bitmap, compile_block::start_code, compile_block::start_pattern, compile_block::start_workspace, pcre2_real_code::tables, pcre2_real_code::top_backref, compile_block::top_backref, pcre2_real_code::top_bracket, TRUE, pso::type, UCD_OTHERCASE, UINT32_MAX, uint32_t, utf, valid_utf(), pso::value, and compile_block::workspace_size.
Referenced by compile_pattern(), LLVMFuzzerTestOneInput(), main(), pcre2_regcomp(), and CRegexp::Set().
◆ read_name()Definition at line 2464 of file pcre2_compile.c.
References CHAR_ASTERISK, CHAR_HT, CHAR_RIGHT_CURLY_BRACKET, CHAR_SPACE, CHAR_UNDERSCORE, ctype_word, compile_block::ctypes, ERR42, ERR44, ERR48, ERR60, ERR62, FAILED, FALSE, GETCHAR, IS_DIGIT, MAX_255, MAX_NAME_SIZE, PCRE2_SIZE, PCRE2_SPTR, PCRE2_UCHAR, PRIV, compile_block::start_pattern, terminator, TRUE, type, UCD_CHARTYPE, ucp_L, ucp_Nd, uint32_t, and utf.
Referenced by parse_regex(), and CPhrapReader::x_ReadRead().
◆ read_number()Definition at line 1325 of file pcre2_compile.c.
References CHAR_0, CHAR_MINUS, CHAR_PLUS, ERR15, ERR26, FALSE, IS_DIGIT, n, PCRE2_SPTR, and TRUE.
Referenced by _pcre2_check_escape(), parse_regex(), and read_repeat_counts().
◆ read_repeat_counts()Definition at line 1412 of file pcre2_compile.c.
References CHAR_COMMA, CHAR_HT, CHAR_RIGHT_CURLY_BRACKET, CHAR_SPACE, ERR4, ERR5, FALSE, IS_DIGIT, max(), MAX_REPEAT_COUNT, min(), NULL, PCRE2_SPTR, read_number(), REPEAT_UNLIMITED, TRUE, and uint32_t.
Referenced by _pcre2_check_escape(), and parse_regex().
◆ set_lookbehind_lengths()Definition at line 9873 of file pcre2_compile.c.
References ERR100, ERR25, compile_block::erroroffset, FALSE, get_branchlength(), LOOKBEHIND_MAX, compile_block::max_lookbehind, compile_block::max_varlookbehind, META_ALT, META_CODE, offset, PCRE2_SIZE, PCRE2_UNSET, READPLUSOFFSET, SIZEOFFSET, and TRUE.
Referenced by check_lookbehinds(), and get_branchlength().
◆ alascount ◆ alasmeta Initial value:= {
{ 3, 0x80230000u },
{ 3, 0x80250000u },
{ 5, 0x80270000u },
{ 5, 0x80280000u },
{ 3, 0x80240000u },
{ 3, 0x80260000u },
{ 18, 0x80230000u },
{ 19, 0x80250000u },
{ 29, 0x80270000u },
{ 30, 0x80280000u },
{ 18, 0x80240000u },
{ 19, 0x80260000u },
{ 6, 0x80020000u },
{ 2, 0x80220000u },
{ 3, 0x8fff0000u },
{ 10, 0x80220000u },
{ 17, 0x8fff0000u }
}
Definition at line 665 of file pcre2_compile.c.
Referenced by parse_regex().
◆ alasnames Initial value:=
"pla\0"
"plb\0"
"napla\0"
"naplb\0"
"nla\0"
"nlb\0"
"positive_lookahead\0"
"positive_lookbehind\0"
"non_atomic_positive_lookahead\0"
"non_atomic_positive_lookbehind\0"
"negative_lookahead\0"
"negative_lookbehind\0"
"atomic\0"
"sr\0"
"asr\0"
"script_run\0"
"atomic_script_run"
Definition at line 646 of file pcre2_compile.c.
Referenced by parse_regex().
◆ chartypeoffset ◆ escapes ◆ meta_extra_lengths unsigned char meta_extra_lengths[] static ◆ opcode_possessify ◆ posix_class_maps Initial value:= {
160 , 64 , -2,
128 , -1, 0,
96 , -1, 0,
160 , -1, 2,
224 , 288 , 0,
0 , -1, 1,
288 , -1, 0,
64 , -1, 0,
192 , -1, 0,
224 , -1, 0,
256 , -1, 0,
0 , -1, 0,
160 , -1, 0,
32 , -1, 0
}
Definition at line 725 of file pcre2_compile.c.
Referenced by compile_branch().
◆ posix_name_lengths Initial value:= {
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 6, 0 }
Definition at line 706 of file pcre2_compile.c.
Referenced by check_posix_name().
◆ posix_names Initial value:=
"alpha\0" "lower\0" "upper\0" "alnum\0"
"ascii\0" "blank\0" "cntrl\0" "digit\0"
"graph\0" "print\0" "punct\0" "space\0"
"word\0" "xdigit"
Definition at line 700 of file pcre2_compile.c.
Referenced by check_posix_name().
◆ pso_list Initial value:= {
}
#define PCRE2_BSR_ANYCRLF
#define PCRE2_NEWLINE_ANYCRLF
#define PCRE2_NO_DOTSTAR_ANCHOR
#define PCRE2_NEWLINE_CRLF
#define PCRE2_NEWLINE_NUL
#define PCRE2_BSR_UNICODE
#define PCRE2_NO_START_OPTIMIZE
#define PCRE2_NEWLINE_ANY
Definition at line 837 of file pcre2_compile.c.
Referenced by pcre2_compile().
◆ verbcount ◆ verbnames Initial value:=
"\0"
"MARK\0"
"ACCEPT\0"
"F\0"
"FAIL\0"
"COMMIT\0"
"PRUNE\0"
"SKIP\0"
"THEN"
Definition at line 608 of file pcre2_compile.c.
Referenced by parse_regex().
◆ verbops ◆ verbs Initial value:= {
{ 0, 0x80290000u , +1 },
{ 4, 0x80290000u , +1 },
{ 6, 0x802a0000u , -1 },
{ 1, 0x802b0000u , -1 },
{ 4, 0x802b0000u , -1 },
{ 6, 0x802c0000u , 0 },
{ 5, 0x802e0000u , 0 },
{ 4, 0x80300000u , 0 },
{ 4, 0x80320000u , 0 }
}
Definition at line 619 of file pcre2_compile.c.
Referenced by parse_regex().
◆ xdigitabRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4