CaseStatement is currently written as
CaseStatement:
case ExpressionList : Statement
Here the grammar refers to ExpressionList, described as a ',' separated list of Expression. However, Expression is a ',' separated list of AssignExpression. So this is highly ambiguous. There's no way from the description to distinguish between AssignExpressions that should be evaluated and ignored, and cases to be handled.
If we define:
ExpressionList:
AssignExpression
AssignExpression , ExpressionList
then the problem goes away. The text should be adjusted to match.
Comment #1 by leandro.lucarella — 2009-12-14T06:30:25Z