1.10.4.7. Special Characters
The following characters, together with the operator characters,
have special significance when found outside of literal strings:
These characters constitute the set of special characters. They all act
as token delimiters, and
whitespace characters
(blank or horizontal tab)
adjacent to any of these are removed. There is an exception: a whitespace
character adjacent to the outside of a parenthesis or bracket is deleted only if
it is also adjacent to another special character (unless the character is a
parenthesis or bracket and the whitespace character is outside it, too). For
example, the language processor does not remove the blank in
A (Z). This is a concatenation that is
not equivalent to
A(Z),
a function call. The language processor removes the blanks in
(A) + (Z) because this is equivalent
to
(A)+(Z).