Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }