token :
keyword
identifier
constant
string-literal
operator
punctuator
preprocessing-token :
header-name
identifier
pp-number
character-constant
string-literal
operator
punctuator
each nonwhite-space character that cannot be one of the above
header-name :
< path-spec >
"path spec"
path-spec :
Legal file path
pp-number :
digit
. digit
pp-number digit
pp-number nondigit
pp-number e sign
pp-number E sign
pp-number .