Annex A (informative) Grammar summary [gram]

A.13 Preprocessing directives [gram.cpp]

lparen:
a ( character not immediately preceded by whitespace
new-line:
the new-line character
has-include-expression:
__has_­include ( header-name )
__has_­include ( header-name-tokens )
has-attribute-expression:
__has_­cpp_­attribute ( pp-tokens )
pp-module:
export module pp-tokens ; new-line
pp-import:
export import header-name pp-tokens ; new-line
export import header-name-tokens pp-tokens ; new-line
export import pp-tokens ; new-line
va-opt-replacement:
__VA_­OPT__ ( pp-tokens )