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 */ |