Parse an assignment expression.
According to the grammar, this may be not only an assignment expression proper, but also a conditional expression. To be an assignment expression proper, it must start with a unary expression, which is a kind of conditional expression. So we unconditionally parse a conditional expression, and then we check to see if it in fact a unary expression: if it is, and there is an assignment operator following, it must be an assignment expression proper, so we recursively parse its right (assignment) expression; otherwise, the expression we parsed is not an assignment expression proper, and instead it is a unary expression, which includes unary expressions propers but also other kinds of expressions.