#define identifier token-string #define identifier ( identifier , ... , identifier ) token-string
#include "filename"
#include <filename>
#line constant "filename"opt
#undef identifier
conditional:
if-part elif-partsopt else-partopt endif-line
if-part:
if-line text
if-line:
# if constant-expression
# ifdef identifier
# ifndef identifier
elif-parts:
elif-line text
elif-parts elif-line text
elif-line:
# elif constant-expressionelse-part:
else-line text
else-line:
# else
endif-line:
# endif