From f55b180957aa626ef8f87311e2e3b469dff0bf17 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Wed, 8 Jan 2025 16:23:22 -0800 Subject: [PATCH] Normative: Add RegExp Modifiers (#3221) --- spec.html | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 74 insertions(+), 4 deletions(-) diff --git a/spec.html b/spec.html index 37bde11a5a..349e2c3083 100644 --- a/spec.html +++ b/spec.html @@ -35788,7 +35788,15 @@

Syntax

`\` AtomEscape[?UnicodeMode, ?NamedCaptureGroups] CharacterClass[?UnicodeMode, ?UnicodeSetsMode] `(` GroupSpecifier[?UnicodeMode]? Disjunction[?UnicodeMode, ?UnicodeSetsMode, ?NamedCaptureGroups] `)` - `(?:` Disjunction[?UnicodeMode, ?UnicodeSetsMode, ?NamedCaptureGroups] `)` + `(?` RegularExpressionModifiers `:` Disjunction[?UnicodeMode, ?UnicodeSetsMode, ?NamedCaptureGroups] `)` + `(?` RegularExpressionModifiers `-` RegularExpressionModifiers `:` Disjunction[?UnicodeMode, ?UnicodeSetsMode, ?NamedCaptureGroups] `)` + + RegularExpressionModifiers :: + [empty] + RegularExpressionModifiers RegularExpressionModifier + + RegularExpressionModifier :: one of + `i` `m` `s` SyntaxCharacter :: one of `^` `$` `\` `.` `*` `+` `?` `(` `)` `[` `]` `{` `}` `|` @@ -36033,6 +36041,27 @@

Static Semantics: Early Errors

It is a Syntax Error if the MV of the first |DecimalDigits| is strictly greater than the MV of the second |DecimalDigits|. + Atom :: `(?` RegularExpressionModifiers `:` Disjunction `)` + + Atom :: `(?` RegularExpressionModifiers `-` RegularExpressionModifiers `:` Disjunction `)` + AtomEscape :: `k` GroupName