preprocessing-file:
group![]()
group:
group-part
group group-part
group-part:
pp-tokensnew-line
if-section
control-line
if-section:
if-group elif-groupselse-group
endif-line
if-group:
# if
constant-expression new-line group![]()
# ifdef
identifier new-line group![]()
# ifndef
identifier new-line group![]()
elif-groups:
elif-group
elif-groups elif-group
elif-group:
# elif
constant-expression new-line group![]()
else-group:
# else
new-line group![]()
endif-line:
# endif
new-line
control-line:
# include
pp-tokens new-line
# define
identifier replacement-list new-line
# define
identifier lparen identifier-list![]()
)
replacement-list new-line
# undef
identifier new-line
# line
pp-tokens new-line
# error
pp-tokensnew-line
# pragma
pp-tokensnew-line
#
new-line
lparen:
the left-parenthesis character without preceding white-space
replacement-list:
pp-tokens![]()
pp-tokens:
preprocessing-token
pp-tokens preprocessing-token
new-line:
the new-line character