private CallArgs ParseCallArgs() { var t = NextToken(); AssertDelimiter(Delimiter.ParenthesisOpen, t); var node = new CallArgs(); t = NextToken(false); if (t.IsDelimiter(Delimiter.ParenthesisClose)) { _stream.Next(); return(node); } do { var expr = ParseExpression(); node.AddChild(expr); } while (NextToken().IsDelimiter(Delimiter.Comma)); _stream.Previous(); // Not comma encountered t = NextToken(); AssertDelimiter(Delimiter.ParenthesisClose, t); return(node); }