Пример #1
0
        private void Btn_compilar_Click(object sender, EventArgs e)
        {
            if (!rtb_entrada.Text.Equals(string.Empty))
            {
                Analizador analizador = new Analizador();
                string     entrada    = this.rtb_entrada.Text.Replace("\\", "\\\\");

                if (analizador.AnalizarEntrada(entrada))
                {
                    MessageBox.Show("Archivo sin errores.");
                    AST ast = (AST)analizador.GenerarAST(analizador.Raiz.Root);
                    //ast.ejecutar(null);
                }
                else
                {
                    MessageBox.Show("El archivo tiene errores.");
                    this.ReporteErrores(analizador.Raiz);
                }
            }
        }
Пример #2
0
        private void Ejecutar3DOptimizado()
        {
            if (tabArchivo.SelectedIndex != -1)
            {
                TabPage    sPage    = tabArchivo.SelectedTab;
                TabControl tControl = (TabControl)sPage.Controls[2];

                TabPage            sPage3d = tControl.TabPages[0];
                FastColoredTextBox ctb3D   = (FastColoredTextBox)sPage3d.Controls[0];

                TabPage            sPage3dOptimizar = tControl.TabPages[1];
                FastColoredTextBox ctb3DOptimizar   = (FastColoredTextBox)sPage3dOptimizar.Controls[0];

                if (!ctb3DOptimizar.Text.Equals(string.Empty))
                {
                    Analizador analizador = new Analizador();
                    string     entrada    = ctb3DOptimizar.Text;//.Replace("\\", "\\\\");

                    txtOutput.Clear();

                    if (analizador.AnalizarEntrada(entrada))
                    {
                        //MessageBox.Show("Archivo sin errores.");
                        ReporteErrores(analizador.Raiz);
                        tabSalida.SelectedTab = pageSalida;
                        AST ast = (AST)analizador.GenerarAST(analizador.Raiz.Root);
                        ast.ejecutar(this.txtOutput);
                    }
                    else
                    {
                        MessageBox.Show("El archivo tiene errores.");
                        tabSalida.SelectedTab = pageErrores;
                        ReporteErrores(analizador.Raiz);
                    }
                }
            }
            else
            {
                MessageBox.Show("No ha traducido un archivo colette.", "Error");
            }
        }
Пример #3
0
        private void Btn_graficar_Click(object sender, EventArgs e)
        {
            if (!rtb_entrada.Text.Equals(string.Empty))
            {
                Analizador analizador = new Analizador();
                string     entrada    = this.rtb_entrada.Text.Replace("\\", "\\\\");

                if (analizador.AnalizarEntrada(entrada))
                {
                    if (analizador.Raiz.ParserMessages.Count > 0)
                    {
                        MessageBox.Show("El archivo tiene errores.");
                        this.ReporteErrores(analizador.Raiz);
                    }

                    GraficarArbol(analizador.Raiz.Root);
                }
                else
                {
                    MessageBox.Show("El archivo tiene errores.");
                    this.ReporteErrores(analizador.Raiz);
                }
            }
        }