A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/pcre2__auto__possess_8c_source.html below:

NCBI C++ ToolKit: src/util/regexp/pcre2_auto_possess.c Source File

70 #define APTROWS (LAST_AUTOTAB_LEFT_OP - FIRST_AUTOTAB_OP + 1) 71 #define APTCOLS (LAST_AUTOTAB_RIGHT_OP - FIRST_AUTOTAB_OP + 1) 75

{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },

76

{ 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1 },

77

{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1 },

78

{ 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },

79

{ 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },

80

{ 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1 },

81

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0 },

82

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },

83

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },

84

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

85

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

86

{ 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 },

87

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 },

88

{ 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0 },

89

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0 },

90

{ 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0 },

91

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }

94 #ifdef SUPPORT_UNICODE 127

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

128

{ 0, 3, 0, 0, 0, 0, 3, 1, 1, 0, 0, 0, 0, 0 },

129

{ 0, 0, 2, 4, 0, 0, 9, 10, 10, 11, 0, 0, 0, 0 },

130

{ 0, 0, 5, 2, 0, 0, 15, 16, 16, 17, 0, 0, 0, 0 },

131

{ 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0 },

132

{ 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0 },

133

{ 0, 3, 6, 12, 0, 0, 3, 1, 1, 0, 0, 0, 0, 0 },

134

{ 0, 1, 7, 13, 0, 0, 1, 3, 3, 1, 0, 0, 0, 0 },

135

{ 0, 1, 7, 13, 0, 0, 1, 3, 3, 1, 0, 0, 0, 0 },

136

{ 0, 0, 8, 14, 0, 0, 0, 1, 1, 3, 0, 0, 0, 0 },

137

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

138

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0 },

139

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

140

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

150 static const uint8_t

