//Este metodo se encarga de duplicar una produccion.
        public Separa coprod()
        {
            Separa     nr = new Separa();
            Produccion np;

            NT izq = new NT(ladoIzq.nom);

            izq.NoTerminal();
            izq.primero   = ladoIzq.primero;
            izq.siguiente = ladoIzq.siguiente;

            foreach (Produccion paux in derecha)
            {
                np = paux.duprod();
                nr.derecha.Add(np);
            }

            izq.listaP     = nr.derecha;
            nr.ladoIzq     = izq;
            nr.tksbusqueda = new Produccion();
            if (tksbusqueda != null)
            {
                nr.tksbusqueda.agregafintk(tksbusqueda.ltok);
            }

            return(nr);
        }
 //Este metodo crea la parte izquierda de la produccion, recibe una cadena de la cual se
 //extraeran los tokens y una lista de tokens.
 public bool partiz(string texto, CTK listokens)
 {
     ladoIzq = listokens.buscar(texto);
     if (ladoIzq == null)
     {
         ladoIzq = new NT(texto);
         listokens.agregaToken(ladoIzq);
     }
     ladoIzq.NoTerminal();
     return(true);
 }