예제 #1
0
        public Principal()
        {
            InitializeComponent();

            //Inicialización componentes
            Pestañas         = new List <TabPage>();
            cuadrosTexto     = new List <RichTextBox>();
            valla            = new Valla();
            analizadorLexico = new analisisLexico();

            //Inicialización de variables
            seleccion       = 0;
            banderaAnalisis = false;

            crearPestaña();
            numeroLabel.Font = cuadrosTexto[seleccion].Font;
        }
예제 #2
0
        private void analizarLéxicamente_Click(object sender, EventArgs e)
        {
            String temporal = "";

            texto = cuadrosTexto.ElementAt(seleccion).Text;

            analisisLexico analizadorLexico = new analisisLexico();

            tokens            = analizadorLexico.realizarAnalisis(texto);
            errores           = analizadorLexico.obtenerErrores();
            richTextBox1.Text = "Análisis Realizado de forma éxitosa" + "\n";

            if (errores.Count == 0)
            {
                erroresAnalisis = analizadorLexico.verificarEstructura(tokens);

                if (erroresAnalisis.Count > 0)
                {
                    foreach (String elemento in erroresAnalisis)
                    {
                        temporal += elemento + "\n";
                    }
                }
                else
                {
                    temporal = "No se encontraron errores, ¡puede construir su valla!";
                }
            }
            else
            {
                richTextBox1.Text = richTextBox1.Text + "Hay errores léxicos, ingresar a:" +
                                    "'Compilar>Archivos de Salida>Archivo de Errores' para verlos. ";
            }
            richTextBox1.Text = richTextBox1.Text + temporal;
            banderaAnalisis   = true;
        }