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