catposstab[7][30] = {

152

{ 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },

153

{ 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },

154

{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },

155

{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },

156

{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 },

157

{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1 },

158

{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0 }

172 static const uint8_t

posspropstab[3][4] = {

181 #ifdef SUPPORT_UNICODE 199

check_char_prop(

uint32_t

c,

unsigned int

ptype,

unsigned int

pdata,

214  return

(pdata ==

PRIV

(ucp_gentype)[prop->

chartype

]) == negated;

217  return

(pdata == prop->

chartype

) == negated;

220  return

(pdata == prop->

script

) == negated;

225  return ok

== negated;

259  if

(c < *p)

return

!negated;

260  if

(c == *p++)

return

negated;

333 #ifdef SUPPORT_UNICODE 417 #ifdef SUPPORT_UNICODE 418  if

(chr < 128 || (chr < 256 && !

utf

&& !ucp))

422 #elif defined SUPPORT_WIDE_CHARS 423

list[3] = (chr < 256) ? fcc[chr] : chr;

436 #ifdef SUPPORT_UNICODE 448

clist_src =

PRIV

(ucd_caseless_sets) +

code

[1];

449

clist_dest = list + 2;

453  if

(clist_dest >= list + 8)

461

*clist_dest++ = *clist_src;

474 #ifdef SUPPORT_WIDE_CHARS 503

list[1] = (

GET2

(end, 1) == 0);

545 #ifdef SUPPORT_WIDE_CHARS 549 const uint8_t

*set1, *set2, *set_end;

551 BOOL

accepted, invert_bits;

554 if

(--(*rec_limit) <= 0)

return FALSE

;

601  return

base_list[1] != 0;

615  if

(base_list[1] == 0)

return FALSE

;

649  return

!entered_a_group;

679  while

(*next_code ==

OP_ALT

)

684

next_code += GET(next_code, 1);

687

entered_a_group =

TRUE

;

693

next_code =

code

+ 1;

697  do

next_code += GET(next_code, 1);

while

(*next_code ==

OP_ALT

);

727

chr_ptr = base_list + 2;

733

list_ptr = base_list;

745 #if PCRE2_CODE_UNIT_WIDTH == 8 751

set1 = (

uint8_t

*)(base_end - base_list[2]);

757

list_ptr = base_list;

760

invert_bits =

FALSE

;

766

((list_ptr == list ?

code

: base_end) - list_ptr[2]);

769 #ifdef SUPPORT_WIDE_CHARS 771

xclass_flags = (list_ptr == list ?

code

: base_end) - list_ptr[2] +

LINK_SIZE

;

773  if

((*xclass_flags &

XCL_MAP

) == 0)

776  if

(list[1] == 0)

return

(*xclass_flags &

XCL_NOT

) == 0;

780

set2 = (

uint8_t

*)(xclass_flags + 1);

817  if

((*set1++ & ~(*set2++)) != 0)

return FALSE

;

819  while

(set1 < set_end);

825  if

((*set1++ & *set2++) != 0)

return FALSE

;

827  while

(set1 < set_end);

830  if

(list[1] == 0)

return TRUE

;

842

leftop = base_list[0];

845 #ifdef SUPPORT_UNICODE 855  BOOL

same = leftop == rightop;

858  BOOL

bothprop = lisprop && risprop;

869  n

= propposstab[base_list[2]][list[2]];

873  case

1: accepted = bothprop;

break

;

874  case

2: accepted = (base_list[3] == list[3]) != same;

break

;

875  case

3: accepted = !same;

break

;

878

accepted = risprop && catposstab[base_list[3]][list[3]] == same;

882

accepted = lisprop && catposstab[list[3]][base_list[3]] == same;

907

p = posspropstab[

n

-6];

908

accepted = risprop && lisprop ==

911

(list[3] != p[2] || !lisprop));

917

p = posspropstab[

n

-9];

918

accepted = lisprop && risprop ==

919

(base_list[3] != p[0] &&

920

base_list[3] != p[1] &&

921

(base_list[3] != p[2] || !risprop));

927

p = posspropstab[

n

-12];

928

accepted = risprop && lisprop ==

929

(catposstab[p[0]][list[3]] &&

930

catposstab[p[1]][list[3]] &&

931

(list[3] != p[3] || !lisprop));

937

p = posspropstab[

n

-15];

938

accepted = lisprop && risprop ==

939

(catposstab[p[0]][base_list[3]] &&

940

catposstab[p[1]][base_list[3]] &&

941

(base_list[3] != p[3] || !risprop));

954  if

(!accepted)

return FALSE

;

956  if

(list[1] == 0)

return TRUE

;

971

ochr_ptr = list_ptr + 2;

974  if

(chr == *ochr_ptr)

return FALSE

;

981

ochr_ptr = list_ptr + 2;

984  if

(chr == *ochr_ptr)

1031  default

:

return FALSE

;

1048  default

:

return FALSE

;

1072 #ifdef SUPPORT_UNICODE 1075  if

(!check_char_prop(chr, list_ptr[2], list_ptr[3],

1082  if

(chr > 255)

return FALSE

;

1086  if

(chr > 255)

break

;

1088

((list_ptr == list ?

code

: base_end) - list_ptr[2]);

1089  if

((class_bitset[chr >> 3] & (1u << (chr & 7))) != 0)

return FALSE

;

1092 #ifdef SUPPORT_WIDE_CHARS 1094  if

(

PRIV

(xclass)(chr, (list_ptr == list ?

code

: base_end) -

1109  if

(list[1] == 0)

return TRUE

;

1144 int

rec_limit = 1000;

1203 #ifdef SUPPORT_WIDE_CHARS 1205

repeat_opcode =

code

+ GET(

code

, 1);

1219

list[1] = (c & 1) == 0;

1280 #ifdef SUPPORT_WIDE_CHARS 1303 #ifdef MAYBE_UTF_MULTI 1304  if

(

utf

)

switch

(c)

1362  if

(HAS_EXTRALEN(

code

[-1]))

code

+= GET_EXTRALEN(

code

[-1]);

#define TRUE

bool replacment for C indicating true.

#define FALSE

bool replacment for C indicating false.

static BOOL compare_opcodes(PCRE2_SPTR code, BOOL utf, BOOL ucp, const compile_block *cb, const uint32_t *base_list, PCRE2_SPTR base_end, int *rec_limit)

static const uint8_t autoposstab[(OP_EXTUNI - OP_NOT_DIGIT+1)][(OP_DOLLM - OP_NOT_DIGIT+1)]

static PCRE2_SPTR get_chr_property_list(PCRE2_SPTR code, BOOL utf, BOOL ucp, const uint8_t *fcc, uint32_t *list)

static PCRE2_UCHAR get_repeat_base(PCRE2_UCHAR c)

#define PCRE2_CODE_UNIT_WIDTH

#define LAST_AUTOTAB_LEFT_OP

#define LAST_AUTOTAB_RIGHT_OP

#define UCD_OTHERCASE(ch)

#define UCD_SCRIPTX_PROP(prop)

#define GETCHARINCTEST(c, eptr)


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