|
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 |
|
1181 | 1181 | \nontermdef{binary-literal}\br |
1182 | 1182 | \terminal{0b} binary-digit\br |
1183 | 1183 | \terminal{0B} binary-digit\br |
1184 | | - binary-literal \opt{\terminal{'}} binary-digit |
| 1184 | + binary-literal \opt{\literalterminal{'}} binary-digit |
1185 | 1185 | \end{bnf} |
1186 | 1186 |
|
1187 | 1187 | \begin{bnf} |
1188 | 1188 | \nontermdef{octal-literal}\br |
1189 | 1189 | \terminal{0}\br |
1190 | | - octal-literal \opt{\terminal{'}} octal-digit |
| 1190 | + octal-literal \opt{\literalterminal{'}} octal-digit |
1191 | 1191 | \end{bnf} |
1192 | 1192 |
|
1193 | 1193 | \begin{bnf} |
1194 | 1194 | \nontermdef{decimal-literal}\br |
1195 | 1195 | nonzero-digit\br |
1196 | | - decimal-literal \opt{\terminal{'}} digit |
| 1196 | + decimal-literal \opt{\literalterminal{'}} digit |
1197 | 1197 | \end{bnf} |
1198 | 1198 |
|
1199 | 1199 | \begin{bnf} |
|
1224 | 1224 | \begin{bnf} |
1225 | 1225 | \nontermdef{hexadecimal-digit-sequence}\br |
1226 | 1226 | hexadecimal-digit\br |
1227 | | - hexadecimal-digit-sequence \opt{\terminal{'}} hexadecimal-digit |
| 1227 | + hexadecimal-digit-sequence \opt{\literalterminal{'}} hexadecimal-digit |
1228 | 1228 | \end{bnf} |
1229 | 1229 |
|
1230 | 1230 | \begin{bnf} |
1231 | 1231 | \nontermdef{hexadecimal-digit} \textnormal{one of}\br |
1232 | | - \terminal{0 1 2 3 4 5 6 7 8 9}\br |
1233 | | - \terminal{a b c d e f}\br |
1234 | | - \terminal{A B C D E F} |
| 1232 | + \literalterminal{0 1 2 3 4 5 6 7 8 9}\br |
| 1233 | + \literalterminal{a b c d e f}\br |
| 1234 | + \literalterminal{A B C D E F} |
1235 | 1235 | \end{bnf} |
1236 | 1236 |
|
1237 | 1237 | \begin{bnf} |
|
1246 | 1246 |
|
1247 | 1247 | \begin{bnf} |
1248 | 1248 | \nontermdef{unsigned-suffix} \textnormal{one of}\br |
1249 | | - \terminal{u U} |
| 1249 | + \literalterminal{u U} |
1250 | 1250 | \end{bnf} |
1251 | 1251 |
|
1252 | 1252 | \begin{bnf} |
1253 | 1253 | \nontermdef{long-suffix} \textnormal{one of}\br |
1254 | | - \terminal{l L} |
| 1254 | + \literalterminal{l L} |
1255 | 1255 | \end{bnf} |
1256 | 1256 |
|
1257 | 1257 | \begin{bnf} |
1258 | 1258 | \nontermdef{long-long-suffix} \textnormal{one of}\br |
1259 | | - \terminal{ll LL} |
| 1259 | + \literalterminal{ll LL} |
1260 | 1260 | \end{bnf} |
1261 | 1261 |
|
1262 | 1262 | \begin{bnf} |
|
1295 | 1295 |
|
1296 | 1296 | \pnum |
1297 | 1297 | The \grammarterm{hexadecimal-digit}s |
1298 | | -\tcode{a} through \tcode{f} and \tcode{A} through \tcode{F} |
| 1298 | +\literaltcode{a} through \literaltcode{f} and \literaltcode{A} through \literaltcode{F} |
1299 | 1299 | have decimal values ten through fifteen. |
1300 | 1300 | \begin{example} |
1301 | 1301 | The number twelve can be written \tcode{12}, \tcode{014}, |
|
1339 | 1339 | & |
1340 | 1340 | & |
1341 | 1341 | \tcode{unsigned long long int}\\\hline |
1342 | | -\tcode{u} or \tcode{U} & |
| 1342 | +\literaltcode{u} or \literaltcode{U} & |
1343 | 1343 | \tcode{unsigned int} & |
1344 | 1344 | \tcode{unsigned int}\\ |
1345 | 1345 | & |
|
1348 | 1348 | & |
1349 | 1349 | \tcode{unsigned long long int} & |
1350 | 1350 | \tcode{unsigned long long int}\\\hline |
1351 | | -\tcode{l} or \tcode{L} & |
| 1351 | +\literaltcode{l} or \literaltcode{L} & |
1352 | 1352 | \tcode{long int} & |
1353 | 1353 | \tcode{long int}\\ |
1354 | 1354 | & |
|
1360 | 1360 | & |
1361 | 1361 | & |
1362 | 1362 | \tcode{unsigned long long int}\\\hline |
1363 | | -Both \tcode{u} or \tcode{U} & |
| 1363 | +Both \literaltcode{u} or \literaltcode{U} & |
1364 | 1364 | \tcode{unsigned long int} & |
1365 | 1365 | \tcode{unsigned long int}\\ |
1366 | | -and \tcode{l} or \tcode{L} & |
| 1366 | +and \literaltcode{l} or \literaltcode{L} & |
1367 | 1367 | \tcode{unsigned long long int} & |
1368 | 1368 | \tcode{unsigned long long int}\\\hline |
1369 | | -\tcode{ll} or \tcode{LL} & |
| 1369 | +\literaltcode{ll} or \literaltcode{LL} & |
1370 | 1370 | \tcode{long long int} & |
1371 | 1371 | \tcode{long long int}\\ |
1372 | 1372 | & |
1373 | 1373 | & |
1374 | 1374 | \tcode{unsigned long long int}\\\hline |
1375 | | -Both \tcode{u} or \tcode{U} & |
| 1375 | +Both \literaltcode{u} or \literaltcode{U} & |
1376 | 1376 | \tcode{unsigned long long int} & |
1377 | 1377 | \tcode{unsigned long long int}\\ |
1378 | | -and \tcode{ll} or \tcode{LL} & |
| 1378 | +and \literaltcode{ll} or \literaltcode{LL} & |
1379 | 1379 | & |
1380 | 1380 | \\\hline |
1381 | 1381 | \tcode{z} or \tcode{Z} & |
|
1423 | 1423 | \indextext{literal!character}% |
1424 | 1424 | \begin{bnf} |
1425 | 1425 | \nontermdef{character-literal}\br |
1426 | | - \opt{encoding-prefix} \terminal{'} c-char-sequence \terminal{'} |
| 1426 | + \opt{encoding-prefix} \literalterminal{'} c-char-sequence \literalterminal{'} |
1427 | 1427 | \end{bnf} |
1428 | 1428 |
|
1429 | 1429 | \begin{bnf} |
1430 | 1430 | \nontermdef{encoding-prefix} \textnormal{one of}\br |
1431 | | - \terminal{u8}\quad\terminal{u}\quad\terminal{U}\quad\terminal{L} |
| 1431 | + \literalterminal{u8}\quad\literalterminal{u}\quad\literalterminal{U}\quad\literalterminal{L} |
1432 | 1432 | \end{bnf} |
1433 | 1433 |
|
1434 | 1434 | \begin{bnf} |
|
1479 | 1479 |
|
1480 | 1480 | \begin{bnf} |
1481 | 1481 | \nontermdef{octal-escape-sequence}\br |
1482 | | - \terminal{\textbackslash} octal-digit\br |
1483 | | - \terminal{\textbackslash} octal-digit octal-digit\br |
1484 | | - \terminal{\textbackslash} octal-digit octal-digit octal-digit\br |
1485 | | - \terminal{\textbackslash o\{} simple-octal-digit-sequence \terminal{\}} |
| 1482 | + \literalterminal{\textbackslash} octal-digit\br |
| 1483 | + \literalterminal{\textbackslash} octal-digit octal-digit\br |
| 1484 | + \literalterminal{\textbackslash} octal-digit octal-digit octal-digit\br |
| 1485 | + \literalterminal{\textbackslash o\{} simple-octal-digit-sequence \literalterminal{\}} |
1486 | 1486 | \end{bnf} |
1487 | 1487 |
|
1488 | 1488 | \begin{bnf} |
1489 | 1489 | \nontermdef{hexadecimal-escape-sequence}\br |
1490 | | - \terminal{\textbackslash x} simple-hexadecimal-digit-sequence\br |
1491 | | - \terminal{\textbackslash x\{} simple-hexadecimal-digit-sequence \terminal{\}} |
| 1490 | + \literalterminal{\textbackslash x} simple-hexadecimal-digit-sequence\br |
| 1491 | + \literalterminal{\textbackslash x\{} simple-hexadecimal-digit-sequence \literalterminal{\}} |
1492 | 1492 | \end{bnf} |
1493 | 1493 |
|
1494 | 1494 | \begin{bnf} |
|
1676 | 1676 |
|
1677 | 1677 | \begin{bnf} |
1678 | 1678 | \nontermdef{fractional-constant}\br |
1679 | | - \opt{digit-sequence} \terminal{.} digit-sequence\br |
1680 | | - digit-sequence \terminal{.} |
| 1679 | + \opt{digit-sequence} \literalterminal{.} digit-sequence\br |
| 1680 | + digit-sequence \literalterminal{.} |
1681 | 1681 | \end{bnf} |
1682 | 1682 |
|
1683 | 1683 | \begin{bnf} |
1684 | 1684 | \nontermdef{hexadecimal-fractional-constant}\br |
1685 | | - \opt{hexadecimal-digit-sequence} \terminal{.} hexadecimal-digit-sequence\br |
1686 | | - hexadecimal-digit-sequence \terminal{.} |
| 1685 | + \opt{hexadecimal-digit-sequence} \literalterminal{.} hexadecimal-digit-sequence\br |
| 1686 | + hexadecimal-digit-sequence \literalterminal{.} |
1687 | 1687 | \end{bnf} |
1688 | 1688 |
|
1689 | 1689 | \begin{bnf} |
1690 | 1690 | \nontermdef{exponent-part}\br |
1691 | | - \terminal{e} \opt{sign} digit-sequence\br |
1692 | | - \terminal{E} \opt{sign} digit-sequence |
| 1691 | + \literalterminal{e} \opt{sign} digit-sequence\br |
| 1692 | + \literalterminal{E} \opt{sign} digit-sequence |
1693 | 1693 | \end{bnf} |
1694 | 1694 |
|
1695 | 1695 | \begin{bnf} |
1696 | 1696 | \nontermdef{binary-exponent-part}\br |
1697 | | - \terminal{p} \opt{sign} digit-sequence\br |
1698 | | - \terminal{P} \opt{sign} digit-sequence |
| 1697 | + \literalterminal{p} \opt{sign} digit-sequence\br |
| 1698 | + \literalterminal{P} \opt{sign} digit-sequence |
1699 | 1699 | \end{bnf} |
1700 | 1700 |
|
1701 | 1701 | \begin{bnf} |
1702 | 1702 | \nontermdef{sign} \textnormal{one of}\br |
1703 | | - \terminal{+ -} |
| 1703 | + \literalterminal{+ -} |
1704 | 1704 | \end{bnf} |
1705 | 1705 |
|
1706 | 1706 | \begin{bnf} |
1707 | 1707 | \nontermdef{digit-sequence}\br |
1708 | 1708 | digit\br |
1709 | | - digit-sequence \opt{\terminal{'}} digit |
| 1709 | + digit-sequence \opt{\literalterminal{'}} digit |
1710 | 1710 | \end{bnf} |
1711 | 1711 |
|
1712 | 1712 | \begin{bnf} |
1713 | 1713 | \nontermdef{floating-point-suffix} \textnormal{one of}\br |
1714 | | - \terminal{f l f16 f32 f64 f128 bf16 F L F16 F32 F64 F128 BF16} |
| 1714 | + \literalterminal{f l f16 f32 f64 f128 bf16 F L F16 F32 F64 F128 BF16} |
1715 | 1715 | \end{bnf} |
1716 | 1716 |
|
1717 | 1717 | \pnum |
|
1796 | 1796 | \indextext{literal!string}% |
1797 | 1797 | \begin{bnf} |
1798 | 1798 | \nontermdef{string-literal}\br |
1799 | | - \opt{encoding-prefix} \terminal{"} \opt{s-char-sequence} \terminal{"}\br |
1800 | | - \opt{encoding-prefix} \terminal{R} raw-string |
| 1799 | + \opt{encoding-prefix} \literalterminal{"} \opt{s-char-sequence} \literalterminal{"}\br |
| 1800 | + \opt{encoding-prefix} \literalterminal{R} raw-string |
1801 | 1801 | \end{bnf} |
1802 | 1802 |
|
1803 | 1803 | \begin{bnf} |
|
1820 | 1820 |
|
1821 | 1821 | \begin{bnf} |
1822 | 1822 | \nontermdef{raw-string}\br |
1823 | | - \terminal{"} \opt{d-char-sequence} \terminal{(} \opt{r-char-sequence} \terminal{)} \opt{d-char-sequence} \terminal{"} |
| 1823 | + \literalterminal{"} \opt{d-char-sequence} \literalterminal{(} \opt{r-char-sequence} \literalterminal{)} \opt{d-char-sequence} \literalterminal{"} |
1824 | 1824 | \end{bnf} |
1825 | 1825 |
|
1826 | 1826 | \begin{bnf} |
|
1907 | 1907 |
|
1908 | 1908 | \pnum |
1909 | 1909 | \indextext{literal!string!raw}% |
1910 | | -A \grammarterm{string-literal} that has an \tcode{R} |
| 1910 | +A \grammarterm{string-literal} that has an \literaltcode{R} |
1911 | 1911 | \indextext{prefix!\idxcode{R}}% |
1912 | 1912 | in the prefix is a \defn{raw string literal}. The |
1913 | 1913 | \grammarterm{d-char-sequence} serves as a delimiter. The terminating |
|
0 commit comments