|
330 | 330 | \ucode{000c} & \uname{form feed} & \\
|
331 | 331 | \ucode{0020} & \uname{space} & \\
|
332 | 332 | \ucode{000a} & \uname{line feed} & new-line \\
|
333 |
| -\ucode{0021} & \uname{exclamation mark} & \tcode{!} \\ |
334 |
| -\ucode{0022} & \uname{quotation mark} & \tcode{"} \\ |
335 |
| -\ucode{0023} & \uname{number sign} & \tcode{\#} \\ |
336 |
| -\ucode{0024} & \uname{dollar sign} & \tcode{\$} \\ |
337 |
| -\ucode{0025} & \uname{percent sign} & \tcode{\%} \\ |
338 |
| -\ucode{0026} & \uname{ampersand} & \tcode{\&} \\ |
339 |
| -\ucode{0027} & \uname{apostrophe} & \tcode{'} \\ |
340 |
| -\ucode{0028} & \uname{left parenthesis} & \tcode{(} \\ |
341 |
| -\ucode{0029} & \uname{right parenthesis} & \tcode{)} \\ |
342 |
| -\ucode{002a} & \uname{asterisk} & \tcode{*} \\ |
343 |
| -\ucode{002b} & \uname{plus sign} & \tcode{+} \\ |
344 |
| -\ucode{002c} & \uname{comma} & \tcode{,} \\ |
345 |
| -\ucode{002d} & \uname{hyphen-minus} & \tcode{-} \\ |
346 |
| -\ucode{002e} & \uname{full stop} & \tcode{.} \\ |
347 |
| -\ucode{002f} & \uname{solidus} & \tcode{/} \\ |
348 |
| -\ucode{0030} .. \ucode{0039} & \uname{digit zero .. nine} & \tcode{0 1 2 3 4 5 6 7 8 9} \\ |
349 |
| -\ucode{003a} & \uname{colon} & \tcode{:} \\ |
350 |
| -\ucode{003b} & \uname{semicolon} & \tcode{;} \\ |
351 |
| -\ucode{003c} & \uname{less-than sign} & \tcode{<} \\ |
352 |
| -\ucode{003d} & \uname{equals sign} & \tcode{=} \\ |
353 |
| -\ucode{003e} & \uname{greater-than sign} & \tcode{>} \\ |
354 |
| -\ucode{003f} & \uname{question mark} & \tcode{?} \\ |
355 |
| -\ucode{0040} & \uname{commercial at} & \tcode{@} \\ |
356 |
| -\ucode{0041} .. \ucode{005a} & \uname{latin capital letter a .. z} & \tcode{A B C D E F G H I J K L M} \\ |
357 |
| - & & \tcode{N O P Q R S T U V W X Y Z} \\ |
358 |
| -\ucode{005b} & \uname{left square bracket} & \tcode{[} \\ |
359 |
| -\ucode{005c} & \uname{reverse solidus} & \tcode{\textbackslash} \\ |
360 |
| -\ucode{005d} & \uname{right square bracket} & \tcode{]} \\ |
361 |
| -\ucode{005e} & \uname{circumflex accent} & \tcode{\caret} \\ |
362 |
| -\ucode{005f} & \uname{low line} & \tcode{_} \\ |
363 |
| -\ucode{0060} & \uname{grave accent} & \tcode{\`} \\ |
364 |
| -\ucode{0061} .. \ucode{007a} & \uname{latin small letter a .. z} & \tcode{a b c d e f g h i j k l m} \\ |
365 |
| - & & \tcode{n o p q r s t u v w x y z} \\ |
366 |
| -\ucode{007b} & \uname{left curly bracket} & \tcode{\{} \\ |
367 |
| -\ucode{007c} & \uname{vertical line} & \tcode{|} \\ |
368 |
| -\ucode{007d} & \uname{right curly bracket} & \tcode{\}} \\ |
369 |
| -\ucode{007e} & \uname{tilde} & \tcode{\textasciitilde} \\ |
| 333 | +\ucode{0021} & \uname{exclamation mark} & \noncxxtcode{!} \\ |
| 334 | +\ucode{0022} & \uname{quotation mark} & \noncxxtcode{"} \\ |
| 335 | +\ucode{0023} & \uname{number sign} & \noncxxtcode{\#} \\ |
| 336 | +\ucode{0024} & \uname{dollar sign} & \noncxxtcode{\$} \\ |
| 337 | +\ucode{0025} & \uname{percent sign} & \noncxxtcode{\%} \\ |
| 338 | +\ucode{0026} & \uname{ampersand} & \noncxxtcode{\&} \\ |
| 339 | +\ucode{0027} & \uname{apostrophe} & \noncxxtcode{'} \\ |
| 340 | +\ucode{0028} & \uname{left parenthesis} & \noncxxtcode{(} \\ |
| 341 | +\ucode{0029} & \uname{right parenthesis} & \noncxxtcode{)} \\ |
| 342 | +\ucode{002a} & \uname{asterisk} & \noncxxtcode{*} \\ |
| 343 | +\ucode{002b} & \uname{plus sign} & \noncxxtcode{+} \\ |
| 344 | +\ucode{002c} & \uname{comma} & \noncxxtcode{,} \\ |
| 345 | +\ucode{002d} & \uname{hyphen-minus} & \noncxxtcode{-} \\ |
| 346 | +\ucode{002e} & \uname{full stop} & \noncxxtcode{.} \\ |
| 347 | +\ucode{002f} & \uname{solidus} & \noncxxtcode{/} \\ |
| 348 | +\ucode{0030} .. \ucode{0039} & \uname{digit zero .. nine} & \noncxxtcode{0 1 2 3 4 5 6 7 8 9} \\ |
| 349 | +\ucode{003a} & \uname{colon} & \noncxxtcode{:} \\ |
| 350 | +\ucode{003b} & \uname{semicolon} & \noncxxtcode{;} \\ |
| 351 | +\ucode{003c} & \uname{less-than sign} & \noncxxtcode{<} \\ |
| 352 | +\ucode{003d} & \uname{equals sign} & \noncxxtcode{=} \\ |
| 353 | +\ucode{003e} & \uname{greater-than sign} & \noncxxtcode{>} \\ |
| 354 | +\ucode{003f} & \uname{question mark} & \noncxxtcode{?} \\ |
| 355 | +\ucode{0040} & \uname{commercial at} & \noncxxtcode{@} \\ |
| 356 | +\ucode{0041} .. \ucode{005a} & \uname{latin capital letter a .. z} & \noncxxtcode{A B C D E F G H I J K L M} \\ |
| 357 | + & & \noncxxtcode{N O P Q R S T U V W X Y Z} \\ |
| 358 | +\ucode{005b} & \uname{left square bracket} & \noncxxtcode{[} \\ |
| 359 | +\ucode{005c} & \uname{reverse solidus} & \noncxxtcode{\textbackslash} \\ |
| 360 | +\ucode{005d} & \uname{right square bracket} & \noncxxtcode{]} \\ |
| 361 | +\ucode{005e} & \uname{circumflex accent} & \noncxxtcode{\caret} \\ |
| 362 | +\ucode{005f} & \uname{low line} & \noncxxtcode{_} \\ |
| 363 | +\ucode{0060} & \uname{grave accent} & \noncxxtcode{\`} \\ |
| 364 | +\ucode{0061} .. \ucode{007a} & \uname{latin small letter a .. z} & \noncxxtcode{a b c d e f g h i j k l m} \\ |
| 365 | + & & \noncxxtcode{n o p q r s t u v w x y z} \\ |
| 366 | +\ucode{007b} & \uname{left curly bracket} & \noncxxtcode{\{} \\ |
| 367 | +\ucode{007c} & \uname{vertical line} & \noncxxtcode{|} \\ |
| 368 | +\ucode{007d} & \uname{right curly bracket} & \noncxxtcode{\}} \\ |
| 369 | +\ucode{007e} & \uname{tilde} & \noncxxtcode{\textasciitilde} \\ |
370 | 370 | \end{floattable}
|
371 | 371 |
|
372 | 372 | \pnum
|
|
603 | 603 | \item
|
604 | 604 | \indextext{literal!string!raw}%
|
605 | 605 | If the next character begins a sequence of characters that could be the prefix
|
606 |
| -and initial double quote of a raw string literal, such as \tcode{R"}, the next preprocessing |
| 606 | +and initial double quote of a raw string literal, such as \literaltcode{R"}, the next preprocessing |
607 | 607 | token shall be a raw string literal. Between the initial and final
|
608 | 608 | double quote characters of the raw string, any transformations performed in phase
|
609 | 609 | 2 (line splicing) are reverted; this reversion
|
610 | 610 | shall apply before any \grammarterm{d-char}, \grammarterm{r-char}, or delimiting
|
611 | 611 | parenthesis is identified. The raw string literal is defined as the shortest sequence
|
612 | 612 | of characters that matches the raw-string pattern
|
613 | 613 | \begin{ncbnf}
|
614 |
| -\opt{encoding-prefix} \terminal{R} raw-string |
| 614 | +\opt{encoding-prefix} \literalterminal{R} raw-string |
615 | 615 | \end{ncbnf}
|
616 | 616 |
|
617 | 617 | \item Otherwise, if the next three characters are \tcode{<::} and the subsequent character
|
|
746 | 746 | \begin{bnf}
|
747 | 747 | \nontermdef{pp-number}\br
|
748 | 748 | digit\br
|
749 |
| - \terminal{.} digit\br |
| 749 | + \literalterminal{.} digit\br |
750 | 750 | pp-number identifier-continue\br
|
751 |
| - pp-number \terminal{'} digit\br |
752 |
| - pp-number \terminal{'} nondigit\br |
753 |
| - pp-number \terminal{e} sign\br |
754 |
| - pp-number \terminal{E} sign\br |
755 |
| - pp-number \terminal{p} sign\br |
756 |
| - pp-number \terminal{P} sign\br |
757 |
| - pp-number \terminal{.} |
| 751 | + pp-number \literalterminal{'} digit\br |
| 752 | + pp-number \literalterminal{'} nondigit\br |
| 753 | + pp-number \literalterminal{e} sign\br |
| 754 | + pp-number \literalterminal{E} sign\br |
| 755 | + pp-number \literalterminal{p} sign\br |
| 756 | + pp-number \literalterminal{P} sign\br |
| 757 | + pp-number \literalterminal{.} |
758 | 758 | \end{bnf}
|
759 | 759 |
|
760 | 760 | \pnum
|
|
1182 | 1182 | \nontermdef{binary-literal}\br
|
1183 | 1183 | \terminal{0b} binary-digit\br
|
1184 | 1184 | \terminal{0B} binary-digit\br
|
1185 |
| - binary-literal \opt{\terminal{'}} binary-digit |
| 1185 | + binary-literal \opt{\literalterminal{'}} binary-digit |
1186 | 1186 | \end{bnf}
|
1187 | 1187 |
|
1188 | 1188 | \begin{bnf}
|
1189 | 1189 | \nontermdef{octal-literal}\br
|
1190 | 1190 | \terminal{0}\br
|
1191 |
| - octal-literal \opt{\terminal{'}} octal-digit |
| 1191 | + octal-literal \opt{\literalterminal{'}} octal-digit |
1192 | 1192 | \end{bnf}
|
1193 | 1193 |
|
1194 | 1194 | \begin{bnf}
|
1195 | 1195 | \nontermdef{decimal-literal}\br
|
1196 | 1196 | nonzero-digit\br
|
1197 |
| - decimal-literal \opt{\terminal{'}} digit |
| 1197 | + decimal-literal \opt{\literalterminal{'}} digit |
1198 | 1198 | \end{bnf}
|
1199 | 1199 |
|
1200 | 1200 | \begin{bnf}
|
|
1225 | 1225 | \begin{bnf}
|
1226 | 1226 | \nontermdef{hexadecimal-digit-sequence}\br
|
1227 | 1227 | hexadecimal-digit\br
|
1228 |
| - hexadecimal-digit-sequence \opt{\terminal{'}} hexadecimal-digit |
| 1228 | + hexadecimal-digit-sequence \opt{\literalterminal{'}} hexadecimal-digit |
1229 | 1229 | \end{bnf}
|
1230 | 1230 |
|
1231 | 1231 | \begin{bnf}
|
1232 | 1232 | \nontermdef{hexadecimal-digit} \textnormal{one of}\br
|
1233 |
| - \terminal{0 1 2 3 4 5 6 7 8 9}\br |
1234 |
| - \terminal{a b c d e f}\br |
1235 |
| - \terminal{A B C D E F} |
| 1233 | + \literalterminal{0 1 2 3 4 5 6 7 8 9}\br |
| 1234 | + \literalterminal{a b c d e f}\br |
| 1235 | + \literalterminal{A B C D E F} |
1236 | 1236 | \end{bnf}
|
1237 | 1237 |
|
1238 | 1238 | \begin{bnf}
|
|
1247 | 1247 |
|
1248 | 1248 | \begin{bnf}
|
1249 | 1249 | \nontermdef{unsigned-suffix} \textnormal{one of}\br
|
1250 |
| - \terminal{u U} |
| 1250 | + \literalterminal{u U} |
1251 | 1251 | \end{bnf}
|
1252 | 1252 |
|
1253 | 1253 | \begin{bnf}
|
1254 | 1254 | \nontermdef{long-suffix} \textnormal{one of}\br
|
1255 |
| - \terminal{l L} |
| 1255 | + \literalterminal{l L} |
1256 | 1256 | \end{bnf}
|
1257 | 1257 |
|
1258 | 1258 | \begin{bnf}
|
1259 | 1259 | \nontermdef{long-long-suffix} \textnormal{one of}\br
|
1260 |
| - \terminal{ll LL} |
| 1260 | + \literalterminal{ll LL} |
1261 | 1261 | \end{bnf}
|
1262 | 1262 |
|
1263 | 1263 | \begin{bnf}
|
|
1296 | 1296 |
|
1297 | 1297 | \pnum
|
1298 | 1298 | The \grammarterm{hexadecimal-digit}s
|
1299 |
| -\tcode{a} through \tcode{f} and \tcode{A} through \tcode{F} |
| 1299 | +\literaltcode{a} through \literaltcode{f} and \literaltcode{A} through \literaltcode{F} |
1300 | 1300 | have decimal values ten through fifteen.
|
1301 | 1301 | \begin{example}
|
1302 | 1302 | The number twelve can be written \tcode{12}, \tcode{014},
|
|
1340 | 1340 | &
|
1341 | 1341 | &
|
1342 | 1342 | \tcode{unsigned long long int}\\\hline
|
1343 |
| -\tcode{u} or \tcode{U} & |
| 1343 | +\literaltcode{u} or \literaltcode{U} & |
1344 | 1344 | \tcode{unsigned int} &
|
1345 | 1345 | \tcode{unsigned int}\\
|
1346 | 1346 | &
|
|
1349 | 1349 | &
|
1350 | 1350 | \tcode{unsigned long long int} &
|
1351 | 1351 | \tcode{unsigned long long int}\\\hline
|
1352 |
| -\tcode{l} or \tcode{L} & |
| 1352 | +\literaltcode{l} or \literaltcode{L} & |
1353 | 1353 | \tcode{long int} &
|
1354 | 1354 | \tcode{long int}\\
|
1355 | 1355 | &
|
|
1361 | 1361 | &
|
1362 | 1362 | &
|
1363 | 1363 | \tcode{unsigned long long int}\\\hline
|
1364 |
| -Both \tcode{u} or \tcode{U} & |
| 1364 | +Both \literaltcode{u} or \literaltcode{U} & |
1365 | 1365 | \tcode{unsigned long int} &
|
1366 | 1366 | \tcode{unsigned long int}\\
|
1367 |
| -and \tcode{l} or \tcode{L} & |
| 1367 | +and \literaltcode{l} or \literaltcode{L} & |
1368 | 1368 | \tcode{unsigned long long int} &
|
1369 | 1369 | \tcode{unsigned long long int}\\\hline
|
1370 |
| -\tcode{ll} or \tcode{LL} & |
| 1370 | +\literaltcode{ll} or \literaltcode{LL} & |
1371 | 1371 | \tcode{long long int} &
|
1372 | 1372 | \tcode{long long int}\\
|
1373 | 1373 | &
|
1374 | 1374 | &
|
1375 | 1375 | \tcode{unsigned long long int}\\\hline
|
1376 |
| -Both \tcode{u} or \tcode{U} & |
| 1376 | +Both \literaltcode{u} or \literaltcode{U} & |
1377 | 1377 | \tcode{unsigned long long int} &
|
1378 | 1378 | \tcode{unsigned long long int}\\
|
1379 |
| -and \tcode{ll} or \tcode{LL} & |
| 1379 | +and \literaltcode{ll} or \literaltcode{LL} & |
1380 | 1380 | &
|
1381 | 1381 | \\\hline
|
1382 | 1382 | \tcode{z} or \tcode{Z} &
|
|
1424 | 1424 | \indextext{literal!character}%
|
1425 | 1425 | \begin{bnf}
|
1426 | 1426 | \nontermdef{character-literal}\br
|
1427 |
| - \opt{encoding-prefix} \terminal{'} c-char-sequence \terminal{'} |
| 1427 | + \opt{encoding-prefix} \literalterminal{'} c-char-sequence \literalterminal{'} |
1428 | 1428 | \end{bnf}
|
1429 | 1429 |
|
1430 | 1430 | \begin{bnf}
|
1431 | 1431 | \nontermdef{encoding-prefix} \textnormal{one of}\br
|
1432 |
| - \terminal{u8}\quad\terminal{u}\quad\terminal{U}\quad\terminal{L} |
| 1432 | + \literalterminal{u8}\quad\literalterminal{u}\quad\literalterminal{U}\quad\literalterminal{L} |
1433 | 1433 | \end{bnf}
|
1434 | 1434 |
|
1435 | 1435 | \begin{bnf}
|
|
1480 | 1480 |
|
1481 | 1481 | \begin{bnf}
|
1482 | 1482 | \nontermdef{octal-escape-sequence}\br
|
1483 |
| - \terminal{\textbackslash} octal-digit\br |
1484 |
| - \terminal{\textbackslash} octal-digit octal-digit\br |
1485 |
| - \terminal{\textbackslash} octal-digit octal-digit octal-digit\br |
1486 |
| - \terminal{\textbackslash o\{} simple-octal-digit-sequence \terminal{\}} |
| 1483 | + \literalterminal{\textbackslash} octal-digit\br |
| 1484 | + \literalterminal{\textbackslash} octal-digit octal-digit\br |
| 1485 | + \literalterminal{\textbackslash} octal-digit octal-digit octal-digit\br |
| 1486 | + \literalterminal{\textbackslash o\{} simple-octal-digit-sequence \literalterminal{\}} |
1487 | 1487 | \end{bnf}
|
1488 | 1488 |
|
1489 | 1489 | \begin{bnf}
|
1490 | 1490 | \nontermdef{hexadecimal-escape-sequence}\br
|
1491 |
| - \terminal{\textbackslash x} simple-hexadecimal-digit-sequence\br |
1492 |
| - \terminal{\textbackslash x\{} simple-hexadecimal-digit-sequence \terminal{\}} |
| 1491 | + \literalterminal{\textbackslash x} simple-hexadecimal-digit-sequence\br |
| 1492 | + \literalterminal{\textbackslash x\{} simple-hexadecimal-digit-sequence \literalterminal{\}} |
1493 | 1493 | \end{bnf}
|
1494 | 1494 |
|
1495 | 1495 | \begin{bnf}
|
|
1677 | 1677 |
|
1678 | 1678 | \begin{bnf}
|
1679 | 1679 | \nontermdef{fractional-constant}\br
|
1680 |
| - \opt{digit-sequence} \terminal{.} digit-sequence\br |
1681 |
| - digit-sequence \terminal{.} |
| 1680 | + \opt{digit-sequence} \literalterminal{.} digit-sequence\br |
| 1681 | + digit-sequence \literalterminal{.} |
1682 | 1682 | \end{bnf}
|
1683 | 1683 |
|
1684 | 1684 | \begin{bnf}
|
1685 | 1685 | \nontermdef{hexadecimal-fractional-constant}\br
|
1686 |
| - \opt{hexadecimal-digit-sequence} \terminal{.} hexadecimal-digit-sequence\br |
1687 |
| - hexadecimal-digit-sequence \terminal{.} |
| 1686 | + \opt{hexadecimal-digit-sequence} \literalterminal{.} hexadecimal-digit-sequence\br |
| 1687 | + hexadecimal-digit-sequence \literalterminal{.} |
1688 | 1688 | \end{bnf}
|
1689 | 1689 |
|
1690 | 1690 | \begin{bnf}
|
1691 | 1691 | \nontermdef{exponent-part}\br
|
1692 |
| - \terminal{e} \opt{sign} digit-sequence\br |
1693 |
| - \terminal{E} \opt{sign} digit-sequence |
| 1692 | + \literalterminal{e} \opt{sign} digit-sequence\br |
| 1693 | + \literalterminal{E} \opt{sign} digit-sequence |
1694 | 1694 | \end{bnf}
|
1695 | 1695 |
|
1696 | 1696 | \begin{bnf}
|
1697 | 1697 | \nontermdef{binary-exponent-part}\br
|
1698 |
| - \terminal{p} \opt{sign} digit-sequence\br |
1699 |
| - \terminal{P} \opt{sign} digit-sequence |
| 1698 | + \literalterminal{p} \opt{sign} digit-sequence\br |
| 1699 | + \literalterminal{P} \opt{sign} digit-sequence |
1700 | 1700 | \end{bnf}
|
1701 | 1701 |
|
1702 | 1702 | \begin{bnf}
|
1703 | 1703 | \nontermdef{sign} \textnormal{one of}\br
|
1704 |
| - \terminal{+ -} |
| 1704 | + \literalterminal{+ -} |
1705 | 1705 | \end{bnf}
|
1706 | 1706 |
|
1707 | 1707 | \begin{bnf}
|
1708 | 1708 | \nontermdef{digit-sequence}\br
|
1709 | 1709 | digit\br
|
1710 |
| - digit-sequence \opt{\terminal{'}} digit |
| 1710 | + digit-sequence \opt{\literalterminal{'}} digit |
1711 | 1711 | \end{bnf}
|
1712 | 1712 |
|
1713 | 1713 | \begin{bnf}
|
1714 | 1714 | \nontermdef{floating-point-suffix} \textnormal{one of}\br
|
1715 |
| - \terminal{f l f16 f32 f64 f128 bf16 F L F16 F32 F64 F128 BF16} |
| 1715 | + \literalterminal{f l f16 f32 f64 f128 bf16 F L F16 F32 F64 F128 BF16} |
1716 | 1716 | \end{bnf}
|
1717 | 1717 |
|
1718 | 1718 | \pnum
|
|
1797 | 1797 | \indextext{literal!string}%
|
1798 | 1798 | \begin{bnf}
|
1799 | 1799 | \nontermdef{string-literal}\br
|
1800 |
| - \opt{encoding-prefix} \terminal{"} \opt{s-char-sequence} \terminal{"}\br |
1801 |
| - \opt{encoding-prefix} \terminal{R} raw-string |
| 1800 | + \opt{encoding-prefix} \literalterminal{"} \opt{s-char-sequence} \literalterminal{"}\br |
| 1801 | + \opt{encoding-prefix} \literalterminal{R} raw-string |
1802 | 1802 | \end{bnf}
|
1803 | 1803 |
|
1804 | 1804 | \begin{bnf}
|
|
1821 | 1821 |
|
1822 | 1822 | \begin{bnf}
|
1823 | 1823 | \nontermdef{raw-string}\br
|
1824 |
| - \terminal{"} \opt{d-char-sequence} \terminal{(} \opt{r-char-sequence} \terminal{)} \opt{d-char-sequence} \terminal{"} |
| 1824 | + \literalterminal{"} \opt{d-char-sequence} \literalterminal{(} \opt{r-char-sequence} \literalterminal{)} \opt{d-char-sequence} \literalterminal{"} |
1825 | 1825 | \end{bnf}
|
1826 | 1826 |
|
1827 | 1827 | \begin{bnf}
|
|
1908 | 1908 |
|
1909 | 1909 | \pnum
|
1910 | 1910 | \indextext{literal!string!raw}%
|
1911 |
| -A \grammarterm{string-literal} that has an \tcode{R} |
| 1911 | +A \grammarterm{string-literal} that has an \literaltcode{R} |
1912 | 1912 | \indextext{prefix!\idxcode{R}}%
|
1913 | 1913 | in the prefix is a \defn{raw string literal}. The
|
1914 | 1914 | \grammarterm{d-char-sequence} serves as a delimiter. The terminating
|
|
0 commit comments