diff --git a/spec.html b/spec.html index 53e350562ba..fbb4d063ade 100644 --- a/spec.html +++ b/spec.html @@ -27021,7 +27021,7 @@
The `RegExp` constructor applies the following grammar to the input pattern String. An error occurs if the grammar cannot interpret the String as an expansion of |Pattern|.
+Some of these productions (indicated by “::!”) introduce ambiguities that are broken by the ordering of alternatives. When parsing using such productions, each alternative is considered only if previous alternatives do not match.
Patterns that use the following productions are allowed, but deprecated:
+A number of productions in this section are given alternative definitions in section
This section is amended in
This section is amended in
The definitions of “the MV of |NonZeroDigit|” and “the MV of |DecimalDigits|” are in
This section is amended in
This section is amended in
`\\0` represents the <NUL> character and cannot be followed by a decimal digit.
A regular expression pattern is converted into an Abstract Closure using the process described below. An implementation is encouraged to use more efficient algorithms than the ones listed below, as long as the results are the same. The Abstract Closure is used as the value of a RegExp object's [[RegExpMatcher]] internal slot.
A |Pattern| is either a BMP pattern or a Unicode pattern depending upon whether or not its associated flags contain a `u`. A BMP pattern matches against a String interpreted as consisting of a sequence of 16-bit values that are Unicode code points in the range of the Basic Multilingual Plane. A Unicode pattern matches against a String interpreted as consisting of Unicode code points encoded using UTF-16. In the context of describing the behaviour of a BMP pattern “character” means a single 16-bit Unicode BMP code point. In the context of describing the behaviour of a Unicode pattern “character” means a UTF-16 encoded code point (
With parameter _direction_.
-The production
The production
The resulting Matcher is independent of _direction_.
The production
The production
The production
The production
----
+In the above algorithm, references to
The production
The production
The production
The production
The production
----
+The evaluation rules for the
The production
The production
The production
----
+The evaluation rules for the |Atom| productions except for
The production
The production
The production
The production
The production
The |ClassEscape| productions evaluate as follows:
With parameter _direction_.
-The production
The production
The production
The production
An escape sequence of the form `\\` followed by a non-zero decimal number _n_ matches the result of the _n_th set of capturing parentheses (
The production
The production
The production
The production
The |CharacterEscape| productions evaluate as follows:
The syntax of
This alternative pattern grammar and semantics only changes the syntax and semantics of BMP patterns. The following grammar extensions include productions parameterized with the [U] parameter. However, none of these extensions change the syntax of Unicode patterns recognized when parsing with the [U] parameter present on the goal symbol.
-When the same left hand sides occurs with both [+U] and [\~U] guards it is to control the disambiguation priority.
-The semantics of
Additionally, the rules for the following productions are modified with the addition of the highlighted text:
-The semantics of
The semantics of
The semantics of
Within
Term (
The production
The production
The production
Assertion (
The production
Assertion (
Atom (
The production
The production
CharacterEscape (
The production
NonemptyClassRanges (
The production
NonemptyClassRangesNoDash (
The production
ClassEscape (
The production
ClassAtomNoDash (
The production
Some of the syntax and semantics of BMP patterns ([~U]) used to be normative optional.