Exemplo n.º 1
0
        public Editor(IRegionManager RegionManager) : base(RegionManager)
        {
            this.Errores = new ResultadosCompilacion();

            InitializeComponent();
            this.CmbxEjemplos.ItemsSource = Ejemplos.Ejemplo.ListarEjemplos();
            //this.CmbxEjemplos.SelectedItem = this.CmbxEjemplos.ItemsSource.OfType<Ejemplos.Ejemplo>().Last();



            //this.AutoCompletado = new AutoCompletado(this.TxtMy.TextArea, this.Errores);
            //this.AutoCompletado.Analizar();


            //TxtMy.SyntaxHighlighting = HighlightingManager.Instance.GetDefinition("My8086");
            //TxtAsm.SyntaxHighlighting = HighlightingManager.Instance.GetDefinition("ASM");


            ////TxtMy.Load($@"{Tools.Instance.LibraryPath}\..\..\Ejemplos\Movimientos.asm");
            //TxtMy.Load($@"{Tools.Instance.LibraryPath}\..\..\Ejemplos\Burbuja.asm");
            //TxtArchivo.Text = TxtMy.Document.FileName;


            // initial highlighting now set by XAML
            TxtMy.TextArea.TextEntering += TextEditor_TextArea_TextEntering;
            TxtMy.TextArea.TextEntered  += TextEditor_TextArea_TextEntered;

            DispatcherTimer foldingUpdateTimer = new DispatcherTimer
            {
                Interval = TimeSpan.FromSeconds(2)
            };

            foldingUpdateTimer.Tick += FoldingUpdateTimer_Tick;
            foldingUpdateTimer.Start();
            ///
            TxtMy.TextArea.TextView.BackgroundRenderers.Add(new HighLight(TxtMy));
            /////

            this.Compilador = new Gui.Compilador.Compilador(TxtMy.TextArea.Document, this.Errores);
        }
Exemplo n.º 2
0
        private async Task _Compilar()
        {
            if (TxtMy.Document.FileName != null)
            {
                SaveFileClick(this, EventArgs.Empty);
            }

            this.Compilador = new Gui.Compilador.Compilador(this.TxtMy.TextArea.Document, this.Errores);

            this.Salida.Text = await Compilador.Compilar();

            // TxtAsm.Text = Compilador.CodigoMaquina?.ToString();

            if (!this.Errores.Resultados.Any())
            {
                TabErrores.SelectedIndex = 1;
            }
            else
            {
                TabErrores.SelectedIndex = 0;
            }
            this.Salida.Text += string.Join("\n", this.Errores.Resultados
                                            .Select(x => $"->[{x.Linea}] " + x.Texto));
        }