Test Input
if (foobar) [x] = [3] else [x, y, z] = [foo, bar, baz]
Grammar
MyLang { Expr = IfExpr | AssignmentExpr | ValueExpr ValueExpr = number | ArrayLiteral | id AssignmentExpr = AssignmentPattern "=" Expr AssignmentPattern = id | "[" AssignmentPattern ("," AssignmentPattern)* "]" -- rec IfExpr = "if" "(" Expr ")" Expr "else" Expr -- withElse | "if" "(" Expr ")" -- plain ArrayLiteral = "[" ValueExpr ("," ValueExpr)* "]" id = letter (letter | number)* number = number digit -- rec | digit }
Show failures