示例#1
0
        private void button1_Click_1(object sender, EventArgs e)
        {
            // CODIGO
            AnalisisLexico   analex = new AnalisisLexico();
            ComponenteLexico tmp    = analex.analizar();

            while (!"@EOF@".Equals(tmp.Lexema))
            {
                MessageBox.Show(tmp.Imprimir());
                tmp = analex.analizar();
            }
            textBoxPorConsola.Clear();
        }
        public void analizar()
        {
            try {
                depurar = true;
                depurarGramatica("Iniciando analisis sintactico");
                cadenaCategorias = "";
                cadenaLemexas    = "";


                componenteLexico = analisisLexico.analizar();
                Gramatica();



                if (Transversal.ManejadorErrores.obtenerManejadorErrores().hayErrores())
                {
                    MessageBox.Show("El analisis ha terminado. El programa está mal escrito. Verifique el detalle");
                }
                else
                {
                    if ("FIN DE ARCHIVO".Equals(componenteLexico.Categoria))
                    {
                        MessageBox.Show("El programa está bien escrito.");
                    }
                    else
                    {
                        MessageBox.Show("Aunque está bien escrita, faltaron componentes por evaluar.");
                    }
                }
            }
            catch (Exception excepcion) {
                MessageBox.Show(excepcion.Message);
            }

            depurarGramatica("Finalizando analisis sintactico");
        }