Exemplo n.º 1
0
        private static SdmapCompiler CreateCompilerFromSqlDirectory(
            string sqlDirectory,
            IFileSystem fileSystem,
            bool ensureCompiled)
        {
            var compiler = new SdmapCompiler();

            foreach (var file in fileSystem.Directory.EnumerateFiles(sqlDirectory, "*.sdmap", SearchOption.AllDirectories))
            {
                var code = fileSystem.File.ReadAllText(file);
                compiler.AddSourceCode(code);
            }

            if (ensureCompiled)
            {
                var compileResult = compiler.EnsureCompiled();
                if (compileResult.IsFailure)
                {
                    throw new InvalidProgramException(compileResult.Error);
                }
                ;
            }

            return(compiler);
        }
Exemplo n.º 2
0
        private static void ParseFolder(string folderPathName)
        {
            var rt = new SdmapCompiler();

            foreach (var file in Directory.GetFiles(folderPathName, "*.sdmap", SearchOption.AllDirectories))
            {
                rt.AddSourceCode(File.ReadAllText(file));
            }

            var sw = new Stopwatch();

            sw.Start();
            var ok = rt.EnsureCompiled();

            sw.Stop();

            Console.WriteLine($"Compiled in: {sw.ElapsedMilliseconds}ms.");
            if (ok.IsFailure)
            {
                Console.WriteLine("Compile failed: " + ok.Error);
            }
            else
            {
                Console.WriteLine("Compile succeed.");
            }
        }
Exemplo n.º 3
0
        public void SubsqlCanCompile()
        {
            var ctx      = SdmapCompilerContext.CreateEmpty();
            var compiler = new SdmapCompiler(ctx);

            compiler.AddSourceCode("sql v1{#isNull<A, sql{test}}");

            var ok = compiler.EnsureCompiled();

            Assert.True(ok.IsSuccess);
            Assert.Equal(2, ctx.Emiters.Count);
        }
Exemplo n.º 4
0
        public void ReallyCompiled()
        {
            var ctx      = SdmapCompilerContext.CreateEmpty();
            var compiler = new SdmapCompiler(ctx);

            compiler.AddSourceCode("sql v1{Hello World}");

            Assert.True(ctx.Emiters["v1"].Emiter == null);
            var ok = compiler.EnsureCompiled();

            Assert.True(ctx.Emiters["v1"].Emiter != null);
        }
Exemplo n.º 5
0
        private static void ParseOne(string filename)
        {
            var rt = new SdmapCompiler();

            rt.AddSourceCode(File.ReadAllText(filename));

            var sw = new Stopwatch();

            sw.Start();
            var ok = rt.EnsureCompiled();

            sw.Stop();

            Console.WriteLine($"Compiled in: {sw.ElapsedMilliseconds}ms.");
            if (ok.IsFailure)
            {
                Console.WriteLine("Compile failed: " + ok.Error);
            }
            else
            {
                Console.WriteLine("Compile succeed.");
            }
        }