Exemple #1
0
 //Obtener nivel de los nodos
 public int getNivel(Nodos nodo)
 {
     for (int i = 0; i < nodosOrdenados.Count; i++)
     {
         Nodos nodoAux = (Nodos)nodosOrdenados[i];
         if (nodo.getNivel() != nodoAux.getNivel() && nodo.getNombre().Equals(nodoAux.getNombre()) && !validarHijos(nodoAux) &&
             !noRaiz(nodo))
         {
             return(nodoAux.getNivel());
         }
     }
     return(0);
 }
Exemple #2
0
 //Validar si es raiz
 public Boolean noRaiz(Nodos nodo)
 {
     for (int i = 0; i < nodosOrdenados.Count; i++)
     {
         Nodos nodoAux = (Nodos)nodosOrdenados[i];
         if (nodo.getNombre().Equals(nodoAux.getNombre()) && nodo.getNivel().Equals(nodoAux.getNivel()))
         {
             return(true);
         }
     }
     return(false);
 }
Exemple #3
0
        //Generar arbol
        public void generarArbol()
        {
            //Crear carpeta
            string path       = @"..\Arboles Sintacticos";
            string contenido2 = "";

            if (!Directory.Exists(path))
            {
                DirectoryInfo di = Directory.CreateDirectory(path);
            }
            filtrarArbol();
            for (int i = 0; i < nodosOrdenados.Count; i++)
            {
                Nodos nodo = (Nodos)nodosOrdenados[i];
                contenido2 += "\"" + nodo.getPadre().getNombre() + " " + nodo.getPadre().getNivel() + "\"" + "->" + "\""
                              + nodo.getNombre() + " " + nodo.getNivel() + "\"" + ";\n";
            }
            String inicio     = "digraph G {";
            string contenido1 = "{" +
                                "node [margin=0 fontsize=12 shape=circle]\n";
            String final = " }";

            string graphVizString = inicio + contenido1 + contenido2 + final + final;

            Console.WriteLine(contenido2);
            Bitmap bm     = new Bitmap(Graphviz.RenderImage(graphVizString, "jpg"));
            var    imagen = new Bitmap(bm);

            bm.Dispose();
            Image image = (Image)imagen;

            imagen.Save(path + @"\prueba.jpg", ImageFormat.Jpeg);
            imagen.Dispose();
            IDE.ImagenArbol foto = new IDE.ImagenArbol();
            foto.Show();
        }