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
 }
Example #2
0
        public List <String> EvalProgPrincipal(CArbol arbol)
        {
            listaMostrar = new List <String>();
            mapaDatos    = new Dictionary <String, Double>();
            CNodo nodoEncontrado = arbol.Buscar(SENT, arbol.Raiz);

            if (nodoEncontrado != null)
            {
                EvalSentencia(nodoEncontrado.Hijo);
                if (nodoEncontrado.Hermano.Hermano.Hijo != null)
                {
                    EvalProg(nodoEncontrado.Hermano.Hermano);
                }
            }
            return(listaMostrar);
        }