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)
|