| 409 |
"(*MARK) must have an argument\0" |
"(*MARK) must have an argument\0" |
| 410 |
"this version of PCRE is not compiled with PCRE_UCP support\0" |
"this version of PCRE is not compiled with PCRE_UCP support\0" |
| 411 |
"\\c must be followed by an ASCII character\0" |
"\\c must be followed by an ASCII character\0" |
| 412 |
|
"\\k is not followed by a braced, angle-bracketed, or quoted name\0" |
| 413 |
; |
; |
| 414 |
|
|
| 415 |
/* Table to identify digits and hex digits. This is used when compiling |
/* Table to identify digits and hex digits. This is used when compiling |
| 6126 |
} |
} |
| 6127 |
|
|
| 6128 |
/* \k<name> or \k'name' is a back reference by name (Perl syntax). |
/* \k<name> or \k'name' is a back reference by name (Perl syntax). |
| 6129 |
We also support \k{name} (.NET syntax) */ |
We also support \k{name} (.NET syntax). */ |
| 6130 |
|
|
| 6131 |
if (-c == ESC_k && (ptr[1] == CHAR_LESS_THAN_SIGN || |
if (-c == ESC_k) |
|
ptr[1] == CHAR_APOSTROPHE || ptr[1] == CHAR_LEFT_CURLY_BRACKET)) |
|
| 6132 |
{ |
{ |
| 6133 |
|
if ((ptr[1] != CHAR_LESS_THAN_SIGN && |
| 6134 |
|
ptr[1] != CHAR_APOSTROPHE && ptr[1] != CHAR_LEFT_CURLY_BRACKET)) |
| 6135 |
|
{ |
| 6136 |
|
*errorcodeptr = ERR69; |
| 6137 |
|
break; |
| 6138 |
|
} |
| 6139 |
is_recurse = FALSE; |
is_recurse = FALSE; |
| 6140 |
terminator = (*(++ptr) == CHAR_LESS_THAN_SIGN)? |
terminator = (*(++ptr) == CHAR_LESS_THAN_SIGN)? |
| 6141 |
CHAR_GREATER_THAN_SIGN : (*ptr == CHAR_APOSTROPHE)? |
CHAR_GREATER_THAN_SIGN : (*ptr == CHAR_APOSTROPHE)? |
| 6142 |
CHAR_APOSTROPHE : CHAR_RIGHT_CURLY_BRACKET; |
CHAR_APOSTROPHE : CHAR_RIGHT_CURLY_BRACKET; |
| 6143 |
goto NAMED_REF_OR_RECURSE; |
goto NAMED_REF_OR_RECURSE; |
| 6144 |
} |
} |
| 6145 |
|
|
| 6146 |
/* Back references are handled specially; must disable firstbyte if |
/* Back references are handled specially; must disable firstbyte if |
| 6147 |
not set to cope with cases like (?=(\w+))\1: which would otherwise set |
not set to cope with cases like (?=(\w+))\1: which would otherwise set |