|
47 | 47 | \terminal{\#} conditionally-supported-directive
|
48 | 48 | \end{bnf}
|
49 | 49 |
|
50 |
| -\begin{bnftab} |
| 50 | +\begin{bnf}\obeyspaces |
51 | 51 | \nontermdef{control-line}\br
|
52 |
| -\>\terminal{\# include}\>\>pp-tokens new-line\br |
53 |
| -\>\terminal{\# define}\>\>identifier replacement-list new-line\br |
54 |
| -\>\terminal{\# define}\>\>identifier lparen \opt{identifier-list} \terminal{)} replacement-list new-line\br |
55 |
| -\>\terminal{\# define}\>\>identifier lparen \terminal{... )} replacement-list new-line\br |
56 |
| -\>\terminal{\# define}\>\>identifier lparen identifier-list \terminal{, ... )} replacement-list new-line\br |
57 |
| -\>\terminal{\# undef}\>\>identifier new-line\br |
58 |
| -\>\terminal{\# line}\>\>pp-tokens new-line\br |
59 |
| -\>\terminal{\# error}\>\>\opt{pp-tokens} new-line\br |
60 |
| -\>\terminal{\# pragma}\>\>\opt{pp-tokens} new-line\br |
61 |
| -\>\terminal{\# }new-line |
62 |
| -\end{bnftab} |
| 52 | +\terminal{\# include} pp-tokens new-line\br |
| 53 | +\terminal{\# define } identifier replacement-list new-line\br |
| 54 | +\terminal{\# define } identifier lparen \opt{identifier-list} \terminal{)} replacement-list new-line\br |
| 55 | +\terminal{\# define } identifier lparen \terminal{... )} replacement-list new-line\br |
| 56 | +\terminal{\# define } identifier lparen identifier-list \terminal{, ... )} replacement-list new-line\br |
| 57 | +\terminal{\# undef } identifier new-line\br |
| 58 | +\terminal{\# line } pp-tokens new-line\br |
| 59 | +\terminal{\# error } \opt{pp-tokens} new-line\br |
| 60 | +\terminal{\# pragma } \opt{pp-tokens} new-line\br |
| 61 | +\terminal{\# }new-line |
| 62 | +\end{bnf} |
63 | 63 |
|
64 | 64 | \begin{bnf}
|
65 | 65 | \nontermdef{if-section}\br
|
66 | 66 | if-group \opt{elif-groups} \opt{else-group} endif-line
|
67 | 67 | \end{bnf}
|
68 | 68 |
|
69 |
| -\begin{bnftab} |
| 69 | +\begin{bnf}\obeyspaces |
70 | 70 | \nontermdef{if-group}\br
|
71 |
| -\>\terminal{\# if}\>\>constant-expression new-line \opt{group}\br |
72 |
| -\>\terminal{\# ifdef}\>\>identifier new-line \opt{group}\br |
73 |
| -\>\terminal{\# ifndef}\>\>identifier new-line \opt{group} |
74 |
| -\end{bnftab} |
| 71 | +\terminal{\# if } constant-expression new-line \opt{group}\br |
| 72 | +\terminal{\# ifdef } identifier new-line \opt{group}\br |
| 73 | +\terminal{\# ifndef } identifier new-line \opt{group} |
| 74 | +\end{bnf} |
75 | 75 |
|
76 | 76 | \begin{bnf}
|
77 | 77 | \nontermdef{elif-groups}\br
|
78 | 78 | elif-group\br
|
79 | 79 | elif-groups elif-group
|
80 | 80 | \end{bnf}
|
81 | 81 |
|
82 |
| -\begin{bnftab} |
| 82 | +\begin{bnf}\obeyspaces |
83 | 83 | \nontermdef{elif-group}\br
|
84 |
| -\>\terminal{\# elif}\>\>constant-expression new-line \opt{group} |
85 |
| -\end{bnftab} |
| 84 | +\terminal{\# elif } constant-expression new-line \opt{group} |
| 85 | +\end{bnf} |
86 | 86 |
|
87 |
| -\begin{bnftab} |
| 87 | +\begin{bnf}\obeyspaces |
88 | 88 | \nontermdef{else-group}\br
|
89 |
| -\>\terminal{\# else}\>\>new-line \opt{group} |
90 |
| -\end{bnftab} |
| 89 | +\terminal{\# else } new-line \opt{group} |
| 90 | +\end{bnf} |
91 | 91 |
|
92 |
| -\begin{bnftab} |
| 92 | +\begin{bnf}\obeyspaces |
93 | 93 | \nontermdef{endif-line}\br
|
94 |
| -\>\terminal{\# endif}\>\>new-line |
95 |
| -\end{bnftab} |
| 94 | +\terminal{\# endif } new-line |
| 95 | +\end{bnf} |
96 | 96 |
|
97 | 97 | \begin{bnf}
|
98 | 98 | \nontermdef{text-line}\br
|
|
271 | 271 |
|
272 | 272 | \pnum
|
273 | 273 | Preprocessing directives of the forms
|
274 |
| - |
275 |
| -\begin{ncbnftab} |
| 274 | +\begin{ncsimplebnf}\obeyspaces |
276 | 275 | \indextext{\idxcode{\#if}}%
|
277 |
| -\terminal{\# if}\>\>constant-expression new-line \opt{group}\br |
| 276 | +\terminal{\# if } constant-expression new-line \opt{group}\br |
278 | 277 | \indextext{\idxcode{\#elif}}%
|
279 |
| -\terminal{\# elif}\>\>constant-expression new-line \opt{group} |
280 |
| -\end{ncbnftab} |
281 |
| - |
| 278 | +\terminal{\# elif } constant-expression new-line \opt{group} |
| 279 | +\end{ncsimplebnf} |
282 | 280 | check whether the controlling constant expression evaluates to nonzero.
|
283 | 281 |
|
284 | 282 | \pnum
|
|
367 | 365 |
|
368 | 366 | \pnum
|
369 | 367 | Preprocessing directives of the forms
|
370 |
| - |
371 |
| -\begin{ncbnftab} |
372 |
| -\terminal{\# ifdef}\>\>identifier new-line \opt{group}\br |
| 368 | +\begin{ncsimplebnf}\obeyspaces |
| 369 | +\terminal{\# ifdef } identifier new-line \opt{group}\br |
373 | 370 | \indextext{\idxcode{\#ifdef}}%
|
374 |
| -\terminal{\# ifndef}\>\>identifier new-line \opt{group} |
| 371 | +\terminal{\# ifndef } identifier new-line \opt{group} |
375 | 372 | \indextext{\idxcode{\#ifndef}}%
|
376 |
| -\end{ncbnftab} |
377 |
| - |
| 373 | +\end{ncsimplebnf} |
378 | 374 | check whether the identifier is or is not currently defined as a macro name.
|
379 | 375 | Their conditions are equivalent to
|
380 | 376 | \tcode{\#if}
|
|
0 commit comments