예제 #1
0
        private void analizar()
        {
            @const.bandera_incerteza = true;
            limpiar_pictures();
            Consola.AppendText("\r\n--------------------------------------------Nueva ejecución: --------------------------------------------");
            errores.errores.clear();
            interprete        = new interprete();
            @const.interprete = interprete;

            //-------------extraccion de la entrada-----------
            String  entrada = "";
            TextBox txt     = (TextBox)contenedor.SelectedTab.Controls[0];

            entrada = txt.Text;
            //------------------------------------------------

            int respuesta = analizar(entrada);

            //interprete.show();
            if (respuesta > 0)
            {
                interprete.ejecutar();
                errores.errores.show();
            }
        }
예제 #2
0
        private void analizarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Consola.Clear();
            try
            {
                bool resultado = instancia.analizar();

                if (resultado)
                {
                    Console.WriteLine("Cadena Correcta.\n\n");


                    List <String> errseman = new List <string>();
                    errseman = Analizador.Acciones.ErroresSemanticos;
                    for (int i = 0; i < errseman.Count; i++)
                    {
                        Consola.AppendText(errseman[i] + "\n");
                    }
                }

                else
                {
                    Console.WriteLine("Cadena Incorrecta.\n\n");

                    List <String> errosintac = new List <string>();
                    errosintac = Analizador.Analizar.erroressintacticos;
                    for (int i = 0; i < errosintac.Count; i++)
                    {
                        string remplaz0 = errosintac[i].Replace("expected", "Se esperaba");
                        errosintac[i] = remplaz0;
                        string remplaz1 = errosintac[i].Replace(",,", " ");
                        errosintac[i] = remplaz1;
                        Consola.AppendText(errosintac[i] + "\n");
                    }

                    List <String> errolexic = new List <string>();
                    errolexic = Analizador.Analizar.erroreslexicos;
                    for (int i = 0; i < errolexic.Count; i++)
                    {
                        Consola.AppendText(errolexic[i] + "\n");
                    }
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Porfavor Agregue un texto de trabajo.");
            }
        }