private void toolStripButton6_Click(object sender, EventArgs e) { richTextBox1.Clear(); RecorridoLienzos.listaLienzos.Clear(); RecorridoLienzos.listaVariables.Clear(); RecorridoLienzos.listaPintar.Clear(); foreach (Control a in this.tabControl1.TabPages) { foreach (Control c in a.Controls) { Initializer(c); lenguaje = new LanguageData(gramatica); Parser parser = new Parser(lenguaje); ParseTree arbol = parser.Parse(c.Text); ParseTreeNode raiz = arbol.Root; ParseTreeNode resultado = arbol.Root; if (resultado != null) { most = resultado; RecorridoLienzos.IniciarRecorrido(resultado); } else { } Errores errores = new Errores(); String er = errores.GraficarTabla(gramatica.lista); TablaSimbolos Tabla = new TablaSimbolos(); Tabla.GraficarTabla(RecorridoLienzos.listaLienzos, RecorridoLienzos.listaVariables, RecorridoLienzos.listaArreglo); String[] partes = er.Split(','); foreach (String err in partes) { richTextBox1.Text += err + "\n"; } List <Pintar> ListaProc = RecorridoLienzos.listaPintar; System.Drawing.Color col = System.Drawing.ColorTranslator.FromHtml("#000000"); papel = pictureBox2.CreateGraphics(); Brush brush = new SolidBrush(col); papel.FillRectangle(brush, 0, 0, 5, 5); foreach (Pintar item in ListaProc) { switch (item.tipo) { case "p": Circulo(item.posx, item.posy, item.color, item.diam); break; case "o": Ovalo(item.posx, item.posy, item.color, item.ancho, item.alto); break; case "r": Rectangulo(item.posx, item.posy, item.color, item.ancho, item.alto); Console.WriteLine("Pintar_OR(" + item.posx + "," + item.posy + "," + item.color + "," + item.ancho + "," + item.alto + "," + item.tipo); break; default: break; } } } } }