Tokenizers don't typically require spaces unless it's necessary to disambiguate (e.g. you need a space, or punctuation of some form between a variable name and a language keyword so the keyword can be recognized).
Thus, x=+y
, x =+ y
and x = +y
are all equivalent, in all cases invoking the unary +
operator on y
and assigning to x
. The unary plus operator isn't commonly used, but just because it's uncommon doesn't mean it's not recognized and accepted.
For comparison, the -->
"operator" in C/C++ etc. is another example where humans looking for spaces and tokenizers ignoring them causes confusion.