Пример #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");
        }
Пример #2
0
        static void Main(string[] args)
        {
            Gramatica x = new Gramatica();

            x.GetData(@"D:\input.txt");
            // x.PrintNrReguli();
            x.PrintReguliProductie();
            Console.WriteLine("\n\n\n");
            x.EliminareReguliIdentice();


            //x.PrintNeterminale();
            // x.PrintTerminale();
            // x.PrintNrReguli();
            // Console.WriteLine();
            //x.PrintReguliProductie();
            // Console.WriteLine();
            // Console.WriteLine();

            x.EliminareRecursivitateStanga();

            //Console.WriteLine("\n\n\n");
            x.PrintReguliProductie();

            x.PrintNrReguli();
            x.PrintNeterminale();
            Console.WriteLine("\n\n\n");
            x.MultimeSimboliDirectori();
            x.PrintSimboliDirectori();
            x.MultimiDisjuncte();
            x.TabelaDeAnalizaSintactica();
            x.PopulareTabela();


            CodeGenerator codeGenerator = new CodeGenerator();

            codeGenerator.AddEntryPoint(x);
            codeGenerator.AddFields();
            codeGenerator.AddMethods(x);
            codeGenerator.GenerateCSharpCode("output.cs");
            //x.PrintNrReguli();
        }