/*
 *  LeftHandSideExpression allows a much wider syntactical set of
 *  lvalues than we actually support.  Valid LHS values which we
 *  can't write to must not cause SyntaxError but a ReferenceError.
 *
 *  The side effects of the LHS and the RHS (in that order) must
 *  happen before the ReferenceError.
 */

/* FIXME: is this correct?  Both Rhino and V8 will just throw a
 * ReferenceError.
 */

/*===
lhs
rhs
ReferenceError
===*/

try {
    eval("print('lhs') = print('rhs');");
} catch(e) {
    print(e.name);
}
