public clasesDiagrama parseConvertirUML2(String str) { ParseTree s_tree = p.Parse(str); //parsear la entrada clasesDiagrama uml = new clasesDiagrama(); if (s_tree.HasErrors())//SE VERIFICA SI LA ENTRADA POSEE ERRORES { foreach (var item in s_tree.ParserMessages) { //SI EXISTEN ERRORES LOS IMPRIME van errores <--------- Console.WriteLine("en Fil: {0}, Col: {1}, Pos: {2}, Tipo: {3}", item.Location.Line + 1, item.Location.Column + 1, item.Location.Position, item.Message); } } if (s_tree.Root != null) { Console.WriteLine("========ACCIONES AL EVVALUAR EL ARBOL============="); uml = accion.generarUML2(s_tree.Root);//EVALUO EL ARBOL Console.WriteLine("=================================================="); //dispTree(s_tree.Root, 0);//IMPRIMO EL ARBOL // graficarArbol(s_tree.Root);//GRAFICO EL ARBOL return(uml); } else { MessageBox.Show(null, "Entrada posee errores", "Error", 0); } return(uml); }
public clasesDiagrama generarUML2(ParseTreeNode raiz) { clasesDiagrama nuevo = new clasesDiagrama(); generarListadoClases(raiz); Clase claseActual; foreach (ParseTreeNode actual in this.clasesUML) { claseActual = generarClase(actual); if (claseActual != null) { claseActual.setLenguaje("java"); if (!nuevo.insertarClase(claseActual)) { ErrorA nuev3o = new ErrorA(Constantes.errorSemantico, "La clase " + claseActual.getNombre() + ", no se pudo crear, ya existe", actual.FindToken()); Form1.errores.addError(nuev3o); } } else { ErrorA nuev3o = new ErrorA(Constantes.errorSemantico, "Ocurrio un error, no se pudo generar la clase ", actual.FindToken()); Form1.errores.addError(nuev3o); } } return(nuevo); }
public Form1() { InitializeComponent(); analizador = new Arbol(); analizador2 = new ArbolPy(); uml = new clasesDiagrama(); panel.SetBounds(164, 41, 748, 659); Color c = Color.White; panel.BackColor = c; panel.BackgroundImageLayout = ImageLayout.Center; panel.Visible = true; this.Controls.Add(panel); }