I have been reading about how regular expressions are parsed in JS in this link: https://262.ecma-international.org/13.0/#sec-regular-expressions, but I don't quite understand what are the parameterized annotations [N] and [Sep].
Like in this example:
If I am not wrong I think that the annotation [UnicodeMode] refers to the Unicode flag of the regexp.
Can someone guide me into what [N] and [Sep] means?

For how parameterised grammar productions work in general, see JavaScript grammar notation.
Yes indeed, it is used in ParsePattern which is called both for regex literals and from the
RegExpconstructor, and theUnicodeModegrammar flag is set when the/uregex flag is given.This flag is used to change the meaning of named backreferences. If the regex contains at least one named group
(?<name>…), then\k<name>notation will refer to such groups (and a group with the given name must exist, according to early error static semantics). But if the regex does not use(?<…>…)anywhere, then\kwill just be treated as anIdentityEscape(i.e. matching a literalkin the input text).That's just a reference to the
DecimalDigitsproduction from the normal number literal grammar. It prevents the use of aNumericLiteralSeparatorin the number, essentially making it a production matching only integer literals.