430 |
|
|
431 |
case OP_DNCREF: |
case OP_DNCREF: |
432 |
{ |
{ |
433 |
pcre_uchar *entry = (pcre_uchar *)re + offset + (GET2(code, 1) * size) + |
pcre_uchar *entry = (pcre_uchar *)re + offset + (GET2(code, 1) * size) + |
434 |
IMM2_SIZE; |
IMM2_SIZE; |
435 |
fprintf(f, " %s Cond ref <", flag); |
fprintf(f, " %s Cond ref <", flag); |
436 |
print_puchar(f, entry); |
print_puchar(f, entry); |
437 |
fprintf(f, ">%d", GET2(code, 1 + IMM2_SIZE)); |
fprintf(f, ">%d", GET2(code, 1 + IMM2_SIZE)); |
438 |
} |
} |
439 |
break; |
break; |
440 |
|
|
448 |
|
|
449 |
case OP_DNRREF: |
case OP_DNRREF: |
450 |
{ |
{ |
451 |
pcre_uchar *entry = (pcre_uchar *)re + offset + (GET2(code, 1) * size) + |
pcre_uchar *entry = (pcre_uchar *)re + offset + (GET2(code, 1) * size) + |
452 |
IMM2_SIZE; |
IMM2_SIZE; |
453 |
fprintf(f, " %s Cond recurse <", flag); |
fprintf(f, " %s Cond recurse <", flag); |
454 |
print_puchar(f, entry); |
print_puchar(f, entry); |
455 |
fprintf(f, ">%d", GET2(code, 1 + IMM2_SIZE)); |
fprintf(f, ">%d", GET2(code, 1 + IMM2_SIZE)); |
456 |
} |
} |
457 |
break; |
break; |
458 |
|
|
614 |
/* Fall through */ |
/* Fall through */ |
615 |
case OP_DNREF: |
case OP_DNREF: |
616 |
{ |
{ |
617 |
pcre_uchar *entry = (pcre_uchar *)re + offset + (GET2(code, 1) * size) + |
pcre_uchar *entry = (pcre_uchar *)re + offset + (GET2(code, 1) * size) + |
618 |
IMM2_SIZE; |
IMM2_SIZE; |
619 |
fprintf(f, " %s \\k<", flag); |
fprintf(f, " %s \\k<", flag); |
620 |
print_puchar(f, entry); |
print_puchar(f, entry); |
621 |
fprintf(f, ">%d", GET2(code, 1 + IMM2_SIZE)); |
fprintf(f, ">%d", GET2(code, 1 + IMM2_SIZE)); |
622 |
} |
} |
623 |
ccode = code + priv_OP_lengths[*code]; |
ccode = code + priv_OP_lengths[*code]; |
624 |
goto CLASS_REF_REPEAT; |
goto CLASS_REF_REPEAT; |
696 |
pcre_uchar ch; |
pcre_uchar ch; |
697 |
while ((ch = *ccode++) != XCL_END) |
while ((ch = *ccode++) != XCL_END) |
698 |
{ |
{ |
699 |
BOOL not = FALSE; |
BOOL not = FALSE; |
700 |
const char *notch = ""; |
const char *notch = ""; |
701 |
|
|
702 |
switch(ch) |
switch(ch) |
703 |
{ |
{ |
704 |
case XCL_NOTPROP: |
case XCL_NOTPROP: |
705 |
not = TRUE; |
not = TRUE; |
706 |
notch = "^"; |
notch = "^"; |
707 |
/* Fall through */ |
/* Fall through */ |
708 |
|
|
709 |
case XCL_PROP: |
case XCL_PROP: |
710 |
{ |
{ |
711 |
unsigned int ptype = *ccode++; |
unsigned int ptype = *ccode++; |
712 |
unsigned int pvalue = *ccode++; |
unsigned int pvalue = *ccode++; |
713 |
|
|
714 |
switch(ptype) |
switch(ptype) |
715 |
{ |
{ |
716 |
case PT_PXGRAPH: |
case PT_PXGRAPH: |
717 |
fprintf(f, "[:%sgraph:]", notch); |
fprintf(f, "[:%sgraph:]", notch); |
718 |
break; |
break; |
719 |
|
|
720 |
case PT_PXPRINT: |
case PT_PXPRINT: |
721 |
fprintf(f, "[:%sprint:]", notch); |
fprintf(f, "[:%sprint:]", notch); |
722 |
break; |
break; |
723 |
|
|
724 |
case PT_PXPUNCT: |
case PT_PXPUNCT: |
725 |
fprintf(f, "[:%spunct:]", notch); |
fprintf(f, "[:%spunct:]", notch); |
726 |
break; |
break; |
727 |
|
|
728 |
default: |
default: |
729 |
fprintf(f, "\\%c{%s}", (not? 'P':'p'), |
fprintf(f, "\\%c{%s}", (not? 'P':'p'), |
730 |
get_ucpname(ptype, pvalue)); |
get_ucpname(ptype, pvalue)); |
731 |
break; |
break; |
732 |
} |
} |
733 |
} |
} |
734 |
break; |
break; |
735 |
|
|
736 |
default: |
default: |
737 |
ccode += 1 + print_char(f, ccode, utf); |
ccode += 1 + print_char(f, ccode, utf); |
738 |
if (ch == XCL_RANGE) |
if (ch == XCL_RANGE) |
740 |
fprintf(f, "-"); |
fprintf(f, "-"); |
741 |
ccode += 1 + print_char(f, ccode, utf); |
ccode += 1 + print_char(f, ccode, utf); |
742 |
} |
} |
743 |
break; |
break; |
744 |
} |
} |
745 |
} |
} |
746 |
} |
} |
747 |
|
|