public static GMacCodeBlock Process(GMacMacro baseMacro, ProgressComposer progress) { var optimizer = new TcbOptimizer(baseMacro); optimizer.BeginProcessing(); return(optimizer.CodeBlock); }
public static GMacCodeBlock Process(LlGenerator generator) { var optimizer = new TcbOptimizer(generator); optimizer.BeginProcessing(); return(optimizer.CodeBlock); }
public static GMacCodeBlock Process(LlGenerator generator, ProgressComposer progress) { var optimizer = new TcbOptimizer(generator) { EnableTestEvaluation = false }; optimizer.BeginProcessing(); return(optimizer.CodeBlock); }
public static GMacCodeBlock Process(LlGenerator generator, Dictionary <string, GMacMacroParameterBinding> inputsWithTestValues, bool fixOutputsOrder, ProgressComposer progress) { var optimizer = new TcbOptimizer(generator) { FixOutputComputationsOrder = fixOutputsOrder, EnableTestEvaluation = inputsWithTestValues.Count > 0, _inputsWithTestValues = inputsWithTestValues }; optimizer.BeginProcessing(); return(optimizer.CodeBlock); }