[Wisp-cvs] wisp/tools worth,1.29,1.30
Status: Alpha
Brought to you by:
digg
From: <di...@us...> - 2002-09-18 20:55:21
|
Update of /cvsroot/wisp/wisp/tools In directory usw-pr-cvs1:/tmp/cvs-serv25146/tools Modified Files: worth Log Message: Dropped |sys:raw:ioctl|. Index: worth =================================================================== RCS file: /cvsroot/wisp/wisp/tools/worth,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- worth 7 Sep 2002 22:03:56 -0000 1.29 +++ worth 18 Sep 2002 20:55:17 -0000 1.30 @@ -123,6 +123,8 @@ (case (car i) ((defun) (add-code (worth->ia32 (cadr i) (cddr i)))) + ((cells) + (add-code (cells->ia32 (cadr i) (cddr i)))) ((native) (add-code (worth->ia32 (string->symbol "N_$(cadr i)") `(,',(nop) @@ -180,6 +182,16 @@ (read-all=> process-piece input)) (else (raise 'huh? input)))) + +(define (cells->ia32 name body) + (if (word-class name) + (raise 'duplicate-word name)) + (cons! known-procedure-box[] name) + (map (lambda (datum) + (cond + ((or (integer? datum) (symbol? datum)) + (list 'tetra datum)) + (else (signal 'cell? datum)))) body)) (define (worth->ia32 name body) (if (word-class name) |