public DLREngine(LanguageSettings language, TextWriter output) { Language = language; Output = output; DLREngineFactory factory = new DLREngineFactory(); Engine = factory.CreateEngine(language); }
public CodeDomEngine(LanguageSettings language, TextWriter writer) { Language = language; Output = writer; Console.SetOut(writer); Console.SetError(writer); }
public void Serialise(string outputPath, LanguageSettings settings) { CreateDirectoryIfNotExists(outputPath); TextWriter writer = new StreamWriter(outputPath, false); XmlSerializer serialiser = new XmlSerializer(typeof(LanguageSettings)); serialiser.Serialize(writer, settings); writer.Close(); }
public ScriptEngine CreateEngine(LanguageSettings settings) { CurrentLanguageSettings = settings; if (CurrentLanguageSettings.Language == "C#") throw new UnsupportedDynamicLanuage(string.Format("The language {0} is not supported by the DLR", CurrentLanguageSettings.Language)); return CreateDLRScriptEngine(); }
public IEngine GetEngine(LanguageSettings language, TextWriter outputStream) { if (Engines.ContainsKey(language)) return Engines[language]; IEngine engine = CreateEngine(language, outputStream); Engines.Add(language, engine); return engine; }
private IEngine CreateEngine(LanguageSettings language, TextWriter outputStream) { IEngine engine; if (language.Language == "C#") engine = new CodeDomEngine(language, outputStream); else engine = new DLREngine(language, outputStream); SetPaths(engine); return engine; }