public void ClearAll()
 {
     _semantic_tree = null;
     PCUReader.CloseUnits(); 
     PCUWriter.Clear();
     RecompileList.Clear();
     CycleUnits.Clear();
     UnitTable.Clear();
     UnitsSortedList.Clear();
     //TreeRealization.PCUReturner.Clear();
     BadNodesInSyntaxTree.Clear();
     PCUReader.AllReaders.Clear();
     project = null;
     StandarModules.Clear();
     //SystemLibrary.SystemLibrary.RestoreStandartNames();
 }
 private void PrepareCompileOptionsForProject()
 {
 	project = new ProjectInfo();
 	project.Load(CompilerOptions.SourceFileName);
 	//LoadProject(CompilerOptions.SourceFileName);
 	switch (project.ProjectType)
 	{
 		case ProjectType.ConsoleApp : CompilerOptions.OutputFileType = CompilerOptions.OutputType.ConsoleApplicaton; break;
 		case ProjectType.WindowsApp : CompilerOptions.OutputFileType = CompilerOptions.OutputType.WindowsApplication; break;
 		case ProjectType.Library : CompilerOptions.OutputFileType = CompilerOptions.OutputType.ClassLibrary; break;
 	}
 	CompilerOptions.SourceFileName = project.main_file;
 	CompilerOptions.Debug = project.include_debug_info;
 	CompilerOptions.OutputFileName = project.output_file_name;
 	CompilerOptions.OutputDirectory = project.output_directory;
     
 }