Пример #1
0
 public DLREngine(LanguageSettings language, TextWriter output)
 {
     Language = language;
     Output = output;
     DLREngineFactory factory = new DLREngineFactory();
     Engine = factory.CreateEngine(language);
 }
Пример #2
0
 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();
        }
Пример #4
0
        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();
        }
Пример #5
0
        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;
        }
Пример #6
0
        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;
        }