public Compiler(ICompiler comp, SourceFilesProviderDelegate SourceFilesProvider, ChangeCompilerStateEventDelegate ChangeCompilerState) { //SyntaxTreeChanger = new SyntaxTreeChanger.SyntaxTreeChange(); // SSM 01/05/16 - подключение изменяльщика синтаксического дерева this.ParsersController = comp.ParsersController; this.internalDebug = comp.InternalDebug; OnChangeCompilerState += ChangeCompilerStateEvent; if (SourceFilesProvider != null) this.sourceFilesProvider = SourceFilesProvider; if (ChangeCompilerState != null) OnChangeCompilerState += ChangeCompilerState; this.supportedSourceFiles = comp.SupportedSourceFiles; this.supportedProjectFiles = comp.SupportedProjectFiles; }
public void Reload() { OnChangeCompilerState(this, CompilerState.Reloading, null); //А это что? TreeRealization.type_node tn = SystemLibrary.SystemLibrary.void_type; ClearAll(); errorsList.Clear(); Warnings.Clear(); InternalDebug = new CompilerInternalDebug(); ParsersController = new Parsers.Controller(); ParsersController.ParserConnected += new PascalABCCompiler.Parsers.Controller.ParserConnectedDeleagte(ParsersController_ParserConnected); ParsersController.SourceFilesProvider = sourceFilesProvider; ParsersController.Reload(); SyntaxTreeToSemanticTreeConverter = new TreeConverter.SyntaxTreeToSemanticTreeConverter(); CodeGeneratorsController = new CodeGenerators.Controller(); //PABCToCppCodeGeneratorsController = new PascalToCppConverter.Controller(); SetSupportedSourceFiles(); SetSupportedProjectFiles(); syntaxTreeConvertersController = new SyntaxTreeConvertersController(this); syntaxTreeConvertersController.ChangeState += syntaxTreeConvertersController_ChangeState; syntaxTreeConvertersController.AddConverters(); semanticTreeConvertersController = new SemanticTreeConvertersController(this); semanticTreeConvertersController.ChangeState += semanticTreeConvertersController_ChangeState; semanticTreeConvertersController.AddConverters(); OnChangeCompilerState(this, CompilerState.Ready, null); }
public Compiler(ICompiler comp, SourceFilesProviderDelegate SourceFilesProvider, ChangeCompilerStateEventDelegate ChangeCompilerState) { this.ParsersController = comp.ParsersController; this.internalDebug = comp.InternalDebug; OnChangeCompilerState += ChangeCompilerStateEvent; if (SourceFilesProvider != null) this.sourceFilesProvider = SourceFilesProvider; if (ChangeCompilerState != null) OnChangeCompilerState += ChangeCompilerState; this.supportedSourceFiles = comp.SupportedSourceFiles; this.supportedProjectFiles = comp.SupportedProjectFiles; }