PCRE2_EXPORT
150 # define PCRE2_EXP_DECL extern PCRE2_EXPORT 152 # ifndef PCRE2_EXP_DEFN 153 # define PCRE2_EXP_DEFN PCRE2_EXP_DECL 172 #ifdef CUSTOM_SUBJECT_PTR 174 #define PCRE2_SPTR CUSTOM_SUBJECT_PTR 182 #if defined INT64_MAX || defined int64_t 183 #define INT64_OR_DOUBLE int64_t 185 #define INT64_OR_DOUBLE double 195 #define PRIV(name) _pcre2_##name 203 #define strlen(s) _strlen(s) 204 #define strncmp(s1,s2,m) _strncmp(s1,s2,m) 205 #define memcmp(s,c,n) _memcmp(s,c,n) 206 #define memcpy(d,s,n) _memcpy(d,s,n) 207 #define memmove(d,s,n) _memmove(d,s,n) 208 #define memset(s,c,n) _memset(s,c,n) 216 #define memmove(a, b, c) PRIV(memmove)(a, b, c) 223 #define NOTACHAR 0xffffffff 227 #define MAX_UTF_CODE_POINT 0x10ffff 239 #define COMPILE_ERROR_BASE 100 248 #define START_FRAMES_SIZE 20480 253 #define DFA_START_RWS_SIZE 30720 258 #define BSR_DEFAULT PCRE2_BSR_ANYCRLF 260 #define BSR_DEFAULT PCRE2_BSR_UNICODE 272 #define HASUTF8EXTRALEN(c) ((c) >= 0xc0) 283 #define GETUTF8(c, eptr) \ 285 if ((c & 0x20u) == 0) \ 286 c = ((c & 0x1fu) << 6) | (eptr[1] & 0x3fu); \ 287 else if ((c & 0x10u) == 0) \ 288 c = ((c & 0x0fu) << 12) | ((eptr[1] & 0x3fu) << 6) | (eptr[2] & 0x3fu); \ 289 else if ((c & 0x08u) == 0) \ 290 c = ((c & 0x07u) << 18) | ((eptr[1] & 0x3fu) << 12) | \ 291 ((eptr[2] & 0x3fu) << 6) | (eptr[3] & 0x3fu); \ 292 else if ((c & 0x04u) == 0) \ 293 c = ((c & 0x03u) << 24) | ((eptr[1] & 0x3fu) << 18) | \ 294 ((eptr[2] & 0x3fu) << 12) | ((eptr[3] & 0x3fu) << 6) | \ 297 c = ((c & 0x01u) << 30) | ((eptr[1] & 0x3fu) << 24) | \ 298 ((eptr[2] & 0x3fu) << 18) | ((eptr[3] & 0x3fu) << 12) | \ 299 ((eptr[4] & 0x3fu) << 6) | (eptr[5] & 0x3fu); \ 305 #define GETUTF8INC(c, eptr) \ 307 if ((c & 0x20u) == 0) \ 308 c = ((c & 0x1fu) << 6) | (*eptr++ & 0x3fu); \ 309 else if ((c & 0x10u) == 0) \ 311 c = ((c & 0x0fu) << 12) | ((*eptr & 0x3fu) << 6) | (eptr[1] & 0x3fu); \ 314 else if ((c & 0x08u) == 0) \ 316 c = ((c & 0x07u) << 18) | ((*eptr & 0x3fu) << 12) | \ 317 ((eptr[1] & 0x3fu) << 6) | (eptr[2] & 0x3fu); \ 320 else if ((c & 0x04u) == 0) \ 322 c = ((c & 0x03u) << 24) | ((*eptr & 0x3fu) << 18) | \ 323 ((eptr[1] & 0x3fu) << 12) | ((eptr[2] & 0x3fu) << 6) | \ 329 c = ((c & 0x01u) << 30) | ((*eptr & 0x3fu) << 24) | \ 330 ((eptr[1] & 0x3fu) << 18) | ((eptr[2] & 0x3fu) << 12) | \ 331 ((eptr[3] & 0x3fu) << 6) | (eptr[4] & 0x3fu); \ 339 #define GETUTF8LEN(c, eptr, len) \ 341 if ((c & 0x20u) == 0) \ 343 c = ((c & 0x1fu) << 6) | (eptr[1] & 0x3fu); \ 346 else if ((c & 0x10u) == 0) \ 348 c = ((c & 0x0fu) << 12) | ((eptr[1] & 0x3fu) << 6) | (eptr[2] & 0x3fu); \ 351 else if ((c & 0x08u) == 0) \ 353 c = ((c & 0x07u) << 18) | ((eptr[1] & 0x3fu) << 12) | \ 354 ((eptr[2] & 0x3fu) << 6) | (eptr[3] & 0x3fu); \ 357 else if ((c & 0x04u) == 0) \ 359 c = ((c & 0x03u) << 24) | ((eptr[1] & 0x3fu) << 18) | \ 360 ((eptr[2] & 0x3fu) << 12) | ((eptr[3] & 0x3fu) << 6) | \ 366 c = ((c & 0x01u) << 30) | ((eptr[1] & 0x3fu) << 24) | \ 367 ((eptr[2] & 0x3fu) << 18) | ((eptr[3] & 0x3fu) << 12) | \ 368 ((eptr[4] & 0x3fu) << 6) | (eptr[5] & 0x3fu); \ 400 #define HSPACE_LIST \ 401 CHAR_HT, CHAR_SPACE, CHAR_NBSP, \ 402 0x1680, 0x180e, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, \ 403 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x202f, 0x205f, 0x3000, \ 406 #define HSPACE_MULTIBYTE_CASES \ 424 #define HSPACE_BYTE_CASES \ 429 #define HSPACE_CASES \ 431 HSPACE_MULTIBYTE_CASES 433 #define VSPACE_LIST \ 434 CHAR_LF, CHAR_VT, CHAR_FF, CHAR_CR, CHAR_NEL, 0x2028, 0x2029, NOTACHAR 436 #define VSPACE_MULTIBYTE_CASES \ 440 #define VSPACE_BYTE_CASES \ 447 #define VSPACE_CASES \ 449 VSPACE_MULTIBYTE_CASES 454 #define HSPACE_LIST CHAR_HT, CHAR_SPACE, CHAR_NBSP, NOTACHAR 456 #define HSPACE_BYTE_CASES \ 461 #define HSPACE_CASES HSPACE_BYTE_CASES 464 #define VSPACE_LIST \ 465 CHAR_VT, CHAR_FF, CHAR_CR, CHAR_NEL, CHAR_LF, NOTACHAR 467 #define VSPACE_LIST \ 468 CHAR_VT, CHAR_FF, CHAR_CR, CHAR_LF, CHAR_NEL, NOTACHAR 471 #define VSPACE_BYTE_CASES \ 478 #define VSPACE_CASES VSPACE_BYTE_CASES 490 #define NLTYPE_FIXED 0 492 #define NLTYPE_ANYCRLF 2 496 #define IS_NEWLINE(p) \ 497 ((NLBLOCK->nltype != NLTYPE_FIXED)? \ 498 ((p) < NLBLOCK->PSEND && \ 499 PRIV(is_newline)((p), NLBLOCK->nltype, NLBLOCK->PSEND, \ 500 &(NLBLOCK->nllen), utf)) \ 502 ((p) <= NLBLOCK->PSEND - NLBLOCK->nllen && \ 503 UCHAR21TEST(p) == NLBLOCK->nl[0] && \ 504 (NLBLOCK->nllen == 1 || UCHAR21TEST(p+1) == NLBLOCK->nl[1]) \ 510 #define WAS_NEWLINE(p) \ 511 ((NLBLOCK->nltype != NLTYPE_FIXED)? \ 512 ((p) > NLBLOCK->PSSTART && \ 513 PRIV(was_newline)((p), NLBLOCK->nltype, NLBLOCK->PSSTART, \ 514 &(NLBLOCK->nllen), utf)) \ 516 ((p) >= NLBLOCK->PSSTART + NLBLOCK->nllen && \ 517 UCHAR21TEST(p - NLBLOCK->nllen) == NLBLOCK->nl[0] && \ 518 (NLBLOCK->nllen == 1 || UCHAR21TEST(p - NLBLOCK->nllen + 1) == NLBLOCK->nl[1]) \ 526 #define PCRE2_MODE8 0x00000001 527 #define PCRE2_MODE16 0x00000002 528 #define PCRE2_MODE32 0x00000004 529 #define PCRE2_FIRSTSET 0x00000010 530 #define PCRE2_FIRSTCASELESS 0x00000020 531 #define PCRE2_FIRSTMAPSET 0x00000040 532 #define PCRE2_LASTSET 0x00000080 533 #define PCRE2_LASTCASELESS 0x00000100 534 #define PCRE2_STARTLINE 0x00000200 535 #define PCRE2_JCHANGED 0x00000400 536 #define PCRE2_HASCRORLF 0x00000800 537 #define PCRE2_HASTHEN 0x00001000 538 #define PCRE2_MATCH_EMPTY 0x00002000 539 #define PCRE2_BSR_SET 0x00004000 540 #define PCRE2_NL_SET 0x00008000 541 #define PCRE2_NOTEMPTY_SET 0x00010000 542 #define PCRE2_NE_ATST_SET 0x00020000 543 #define PCRE2_DEREF_TABLES 0x00040000 544 #define PCRE2_NOJIT 0x00080000 545 #define PCRE2_HASBKPORX 0x00100000 546 #define PCRE2_DUPCAPUSED 0x00200000 547 #define PCRE2_HASBKC 0x00400000 548 #define PCRE2_HASACCEPT 0x00800000 550 #define PCRE2_MODE_MASK (PCRE2_MODE8 | PCRE2_MODE16 | PCRE2_MODE32) 560 #define PCRE2_MD_COPIED_SUBJECT 0x01u 564 #define MAGIC_NUMBER 0x50435245UL 571 #if PCRE2_CODE_UNIT_WIDTH == 8 572 #define REQ_CU_MAX 5000 574 #define REQ_CU_MAX 2000 582 #define cbit_xdigit 32 583 #define cbit_digit 64 584 #define cbit_upper 96 585 #define cbit_lower 128 586 #define cbit_word 160 587 #define cbit_graph 192 588 #define cbit_print 224 589 #define cbit_punct 256 590 #define cbit_cntrl 288 591 #define cbit_length 320 597 #define ctype_space 0x01 598 #define ctype_letter 0x02 599 #define ctype_lcletter 0x04 600 #define ctype_digit 0x08 601 #define ctype_word 0x10 607 #define fcc_offset 256 608 #define cbits_offset 512 609 #define ctypes_offset (cbits_offset + cbit_length) 610 #define TABLES_LENGTH (ctypes_offset + 256) 632 #ifndef SUPPORT_UNICODE 652 #define CHAR_NL '\x15' 653 #define CHAR_NEL '\x25' 654 #define STR_NL "\x15" 655 #define STR_NEL "\x25" 657 #define CHAR_NL '\x25' 658 #define CHAR_NEL '\x15' 659 #define STR_NL "\x25" 660 #define STR_NEL "\x15" 663 #define CHAR_LF CHAR_NL 664 #define STR_LF STR_NL 666 #define CHAR_ESC '\047' 667 #define CHAR_DEL '\007' 668 #define CHAR_NBSP ((unsigned char)'\x41') 669 #define STR_ESC "\047" 670 #define STR_DEL "\007" 679 #define CHAR_NL CHAR_LF 680 #define CHAR_NEL ((unsigned char)'\x85') 681 #define CHAR_ESC '\033' 682 #define CHAR_DEL '\177' 683 #define CHAR_NBSP ((unsigned char)'\xa0') 686 #define STR_NL STR_LF 687 #define STR_NEL "\x85" 688 #define STR_ESC "\033" 689 #define STR_DEL "\177" 695 #define CHAR_NUL '\0' 701 #define CHAR_BEL '\a' 703 #define CHAR_SPACE ' ' 704 #define CHAR_EXCLAMATION_MARK '!' 705 #define CHAR_QUOTATION_MARK '"' 706 #define CHAR_NUMBER_SIGN '#' 707 #define CHAR_DOLLAR_SIGN '$' 708 #define CHAR_PERCENT_SIGN '%' 709 #define CHAR_AMPERSAND '&' 710 #define CHAR_APOSTROPHE '\'' 711 #define CHAR_LEFT_PARENTHESIS '(' 712 #define CHAR_RIGHT_PARENTHESIS ')' 713 #define CHAR_ASTERISK '*' 714 #define CHAR_PLUS '+' 715 #define CHAR_COMMA ',' 716 #define CHAR_MINUS '-' 718 #define CHAR_SLASH '/' 729 #define CHAR_COLON ':' 730 #define CHAR_SEMICOLON ';' 731 #define CHAR_LESS_THAN_SIGN '<' 732 #define CHAR_EQUALS_SIGN '=' 733 #define CHAR_GREATER_THAN_SIGN '>' 734 #define CHAR_QUESTION_MARK '?' 735 #define CHAR_COMMERCIAL_AT '@' 762 #define CHAR_LEFT_SQUARE_BRACKET '[' 763 #define CHAR_BACKSLASH '\\' 764 #define CHAR_RIGHT_SQUARE_BRACKET ']' 765 #define CHAR_CIRCUMFLEX_ACCENT '^' 766 #define CHAR_UNDERSCORE '_' 767 #define CHAR_GRAVE_ACCENT '`' 794 #define CHAR_LEFT_CURLY_BRACKET '{' 795 #define CHAR_VERTICAL_LINE '|' 796 #define CHAR_RIGHT_CURLY_BRACKET '}' 797 #define CHAR_TILDE '~' 806#define STR_SPACE " "
807#define STR_EXCLAMATION_MARK "!"
808#define STR_QUOTATION_MARK "\""
809 #define STR_NUMBER_SIGN "#" 810 #define STR_DOLLAR_SIGN "$" 811 #define STR_PERCENT_SIGN "%" 812 #define STR_AMPERSAND "&" 813 #define STR_APOSTROPHE "'" 814 #define STR_LEFT_PARENTHESIS "(" 815 #define STR_RIGHT_PARENTHESIS ")" 816 #define STR_ASTERISK "*" 818 #define STR_COMMA "," 819 #define STR_MINUS "-" 821 #define STR_SLASH "/" 832 #define STR_COLON ":" 833 #define STR_SEMICOLON ";" 834 #define STR_LESS_THAN_SIGN "<" 835 #define STR_EQUALS_SIGN "=" 836 #define STR_GREATER_THAN_SIGN ">" 837 #define STR_QUESTION_MARK "?" 838 #define STR_COMMERCIAL_AT "@" 865 #define STR_LEFT_SQUARE_BRACKET "[" 866 #define STR_BACKSLASH "\\" 867 #define STR_RIGHT_SQUARE_BRACKET "]" 868 #define STR_CIRCUMFLEX_ACCENT "^" 869 #define STR_UNDERSCORE "_" 870 #define STR_GRAVE_ACCENT "`" 897 #define STR_LEFT_CURLY_BRACKET "{" 898 #define STR_VERTICAL_LINE "|" 899 #define STR_RIGHT_CURLY_BRACKET "}" 900 #define STR_TILDE "~" 902 #define STRING_ACCEPT0 "ACCEPT\0" 903 #define STRING_COMMIT0 "COMMIT\0" 904 #define STRING_F0 "F\0" 905 #define STRING_FAIL0 "FAIL\0" 906 #define STRING_MARK0 "MARK\0" 907 #define STRING_PRUNE0 "PRUNE\0" 908 #define STRING_SKIP0 "SKIP\0" 909 #define STRING_THEN "THEN" 911 #define STRING_atomic0 "atomic\0" 912 #define STRING_pla0 "pla\0" 913 #define STRING_plb0 "plb\0" 914 #define STRING_napla0 "napla\0" 915 #define STRING_naplb0 "naplb\0" 916 #define STRING_nla0 "nla\0" 917 #define STRING_nlb0 "nlb\0" 918 #define STRING_sr0 "sr\0" 919 #define STRING_asr0 "asr\0" 920 #define STRING_positive_lookahead0 "positive_lookahead\0" 921 #define STRING_positive_lookbehind0 "positive_lookbehind\0" 922 #define STRING_non_atomic_positive_lookahead0 "non_atomic_positive_lookahead\0" 923 #define STRING_non_atomic_positive_lookbehind0 "non_atomic_positive_lookbehind\0" 924 #define STRING_negative_lookahead0 "negative_lookahead\0" 925 #define STRING_negative_lookbehind0 "negative_lookbehind\0" 926 #define STRING_script_run0 "script_run\0" 927 #define STRING_atomic_script_run "atomic_script_run" 929 #define STRING_alpha0 "alpha\0" 930 #define STRING_lower0 "lower\0" 931 #define STRING_upper0 "upper\0" 932 #define STRING_alnum0 "alnum\0" 933 #define STRING_ascii0 "ascii\0" 934 #define STRING_blank0 "blank\0" 935 #define STRING_cntrl0 "cntrl\0" 936 #define STRING_digit0 "digit\0" 937 #define STRING_graph0 "graph\0" 938 #define STRING_print0 "print\0" 939 #define STRING_punct0 "punct\0" 940 #define STRING_space0 "space\0" 941 #define STRING_word0 "word\0" 942 #define STRING_xdigit "xdigit" 944 #define STRING_DEFINE "DEFINE" 945 #define STRING_VERSION "VERSION" 946 #define STRING_WEIRD_STARTWORD "[:<:]]" 947 #define STRING_WEIRD_ENDWORD "[:>:]]" 949 #define STRING_CR_RIGHTPAR "CR)" 950 #define STRING_LF_RIGHTPAR "LF)" 951 #define STRING_CRLF_RIGHTPAR "CRLF)" 952 #define STRING_ANY_RIGHTPAR "ANY)" 953 #define STRING_ANYCRLF_RIGHTPAR "ANYCRLF)" 954 #define STRING_NUL_RIGHTPAR "NUL)" 955 #define STRING_BSR_ANYCRLF_RIGHTPAR "BSR_ANYCRLF)" 956 #define STRING_BSR_UNICODE_RIGHTPAR "BSR_UNICODE)" 957 #define STRING_UTF8_RIGHTPAR "UTF8)" 958 #define STRING_UTF16_RIGHTPAR "UTF16)" 959 #define STRING_UTF32_RIGHTPAR "UTF32)" 960 #define STRING_UTF_RIGHTPAR "UTF)" 961 #define STRING_UCP_RIGHTPAR "UCP)" 962 #define STRING_NO_AUTO_POSSESS_RIGHTPAR "NO_AUTO_POSSESS)" 963 #define STRING_NO_DOTSTAR_ANCHOR_RIGHTPAR "NO_DOTSTAR_ANCHOR)" 964 #define STRING_NO_JIT_RIGHTPAR "NO_JIT)" 965 #define STRING_NO_START_OPT_RIGHTPAR "NO_START_OPT)" 966 #define STRING_NOTEMPTY_RIGHTPAR "NOTEMPTY)" 967 #define STRING_NOTEMPTY_ATSTART_RIGHTPAR "NOTEMPTY_ATSTART)" 968 #define STRING_LIMIT_HEAP_EQ "LIMIT_HEAP=" 969 #define STRING_LIMIT_MATCH_EQ "LIMIT_MATCH=" 970 #define STRING_LIMIT_DEPTH_EQ "LIMIT_DEPTH=" 971 #define STRING_LIMIT_RECURSION_EQ "LIMIT_RECURSION=" 972 #define STRING_MARK "MARK" 974 #define STRING_bc "bc" 975 #define STRING_bidiclass "bidiclass" 976 #define STRING_sc "sc" 977 #define STRING_script "script" 978 #define STRING_scriptextensions "scriptextensions" 979 #define STRING_scx "scx" 987 #define CHAR_HT '\011' 988 #define CHAR_VT '\013' 989 #define CHAR_FF '\014' 990 #define CHAR_CR '\015' 991 #define CHAR_LF '\012' 992 #define CHAR_NL CHAR_LF 993 #define CHAR_NEL ((unsigned char)'\x85') 994 #define CHAR_BS '\010' 995 #define CHAR_BEL '\007' 996 #define CHAR_ESC '\033' 997 #define CHAR_DEL '\177' 999 #define CHAR_NUL '\0' 1000 #define CHAR_SPACE '\040' 1001 #define CHAR_EXCLAMATION_MARK '\041' 1002 #define CHAR_QUOTATION_MARK '\042' 1003 #define CHAR_NUMBER_SIGN '\043' 1004 #define CHAR_DOLLAR_SIGN '\044' 1005 #define CHAR_PERCENT_SIGN '\045' 1006 #define CHAR_AMPERSAND '\046' 1007 #define CHAR_APOSTROPHE '\047' 1008 #define CHAR_LEFT_PARENTHESIS '\050' 1009 #define CHAR_RIGHT_PARENTHESIS '\051' 1010 #define CHAR_ASTERISK '\052' 1011 #define CHAR_PLUS '\053' 1012 #define CHAR_COMMA '\054' 1013 #define CHAR_MINUS '\055' 1014 #define CHAR_DOT '\056' 1015 #define CHAR_SLASH '\057' 1016 #define CHAR_0 '\060' 1017 #define CHAR_1 '\061' 1018 #define CHAR_2 '\062' 1019 #define CHAR_3 '\063' 1020 #define CHAR_4 '\064' 1021 #define CHAR_5 '\065' 1022 #define CHAR_6 '\066' 1023 #define CHAR_7 '\067' 1024 #define CHAR_8 '\070' 1025 #define CHAR_9 '\071' 1026 #define CHAR_COLON '\072' 1027 #define CHAR_SEMICOLON '\073' 1028 #define CHAR_LESS_THAN_SIGN '\074' 1029 #define CHAR_EQUALS_SIGN '\075' 1030 #define CHAR_GREATER_THAN_SIGN '\076' 1031 #define CHAR_QUESTION_MARK '\077' 1032 #define CHAR_COMMERCIAL_AT '\100' 1033 #define CHAR_A '\101' 1034 #define CHAR_B '\102' 1035 #define CHAR_C '\103' 1036 #define CHAR_D '\104' 1037 #define CHAR_E '\105' 1038 #define CHAR_F '\106' 1039 #define CHAR_G '\107' 1040 #define CHAR_H '\110' 1041 #define CHAR_I '\111' 1042 #define CHAR_J '\112' 1043 #define CHAR_K '\113' 1044 #define CHAR_L '\114' 1045 #define CHAR_M '\115' 1046 #define CHAR_N '\116' 1047 #define CHAR_O '\117' 1048 #define CHAR_P '\120' 1049 #define CHAR_Q '\121' 1050 #define CHAR_R '\122' 1051 #define CHAR_S '\123' 1052 #define CHAR_T '\124' 1053 #define CHAR_U '\125' 1054 #define CHAR_V '\126' 1055 #define CHAR_W '\127' 1056 #define CHAR_X '\130' 1057 #define CHAR_Y '\131' 1058 #define CHAR_Z '\132' 1059 #define CHAR_LEFT_SQUARE_BRACKET '\133' 1060 #define CHAR_BACKSLASH '\134' 1061 #define CHAR_RIGHT_SQUARE_BRACKET '\135' 1062 #define CHAR_CIRCUMFLEX_ACCENT '\136' 1063 #define CHAR_UNDERSCORE '\137' 1064 #define CHAR_GRAVE_ACCENT '\140' 1065 #define CHAR_a '\141' 1066 #define CHAR_b '\142' 1067 #define CHAR_c '\143' 1068 #define CHAR_d '\144' 1069 #define CHAR_e '\145' 1070 #define CHAR_f '\146' 1071 #define CHAR_g '\147' 1072 #define CHAR_h '\150' 1073 #define CHAR_i '\151' 1074 #define CHAR_j '\152' 1075 #define CHAR_k '\153' 1076 #define CHAR_l '\154' 1077 #define CHAR_m '\155' 1078 #define CHAR_n '\156' 1079 #define CHAR_o '\157' 1080 #define CHAR_p '\160' 1081 #define CHAR_q '\161' 1082 #define CHAR_r '\162' 1083 #define CHAR_s '\163' 1084 #define CHAR_t '\164' 1085 #define CHAR_u '\165' 1086 #define CHAR_v '\166' 1087 #define CHAR_w '\167' 1088 #define CHAR_x '\170' 1089 #define CHAR_y '\171' 1090 #define CHAR_z '\172' 1091 #define CHAR_LEFT_CURLY_BRACKET '\173' 1092 #define CHAR_VERTICAL_LINE '\174' 1093 #define CHAR_RIGHT_CURLY_BRACKET '\175' 1094 #define CHAR_TILDE '\176' 1095 #define CHAR_NBSP ((unsigned char)'\xa0') 1097 #define STR_HT "\011" 1098 #define STR_VT "\013" 1099 #define STR_FF "\014" 1100 #define STR_CR "\015" 1101 #define STR_NL "\012" 1102 #define STR_BS "\010" 1103 #define STR_BEL "\007" 1104 #define STR_ESC "\033" 1105 #define STR_DEL "\177" 1107 #define STR_SPACE "\040" 1108 #define STR_EXCLAMATION_MARK "\041" 1109 #define STR_QUOTATION_MARK "\042" 1110 #define STR_NUMBER_SIGN "\043" 1111 #define STR_DOLLAR_SIGN "\044" 1112 #define STR_PERCENT_SIGN "\045" 1113 #define STR_AMPERSAND "\046" 1114 #define STR_APOSTROPHE "\047" 1115 #define STR_LEFT_PARENTHESIS "\050" 1116 #define STR_RIGHT_PARENTHESIS "\051" 1117 #define STR_ASTERISK "\052" 1118 #define STR_PLUS "\053" 1119 #define STR_COMMA "\054" 1120 #define STR_MINUS "\055" 1121 #define STR_DOT "\056" 1122 #define STR_SLASH "\057" 1123 #define STR_0 "\060" 1124 #define STR_1 "\061" 1125 #define STR_2 "\062" 1126 #define STR_3 "\063" 1127 #define STR_4 "\064" 1128 #define STR_5 "\065" 1129 #define STR_6 "\066" 1130 #define STR_7 "\067" 1131 #define STR_8 "\070" 1132 #define STR_9 "\071" 1133 #define STR_COLON "\072" 1134 #define STR_SEMICOLON "\073" 1135 #define STR_LESS_THAN_SIGN "\074" 1136 #define STR_EQUALS_SIGN "\075" 1137 #define STR_GREATER_THAN_SIGN "\076" 1138 #define STR_QUESTION_MARK "\077" 1139 #define STR_COMMERCIAL_AT "\100" 1140 #define STR_A "\101" 1141 #define STR_B "\102" 1142 #define STR_C "\103" 1143 #define STR_D "\104" 1144 #define STR_E "\105" 1145 #define STR_F "\106" 1146 #define STR_G "\107" 1147 #define STR_H "\110" 1148 #define STR_I "\111" 1149 #define STR_J "\112" 1150 #define STR_K "\113" 1151 #define STR_L "\114" 1152 #define STR_M "\115" 1153 #define STR_N "\116" 1154 #define STR_O "\117" 1155 #define STR_P "\120" 1156 #define STR_Q "\121" 1157 #define STR_R "\122" 1158 #define STR_S "\123" 1159 #define STR_T "\124" 1160 #define STR_U "\125" 1161 #define STR_V "\126" 1162 #define STR_W "\127" 1163 #define STR_X "\130" 1164 #define STR_Y "\131" 1165 #define STR_Z "\132" 1166 #define STR_LEFT_SQUARE_BRACKET "\133" 1167 #define STR_BACKSLASH "\134" 1168 #define STR_RIGHT_SQUARE_BRACKET "\135" 1169 #define STR_CIRCUMFLEX_ACCENT "\136" 1170 #define STR_UNDERSCORE "\137" 1171 #define STR_GRAVE_ACCENT "\140" 1172 #define STR_a "\141" 1173 #define STR_b "\142" 1174 #define STR_c "\143" 1175 #define STR_d "\144" 1176 #define STR_e "\145" 1177 #define STR_f "\146" 1178 #define STR_g "\147" 1179 #define STR_h "\150" 1180 #define STR_i "\151" 1181 #define STR_j "\152" 1182 #define STR_k "\153" 1183 #define STR_l "\154" 1184 #define STR_m "\155" 1185 #define STR_n "\156" 1186 #define STR_o "\157" 1187 #define STR_p "\160" 1188 #define STR_q "\161" 1189 #define STR_r "\162" 1190 #define STR_s "\163" 1191 #define STR_t "\164" 1192 #define STR_u "\165" 1193 #define STR_v "\166" 1194 #define STR_w "\167" 1195 #define STR_x "\170" 1196 #define STR_y "\171" 1197 #define STR_z "\172" 1198 #define STR_LEFT_CURLY_BRACKET "\173" 1199 #define STR_VERTICAL_LINE "\174" 1200 #define STR_RIGHT_CURLY_BRACKET "\175" 1201 #define STR_TILDE "\176" 1203 #define STRING_ACCEPT0 STR_A STR_C STR_C STR_E STR_P STR_T "\0" 1204 #define STRING_COMMIT0 STR_C STR_O STR_M STR_M STR_I STR_T "\0" 1205 #define STRING_F0 STR_F "\0" 1206 #define STRING_FAIL0 STR_F STR_A STR_I STR_L "\0" 1207 #define STRING_MARK0 STR_M STR_A STR_R STR_K "\0" 1208 #define STRING_PRUNE0 STR_P STR_R STR_U STR_N STR_E "\0" 1209 #define STRING_SKIP0 STR_S STR_K STR_I STR_P "\0" 1210 #define STRING_THEN STR_T STR_H STR_E STR_N 1212 #define STRING_atomic0 STR_a STR_t STR_o STR_m STR_i STR_c "\0" 1213 #define STRING_pla0 STR_p STR_l STR_a "\0" 1214 #define STRING_plb0 STR_p STR_l STR_b "\0" 1215 #define STRING_napla0 STR_n STR_a STR_p STR_l STR_a "\0" 1216 #define STRING_naplb0 STR_n STR_a STR_p STR_l STR_b "\0" 1217 #define STRING_nla0 STR_n STR_l STR_a "\0" 1218 #define STRING_nlb0 STR_n STR_l STR_b "\0" 1219 #define STRING_sr0 STR_s STR_r "\0" 1220 #define STRING_asr0 STR_a STR_s STR_r "\0" 1221 #define STRING_positive_lookahead0 STR_p STR_o STR_s STR_i STR_t STR_i STR_v STR_e STR_UNDERSCORE STR_l STR_o STR_o STR_k STR_a STR_h STR_e STR_a STR_d "\0" 1222 #define STRING_positive_lookbehind0 STR_p STR_o STR_s STR_i STR_t STR_i STR_v STR_e STR_UNDERSCORE STR_l STR_o STR_o STR_k STR_b STR_e STR_h STR_i STR_n STR_d "\0" 1223 #define STRING_non_atomic_positive_lookahead0 STR_n STR_o STR_n STR_UNDERSCORE STR_a STR_t STR_o STR_m STR_i STR_c STR_UNDERSCORE STR_p STR_o STR_s STR_i STR_t STR_i STR_v STR_e STR_UNDERSCORE STR_l STR_o STR_o STR_k STR_a STR_h STR_e STR_a STR_d "\0" 1224 #define STRING_non_atomic_positive_lookbehind0 STR_n STR_o STR_n STR_UNDERSCORE STR_a STR_t STR_o STR_m STR_i STR_c STR_UNDERSCORE STR_p STR_o STR_s STR_i STR_t STR_i STR_v STR_e STR_UNDERSCORE STR_l STR_o STR_o STR_k STR_b STR_e STR_h STR_i STR_n STR_d "\0" 1225 #define STRING_negative_lookahead0 STR_n STR_e STR_g STR_a STR_t STR_i STR_v STR_e STR_UNDERSCORE STR_l STR_o STR_o STR_k STR_a STR_h STR_e STR_a STR_d "\0" 1226 #define STRING_negative_lookbehind0 STR_n STR_e STR_g STR_a STR_t STR_i STR_v STR_e STR_UNDERSCORE STR_l STR_o STR_o STR_k STR_b STR_e STR_h STR_i STR_n STR_d "\0" 1227 #define STRING_script_run0 STR_s STR_c STR_r STR_i STR_p STR_t STR_UNDERSCORE STR_r STR_u STR_n "\0" 1228 #define STRING_atomic_script_run STR_a STR_t STR_o STR_m STR_i STR_c STR_UNDERSCORE STR_s STR_c STR_r STR_i STR_p STR_t STR_UNDERSCORE STR_r STR_u STR_n 1230 #define STRING_alpha0 STR_a STR_l STR_p STR_h STR_a "\0" 1231 #define STRING_lower0 STR_l STR_o STR_w STR_e STR_r "\0" 1232 #define STRING_upper0 STR_u STR_p STR_p STR_e STR_r "\0" 1233 #define STRING_alnum0 STR_a STR_l STR_n STR_u STR_m "\0" 1234 #define STRING_ascii0 STR_a STR_s STR_c STR_i STR_i "\0" 1235 #define STRING_blank0 STR_b STR_l STR_a STR_n STR_k "\0" 1236 #define STRING_cntrl0 STR_c STR_n STR_t STR_r STR_l "\0" 1237 #define STRING_digit0 STR_d STR_i STR_g STR_i STR_t "\0" 1238 #define STRING_graph0 STR_g STR_r STR_a STR_p STR_h "\0" 1239 #define STRING_print0 STR_p STR_r STR_i STR_n STR_t "\0" 1240 #define STRING_punct0 STR_p STR_u STR_n STR_c STR_t "\0" 1241 #define STRING_space0 STR_s STR_p STR_a STR_c STR_e "\0" 1242 #define STRING_word0 STR_w STR_o STR_r STR_d "\0" 1243 #define STRING_xdigit STR_x STR_d STR_i STR_g STR_i STR_t 1245 #define STRING_DEFINE STR_D STR_E STR_F STR_I STR_N STR_E 1246 #define STRING_VERSION STR_V STR_E STR_R STR_S STR_I STR_O STR_N 1247 #define STRING_WEIRD_STARTWORD STR_LEFT_SQUARE_BRACKET STR_COLON STR_LESS_THAN_SIGN STR_COLON STR_RIGHT_SQUARE_BRACKET STR_RIGHT_SQUARE_BRACKET 1248 #define STRING_WEIRD_ENDWORD STR_LEFT_SQUARE_BRACKET STR_COLON STR_GREATER_THAN_SIGN STR_COLON STR_RIGHT_SQUARE_BRACKET STR_RIGHT_SQUARE_BRACKET 1250 #define STRING_CR_RIGHTPAR STR_C STR_R STR_RIGHT_PARENTHESIS 1251 #define STRING_LF_RIGHTPAR STR_L STR_F STR_RIGHT_PARENTHESIS 1252 #define STRING_CRLF_RIGHTPAR STR_C STR_R STR_L STR_F STR_RIGHT_PARENTHESIS 1253 #define STRING_ANY_RIGHTPAR STR_A STR_N STR_Y STR_RIGHT_PARENTHESIS 1254 #define STRING_ANYCRLF_RIGHTPAR STR_A STR_N STR_Y STR_C STR_R STR_L STR_F STR_RIGHT_PARENTHESIS 1255 #define STRING_NUL_RIGHTPAR STR_N STR_U STR_L STR_RIGHT_PARENTHESIS 1256 #define STRING_BSR_ANYCRLF_RIGHTPAR STR_B STR_S STR_R STR_UNDERSCORE STR_A STR_N STR_Y STR_C STR_R STR_L STR_F STR_RIGHT_PARENTHESIS 1257 #define STRING_BSR_UNICODE_RIGHTPAR STR_B STR_S STR_R STR_UNDERSCORE STR_U STR_N STR_I STR_C STR_O STR_D STR_E STR_RIGHT_PARENTHESIS 1258 #define STRING_UTF8_RIGHTPAR STR_U STR_T STR_F STR_8 STR_RIGHT_PARENTHESIS 1259 #define STRING_UTF16_RIGHTPAR STR_U STR_T STR_F STR_1 STR_6 STR_RIGHT_PARENTHESIS 1260 #define STRING_UTF32_RIGHTPAR STR_U STR_T STR_F STR_3 STR_2 STR_RIGHT_PARENTHESIS 1261 #define STRING_UTF_RIGHTPAR STR_U STR_T STR_F STR_RIGHT_PARENTHESIS 1262 #define STRING_UCP_RIGHTPAR STR_U STR_C STR_P STR_RIGHT_PARENTHESIS 1263 #define STRING_NO_AUTO_POSSESS_RIGHTPAR STR_N STR_O STR_UNDERSCORE STR_A STR_U STR_T STR_O STR_UNDERSCORE STR_P STR_O STR_S STR_S STR_E STR_S STR_S STR_RIGHT_PARENTHESIS 1264 #define STRING_NO_DOTSTAR_ANCHOR_RIGHTPAR STR_N STR_O STR_UNDERSCORE STR_D STR_O STR_T STR_S STR_T STR_A STR_R STR_UNDERSCORE STR_A STR_N STR_C STR_H STR_O STR_R STR_RIGHT_PARENTHESIS 1265 #define STRING_NO_JIT_RIGHTPAR STR_N STR_O STR_UNDERSCORE STR_J STR_I STR_T STR_RIGHT_PARENTHESIS 1266 #define STRING_NO_START_OPT_RIGHTPAR STR_N STR_O STR_UNDERSCORE STR_S STR_T STR_A STR_R STR_T STR_UNDERSCORE STR_O STR_P STR_T STR_RIGHT_PARENTHESIS 1267 #define STRING_NOTEMPTY_RIGHTPAR STR_N STR_O STR_T STR_E STR_M STR_P STR_T STR_Y STR_RIGHT_PARENTHESIS 1268 #define STRING_NOTEMPTY_ATSTART_RIGHTPAR STR_N STR_O STR_T STR_E STR_M STR_P STR_T STR_Y STR_UNDERSCORE STR_A STR_T STR_S STR_T STR_A STR_R STR_T STR_RIGHT_PARENTHESIS 1269 #define STRING_LIMIT_HEAP_EQ STR_L STR_I STR_M STR_I STR_T STR_UNDERSCORE STR_H STR_E STR_A STR_P STR_EQUALS_SIGN 1270 #define STRING_LIMIT_MATCH_EQ STR_L STR_I STR_M STR_I STR_T STR_UNDERSCORE STR_M STR_A STR_T STR_C STR_H STR_EQUALS_SIGN 1271 #define STRING_LIMIT_DEPTH_EQ STR_L STR_I STR_M STR_I STR_T STR_UNDERSCORE STR_D STR_E STR_P STR_T STR_H STR_EQUALS_SIGN 1272 #define STRING_LIMIT_RECURSION_EQ STR_L STR_I STR_M STR_I STR_T STR_UNDERSCORE STR_R STR_E STR_C STR_U STR_R STR_S STR_I STR_O STR_N STR_EQUALS_SIGN 1273 #define STRING_MARK STR_M STR_A STR_R STR_K 1275 #define STRING_bc STR_b STR_c 1276 #define STRING_bidiclass STR_b STR_i STR_d STR_i STR_c STR_l STR_a STR_s STR_s 1277 #define STRING_sc STR_s STR_c 1278 #define STRING_script STR_s STR_c STR_r STR_i STR_p STR_t 1279 #define STRING_scriptextensions STR_s STR_c STR_r STR_i STR_p STR_t STR_e STR_x STR_t STR_e STR_n STR_s STR_i STR_o STR_n STR_s 1280 #define STRING_scx STR_s STR_c STR_x 1301 #define PT_PXSPACE 8 1305 #define PT_BIDICL 12 1307 #define PT_TABSIZE 14 1315 #define PT_PXGRAPH 14 1316 #define PT_PXPRINT 15 1317 #define PT_PXPUNCT 16 1318 #define PT_PXXDIGIT 17 1323 #define PT_NOTSCRIPT 255 1328 #define XCL_NOT 0x01 1329 #define XCL_MAP 0x02 1330 #define XCL_HASPROP 0x04 1333 #define XCL_SINGLE 1 1336 #define XCL_NOTPROP 4 1388 #define FIRST_AUTOTAB_OP OP_NOT_DIGIT 1389 #define LAST_AUTOTAB_LEFT_OP OP_EXTUNI 1390 #define LAST_AUTOTAB_RIGHT_OP OP_DOLLM 1674 #define OP_NAME_LIST \ 1675 "End", "\\A", "\\G", "\\K", "\\B", "\\b", "\\D", "\\d", \
1676"\\S", "\\s", "\\W", "\\w", "Any", "AllAny", "Anybyte", \
1677"notprop", "prop", "\\R", "\\H", "\\h", "\\V", "\\v", \
1678"extuni", "\\Z", "\\z", \
1679"$", "$", "^", "^", "char", "chari", "not", "noti", \
1680"*", "*?", "+", "+?", "?", "??", \
1682"*+","++", "?+", "{", \
1683"*", "*?", "+", "+?", "?", "??", \
1685"*+","++", "?+", "{", \
1686"*", "*?", "+", "+?", "?", "??", \
1688"*+","++", "?+", "{", \
1689"*", "*?", "+", "+?", "?", "??", \
1691"*+","++", "?+", "{", \
1692"*", "*?", "+", "+?", "?", "??", "{", "{", "{", \
1693"*+","++", "?+", "{", \
1694"*", "*?", "+", "+?", "?", "??", "{", "{", \
1695"*+","++", "?+", "{", \
1696"class", "nclass", "xclass", "Ref", "Refi", "DnRef", "DnRefi", \
1697"Recurse", "Callout", "CalloutStr", \
1698"Alt", "Ket", "KetRmax", "KetRmin", "KetRpos", \
1699"Reverse", "VReverse", "Assert", "Assert not", \
1700"Assert back", "Assert back not", \
1701"Non-atomic assert", "Non-atomic assert back", \
1704"Bra", "BraPos", "CBra", "CBraPos", \
1706"SBra", "SBraPos", "SCBra", "SCBraPos", \
1708"Cond ref", "Cond dnref", "Cond rec", "Cond dnrec", \
1709"Cond false", "Cond true", \
1710"Brazero", "Braminzero", "Braposzero", \
1711"*MARK", "*PRUNE", "*PRUNE", "*SKIP", "*SKIP", \
1712"*THEN", "*THEN", "*COMMIT", "*COMMIT", "*FAIL", \
1713"*ACCEPT", "*ASSERT_ACCEPT", \
1714"Close", "Skip zero", "Define", "\\B (ucp)", "\\b (ucp)"
1726 #define OP_LENGTHS \ 1741 2+IMM2_SIZE, 2+IMM2_SIZE, \ 1743 2, 2, 2, 2+IMM2_SIZE, \ 1745 2+IMM2_SIZE, 2+IMM2_SIZE, \ 1747 2, 2, 2, 2+IMM2_SIZE, \ 1750 2+IMM2_SIZE, 2+IMM2_SIZE, \ 1752 2, 2, 2, 2+IMM2_SIZE, \ 1754 2+IMM2_SIZE, 2+IMM2_SIZE, \ 1756 2, 2, 2, 2+IMM2_SIZE, \ 1759 2+IMM2_SIZE, 2+IMM2_SIZE, \ 1761 2, 2, 2, 2+IMM2_SIZE, \ 1764 1+2*IMM2_SIZE, 1+2*IMM2_SIZE, \ 1765 1, 1, 1, 1+2*IMM2_SIZE, \ 1766 1+(32/sizeof(PCRE2_UCHAR)), \ 1767 1+(32/sizeof(PCRE2_UCHAR)), \ 1793 1+LINK_SIZE+IMM2_SIZE, \ 1794 1+LINK_SIZE+IMM2_SIZE, \ 1798 1+LINK_SIZE+IMM2_SIZE, \ 1799 1+LINK_SIZE+IMM2_SIZE, \ 1801 1+IMM2_SIZE, 1+2*IMM2_SIZE, \ 1802 1+IMM2_SIZE, 1+2*IMM2_SIZE, \ 1816 #define RREF_ANY 0xffff 1824 void* (*malloc)(size_t,
void*);
1864 #define UCD_BLOCK_SIZE 128 1865 #define REAL_GET_UCD(ch) (PRIV(ucd_records) + \ 1866 PRIV(ucd_stage2)[PRIV(ucd_stage1)[(int)(ch) / UCD_BLOCK_SIZE] * \ 1867 UCD_BLOCK_SIZE + (int)(ch) % UCD_BLOCK_SIZE]) 1869 #if PCRE2_CODE_UNIT_WIDTH == 32 1870 #define GET_UCD(ch) ((ch > MAX_UTF_CODE_POINT)? \ 1871 PRIV(dummy_ucd_record) : REAL_GET_UCD(ch)) 1873 #define GET_UCD(ch) REAL_GET_UCD(ch) 1876 #define UCD_SCRIPTX_MASK 0x3ff 1877 #define UCD_BIDICLASS_SHIFT 11 1878 #define UCD_BPROPS_MASK 0xfff 1880 #define UCD_SCRIPTX_PROP(prop) ((prop)->scriptx_bidiclass & UCD_SCRIPTX_MASK) 1881 #define UCD_BIDICLASS_PROP(prop) ((prop)->scriptx_bidiclass >> UCD_BIDICLASS_SHIFT) 1882 #define UCD_BPROPS_PROP(prop) ((prop)->bprops & UCD_BPROPS_MASK) 1884 #define UCD_CHARTYPE(ch) GET_UCD(ch)->chartype 1885 #define UCD_SCRIPT(ch) GET_UCD(ch)->script 1886 #define UCD_CATEGORY(ch) PRIV(ucp_gentype)[UCD_CHARTYPE(ch)] 1887 #define UCD_GRAPHBREAK(ch) GET_UCD(ch)->gbprop 1888 #define UCD_CASESET(ch) GET_UCD(ch)->caseset 1889 #define UCD_OTHERCASE(ch) ((uint32_t)((int)ch + (int)(GET_UCD(ch)->other_case))) 1890 #define UCD_SCRIPTX(ch) UCD_SCRIPTX_PROP(GET_UCD(ch)) 1891 #define UCD_BPROPS(ch) UCD_BPROPS_PROP(GET_UCD(ch)) 1892 #define UCD_BIDICLASS(ch) UCD_BIDICLASS_PROP(GET_UCD(ch)) 1898 #define MAPBIT(map,n) ((map)[(n)/32]&(1u<<((n)%32))) 1899 #define MAPSET(map,n) ((map)[(n)/32]|=(1u<<((n)%32))) 1917 #if defined PCRE2_CODE_UNIT_WIDTH && PCRE2_CODE_UNIT_WIDTH != 0 1921 #if defined EBCDIC && PCRE2_CODE_UNIT_WIDTH != 8 1922 #error EBCDIC is not supported for the 16-bit or 32-bit libraries 1927 #define MAX_NON_UTF_CHAR (0xffffffffU >> (32 - PCRE2_CODE_UNIT_WIDTH)) 1936 #if PCRE2_CODE_UNIT_WIDTH == 8 1944 #define _pcre2_OP_lengths PCRE2_SUFFIX(_pcre2_OP_lengths_) 1945 #define _pcre2_callout_end_delims PCRE2_SUFFIX(_pcre2_callout_end_delims_) 1946 #define _pcre2_callout_start_delims PCRE2_SUFFIX(_pcre2_callout_start_delims_) 1947 #define _pcre2_default_compile_context PCRE2_SUFFIX(_pcre2_default_compile_context_) 1948 #define _pcre2_default_convert_context PCRE2_SUFFIX(_pcre2_default_convert_context_) 1949 #define _pcre2_default_match_context PCRE2_SUFFIX(_pcre2_default_match_context_) 1950 #define _pcre2_default_tables PCRE2_SUFFIX(_pcre2_default_tables_) 1951 #if PCRE2_CODE_UNIT_WIDTH == 32 1952 #define _pcre2_dummy_ucd_record PCRE2_SUFFIX(_pcre2_dummy_ucd_record_) 1954 #define _pcre2_hspace_list PCRE2_SUFFIX(_pcre2_hspace_list_) 1955 #define _pcre2_vspace_list PCRE2_SUFFIX(_pcre2_vspace_list_) 1956 #define _pcre2_ucd_boolprop_sets PCRE2_SUFFIX(_pcre2_ucd_boolprop_sets_) 1957 #define _pcre2_ucd_caseless_sets PCRE2_SUFFIX(_pcre2_ucd_caseless_sets_) 1958 #define _pcre2_ucd_digit_sets PCRE2_SUFFIX(_pcre2_ucd_digit_sets_) 1959 #define _pcre2_ucd_script_sets PCRE2_SUFFIX(_pcre2_ucd_script_sets_) 1960 #define _pcre2_ucd_records PCRE2_SUFFIX(_pcre2_ucd_records_) 1961 #define _pcre2_ucd_stage1 PCRE2_SUFFIX(_pcre2_ucd_stage1_) 1962 #define _pcre2_ucd_stage2 PCRE2_SUFFIX(_pcre2_ucd_stage2_) 1963 #define _pcre2_ucp_gbtable PCRE2_SUFFIX(_pcre2_ucp_gbtable_) 1964 #define _pcre2_ucp_gentype PCRE2_SUFFIX(_pcre2_ucp_gentype_) 1965 #define _pcre2_ucp_typerange PCRE2_SUFFIX(_pcre2_ucp_typerange_) 1966 #define _pcre2_unicode_version PCRE2_SUFFIX(_pcre2_unicode_version_) 1967 #define _pcre2_utt PCRE2_SUFFIX(_pcre2_utt_) 1968 #define _pcre2_utt_names PCRE2_SUFFIX(_pcre2_utt_names_) 1969 #define _pcre2_utt_size PCRE2_SUFFIX(_pcre2_utt_size_) 1985 #if PCRE2_CODE_UNIT_WIDTH == 32 1993 extern const int PRIV(ucp_typerange)[];
1995 extern const char*
PRIV(unicode_version);
1997 extern const char PRIV(utt_names)[];
1998 extern const size_t PRIV(utt_size);
2006 #define branch_chain PCRE2_SUFFIX(branch_chain_) 2007 #define compile_block PCRE2_SUFFIX(compile_block_) 2008 #define dfa_match_block PCRE2_SUFFIX(dfa_match_block_) 2009 #define match_block PCRE2_SUFFIX(match_block_) 2010 #define named_group PCRE2_SUFFIX(named_group_) 2020 #define _pcre2_auto_possessify PCRE2_SUFFIX(_pcre2_auto_possessify_) 2021 #define _pcre2_check_escape PCRE2_SUFFIX(_pcre2_check_escape_) 2022 #define _pcre2_extuni PCRE2_SUFFIX(_pcre2_extuni_) 2023 #define _pcre2_find_bracket PCRE2_SUFFIX(_pcre2_find_bracket_) 2024 #define _pcre2_is_newline PCRE2_SUFFIX(_pcre2_is_newline_) 2025 #define _pcre2_jit_free_rodata PCRE2_SUFFIX(_pcre2_jit_free_rodata_) 2026 #define _pcre2_jit_free PCRE2_SUFFIX(_pcre2_jit_free_) 2027 #define _pcre2_jit_get_size PCRE2_SUFFIX(_pcre2_jit_get_size_) 2028 #define _pcre2_jit_get_target PCRE2_SUFFIX(_pcre2_jit_get_target_) 2029 #define _pcre2_memctl_malloc PCRE2_SUFFIX(_pcre2_memctl_malloc_) 2030 #define _pcre2_ord2utf PCRE2_SUFFIX(_pcre2_ord2utf_) 2031 #define _pcre2_script_run PCRE2_SUFFIX(_pcre2_script_run_) 2032 #define _pcre2_strcmp PCRE2_SUFFIX(_pcre2_strcmp_) 2033 #define _pcre2_strcmp_c8 PCRE2_SUFFIX(_pcre2_strcmp_c8_) 2034 #define _pcre2_strcpy_c8 PCRE2_SUFFIX(_pcre2_strcpy_c8_) 2035 #define _pcre2_strlen PCRE2_SUFFIX(_pcre2_strlen_) 2036 #define _pcre2_strncmp PCRE2_SUFFIX(_pcre2_strncmp_) 2037 #define _pcre2_strncmp_c8 PCRE2_SUFFIX(_pcre2_strncmp_c8_) 2038 #define _pcre2_study PCRE2_SUFFIX(_pcre2_study_) 2039 #define _pcre2_valid_utf PCRE2_SUFFIX(_pcre2_valid_utf_) 2040 #define _pcre2_was_newline PCRE2_SUFFIX(_pcre2_was_newline_) 2041 #define _pcre2_xclass PCRE2_SUFFIX(_pcre2_xclass_) 2052 extern void_pcre2_jit_free_rodata(
void*,
void*);
2054 extern size_t_pcre2_jit_get_size(
void*);
2055 const char* _pcre2_jit_get_target(
void);
2073 #if !defined(VPCOMPAT) && !defined(HAVE_MEMMOVE) 2074 #define _pcre2_memmove PCRE2_SUFFIX(_pcre2_memmove)unsigned int
A callback function used to compare two keys in a database.
#define pcre2_convert_context
#define pcre2_match_context
#define pcre2_compile_context
int _pcre2_auto_possessify(PCRE2_UCHAR *code, const compile_block *cb)
int _pcre2_check_escape(PCRE2_SPTR *ptrptr, PCRE2_SPTR ptrend, uint32_t *chptr, int *errorcodeptr, uint32_t options, uint32_t xoptions, BOOL isclass, compile_block *cb)
void * _pcre2_memctl_malloc(size_t size, pcre2_memctl *memctl)
PCRE2_SPTR _pcre2_extuni(uint32_t c, PCRE2_SPTR eptr, PCRE2_SPTR start_subject, PCRE2_SPTR end_subject, BOOL utf, int *xcount)
PCRE2_SPTR _pcre2_find_bracket(PCRE2_SPTR code, BOOL utf, int number)
@ PCRE2_MATCHEDBY_DFA_INTERPRETER
@ PCRE2_MATCHEDBY_INTERPRETER
struct pcre2_memctl pcre2_memctl
struct open_capitem open_capitem
@ OP_NOT_UCP_WORD_BOUNDARY
struct pcre2_serialized_data pcre2_serialized_data
BOOL _pcre2_was_newline(PCRE2_SPTR ptr, uint32_t type, PCRE2_SPTR startptr, uint32_t *lenptr, BOOL utf)
BOOL _pcre2_is_newline(PCRE2_SPTR ptr, uint32_t type, PCRE2_SPTR endptr, uint32_t *lenptr, BOOL utf)
unsigned int _pcre2_ord2utf(uint32_t cvalue, PCRE2_UCHAR *buffer)
BOOL _pcre2_script_run(PCRE2_SPTR ptr, PCRE2_SPTR endptr, BOOL utf)
void * _pcre2_memmove(void *d, const void *s, size_t n)
int _pcre2_strcmp_c8(PCRE2_SPTR str1, const char *str2)
PCRE2_SIZE _pcre2_strlen(PCRE2_SPTR str)
int _pcre2_strcmp(PCRE2_SPTR str1, PCRE2_SPTR str2)
int _pcre2_strncmp_c8(PCRE2_SPTR str1, const char *str2, size_t len)
PCRE2_SIZE _pcre2_strcpy_c8(PCRE2_UCHAR *str1, const char *str2)
int _pcre2_strncmp(PCRE2_SPTR str1, PCRE2_SPTR str2, size_t len)
int _pcre2_study(pcre2_real_code *re)
int _pcre2_valid_utf(PCRE2_SPTR string, PCRE2_SIZE length, PCRE2_SIZE *erroroffset)
BOOL _pcre2_xclass(uint32_t c, PCRE2_SPTR data, BOOL utf)
const int utf8_table1_size
struct open_capitem * next
void(* free)(void *, void *)
uint16_t scriptx_bidiclass
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