|
509 | 509 | \textnormal{each non-whitespace character that cannot be one of the above} |
510 | 510 | \end{bnf} |
511 | 511 |
|
512 | | -\pnum |
513 | | -Each preprocessing token that is converted to a token\iref{lex.token} |
514 | | -shall have the lexical form of a keyword, an identifier, a literal, |
515 | | -or an operator or punctuator. |
516 | | - |
517 | 512 | \pnum |
518 | 513 | A preprocessing token is the minimal lexical element of the language in translation |
519 | 514 | phases 3 through 6. |
|
548 | 543 | between the quotation characters in a character literal or |
549 | 544 | string literal. |
550 | 545 |
|
| 546 | +\pnum |
| 547 | +Each preprocessing token that is converted to a token\iref{lex.token} |
| 548 | +shall have the lexical form of a keyword, an identifier, a literal, |
| 549 | +or an operator or punctuator. |
| 550 | + |
| 551 | +\pnum |
| 552 | +The \grammarterm{import-keyword} is produced |
| 553 | +by processing an \keyword{import} directive\iref{cpp.import}, |
| 554 | +the \grammarterm{module-keyword} is produced |
| 555 | +by preprocessing a \keyword{module} directive\iref{cpp.module}, and |
| 556 | +the \grammarterm{export-keyword} is produced |
| 557 | +by preprocessing either of the previous two directives. |
| 558 | +\begin{note} |
| 559 | +None has any observable spelling. |
| 560 | +\end{note} |
| 561 | + |
551 | 562 | \pnum |
552 | 563 | If the input stream has been parsed into preprocessing tokens up to a |
553 | 564 | given character: |
|
587 | 598 | \end{itemize} |
588 | 599 | \end{itemize} |
589 | 600 |
|
| 601 | +\pnum |
590 | 602 | \begin{example} |
591 | 603 | \begin{codeblock} |
592 | 604 | #define R "x" |
593 | 605 | const char* s = R"y"; // ill-formed raw string, not \tcode{"x" "y"} |
594 | 606 | \end{codeblock} |
595 | 607 | \end{example} |
596 | 608 |
|
597 | | -\pnum |
598 | | -The \grammarterm{import-keyword} is produced |
599 | | -by preprocessing an \keyword{import} directive\iref{cpp.import}, |
600 | | -the \grammarterm{module-keyword} is produced |
601 | | -by preprocessing a \keyword{module} directive\iref{cpp.module}, and |
602 | | -the \grammarterm{export-keyword} is produced |
603 | | -by preprocessing either of the previous two directives. |
604 | | -\begin{note} |
605 | | -None has any observable spelling. |
606 | | -\end{note} |
607 | | - |
608 | 609 | \pnum |
609 | 610 | \begin{example} |
610 | 611 | The program fragment \tcode{0xe+foo} is parsed as a |
|
0 commit comments