|
792 | 792 | preprocessing tokens which are used in the syntax of the preprocessor or
|
793 | 793 | are converted into tokens for operators and punctuators:
|
794 | 794 |
|
795 |
| -\begin{bnfkeywordtab} |
| 795 | +\begin{bnf} |
| 796 | +%% Ed. note: character protrusion would misalign various operators. |
| 797 | +\microtypesetup{protrusion=false}\obeyspaces |
796 | 798 | \nontermdef{preprocessing-op-or-punc} \textnormal{one of}\br
|
797 |
| -\>\{ \>\} \>[ \>] \>\# \>\#\# \>( \>)\br |
798 |
| -\><: \>:> \><\% \>\%> \>\%: \>\%:\%: \>; \>: \>.{..}\br |
799 |
| -\>new \>delete \>? \>:: \>. \>.* \>-> \>->* \>\~\br |
800 |
| -\>! \>+ \>- \>* \>/ \>\% \>\caret \>\& \>|\br |
801 |
| -\>= \>+= \>-= \>*= \>/= \>\%= \>\caret= \>\&= \>|=\br |
802 |
| -\>== \>!= \>< \>> \><= \>>= \><=> \>\&\& \>||\br |
803 |
| -\><< \>>> \><<= \>>>= \>++ \>-{-} \>,\br |
804 |
| -\>and \>or \>xor \>not \>bitand \>bitor \>compl\br |
805 |
| -\>and_eq \>or_eq \>xor_eq \>not_eq |
806 |
| -\end{bnfkeywordtab} |
| 799 | +\terminal{\{ \} [ ] \# \#\# ( )}\br |
| 800 | +\terminal{<: :> <\% \%> \%: \%:\%: ; : ...}\br |
| 801 | +\terminal{new delete ? :: . .* -> ->* \~}\br |
| 802 | +\terminal{! + - * / \% \caret{} \& |}\br |
| 803 | +\terminal{= += -= *= /= \%= \caret{}= \&= |=}\br |
| 804 | +\terminal{== != < > <= >= <=> \&\& ||}\br |
| 805 | +\terminal{<< >> <<= >>= ++ -- ,}\br |
| 806 | +\terminal{and or xor not bitand bitor compl}\br |
| 807 | +\terminal{and_eq or_eq xor_eq not_eq} |
| 808 | +\end{bnf} |
807 | 809 |
|
808 | 810 | Each \grammarterm{preprocessing-op-or-punc} is converted to a single token
|
809 | 811 | in translation phase 7\iref{lex.phases}.%
|
|
0 commit comments