示例#1
0
        private void CheckExample_Click(object sender, RoutedEventArgs e)
        {
            Analizor_LL_1_.CodeGenerator codeGenerator = new Analizor_LL_1_.CodeGenerator();
            codeGenerator.AddEntryPoint(_gramatica);
            codeGenerator.AddFields();
            codeGenerator.AddMethods(_gramatica);
            codeGenerator.GenerateCSharpCode("output.cs");

            CompilerParameters cp = new CompilerParameters
            {
                GenerateExecutable      = true,
                IncludeDebugInformation = true,
                GenerateInMemory        = false,
                WarningLevel            = 4,
                TreatWarningsAsErrors   = false,
                CompilerOptions         = "/optimize",
                OutputAssembly          = "output.exe",
            };

            cp.ReferencedAssemblies.Add("System.dll");
            CodeDomProvider provider = new Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider();
            CompilerResults cr       = provider.CompileAssemblyFromFile(cp, "output.cs");

            Process.Start("output.exe");
        }