public CompilationRecord Compile(string workingDirectory, StreamReader input, StreamWriter output)
        {
            var compilationRecorder = new CompilationRecorder();

            compilationRecorder.Start();
            Compile(new CompilerContext(compilationRecorder)
            {
                WorkingDirectory = workingDirectory
            }, input, output);
            compilationRecorder.Stop();
            return(compilationRecorder.GetRecord());
        }