public CentralController()
 {
     _componentsForm = new ComponentsForm(this);
     _componentsForm.Show();
     _compilerController = Assembly.GetCompilerController(this);
     _memoryController   = Assembly.GetMemoryController();
 }
        public void Compile()
        {
            Console.WriteLine("start compile");
            var projectPath = Directory.GetCurrentDirectory();

            //load files
            var files = Directory.GetFiles(Path.Combine(projectPath, sourceFolder));

            var sourceFiles = files
                .Where(y => Path.GetExtension(y) == sourceFileExtension)
                .Select(x => new HDL.Parser.File()
                {
                    Name = Path.GetFileNameWithoutExtension(x),
                    Value = File.ReadAllText(x)
                })
                .ToList();

            Console.WriteLine($"Load {sourceFiles.Count} files");

            new ParserController(sourceFiles, x =>
            {
                Console.WriteLine($"{x.Count} tokens found");
                var compiler = new CompilerController(x, result =>
                {
                    new VHDLGeneratorController().GenerateCode(result, code =>
                    {
                        Console.WriteLine("Result");
                        Console.WriteLine("_______________________");
                        Console.WriteLine(code);
                        File.WriteAllText(Path.Combine(projectPath, outputFolder, outputFileName), code);
                    });
                });
            });
        }
Example #3
0
        public static CompilerController GetCompilerController(ICompilerControllerOutput output)
        {
            var compilerController = new CompilerController(output);

            var compilerModel = new CompilerModel(compilerController.CompilationComplete, compilerController.CompilationError);

            compilerController.SetCompiler(compilerModel);

            return(compilerController);
        }
Example #4
0
 public CentralController()
 {
     _componentsForm = new ComponentsForm(this);
     _componentsForm.Show();
     _compilerController        = Assembly.GetCompilerController(this);
     _memoryController          = Assembly.GetMemoryController(this);
     _debugController           = Assembly.GetDebugController(this);
     _interruptionController    = Assembly.GetInterruptionController();
     _externalDevicesController = Assembly.GetExternalDevicesController(this);
     // Важно, чтобы CPU создавался после debug'a
     _cpu = Assembly.GetCpu(this);
 }
Example #5
0
 public void OnFieldSubmit()
 {
     CompilerController.ResolveYield(field.text);
     Hide();
 }