public SemanticTree.IProgramNode Convert(SemanticTree.IProgramNode ProgramNode) { foreach (ISemanticTreeConverter SemanticTreeConverter in semanticTreeConverters) { ChangeState(State.Convert, SemanticTreeConverter); ProgramNode = SemanticTreeConverter.Convert(Compiler, ProgramNode); } return(ProgramNode); }
public SemanticTree.IProgramNode Convert(PascalABCCompiler.ICompiler Compiler, SemanticTree.IProgramNode ProgramNode) { Optimizer Optimizer = new Optimizer(); Compiler.AddWarnings(Optimizer.Optimize(ProgramNode as TreeRealization.program_node)); return(ProgramNode); }
private NETGenerator.ILConverter il_converter; //=new NETGenerator.ILConverter(); public void Compile(SemanticTree.IProgramNode ProgramTree, string TargetFileName, string SourceFileName, NETGenerator.CompilerOptions options, Hashtable StandartDirectories, string[] ResourceFiles) { il_converter = new NETGenerator.ILConverter(StandartDirectories); il_converter.ConvertFromTree(ProgramTree, TargetFileName, SourceFileName, options, ResourceFiles); }