|
243 | 243 | \begin{floattable}{Basic character set}{lex.charset.basic}{lll}
|
244 | 244 | \topline
|
245 | 245 | \lhdrx{2}{character} & \rhdr{glyph} \\ \capsep
|
246 |
| -U+0009 & CHARACTER TABULATION & \\ |
247 |
| -U+000B & LINE TABULATION & \\ |
248 |
| -U+000C & FORM FEED (FF) & \\ |
249 |
| -U+0020 & SPACE & \\ |
250 |
| -U+000A & LINE FEED (LF) & new-line \\ |
251 |
| -U+0021 & EXCLAMATION MARK & \tcode{!} \\ |
252 |
| -U+0022 & QUOTATION MARK & \tcode{"} \\ |
253 |
| -U+0023 & NUMBER SIGN & \tcode{\#} \\ |
254 |
| -U+0025 & PERCENT SIGN & \tcode{\%} \\ |
255 |
| -U+0026 & AMPERSAND & \tcode{\&} \\ |
256 |
| -U+0027 & APOSTROPHE & \tcode{'} \\ |
257 |
| -U+0028 & LEFT PARENTHESIS & \tcode{(} \\ |
258 |
| -U+0029 & RIGHT PARENTHESIS & \tcode{)} \\ |
259 |
| -U+002A & ASTERISK & \tcode{*} \\ |
260 |
| -U+002B & PLUS SIGN & \tcode{+} \\ |
261 |
| -U+002C & COMMA & \tcode{,} \\ |
262 |
| -U+002D & HYPHEN-MINUS & \tcode{-} \\ |
263 |
| -U+002E & FULL STOP & \tcode{.} \\ |
264 |
| -U+002F & SOLIDUS & \tcode{/} \\ |
265 |
| -U+0030 .. U+0039 & DIGIT ZERO .. NINE & \tcode{0 1 2 3 4 5 6 7 8 9} \\ |
266 |
| -U+003A & COLON & \tcode{:} \\ |
267 |
| -U+003B & SEMICOLON & \tcode{;} \\ |
268 |
| -U+003C & LESS-THAN SIGN & \tcode{<} \\ |
269 |
| -U+003D & EQUALS SIGN & \tcode{=} \\ |
270 |
| -U+003E & GREATER-THAN SIGN & \tcode{>} \\ |
271 |
| -U+003F & QUESTION MARK & \tcode{?} \\ |
272 |
| -U+0041 .. U+005A & LATIN CAPITAL LETTER A .. Z & \tcode{A B C D E F G H I J K L M} \\ |
273 |
| -& & \tcode{N O P Q R S T U V W X Y Z} \\ |
274 |
| -U+005B & LEFT SQUARE BRACKET & \tcode{[} \\ |
275 |
| -U+005C & REVERSE SOLIDUS & \tcode{\textbackslash} \\ |
276 |
| -U+005D & RIGHT SQUARE BRACKET & \tcode{]} \\ |
277 |
| -U+005E & CIRCUMFLEX ACCENT & \tcode{\caret} \\ |
278 |
| -U+005F & LOW LINE & \tcode{_} \\ |
279 |
| -U+0061 .. U+007A & LATIN SMALL LETTER A .. Z & \tcode{a b c d e f g h i j k l m} \\ |
| 246 | +\ucode{0009} & \uname{character tabulation} & \\ |
| 247 | +\ucode{000b} & \uname{line tabulation} & \\ |
| 248 | +\ucode{000c} & \uname{form feed (ff)} & \\ |
| 249 | +\ucode{0020} & \uname{space} & \\ |
| 250 | +\ucode{000a} & \uname{line feed (lf)} & new-line \\ |
| 251 | +\ucode{0021} & \uname{exclamation mark} & \tcode{!} \\ |
| 252 | +\ucode{0022} & \uname{quotation mark} & \tcode{"} \\ |
| 253 | +\ucode{0023} & \uname{number sign} & \tcode{\#} \\ |
| 254 | +\ucode{0025} & \uname{percent sign} & \tcode{\%} \\ |
| 255 | +\ucode{0026} & \uname{ampersand} & \tcode{\&} \\ |
| 256 | +\ucode{0027} & \uname{apostrophe} & \tcode{'} \\ |
| 257 | +\ucode{0028} & \uname{left parenthesis} & \tcode{(} \\ |
| 258 | +\ucode{0029} & \uname{right parenthesis} & \tcode{)} \\ |
| 259 | +\ucode{002a} & \uname{asterisk} & \tcode{*} \\ |
| 260 | +\ucode{002b} & \uname{plus sign} & \tcode{+} \\ |
| 261 | +\ucode{002c} & \uname{comma} & \tcode{,} \\ |
| 262 | +\ucode{002d} & \uname{hyphen-minus} & \tcode{-} \\ |
| 263 | +\ucode{002e} & \uname{full stop} & \tcode{.} \\ |
| 264 | +\ucode{002f} & \uname{solidus} & \tcode{/} \\ |
| 265 | +\ucode{0030} .. \ucode{0039} & \uname{digit zero .. nine} & \tcode{0 1 2 3 4 5 6 7 8 9} \\ |
| 266 | +\ucode{003a} & \uname{colon} & \tcode{:} \\ |
| 267 | +\ucode{003b} & \uname{semicolon} & \tcode{;} \\ |
| 268 | +\ucode{003c} & \uname{less-than sign} & \tcode{<} \\ |
| 269 | +\ucode{003d} & \uname{equals sign} & \tcode{=} \\ |
| 270 | +\ucode{003e} & \uname{greater-than sign} & \tcode{>} \\ |
| 271 | +\ucode{003f} & \uname{question mark} & \tcode{?} \\ |
| 272 | +\ucode{0041} .. \ucode{005a} & \uname{latin capital letter a .. z} & \tcode{A B C D E F G H I J K L M} \\ |
| 273 | + & & \tcode{N O P Q R S T U V W X Y Z} \\ |
| 274 | +\ucode{005b} & \uname{left square bracket} & \tcode{[} \\ |
| 275 | +\ucode{005c} & \uname{reverse solidus} & \tcode{\textbackslash} \\ |
| 276 | +\ucode{005d} & \uname{right square bracket} & \tcode{]} \\ |
| 277 | +\ucode{005e} & \uname{circumflex accent} & \tcode{\caret} \\ |
| 278 | +\ucode{005f} & \uname{low line} & \tcode{_} \\ |
| 279 | +\ucode{0061} .. \ucode{007a} & \uname{latin small letter a .. z} & \tcode{a b c d e f g h i j k l m} \\ |
280 | 280 | & & \tcode{n o p q r s t u v w x y z} \\
|
281 |
| -U+007B & LEFT CURLY BRACKET & \tcode{\{} \\ |
282 |
| -U+007C & VERTICAL LINE & \tcode{|} \\ |
283 |
| -U+007D & RIGHT CURLY BRACKET & \tcode{\}} \\ |
284 |
| -U+007E & TILDE & \tcode{\textasciitilde} \\ |
| 281 | +\ucode{007b} & \uname{left curly bracket} & \tcode{\{} \\ |
| 282 | +\ucode{007c} & \uname{vertical line} & \tcode{|} \\ |
| 283 | +\ucode{007d} & \uname{right curly bracket} & \tcode{\}} \\ |
| 284 | +\ucode{007e} & \uname{tilde} & \tcode{\textasciitilde} \\ |
285 | 285 | \end{floattable}
|
286 | 286 |
|
287 | 287 | \pnum
|
|
325 | 325 | \begin{floattable}{Additional control characters in the basic literal character set}{lex.charset.literal}{ll}
|
326 | 326 | \topline
|
327 | 327 | \ohdrx{2}{character} \\ \capsep
|
328 |
| -U+0000 & NULL \\ |
329 |
| -U+0007 & BELL \\ |
330 |
| -U+0008 & BACKSPACE \\ |
331 |
| -U+000D & CARRIAGE RETURN (CR) \\ |
| 328 | +\ucode{0000} & \uname{null} \\ |
| 329 | +\ucode{0007} & \uname{bell} \\ |
| 330 | +\ucode{0008} & \uname{backspace} \\ |
| 331 | +\ucode{000d} & \uname{carriage return (cr)} \\ |
332 | 332 | \end{floattable}
|
333 | 333 |
|
334 | 334 | \pnum
|
|
359 | 359 | \end{note}
|
360 | 360 | \indextext{character!null}%
|
361 | 361 | \indextext{wide-character!null}%
|
362 |
| -The U+0000 NULL character is encoded as the value \tcode{0}. |
| 362 | +The \unicode{0000}{null} character is encoded as the value \tcode{0}. |
363 | 363 | No other element of the translation character set
|
364 | 364 | is encoded with a code unit of value \tcode{0}.
|
365 |
| -The code unit value of each decimal digit character after the digit \tcode{0} (U+0030) |
| 365 | +The code unit value of each decimal digit character after the digit \tcode{0} (\ucode{0030}) |
366 | 366 | shall be one greater than the value of the previous.
|
367 | 367 | The ordinary and wide literal encodings are otherwise
|
368 | 368 | \impldef{ordinary and wide literal encodings}.
|
|
412 | 412 | literals), string literals (including user-defined string literals), preprocessing
|
413 | 413 | operators and punctuators, and single non-whitespace characters that do not lexically
|
414 | 414 | match the other preprocessing token categories.
|
415 |
| -If a U+0027 APOSTROPHE or a U+0022 QUOTATION MARK character |
| 415 | +If a \unicode{0027}{apostrophe} or a \unicode{0022}{quotation mark} character |
416 | 416 | matches the last category, the behavior is undefined.
|
417 | 417 | If any character not in the basic character set matches the last category,
|
418 | 418 | the program is ill-formed.
|
419 | 419 | Preprocessing tokens can be separated by
|
420 | 420 | \indextext{whitespace}%
|
421 | 421 | whitespace;
|
422 | 422 | \indextext{comment}%
|
423 |
| -this consists of comments\iref{lex.comment}, or whitespace |
424 |
| -characters (U+0020 SPACE, U+0009 CHARACTER TABULATION, new-line, U+000B LINE TABULATION, and U+000C FORM FEED), or both. As described in \ref{cpp}, in certain |
| 423 | +this consists of comments\iref{lex.comment}, or whitespace characters |
| 424 | +(\unicode{0020}{space}, |
| 425 | +\unicode{0009}{character tabulation}, |
| 426 | +new-line, |
| 427 | +\unicode{000b}{line tabulation}, and |
| 428 | +\unicode{000c}{form feed}), or both. |
| 429 | +As described in \ref{cpp}, in certain |
425 | 430 | circumstances during translation phase 4, whitespace (or the absence
|
426 | 431 | thereof) serves as more than preprocessing token separation. Whitespace
|
427 | 432 | can appear within a preprocessing token only as part of a header name or
|
|
625 | 630 |
|
626 | 631 | \begin{bnf}
|
627 | 632 | \nontermdef{h-char}\br
|
628 |
| - \textnormal{any member of the translation character set except new-line and \terminal{U+003E GREATER-THAN SIGN}} |
| 633 | + \textnormal{any member of the translation character set except new-line and \unicode{003e}{greater-than sign}} |
629 | 634 | \end{bnf}
|
630 | 635 |
|
631 | 636 | \begin{bnf}
|
|
636 | 641 |
|
637 | 642 | \begin{bnf}
|
638 | 643 | \nontermdef{q-char}\br
|
639 |
| - \textnormal{any member of the translation character set except new-line and \terminal{U+0022 QUOTATION MARK}} |
| 644 | + \textnormal{any member of the translation character set except new-line and \unicode{0022}{quotation mark}} |
640 | 645 | \end{bnf}
|
641 | 646 |
|
642 | 647 | \pnum
|
|
1273 | 1278 |
|
1274 | 1279 | \begin{bnf}
|
1275 | 1280 | \nontermdef{basic-c-char}\br
|
1276 |
| - \textnormal{any member of the translation character set except the U+0027 APOSTROPHE,}\br |
1277 |
| - \bnfindent\textnormal{U+005C REVERSE SOLIDUS, or new-line character} |
| 1281 | + \textnormal{any member of the translation character set except the \unicode{0027}{apostrophe},}\br |
| 1282 | + \bnfindent\textnormal{\unicode{005c}{reverse solidus}, or new-line character} |
1278 | 1283 | \end{bnf}
|
1279 | 1284 |
|
1280 | 1285 | \begin{bnf}
|
|
1492 | 1497 | {lll}
|
1493 | 1498 | \topline
|
1494 | 1499 | \lhdrx{2}{character} & \rhdr{\grammarterm{simple-escape-sequence}} \\ \capsep
|
1495 |
| -U+000A & LINE FEED (LF) & \tcode{\textbackslash n} \\ |
1496 |
| -U+0009 & CHARACTER TABULATION & \tcode{\textbackslash t} \\ |
1497 |
| -U+000B & LINE TABULATION & \tcode{\textbackslash v} \\ |
1498 |
| -U+0008 & BACKSPACE & \tcode{\textbackslash b} \\ |
1499 |
| -U+000D & CARRIAGE RETURN (CR) & \tcode{\textbackslash r} \\ |
1500 |
| -U+000C & FORM FEED (FF) & \tcode{\textbackslash f} \\ |
1501 |
| -U+0007 & BELL & \tcode{\textbackslash a} \\ |
1502 |
| -U+005C & REVERSE SOLIDUS & \tcode{\textbackslash\textbackslash} \\ |
1503 |
| -U+003F & QUESTION MARK & \tcode{\textbackslash ?} \\ |
1504 |
| -U+0027 & APOSTROPHE & \tcode{\textbackslash '} \\ |
1505 |
| -U+0022 & QUOTATION MARK & \tcode{\textbackslash "} \\ |
| 1500 | +\ucode{000a} & \uname{line feed} & \tcode{\textbackslash n} \\ |
| 1501 | +\ucode{0009} & \uname{character tabulation} & \tcode{\textbackslash t} \\ |
| 1502 | +\ucode{000b} & \uname{line tabulation} & \tcode{\textbackslash v} \\ |
| 1503 | +\ucode{0008} & \uname{backspace} & \tcode{\textbackslash b} \\ |
| 1504 | +\ucode{000d} & \uname{carriage return} & \tcode{\textbackslash r} \\ |
| 1505 | +\ucode{000c} & \uname{form feed} & \tcode{\textbackslash f} \\ |
| 1506 | +\ucode{0007} & \uname{bell} & \tcode{\textbackslash a} \\ |
| 1507 | +\ucode{005c} & \uname{reverse solidus} & \tcode{\textbackslash\textbackslash} \\ |
| 1508 | +\ucode{003f} & \uname{question mark} & \tcode{\textbackslash ?} \\ |
| 1509 | +\ucode{0027} & \uname{apostrohpe} & \tcode{\textbackslash '} \\ |
| 1510 | +\ucode{0022} & \uname{quotation mark} & \tcode{\textbackslash "} \\ |
1506 | 1511 | \end{floattable}
|
1507 | 1512 |
|
1508 | 1513 | \rSec2[lex.fcon]{Floating-point literals}
|
|
1654 | 1659 |
|
1655 | 1660 | \begin{bnf}
|
1656 | 1661 | \nontermdef{basic-s-char}\br
|
1657 |
| - \textnormal{any member of the translation character set except the U+0022 QUOTATION MARK,}\br |
1658 |
| - \bnfindent\textnormal{U+005C REVERSE SOLIDUS, or new-line character} |
| 1662 | + \textnormal{any member of the translation character set except the \unicode{0022}{quotation mark},}\br |
| 1663 | + \bnfindent\textnormal{\unicode{005c}{reverse solidus}, or new-line character} |
1659 | 1664 | \end{bnf}
|
1660 | 1665 |
|
1661 | 1666 | \begin{bnf}
|
|
1671 | 1676 |
|
1672 | 1677 | \begin{bnf}
|
1673 | 1678 | \nontermdef{r-char}\br
|
1674 |
| - \textnormal{any member of the translation character set, except a U+0029 RIGHT PARENTHESIS followed by}\br |
1675 |
| - \bnfindent\textnormal{the initial \grammarterm{d-char-sequence} (which may be empty) followed by a U+0022 QUOTATION MARK} |
| 1679 | + \textnormal{any member of the translation character set, except a \unicode{0029}{right parenthesis} followed by}\br |
| 1680 | + \bnfindent\textnormal{the initial \grammarterm{d-char-sequence} (which may be empty) followed by a \unicode{0022}{quotation mark}} |
1676 | 1681 | \end{bnf}
|
1677 | 1682 |
|
1678 | 1683 | \begin{bnf}
|
|
1684 | 1689 | \begin{bnf}
|
1685 | 1690 | \nontermdef{d-char}\br
|
1686 | 1691 | \textnormal{any member of the basic character set except:}\br
|
1687 |
| - \bnfindent\textnormal{U+0020 SPACE, U+0028 LEFT PARENTHESIS, U+0029 RIGHT PARENTHESIS,}\br |
1688 |
| - \bnfindent\textnormal{U+005C REVERSE SOLIDUS, U+0009 CHARACTER TABULATION,}\br |
1689 |
| - \bnfindent\textnormal{U+000B LINE TABULATION, U+000C FORM FEED (FF), and new-line} |
| 1692 | + \bnfindent\textnormal{\unicode{0020}{space}, \unicode{0028}{left parenthesis}, \unicode{0029}{right parenthesis}, \unicode{005c}{reverse solidus},}\br |
| 1693 | + \bnfindent\textnormal{\unicode{0009}{character tabulation}, \unicode{000b}{line tabulation}, \unicode{000c}{form feed}, and new-line} |
1690 | 1694 | \end{bnf}
|
1691 | 1695 |
|
1692 | 1696 | \pnum
|
|
1882 | 1886 | corresponding to the \grammarterm{string-literal}'s sequence of
|
1883 | 1887 | \grammarterm{s-char}s (originally from non-raw string literals) and
|
1884 | 1888 | \grammarterm{r-char}s (originally from raw string literals),
|
1885 |
| -plus a terminating U+0000 NULL character, |
| 1889 | +plus a terminating \unicode{0000}{null} character, |
1886 | 1890 | in order as follows:
|
1887 | 1891 | \begin{itemize}
|
1888 | 1892 | \item
|
|
0 commit comments