[Tinyos-commits] CVS: tinyos-1.x/tos/lib/VM/languages/motlle/mate/runtime FNlistM.nc, 1.3, 1.4 FNseqM.nc, 1.1, 1.2

David Gay idgay at users.sourceforge.net
Sun Oct 23 15:11:08 PDT 2005


Update of /cvsroot/tinyos/tinyos-1.x/tos/lib/VM/languages/motlle/mate/runtime
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31574/runtime

Modified Files:
	FNlistM.nc FNseqM.nc 
Log Message:
V.read/V.write


Index: FNlistM.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/tos/lib/VM/languages/motlle/mate/runtime/FNlistM.nc,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** FNlistM.nc	23 Oct 2005 21:58:01 -0000	1.3
--- FNlistM.nc	23 Oct 2005 22:11:05 -0000	1.4
***************
*** 176,179 ****
--- 176,180 ----
  	  {
  	    vpair p;
+ 	    mvalue pcar;
  
  	    if (call T.nilp(l))
***************
*** 184,198 ****
  
  	    p = call T.pair(l);
! 	    if (call T.pairp(p->car))
  	      {
! 		vpair elem = call T.pair(p->car);
  
! 		if (x == elem->car)
  		  {
! 		    result = p->car;
  		    break;
  		  }
  	      }
! 	    l = p->cdr;
  	  }
  	call S.qpush(context, result);
--- 185,200 ----
  
  	    p = call T.pair(l);
! 	    pcar = call V.read(&p->car);
! 	    if (call T.pairp(pcar))
  	      {
! 		vpair elem = call T.pair(pcar);
  
! 		if (x == call V.read(&elem->car))
  		  {
! 		    result = pcar;
  		    break;
  		  }
  	      }
! 	    l = call V.read(&p->cdr);
  	  }
  	call S.qpush(context, result);
***************
*** 236,245 ****
  
  	    p = call T.pair(l);
! 	    if (p->car == x)
  	      {
  		result = p;
  		break;
  	      }
! 	    l = p->cdr;
  	  }
  	call S.qpush(context, result);
--- 238,247 ----
  
  	    p = call T.pair(l);
! 	    if (call V.read(&p->car) == x)
  	      {
  		result = p;
  		break;
  	      }
! 	    l = call V.read(&p->cdr);
  	  }
  	call S.qpush(context, result);
***************
*** 280,284 ****
  		return SUCCESS;
  	      }
! 	    l = (call T.pair(l))->cdr;
  	  }
  	call S.qpush(context, l);
--- 282,286 ----
  		return SUCCESS;
  	      }
! 	    l = call V.read(&(call T.pair(l))->cdr);
  	  }
  	call S.qpush(context, l);
***************
*** 316,324 ****
  	      if (n-- == 0)
  		{
! 		  call S.qpush(context, p->car);
  		  return SUCCESS;
  		}
  	      else
! 		l = p->cdr;
  	    }
        }
--- 318,326 ----
  	      if (n-- == 0)
  		{
! 		  call S.qpush(context, call V.read(&p->car));
  		  return SUCCESS;
  		}
  	      else
! 		l = call V.read(&p->cdr);
  	    }
        }
***************
*** 342,348 ****
  	    vpair p = call T.pair(x);
  
! 	    x = p->cdr;
  	    GCPRO1(x);
! 	    result = call T.alloc_list(p->car, result);
  	    GCPOP1(x);
  	    if (!result)
--- 344,350 ----
  	    vpair p = call T.pair(x);
  
! 	    x = call V.read(&p->cdr);
  	    GCPRO1(x);
! 	    result = call T.alloc_list(call V.read(&p->car), result);
  	    GCPOP1(x);
  	    if (!result)
***************
*** 383,398 ****
  		vpair pr = call T.pair(scanr);
  
