| 1456 |
OP_ASSERTBACK, /* 121 Positive lookbehind */ |
OP_ASSERTBACK, /* 121 Positive lookbehind */ |
| 1457 |
OP_ASSERTBACK_NOT, /* 122 Negative lookbehind */ |
OP_ASSERTBACK_NOT, /* 122 Negative lookbehind */ |
| 1458 |
|
|
| 1459 |
/* ONCE, BRA, BRAPOS, CBRA, CBRAPOS, and COND must come immediately after the |
/* ONCE, ONCE_NC, BRA, BRAPOS, CBRA, CBRAPOS, and COND must come immediately |
| 1460 |
assertions, with ONCE first, as there's a test for >= ONCE for a subpattern |
after the assertions, with ONCE first, as there's a test for >= ONCE for a |
| 1461 |
that isn't an assertion. The POS versions must immediately follow the non-POS |
subpattern that isn't an assertion. The POS versions must immediately follow |
| 1462 |
versions in each case. */ |
the non-POS versions in each case. */ |
| 1463 |
|
|
| 1464 |
OP_ONCE, /* 123 Atomic group */ |
OP_ONCE, /* 123 Atomic group, contains captures */ |
| 1465 |
OP_BRA, /* 124 Start of non-capturing bracket */ |
OP_ONCE_NC, /* 124 Atomic group containing no captures */ |
| 1466 |
OP_BRAPOS, /* 125 Ditto, with unlimited, possessive repeat */ |
OP_BRA, /* 125 Start of non-capturing bracket */ |
| 1467 |
OP_CBRA, /* 126 Start of capturing bracket */ |
OP_BRAPOS, /* 126 Ditto, with unlimited, possessive repeat */ |
| 1468 |
OP_CBRAPOS, /* 127 Ditto, with unlimited, possessive repeat */ |
OP_CBRA, /* 127 Start of capturing bracket */ |
| 1469 |
OP_COND, /* 128 Conditional group */ |
OP_CBRAPOS, /* 128 Ditto, with unlimited, possessive repeat */ |
| 1470 |
|
OP_COND, /* 129 Conditional group */ |
| 1471 |
|
|
| 1472 |
/* These five must follow the previous five, in the same order. There's a |
/* These five must follow the previous five, in the same order. There's a |
| 1473 |
check for >= SBRA to distinguish the two sets. */ |
check for >= SBRA to distinguish the two sets. */ |
| 1474 |
|
|
| 1475 |
OP_SBRA, /* 129 Start of non-capturing bracket, check empty */ |
OP_SBRA, /* 130 Start of non-capturing bracket, check empty */ |
| 1476 |
OP_SBRAPOS, /* 130 Ditto, with unlimited, possessive repeat */ |
OP_SBRAPOS, /* 131 Ditto, with unlimited, possessive repeat */ |
| 1477 |
OP_SCBRA, /* 131 Start of capturing bracket, check empty */ |
OP_SCBRA, /* 132 Start of capturing bracket, check empty */ |
| 1478 |
OP_SCBRAPOS, /* 132 Ditto, with unlimited, possessive repeat */ |
OP_SCBRAPOS, /* 133 Ditto, with unlimited, possessive repeat */ |
| 1479 |
OP_SCOND, /* 133 Conditional group, check empty */ |
OP_SCOND, /* 134 Conditional group, check empty */ |
| 1480 |
|
|
| 1481 |
/* The next two pairs must (respectively) be kept together. */ |
/* The next two pairs must (respectively) be kept together. */ |
| 1482 |
|
|
| 1483 |
OP_CREF, /* 134 Used to hold a capture number as condition */ |
OP_CREF, /* 135 Used to hold a capture number as condition */ |
| 1484 |
OP_NCREF, /* 135 Same, but generated by a name reference*/ |
OP_NCREF, /* 136 Same, but generated by a name reference*/ |
| 1485 |
OP_RREF, /* 136 Used to hold a recursion number as condition */ |
OP_RREF, /* 137 Used to hold a recursion number as condition */ |
| 1486 |
OP_NRREF, /* 137 Same, but generated by a name reference*/ |
OP_NRREF, /* 138 Same, but generated by a name reference*/ |
| 1487 |
OP_DEF, /* 138 The DEFINE condition */ |
OP_DEF, /* 139 The DEFINE condition */ |
| 1488 |
|
|
| 1489 |
OP_BRAZERO, /* 139 These two must remain together and in this */ |
OP_BRAZERO, /* 140 These two must remain together and in this */ |
| 1490 |
OP_BRAMINZERO, /* 140 order. */ |
OP_BRAMINZERO, /* 141 order. */ |
| 1491 |
OP_BRAPOSZERO, /* 141 */ |
OP_BRAPOSZERO, /* 142 */ |
| 1492 |
|
|
| 1493 |
/* These are backtracking control verbs */ |
/* These are backtracking control verbs */ |
| 1494 |
|
|
| 1495 |
OP_MARK, /* 142 always has an argument */ |
OP_MARK, /* 143 always has an argument */ |
| 1496 |
OP_PRUNE, /* 143 */ |
OP_PRUNE, /* 144 */ |
| 1497 |
OP_PRUNE_ARG, /* 144 same, but with argument */ |
OP_PRUNE_ARG, /* 145 same, but with argument */ |
| 1498 |
OP_SKIP, /* 145 */ |
OP_SKIP, /* 146 */ |
| 1499 |
OP_SKIP_ARG, /* 146 same, but with argument */ |
OP_SKIP_ARG, /* 147 same, but with argument */ |
| 1500 |
OP_THEN, /* 147 */ |
OP_THEN, /* 148 */ |
| 1501 |
OP_THEN_ARG, /* 148 same, but with argument */ |
OP_THEN_ARG, /* 149 same, but with argument */ |
| 1502 |
OP_COMMIT, /* 149 */ |
OP_COMMIT, /* 150 */ |
| 1503 |
|
|
| 1504 |
/* These are forced failure and success verbs */ |
/* These are forced failure and success verbs */ |
| 1505 |
|
|
| 1506 |
OP_FAIL, /* 150 */ |
OP_FAIL, /* 151 */ |
| 1507 |
OP_ACCEPT, /* 151 */ |
OP_ACCEPT, /* 152 */ |
| 1508 |
OP_ASSERT_ACCEPT, /* 152 Used inside assertions */ |
OP_ASSERT_ACCEPT, /* 153 Used inside assertions */ |
| 1509 |
OP_CLOSE, /* 153 Used before OP_ACCEPT to close open captures */ |
OP_CLOSE, /* 154 Used before OP_ACCEPT to close open captures */ |
| 1510 |
|
|
| 1511 |
/* This is used to skip a subpattern with a {0} quantifier */ |
/* This is used to skip a subpattern with a {0} quantifier */ |
| 1512 |
|
|
| 1513 |
OP_SKIPZERO, /* 154 */ |
OP_SKIPZERO, /* 155 */ |
| 1514 |
|
|
| 1515 |
/* This is not an opcode, but is used to check that tables indexed by opcode |
/* This is not an opcode, but is used to check that tables indexed by opcode |
| 1516 |
are the correct length, in order to catch updating errors - there have been |
are the correct length, in order to catch updating errors - there have been |
| 1554 |
"Recurse", "Callout", \ |
"Recurse", "Callout", \ |
| 1555 |
"Alt", "Ket", "KetRmax", "KetRmin", "KetRpos", \ |
"Alt", "Ket", "KetRmax", "KetRmin", "KetRpos", \ |
| 1556 |
"Reverse", "Assert", "Assert not", "AssertB", "AssertB not", \ |
"Reverse", "Assert", "Assert not", "AssertB", "AssertB not", \ |
| 1557 |
"Once", \ |
"Once", "Once_NC", \ |
| 1558 |
"Bra", "BraPos", "CBra", "CBraPos", \ |
"Bra", "BraPos", "CBra", "CBraPos", \ |
| 1559 |
"Cond", \ |
"Cond", \ |
| 1560 |
"SBra", "SBraPos", "SCBra", "SCBraPos", \ |
"SBra", "SBraPos", "SCBra", "SCBraPos", \ |
| 1628 |
1+LINK_SIZE, /* Assert behind */ \ |
1+LINK_SIZE, /* Assert behind */ \ |
| 1629 |
1+LINK_SIZE, /* Assert behind not */ \ |
1+LINK_SIZE, /* Assert behind not */ \ |
| 1630 |
1+LINK_SIZE, /* ONCE */ \ |
1+LINK_SIZE, /* ONCE */ \ |
| 1631 |
|
1+LINK_SIZE, /* ONCE_NC */ \ |
| 1632 |
1+LINK_SIZE, /* BRA */ \ |
1+LINK_SIZE, /* BRA */ \ |
| 1633 |
1+LINK_SIZE, /* BRAPOS */ \ |
1+LINK_SIZE, /* BRAPOS */ \ |
| 1634 |
3+LINK_SIZE, /* CBRA */ \ |
3+LINK_SIZE, /* CBRA */ \ |