As Stephen P has implied, unary operators are grouped right to left in Java, which means those expressions are ambiguous as different operators could group to the right. See Section 15.15 of the Java 7 spec for the rules on unary operators.
EDIT
To some extent I think you've answered your own question. It seems that expressions that are ambiguous, such as ---x, cause compile errors, as the compiler doesn't know what you want it to do. In these cases it is the programmer that needs to resolve the ambiguity by making the expression more specific - e.g. by adding parentheses to remove the ambiguity.