! 		pr->car = pl1->car;
! 		l1 = pl1->cdr;
  
  		if (call T.nilp(l1))
  		  {
! 		    pr->cdr = l2;
  		    break;
  		  }
  		else
! 		  scanr = pr->cdr;
  	      }
- 	    
  	    call S.qpush(context, result);
  	  }
--- 385,399 ----
  		vpair pr = call T.pair(scanr);
  
! 		call V.write(&pr->car, call V.read(&pl1->car));
! 		l1 = call V.read(&pl1->cdr);
  
  		if (call T.nilp(l1))
  		  {
! 		    call V.write(&pr->cdr, l2);
  		    break;
  		  }
  		else
! 		  scanr = call V.read(&pr->cdr);
  	      }
  	    call S.qpush(context, result);
  	  }

Index: FNseqM.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/tos/lib/VM/languages/motlle/mate/runtime/FNseqM.nc,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** FNseqM.nc	23 Oct 2005 21:09:24 -0000	1.1
--- FNseqM.nc	23 Oct 2005 22:11:05 -0000	1.2
***************
*** 62,67 ****
  		vpair p = call T.pair(scan);
  
! 		p->car = v->data[i];
! 		scan = p->cdr;
  	      }
  	    call S.qpush(context, result);
--- 62,67 ----
  		vpair p = call T.pair(scan);
  
! 		call V.write(&p->car, call V.read(&v->data[i]));
! 		scan = call V.read(&p->cdr);
  	      }
  	    call S.qpush(context, result);
***************
*** 102,107 ****
  		vpair p = call T.pair(scan);
  
! 		p->car = call T.make_int(s->data[i]);
! 		scan = p->cdr;
  	      }
  	    call S.qpush(context, result);
--- 102,107 ----
  		vpair p = call T.pair(scan);
  
! 		call V.write(&p->car, call T.make_int(s->data[i]));
! 		scan = call V.read(&p->cdr);
  	      }
  	    call S.qpush(context, result);
***************
*** 136,141 ****
  		vpair p = call T.pair(x);
  
! 		v->data[i] = p->car;
! 		x = p->cdr;
  	      }
  	    call S.qpush(context, call T.make_vector(v));
--- 136,141 ----
  		vpair p = call T.pair(x);
  
! 		vzll V.write(&v->data[i], p->car);
! 		x = call V.read(&p->cdr);
  	      }
  	    call S.qpush(context, call T.make_vector(v));
***************
*** 167,173 ****
  	      {
  		vpair p = call T.pair(x);
  
! 		s->data[i] = call T.intv(p->car);
! 		x = p->cdr;
  	      }
  	    call S.qpush(context, call T.make_string(s));
--- 167,177 ----
  	      {
  		vpair p = call T.pair(x);
+ 		mvalue car = call V.read(&p->car);
  
! 		if (call T.intp(car))
! 		  s->data[i] = call T.intv(car);
! 		else
! 		  call E.error(context, MOTLLE_ERROR_BAD_VALUE);
! 		x = call V.read(&p->cdr);
  	      }
  	    call S.qpush(context, call T.make_string(s));
***************
*** 227,231 ****
  
      if (call T.vectorp(x))
!       return (call T.vector(x))->data[idx];
      else if (call T.stringp(x))
        return call T.make_int((call T.string(x))->data[idx]);
--- 231,235 ----
  
      if (call T.vectorp(x))
!       return call V.read(&(call T.vector(x))->data[idx]);
      else if (call T.stringp(x))
        return call T.make_int((call T.string(x))->data[idx]);
***************
*** 234,240 ****
  	vpair p = call T.pair(x);
  
! 	call S.putOtherFrame(sp, i, p->cdr);
  	
! 	return p->car;
        }
    }
--- 238,244 ----
  	vpair p = call T.pair(x);
  
! 	call S.putOtherFrame(sp, i, call V.read(&p->cdr));
  	
! 	return call V.read(&p->car);
        }
    }



More information about the Tinyos-commits mailing list