#include <AbandonCompile>
#include <ctype.h>
#include <limits.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "pcre2.h"
#include "pcre2_ucp.h"
Go to the source code of this file.
Go to the SVN repository for this file.
#define FALSE 0 #define TRUE 1 #define PCRE2_KEEP_UNINITIALIZED #define PCRE2_EXP_DECL extern PCRE2_EXPORT #define PCRE2_EXP_DEFN PCRE2_EXP_DECL #define INT64_OR_DOUBLE double #define PRIV(name) _pcre2_##name #define memmove(a, b, c) PRIV(memmove)(a, b, c) #define NOTACHAR 0xffffffff #define MAX_UTF_CODE_POINT 0x10ffff #define COMPILE_ERROR_BASE 100 #define START_FRAMES_SIZE 20480 #define DFA_START_RWS_SIZE 30720 #define BSR_DEFAULT PCRE2_BSR_UNICODE #define HASUTF8EXTRALEN(c) ((c) >= 0xc0) #define GETUTF8(c, eptr) #define GETUTF8INC(c, eptr) #define GETUTF8LEN(c, eptr, len) #define HSPACE_LIST #define HSPACE_MULTIBYTE_CASES #define HSPACE_BYTE_CASES #define HSPACE_CASES #define VSPACE_LIST CHAR_LF, CHAR_VT, CHAR_FF, CHAR_CR, CHAR_NEL, 0x2028, 0x2029, NOTACHAR #define VSPACE_MULTIBYTE_CASES #define VSPACE_BYTE_CASES #define VSPACE_CASES #define NLTYPE_FIXED 0 /* Newline is a fixed length string */ #define NLTYPE_ANY 1 /* Newline is any Unicode line ending */ #define NLTYPE_ANYCRLF 2 /* Newline is CR, LF, or CRLF */ #define IS_NEWLINE(p) #define WAS_NEWLINE(p) #define PCRE2_MODE8 0x00000001 /* compiled in 8 bit mode */ #define PCRE2_MODE16 0x00000002 /* compiled in 16 bit mode */ #define PCRE2_MODE32 0x00000004 /* compiled in 32 bit mode */ #define PCRE2_FIRSTSET 0x00000010 /* first_code unit is set */ #define PCRE2_FIRSTCASELESS 0x00000020 /* caseless first code unit */ #define PCRE2_FIRSTMAPSET 0x00000040 /* bitmap of first code units is set */ #define PCRE2_LASTSET 0x00000080 /* last code unit is set */ #define PCRE2_LASTCASELESS 0x00000100 /* caseless last code unit */ #define PCRE2_STARTLINE 0x00000200 /* start after \n for multiline */ #define PCRE2_JCHANGED 0x00000400 /* j option used in pattern */ #define PCRE2_HASCRORLF 0x00000800 /* explicit \r or \n in pattern */ #define PCRE2_HASTHEN 0x00001000 /* pattern contains (*THEN) */ #define PCRE2_MATCH_EMPTY 0x00002000 /* pattern can match empty string */ #define PCRE2_BSR_SET 0x00004000 /* BSR was set in the pattern */ #define PCRE2_NL_SET 0x00008000 /* newline was set in the pattern */ #define PCRE2_NOTEMPTY_SET 0x00010000 /* (*NOTEMPTY) used ) keep */ #define PCRE2_NE_ATST_SET 0x00020000 /* (*NOTEMPTY_ATSTART) used) together */ #define PCRE2_DEREF_TABLES 0x00040000 /* release character tables */ #define PCRE2_NOJIT 0x00080000 /* (*NOJIT) used */ #define PCRE2_HASBKPORX 0x00100000 /* contains \P, \p, or \X */ #define PCRE2_DUPCAPUSED 0x00200000 /* contains (?| */ #define PCRE2_HASBKC 0x00400000 /* contains \C */ #define PCRE2_HASACCEPT 0x00800000 /* contains (*ACCEPT) */ #define PCRE2_MODE_MASK (PCRE2_MODE8 | PCRE2_MODE16 | PCRE2_MODE32) #define PCRE2_MD_COPIED_SUBJECT 0x01u #define MAGIC_NUMBER 0x50435245UL /* 'PCRE' */ #define REQ_CU_MAX 2000 #define cbit_space 0 /* [:space:] or \s */ #define cbit_xdigit 32 /* [:xdigit:] */ #define cbit_digit 64 /* [:digit:] or \d */ #define cbit_upper 96 /* [:upper:] */ #define cbit_lower 128 /* [:lower:] */ #define cbit_word 160 /* [:word:] or \w */ #define cbit_graph 192 /* [:graph:] */ #define cbit_print 224 /* [:print:] */ #define cbit_punct 256 /* [:punct:] */ #define cbit_cntrl 288 /* [:cntrl:] */ #define cbit_length 320 /* Length of the cbits table */ #define ctype_space 0x01 #define ctype_letter 0x02 #define ctype_lcletter 0x04 #define ctype_digit 0x08 #define ctype_word 0x10 /* alphanumeric or '_' */ #define lcc_offset 0 /* Lower case */ #define fcc_offset 256 /* Flip case */ #define cbits_offset 512 /* Character classes */ #define ctypes_offset (cbits_offset + cbit_length) /* Character types */ #define TABLES_LENGTH (ctypes_offset + 256) #define CHAR_LF '\n' #define CHAR_NL CHAR_LF #define CHAR_NEL ((unsigned char)'\x85') #define CHAR_ESC '\033' #define CHAR_DEL '\177' #define CHAR_NBSP ((unsigned char)'\xa0') #define STR_LF "\n" #define STR_NL STR_LF #define STR_NEL "\x85" #define STR_ESC "\033" #define STR_DEL "\177" #define CHAR_NUL '\0' #define CHAR_HT '\t' #define CHAR_VT '\v' #define CHAR_FF '\f' #define CHAR_CR '\r' #define CHAR_BS '\b' #define CHAR_BEL '\a' #define CHAR_SPACE ' ' #define CHAR_EXCLAMATION_MARK '!' #define CHAR_QUOTATION_MARK '"' #define CHAR_NUMBER_SIGN '#' #define CHAR_DOLLAR_SIGN '$' #define CHAR_PERCENT_SIGN '%' #define CHAR_AMPERSAND '&' #define CHAR_APOSTROPHE '\'' #define CHAR_LEFT_PARENTHESIS '(' #define CHAR_RIGHT_PARENTHESIS ')' #define CHAR_ASTERISK '*' #define CHAR_PLUS '+' #define CHAR_COMMA ',' #define CHAR_MINUS '-' #define CHAR_DOT '.' #define CHAR_SLASH '/' #define CHAR_0 '0' #define CHAR_1 '1' #define CHAR_2 '2' #define CHAR_3 '3' #define CHAR_4 '4' #define CHAR_5 '5' #define CHAR_6 '6' #define CHAR_7 '7' #define CHAR_8 '8' #define CHAR_9 '9' #define CHAR_COLON ':' #define CHAR_SEMICOLON ';' #define CHAR_LESS_THAN_SIGN '<' #define CHAR_EQUALS_SIGN '=' #define CHAR_GREATER_THAN_SIGN '>' #define CHAR_QUESTION_MARK '?' #define CHAR_COMMERCIAL_AT '@' #define CHAR_A 'A' #define CHAR_B 'B' #define CHAR_C 'C' #define CHAR_D 'D' #define CHAR_E 'E' #define CHAR_F 'F' #define CHAR_G 'G' #define CHAR_H 'H' #define CHAR_I 'I' #define CHAR_J 'J' #define CHAR_K 'K' #define CHAR_L 'L' #define CHAR_M 'M' #define CHAR_N 'N' #define CHAR_O 'O' #define CHAR_P 'P' #define CHAR_Q 'Q' #define CHAR_R 'R' #define CHAR_S 'S' #define CHAR_T 'T' #define CHAR_U 'U' #define CHAR_V 'V' #define CHAR_W 'W' #define CHAR_X 'X' #define CHAR_Y 'Y' #define CHAR_Z 'Z' #define CHAR_LEFT_SQUARE_BRACKET '[' #define CHAR_BACKSLASH '\\' #define CHAR_RIGHT_SQUARE_BRACKET ']' #define CHAR_CIRCUMFLEX_ACCENT '^' #define CHAR_UNDERSCORE '_' #define CHAR_GRAVE_ACCENT '`' #define CHAR_a 'a' #define CHAR_b 'b' #define CHAR_c 'c' #define CHAR_d 'd' #define CHAR_e 'e' #define CHAR_f 'f' #define CHAR_g 'g' #define CHAR_h 'h' #define CHAR_i 'i' #define CHAR_j 'j' #define CHAR_k 'k' #define CHAR_l 'l' #define CHAR_m 'm' #define CHAR_n 'n' #define CHAR_o 'o' #define CHAR_p 'p' #define CHAR_q 'q' #define CHAR_r 'r' #define CHAR_s 's' #define CHAR_t 't' #define CHAR_u 'u' #define CHAR_v 'v' #define CHAR_w 'w' #define CHAR_x 'x' #define CHAR_y 'y' #define CHAR_z 'z' #define CHAR_LEFT_CURLY_BRACKET '{' #define CHAR_VERTICAL_LINE '|' #define CHAR_RIGHT_CURLY_BRACKET '}' #define CHAR_TILDE '~' #define STR_HT "\t" #define STR_VT "\v" #define STR_FF "\f" #define STR_CR "\r" #define STR_BS "\b" #define STR_BEL "\a" #define STR_SPACE " " #define STR_EXCLAMATION_MARK "!" #define STR_QUOTATION_MARK "\"" #define STR_NUMBER_SIGN "#" #define STR_DOLLAR_SIGN "$" #define STR_PERCENT_SIGN "%" #define STR_AMPERSAND "&" #define STR_APOSTROPHE "'" #define STR_LEFT_PARENTHESIS "(" #define STR_RIGHT_PARENTHESIS ")" #define STR_ASTERISK "*" #define STR_PLUS "+" #define STR_COMMA "," #define STR_MINUS "-" #define STR_DOT "." #define STR_SLASH "/" #define STR_0 "0" #define STR_1 "1" #define STR_2 "2" #define STR_3 "3" #define STR_4 "4" #define STR_5 "5" #define STR_6 "6" #define STR_7 "7" #define STR_8 "8" #define STR_9 "9" #define STR_COLON ":" #define STR_SEMICOLON ";" #define STR_LESS_THAN_SIGN "<" #define STR_EQUALS_SIGN "=" #define STR_GREATER_THAN_SIGN ">" #define STR_QUESTION_MARK "?" #define STR_COMMERCIAL_AT "@" #define STR_A "A" #define STR_B "B" #define STR_C "C" #define STR_D "D" #define STR_E "E" #define STR_F "F" #define STR_G "G" #define STR_H "H" #define STR_I "I" #define STR_J "J" #define STR_K "K" #define STR_L "L" #define STR_M "M" #define STR_N "N" #define STR_O "O" #define STR_P "P" #define STR_Q "Q" #define STR_R "R" #define STR_S "S" #define STR_T "T" #define STR_U "U" #define STR_V "V" #define STR_W "W" #define STR_X "X" #define STR_Y "Y" #define STR_Z "Z" #define STR_LEFT_SQUARE_BRACKET "[" #define STR_BACKSLASH "\\" #define STR_RIGHT_SQUARE_BRACKET "]" #define STR_CIRCUMFLEX_ACCENT "^" #define STR_UNDERSCORE "_" #define STR_GRAVE_ACCENT "`" #define STR_a "a" #define STR_b "b" #define STR_c "c" #define STR_d "d" #define STR_e "e" #define STR_f "f" #define STR_g "g" #define STR_h "h" #define STR_i "i" #define STR_j "j" #define STR_k "k" #define STR_l "l" #define STR_m "m" #define STR_n "n" #define STR_o "o" #define STR_p "p" #define STR_q "q" #define STR_r "r" #define STR_s "s" #define STR_t "t" #define STR_u "u" #define STR_v "v" #define STR_w "w" #define STR_x "x" #define STR_y "y" #define STR_z "z" #define STR_LEFT_CURLY_BRACKET "{" #define STR_VERTICAL_LINE "|" #define STR_RIGHT_CURLY_BRACKET "}" #define STR_TILDE "~" #define STRING_ACCEPT0 "ACCEPT\0" #define STRING_COMMIT0 "COMMIT\0" #define STRING_F0 "F\0" #define STRING_FAIL0 "FAIL\0" #define STRING_MARK0 "MARK\0" #define STRING_PRUNE0 "PRUNE\0" #define STRING_SKIP0 "SKIP\0" #define STRING_THEN "THEN" #define STRING_atomic0 "atomic\0" #define STRING_pla0 "pla\0" #define STRING_plb0 "plb\0" #define STRING_napla0 "napla\0" #define STRING_naplb0 "naplb\0" #define STRING_nla0 "nla\0" #define STRING_nlb0 "nlb\0" #define STRING_sr0 "sr\0" #define STRING_asr0 "asr\0" #define STRING_positive_lookahead0 "positive_lookahead\0" #define STRING_positive_lookbehind0 "positive_lookbehind\0" #define STRING_non_atomic_positive_lookahead0 "non_atomic_positive_lookahead\0" #define STRING_non_atomic_positive_lookbehind0 "non_atomic_positive_lookbehind\0" #define STRING_negative_lookahead0 "negative_lookahead\0" #define STRING_negative_lookbehind0 "negative_lookbehind\0" #define STRING_script_run0 "script_run\0" #define STRING_atomic_script_run "atomic_script_run" #define STRING_alpha0 "alpha\0" #define STRING_lower0 "lower\0" #define STRING_upper0 "upper\0" #define STRING_alnum0 "alnum\0" #define STRING_ascii0 "ascii\0" #define STRING_blank0 "blank\0" #define STRING_cntrl0 "cntrl\0" #define STRING_digit0 "digit\0" #define STRING_graph0 "graph\0" #define STRING_print0 "print\0" #define STRING_punct0 "punct\0" #define STRING_space0 "space\0" #define STRING_word0 "word\0" #define STRING_xdigit "xdigit" #define STRING_DEFINE "DEFINE" #define STRING_VERSION "VERSION" #define STRING_WEIRD_STARTWORD "[:<:]]" #define STRING_WEIRD_ENDWORD "[:>:]]" #define STRING_CR_RIGHTPAR "CR)" #define STRING_LF_RIGHTPAR "LF)" #define STRING_CRLF_RIGHTPAR "CRLF)" #define STRING_ANY_RIGHTPAR "ANY)" #define STRING_ANYCRLF_RIGHTPAR "ANYCRLF)" #define STRING_NUL_RIGHTPAR "NUL)" #define STRING_BSR_ANYCRLF_RIGHTPAR "BSR_ANYCRLF)" #define STRING_BSR_UNICODE_RIGHTPAR "BSR_UNICODE)" #define STRING_UTF8_RIGHTPAR "UTF8)" #define STRING_UTF16_RIGHTPAR "UTF16)" #define STRING_UTF32_RIGHTPAR "UTF32)" #define STRING_UTF_RIGHTPAR "UTF)" #define STRING_UCP_RIGHTPAR "UCP)" #define STRING_NO_AUTO_POSSESS_RIGHTPAR "NO_AUTO_POSSESS)" #define STRING_NO_DOTSTAR_ANCHOR_RIGHTPAR "NO_DOTSTAR_ANCHOR)" #define STRING_NO_JIT_RIGHTPAR "NO_JIT)" #define STRING_NO_START_OPT_RIGHTPAR "NO_START_OPT)" #define STRING_NOTEMPTY_RIGHTPAR "NOTEMPTY)" #define STRING_NOTEMPTY_ATSTART_RIGHTPAR "NOTEMPTY_ATSTART)" #define STRING_LIMIT_HEAP_EQ "LIMIT_HEAP=" #define STRING_LIMIT_MATCH_EQ "LIMIT_MATCH=" #define STRING_LIMIT_DEPTH_EQ "LIMIT_DEPTH=" #define STRING_LIMIT_RECURSION_EQ "LIMIT_RECURSION=" #define STRING_MARK "MARK" #define STRING_bc "bc" #define STRING_bidiclass "bidiclass" #define STRING_sc "sc" #define STRING_script "script" #define STRING_scriptextensions "scriptextensions" #define STRING_scx "scx" #define PT_ANY 0 /* Any property - matches all chars */ #define PT_LAMP 1 /* L& - the union of Lu, Ll, Lt */ #define PT_GC 2 /* Specified general characteristic (e.g. L) */ #define PT_PC 3 /* Specified particular characteristic (e.g. Lu) */ #define PT_SC 4 /* Script only (e.g. Han) */ #define PT_SCX 5 /* Script extensions (includes SC) */ #define PT_ALNUM 6 /* Alphanumeric - the union of L and N */ #define PT_SPACE 7 /* Perl space - general category Z plus 9,10,12,13 */ #define PT_PXSPACE 8 /* POSIX space - Z plus 9,10,11,12,13 */ #define PT_WORD 9 /* Word - L, N, Mn, or Pc */ #define PT_CLIST 10 /* Pseudo-property: match character list */ #define PT_UCNC 11 /* Universal Character nameable character */ #define PT_BIDICL 12 /* Specified bidi class */ #define PT_BOOL 13 /* Boolean property */ #define PT_TABSIZE 14 /* Size of square table for autopossessify tests */ #define PT_PXGRAPH 14 /* [:graph:] - characters that mark the paper */ #define PT_PXPRINT 15 /* [:print:] - [:graph:] plus non-control spaces */ #define PT_PXPUNCT 16 /* [:punct:] - punctuation characters */ #define PT_PXXDIGIT 17 /* [:xdigit:] - hex digits */ #define PT_NOTSCRIPT 255 #define XCL_NOT 0x01 /* Flag: this is a negative class */ #define XCL_MAP 0x02 /* Flag: a 32-byte map is present */ #define XCL_HASPROP 0x04 /* Flag: property checks are present. */ #define XCL_END 0 /* Marks end of individual items */ #define XCL_SINGLE 1 /* Single item (one multibyte char) follows */ #define XCL_RANGE 2 /* A range (two multibyte chars) follows */ #define XCL_PROP 3 /* Unicode property (2-byte property code follows) */ #define XCL_NOTPROP 4 /* Unicode inverted property (ditto) */ #define FIRST_AUTOTAB_OP OP_NOT_DIGIT #define LAST_AUTOTAB_LEFT_OP OP_EXTUNI #define LAST_AUTOTAB_RIGHT_OP OP_DOLLM #define OP_NAME_LIST #define OP_LENGTHS #define RREF_ANY 0xffff #define UCD_BLOCK_SIZE 128 #define REAL_GET_UCD(ch) #define GET_UCD(ch) REAL_GET_UCD(ch) #define UCD_SCRIPTX_MASK 0x3ff #define UCD_BIDICLASS_SHIFT 11 #define UCD_BPROPS_MASK 0xfff #define UCD_SCRIPTX_PROP(prop) ((prop)->scriptx_bidiclass & UCD_SCRIPTX_MASK) #define UCD_BIDICLASS_PROP(prop) ((prop)->scriptx_bidiclass >> UCD_BIDICLASS_SHIFT) #define UCD_BPROPS_PROP(prop) ((prop)->bprops & UCD_BPROPS_MASK) #define UCD_CHARTYPE(ch) GET_UCD(ch)->chartype #define UCD_SCRIPT(ch) GET_UCD(ch)->script #define UCD_CATEGORY(ch) PRIV(ucp_gentype)[UCD_CHARTYPE(ch)] #define UCD_GRAPHBREAK(ch) GET_UCD(ch)->gbprop #define UCD_CASESET(ch) GET_UCD(ch)->caseset #define UCD_OTHERCASE(ch) ((uint32_t)((int)ch + (int)(GET_UCD(ch)->other_case))) #define UCD_SCRIPTX(ch) UCD_SCRIPTX_PROP(GET_UCD(ch)) #define UCD_BPROPS(ch) UCD_BPROPS_PROP(GET_UCD(ch)) #define UCD_BIDICLASS(ch) UCD_BIDICLASS_PROP(GET_UCD(ch)) #define MAPBIT(map, n) ((map)[(n)/32]&(1u<<((n)%32))) #define MAPSET(map, n) ((map)[(n)/32]|=(1u<<((n)%32))) enum { PCRE2_MATCHEDBY_INTERPRETER , PCRE2_MATCHEDBY_DFA_INTERPRETER , PCRE2_MATCHEDBY_JIT } enum {Definition at line 608 of file pcre2_internal.h.
◆ CHAR_0 ◆ CHAR_1 ◆ CHAR_2 ◆ CHAR_3 ◆ CHAR_4 ◆ CHAR_5 ◆ CHAR_6 ◆ CHAR_7 ◆ CHAR_8 ◆ CHAR_9 ◆ CHAR_A ◆ CHAR_a ◆ CHAR_AMPERSAND ◆ CHAR_APOSTROPHE ◆ CHAR_ASTERISK ◆ CHAR_B ◆ CHAR_b ◆ CHAR_BACKSLASH ◆ CHAR_BEL ◆ CHAR_BS ◆ CHAR_C ◆ CHAR_c ◆ CHAR_CIRCUMFLEX_ACCENT ◆ CHAR_COLON ◆ CHAR_COMMA ◆ CHAR_COMMERCIAL_AT ◆ CHAR_CR ◆ CHAR_D ◆ CHAR_d ◆ CHAR_DEL ◆ CHAR_DOLLAR_SIGN ◆ CHAR_DOT ◆ CHAR_E ◆ CHAR_e ◆ CHAR_EQUALS_SIGN ◆ CHAR_ESC ◆ CHAR_EXCLAMATION_MARK ◆ CHAR_F ◆ CHAR_f ◆ CHAR_FF ◆ CHAR_G ◆ CHAR_g ◆ CHAR_GRAVE_ACCENT ◆ CHAR_GREATER_THAN_SIGN ◆ CHAR_H ◆ CHAR_h ◆ CHAR_HT ◆ CHAR_I ◆ CHAR_i ◆ CHAR_J ◆ CHAR_j ◆ CHAR_K ◆ CHAR_k ◆ CHAR_L ◆ CHAR_l ◆ CHAR_LEFT_CURLY_BRACKET ◆ CHAR_LEFT_PARENTHESIS ◆ CHAR_LEFT_SQUARE_BRACKET ◆ CHAR_LESS_THAN_SIGN ◆ CHAR_LF ◆ CHAR_M ◆ CHAR_m ◆ CHAR_MINUS ◆ CHAR_N ◆ CHAR_n ◆ CHAR_NBSP ◆ CHAR_NEL ◆ CHAR_NL ◆ CHAR_NUL ◆ CHAR_NUMBER_SIGN ◆ CHAR_O ◆ CHAR_o ◆ CHAR_P ◆ CHAR_p ◆ CHAR_PERCENT_SIGN ◆ CHAR_PLUS ◆ CHAR_Q ◆ CHAR_q ◆ CHAR_QUESTION_MARK ◆ CHAR_QUOTATION_MARK ◆ CHAR_R ◆ CHAR_r ◆ CHAR_RIGHT_CURLY_BRACKET ◆ CHAR_RIGHT_PARENTHESIS ◆ CHAR_RIGHT_SQUARE_BRACKET ◆ CHAR_S ◆ CHAR_s ◆ CHAR_SEMICOLON ◆ CHAR_SLASH ◆ CHAR_SPACE ◆ CHAR_T ◆ CHAR_t ◆ CHAR_TILDE ◆ CHAR_U ◆ CHAR_u ◆ CHAR_UNDERSCORE ◆ CHAR_V ◆ CHAR_v ◆ CHAR_VERTICAL_LINE ◆ CHAR_VT ◆ CHAR_W ◆ CHAR_w ◆ CHAR_X ◆ CHAR_x ◆ CHAR_Y ◆ CHAR_y ◆ CHAR_Z ◆ CHAR_z ◆ COMPILE_ERROR_BASE ◆ ctype_digit ◆ ctype_lcletter ◆ ctype_letter ◆ ctype_space ◆ ctype_word ◆ ctypes_offset ◆ DFA_START_RWS_SIZE ◆ FALSE ◆ fcc_offset ◆ FIRST_AUTOTAB_OP ◆ GET_UCD ◆ GETUTF8 #define GETUTF8 ( c, eptr ) Value:{ \
if ((c & 0x20u) == 0) \
c = ((c & 0x1fu) << 6) | (eptr[1] & 0x3fu); \
else if ((c & 0x10u) == 0) \
c = ((c & 0x0fu) << 12) | ((eptr[1] & 0x3fu) << 6) | (eptr[2] & 0x3fu); \
else if ((c & 0x08u) == 0) \
c = ((c & 0x07u) << 18) | ((eptr[1] & 0x3fu) << 12) | \
((eptr[2] & 0x3fu) << 6) | (eptr[3] & 0x3fu); \
else if ((c & 0x04u) == 0) \
c = ((c & 0x03u) << 24) | ((eptr[1] & 0x3fu) << 18) | \
((eptr[2] & 0x3fu) << 12) | ((eptr[3] & 0x3fu) << 6) | \
(eptr[4] & 0x3fu); \
else \
c = ((c & 0x01u) << 30) | ((eptr[1] & 0x3fu) << 24) | \
((eptr[2] & 0x3fu) << 18) | ((eptr[3] & 0x3fu) << 12) | \
((eptr[4] & 0x3fu) << 6) | (eptr[5] & 0x3fu); \
}
Definition at line 283 of file pcre2_internal.h.
◆ GETUTF8INC #define GETUTF8INC ( c, eptr ) Value:{ \
if ((c & 0x20u) == 0) \
c = ((c & 0x1fu) << 6) | (*eptr++ & 0x3fu); \
else if ((c & 0x10u) == 0) \
{ \
c = ((c & 0x0fu) << 12) | ((*eptr & 0x3fu) << 6) | (eptr[1] & 0x3fu); \
eptr += 2; \
} \
else if ((c & 0x08u) == 0) \
{ \
c = ((c & 0x07u) << 18) | ((*eptr & 0x3fu) << 12) | \
((eptr[1] & 0x3fu) << 6) | (eptr[2] & 0x3fu); \
eptr += 3; \
} \
else if ((c & 0x04u) == 0) \
{ \
c = ((c & 0x03u) << 24) | ((*eptr & 0x3fu) << 18) | \
((eptr[1] & 0x3fu) << 12) | ((eptr[2] & 0x3fu) << 6) | \
(eptr[3] & 0x3fu); \
eptr += 4; \
} \
else \
{ \
c = ((c & 0x01u) << 30) | ((*eptr & 0x3fu) << 24) | \
((eptr[1] & 0x3fu) << 18) | ((eptr[2] & 0x3fu) << 12) | \
((eptr[3] & 0x3fu) << 6) | (eptr[4] & 0x3fu); \
eptr += 5; \
} \
}
Definition at line 305 of file pcre2_internal.h.
◆ GETUTF8LEN ◆ HASUTF8EXTRALEN ◆ HSPACE_BYTE_CASES #define HSPACE_BYTE_CASES ◆ HSPACE_CASES Value:HSPACE_MULTIBYTE_CASES
#define HSPACE_BYTE_CASES
Definition at line 429 of file pcre2_internal.h.
◆ HSPACE_LIST Value:0x1680, 0x180e, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, \
0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x202f, 0x205f, 0x3000, \
NOTACHAR
Definition at line 400 of file pcre2_internal.h.
◆ HSPACE_MULTIBYTE_CASES #define HSPACE_MULTIBYTE_CASES Value:case 0x1680: \
case 0x180e: \
case 0x2000: \
case 0x2001: \
case 0x2002: \
case 0x2003: \
case 0x2004: \
case 0x2005: \
case 0x2006: \
case 0x2007: \
case 0x2008: \
case 0x2009: \
case 0x200A: \
case 0x202f: \
case 0x205f: \
case 0x3000
Definition at line 406 of file pcre2_internal.h.
◆ INT64_OR_DOUBLE ◆ IS_NEWLINE ◆ LAST_AUTOTAB_LEFT_OP ◆ LAST_AUTOTAB_RIGHT_OP ◆ lcc_offset ◆ MAGIC_NUMBER #define MAGIC_NUMBER 0x50435245UL /* 'PCRE' */Definition at line 564 of file pcre2_internal.h.
◆ MAPBIT ◆ MAPSET ◆ MAX_UTF_CODE_POINT ◆ memmove ◆ NLTYPE_ANY #define NLTYPE_ANY 1 /* Newline is any Unicode line ending */Definition at line 491 of file pcre2_internal.h.
◆ NLTYPE_ANYCRLF ◆ NLTYPE_FIXED ◆ NOTACHAR ◆ OP_LENGTHS ◆ OP_NAME_LIST ◆ PCRE2_BSR_SET ◆ PCRE2_DEREF_TABLES #define PCRE2_DEREF_TABLES 0x00040000 /* release character tables */Definition at line 543 of file pcre2_internal.h.
◆ PCRE2_DUPCAPUSED #define PCRE2_DUPCAPUSED 0x00200000 /* contains (?| */Definition at line 546 of file pcre2_internal.h.
◆ PCRE2_EXP_DECL ◆ PCRE2_EXP_DEFN ◆ PCRE2_FIRSTCASELESS ◆ PCRE2_FIRSTMAPSET ◆ PCRE2_FIRSTSET #define PCRE2_FIRSTSET 0x00000010 /* first_code unit is set */Definition at line 529 of file pcre2_internal.h.
◆ PCRE2_HASACCEPT #define PCRE2_HASACCEPT 0x00800000 /* contains (*ACCEPT) */Definition at line 548 of file pcre2_internal.h.
◆ PCRE2_HASBKC ◆ PCRE2_HASBKPORX #define PCRE2_HASBKPORX 0x00100000 /* contains \P, \p, or \X */Definition at line 545 of file pcre2_internal.h.
◆ PCRE2_HASCRORLF ◆ PCRE2_HASTHEN #define PCRE2_HASTHEN 0x00001000 /* pattern contains (*THEN) */Definition at line 537 of file pcre2_internal.h.
◆ PCRE2_JCHANGED ◆ PCRE2_KEEP_UNINITIALIZED ◆ PCRE2_LASTCASELESS ◆ PCRE2_LASTSET ◆ PCRE2_MATCH_EMPTY ◆ PCRE2_MD_COPIED_SUBJECT ◆ PCRE2_MODE16 ◆ PCRE2_MODE32 ◆ PCRE2_MODE8 ◆ PCRE2_MODE_MASK ◆ PCRE2_NE_ATST_SET #define PCRE2_NE_ATST_SET 0x00020000 /* (*NOTEMPTY_ATSTART) used) together */Definition at line 542 of file pcre2_internal.h.
◆ PCRE2_NL_SET ◆ PCRE2_NOJIT #define PCRE2_NOJIT 0x00080000 /* (*NOJIT) used */Definition at line 544 of file pcre2_internal.h.
◆ PCRE2_NOTEMPTY_SET #define PCRE2_NOTEMPTY_SET 0x00010000 /* (*NOTEMPTY) used ) keep */Definition at line 541 of file pcre2_internal.h.
◆ PCRE2_STARTLINE ◆ PRIV ◆ PT_ALNUM #define PT_ALNUM 6 /* Alphanumeric - the union of L and N */Definition at line 1299 of file pcre2_internal.h.
◆ PT_ANY ◆ PT_BIDICL ◆ PT_BOOL ◆ PT_CLIST ◆ PT_GC #define PT_GC 2 /* Specified general characteristic (e.g. L) */Definition at line 1295 of file pcre2_internal.h.
◆ PT_LAMP #define PT_LAMP 1 /* L& - the union of Lu, Ll, Lt */Definition at line 1294 of file pcre2_internal.h.
◆ PT_NOTSCRIPT ◆ PT_PC #define PT_PC 3 /* Specified particular characteristic (e.g. Lu) */Definition at line 1296 of file pcre2_internal.h.
◆ PT_PXGRAPH #define PT_PXGRAPH 14 /* [:graph:] - characters that mark the paper */Definition at line 1315 of file pcre2_internal.h.
◆ PT_PXPRINT #define PT_PXPRINT 15 /* [:print:] - [:graph:] plus non-control spaces */Definition at line 1316 of file pcre2_internal.h.
◆ PT_PXPUNCT #define PT_PXPUNCT 16 /* [:punct:] - punctuation characters */Definition at line 1317 of file pcre2_internal.h.
◆ PT_PXSPACE ◆ PT_PXXDIGIT ◆ PT_SC ◆ PT_SCX #define PT_SCX 5 /* Script extensions (includes SC) */Definition at line 1298 of file pcre2_internal.h.
◆ PT_SPACE ◆ PT_TABSIZE ◆ PT_UCNC #define PT_UCNC 11 /* Universal Character nameable character */Definition at line 1304 of file pcre2_internal.h.
◆ PT_WORD ◆ REAL_GET_UCD #define REAL_GET_UCD ( ch ) Value:unsigned int
A callback function used to compare two keys in a database.
Definition at line 1865 of file pcre2_internal.h.
◆ REQ_CU_MAX ◆ RREF_ANY ◆ START_FRAMES_SIZE ◆ STR_0 ◆ STR_1 ◆ STR_2 ◆ STR_3 ◆ STR_4 ◆ STR_5 ◆ STR_6 ◆ STR_7 ◆ STR_8 ◆ STR_9 ◆ STR_A ◆ STR_a ◆ STR_AMPERSAND ◆ STR_APOSTROPHE ◆ STR_ASTERISK ◆ STR_B ◆ STR_b ◆ STR_BACKSLASH ◆ STR_BEL ◆ STR_BS ◆ STR_C ◆ STR_c ◆ STR_CIRCUMFLEX_ACCENT ◆ STR_COLON ◆ STR_COMMA ◆ STR_COMMERCIAL_AT ◆ STR_CR ◆ STR_D ◆ STR_d ◆ STR_DEL ◆ STR_DOLLAR_SIGN ◆ STR_DOT ◆ STR_E ◆ STR_e ◆ STR_EQUALS_SIGN ◆ STR_ESC ◆ STR_EXCLAMATION_MARK ◆ STR_F ◆ STR_f ◆ STR_FF ◆ STR_G ◆ STR_g ◆ STR_GRAVE_ACCENT ◆ STR_GREATER_THAN_SIGN ◆ STR_H ◆ STR_h ◆ STR_HT ◆ STR_I ◆ STR_i ◆ STR_J ◆ STR_j ◆ STR_K ◆ STR_k ◆ STR_L ◆ STR_l ◆ STR_LEFT_CURLY_BRACKET ◆ STR_LEFT_PARENTHESIS ◆ STR_LEFT_SQUARE_BRACKET ◆ STR_LESS_THAN_SIGN ◆ STR_LF ◆ STR_M ◆ STR_m ◆ STR_MINUS ◆ STR_N ◆ STR_n ◆ STR_NEL ◆ STR_NL ◆ STR_NUMBER_SIGN ◆ STR_O ◆ STR_o ◆ STR_P ◆ STR_p ◆ STR_PERCENT_SIGN ◆ STR_PLUS ◆ STR_Q ◆ STR_q ◆ STR_QUESTION_MARK ◆ STR_QUOTATION_MARK ◆ STR_R ◆ STR_r ◆ STR_RIGHT_CURLY_BRACKET ◆ STR_RIGHT_PARENTHESIS ◆ STR_RIGHT_SQUARE_BRACKET ◆ STR_S ◆ STR_s ◆ STR_SEMICOLON ◆ STR_SLASH ◆ STR_SPACE ◆ STR_T ◆ STR_t ◆ STR_TILDE ◆ STR_U ◆ STR_u ◆ STR_UNDERSCORE ◆ STR_V ◆ STR_v ◆ STR_VERTICAL_LINE ◆ STR_VT ◆ STR_W ◆ STR_w ◆ STR_X ◆ STR_x ◆ STR_Y ◆ STR_y ◆ STR_Z ◆ STR_z ◆ STRING_ACCEPT0 ◆ STRING_alnum0 ◆ STRING_alpha0 ◆ STRING_ANY_RIGHTPAR ◆ STRING_ANYCRLF_RIGHTPAR ◆ STRING_ascii0 ◆ STRING_asr0 ◆ STRING_atomic0 ◆ STRING_atomic_script_run #define STRING_atomic_script_run "atomic_script_run"Definition at line 927 of file pcre2_internal.h.
◆ STRING_bc ◆ STRING_bidiclass ◆ STRING_blank0 ◆ STRING_BSR_ANYCRLF_RIGHTPAR #define STRING_BSR_ANYCRLF_RIGHTPAR "BSR_ANYCRLF)"Definition at line 955 of file pcre2_internal.h.
◆ STRING_BSR_UNICODE_RIGHTPAR #define STRING_BSR_UNICODE_RIGHTPAR "BSR_UNICODE)"Definition at line 956 of file pcre2_internal.h.
◆ STRING_cntrl0 ◆ STRING_COMMIT0 ◆ STRING_CR_RIGHTPAR ◆ STRING_CRLF_RIGHTPAR ◆ STRING_DEFINE ◆ STRING_digit0 ◆ STRING_F0 ◆ STRING_FAIL0 ◆ STRING_graph0 ◆ STRING_LF_RIGHTPAR ◆ STRING_LIMIT_DEPTH_EQ ◆ STRING_LIMIT_HEAP_EQ ◆ STRING_LIMIT_MATCH_EQ ◆ STRING_LIMIT_RECURSION_EQ #define STRING_LIMIT_RECURSION_EQ "LIMIT_RECURSION="Definition at line 971 of file pcre2_internal.h.
◆ STRING_lower0 ◆ STRING_MARK ◆ STRING_MARK0 ◆ STRING_napla0 ◆ STRING_naplb0 ◆ STRING_negative_lookahead0 #define STRING_negative_lookahead0 "negative_lookahead\0"Definition at line 924 of file pcre2_internal.h.
◆ STRING_negative_lookbehind0 #define STRING_negative_lookbehind0 "negative_lookbehind\0"Definition at line 925 of file pcre2_internal.h.
◆ STRING_nla0 ◆ STRING_nlb0 ◆ STRING_NO_AUTO_POSSESS_RIGHTPAR #define STRING_NO_AUTO_POSSESS_RIGHTPAR "NO_AUTO_POSSESS)"Definition at line 962 of file pcre2_internal.h.
◆ STRING_NO_DOTSTAR_ANCHOR_RIGHTPAR #define STRING_NO_DOTSTAR_ANCHOR_RIGHTPAR "NO_DOTSTAR_ANCHOR)"Definition at line 963 of file pcre2_internal.h.
◆ STRING_NO_JIT_RIGHTPAR ◆ STRING_NO_START_OPT_RIGHTPAR #define STRING_NO_START_OPT_RIGHTPAR "NO_START_OPT)"Definition at line 965 of file pcre2_internal.h.
◆ STRING_non_atomic_positive_lookahead0 #define STRING_non_atomic_positive_lookahead0 "non_atomic_positive_lookahead\0"Definition at line 922 of file pcre2_internal.h.
◆ STRING_non_atomic_positive_lookbehind0 #define STRING_non_atomic_positive_lookbehind0 "non_atomic_positive_lookbehind\0"Definition at line 923 of file pcre2_internal.h.
◆ STRING_NOTEMPTY_ATSTART_RIGHTPAR #define STRING_NOTEMPTY_ATSTART_RIGHTPAR "NOTEMPTY_ATSTART)"Definition at line 967 of file pcre2_internal.h.
◆ STRING_NOTEMPTY_RIGHTPAR ◆ STRING_NUL_RIGHTPAR ◆ STRING_pla0 ◆ STRING_plb0 ◆ STRING_positive_lookahead0 #define STRING_positive_lookahead0 "positive_lookahead\0"Definition at line 920 of file pcre2_internal.h.
◆ STRING_positive_lookbehind0 #define STRING_positive_lookbehind0 "positive_lookbehind\0"Definition at line 921 of file pcre2_internal.h.
◆ STRING_print0 ◆ STRING_PRUNE0 ◆ STRING_punct0 ◆ STRING_sc ◆ STRING_script ◆ STRING_script_run0 ◆ STRING_scriptextensions #define STRING_scriptextensions "scriptextensions"Definition at line 978 of file pcre2_internal.h.
◆ STRING_scx ◆ STRING_SKIP0 ◆ STRING_space0 ◆ STRING_sr0 ◆ STRING_THEN ◆ STRING_UCP_RIGHTPAR ◆ STRING_upper0 ◆ STRING_UTF16_RIGHTPAR ◆ STRING_UTF32_RIGHTPAR ◆ STRING_UTF8_RIGHTPAR ◆ STRING_UTF_RIGHTPAR ◆ STRING_VERSION ◆ STRING_WEIRD_ENDWORD ◆ STRING_WEIRD_STARTWORD ◆ STRING_word0 ◆ STRING_xdigit ◆ TABLES_LENGTH ◆ TRUE ◆ UCD_BIDICLASS ◆ UCD_BIDICLASS_PROP ◆ UCD_BIDICLASS_SHIFT ◆ UCD_BLOCK_SIZE ◆ UCD_BPROPS ◆ UCD_BPROPS_MASK ◆ UCD_BPROPS_PROP ◆ UCD_CASESET ◆ UCD_CATEGORY ◆ UCD_CHARTYPE ◆ UCD_GRAPHBREAK ◆ UCD_OTHERCASE ◆ UCD_SCRIPT ◆ UCD_SCRIPTX ◆ UCD_SCRIPTX_MASK ◆ UCD_SCRIPTX_PROP ◆ VSPACE_BYTE_CASES #define VSPACE_BYTE_CASES ◆ VSPACE_CASES Value:VSPACE_MULTIBYTE_CASES
#define VSPACE_BYTE_CASES
Definition at line 447 of file pcre2_internal.h.
◆ VSPACE_LIST ◆ VSPACE_MULTIBYTE_CASES #define VSPACE_MULTIBYTE_CASES ◆ WAS_NEWLINE #define WAS_NEWLINE ( p ) ◆ XCL_END #define XCL_END 0 /* Marks end of individual items */Definition at line 1332 of file pcre2_internal.h.
◆ XCL_HASPROP #define XCL_HASPROP 0x04 /* Flag: property checks are present. */Definition at line 1330 of file pcre2_internal.h.
◆ XCL_MAP ◆ XCL_NOT ◆ XCL_NOTPROP #define XCL_NOTPROP 4 /* Unicode inverted property (ditto) */Definition at line 1336 of file pcre2_internal.h.
◆ XCL_PROP ◆ XCL_RANGE ◆ XCL_SINGLE #define XCL_SINGLE 1 /* Single item (one multibyte char) follows */Definition at line 1333 of file pcre2_internal.h.
◆ BOOL ◆ open_capitem ◆ pcre2_memctl ◆ pcre2_serialized_data ◆ anonymous enum Enumerator PCRE2_MATCHEDBY_INTERPRETER PCRE2_MATCHEDBY_DFA_INTERPRETER PCRE2_MATCHEDBY_JITDefinition at line 554 of file pcre2_internal.h.
◆ anonymous enum Enumerator ESC_A ESC_G ESC_K ESC_B ESC_b ESC_D ESC_d ESC_S ESC_s ESC_W ESC_w ESC_N ESC_dum ESC_C ESC_P ESC_p ESC_R ESC_H ESC_h ESC_V ESC_v ESC_X ESC_Z ESC_z ESC_E ESC_Q ESC_g ESC_k ESC_ubDefinition at line 1361 of file pcre2_internal.h.
◆ anonymous enum Enumerator OP_END OP_SOD OP_SOM OP_SET_SOM OP_NOT_WORD_BOUNDARY OP_WORD_BOUNDARY OP_NOT_DIGIT OP_DIGIT OP_NOT_WHITESPACE OP_WHITESPACE OP_NOT_WORDCHAR OP_WORDCHAR OP_ANY OP_ALLANY OP_ANYBYTE OP_NOTPROP OP_PROP OP_ANYNL OP_NOT_HSPACE OP_HSPACE OP_NOT_VSPACE OP_VSPACE OP_EXTUNI OP_EODN OP_EOD OP_DOLL OP_DOLLM OP_CIRC OP_CIRCM OP_CHAR OP_CHARI OP_NOT OP_NOTI OP_STAR OP_MINSTAR OP_PLUS OP_MINPLUS OP_QUERY OP_MINQUERY OP_UPTO OP_MINUPTO OP_EXACT OP_POSSTAR OP_POSPLUS OP_POSQUERY OP_POSUPTO OP_STARI OP_MINSTARI OP_PLUSI OP_MINPLUSI OP_QUERYI OP_MINQUERYI OP_UPTOI OP_MINUPTOI OP_EXACTI OP_POSSTARI OP_POSPLUSI OP_POSQUERYI OP_POSUPTOI OP_NOTSTAR OP_NOTMINSTAR OP_NOTPLUS OP_NOTMINPLUS OP_NOTQUERY OP_NOTMINQUERY OP_NOTUPTO OP_NOTMINUPTO OP_NOTEXACT OP_NOTPOSSTAR OP_NOTPOSPLUS OP_NOTPOSQUERY OP_NOTPOSUPTO OP_NOTSTARI OP_NOTMINSTARI OP_NOTPLUSI OP_NOTMINPLUSI OP_NOTQUERYI OP_NOTMINQUERYI OP_NOTUPTOI OP_NOTMINUPTOI OP_NOTEXACTI OP_NOTPOSSTARI OP_NOTPOSPLUSI OP_NOTPOSQUERYI OP_NOTPOSUPTOI OP_TYPESTAR OP_TYPEMINSTAR OP_TYPEPLUS OP_TYPEMINPLUS OP_TYPEQUERY OP_TYPEMINQUERY OP_TYPEUPTO OP_TYPEMINUPTO OP_TYPEEXACT OP_TYPEPOSSTAR OP_TYPEPOSPLUS OP_TYPEPOSQUERY OP_TYPEPOSUPTO OP_CRSTAR OP_CRMINSTAR OP_CRPLUS OP_CRMINPLUS OP_CRQUERY OP_CRMINQUERY OP_CRRANGE OP_CRMINRANGE OP_CRPOSSTAR OP_CRPOSPLUS OP_CRPOSQUERY OP_CRPOSRANGE OP_CLASS OP_NCLASS OP_XCLASS OP_REF OP_REFI OP_DNREF OP_DNREFI OP_RECURSE OP_CALLOUT OP_CALLOUT_STR OP_ALT OP_KET OP_KETRMAX OP_KETRMIN OP_KETRPOS OP_REVERSE OP_VREVERSE OP_ASSERT OP_ASSERT_NOT OP_ASSERTBACK OP_ASSERTBACK_NOT OP_ASSERT_NA OP_ASSERTBACK_NA OP_ONCE OP_SCRIPT_RUN OP_BRA OP_BRAPOS OP_CBRA OP_CBRAPOS OP_COND OP_SBRA OP_SBRAPOS OP_SCBRA OP_SCBRAPOS OP_SCOND OP_CREF OP_DNCREF OP_RREF OP_DNRREF OP_FALSE OP_TRUE OP_BRAZERO OP_BRAMINZERO OP_BRAPOSZERO OP_MARK OP_PRUNE OP_PRUNE_ARG OP_SKIP OP_SKIP_ARG OP_THEN OP_THEN_ARG OP_COMMIT OP_COMMIT_ARG OP_FAIL OP_ACCEPT OP_ASSERT_ACCEPT OP_CLOSE OP_SKIPZERO OP_DEFINE OP_NOT_UCP_WORD_BOUNDARY OP_UCP_WORD_BOUNDARY OP_TABLE_LENGTHDefinition at line 1392 of file pcre2_internal.h.
◆ _pcre2_ckd_smul()RetroSearch 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