private Nodo iteracion() {
        ArrayList<Nodo> lis;// = new <Nodo>ArrayList();
        Nodo tem = new Nodo("while", Nodo.tipoToken.PalabraReservada);
        if (aux.getTipo()==Nodo.tipoToken.ParentesisIzquierdo) {
            aux=(Tokens2)tok.next();
        } else {
            error("Se esperaba (");
        }
        Nodo temR = new Nodo("Expresion", null);
        Nodo con=expresion();
        if(con==null){
            error("No se encontro expresion");
        }else{
            if(!con.getTipoDato().equals("bool")){
                error("Expresion incompatible");
            }
            temR.addNodo(con);
        }
        tem.addNodo(temR);
        if (aux.getTipo()==Nodo.tipoToken.ParentesisDerecho) {
            aux=(Tokens2)tok.next();
        } else {
            error(" Se esperaba )");
        }
        if (aux.getTipo()==Nodo.tipoToken.LlaveIzq) {
            aux=(Tokens2)tok.next();
        } else {
            error(" Se esperaba {");
        }
        lis = this.listaSentencias(0);
        Nodo tem2 = new Nodo("Contenido", null);
        Iterator nex = lis.iterator();
        while (nex.hasNext()) {
            tem2.addNodo((Nodo) nex.next());
        }
        tem.addNodo(tem2);
        if (aux.getTipo()==Nodo.tipoToken.LlaveDer) {
            aux=(Tokens2)tok.next();
        } else {
            error(" Se esperaba }");
        }
        return tem;
    }