control-line: define identifier token-sequence define identifier( identifier , ... ,identifer) token-sequence undef identifier include <filename> include "filename" include token-sequence line constant "filename" line constant error token-sequence pragma token-sequence preprocessor-conditional preprocessor-conditional: if-line text elif-parts else-part endif if-line: if constant-expression ifdef identifier ifndef identifier elif-parts: elif-line text elif-parts elif-line: elif constant-expression elif-part: else-line text else-line: else