public void CargarHojas(string campo, CNodo nodo) { if (campo != null) { string[] separados = campo.Split().Where(i => i != "").ToArray(); if (separados[0].Equals("READ") || separados[0].Equals("WRITE")) { int i = 2; String valorString = ""; while (!separados[i].Equals(",")) { valorString += separados[i] + " "; i++; } int tam = separados.Length; String[] separadosAux = { separados[0], separados[1], valorString, separados[tam - 3], separados[tam - 2], separados[tam - 1] }; separados = separadosAux; } for (int c = 0; c < separados.Length; c++) { arbol.Insertar(separados[c], nodo); } } else { arbol.Insertar("", nodoAux); //el dato va a estar vacio, representando epsilon } }
public void InicializarPila() //inicializa la pila y aplica el simbolo fin y el primer token no terminal de la gramatica, tambien coloca el nodo raiz que seria el primero de la gramatica { pila = new Stack(); pila.Push("$"); // fin de la pila pila.Push("PROG"); //no terminal inicial de la gramtica ll1 arbol = new CArbol(); raiz = arbol.Insertar("PROG", null); // inicializa el arbol , al ponerle null lo inicializa como raiz al nodo }