Exemplo n.º 1
0
        private void miArbol_Click(object sender, EventArgs e)
        {
            SeparaTokens separaTokens = new SeparaTokens();

            separaTokens.SepararTokens(txtArea, txtLog);
            separaTokens.ListaTokens.Add("$");
            separaTokens.ListaTokens.Reverse();
            separaTokens.TokensApoyo.Reverse();

            ArbolSintactico arbol = new ArbolSintactico(separaTokens.ListaTokens, separaTokens.TokensApoyo);

            String codeDot = arbol.dotCode();

            Console.WriteLine(codeDot);

            FolderBrowserDialog fbd    = new FolderBrowserDialog(); //Clase que nos sirve para la selección de la carpeta
            DialogResult        result = fbd.ShowDialog();          //Abrimos el menú que nos permite elegir la carpeta

            if (result == DialogResult.OK)                          //Condición que comprueba si el resultado del Dialog del fbd es OK
            {
                Bitmap bm = Dibujo.Run(codeDot);
                bm.Save(fbd.SelectedPath + @"\Arbol.png");
                MessageBox.Show("Se ha creado el archivo");
            }
            else
            {
                MessageBox.Show("Operación Cancelada");
            }
        }
Exemplo n.º 2
0
        private void button7_Click(object sender, EventArgs e)
        {
            button5_Click(sender, e);
            txtLog.Text = "Area Log: " + Environment.NewLine;

            SeparaTokens separaTokens = new SeparaTokens();

            separaTokens.SepararTokens(txtArea, txtLog);
            separaTokens.ListaTokens.Add("$");
            separaTokens.ListaTokens.Reverse();
            separaTokens.TokensApoyo.Reverse();

            Console.WriteLine("\n\n\n--------------------------------------------");

            foreach (String element in separaTokens.ListaTokens)
            {
                Console.WriteLine("Token: " + element);
            }

            AutomataDePila automataPila = new AutomataDePila(separaTokens.ListaTokens, separaTokens.TokensApoyo);

            if (automataPila.verificarSintaxis(txtLog))
            {
                MessageBox.Show("Sin errores sintácticos");
            }
            else
            {
                MessageBox.Show("Con errores sintácticos");
            }
        }