| 605 |
value such as \n. They must have non-zero values, as check_escape() returns |
value such as \n. They must have non-zero values, as check_escape() returns |
| 606 |
their negation. Also, they must appear in the same order as in the opcode |
their negation. Also, they must appear in the same order as in the opcode |
| 607 |
definitions below, up to ESC_z. There's a dummy for OP_ANY because it |
definitions below, up to ESC_z. There's a dummy for OP_ANY because it |
| 608 |
corresponds to "." rather than an escape sequence, and another for OP_ALLANY |
corresponds to "." rather than an escape sequence, and another for OP_ALLANY |
| 609 |
(which is used for [^] in JavaScript compatibility mode). |
(which is used for [^] in JavaScript compatibility mode). |
| 610 |
|
|
| 611 |
The final escape must be ESC_REF as subsequent values are used for |
The final escape must be ESC_REF as subsequent values are used for |
| 616 |
*/ |
*/ |
| 617 |
|
|
| 618 |
enum { ESC_A = 1, ESC_G, ESC_K, ESC_B, ESC_b, ESC_D, ESC_d, ESC_S, ESC_s, |
enum { ESC_A = 1, ESC_G, ESC_K, ESC_B, ESC_b, ESC_D, ESC_d, ESC_S, ESC_s, |
| 619 |
ESC_W, ESC_w, ESC_dum1, ESC_dum2, ESC_C, ESC_P, ESC_p, ESC_R, ESC_H, |
ESC_W, ESC_w, ESC_dum1, ESC_dum2, ESC_C, ESC_P, ESC_p, ESC_R, ESC_H, |
| 620 |
ESC_h, ESC_V, ESC_v, ESC_X, ESC_Z, ESC_z, ESC_E, ESC_Q, ESC_g, ESC_k, |
ESC_h, ESC_V, ESC_v, ESC_X, ESC_Z, ESC_z, ESC_E, ESC_Q, ESC_g, ESC_k, |
| 621 |
ESC_REF }; |
ESC_REF }; |
| 622 |
|
|
| 623 |
|
|
| 780 |
|
|
| 781 |
OP_FAIL, /* 109 */ |
OP_FAIL, /* 109 */ |
| 782 |
OP_ACCEPT, /* 110 */ |
OP_ACCEPT, /* 110 */ |
| 783 |
|
|
| 784 |
/* This is used to skip a subpattern with a {0} quantifier */ |
/* This is used to skip a subpattern with a {0} quantifier */ |
| 785 |
|
|
| 786 |
OP_SKIPZERO /* 111 */ |
OP_SKIPZERO /* 111 */ |
| 787 |
}; |
}; |
| 788 |
|
|
| 809 |
"Once", "Bra", "CBra", "Cond", "SBra", "SCBra", "SCond", \ |
"Once", "Bra", "CBra", "Cond", "SBra", "SCBra", "SCond", \ |
| 810 |
"Cond ref", "Cond rec", "Cond def", "Brazero", "Braminzero", \ |
"Cond ref", "Cond rec", "Cond def", "Brazero", "Braminzero", \ |
| 811 |
"*PRUNE", "*SKIP", "*THEN", "*COMMIT", "*FAIL", "*ACCEPT", \ |
"*PRUNE", "*SKIP", "*THEN", "*COMMIT", "*FAIL", "*ACCEPT", \ |
| 812 |
"Skip zero" |
"Skip zero" |
| 813 |
|
|
| 814 |
|
|
| 815 |
/* This macro defines the length of fixed length operations in the compiled |
/* This macro defines the length of fixed length operations in the compiled |
| 1015 |
BOOL notbol; /* NOTBOL flag */ |
BOOL notbol; /* NOTBOL flag */ |
| 1016 |
BOOL noteol; /* NOTEOL flag */ |
BOOL noteol; /* NOTEOL flag */ |
| 1017 |
BOOL utf8; /* UTF8 flag */ |
BOOL utf8; /* UTF8 flag */ |
| 1018 |
BOOL jscript_compat; /* JAVASCRIPT_COMPAT flag */ |
BOOL jscript_compat; /* JAVASCRIPT_COMPAT flag */ |
| 1019 |
BOOL endonly; /* Dollar not before final \n */ |
BOOL endonly; /* Dollar not before final \n */ |
| 1020 |
BOOL notempty; /* Empty string match not wanted */ |
BOOL notempty; /* Empty string match not wanted */ |
| 1021 |
BOOL partial; /* PARTIAL flag */ |
BOOL partial; /* PARTIAL flag */ |