The last example in §12.9.2 - 'Examples of Automatic Semicolon Insertion' shows how something like:
a = b + c (d + e).print()
...can be misparsed as:
a = b + c(d + e).print()
It then provides the following advice:
In the circumstance that an assignment statement must begin with a left parenthesis, it is a good idea for the programmer to provide an explicit semicolon at the end of the preceding statement rather than to rely on automatic semicolon insertion.
This makes sense but how is
(d + e).print() an "assignment statement"? Isn't it a