alternations.js |
---
esid: sec-assertion
description: Alternations are tried left to right, and we do not backtrack into a lookbehind.
info: |
The production Assertion :: (?<=Disjunction) evaluates as follows:
1. Evaluate Disjunction with -1 as its direction argument to obtain a Matcher m.
2. Return an internal Matcher closure that takes two arguments, a State x and a Continuation
c, and performs the following steps:
a. Let d be a Continuation that always returns its State argument as a successful MatchResult.
b. Call m(x, d) and let r be its result.
c. If r is failure, return failure.
d. Let y be r's State.
e. Let cap be y's captures List.
f. Let xe be x's endIndex.
g. Let z be the State (xe, cap).
h. Call c(z) and return its result.
features: [regexp-lookbehind]
includes: [compareArray.js]
--- |
1386 |
back-references-to-captures.js |
---
esid: sec-assertion
description: Back references to captures inside the lookbehind.
info: |
The production Assertion :: (?<=Disjunction) evaluates as follows:
1. Evaluate Disjunction with -1 as its direction argument to obtain a Matcher m.
2. Return an internal Matcher closure that takes two arguments, a State x and a Continuation
c, and performs the following steps:
a. Let d be a Continuation that always returns its State argument as a successful MatchResult.
b. Call m(x, d) and let r be its result.
c. If r is failure, return failure.
d. Let y be r's State.
e. Let cap be y's captures List.
f. Let xe be x's endIndex.
g. Let z be the State (xe, cap).
h. Call c(z) and return its result.
features: [regexp-lookbehind]
includes: [compareArray.js]
--- |
1417 |
back-references.js |
---
esid: sec-assertion
description: Back references
info: |
The production Assertion :: (?<=Disjunction) evaluates as follows:
1. Evaluate Disjunction with -1 as its direction argument to obtain a Matcher m.
2. Return an internal Matcher closure that takes two arguments, a State x and a Continuation
c, and performs the following steps:
a. Let d be a Continuation that always returns its State argument as a successful MatchResult.
b. Call m(x, d) and let r be its result.
c. If r is failure, return failure.
d. Let y be r's State.
e. Let cap be y's captures List.
f. Let xe be x's endIndex.
g. Let z be the State (xe, cap).
h. Call c(z) and return its result.
features: [regexp-lookbehind]
includes: [compareArray.js]
--- |
2285 |
browser.js |
|
0 |
captures-negative.js |
---
esid: sec-assertion
description: >
Captures inside negative lookbehind. (They never capture.)
info: |
The production Assertion :: (?<=Disjunction) evaluates as follows:
1. Evaluate Disjunction with -1 as its direction argument to obtain a Matcher m.
2. Return an internal Matcher closure that takes two arguments, a State x and a Continuation
c, and performs the following steps:
a. Let d be a Continuation that always returns its State argument as a successful MatchResult.
b. Call m(x, d) and let r be its result.
c. If r is failure, return failure.
d. Let y be r's State.
e. Let cap be y's captures List.
f. Let xe be x's endIndex.
g. Let z be the State (xe, cap).
h. Call c(z) and return its result.
features: [regexp-lookbehind]
includes: [compareArray.js]
--- |
1082 |
captures.js |
---
esid: sec-assertion
description: >
Capturing matches
info: |
The production Assertion :: (?<=Disjunction) evaluates as follows:
1. Evaluate Disjunction with -1 as its direction argument to obtain a Matcher m.
2. Return an internal Matcher closure that takes two arguments, a State x and a Continuation
c, and performs the following steps:
a. Let d be a Continuation that always returns its State argument as a successful MatchResult.
b. Call m(x, d) and let r be its result.
c. If r is failure, return failure.
d. Let y be r's State.
e. Let cap be y's captures List.
f. Let xe be x's endIndex.
g. Let z be the State (xe, cap).
h. Call c(z) and return its result.
features: [regexp-lookbehind]
includes: [compareArray.js]
--- |
1658 |
do-not-backtrack.js |
---
esid: sec-assertion
description: Do not backtrack into a lookbehind.
info: |
The production Assertion :: (?<=Disjunction) evaluates as follows:
1. Evaluate Disjunction with -1 as its direction argument to obtain a Matcher m.
2. Return an internal Matcher closure that takes two arguments, a State x and a Continuation
c, and performs the following steps:
a. Let d be a Continuation that always returns its State argument as a successful MatchResult.
b. Call m(x, d) and let r be its result.
c. If r is failure, return failure.
d. Let y be r's State.
e. Let cap be y's captures List.
f. Let xe be x's endIndex.
g. Let z be the State (xe, cap).
h. Call c(z) and return its result.
features: [regexp-lookbehind]
--- |
1132 |
greedy-loop.js |
---
esid: sec-assertion
description: Greedy loop
info: |
The production Assertion :: (?<=Disjunction) evaluates as follows:
1. Evaluate Disjunction with -1 as its direction argument to obtain a Matcher m.
2. Return an internal Matcher closure that takes two arguments, a State x and a Continuation
c, and performs the following steps:
a. Let d be a Continuation that always returns its State argument as a successful MatchResult.
b. Call m(x, d) and let r be its result.
c. If r is failure, return failure.
d. Let y be r's State.
e. Let cap be y's captures List.
f. Let xe be x's endIndex.
g. Let z be the State (xe, cap).
h. Call c(z) and return its result.
features: [regexp-lookbehind]
includes: [compareArray.js]
--- |
1196 |
misc.js |
---
esid: sec-assertion
description: Misc RegExp lookbehind tests
info: |
The production Assertion :: (?<=Disjunction) evaluates as follows:
1. Evaluate Disjunction with -1 as its direction argument to obtain a Matcher m.
2. Return an internal Matcher closure that takes two arguments, a State x and a Continuation
c, and performs the following steps:
a. Let d be a Continuation that always returns its State argument as a successful MatchResult.
b. Call m(x, d) and let r be its result.
c. If r is failure, return failure.
d. Let y be r's State.
e. Let cap be y's captures List.
f. Let xe be x's endIndex.
g. Let z be the State (xe, cap).
h. Call c(z) and return its result.
features: [regexp-lookbehind]
includes: [compareArray.js]
--- |
1837 |
mutual-recursive.js |
---
esid: sec-assertion
description: Mutual recursive capture/back references
info: |
The production Assertion :: (?<=Disjunction) evaluates as follows:
1. Evaluate Disjunction with -1 as its direction argument to obtain a Matcher m.
2. Return an internal Matcher closure that takes two arguments, a State x and a Continuation
c, and performs the following steps:
a. Let d be a Continuation that always returns its State argument as a successful MatchResult.
b. Call m(x, d) and let r be its result.
c. If r is failure, return failure.
d. Let y be r's State.
e. Let cap be y's captures List.
f. Let xe be x's endIndex.
g. Let z be the State (xe, cap).
h. Call c(z) and return its result.
features: [regexp-lookbehind]
includes: [compareArray.js]
--- |
1305 |
negative.js |
---
esid: sec-assertion
description: RegExp negative lookbehind
info: |
The production Assertion :: (?<!Disjunction) evaluates as follows:
1. Evaluate Disjunction with -1 as its direction argument to obtain a Matcher m.
2. Return an internal Matcher closure that takes two arguments, a State x and a
Continuation c, and performs the following steps:
a. Let d be a Continuation that always returns its State argument as a successful
MatchResult.
b. Call m(x, d) and let r be its result.
c. If r is not failure, return failure.
d. Call c(x) and return its result.
features: [regexp-lookbehind]
includes: [compareArray.js]
--- |
1661 |
nested-lookaround.js |
---
esid: sec-assertion
description: Nested lookaround
info: |
The production Assertion :: (?<=Disjunction) evaluates as follows:
1. Evaluate Disjunction with -1 as its direction argument to obtain a Matcher m.
2. Return an internal Matcher closure that takes two arguments, a State x and a Continuation
c, and performs the following steps:
a. Let d be a Continuation that always returns its State argument as a successful MatchResult.
b. Call m(x, d) and let r be its result.
c. If r is failure, return failure.
d. Let y be r's State.
e. Let cap be y's captures List.
f. Let xe be x's endIndex.
g. Let z be the State (xe, cap).
h. Call c(z) and return its result.
features: [regexp-lookbehind]
includes: [compareArray.js]
--- |
1389 |
shell.js |
|
0 |
simple-fixed-length.js |
---
esid: sec-assertion
description: Simple fixed-length matches
info: |
The production Assertion :: (?<=Disjunction) evaluates as follows:
1. Evaluate Disjunction with -1 as its direction argument to obtain a Matcher m.
2. Return an internal Matcher closure that takes two arguments, a State x and a Continuation
c, and performs the following steps:
a. Let d be a Continuation that always returns its State argument as a successful MatchResult.
b. Call m(x, d) and let r be its result.
c. If r is failure, return failure.
d. Let y be r's State.
e. Let cap be y's captures List.
f. Let xe be x's endIndex.
g. Let z be the State (xe, cap).
h. Call c(z) and return its result.
features: [regexp-lookbehind]
includes: [compareArray.js]
--- |
2071 |
sliced-strings.js |
---
esid: sec-assertion
description: Sliced strings
info: |
Rationale from https://github.com/tc39/test262/pull/999#discussion_r113807747
Since this test originates from V8, this targets V8's sliced strings, which are used for
substrings above a length of 13 characters. I wrote this test for exactly the reason
@littledan mentioned. That's why the variable name is called oob_subject. The underlying string
backing store extends beyond the actual boundary of the sliced string.
features: [regexp-lookbehind]
--- |
994 |
start-of-line.js |
---
esid: sec-assertion
description: Start of line matches
info: |
The production Assertion :: (?<=Disjunction) evaluates as follows:
1. Evaluate Disjunction with -1 as its direction argument to obtain a Matcher m.
2. Return an internal Matcher closure that takes two arguments, a State x and a Continuation
c, and performs the following steps:
a. Let d be a Continuation that always returns its State argument as a successful MatchResult.
b. Call m(x, d) and let r be its result.
c. If r is failure, return failure.
d. Let y be r's State.
e. Let cap be y's captures List.
f. Let xe be x's endIndex.
g. Let z be the State (xe, cap).
h. Call c(z) and return its result.
features: [regexp-lookbehind]
includes: [compareArray.js]
--- |
2177 |
sticky.js |
---
esid: sec-assertion
description: Sticky
info: |
The production Assertion :: (?<=Disjunction) evaluates as follows:
1. Evaluate Disjunction with -1 as its direction argument to obtain a Matcher m.
2. Return an internal Matcher closure that takes two arguments, a State x and a Continuation
c, and performs the following steps:
a. Let d be a Continuation that always returns its State argument as a successful MatchResult.
b. Call m(x, d) and let r be its result.
c. If r is failure, return failure.
d. Let y be r's State.
e. Let cap be y's captures List.
f. Let xe be x's endIndex.
g. Let z be the State (xe, cap).
h. Call c(z) and return its result.
features: [regexp-lookbehind]
includes: [compareArray.js]
--- |
1251 |
variable-length.js |
---
esid: sec-assertion
description: Variable-length matches
info: |
The production Assertion :: (?<=Disjunction) evaluates as follows:
1. Evaluate Disjunction with -1 as its direction argument to obtain a Matcher m.
2. Return an internal Matcher closure that takes two arguments, a State x and a Continuation
c, and performs the following steps:
a. Let d be a Continuation that always returns its State argument as a successful MatchResult.
b. Call m(x, d) and let r be its result.
c. If r is failure, return failure.
d. Let y be r's State.
e. Let cap be y's captures List.
f. Let xe be x's endIndex.
g. Let z be the State (xe, cap).
h. Call c(z) and return its result.
features: [regexp-lookbehind]
includes: [compareArray.js]
--- |
1120 |
word-boundary.js |
---
esid: sec-assertion
description: Word boundary
info: |
The production Assertion :: (?<=Disjunction) evaluates as follows:
1. Evaluate Disjunction with -1 as its direction argument to obtain a Matcher m.
2. Return an internal Matcher closure that takes two arguments, a State x and a Continuation
c, and performs the following steps:
a. Let d be a Continuation that always returns its State argument as a successful MatchResult.
b. Call m(x, d) and let r be its result.
c. If r is failure, return failure.
d. Let y be r's State.
e. Let cap be y's captures List.
f. Let xe be x's endIndex.
g. Let z be the State (xe, cap).
h. Call c(z) and return its result.
features: [regexp-lookbehind]
includes: [compareArray.js]
--- |
1269 |