Problem in understanding a code
<p>I'm not able to understand the code given below, so can anyone help me out in understanding the code. </p>

<pre><code>private bool Compile(string path)
{
   bool result;

   using (CSharpCodeProvider prov = new CSharpCodeProvider())
   {
      CompilerParameters param = new CompilerParameters();

      string pathtoicon = "";
      if (File.Exists(Application.StartupPath + "\\icon.ico"))
      {
         pathtoicon = Application.StartupPath + "\\icon.ico";
      }

      param.CompilerOptions = "/target:winexe" + " " + "/win32icon:" + "\"" + pathtoicon + "\"";
      param.GenerateExecutable = true;
      param.IncludeDebugInformation = false;
      param.EmbeddedResources.Add(Environment.GetEnvironmentVariable("TEMP")+"\\points.dat");
      param.OutputAssembly = path;
      param.GenerateInMemory = false;

      param.ReferencedAssemblies.Add("System.dll");
      param.ReferencedAssemblies.Add("System.Data.dll");
      param.ReferencedAssemblies.Add("System.Deployment.dll");
      param.ReferencedAssemblies.Add("System.Drawing.dll");
      param.ReferencedAssemblies.Add("System.Windows.Forms.dll");
      param.ReferencedAssemblies.Add("System.Xml.dll");

      param.TreatWarningsAsErrors = false;
      CompilerResults compresults = prov.CompileAssemblyFromSource(param, Properties.Resources.Program);

      result = compresults.Errors.Count == 0;

      File.Delete(Environment.GetEnvironmentVariable("TEMP") + "\\points.dat");
   }

   return result;
}
</code></pre>
