|
3680 | 3680 | \pnum
|
3681 | 3681 | The following productions within the ECMAScript grammar are modified as follows:
|
3682 | 3682 |
|
3683 |
| -\begin{codeblock} |
3684 |
| -ClassAtom :: |
3685 |
| - - |
3686 |
| - ClassAtomNoDash |
3687 |
| - ClassAtomExClass |
3688 |
| - ClassAtomCollatingElement |
| 3683 | +\begin{ncbnf} |
| 3684 | +\renontermdef{ClassAtom}\br |
| 3685 | + \terminal{-}\br |
| 3686 | + ClassAtomNoDash\br |
| 3687 | + ClassAtomExClass\br |
| 3688 | + ClassAtomCollatingElement\br |
3689 | 3689 | ClassAtomEquivalence
|
3690 | 3690 |
|
3691 |
| -IdentityEscape :: |
3692 |
| - SourceCharacter but not c |
3693 |
| -\end{codeblock} |
| 3691 | +\renontermdef{IdentityEscape}\br |
| 3692 | + SourceCharacter \textnormal{\textbf{but not}} \terminal{c} |
| 3693 | +\end{ncbnf} |
3694 | 3694 |
|
3695 | 3695 | \pnum
|
3696 | 3696 | The following new productions are then added:
|
3697 | 3697 |
|
3698 |
| -\begin{codeblock} |
3699 |
| -ClassAtomExClass :: |
3700 |
| - [: ClassName :] |
| 3698 | +\begin{ncbnf} |
| 3699 | +\renontermdef{ClassAtomExClass}\br |
| 3700 | + \terminal{[:} ClassName \terminal{:]} |
3701 | 3701 |
|
3702 |
| -ClassAtomCollatingElement :: |
3703 |
| - [. ClassName .] |
| 3702 | +\renontermdef{ClassAtomCollatingElement}\br |
| 3703 | + \terminal{[.} ClassName \terminal{.]} |
3704 | 3704 |
|
3705 |
| -ClassAtomEquivalence :: |
3706 |
| - [= ClassName =] |
| 3705 | +\renontermdef{ClassAtomEquivalence}\br |
| 3706 | + \terminal{[=} ClassName \terminal{=]} |
3707 | 3707 |
|
3708 |
| -ClassName :: |
3709 |
| - ClassNameCharacter |
| 3708 | +\renontermdef{ClassName}\br |
| 3709 | + ClassNameCharacter\br |
3710 | 3710 | ClassNameCharacter ClassName
|
3711 | 3711 |
|
3712 |
| -ClassNameCharacter :: |
3713 |
| - SourceCharacter but not one of "." "=" ":" |
3714 |
| -\end{codeblock} |
| 3712 | +\renontermdef{ClassNameCharacter}\br |
| 3713 | + SourceCharacter \textnormal{\textbf{but not one of}} \terminal{.} \textnormal{\textbf{or}} \terminal{=} \textnormal{\textbf{or}} \terminal{:} |
| 3714 | +\end{ncbnf} |
3715 | 3715 |
|
3716 | 3716 | \pnum
|
3717 |
| -The productions \tcode{ClassAtomExClass}, \tcode{ClassAtomCollatingElement} |
3718 |
| -and \tcode{ClassAtomEquivalence} provide functionality |
| 3717 | +The productions \regrammarterm{ClassAtomExClass}, \regrammarterm{ClassAtomCollatingElement} |
| 3718 | +and \regrammarterm{ClassAtomEquivalence} provide functionality |
3719 | 3719 | equivalent to that of the same features in regular expressions in POSIX.
|
3720 | 3720 |
|
3721 | 3721 | \pnum
|
|
3725 | 3725 | according to the rules in \tref{re.synopt}.
|
3726 | 3726 |
|
3727 | 3727 | \pnum
|
3728 |
| -A \tcode{ClassName} production, when used in \tcode{ClassAtomExClass}, |
| 3728 | +A \regrammarterm{ClassName} production, when used in \regrammarterm{ClassAtomExClass}, |
3729 | 3729 | is not valid if \tcode{traits_inst.lookup_classname} returns zero for
|
3730 |
| -that name. The names recognized as valid \tcode{ClassName}s are |
| 3730 | +that name. The names recognized as valid \regrammarterm{ClassName}s are |
3731 | 3731 | determined by the type of the traits class, but at least the following
|
3732 | 3732 | names shall be recognized:
|
3733 | 3733 | \tcode{alnum}, \tcode{alpha}, \tcode{blank}, \tcode{cntrl}, \tcode{digit},
|
|
3752 | 3752 | \pnum
|
3753 | 3753 | \indexlibrary{regular expression traits!\idxcode{lookup_collatename}}%
|
3754 | 3754 | \indexlibrary{\idxcode{lookup_collatename}!regular expression traits}%
|
3755 |
| -A \tcode{ClassName} production when used in |
3756 |
| -a \tcode{ClassAtomCollatingElement} production is not valid |
| 3755 | +A \regrammarterm{ClassName} production when used in |
| 3756 | +a \regrammarterm{ClassAtomCollatingElement} production is not valid |
3757 | 3757 | if the value returned by \tcode{traits_inst.lookup_collatename} for
|
3758 | 3758 | that name is an empty string.
|
3759 | 3759 |
|
|
3769 | 3769 | \pnum
|
3770 | 3770 | \indexlibrary{regular expression traits!\idxcode{transform_primary}}%
|
3771 | 3771 | \indextext{\idxcode{transform_primary}!regular expression traits}%
|
3772 |
| -A \tcode{ClassName} production when used in |
3773 |
| -a \tcode{ClassAtomEquivalence} production is not valid if the value |
| 3772 | +A \regrammarterm{ClassName} production when used in |
| 3773 | +a \regrammarterm{ClassAtomEquivalence} production is not valid if the value |
3774 | 3774 | returned by \tcode{traits_inst.lookup_collatename} for that name is an
|
3775 | 3775 | empty string or if the value returned by \tcode{traits_inst\brk.transform_primary}
|
3776 | 3776 | for the result of the call to \tcode{traits_inst.lookup_collatename}
|
|
0 commit comments