diff --git a/Upsilon/Parser/Parser.cs b/Upsilon/Parser/Parser.cs index a1a67fd..d256ba4 100644 --- a/Upsilon/Parser/Parser.cs +++ b/Upsilon/Parser/Parser.cs @@ -296,8 +296,18 @@ namespace Upsilon.Parser { if (!lastCommaFound) break; - var parsed = ParseExpression(); - arrBuilder.Add(parsed); + var parsed = ParseStatement(); + SyntaxNode node; + if (parsed.Kind == SyntaxKind.ExpressionStatement) + node = ((ExpressionStatementSyntax) parsed).Expression; + else if (parsed.Kind == SyntaxKind.AssignmentStatement) + node = parsed; + else + { + //TODO Better error handling + throw new Exception(); + } + arrBuilder.Add(node); lastCommaFound = Current.Kind == SyntaxKind.Comma; if (lastCommaFound) NextToken();