|
293 | 293 | \ucode{000c} & \uname{form feed} & \\
|
294 | 294 | \ucode{0020} & \uname{space} & \\
|
295 | 295 | \ucode{000a} & \uname{line feed} & new-line \\
|
296 |
| -\ucode{0021} & \uname{exclamation mark} & \tcode{!} \\ |
297 |
| -\ucode{0022} & \uname{quotation mark} & \tcode{"} \\ |
298 |
| -\ucode{0023} & \uname{number sign} & \tcode{\#} \\ |
299 |
| -\ucode{0024} & \uname{dollar sign} & \tcode{\$} \\ |
300 |
| -\ucode{0025} & \uname{percent sign} & \tcode{\%} \\ |
301 |
| -\ucode{0026} & \uname{ampersand} & \tcode{\&} \\ |
302 |
| -\ucode{0027} & \uname{apostrophe} & \tcode{'} \\ |
303 |
| -\ucode{0028} & \uname{left parenthesis} & \tcode{(} \\ |
304 |
| -\ucode{0029} & \uname{right parenthesis} & \tcode{)} \\ |
305 |
| -\ucode{002a} & \uname{asterisk} & \tcode{*} \\ |
306 |
| -\ucode{002b} & \uname{plus sign} & \tcode{+} \\ |
307 |
| -\ucode{002c} & \uname{comma} & \tcode{,} \\ |
308 |
| -\ucode{002d} & \uname{hyphen-minus} & \tcode{-} \\ |
309 |
| -\ucode{002e} & \uname{full stop} & \tcode{.} \\ |
310 |
| -\ucode{002f} & \uname{solidus} & \tcode{/} \\ |
311 |
| -\ucode{0030} .. \ucode{0039} & \uname{digit zero .. nine} & \tcode{0 1 2 3 4 5 6 7 8 9} \\ |
312 |
| -\ucode{003a} & \uname{colon} & \tcode{:} \\ |
313 |
| -\ucode{003b} & \uname{semicolon} & \tcode{;} \\ |
314 |
| -\ucode{003c} & \uname{less-than sign} & \tcode{<} \\ |
315 |
| -\ucode{003d} & \uname{equals sign} & \tcode{=} \\ |
316 |
| -\ucode{003e} & \uname{greater-than sign} & \tcode{>} \\ |
317 |
| -\ucode{003f} & \uname{question mark} & \tcode{?} \\ |
318 |
| -\ucode{0040} & \uname{commercial at} & \tcode{@} \\ |
319 |
| -\ucode{0041} .. \ucode{005a} & \uname{latin capital letter a .. z} & \tcode{A B C D E F G H I J K L M} \\ |
320 |
| - & & \tcode{N O P Q R S T U V W X Y Z} \\ |
321 |
| -\ucode{005b} & \uname{left square bracket} & \tcode{[} \\ |
322 |
| -\ucode{005c} & \uname{reverse solidus} & \tcode{\textbackslash} \\ |
323 |
| -\ucode{005d} & \uname{right square bracket} & \tcode{]} \\ |
324 |
| -\ucode{005e} & \uname{circumflex accent} & \tcode{\caret} \\ |
325 |
| -\ucode{005f} & \uname{low line} & \tcode{_} \\ |
326 |
| -\ucode{0060} & \uname{grave accent} & \tcode{\`} \\ |
327 |
| -\ucode{0061} .. \ucode{007a} & \uname{latin small letter a .. z} & \tcode{a b c d e f g h i j k l m} \\ |
328 |
| - & & \tcode{n o p q r s t u v w x y z} \\ |
329 |
| -\ucode{007b} & \uname{left curly bracket} & \tcode{\{} \\ |
330 |
| -\ucode{007c} & \uname{vertical line} & \tcode{|} \\ |
331 |
| -\ucode{007d} & \uname{right curly bracket} & \tcode{\}} \\ |
332 |
| -\ucode{007e} & \uname{tilde} & \tcode{\textasciitilde} \\ |
| 296 | +\ucode{0021} & \uname{exclamation mark} & \noncxxtcode{!} \\ |
| 297 | +\ucode{0022} & \uname{quotation mark} & \noncxxtcode{"} \\ |
| 298 | +\ucode{0023} & \uname{number sign} & \noncxxtcode{\#} \\ |
| 299 | +\ucode{0024} & \uname{dollar sign} & \noncxxtcode{\$} \\ |
| 300 | +\ucode{0025} & \uname{percent sign} & \noncxxtcode{\%} \\ |
| 301 | +\ucode{0026} & \uname{ampersand} & \noncxxtcode{\&} \\ |
| 302 | +\ucode{0027} & \uname{apostrophe} & \noncxxtcode{'} \\ |
| 303 | +\ucode{0028} & \uname{left parenthesis} & \noncxxtcode{(} \\ |
| 304 | +\ucode{0029} & \uname{right parenthesis} & \noncxxtcode{)} \\ |
| 305 | +\ucode{002a} & \uname{asterisk} & \noncxxtcode{*} \\ |
| 306 | +\ucode{002b} & \uname{plus sign} & \noncxxtcode{+} \\ |
| 307 | +\ucode{002c} & \uname{comma} & \noncxxtcode{,} \\ |
| 308 | +\ucode{002d} & \uname{hyphen-minus} & \noncxxtcode{-} \\ |
| 309 | +\ucode{002e} & \uname{full stop} & \noncxxtcode{.} \\ |
| 310 | +\ucode{002f} & \uname{solidus} & \noncxxtcode{/} \\ |
| 311 | +\ucode{0030} .. \ucode{0039} & \uname{digit zero .. nine} & \noncxxtcode{0 1 2 3 4 5 6 7 8 9} \\ |
| 312 | +\ucode{003a} & \uname{colon} & \noncxxtcode{:} \\ |
| 313 | +\ucode{003b} & \uname{semicolon} & \noncxxtcode{;} \\ |
| 314 | +\ucode{003c} & \uname{less-than sign} & \noncxxtcode{<} \\ |
| 315 | +\ucode{003d} & \uname{equals sign} & \noncxxtcode{=} \\ |
| 316 | +\ucode{003e} & \uname{greater-than sign} & \noncxxtcode{>} \\ |
| 317 | +\ucode{003f} & \uname{question mark} & \noncxxtcode{?} \\ |
| 318 | +\ucode{0040} & \uname{commercial at} & \noncxxtcode{@} \\ |
| 319 | +\ucode{0041} .. \ucode{005a} & \uname{latin capital letter a .. z} & \noncxxtcode{A B C D E F G H I J K L M} \\ |
| 320 | + & & \noncxxtcode{N O P Q R S T U V W X Y Z} \\ |
| 321 | +\ucode{005b} & \uname{left square bracket} & \noncxxtcode{[} \\ |
| 322 | +\ucode{005c} & \uname{reverse solidus} & \noncxxtcode{\textbackslash} \\ |
| 323 | +\ucode{005d} & \uname{right square bracket} & \noncxxtcode{]} \\ |
| 324 | +\ucode{005e} & \uname{circumflex accent} & \noncxxtcode{\caret} \\ |
| 325 | +\ucode{005f} & \uname{low line} & \noncxxtcode{_} \\ |
| 326 | +\ucode{0060} & \uname{grave accent} & \noncxxtcode{\`} \\ |
| 327 | +\ucode{0061} .. \ucode{007a} & \uname{latin small letter a .. z} & \noncxxtcode{a b c d e f g h i j k l m} \\ |
| 328 | + & & \noncxxtcode{n o p q r s t u v w x y z} \\ |
| 329 | +\ucode{007b} & \uname{left curly bracket} & \noncxxtcode{\{} \\ |
| 330 | +\ucode{007c} & \uname{vertical line} & \noncxxtcode{|} \\ |
| 331 | +\ucode{007d} & \uname{right curly bracket} & \noncxxtcode{\}} \\ |
| 332 | +\ucode{007e} & \uname{tilde} & \noncxxtcode{\textasciitilde} \\ |
333 | 333 | \end{floattable}
|
334 | 334 |
|
335 | 335 | \pnum
|
|
569 | 569 | \item
|
570 | 570 | \indextext{literal!string!raw}%
|
571 | 571 | If the next character begins a sequence of characters that could be the prefix
|
572 |
| -and initial double quote of a raw string literal, such as \tcode{R"}, the next preprocessing |
| 572 | +and initial double quote of a raw string literal, such as \literaltcode{R"}, the next preprocessing |
573 | 573 | token shall be a raw string literal. Between the initial and final
|
574 | 574 | double quote characters of the raw string, any transformations performed in phase
|
575 | 575 | 2 (line splicing) are reverted; this reversion
|
576 | 576 | shall apply before any \grammarterm{d-char}, \grammarterm{r-char}, or delimiting
|
577 | 577 | parenthesis is identified. The raw string literal is defined as the shortest sequence
|
578 | 578 | of characters that matches the raw-string pattern
|
579 | 579 | \begin{ncbnf}
|
580 |
| -\opt{encoding-prefix} \terminal{R} raw-string |
| 580 | +\opt{encoding-prefix} \literalterminal{R} raw-string |
581 | 581 | \end{ncbnf}
|
582 | 582 |
|
583 | 583 | \item Otherwise, if the next three characters are \tcode{<::} and the subsequent character
|
|
695 | 695 | \begin{bnf}
|
696 | 696 | \nontermdef{pp-number}\br
|
697 | 697 | digit\br
|
698 |
| - \terminal{.} digit\br |
| 698 | + \literalterminal{.} digit\br |
699 | 699 | pp-number identifier-continue\br
|
700 |
| - pp-number \terminal{'} digit\br |
701 |
| - pp-number \terminal{'} nondigit\br |
702 |
| - pp-number \terminal{e} sign\br |
703 |
| - pp-number \terminal{E} sign\br |
704 |
| - pp-number \terminal{p} sign\br |
705 |
| - pp-number \terminal{P} sign\br |
706 |
| - pp-number \terminal{.} |
| 700 | + pp-number \literalterminal{'} digit\br |
| 701 | + pp-number \literalterminal{'} nondigit\br |
| 702 | + pp-number \literalterminal{e} sign\br |
| 703 | + pp-number \literalterminal{E} sign\br |
| 704 | + pp-number \literalterminal{p} sign\br |
| 705 | + pp-number \literalterminal{P} sign\br |
| 706 | + pp-number \literalterminal{.} |
707 | 707 | \end{bnf}
|
708 | 708 |
|
709 | 709 | \pnum
|
|
1130 | 1130 | \nontermdef{binary-literal}\br
|
1131 | 1131 | \terminal{0b} binary-digit\br
|
1132 | 1132 | \terminal{0B} binary-digit\br
|
1133 |
| - binary-literal \opt{\terminal{'}} binary-digit |
| 1133 | + binary-literal \opt{\literalterminal{'}} binary-digit |
1134 | 1134 | \end{bnf}
|
1135 | 1135 |
|
1136 | 1136 | \begin{bnf}
|
1137 | 1137 | \nontermdef{octal-literal}\br
|
1138 | 1138 | \terminal{0}\br
|
1139 |
| - octal-literal \opt{\terminal{'}} octal-digit |
| 1139 | + octal-literal \opt{\literalterminal{'}} octal-digit |
1140 | 1140 | \end{bnf}
|
1141 | 1141 |
|
1142 | 1142 | \begin{bnf}
|
1143 | 1143 | \nontermdef{decimal-literal}\br
|
1144 | 1144 | nonzero-digit\br
|
1145 |
| - decimal-literal \opt{\terminal{'}} digit |
| 1145 | + decimal-literal \opt{\literalterminal{'}} digit |
1146 | 1146 | \end{bnf}
|
1147 | 1147 |
|
1148 | 1148 | \begin{bnf}
|
|
1173 | 1173 | \begin{bnf}
|
1174 | 1174 | \nontermdef{hexadecimal-digit-sequence}\br
|
1175 | 1175 | hexadecimal-digit\br
|
1176 |
| - hexadecimal-digit-sequence \opt{\terminal{'}} hexadecimal-digit |
| 1176 | + hexadecimal-digit-sequence \opt{\literalterminal{'}} hexadecimal-digit |
1177 | 1177 | \end{bnf}
|
1178 | 1178 |
|
1179 | 1179 | \begin{bnf}
|
1180 | 1180 | \nontermdef{hexadecimal-digit} \textnormal{one of}\br
|
1181 |
| - \terminal{0 1 2 3 4 5 6 7 8 9}\br |
1182 |
| - \terminal{a b c d e f}\br |
1183 |
| - \terminal{A B C D E F} |
| 1181 | + \literalterminal{0 1 2 3 4 5 6 7 8 9}\br |
| 1182 | + \literalterminal{a b c d e f}\br |
| 1183 | + \literalterminal{A B C D E F} |
1184 | 1184 | \end{bnf}
|
1185 | 1185 |
|
1186 | 1186 | \begin{bnf}
|
|
1195 | 1195 |
|
1196 | 1196 | \begin{bnf}
|
1197 | 1197 | \nontermdef{unsigned-suffix} \textnormal{one of}\br
|
1198 |
| - \terminal{u U} |
| 1198 | + \literalterminal{u U} |
1199 | 1199 | \end{bnf}
|
1200 | 1200 |
|
1201 | 1201 | \begin{bnf}
|
1202 | 1202 | \nontermdef{long-suffix} \textnormal{one of}\br
|
1203 |
| - \terminal{l L} |
| 1203 | + \literalterminal{l L} |
1204 | 1204 | \end{bnf}
|
1205 | 1205 |
|
1206 | 1206 | \begin{bnf}
|
1207 | 1207 | \nontermdef{long-long-suffix} \textnormal{one of}\br
|
1208 |
| - \terminal{ll LL} |
| 1208 | + \literalterminal{ll LL} |
1209 | 1209 | \end{bnf}
|
1210 | 1210 |
|
1211 | 1211 | \begin{bnf}
|
|
1244 | 1244 |
|
1245 | 1245 | \pnum
|
1246 | 1246 | The \grammarterm{hexadecimal-digit}s
|
1247 |
| -\tcode{a} through \tcode{f} and \tcode{A} through \tcode{F} |
| 1247 | +\literaltcode{a} through \literaltcode{f} and \literaltcode{A} through \literaltcode{F} |
1248 | 1248 | have decimal values ten through fifteen.
|
1249 | 1249 | \begin{example}
|
1250 | 1250 | The number twelve can be written \tcode{12}, \tcode{014},
|
|
1288 | 1288 | &
|
1289 | 1289 | &
|
1290 | 1290 | \tcode{unsigned long long int}\\\hline
|
1291 |
| -\tcode{u} or \tcode{U} & |
| 1291 | +\literaltcode{u} or \literaltcode{U} & |
1292 | 1292 | \tcode{unsigned int} &
|
1293 | 1293 | \tcode{unsigned int}\\
|
1294 | 1294 | &
|
|
1297 | 1297 | &
|
1298 | 1298 | \tcode{unsigned long long int} &
|
1299 | 1299 | \tcode{unsigned long long int}\\\hline
|
1300 |
| -\tcode{l} or \tcode{L} & |
| 1300 | +\literaltcode{l} or \literaltcode{L} & |
1301 | 1301 | \tcode{long int} &
|
1302 | 1302 | \tcode{long int}\\
|
1303 | 1303 | &
|
|
1309 | 1309 | &
|
1310 | 1310 | &
|
1311 | 1311 | \tcode{unsigned long long int}\\\hline
|
1312 |
| -Both \tcode{u} or \tcode{U} & |
| 1312 | +Both \literaltcode{u} or \literaltcode{U} & |
1313 | 1313 | \tcode{unsigned long int} &
|
1314 | 1314 | \tcode{unsigned long int}\\
|
1315 |
| -and \tcode{l} or \tcode{L} & |
| 1315 | +and \literaltcode{l} or \literaltcode{L} & |
1316 | 1316 | \tcode{unsigned long long int} &
|
1317 | 1317 | \tcode{unsigned long long int}\\\hline
|
1318 |
| -\tcode{ll} or \tcode{LL} & |
| 1318 | +\literaltcode{ll} or \literaltcode{LL} & |
1319 | 1319 | \tcode{long long int} &
|
1320 | 1320 | \tcode{long long int}\\
|
1321 | 1321 | &
|
1322 | 1322 | &
|
1323 | 1323 | \tcode{unsigned long long int}\\\hline
|
1324 |
| -Both \tcode{u} or \tcode{U} & |
| 1324 | +Both \literaltcode{u} or \literaltcode{U} & |
1325 | 1325 | \tcode{unsigned long long int} &
|
1326 | 1326 | \tcode{unsigned long long int}\\
|
1327 |
| -and \tcode{ll} or \tcode{LL} & |
| 1327 | +and \literaltcode{ll} or \literaltcode{LL} & |
1328 | 1328 | &
|
1329 | 1329 | \\\hline
|
1330 | 1330 | \tcode{z} or \tcode{Z} &
|
|
1372 | 1372 | \indextext{literal!character}%
|
1373 | 1373 | \begin{bnf}
|
1374 | 1374 | \nontermdef{character-literal}\br
|
1375 |
| - \opt{encoding-prefix} \terminal{'} c-char-sequence \terminal{'} |
| 1375 | + \opt{encoding-prefix} \literalterminal{'} c-char-sequence \literalterminal{'} |
1376 | 1376 | \end{bnf}
|
1377 | 1377 |
|
1378 | 1378 | \begin{bnf}
|
1379 | 1379 | \nontermdef{encoding-prefix} \textnormal{one of}\br
|
1380 |
| - \terminal{u8}\quad\terminal{u}\quad\terminal{U}\quad\terminal{L} |
| 1380 | + \literalterminal{u8}\quad\literalterminal{u}\quad\literalterminal{U}\quad\literalterminal{L} |
1381 | 1381 | \end{bnf}
|
1382 | 1382 |
|
1383 | 1383 | \begin{bnf}
|
|
1428 | 1428 |
|
1429 | 1429 | \begin{bnf}
|
1430 | 1430 | \nontermdef{octal-escape-sequence}\br
|
1431 |
| - \terminal{\textbackslash} octal-digit\br |
1432 |
| - \terminal{\textbackslash} octal-digit octal-digit\br |
1433 |
| - \terminal{\textbackslash} octal-digit octal-digit octal-digit\br |
1434 |
| - \terminal{\textbackslash o\{} simple-octal-digit-sequence \terminal{\}} |
| 1431 | + \literalterminal{\textbackslash} octal-digit\br |
| 1432 | + \literalterminal{\textbackslash} octal-digit octal-digit\br |
| 1433 | + \literalterminal{\textbackslash} octal-digit octal-digit octal-digit\br |
| 1434 | + \literalterminal{\textbackslash o\{} simple-octal-digit-sequence \literalterminal{\}} |
1435 | 1435 | \end{bnf}
|
1436 | 1436 |
|
1437 | 1437 | \begin{bnf}
|
1438 | 1438 | \nontermdef{hexadecimal-escape-sequence}\br
|
1439 |
| - \terminal{\textbackslash x} simple-hexadecimal-digit-sequence\br |
1440 |
| - \terminal{\textbackslash x\{} simple-hexadecimal-digit-sequence \terminal{\}} |
| 1439 | + \literalterminal{\textbackslash x} simple-hexadecimal-digit-sequence\br |
| 1440 | + \literalterminal{\textbackslash x\{} simple-hexadecimal-digit-sequence \literalterminal{\}} |
1441 | 1441 | \end{bnf}
|
1442 | 1442 |
|
1443 | 1443 | \begin{bnf}
|
|
1625 | 1625 |
|
1626 | 1626 | \begin{bnf}
|
1627 | 1627 | \nontermdef{fractional-constant}\br
|
1628 |
| - \opt{digit-sequence} \terminal{.} digit-sequence\br |
1629 |
| - digit-sequence \terminal{.} |
| 1628 | + \opt{digit-sequence} \literalterminal{.} digit-sequence\br |
| 1629 | + digit-sequence \literalterminal{.} |
1630 | 1630 | \end{bnf}
|
1631 | 1631 |
|
1632 | 1632 | \begin{bnf}
|
1633 | 1633 | \nontermdef{hexadecimal-fractional-constant}\br
|
1634 |
| - \opt{hexadecimal-digit-sequence} \terminal{.} hexadecimal-digit-sequence\br |
1635 |
| - hexadecimal-digit-sequence \terminal{.} |
| 1634 | + \opt{hexadecimal-digit-sequence} \literalterminal{.} hexadecimal-digit-sequence\br |
| 1635 | + hexadecimal-digit-sequence \literalterminal{.} |
1636 | 1636 | \end{bnf}
|
1637 | 1637 |
|
1638 | 1638 | \begin{bnf}
|
1639 | 1639 | \nontermdef{exponent-part}\br
|
1640 |
| - \terminal{e} \opt{sign} digit-sequence\br |
1641 |
| - \terminal{E} \opt{sign} digit-sequence |
| 1640 | + \literalterminal{e} \opt{sign} digit-sequence\br |
| 1641 | + \literalterminal{E} \opt{sign} digit-sequence |
1642 | 1642 | \end{bnf}
|
1643 | 1643 |
|
1644 | 1644 | \begin{bnf}
|
1645 | 1645 | \nontermdef{binary-exponent-part}\br
|
1646 |
| - \terminal{p} \opt{sign} digit-sequence\br |
1647 |
| - \terminal{P} \opt{sign} digit-sequence |
| 1646 | + \literalterminal{p} \opt{sign} digit-sequence\br |
| 1647 | + \literalterminal{P} \opt{sign} digit-sequence |
1648 | 1648 | \end{bnf}
|
1649 | 1649 |
|
1650 | 1650 | \begin{bnf}
|
1651 | 1651 | \nontermdef{sign} \textnormal{one of}\br
|
1652 |
| - \terminal{+ -} |
| 1652 | + \literalterminal{+ -} |
1653 | 1653 | \end{bnf}
|
1654 | 1654 |
|
1655 | 1655 | \begin{bnf}
|
1656 | 1656 | \nontermdef{digit-sequence}\br
|
1657 | 1657 | digit\br
|
1658 |
| - digit-sequence \opt{\terminal{'}} digit |
| 1658 | + digit-sequence \opt{\literalterminal{'}} digit |
1659 | 1659 | \end{bnf}
|
1660 | 1660 |
|
1661 | 1661 | \begin{bnf}
|
1662 | 1662 | \nontermdef{floating-point-suffix} \textnormal{one of}\br
|
1663 |
| - \terminal{f l f16 f32 f64 f128 bf16 F L F16 F32 F64 F128 BF16} |
| 1663 | + \literalterminal{f l f16 f32 f64 f128 bf16 F L F16 F32 F64 F128 BF16} |
1664 | 1664 | \end{bnf}
|
1665 | 1665 |
|
1666 | 1666 | \pnum
|
|
1745 | 1745 | \indextext{literal!string}%
|
1746 | 1746 | \begin{bnf}
|
1747 | 1747 | \nontermdef{string-literal}\br
|
1748 |
| - \opt{encoding-prefix} \terminal{"} \opt{s-char-sequence} \terminal{"}\br |
1749 |
| - \opt{encoding-prefix} \terminal{R} raw-string |
| 1748 | + \opt{encoding-prefix} \literalterminal{"} \opt{s-char-sequence} \literalterminal{"}\br |
| 1749 | + \opt{encoding-prefix} \literalterminal{R} raw-string |
1750 | 1750 | \end{bnf}
|
1751 | 1751 |
|
1752 | 1752 | \begin{bnf}
|
|
1769 | 1769 |
|
1770 | 1770 | \begin{bnf}
|
1771 | 1771 | \nontermdef{raw-string}\br
|
1772 |
| - \terminal{"} \opt{d-char-sequence} \terminal{(} \opt{r-char-sequence} \terminal{)} \opt{d-char-sequence} \terminal{"} |
| 1772 | + \literalterminal{"} \opt{d-char-sequence} \literalterminal{(} \opt{r-char-sequence} \literalterminal{)} \opt{d-char-sequence} \literalterminal{"} |
1773 | 1773 | \end{bnf}
|
1774 | 1774 |
|
1775 | 1775 | \begin{bnf}
|
|
1856 | 1856 |
|
1857 | 1857 | \pnum
|
1858 | 1858 | \indextext{literal!string!raw}%
|
1859 |
| -A \grammarterm{string-literal} that has an \tcode{R} |
| 1859 | +A \grammarterm{string-literal} that has an \literaltcode{R} |
1860 | 1860 | \indextext{prefix!\idxcode{R}}%
|
1861 | 1861 | in the prefix is a \defn{raw string literal}. The
|
1862 | 1862 | \grammarterm{d-char-sequence} serves as a delimiter. The terminating
|
|
0 commit comments