wisp-cvs Mailing List for Wisp interpreter (Page 36)
Status: Alpha
Brought to you by:
digg
You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(30) |
Sep
(312) |
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(5) |
Feb
(131) |
Mar
(17) |
Apr
(184) |
May
(252) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
From: <di...@us...> - 2002-09-04 14:31:24
|
Update of /cvsroot/wisp/wisp/src/native In directory usw-pr-cvs1:/tmp/cvs-serv30361/src/native Modified Files: sys.wth Log Message: Defined the Linux error codes for Worth. Index: sys.wth =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/sys.wth,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- sys.wth 4 Sep 2002 14:28:37 -0000 1.2 +++ sys.wth 4 Sep 2002 14:31:22 -0000 1.3 @@ -15,12 +15,14 @@ (extern decui$1) (extern encsi$1) (extern encui$1) +(extern salloc$1) (extern ws2zt) (macro decsi <: swap (flush) 'decsi$1 jump :>) (macro decui <: swap (flush) 'decui$1 jump :>) (macro encsi <: swap (flush) 'encsi$1 jump :>) (macro encui <: swap (flush) 'encui$1 jump :>) +(macro salloc <: swap (flush) 'salloc$1 jump :>) (macro ws->zt (flush) ws2zt (believe %eax) nip) (native unix_time dup 0 = argc drop |
From: <di...@us...> - 2002-09-04 14:31:24
|
Update of /cvsroot/wisp/wisp/modules In directory usw-pr-cvs1:/tmp/cvs-serv30361/modules Modified Files: linux.wrti Log Message: Defined the Linux error codes for Worth. Index: linux.wrti =================================================================== RCS file: /cvsroot/wisp/wisp/modules/linux.wrti,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- linux.wrti 4 Sep 2002 14:28:27 -0000 1.11 +++ linux.wrti 4 Sep 2002 14:31:21 -0000 1.12 @@ -106,6 +106,7 @@ (macro sys.munlock (conform %ebx %ecx) 151 \sys (believe %eax)) (macro sys.mlockall (conform %ebx) 152 \sys (believe %eax)) (macro sys.munlockall (conform) 153 \sys (believe %eax)) + (macro sys.getcwd (conform %ebx %ecx) 183 \sys (believe %eax)) (macro sys.socket swap rot 1 \skt (believe %eax) nip nip nip) (macro sys.bind swap rot 2 \skt (believe %eax) nip nip nip) @@ -115,6 +116,135 @@ (macro sys.getsockname swap rot 6 \skt (believe %eax) nip nip nip) (macro sys.getpeername swap rot 7 \skt (believe %eax) nip nip nip) (macro sys.shutdown swap 13 \skt (believe %eax) nip nip) + + ; <asm/errno.h> + (macro EPERM 1) ; Operation not permitted + (macro ENOENT 2) ; No such file or directory + (macro ESRCH 3) ; No such process + (macro EINTR 4) ; Interrupted system call + (macro EIO 5) ; I/O error + (macro ENXIO 6) ; No such device or address + (macro E2BIG 7) ; Arg list too long + (macro ENOEXEC 8) ; Exec format error + (macro EBADF 9) ; Bad file number + (macro ECHILD 10) ; No child processes + (macro EAGAIN 11) ; Try again + (macro ENOMEM 12) ; Out of memory + (macro EACCES 13) ; Permission denied + (macro EFAULT 14) ; Bad address + (macro ENOTBLK 15) ; Block device required + (macro EBUSY 16) ; Device or resource busy + (macro EEXIST 17) ; File exists + (macro EXDEV 18) ; Cross-device link + (macro ENODEV 19) ; No such device + (macro ENOTDIR 20) ; Not a directory + (macro EISDIR 21) ; Is a directory + (macro EINVAL 22) ; Invalid argument + (macro ENFILE 23) ; File table overflow + (macro EMFILE 24) ; Too many open files + (macro ENOTTY 25) ; Not a typewriter + (macro ETXTBSY 26) ; Text file busy + (macro EFBIG 27) ; File too large + (macro ENOSPC 28) ; No space left on device + (macro ESPIPE 29) ; Illegal seek + (macro EROFS 30) ; Read-only file system + (macro EMLINK 31) ; Too many links + (macro EPIPE 32) ; Broken pipe + (macro EDOM 33) ; Math argument out of domain of func + (macro ERANGE 34) ; Math result not representable + (macro EDEADLK 35) ; Resource deadlock would occur + (macro ENAMETOOLONG 36) ; File name too long + (macro ENOLCK 37) ; No record locks available + (macro ENOSYS 38) ; Function not implemented + (macro ENOTEMPTY 39) ; Directory not empty + (macro ELOOP 40) ; Too many symbolic links encountered + (macro EWOULDBLOCK EAGAIN) ; Operation would block + (macro ENOMSG 42) ; No message of desired type + (macro EIDRM 43) ; Identifier removed + (macro ECHRNG 44) ; Channel number out of range + (macro EL2NSYNC 45) ; Level 2 not synchronized + (macro EL3HLT 46) ; Level 3 halted + (macro EL3RST 47) ; Level 3 reset + (macro ELNRNG 48) ; Link number out of range + (macro EUNATCH 49) ; Protocol driver not attached + (macro ENOCSI 50) ; No CSI structure available + (macro EL2HLT 51) ; Level 2 halted + (macro EBADE 52) ; Invalid exchange + (macro EBADR 53) ; Invalid request descriptor + (macro EXFULL 54) ; Exchange full + (macro ENOANO 55) ; No anode + (macro EBADRQC 56) ; Invalid request code + (macro EBADSLT 57) ; Invalid slot + + (macro EDEADLOCK EDEADLK) + + (macro EBFONT 59) ; Bad font file format + (macro ENOSTR 60) ; Device not a stream + (macro ENODATA 61) ; No data available + (macro ETIME 62) ; Timer expired + (macro ENOSR 63) ; Out of streams resources + (macro ENONET 64) ; Machine is not on the network + (macro ENOPKG 65) ; Package not installed + (macro EREMOTE 66) ; Object is remote + (macro ENOLINK 67) ; Link has been severed + (macro EADV 68) ; Advertise error + (macro ESRMNT 69) ; Srmount error + (macro ECOMM 70) ; Communication error on send + (macro EPROTO 71) ; Protocol error + (macro EMULTIHOP 72) ; Multihop attempted + (macro EDOTDOT 73) ; RFS specific error + (macro EBADMSG 74) ; Not a data message + (macro EOVERFLOW 75) ; Value too large for defined data type + (macro ENOTUNIQ 76) ; Name not unique on network + (macro EBADFD 77) ; File descriptor in bad state + (macro EREMCHG 78) ; Remote address changed + (macro ELIBACC 79) ; Can not access a needed shared library + (macro ELIBBAD 80) ; Accessing a corrupted shared library + (macro ELIBSCN 81) ; .lib section in a.out corrupted + (macro ELIBMAX 82) ; Attempting to link in too many shared libraries + (macro ELIBEXEC 83) ; Cannot exec a shared library directly + (macro EILSEQ 84) ; Illegal byte sequence + (macro ERESTART 85) ; Interrupted system call should be restarted + (macro ESTRPIPE 86) ; Streams pipe error + (macro EUSERS 87) ; Too many users + (macro ENOTSOCK 88) ; Socket operation on non-socket + (macro EDESTADDRREQ 89) ; Destination address required + (macro EMSGSIZE 90) ; Message too long + (macro EPROTOTYPE 91) ; Protocol wrong type for socket + (macro ENOPROTOOPT 92) ; Protocol not available + (macro EPROTONOSUPPORT 93) ; Protocol not supported + (macro ESOCKTNOSUPPORT 94) ; Socket type not supported + (macro EOPNOTSUPP 95) ; Operation not supported on transport endpoint + (macro EPFNOSUPPORT 96) ; Protocol family not supported + (macro EAFNOSUPPORT 97) ; Address family not supported by protocol + (macro EADDRINUSE 98) ; Address already in use + (macro EADDRNOTAVAIL 99) ; Cannot assign requested address + (macro ENETDOWN 100) ; Network is down + (macro ENETUNREACH 101) ; Network is unreachable + (macro ENETRESET 102) ; Network dropped connection because of reset + (macro ECONNABORTED 103) ; Software caused connection abort + (macro ECONNRESET 104) ; Connection reset by peer + (macro ENOBUFS 105) ; No buffer space available + (macro EISCONN 106) ; Transport endpoint is already connected + (macro ENOTCONN 107) ; Transport endpoint is not connected + (macro ESHUTDOWN 108) ; Cannot send after transport endpoint shutdown + (macro ETOOMANYREFS 109) ; Too many references: cannot splice + (macro ETIMEDOUT 110) ; Connection timed out + (macro ECONNREFUSED 111) ; Connection refused + (macro EHOSTDOWN 112) ; Host is down + (macro EHOSTUNREACH 113) ; No route to host + (macro EALREADY 114) ; Operation already in progress + (macro EINPROGRESS 115) ; Operation now in progress + (macro ESTALE 116) ; Stale NFS file handle + (macro EUCLEAN 117) ; Structure needs cleaning + (macro ENOTNAM 118) ; Not a XENIX named type file + (macro ENAVAIL 119) ; No XENIX semaphores available + (macro EISNAM 120) ; Is a named type file + (macro EREMOTEIO 121) ; Remote I/O error + (macro EDQUOT 122) ; Quota exceeded + + (macro ENOMEDIUM 123) ; No medium found + (macro EMEDIUMTYPE 124) ; Wrong medium type ; <linux/socket.h> (macro AF_UNSPEC 0) (macro PF_UNSPEC 0) |
From: <di...@us...> - 2002-09-04 14:31:24
|
Update of /cvsroot/wisp/wisp/doc In directory usw-pr-cvs1:/tmp/cvs-serv30361/doc Modified Files: worth.vim Log Message: Defined the Linux error codes for Worth. Index: worth.vim =================================================================== RCS file: /cvsroot/wisp/wisp/doc/worth.vim,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- worth.vim 4 Sep 2002 14:28:26 -0000 1.7 +++ worth.vim 4 Sep 2002 14:31:21 -0000 1.8 @@ -1,4 +1,4 @@ -" wispstruc.vim - Wisp structure highlighting for Vim +" worth.vim - Worth source highlighting for Vim " " Copyleft © 2002 by Andres Soolo (di...@us...) " This file is licensed under the GNU GPL v2. If you @@ -13,7 +13,7 @@ set lispwords=assemble,binary,defun,if-empty,if-int-const,ifdef,ifndef set lispwords+=,macro,native -syn cluster wispHilitWords add=worthPreproc,worthRegister,worthFlag +syn cluster wispHilitWords add=worthPreproc,worthRegister,worthFlag,worthConstant syn keyword worthPreproc assemble define defun extern ifdef ifndef syn keyword worthPreproc include macro native @@ -35,31 +35,70 @@ syn keyword wispFunc sys.close sys.connect sys.creat sys.dup sys.dup2 syn keyword wispFunc sys.exit sys.fchdir sys.fchmod sys.fdatasync syn keyword wispFunc sys.flock sys.fork sys.fstat sys.fsync -syn keyword wispFunc sys.ftruncate sys.getegid sys.geteuid sys.getgid -syn keyword wispFunc sys.getpeername sys.getpgid sys.getpgrp sys.getpid -syn keyword wispFunc sys.getppid sys.getsid sys.getsockname sys.getuid -syn keyword wispFunc sys.kill sys.link sys.listen sys.lstat sys.mkdir -syn keyword wispFunc sys.mlock sys.mlockall sys.munlock sys.munlockall -syn keyword wispFunc sys.nice sys.pause sys.rename sys.rmdir sys.setgid -syn keyword wispFunc sys.setpgid sys.setregid sys.setreuid sys.setsid -syn keyword wispFunc sys.setuid sys.shutdown sys.socket sys.stat -syn keyword wispFunc sys.stime sys.swapoff sys.swapon sys.symlink -syn keyword wispFunc sys.sync sys.time sys.truncate sys.umask -syn keyword wispFunc sys.unlink sys.vhangup sys.write sys.write-char -syn keyword wispFunc tetra! tetra@ tetras tuck type u< u<= u> u>= -syn keyword wispFunc wisp-bool-> wisp-epilogue wisp-prologue within -syn keyword wispFunc wyde! wyde@ wydes xor +syn keyword wispFunc sys.ftruncate sys.getcwd sys.getegid sys.geteuid +syn keyword wispFunc sys.getgid sys.getpeername sys.getpgid sys.getpgrp +syn keyword wispFunc sys.getpid sys.getppid sys.getsid sys.getsockname +syn keyword wispFunc sys.getuid sys.kill sys.link sys.listen sys.lstat +syn keyword wispFunc sys.mkdir sys.mlock sys.mlockall sys.munlock +syn keyword wispFunc sys.munlockall sys.nice sys.pause sys.rename +syn keyword wispFunc sys.rmdir sys.setgid sys.setpgid sys.setregid +syn keyword wispFunc sys.setreuid sys.setsid sys.setuid sys.shutdown +syn keyword wispFunc sys.socket sys.stat sys.stime sys.swapoff +syn keyword wispFunc sys.swapon sys.symlink sys.sync sys.time +syn keyword wispFunc sys.truncate sys.umask sys.unlink sys.vhangup +syn keyword wispFunc sys.write sys.write-char tetra! tetra@ tetras tuck +syn keyword wispFunc type u< u<= u> u>= wisp-bool-> wisp-epilogue +syn keyword wispFunc wisp-prologue within wyde! wyde@ wydes xor syn keyword worthRegister %ah %al %ax %bh %bl %bp %bx %ch %cl %cs %cx syn keyword worthRegister %dh %di %dl %ds %dx %eax %ebp %ebx %ecx %edi syn keyword worthRegister %edx %es %esi %esp %fs %gs %si %sp %ss +syn keyword worthConstant AF_APPLETALK AF_ASH AF_ATMPVC AF_ATMSVC +syn keyword worthConstant AF_AX25 AF_BLUETOOTH AF_BRIDGE AF_DECnet +syn keyword worthConstant AF_ECONET AF_INET AF_INET6 AF_IPX AF_IRDA +syn keyword worthConstant AF_KEY AF_LLC AF_NETBEUI AF_NETLINK AF_NETROM +syn keyword worthConstant AF_PACKET AF_PPPOX AF_ROSE AF_SECURITY AF_SNA +syn keyword worthConstant AF_UNIX AF_UNSPEC AF_WANPIPE AF_X25 E2BIG +syn keyword worthConstant EACCES EADDRINUSE EADDRNOTAVAIL EADV +syn keyword worthConstant EAFNOSUPPORT EAGAIN EALREADY EBADE EBADF +syn keyword worthConstant EBADFD EBADMSG EBADR EBADRQC EBADSLT EBFONT +syn keyword worthConstant EBUSY ECHILD ECHRNG ECOMM ECONNABORTED +syn keyword worthConstant ECONNREFUSED ECONNRESET EDEADLK EDEADLOCK +syn keyword worthConstant EDESTADDRREQ EDOM EDOTDOT EDQUOT EEXIST +syn keyword worthConstant EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EIDRM +syn keyword worthConstant EILSEQ EINPROGRESS EINTR EINVAL EIO EISCONN +syn keyword worthConstant EISDIR EISNAM EL2HLT EL2NSYNC EL3HLT EL3RST +syn keyword worthConstant ELIBACC ELIBBAD ELIBEXEC ELIBMAX ELIBSCN +syn keyword worthConstant ELNRNG ELOOP EMEDIUMTYPE EMFILE EMLINK +syn keyword worthConstant EMSGSIZE EMULTIHOP ENAMETOOLONG ENAVAIL +syn keyword worthConstant ENETDOWN ENETRESET ENETUNREACH ENFILE ENOANO +syn keyword worthConstant ENOBUFS ENOCSI ENODATA ENODEV ENOENT ENOEXEC +syn keyword worthConstant ENOLCK ENOLINK ENOMEDIUM ENOMEM ENOMSG ENONET +syn keyword worthConstant ENOPKG ENOPROTOOPT ENOSPC ENOSR ENOSTR ENOSYS +syn keyword worthConstant ENOTBLK ENOTCONN ENOTDIR ENOTEMPTY ENOTNAM +syn keyword worthConstant ENOTSOCK ENOTTY ENOTUNIQ ENXIO EOPNOTSUPP +syn keyword worthConstant EOVERFLOW EPERM EPFNOSUPPORT EPIPE EPROTO +syn keyword worthConstant EPROTONOSUPPORT EPROTOTYPE ERANGE EREMCHG +syn keyword worthConstant EREMOTE EREMOTEIO ERESTART EROFS ESHUTDOWN +syn keyword worthConstant ESOCKTNOSUPPORT ESPIPE ESRCH ESRMNT ESTALE +syn keyword worthConstant ESTRPIPE ETIME ETIMEDOUT ETOOMANYREFS ETXTBSY +syn keyword worthConstant EUCLEAN EUNATCH EUSERS EWOULDBLOCK EXDEV +syn keyword worthConstant EXFULL PF_APPLETALK PF_ASH PF_ATMPVC +syn keyword worthConstant PF_ATMSVC PF_AX25 PF_BLUETOOTH PF_BRIDGE +syn keyword worthConstant PF_DECnet PF_ECONET PF_INET PF_INET6 PF_IPX +syn keyword worthConstant PF_IRDA PF_KEY PF_LLC PF_NETBEUI PF_NETLINK +syn keyword worthConstant PF_NETROM PF_PACKET PF_PPPOX PF_ROSE +syn keyword worthConstant PF_SECURITY PF_SNA PF_UNIX PF_UNSPEC +syn keyword worthConstant PF_WANPIPE PF_X25 + syn keyword worthFlag %?-a %?-ae %?-b %?-be %?-c %?-e %?-g %?-ge %?-l syn keyword worthFlag %?-le %?-z %?a %?ae %?b %?be %?c %?e %?g %?ge %?l syn keyword worthFlag %?le %?z hi link worthPreproc Preproc hi link worthRegister Constant +hi link worthConstant Constant hi link worthFlag Type let b:current_syntax = "worth" |
From: <di...@us...> - 2002-09-04 14:31:17
|
Update of /cvsroot/wisp/wisp/modules In directory usw-pr-cvs1:/tmp/cvs-serv30082/modules Modified Files: unix.wim Log Message: Dropped the |gimme| special form and created the builtin module mechanism. Index: unix.wim =================================================================== RCS file: /cvsroot/wisp/wisp/modules/unix.wim,v retrieving revision 1.41 retrieving revision 1.42 diff -u -d -r1.41 -r1.42 --- unix.wim 26 Aug 2002 16:18:19 -0000 1.41 +++ unix.wim 4 Sep 2002 14:30:44 -0000 1.42 @@ -15,10 +15,7 @@ filename-suffix path-contains-dotdot? pipe-from pipe-to pipeline) (use - files lists strings) - -(gimme syscalls) -(gimme semiraw-files) + files lists semiraw-files strings syscalls) ; Does what proc indicates, and doesn't return. (define (dedicated proc) |
From: <di...@us...> - 2002-09-04 14:30:59
|
Update of /cvsroot/wisp/wisp/src In directory usw-pr-cvs1:/tmp/cvs-serv30082/src Modified Files: essence.c wordlist.txt Log Message: Dropped the |gimme| special form and created the builtin module mechanism. Index: essence.c =================================================================== RCS file: /cvsroot/wisp/wisp/src/essence.c,v retrieving revision 1.175 retrieving revision 1.176 diff -u -d -r1.175 -r1.176 --- essence.c 4 Sep 2002 14:29:42 -0000 1.175 +++ essence.c 4 Sep 2002 14:30:44 -0000 1.176 @@ -1041,18 +1041,15 @@ void*Y644[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 5,mca,subc,V 1,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 1,p,s,V 0,mha,l0,q,qi,W(make_counter),t,&NN_dict_ref_2,tc,V 2,c,tc,V 0,c,mlt,s,V 2,t,Q,mlt,s,V 3,t,Q,mlt,s,V 4,mla,l,V 1,q,dig,V 0,xri,Q,jiz,V 174,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,t,T,q,dig,V 1,q,qi,BC 321,mha,l0,q,qi,W(memq),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,jif,V 20,dig,V 1,q,mla,l,V 4,q,mha,l,V 1,l,V 84,tc,V 2,c,mlt,s,V 4,j,V 101,qi,B 643,mla,l,V 2,tc,V 0,c,q,mha,l0,q,qi,W(structure2string),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,mha,l0,q,qi,W(string_append),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,q,mha,l0,q,qi,W(string2symbol),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,dig,V 0,q,dig,V 3,q,mha,l,V 1,l,V 104,tc,V 2,c,q,mla,l,V 3,q,mha,l,V 1,l,V 84,tc,V 2,c,mlt,s,V 3,dig,V 0,q,mla,l,V 4,q,mha,l,V 1,l,V 84,tc,V 2,c,mlt,s,V 4,ds,V 1,ds,V 1,ds,V 1,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,bury,V 0,j,V -180,ds,V 1,qi,W(let),mla,l,V 3,q,mha,l0,q,qi,W(reverse),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,qi,W(cut),mla,l,V 4,q,mha,l0,q,qi,W(reverse),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,r}; void*Y645[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 4,mca,subc,V 2,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 2,p,s,V 1,p,s,V 0,mla,l,V 1,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 41,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l,V 1,l,V 134,tc,V 1,c,jif,V 15,mla,l,V 2,xri,Q,jiz,V 4,t,T,j,V 2,t,F,j,V 2,t,F,j,V 2,t,F,jif,V 121,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,mlt,s,V 3,qi,W(letrec),mla,l,V 3,q,qi,W(lambda),mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mla,l,V 2,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mla,l,V 3,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,r,mla,l,V 1,q,mha,l,V 1,l,V 134,tc,V 1,c,jif,V 42,mla,l,V 2,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 24,mla,l,V 2,q,li,rvec+10,tc,V 1,c,ct,l,V 1,xri,Q,jinz,V 4,t,T,j,V 2,t,F,j,V 2,t,F,j,V 2,t,F,jif,V 82,qi,W(letrec),mla,l,V 1,q,mla,l,V 2,q,li,rvec+10,tc,V 1,c,ct,l0,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mla,l,V 1,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,r,qi,W(invalid_form),qi,W(rec),mla,l,V 1,q,mla,l,V 2,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 116,tc,V 2,c,r}; void*Y646[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 4,mca,subc,V 2,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 2,p,s,V 1,p,s,V 0,t,W(x),mlt,s,V 3,mla,l,V 1,q,mla,l,V 2,q,mha,l,V 1,l,V 84,tc,V 2,c,q,dig,V 0,xri,Q,jiz,V 95,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,t,T,q,qi,W(hide),qi,W(x),dig,V 3,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mla,l,V 3,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,mlt,s,V 3,ds,V 1,ds,V 1,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,bury,V 0,j,V -101,ds,V 1,qi,W(lambda),qi,W(x),qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mla,l,V 3,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,r}; -void*Y647[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 1,binzc,&branch_EVM_invargca,mha,l0,q,qi,W(syscalls),t,&NN_dict_ref_2,tc,V 2,c,mlt,s,V 0,mla,l,V 0,xri,Q,jiz,V 75,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,t,T,q,dig,V 2,q,dig,V 2,q,li,rvec+10,tc,V 1,c,ct,l0,q,dig,V 3,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V -3,c,ds,V 1,ds,V 1,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 0,j,V -82,t,Z,ds,V 1,r}; -void*Y648[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,qi,W(init_input_file),mha,l0,q,qi,W(init_input_file),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V -3,c,dig,V 0,q,qi,W(init_output_file),mha,l0,q,qi,W(init_output_file),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V -3,c,t,Z,ds,V 1,r}; -void*Y649[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 2,binzc,&branch_EVM_invargca,dig,V 0,mlt,s,V 0,mla,l,V 0,xri,W(syscalls),jinz,V 49,qi,W(provide_syscalls),qi,W(quote),dig,V 3,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,ds,V 2,r,mla,l,V 0,xri,W(semiraw_files),jinz,V 49,qi,W(provide_semiraw_files),qi,W(quote),dig,V 3,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,ds,V 2,r,qi,W(unknown),dig,V 1,q,mha,l,V 1,l,V 116,tc,V 2,c,ds,V 2,r}; -void*Y650[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 117,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,li,rvec+10,tc,V 1,c,ct,q,l0,mlt,s,V 0,p,l,V 1,mlt,s,V 1,mha,l,V 2,l,V 0,q,mla,l,V 1,q,mha,l0,q,qi,W(rassq),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,q,dig,V 0,jif,V 32,dig,V 0,q,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,qi,W(use),mla,l,V 0,q,mha,l,V 1,l,V 104,tc,V 3,c,ds,V 1,j,V 2,t,F,ds,V 1,jinf,V 20,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mha,l,V 2,l,V 13,tc,V 1,c,ds,V 1,r,t,F,ds,V 1,r}; -void*Y651[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 14,mca,subc,V 1,binzc,&branch_EVM_invargca,mlt,p,s,V 0,mla,l,V 0,q,mha,l,V 1,l,V 209,q,mha,l0,q,qi,W(rassq),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,mlt,s,V 1,mla,l,V 1,jif,V 50,mla,l,V 1,mlt,s,V 2,t,T,mlt,s,V 3,mla,l,V 2,q,li,rvec+10,tc,V 1,c,ct,l0,mlt,s,V 4,t,T,mlt,s,V 5,t,F,mlt,s,V 6,mla,l,V 4,q,qi,W(regular_env),mha,l,V 1,l,V 104,tc,V 2,c,r,mla,l,V 0,q,mha,l0,q,qi,W(syscalls),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l0,q,qi,W(rassq),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,mlt,s,V 7,mla,l,V 7,jif,V 52,mla,l,V 7,mlt,s,V 8,t,T,mlt,s,V 9,mla,l,V 8,q,li,rvec+10,tc,V 1,c,ct,l0,mlt,s,V 10,t,T,mlt,s,V 11,t,F,mlt,s,V 12,mla,l,V 10,q,qi,W(gimme),qi,W(syscalls),mha,l,V 1,l,V 104,tc,V 3,c,r,mla,l,V 0,q,mha,l,V 1,l,V 210,xors,jinz,V 13,qi,W(origin),qi,W(regular_env),mha,l,V 1,l,V 104,tc,V 2,c,r,mla,l,V 0,q,mha,l,V 1,l,V 211,xors,jinz,V 11,qi,W(regular_env),mha,l,V 1,l,V 104,tc,V 1,c,r,t,Q,mlt,s,V 13,t,B 650,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 13,mha,l0,q,qi,W(modules),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l,V 1,l,V 26,tc,V 1,c,q,mla,l,V 13,tc,V 1,c,jinf,V 33,mla,l,V 0,q,mha,l0,q,qi,W(assemble),t,&NN_dict_ref_2,tc,V 2,c,xors,jinz,V 14,qi,W(assemble),qi,W(_A),mha,l,V 1,l,V 84,tc,V 2,c,j,V 2,t,F,r}; -void*Y652[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 0,binzc,&branch_EVM_invargca,mha,l,V 1,l,V 209,q,mha,l0,q,qi,W(alist2dict),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,mlt,s,V 0,mla,l,V 0,q,qi,W(regular_env),mha,l,V 1,l,V 211,q,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V -3,c,mla,l,V 0,q,qi,W(origin),mha,l,V 1,l,V 210,q,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V -3,c,mla,l,V 0,q,qi,W(wisp_version),mha,l,V 1,l,V 160,q,mha,l0,q,qi,W(string_copy),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V -3,c,mla,l,V 0,q,qi,W(wisp_build),mha,l,V 1,l,V 161,q,mha,l0,q,qi,W(string_copy),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V -3,c,mla,l,V 0,q,qi,W(wisp_builder),mha,l,V 1,l,V 162,q,mha,l0,q,qi,W(string_copy),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V -3,c,mla,l,V 0,r}; -void*Y656[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 2,binzc,&branch_EVM_invargca,mha,l0,q,qi,W(XstderrX),t,&NN_dict_ref_2,tc,V 2,c,q,qi,B 653,dig,V 3,q,mha,l0,q,qi,W(structure2string),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,qi,B 654,dig,V 4,q,mha,l0,q,qi,W(structure2string),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,qi,B 655,mha,l0,q,qi,W(string_append),t,&NN_dict_ref_2,tc,V 2,c,tc,V 5,c,q,mha,l0,q,qi,W(print),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,qi,I(255),mha,l,V 1,l,V 208,tc,V 1,c,ds,V 2,r}; -void*Y660[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 0,binzc,&branch_EVM_invargca,qi,B 657,mha,l,V 1,l,V 160,q,mha,l0,q,qi,W(dwim_stringify),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,qi,B 658,mha,l,V 1,l,V 162,q,mha,l0,q,qi,W(dwim_stringify),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,qi,B 659,mha,l0,q,qi,W(string_append),t,&NN_dict_ref_2,tc,V 2,c,tc,V 5,c,q,mha,l0,q,qi,W(write_string),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,qi,I(0),mha,l,V 1,l,V 208,tc,V 1,c,r}; -void*Y667[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 1,binzc,&branch_EVM_invargca,t,F,mlt,s,V 0,dig,V 0,q,mha,l0,q,qi,W(Xuser_dictionaryX),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l0,q,qi,W(load),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,ds,V 1,r}; -void*Y668[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 0,binc,&branch_EVM_invargca,mlt,inc,dcc,jizc,V 3,p,j,V -6,mha,l,V 2,l,V 3,jif,V 20,mha,l,V 2,l,V 1,q,mha,l0,q,qi,W(run_ewisp_file),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,r,mha,l,V 2,l,V 1,jif,V 31,mha,l,V 2,l,V 1,q,mha,l0,q,qi,W(Xuser_dictionaryX),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l0,q,qi,W(load),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,r,mha,l,V 2,l,V 6,jif,V 34,qi,B 666,qi,W(system_path),t,B 667,q,qi,V 3,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(call_with_input_file),t,&NN_dict_ref_2,tc,V 2,c,tc,V 3,c,tc,V 0,c,r,mha,l0,q,qi,W(XstdinX),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l0,q,qi,W(Xuser_dictionaryX),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l0,q,qi,W(load),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,r}; -void*Y669[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 7,mca,subc,V 3,binzc,&branch_EVM_invargca,mlt,p,s,V 2,p,s,V 1,p,s,V 0,qi,CH('V'),mla,l,V 0,q,mha,l0,q,qi,W(memq),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,jif,V 15,mha,l0,q,qi,W(state_version),t,&NN_dict_ref_2,tc,V 2,c,tc,V 0,c,j,V 0,qi,CH('e'),mla,l,V 0,q,mha,l0,q,qi,W(memq),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,mlt,s,V 3,qi,CH('A'),mla,l,V 0,q,mha,l0,q,qi,W(memq),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,mlt,s,V 4,qi,CH('C'),mla,l,V 0,q,mha,l0,q,qi,W(memq),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,jinf,V 19,qi,CH('c'),mla,l,V 0,q,mha,l0,q,qi,W(memq),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,mlt,s,V 5,qi,CH('i'),mla,l,V 0,q,mha,l0,q,qi,W(memq),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,jinf,V 24,mha,l0,q,qi,W(XstdinX),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l0,q,qi,W(tty_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,mlt,s,V 6,mla,l,V 0,q,dig,V 0,xri,Q,jiz,V 122,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,qi,BC 326,mha,l0,q,qi,W(memq),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,jinf,V 79,mha,l0,q,qi,W(XstderrX),t,&NN_dict_ref_2,tc,V 2,c,q,qi,B 661,dig,V 2,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l0,q,qi,W(dwim_stringify),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,qi,B 662,mha,l0,q,qi,W(string_append),t,&NN_dict_ref_2,tc,V 2,c,tc,V 3,c,q,mha,l0,q,qi,W(print),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,qi,I(255),mha,l,V 1,l,V 208,tc,V 1,c,j,V 0,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,bury,V 0,j,V -128,ds,V 1,mla,l,V 2,mat,mha,l,V 1,st,V 0,mha,l0,q,qi,W(Xuser_dictionaryX),t,&NN_dict_ref_2,tc,V 2,c,q,qi,W(XarglistX),mla,l,V 2,q,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V -3,c,qi,B 663,mha,l0,q,qi,W(env_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,dig,V 0,jif,V 40,mha,l0,q,qi,W(Xsystem_pathX),t,&NN_dict_ref_2,tc,V 2,c,q,qi,CH(':'),dig,V 2,q,mha,l0,q,qi,W(split_by_char),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,q,mha,l,V 1,l,V 26,tc,V -2,c,j,V 91,qi,B 664,mha,l0,q,qi,W(env_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,dig,V 0,jif,V 69,mha,l0,q,qi,W(Xsystem_pathX),t,&NN_dict_ref_2,tc,V 2,c,q,dig,V 1,q,qi,B 665,mha,l0,q,qi,W(string_append),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,q,mha,l0,q,qi,W(Xsystem_pathX),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l,V 1,l,V 26,tc,V 1,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 26,tc,V -2,c,j,V 0,ds,V 1,ds,V 1,mla,l,V 5,jif,V 52,mha,l0,q,qi,W(Xsystem_pathX),t,&NN_dict_ref_2,tc,V 2,c,q,qi,B 364,mha,l0,q,qi,W(Xsystem_pathX),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l,V 1,l,V 26,tc,V 1,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 26,tc,V -2,c,j,V 0,mla,l,V 4,jif,V 96,mha,l0,q,qi,W(Xuser_dictionaryX),t,&NN_dict_ref_2,tc,V 2,c,q,qi,W(assemble),mha,l0,q,qi,W(assemble),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V -3,c,mha,l0,q,qi,W(Xuser_dictionaryX),t,&NN_dict_ref_2,tc,V 2,c,q,qi,W(instruction_list),mha,l0,q,qi,W(car),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l,V 1,l,V 185,q,mha,l0,q,qi,W(map),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,q,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V -3,c,j,V 26,mha,l0,q,qi,W(Xasm_lockX),t,&NN_dict_ref_2,tc,V 2,c,q,qi,T,mha,l0,q,qi,W(car),t,&NN_dict_ref_2,tc,V 2,c,tc,V -2,c,mla,l,V 1,q,mha,l,V 1,l,V 133,tc,V 1,c,jif,V 49,mla,l,V 1,q,mha,l0,q,qi,W(string_null_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,jinf,V 26,mla,l,V 1,q,qi,I(-1),mha,l,V 1,l,V 123,tc,V 2,c,xri,CH('/'),jinz,V 4,t,T,j,V 2,t,F,j,V 2,t,F,j,V 2,t,F,jif,V 60,mla,l,V 1,q,qi,I(0),qi,I(-1),mha,l0,q,qi,W(slice),t,&NN_dict_ref_2,tc,V 2,c,tc,V 3,c,q,mha,l0,q,qi,W(Xsystem_pathX),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l,V 1,l,V 123,tc,V 1,c,q,mha,l0,q,qi,W(open_input_file),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,mlt,s,V 1,j,V 0,qi,T,mha,l0,q,qi,W(fatal_handler),t,&NN_dict_ref_2,tc,V 2,c,q,t,B 668,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l,V 1,l,V 34,tc,V 3,c,qi,I(0),mha,l,V 1,l,V 208,tc,V 1,c,r}; -void*Y674[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 212,mca,subc,V 2,binzc,&branch_EVM_invargca,mlt,p,s,V 1,p,s,V 0,t,V 1,q,t,&NN_valloc,tc,V 1,c,q,ph,qi,I(20),t,&NN_make_dict,tc,V 0,c,q,pt,mha,st,V 0,mta,q,t,&NN_rvec_set,tc,V 2,c,t,&NN_printeger2string,mlt,s,V 2,t,&NN_prlshl,mlt,s,V 3,t,&NN_prlshr,mlt,s,V 4,t,&NN_prstring2integer,mlt,s,V 5,t,&NN_prsymbol2string,mlt,s,V 6,t,&NN_ws2zt,mlt,s,V 7,t,&RT_box,mlt,s,V 8,t,&RT_c16string,mlt,s,V 9,t,&RT_record_type,mlt,s,V 10,t,&NN_encui,mlt,s,V 11,t,&NN_apply,mlt,s,V 12,t,&NN_big_integer_huh,mlt,s,V 13,t,&NN_binary_mul,mlt,s,V 14,t,&NN_binary_add,mlt,s,V 15,t,&NN_binary_sub,mlt,s,V 16,t,&NN_binary_eqvp,mlt,s,V 17,t,&NN_bland,mlt,s,V 18,t,&NN_blor,mlt,s,V 19,t,&NN_binary_num_equalp,mlt,s,V 20,t,&NN_binary_num_lessp,mlt,s,V 21,t,&NN_binary_div,mlt,s,V 22,t,&NN_bitstring_ref,mlt,s,V 23,t,&NN_box_empty,mlt,s,V 24,t,&NN_box_empty_huh,mlt,s,V 25,t,&NN_box_ref,mlt,s,V 26,t,&NN_box_huh,mlt,s,V 27,t,&NN_c16string_length,mlt,s,V 28,t,&NN_c16string_ref,mlt,s,V 29,t,&NN_c16string_huh,mlt,s,V 30,t,&NN_c8string_length,mlt,s,V 31,t,&NN_c8string_ref,mlt,s,V 32,t,&NN_c8string_huh,mlt,s,V 33,t,&NN_catch,mlt,s,V 34,t,&NN_ceiling,mlt,s,V 35,t,&NN_char2integer,mlt,s,V 36,t,&NN_char_and,mlt,s,V 37,t,&NN_char_bit_clear,mlt,s,V 38,t,&NN_char_bit_set,mlt,s,V 39,t,&NN_char_bit_toggle,mlt,s,V 40,t,&NN_char_bit_huh,mlt,s,V 41,t,&NN_char_decimal_huh,mlt,s,V 42,t,&NN_char_digit_huh,mlt,s,V 43,t,&NN_char_downcase,mlt,s,V 44,t,&NN_char_hexadecimal_huh,mlt,s,V 45,t,&NN_char_letter_modifier_huh,mlt,s,V 46,t,&NN_char_letter_huh,mlt,s,V 47,t,&NN_char_lower_case_huh,mlt,s,V 48,t,&NN_char_mirrored_huh,mlt,s,V 49,t,&NN_char_number_letter_huh,mlt,s,V 50,t,&NN_char_octal_huh,mlt,s,V 51,t,&NN_char_or,mlt,s,V 52,t,&NN_char_order,mlt,s,V 53,t,&NN_char_punctuation_close_huh,mlt,s,V 54,t,&NN_char_punctuation_connector_huh,mlt,s,V 55,t,&NN_char_punctuation_dash_huh,mlt,s,V 56,t,&NN_char_punctuation_final_quote_huh,mlt,s,V 57,t,&NN_char_punctuation_initial_quote_huh,mlt,s,V 58,t,&NN_char_punctuation_open_huh,mlt,s,V 59,t,&NN_char_punctuation_huh,mlt,s,V 60,t,&NN_char_symbol_currency_huh,mlt,s,V 61,t,&NN_char_symbol_math_huh,mlt,s,V 62,t,&NN_char_symbol_starter_huh,mlt,s,V 63,t,&NN_char_symbol_huh,mlt,s,V 64,t,&NN_char_symbolic_huh,mlt,s,V 65,t,&NN_char_title_case_huh,mlt,s,V 66,t,&NN_char_titlecase,mlt,s,V 67,t,&NN_char_upcase,mlt,s,V 68,t,&NN_char_upper_case_huh,mlt,s,V 69,t,&NN_char_utf_8,mlt,s,V 70,t,&NN_char_utf_8_continue,mlt,s,V 71,t,&NN_char_utf_8_length,mlt,s,V 72,t,&NN_char_whitespace_huh,mlt,s,V 73,t,&NN_char_xor,mlt,s,V 74,t,&NN_char16_bswap,mlt,s,V 75,t,&NN_char16_rol,mlt,s,V 76,t,&NN_char16_ror,mlt,s,V 77,t,&NN_char16_huh,mlt,s,V 78,t,&NN_char24_huh,mlt,s,V 79,t,&NN_char8_rol,mlt,s,V 80,t,&NN_char8_ror,mlt,s,V 81,t,&NN_char8_huh,mlt,s,V 82,t,&NN_char_huh,mlt,s,V 83,t,&NN_cons,mlt,s,V 84,t,&NN_cons_huh,mlt,s,V 85,t,&NN_decsi,mlt,s,V 86,t,&NN_decui,mlt,s,V 87,t,&NN_dict2alist,mlt,s,V 88,t,&NN_dict_drop,mlt,s,V 89,t,&NN_dict_fetch,mlt,s,V 90,t,&NN_dict_set,mlt,s,V 91,t,&NN_dict_huh,mlt,s,V 92,t,&NN_e2f_set,mlt,s,V 93,t,&NN_e2f_sref,mlt,s,V 94,t,&NN_encsi,mlt,s,V 95,t,&NN_encui,mlt,s,V 96,t,&NN_evmfunc_huh,mlt,s,V 97,t,&NN_fit_for_symbol_huh,mlt,s,V 98,t,&NN_fixnum_huh,mlt,s,V 99,t,&NN_floor,mlt,s,V 100,t,&NN_fraction_huh,mlt,s,V 101,t,&NN_instance_huh,mlt,s,V 102,t,&NN_integer2char,mlt,s,V 103,t,&NN_list,mlt,s,V 104,t,&NN_make_box,mlt,s,V 105,t,&NN_make_c16string,mlt,s,V 106,t,&NN_make_c8string,mlt,s,V 107,t,&NN_make_dict,mlt,s,V 108,t,&NN_make_string,mlt,s,V 109,t,&NN_make_vector,mlt,s,V 110,t,&NN_memmove,mlt,s,V 111,t,&NN_memset,mlt,s,V 112,t,&NN_mk_e2f,mlt,s,V 113,t,&NN_modulo,mlt,s,V 114,t,&NN_native_huh,mlt,s,V 115,t,&NN_raise,mlt,s,V 116,t,&NN_rat2cons,mlt,s,V 117,t,&NN_realloc,mlt,s,V 118,t,&NN_record_type_discriminator,mlt,s,V 119,t,&NN_record_type_referrer,mlt,s,V 120,t,&NN_record_type_slot_count,mlt,s,V 121,t,&NN_record_type_huh,mlt,s,V 122,t,&NN_ref,mlt,s,V 123,t,&NN_remainder,mlt,s,V 124,t,&NN_rvec_set,mlt,s,V 125,t,&NN_salloc,mlt,s,V 126,t,&NN_string,mlt,s,V 127,t,&NN_strcomp,mlt,s,V 128,t,&NN_string_fill,mlt,s,V 129,t,&NN_string_length,mlt,s,V 130,t,&NN_string_move,mlt,s,V 131,t,&NN_string_ref,mlt,s,V 132,t,&NN_string_huh,mlt,s,V 133,t,&NN_symbol_huh,mlt,s,V 134,t,&NN_sys_exit,mlt,s,V 135,t,&NN_sys_fstat,mlt,s,V 136,t,&NN_sys_getegid,mlt,s,V 137,t,&NN_sys_geteuid,mlt,s,V 138,t,&NN_sys_getgid,mlt,s,V 139,t,&NN_sys_getpid,mlt,s,V 140,t,&NN_sys_getppid,mlt,s,V 141,t,&NN_sys_getuid,mlt,s,V 142,t,&NN_sys_lstat,mlt,s,V 143,t,&NN_sys_select,mlt,s,V 144,t,&NN_sys_stat,mlt,s,V 145,t,&NN_sys_sync,mlt,s,V 146,t,&NN_truncate,mlt,s,V 147,t,&NN_type_of,mlt,s,V 148,t,&NN_unix_time,mlt,s,V 149,t,&NN_unsigned_get_bit,mlt,s,V 150,t,&NN_utf_8_first_byte2length,mlt,s,V 151,t,&NN_valloc,mlt,s,V 152,t,&NN_vector_fill,mlt,s,V 153,t,&NN_vector_length,mlt,s,V 154,t,&NN_vector_move,mlt,s,V 155,t,&NN_vector_ref,mlt,s,V 156,t,&NN_vector_huh,mlt,s,V 157,t,&NN_wisp_string_hash,mlt,s,V 158,mla,l,V 116,mlt,s,V 159,t,&S_wisp_version,mlt,s,V 160,t,&S_wisp_build,mlt,s,V 161,t,&S_wisp_builder,mlt,s,V 162,qi,I(19),t,&NN_clos,q,mla,l,V 125,tc,V 2,c,qi,I(3),mla,l,V 91,q,mla,l,V 125,tc,V 2,c,qi,I(4),mla,l,V 15,q,mla,l,V 125,tc,V 2,c,qi,I(5),mla,l,V 16,q,mla,l,V 125,tc,V 2,c,qi,I(6),mla,l,V 14,q,mla,l,V 125,tc,V 2,c,qi,I(7),mla,l,V 22,q,mla,l,V 125,tc,V 2,c,qi,I(9),mla,l,V 116,q,mla,l,V 125,tc,V 2,c,qi,I(10),t,B 0,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mla,l,V 125,tc,V 2,c,t,B 1,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 163,qi,I(11),mla,l,V 163,q,mla,l,V 125,tc,V 2,c,qi,I(14),mla,l,V 20,q,mla,l,V 125,tc,V 2,c,qi,I(15),mla,l,V 21,q,mla,l,V 125,tc,V 2,c,qi,I(17),mla,l,V 17,q,mla,l,V 125,tc,V 2,c,mha,l0,q,qi,W(master_dictionary),t,rvec,l,V 20,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(dict_ref),t,B 2,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(master_dictionary),t,&NN_dict_ref_2,tc,V 2,c,q,qi,W(get_raw_header_item),t,&NN_get_raw_header_item,q,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V -3,c,mha,l0,q,qi,W(master_dictionary),t,&NN_dict_ref_2,tc,V 2,c,q,qi,W(valloc),t,&NN_valloc,q,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V -3,c,mha,l0,q,qi,W(make_record_type),t,B 3,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,qi,I(1),mha,l0,q,qi,W(make_record_type),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+10,tc,V 1,c,ct,q,l0,mlt,s,V 164,p,l,V 1,q,li,rvec+10,tc,V 1,c,ct,q,l0,mlt,s,V 165,p,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,mlt,s,V 166,mha,l0,q,qi,W(LTmacroGT),mla,l,V 164,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(procedure2macro),t,B 4,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(macro2procedure),t,B 5,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(macro_huh),mha,l0,q,qi,W(LTmacroGT),t,&NN_dict_ref_2,tc,V 2,c,q,mla,l,V 119,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(defmacro),t,B 6,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(metacode),t,B 7,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(assert),t,B 8,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(type),t,B 10,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(define),t,B 11,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(not),t,B 12,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(null_huh),t,B 13,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(LT),t,B 15,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(LTEQ),t,B 17,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(EQ),t,B 19,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(GT),t,B 21,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(GTEQ),t,B 23,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(charLTEQ_huh),t,B 25,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(charLT_huh),t,B 27,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(charEQ_huh),t,B 29,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(charGTEQ_huh),t,B 31,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(charGT_huh),t,B 33,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(eq_huh),t,B 29,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(eqv_huh),t,B 19,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(SLASHEQ),t,B 35,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cardinal_huh),t,B 36,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(eval),t,B 37,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(or),t,B 39,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(and),t,B 41,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,t,B 43,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 167,t,B 46,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 168,mha,l0,q,qi,W(quasiquote),t,B 47,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(process_unquote_splicing),t,B 48,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(process_simple_quasiquote),t,B 49,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(quasiquote_cons),t,B 50,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(do),t,B 52,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(incr_bang),t,B 53,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(decr_bang),t,B 54,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cons_bang),t,B 55,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(acons_bang),t,B 56,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(car_bang),t,B 57,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cdr_bang),t,B 58,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(swap_bang),t,B 59,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(pick_dict_items),t,B 61,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(dict_defined_huh),t,B 64,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(dict_copy),t,B 65,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(hache),t,B 69,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(duplicate_dict_item_bang),t,B 70,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(current_globals),t,B 71,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(integer2string),t,B 72,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(string2integer),t,B 73,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cond),t,B 74,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(zero_huh),t,B 75,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(positive_huh),t,B 76,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(negative_huh),t,B 77,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(binary_equal_huh),t,B 78,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(binary_vector_contents_equal_huh),t,B 79,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(equal_huh),t,B 81,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(boolean_huh),t,B 82,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(void_huh),t,B 83,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(eof_object_huh),t,B 83,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(bit_huh),t,B 84,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(nyp_huh),t,B 85,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(nybble_huh),t,B 86,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(sbyte_huh),t,B 87,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(ubyte_huh),t,B 88,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(swyde_huh),t,B 89,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(uwyde_huh),t,B 90,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(keyword_huh),t,B 91,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(broketed_huh),t,B 92,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(PLUS),t,B 93,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(_),t,B 94,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(TIMES),t,B 95,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(SLASH),t,B 96,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(quotient),t,B 97,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(even_huh),t,B 98,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(odd_huh),t,B 99,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(numerator),t,B 100,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(denominator),t,B 101,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(abs),t,B 102,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(round),t,B 103,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(make_counter),t,B 105,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(integer_huh),t,B 106,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(rational_huh),t,B 107,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(real_huh),t,B 108,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(number_huh),t,B 109,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(procedure_huh),t,B 110,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(atom_huh),t,B 111,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(sub),t,B 112,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(slice),t,B 113,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(try),t,B 115,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(dict_bind_bang),t,B 117,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(bind),t,B 118,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(tree_copy),t,B 120,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,t,B 122,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 169,mha,l0,q,qi,W(map),t,B 125,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(for_each),t,B 127,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(carTIMES),t,B 130,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cdrTIMES),t,B 132,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(append_reverse),t,B 133,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(reverse),t,B 134,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(drop),t,B 135,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(list_ref),t,B 136,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(concatenate),t,B 137,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(append),t,B 138,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(list_huh),t,B 140,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(length),t,B 142,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(length_huh),t,B 144,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(memq),t,B 146,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(memv),t,B 148,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(member),t,B 150,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(assq),t,B 152,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(assv),t,B 154,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(assoc),t,B 156,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(rassq),t,B 158,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(rassv),t,B 160,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(rassoc),t,B 162,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(circular_list),t,B 163,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(order2dict),t,B 164,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(alist2dict),t,B 165,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(vector2list),t,B 166,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(intermingle),t,B 168,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(flatten),t,B 170,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(null_list_huh),t,B 171,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(find_tail),t,B 173,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(find),t,B 174,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(filter),t,B 176,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(toposplit),t,B 178,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(list_copy),t,B 180,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cons_copy),t,B 181,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(alist_copy),t,B 182,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(last_cons),t,B 184,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(semideque),t,B 185,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(list2semideque),t,B 186,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(semideque2list),t,B 187,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(semideque_insert_bang),t,B 188,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(semideque_push_bang),t,B 189,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(semideque_pop_bang),t,B 190,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(semideque_top),t,B 191,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(semideque_bottom),t,B 192,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(system_constants),qi,W(sysnr),qi,W(exit),qi,I(1),mla,l,V 84,tc,V 2,c,q,qi,W(fork),qi,I(2),mla,l,V 84,tc,V 2,c,q,qi,W(read),qi,I(3),mla,l,V 84,tc,V 2,c,q,qi,W(write),qi,I(4),mla,l,V 84,tc,V 2,c,q,qi,W(open),qi,I(5),mla,l,V 84,tc,V 2,c,q,qi,W(close),qi,I(6),mla,l,V 84,tc,V 2,c,q,qi,W(waitpid),qi,I(7),mla,l,V 84,tc,V 2,c,q,qi,W(link),qi,I(9),mla,l,V 84,tc,V 2,c,q,qi,W(unlink),qi,I(10),mla,l,V 84,tc,V 2,c,q,qi,W(execve),qi,I(11),mla,l,V 84,tc,V 2,c,q,qi,W(chdir),qi,I(12),mla,l,V 84,tc,V 2,c,q,qi,W(time),qi,I(13),mla,l,V 84,tc,V 2,c,q,qi,W(chmod),qi,I(15),mla,l,V 84,tc,V 2,c,q,qi,W(lseek),qi,I(19),mla,l,V 84,tc,V 2,c,q,qi,W(getpid),qi,I(20),mla,l,V 84,tc,V 2,c,q,qi,W(getuid),qi,I(24),mla,l,V 84,tc,V 2,c,q,qi,W(kill),qi,I(37),mla,l,V 84,tc,V 2,c,q,qi,W(rename),qi,I(38),mla,l,V 84,tc,V 2,c,q,qi,W(mkdir),qi,I(39),mla,l,V 84,tc,V 2,c,q,qi,W(dup),qi,I(41),mla,l,V 84,tc,V 2,c,q,qi,W(pipe),qi,I(42),mla,l,V 84,tc,V 2,c,q,qi,W(getgid),qi,I(47),mla,l,V 84,tc,V 2,c,q,qi,W(geteuid),qi,I(49),mla,l,V 84,tc,V 2,c,q,qi,W(getegid),qi,I(50),mla,l,V 84,tc,V 2,c,q,qi,W(ioctl),qi,I(54),mla,l,V 84,tc,V 2,c,q,qi,W(fcntl),qi,I(55),mla,l,V 84,tc,V 2,c,q,qi,W(setpgid),qi,I(57),mla,l,V 84,tc,V 2,c,q,qi,W(dup2),qi,I(63),mla,l,V 84,tc,V 2,c,q,qi,W(getppid),qi,I(64),mla,l,V 84,tc,V 2,c,q,qi,W(setsid),qi,I(66),mla,l,V 84,tc,V 2,c,q,qi,W(symlink),qi,I(83),mla,l,V 84,tc,V 2,c,q,qi,W(truncate),qi,I(92),mla,l,V 84,tc,V 2,c,q,qi,W(ftruncate),qi,I(93),mla,l,V 84,tc,V 2,c,q,qi,W(socketcall),qi,I(102),mla,l,V 84,tc,V 2,c,q,qi,W(getpgid),qi,I(132),mla,l,V 84,tc,V 2,c,q,qi,W(nanosleep),qi,I(162),mla,l,V 84,tc,V 2,c,q,qi,W(getcwd),qi,I(183),mla,l,V 84,tc,V 2,c,q,qi,Q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,qi,W(termios),qi,W(NCCS),qi,I(32),mla,l,V 84,tc,V 2,c,q,qi,W(cc),qi,W(VINTR),qi,I(0),mla,l,V 84,tc,V 2,c,q,qi,W(VQUIT),qi,I(1),mla,l,V 84,tc,V 2,c,q,qi,W(VERASE),qi,I(2),mla,l,V 84,tc,V 2,c,q,qi,W(VKILL),qi,I(3),mla,l,V 84,tc,V 2,c,q,qi,W(VEOF),qi,I(4),mla,l,V 84,tc,V 2,c,q,qi,W(VTIME),qi,I(5),mla,l,V 84,tc,V 2,c,q,qi,W(VMIN),qi,I(6),mla,l,V 84,tc,V 2,c,q,qi,W(VSWTC),qi,I(7),mla,l,V 84,tc,V 2,c,q,qi,W(VSTART),qi,I(8),mla,l,V 84,tc,V 2,c,q,qi,W(VSTOP),qi,I(9),mla,l,V 84,tc,V 2,c,q,qi,W(VSUSP),qi,I(10),mla,l,V 84,tc,V 2,c,q,qi,W(VEOL),qi,I(11),mla,l,V 84,tc,V 2,c,q,qi,W(VREPRINT),qi,I(12),mla,l,V 84,tc,V 2,c,q,qi,W(VDISCARD),qi,I(13),mla,l,V 84,tc,V 2,c,q,qi,W(VWERASE),qi,I(14),mla,l,V 84,tc,V 2,c,q,qi,W(VLNEXT),qi,I(15),mla,l,V 84,tc,V 2,c,q,qi,W(VEOL2),qi,I(16),mla,l,V 84,tc,V 2,c,q,qi,Q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,qi,Q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,qi,W(ioctl),qi,W(TCGETS),qi,I(21505),mla,l,V 84,tc,V 2,c,q,qi,W(TCSETS),qi,I(21506),mla,l,V 84,tc,V 2,c,q,qi,W(TCSETSW),qi,I(21507),mla,l,V 84,tc,V 2,c,q,qi,W(TCSETSF),qi,I(21508),mla,l,V 84,tc,V 2,c,q,qi,Q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,qi,W(open),qi,W(O_RDONLY),qi,I(0),mla,l,V 84,tc,V 2,c,q,qi,W(O_WRONLY),qi,I(1),mla,l,V 84,tc,V 2,c,q,qi,W(O_RDWR),qi,I(2),mla,l,V 84,tc,V 2,c,q,qi,W(O_CREAT),qi,I(64),mla,l,V 84,tc,V 2,c,q,qi,W(O_EXCL),qi,I(128),mla,l,V 84,tc,V 2,c,q,qi,W(O_NOCTTY),qi,I(256),mla,l,V 84,tc,V 2,c,q,qi,W(O_TRUNC),qi,I(512),mla,l,V 84,tc,V 2,c,q,qi,W(O_APPEND),qi,I(1024),mla,l,V 84,tc,V 2,c,q,qi,W(O_NONBLOCK),qi,I(2048),mla,l,V 84,tc,V 2,c,q,qi,W(O_NDELAY),qi,I(2048),mla,l,V 84,tc,V 2,c,q,qi,W(O_SYNC),qi,I(4096),mla,l,V 84,tc,V 2,c,q,qi,W(O_FSYNC),qi,I(4096),mla,l,V 84,tc,V 2,c,q,qi,W(O_ASYNC),qi,I(8192),mla,l,V 84,tc,V 2,c,q,qi,W(O_DIRECT),qi,I(16384),mla,l,V 84,tc,V 2,c,q,qi,W(O_DIRECTORY),qi,I(0),qi,I(256),qi,I(0),qi,I(256),qi,I(1),qi,I(256),qi,I(0),qi,I(256),qi,I(0),qi,I(256),qi,I(0),qi,I(256),qi,I(0),qi,I(256),qi,I(0),li,rvec+6,tc,V 2,c,q,li,rvec+4,tc,V 2,c,q,li,rvec+6,tc,V 2,c,q,li,rvec+4,tc,V 2,c,q,li,rvec+6,tc,V 2,c,q,li,rvec+4,tc,V 2,c,q,li,rvec+6,tc,V 2,c,q,li,rvec+4,tc,V 2,c,q,li,rvec+6,tc,V 2,c,q,li,rvec+4,tc,V 2,c,q,li,rvec+6,tc,V 2,c,q,li,rvec+4,tc,V 2,c,q,li,rvec+6,tc,V 2,c,q,li,rvec+4,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,qi,W(O_NOFOLLOW),qi,I(0),qi,I(256),qi,I(0),qi,I(256),qi,I(2),qi,I(256),qi,I(0),qi,I(256),qi,I(0),qi,I(256),qi,I(0),qi,I(256),qi,I(0),qi,I(256),qi,I(0),li,rvec+6,tc,V 2,c,q,li,rvec+4,tc,V 2,c,q,li,rvec+6,tc,V 2,c,q,li,rvec+4,tc,V 2,c,q,li,rvec+6,tc,V 2,c,q,li,rvec+4,tc,V 2,c,q,li,rvec+6,tc,V 2,c,q,li,rvec+4,tc,V 2,c,q,li,rvec+6,tc,V 2,c,q,li,rvec+4,tc,V 2,c,q,li,rvec+6,tc,V 2,c,q,li,rvec+4,tc,V 2,c,q,li,rvec+6,tc,V 2,c,q,li,rvec+4,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,qi,Q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,qi,W(fcntl),qi,W(F_DUPFD),qi,I(0),mla,l,V 84,tc,V 2,c,q,qi,W(F_GETFD),qi,I(1),mla,l,V 84,tc,V 2,c,q,qi,W(F_SETFD),qi,I(2),mla,l,V 84,tc,V 2,c,q,qi,W(F_GETFL),qi,I(3),mla,l,V 84,tc,V 2,c,q,qi,W(F_SETFL),qi,I(4),mla,l,V 84,tc,V 2,c,q,qi,W(F_GETLK),qi,I(5),mla,l,V 84,tc,V 2,c,q,qi,W(F_SETLK),qi,I(6),mla,l,V 84,tc,V 2,c,q,qi,W(F_SETLKW),qi,I(7),mla,l,V 84,tc,V 2,c,q,qi,W(F_SETOWN),qi,I(8),mla,l,V 84,tc,V 2,c,q,qi,W(F_GETOWN),qi,I(9),mla,l,V 84,tc,V 2,c,q,qi,W(F_SETSIG),qi,I(10),mla,l,V 84,tc,V 2,c,q,qi,W(F_GETSIG),qi,I(11),mla,l,V 84,tc,V 2,c,q,qi,W(F_GETLK64),qi,I(12),mla,l,V 84,tc,V 2,c,q,qi,W(F_SETLK64),qi,I(13),mla,l,V 84,tc,V 2,c,q,qi,W(F_SETLKW64),qi,I(14),mla,l,V 84,tc,V 2,c,q,qi,W(FD_CLOEXEC),qi,I(1),mla,l,V 84,tc,V 2,c,q,qi,W(LOCK_SH),qi,I(1),mla,l,V 84,tc,V 2,c,q,qi,W(LOCK_EX),qi,I(2),mla,l,V 84,tc,V 2,c,q,qi,W(LOCK_NB),qi,I(4),mla,l,V 84,tc,V 2,c,q,qi,W(LOCK_UN),qi,I(8),mla,l,V 84,tc,V 2,c,q,qi,W(LOCK_MAND),qi,I(32),mla,l,V 84,tc,V 2,c,q,qi,W(LOCK_READ),qi,I(64),mla,l,V 84,tc,V 2,c,q,qi,W(LOCK_WRITE),qi,I(128),mla,l,V 84,tc,V 2,c,q,qi,W(LOCK_RW),qi,I(192),mla,l,V 84,tc,V 2,c,q,qi,W(flock),qi,W(F_RDLCK),qi,I(0),mla,l,V 84,tc,V 2,c,q,qi,W(F_WRLCK),qi,I(1),mla,l,V 84,tc,V 2,c,q,qi,W(F_UNLCK),qi,I(2),mla,l,V 84,tc,V 2,c,q,qi,Q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,qi,W(seek),qi,W(SEEK_SET),qi,I(0),mla,l,V 84,tc,V 2,c,q,qi,W(SEEK_CUR),qi,I(1),mla,l,V 84,tc,V 2,c,q,qi,W(SEEK_END),qi,I(2),mla,l,V 84,tc,V 2,c,q,qi,Q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,qi,Q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,qi,W(size_of),qi,W(short),qi,I(2),mla,l,V 84,tc,V 2,c,q,qi,W(int),qi,I(4),mla,l,V 84,tc,V 2,c,q,qi,W(long),qi,I(4),mla,l,V 84,tc,V 2,c,q,qi,W(long_long),qi,I(8),mla,l,V 84,tc,V 2,c,q,qi,W(fd_set),qi,I(128),mla,l,V 84,tc,V 2,c,q,qi,W(FD_SETSIZE),qi,I(1024),mla,l,V 84,tc,V 2,c,q,qi,W(off_t),qi,I(4),mla,l,V 84,tc,V 2,c,q,qi,W(pid_t),qi,I(4),mla,l,V 84,tc,V 2,c,q,qi,W(struct),qi,W(flock),qi,I(16),mla,l,V 84,tc,V 2,c,q,qi,W(termios),qi,I(60),mla,l,V 84,tc,V 2,c,q,qi,Q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,qi,Q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,qi,W(target),qi,W(system_type),qi,W(Linux),mla,l,V 84,tc,V 2,c,q,qi,W(processor_type),qi,W(ia32),mla,l,V 84,tc,V 2,c,q,qi,Q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,qi,W(errno),qi,W(EPERM),qi,I(1),mla,l,V 84,tc,V 2,c,q,qi,W(ENOENT),qi,I(2),mla,l,V 84,tc,V 2,c,q,qi,W(ESRCH),qi,I(3),mla,l,V 84,tc,V 2,c,q,qi,W(EINTR),qi,I(4),mla,l,V 84,tc,V 2,c,q,qi,W(EIO),qi,I(5),mla,l,V 84,tc,V 2,c,q,qi,W(ENXIO),qi,I(6),mla,l,V 84,tc,V 2,c,q,qi,W(E2BIG),qi,I(7),mla,l,V 84,tc,V 2,c,q,qi,W(ENOEXEC),qi,I(8),mla,l,V 84,tc,V 2,c,q,qi,W(EBADF),qi,I(9),mla,l,V 84,tc,V 2,c,q,qi,W(ECHILD),qi,I(10),mla,l,V 84,tc,V 2,c,q,qi,W(EAGAIN),qi,I(11),mla,l,V 84,tc,V 2,c,q,qi,W(ENOMEM),qi,I(12),mla,l,V 84,tc,V 2,c,q,qi,W(EACCES),qi,I(13),mla,l,V 84,tc,V 2,c,q,qi,W(EFAULT),qi,I(14),mla,l,V 84,tc,V 2,c,q,qi,W(ENOTBLK),qi,I(15),mla,l,V 84,tc,V 2,c,q,qi,W(EBUSY),qi,I(16),mla,l,V 84,tc,V 2,c,q,qi,W(EEXIST),qi,I(17),mla,l,V 84,tc,V 2,c,q,qi,W(EXDEV),qi,I(18),mla,l,V 84,tc,V 2,c,q,qi,W(ENODEV),qi,I(19),mla,l,V 84,tc,V 2,c,q,qi,W(ENOTDIR),qi,I(20),mla,l,V 84,tc,V 2,c,q,qi,W(EISDIR),qi,I(21),mla,l,V 84,tc,V 2,c,q,qi,W(EINVAL),qi,I(22),mla,l,V 84,tc,V 2,c,q,qi,W(ENFILE),qi,I(23),mla,l,V 84,tc,V 2,c,q,qi,W(EMFILE),qi,I(24),mla,l,V 84,tc,V 2,c,q,qi,W(ENOTTY),qi,I(25),mla,l,V 84,tc,V 2,c,q,qi,W(ETXTBSY),qi,I(26),mla,l,V 84,tc,V 2,c,q,qi,W(EFBIG),qi,I(27),mla,l,V 84,tc,V 2,c,q,qi,W(ENOSPC),qi,I(28),mla,l,V 84,tc,V 2,c,q,qi,W(ESPIPE),qi,I(29),mla,l,V 84,tc,V 2,c,q,qi,W(EROFS),qi,I(30),mla,l,V 84,tc,V 2,c,q,qi,W(EMLINK),qi,I(31),mla,l,V 84,tc,V 2,c,q,qi,W(EPIPE),qi,I(32),mla,l,V 84,tc,V 2,c,q,qi,W(EDOM),qi,I(33),mla,l,V 84,tc,V 2,c,q,qi,W(ERANGE),qi,I(34),mla,l,V 84,tc,V 2,c,q,qi,W(EDEADLK),qi,I(35),mla,l,V 84,tc,V 2,c,q,qi,W(ENAMETOOLONG),qi,I(36),mla,l,V 84,tc,V 2,c,q,qi,W(ENOLCK),qi,I(37),mla,l,V 84,tc,V 2,c,q,qi,W(ENOSYS),qi,I(38),mla,l,V 84,tc,V 2,c,q,qi,W(ENOTEMPTY),qi,I(39),mla,l,V 84,tc,V 2,c,q,qi,W(ELOOP),qi,I(40),mla,l,V 84,tc,V 2,c,q,qi,W(ENOMSG),qi,I(42),mla,l,V 84,tc,V 2,c,q,qi,W(EIDRM),qi,I(43),mla,l,V 84,tc,V 2,c,q,qi,W(ECHRNG),qi,I(44),mla,l,V 84,tc,V 2,c,q,qi,W(EL2NSYNC),qi,I(45),mla,l,V 84,tc,V 2,c,q,qi,W(EL3HLT),qi,I(46),mla,l,V 84,tc,V 2,c,q,qi,W(EL3RST),qi,I(47),mla,l,V 84,tc,V 2,c,q,qi,W(ELNRNG),qi,I(48),mla,l,V 84,tc,V 2,c,q,qi,W(EUNATCH),qi,I(49),mla,l,V 84,tc,V 2,c,q,qi,W(ENOCSI),qi,I(50),mla,l,V 84,tc,V 2,c,q,qi,W(EL2HLT),qi,I(51),mla,l,V 84,tc,V 2,c,q,qi,W(EBADE),qi,I(52),mla,l,V 84,tc,V 2,c,q,qi,W(EBADR),qi,I(53),mla,l,V 84,tc,V 2,c,q,qi,W(EXFULL),qi,I(54),mla,l,V 84,tc,V 2,c,q,qi,W(ENOANO),qi,I(55),mla,l,V 84,tc,V 2,c,q,qi,W(EBADRQC),qi,I(56),mla,l,V 84,tc,V 2,c,q,qi,W(EBADSLT),qi,I(57),mla,l,V 84,tc,V 2,c,q,qi,W(EBFONT),qi,I(59),mla,l,V 84,tc,V 2,c,q,qi,W(ENOSTR),qi,I(60),mla,l,V 84,tc,V 2,c,q,qi,W(ENODATA),qi,I(61),mla,l,V 84,tc,V 2,c,q,qi,W(ETIME),qi,I(62),mla,l,V 84,tc,V 2,c,q,qi,W(ENOSR),qi,I(63),mla,l,V 84,tc,V 2,c,q,qi,W(ENONET),qi,I(64),mla,l,V 84,tc,V 2,c,q,qi,W(ENOPKG),qi,I(65),mla,l,V 84,tc,V 2,c,q,qi,W(EREMOTE),qi,I(66),mla,l,V 84,tc,V 2,c,q,qi,W(ENOLINK),qi,I(67),mla,l,V 84,tc,V 2,c,q,qi,W(EADV),qi,I(68),mla,l,V 84,tc,V 2,c,q,qi,W(ESRMNT),qi,I(69),mla,l,V 84,tc,V 2,c,q,qi,W(ECOMM),qi,I(70),mla,l,V 84,tc,V 2,c,q,qi,W(EPROTO),qi,I(71),mla,l,V 84,tc,V 2,c,q,qi,W(EMULTIHOP),qi,I(72),mla,l,V 84,tc,V 2,c,q,qi,W(EDOTDOT),qi,I(73),mla,l,V 84,tc,V 2,c,q,qi,W(EBADMSG),qi,I(74),mla,l,V 84,tc,V 2,c,q,qi,W(EOVERFLOW),qi,I(75),mla,l,V 84,tc,V 2,c,q,qi,W(ENOTUNIQ),qi,I(76),mla,l,V 84,tc,V 2,c,q,qi,W(EBADFD),qi,I(77),mla,l,V 84,tc,V 2,c,q,qi,W(EREMCHG),qi,I(78),mla,l,V 84,tc,V 2,c,q,qi,W(ELIBACC),qi,I(79),mla,l,V 84,tc,V 2,c,q,qi,W(ELIBBAD),qi,I(80),mla,l,V 84,tc,V 2,c,q,qi,W(ELIBSCN),qi,I(81),mla,l,V 84,tc,V 2,c,q,qi,W(ELIBMAX),qi,I(82),mla,l,V 84,tc,V 2,c,q,qi,W(ELIBEXEC),qi,I(83),mla,l,V 84,tc,V 2,c,q,qi,W(EILSEQ),qi,I(84),mla,l,V 84,tc,V 2,c,q,qi,W(ERESTART),qi,I(85),mla,l,V 84,tc,V 2,c,q,qi,W(ESTRPIPE),qi,I(86),mla,l,V 84,tc,V 2,c,q,qi,W(EUSERS),qi,I(87),mla,l,V 84,tc,V 2,c,q,qi,W(ENOTSOCK),qi,I(88),mla,l,V 84,tc,V 2,c,q,qi,W(EDESTADDRREQ),qi,I(89),mla,l,V 84,tc,V 2,c,q,qi,W(EMSGSIZE),qi,I(90),mla,l,V 84,tc,V 2,c,q,qi,W(EPROTOTYPE),qi,I(91),mla,l,V 84,tc,V 2,c,q,qi,W(ENOPROTOOPT),qi,I(92),mla,l,V 84,tc,V 2,c,q,qi,W(EPROTONOSUPPORT),qi,I(93),mla,l,V 84,tc,V 2,c,q,qi,W(ESOCKTNOSUPPORT),qi,I(94),mla,l,V 84,tc,V 2,c,q,qi,W(EOPNOTSUPP),qi,I(95),mla,l,V 84,tc,V 2,c,q,qi,W(EPFNOSUPPORT),qi,I(96),mla,l,V 84,tc,V 2,c,q,qi,W(EAFNOSUPPORT),qi,I(97),mla,l,V 84,tc,V 2,c,q,qi,W(EADDRINUSE),qi,I(98),mla,l,V 84,tc,V 2,c,q,qi,W(EADDRNOTAVAIL),qi,I(99),mla,l,V 84,tc,V 2,c,q,qi,W(ENETDOWN),qi,I(100),mla,l,V 84,tc,V 2,c,q,qi,W(ENETUNREACH),qi,I(101),mla,l,V 84,tc,V 2,c,q,qi,W(ENETRESET),qi,I(102),mla,l,V 84,tc,V 2,c,q,qi,W(ECONNABORTED),qi,I(103),mla,l,V 84,tc,V 2,c,q,qi,W(ECONNRESET),qi,I(104),mla,l,V 84,tc,V 2,c,q,qi,W(ENOBUFS),qi,I(105),mla,l,V 84,tc,V 2,c,q,qi,W(EISCONN),qi,I(106),mla,l,V 84,tc,V 2,c,q,qi,W(ENOTCONN),qi,I(107),mla,l,V 84,tc,V 2,c,q,qi,W(ESHUTDOWN),qi,I(108),mla,l,V 84,tc,V 2,c,q,qi,W(ETOOMANYREFS),qi,I(109),mla,l,V 84,tc,V 2,c,q,qi,W(ETIMEDOUT),qi,I(110),mla,l,V 84,tc,V 2,c,q,qi,W(ECONNREFUSED),qi,I(111),mla,l,V 84,tc,V 2,c,q,qi,W(EHOSTDOWN),qi,I(112),mla,l,V 84,tc,V 2,c,q,qi,W(EHOSTUNREACH),qi,I(113),mla,l,V 84,tc,V 2,c,q,qi,W(EALREADY),qi,I(114),mla,l,V 84,tc,V 2,c,q,qi,W(EINPROGRESS),qi,I(115),mla,l,V 84,tc,V 2,c,q,qi,W(ESTALE),qi,I(116),mla,l,V 84,tc,V 2,c,q,qi,W(EUCLEAN),qi,I(117),mla,l,V 84,tc,V 2,c,q,qi,W(ENOTNAM),qi,I(118),mla,l,V 84,tc,V 2,c,q,qi,W(ENAVAIL),qi,I(119),mla,l,V 84,tc,V 2,c,q,qi,W(EISNAM),qi,I(120),mla,l,V 84,tc,V 2,c,q,qi,W(EREMOTEIO),qi,I(121),mla,l,V 84,tc,V 2,c,q,qi,W(EDQUOT),qi,I(122),mla,l,V 84,tc,V 2,c,q,qi,W(ENOMEDIUM),qi,I(123),mla,l,V 84,tc,V 2,c,q,qi,W(EMEDIUMTYPE),qi,I(124),mla,l,V 84,tc,V 2,c,q,qi,Q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,qi,Q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,mla,l,V 84,tc,V 2,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(desv),t,B 193,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(desvPLUSr),t,B 194,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(system_constant_internal),t,B 198,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(system_constant),t,B 199,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(logical_and),t,B 200,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(logical_or),t,B 201,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(binary_logical_xor),t,B 202,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(logical_xor),t,B 203,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(logical_not),t,B 204,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(LTLT),t,B 205,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(GTGT),t,B 206,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(car),t,&NN_car,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cdr),t,&NN_cdr,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(caar),t,&NN_caar,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cadr),t,&NN_cadr,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cdar),t,&NN_cdar,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cddr),t,&NN_cddr,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(caaar),t,&NN_caaar,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(caadr),t,&NN_caadr,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cadar),t,&NN_cadar,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(caddr),t,&NN_caddr,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cdaar),t,&NN_cdaar,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cdadr),t,&NN_cdadr,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cddar),t,&NN_cddar,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cdddr),t,&NN_cdddr,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(caaaar),t,&NN_caaaar,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(caaadr),t,&NN_caaadr,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(caadar),t,&NN_caadar,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(caaddr),t,&NN_caaddr,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cadaar),t,&NN_cadaar,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cadadr),t,&NN_cadadr,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(caddar),t,&NN_caddar,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cadddr),t,&NN_cadddr,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cdaaar),t,&NN_cdaaar,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cdaadr),t,&NN_cdaadr,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cdadar),t,&NN_cdadar,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cdaddr),t,&NN_cdaddr,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cddaar),t,&NN_cddaar,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cddadr),t,&NN_cddadr,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cdddar),t,&NN_cdddar,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(cddddr),t,&NN_cddddr,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(first),t,&NN_first,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(second),t,&NN_second,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(third),t,&NN_third,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(fourth),t,&NN_fourth,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(fifth),t,&NN_fifth,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(sixth),t,&NN_sixth,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(seventh),t,&NN_seventh,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(eighth),t,&NN_eighth,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(ninth),t,&NN_ninth,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(tenth),t,&NN_tenth,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(case),t,B 210,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(lambda_pack),t,B 212,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(letTIMES),t,B 213,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(hideTIMES),t,B 215,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(normalize_binding),t,B 216,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(let),t,B 218,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(letrec),t,B 222,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(list2vector),t,B 223,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(vector),t,B 224,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(vector_copy),t,B 225,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,t,B 226,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 170,mha,l0,q,qi,W(LTclassGT),qi,&BCL0,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(freeze_class),t,B 227,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(superclass),t,B 228,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(lookup_slot),t,B 230,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(class_slots),t,B 231,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(class2vector),t,B 232,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(hide_slots),t,B 233,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(protect_slots),t,B 234,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(make_instance),t,B 235,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(class_huh),t,B 236,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(class_of),t,B 237,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(subclass_huh),t,B 239,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,t,B 240,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 171,mha,l0,q,qi,W(class_discriminator),t,B 242,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(define_class),t,B 245,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l0,q,qi,W(procedure2macro),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(string2symbol),t,B 246,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(string2list),t,B 247,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(string_upcase_bang),t,B 248,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(string_downcase_bang),t,B 249,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(string_upcase),t,B 250,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(string_downcase),t,B 251,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(reduce_index),t,B 252,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(substring),t,B 253,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(string_copy),t,B 254,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(string2c8string),t,B 255,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(string2c16string),t,B 256,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(string_concatenate),t,B 257,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(string_append),t,B 258,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(stringEQ_huh),t,B 259,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(stringLT_huh),t,B 260,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(stringGT_huh),t,B 261,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(stringLTEQ_huh),t,B 262,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(stringGTEQ_huh),t,B 263,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(dwim_stringify),t,B 264,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(collect_string),t,B 268,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(string_join),t,B 270,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(split_by_char),t,B 273,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(string_null_huh),t,B 274,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(utf_82c16string),t,B 276,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(unpack_be_integer),t,B 277,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(unpack_le_integer),t,B 278,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(pack_be_integer),t,B 279,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(pack_le_integer),t,B 280,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(modify_bit),t,B 281,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(sysCOLONerrno2name),t,B 282,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(signal_system_error),t,B 283,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(sysCOLONchdir),t,B 284,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(sysCOLONchmod),t,B 285,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4,c,q,li,rvec+3,tc,V 3,c,mha,l0,q,qi,W(sysCOLONclose),t,B 286,q,qi,V 1,qh,ql,li,rvec+19,tc,V 4... [truncated message content] |
From: <di...@us...> - 2002-09-04 14:30:59
|
Update of /cvsroot/wisp/wisp/tools In directory usw-pr-cvs1:/tmp/cvs-serv30082/tools Modified Files: debsnap was worth Log Message: Dropped the |gimme| special form and created the builtin module mechanism. Index: debsnap =================================================================== RCS file: /cvsroot/wisp/wisp/tools/debsnap,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- debsnap 26 Aug 2002 16:15:02 -0000 1.6 +++ debsnap 4 Sep 2002 14:30:56 -0000 1.7 @@ -8,9 +8,8 @@ ;; ;;;; @(#) $Id$ -(gimme syscalls) - -(use files lists regex strings unix) +(use + files lists regex strings syscalls unix) (call-process "make distdir" 'signal-failure) Index: was =================================================================== RCS file: /cvsroot/wisp/wisp/tools/was,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- was 26 Aug 2002 16:18:24 -0000 1.8 +++ was 4 Sep 2002 14:30:56 -0000 1.9 @@ -9,9 +9,7 @@ ;;;; @(#) $Id$ (use - cpu/ia32 format/elfexec getopt) - -(gimme syscalls) + cpu/ia32 format/elfexec getopt syscalls) (my (input output) (getopt '((option ("output" #\o) value output) (arg input mandatory) Index: worth =================================================================== RCS file: /cvsroot/wisp/wisp/tools/worth,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- worth 4 Sep 2002 14:26:58 -0000 1.23 +++ worth 4 Sep 2002 14:30:56 -0000 1.24 @@ -11,9 +11,8 @@ (define worth-version "0.0.1") (use - cpu/general cpu/ia32 format/as format/elfexec getopt lists unix) - -(gimme syscalls) + cpu/general cpu/ia32 format/as format/elfexec getopt lists syscalls + unix) (define builtin-words '(< <= <> = > >= begin else if then u< u<= u> u>= until)) |
From: <di...@us...> - 2002-09-04 14:30:59
|
Update of /cvsroot/wisp/wisp/src/builtin In directory usw-pr-cvs1:/tmp/cvs-serv30082/src/builtin Modified Files: modular.wisp stdenv.wisp Log Message: Dropped the |gimme| special form and created the builtin module mechanism. Index: modular.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/modular.wisp,v retrieving revision 1.61 retrieving revision 1.62 diff -u -d -r1.61 -r1.62 --- modular.wisp 4 Sep 2002 14:29:47 -0000 1.61 +++ modular.wisp 4 Sep 2002 14:30:56 -0000 1.62 @@ -37,7 +37,32 @@ exports) (pick-dict-items home-dict exports))) -(define modules (make-box '())) +(define modules ; a box containing an alist + (make-box + (list + ; builtin modules + (cons 'syscalls + (metacode + (cons 'list + (map (lambda (x) `(cons ',x ,x)) + '(fdset-ref make-fdset sys:chdir sys:chmod sys:close + sys:dup sys:dup2 sys:errno->name sys:execve sys:exit + sys:fcntl:cloexec sys:fcntl:dupfd sys:fcntl:flags + sys:fcntl:getlk sys:fcntl:setlk sys:fcntl:setlkw + sys:for-dir-entries sys:fork sys:fstat sys:ftruncate + sys:getcwd sys:getegid sys:geteuid sys:getgid + sys:getpgid sys:getpgrp sys:getpid sys:getppid + sys:getuid sys:kill sys:link sys:listen sys:lseek + sys:lstat sys:mkdir sys:nanosleep sys:open sys:pipe + sys:read sys:rename sys:select sys:setpgid sys:setpgrp + sys:setsid sys:stat sys:symlink sys:sync sys:tcgetattr + sys:tcsetattr sys:truncate sys:unlink sys:waitpid + sys:write))))) + (cons 'semiraw-files + (metacode + (cons 'list + (map (lambda (x) `(cons ',x ,x)) + '(init-input-file init-output-file)))))))) (define (%get-module module-name) (my exportion (and (assq module-name modules[]) => cdr) Index: stdenv.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/stdenv.wisp,v retrieving revision 1.356 retrieving revision 1.357 diff -u -d -r1.356 -r1.357 --- stdenv.wisp 4 Sep 2002 14:29:47 -0000 1.356 +++ stdenv.wisp 4 Sep 2002 14:30:56 -0000 1.357 @@ -6,44 +6,6 @@ ;; ;;;; @(#) $Id$ -(define syscalls - (metacode - (cons - 'list - (map (lambda (x) `(cons ',x ,x)) - '(fdset-ref make-fdset sys:chdir sys:chmod sys:close sys:dup - sys:dup2 sys:errno->name sys:execve sys:exit - sys:fcntl:cloexec sys:fcntl:dupfd sys:fcntl:flags - sys:fcntl:getlk sys:fcntl:setlk sys:fcntl:setlkw - sys:for-dir-entries sys:fork sys:fstat sys:ftruncate - sys:getcwd sys:getegid sys:geteuid sys:getgid sys:getpgid - sys:getpgrp sys:getpid sys:getppid sys:getuid sys:kill - sys:link sys:listen sys:lseek sys:lstat sys:mkdir - sys:nanosleep sys:open sys:pipe sys:read sys:rename - sys:select sys:setpgid sys:setpgrp sys:setsid sys:stat - sys:symlink sys:sync sys:tcgetattr sys:tcsetattr sys:truncate - sys:unlink sys:waitpid sys:write))))) - -(define (provide-syscalls target) - (for-each (lambda (p) - (set! (dict-ref target (car p)) (cdr p))) - syscalls)) - -(define (provide-semiraw-files target) - (set! (dict-ref target 'init-input-file) init-input-file) - (set! (dict-ref target 'init-output-file) init-output-file)) - -(defmacro (gimme something) - (case something - ((syscalls) - ; Note that this depends on provide-syscalls being available. - ; It's supposed to. - `(provide-syscalls ',*source-dictionary*)) - ((semiraw-files) - `(provide-semiraw-files ',*source-dictionary*)) - (else - (raise 'unknown something)))) - (letrec ((invariably-regular-items (metacode @@ -90,8 +52,8 @@ file-stat file-type file? filter find find-tail first fit-for-symbol? fit-for-variable-name? fixnum? flatten floor for-all-env-vars for-dir-entries for-each fourth - fraction? freeze-class frer->structure gimme hache hide* - incr! init-port input-port? instance? integer->char + fraction? freeze-class frer->structure hache hide* incr! + init-port input-port? instance? integer->char integer->string integer? intermingle keyword? lambda-pack last-cons length let let* letrec list list->semideque list->vector list-copy list-ref list? load lookup-slot @@ -106,8 +68,7 @@ parse-character-body parse-lambda-list peek-char peek-string pick-dict-items port? portio-debugging positive? prep preprocess print procedure->macro - procedure? provide-semiraw-files provide-syscalls - quasiquote quotient raise rassoc rassq rassv + procedure? quasiquote quotient raise rassoc rassq rassv rational->cons rational? read read-all=> read-char read-char-sequence read-character-body read-directory read-line read-string read-whole-file real? rec @@ -140,8 +101,6 @@ ; check for the regular environment ((rassq obj invariably-regular-items) => (serial car (cut list <> 'regular-env))) - ((rassq obj syscalls) - => (serial car (cut list <> 'gimme 'syscalls))) ((eq? obj *origin) (list 'origin 'regular-env)) ((eq? obj *regular-env) (list 'regular-env)) ; scan module export lists |
From: <di...@us...> - 2002-09-04 14:30:15
|
Update of /cvsroot/wisp/wisp/modules In directory usw-pr-cvs1:/tmp/cvs-serv29729/modules Modified Files: and-let.wim builtin.wid cgi.wim phases.wim promises.wim shell.wisp Log Message: Made macros ordinary first-class objects. Index: and-let.wim =================================================================== RCS file: /cvsroot/wisp/wisp/modules/and-let.wim,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- and-let.wim 26 Aug 2002 16:18:17 -0000 1.7 +++ and-let.wim 4 Sep 2002 14:29:42 -0000 1.8 @@ -8,7 +8,7 @@ (module and-let) -(export-macro and-let*) +(export and-let*) (defmacro (and-let* claws . body) (if (null? claws) Index: builtin.wid =================================================================== RCS file: /cvsroot/wisp/wisp/modules/builtin.wid,v retrieving revision 1.169 retrieving revision 1.170 diff -u -d -r1.169 -r1.170 --- builtin.wid 31 Aug 2002 14:29:05 -0000 1.169 +++ builtin.wid 4 Sep 2002 14:29:42 -0000 1.170 @@ -2219,6 +2219,21 @@ :See also: |open-input-file|, |call-with-output-file|. +or + + (|or| /expr/ ...) => /value/ + (|or|) => ~#f~ + + Evaluates /expr/:s from left to right and returns the value of the first + expression that returns a true value. Any remaining expressions are not + evaluated. If all expressions evaluate to ~#f~, returns the value of the + last expression. + + :Conforms to: R5RS. + + :See also: |and|. + + pack-be-integer (|pack-be-integer| /integer/ /size/) => /c8string/ Index: cgi.wim =================================================================== RCS file: /cvsroot/wisp/wisp/modules/cgi.wim,v retrieving revision 1.39 retrieving revision 1.40 diff -u -d -r1.39 -r1.40 --- cgi.wim 26 Aug 2002 16:18:17 -0000 1.39 +++ cgi.wim 4 Sep 2002 14:29:42 -0000 1.40 @@ -18,9 +18,8 @@ (module cgi) (export - *arglist* *browser* *cgi-query* html-encode qarg qargs) - -(export-macro require-query-args) + *arglist* *browser* *cgi-query* html-encode qarg qargs + require-query-args) (use lists regex strings url) Index: phases.wim =================================================================== RCS file: /cvsroot/wisp/wisp/modules/phases.wim,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- phases.wim 26 Aug 2002 16:18:19 -0000 1.7 +++ phases.wim 4 Sep 2002 14:29:42 -0000 1.8 @@ -8,7 +8,7 @@ (module phases) -(export-macro phase) +(export phase) (defmacro (phase name . code) `(begin Index: promises.wim =================================================================== RCS file: /cvsroot/wisp/wisp/modules/promises.wim,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- promises.wim 22 Jul 2002 14:53:08 -0000 1.6 +++ promises.wim 4 Sep 2002 14:29:42 -0000 1.7 @@ -8,8 +8,8 @@ (module promises) -(export-macro delay) -(export force) +(export + delay force) ; FIXME: it is not properly thread-safe (define (delayer proc) Index: shell.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/modules/shell.wisp,v retrieving revision 1.32 retrieving revision 1.33 diff -u -d -r1.32 -r1.33 --- shell.wisp 31 Aug 2002 14:39:19 -0000 1.32 +++ shell.wisp 4 Sep 2002 14:29:42 -0000 1.33 @@ -10,7 +10,7 @@ ; characters outside ASCII that need encoding for some output terminals ; (uxterm, for example). This is not currently done. -(define *user-dictionary* (env-copy (current-globals))) +(define *user-dictionary* (dict-copy (current-globals))) (use locale strings wispdoc) @@ -165,7 +165,8 @@ (if f (my v (car f) (print "$[r] = $[v]\n") - (if (procedure? v) + (if (or (procedure? v) + (macro? v)) (my org (origin v) (my doc (and org (my pkg (cdr org) @@ -222,15 +223,16 @@ doc)))))))) ; }}} -(set! (dict-ref (dict-ref *user-dictionary* '*macros*) 'unquote) - (lambda (*source-dictionary* arg) - (case arg - ((autohelp-off) (set! help?[] #f)) - ((autohelp-on) (set! help?[] #t)) - ((colors-off) (set! colors?[] #f)) - ((colors-on) (set! colors?[] #t)) - (else (raise 'shell-directive? arg))) - (list 'begin))) +(set! (dict-ref *user-dictionary* 'unquote) + (procedure->macro + (lambda (*source-dictionary* arg) + (case arg + ((autohelp-off) (set! help?[] #f)) + ((autohelp-on) (set! help?[] #t)) + ((colors-off) (set! colors?[] #f)) + ((colors-on) (set! colors?[] #t)) + (else (raise 'shell-directive? arg))) + (list 'begin)))) (lambda () (my locale (determine-locale) |
From: <di...@us...> - 2002-09-04 14:30:14
|
Update of /cvsroot/wisp/wisp/doc In directory usw-pr-cvs1:/tmp/cvs-serv29729/doc Modified Files: wisp.vim Log Message: Made macros ordinary first-class objects. Index: wisp.vim =================================================================== RCS file: /cvsroot/wisp/wisp/doc/wisp.vim,v retrieving revision 1.216 retrieving revision 1.217 diff -u -d -r1.216 -r1.217 --- wisp.vim 4 Sep 2002 14:28:26 -0000 1.216 +++ wisp.vim 4 Sep 2002 14:29:42 -0000 1.217 @@ -104,12 +104,12 @@ syn keyword wispSyntax -> ... <...> <> => acons! and assert begin bind syn keyword wispSyntax car! case cdr! cond cons! current-globals cut syn keyword wispSyntax cute decr! define define-syntax defmacro delay -syn keyword wispSyntax do else except export export-macro finally hide -syn keyword wispSyntax hide* hold if incr! lambda lambda-pack let let* -syn keyword wispSyntax let-syntax letrec letrec-syntax metacode module -syn keyword wispSyntax my my-port or phase quasiquote quote rec serial -syn keyword wispSyntax set! splicing sub swap! syntax-rules try type -syn keyword wispSyntax unless unquote use when while +syn keyword wispSyntax do else except export finally hide hide* hold if +syn keyword wispSyntax incr! lambda lambda-pack let let* let-syntax +syn keyword wispSyntax letrec letrec-syntax metacode module my my-port +syn keyword wispSyntax or phase quasiquote quote rec serial set! +syn keyword wispSyntax splicing sub swap! syntax-rules try type unless +syn keyword wispSyntax unquote use when while syn keyword wispFunc * + - / /= < << <= = > >= >> abs address-of syn keyword wispFunc alist->dict alist->vector alist-copy analyse angle @@ -152,8 +152,8 @@ syn keyword wispFunc dict-bind! dict-copy dict-defined? dict-drop! syn keyword wispFunc dict-fetch dict-ref dict-set! dict? documentation syn keyword wispFunc drop duplicate-dict-item! dwim-stringify eighth -syn keyword wispFunc env-copy env-ref eof-object? eq? equal? eqv? eval -syn keyword wispFunc even? evmfunc? exact->inexact exact? exit fifth +syn keyword wispFunc env-ref eof-object? eq? equal? eqv? eval even? +syn keyword wispFunc evmfunc? exact->inexact exact? exit fifth syn keyword wispFunc file-ctime file-descriptor file-mtime file-stat syn keyword wispFunc file-type file? filter find find-tail first syn keyword wispFunc fit-for-symbol? fit-for-variable-name? fixnum? @@ -165,24 +165,25 @@ syn keyword wispFunc intermingle invoke-gc keyword? last-cons lcm syn keyword wispFunc length list list->semideque list->vector list-copy syn keyword wispFunc list-ref list-tail list? load log lookup-slot -syn keyword wispFunc magnitude make-box make-c16string make-c8string -syn keyword wispFunc make-class make-counter make-dict make-empty-env -syn keyword wispFunc make-instance make-polar make-record-type -syn keyword wispFunc make-rectangular make-string make-vector map max -syn keyword wispFunc meaning member memq memv min modify-bit -syn keyword wispFunc module-macro-ref module-ref modulo native? -syn keyword wispFunc negative? newline ninth nop not null-environment -syn keyword wispFunc null-list? null? number->string number? numerator -syn keyword wispFunc nybble? nyp? odd? open-input-file open-output-file -syn keyword wispFunc order->dict output-port? pack-be-integer -syn keyword wispFunc pack-le-integer parse-character-body -syn keyword wispFunc parse-lambda-list peek-char peek-string -syn keyword wispFunc pick-dict-items port? positive? preprocess print -syn keyword wispFunc procedure? quotient raise rassoc rassq rassv -syn keyword wispFunc rational->cons rational? rationalize read -syn keyword wispFunc read-all=> read-char read-char-sequence -syn keyword wispFunc read-character-body read-directory read-line -syn keyword wispFunc read-string read-whole-file real-part real? +syn keyword wispFunc macro->procedure macro? magnitude make-box +syn keyword wispFunc make-c16string make-c8string make-class +syn keyword wispFunc make-counter make-dict make-instance make-polar +syn keyword wispFunc make-record-type make-rectangular make-string +syn keyword wispFunc make-vector map max meaning member memq memv min +syn keyword wispFunc modify-bit module-macro-ref module-ref modulo +syn keyword wispFunc native? negative? newline ninth nop not +syn keyword wispFunc null-environment null-list? null? number->string +syn keyword wispFunc number? numerator nybble? nyp? odd? +syn keyword wispFunc open-input-file open-output-file order->dict +syn keyword wispFunc output-port? pack-be-integer pack-le-integer +syn keyword wispFunc parse-character-body parse-lambda-list peek-char +syn keyword wispFunc peek-string pick-dict-items port? positive? +syn keyword wispFunc preprocess print procedure->macro procedure? +syn keyword wispFunc quotient raise rassoc rassq rassv rational->cons +syn keyword wispFunc rational? rationalize read read-all=> read-char +syn keyword wispFunc read-char-sequence read-character-body +syn keyword wispFunc read-directory read-line read-string +syn keyword wispFunc read-whole-file real-part real? syn keyword wispFunc record-type-discriminator record-type-referrer syn keyword wispFunc record-type-slot-count record-type? reduce-index syn keyword wispFunc ref remainder reverse round run-ewisp-file sbyte? |
Update of /cvsroot/wisp/wisp/src/builtin In directory usw-pr-cvs1:/tmp/cvs-serv29729/src/builtin Modified Files: Makefile.am ORDER builtin.wisp macrobase.wisp modular.wisp preproc.wisp stdenv.wisp tostring.wisp Added Files: records.wisp Log Message: Made macros ordinary first-class objects. Index: Makefile.am =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/Makefile.am,v retrieving revision 1.37 retrieving revision 1.38 diff -u -d -r1.37 -r1.38 --- Makefile.am 31 Aug 2002 14:39:45 -0000 1.37 +++ Makefile.am 4 Sep 2002 14:29:47 -0000 1.38 @@ -11,6 +11,6 @@ case.wisp codegen.wisp cut.wisp cxr.wisp dictbase.wisp ewisp.wisp \ filing.wisp frer.wisp init.wisp lambda-parser.wisp lists.wisp \ locals.wisp macrobase.wisp modular.wisp pack.wisp parser.wisp \ - preproc.wisp objects.wisp rec.wisp semideque.wisp serial.wisp \ - stdenv.wisp strings.wisp symbols.wisp sys.wisp sysconst.wisp \ - sysenv.wisp tostring.wisp unix.wisp vectors.wisp + preproc.wisp objects.wisp rec.wisp records.wisp semideque.wisp \ + serial.wisp stdenv.wisp strings.wisp symbols.wisp sys.wisp \ + sysconst.wisp sysenv.wisp tostring.wisp unix.wisp vectors.wisp Index: ORDER =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/ORDER,v retrieving revision 1.46 retrieving revision 1.47 diff -u -d -r1.46 -r1.47 --- ORDER 31 Aug 2002 14:39:45 -0000 1.46 +++ ORDER 4 Sep 2002 14:29:47 -0000 1.47 @@ -7,6 +7,7 @@ # @(#) $Id$ dictbase.wisp # all global variables depend on it +records.wisp # macrobase.wisp depends on it macrobase.wisp # macro definition depends on it assert.wisp builtin.wisp Index: builtin.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/builtin.wisp,v retrieving revision 1.208 retrieving revision 1.209 diff -u -d -r1.208 -r1.209 --- builtin.wisp 26 Aug 2002 16:20:07 -0000 1.208 +++ builtin.wisp 4 Sep 2002 14:29:47 -0000 1.209 @@ -40,24 +40,12 @@ ;; that's OK as long as you remember to compile this file TWICE at ;; each modification. -;; Another performance hint: it's allowed for macros to shadow -;; functions. In that case, (foo ...) is interpreted as a macro -;; call to foo , all other references to foo treat it like a -;; function (or rather a variable since there's no difference -;; between functions and variables). Thus, it's highly -;; recommended to create both macro and function variants for -;; little but frequently used things such as the cadaddamadarr -;; things. -;; ;; Beware that the (foo ...) forms within declaration of the ;; foo macro translate to calls to the function foo. If you ;; want a recursive macro, create one that returns a structure ;; that contains such forms. (defmacro (foo) '(foo)) (foo) ;; makes the compiler think it's a hamster in a wheel. ;; As a matter of fact, so does (metacode (let (loop) (loop))). -;; -;; If you explicitly want to invoke a function, not a macro, -;; use (apply ...). ;;;; Numerical comparison @@ -327,24 +315,10 @@ ;;;; Environment manipulation -;; An environment is just a dictionary which contains another dictionary -;; called *macros*. Usually, only environments are used as home -;; dictionaries for procedures (but this is not enforced in any way). - -(define (make-empty-env) - (my d (make-dict) - (dict-set! d '*macros* (make-dict)) - d)) - -(define (env-copy source) - (my d (dict-copy source) - (dict-set! d '*macros* (dict-copy (dict-ref source '*macros*))) - d)) - (defmacro (current-globals) `',*source-dictionary*) -;;;; Formerly "String manipulations" +;;;; Formerly "String manipulation" (define (integer->string i (radix 10)) (%integer->string i radix)) @@ -352,7 +326,7 @@ (define (string->integer s (radix 10)) (%string->integer s radix)) -;;;; The standard cond +;;;; The standard |cond| (defmacro (cond clause . rest) (cond @@ -646,25 +620,5 @@ (vector? (list->vector (loop (vector->list s)))) (dict? (alist->dict (loop (dict->alist s)))) (else s)))) - -(define (make-record-type slot-count . hooks) - (my data ((asm NN_pr_make_record_type) slot-count) - (my record-type (car data) - (let ((ref-hook #f) - (ref-hook? #f)) - (while (not (null? hooks)) - (my (hook-name hook-generator . rest-hooks) hooks - (set! hooks rest-hooks) - (case hook-name - ((ref) (if ref-hook? - (raise 'duplicate-ref-hook hook-generator) - (begin - (set! ref-hook? #t) - (set! ref-hook (apply hook-generator data))))) - (else (raise 'record-hook-name? hook-name))))) - (if ref-hook? - (set! ((asm NN_pr_record_type_ref_slot) record-type) - ref-hook)))) - data)) ; vim: lispwords+=,local Index: macrobase.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/macrobase.wisp,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- macrobase.wisp 26 Aug 2002 16:18:24 -0000 1.16 +++ macrobase.wisp 4 Sep 2002 14:29:47 -0000 1.17 @@ -6,17 +6,32 @@ ;; ;;;; @(#) $Id$ -(define *macros* (make-dict)) +(my (%<macro> %make-macro %macro-expander) (make-record-type 1) + + (define <macro> %<macro>) + + (define (procedure->macro p) + (if (not (or (evmfunc? p) + (native? p))) + (raise 'procedure? p)) + (%make-macro p)) + + (define (macro->procedure m) + (%macro-expander m)) + + (define macro? (record-type-discriminator <macro>))) (defmacro (defmacro template . body) (cond ((cons? template) - `(set! (dict-ref *macros* ',(car template)) - (lambda (*source-dictionary* . ,(cdr template)) . ,body))) + `(define ,(car template) + (procedure->macro + (lambda (*source-dictionary* . ,(cdr template)) . ,body)))) ((and (symbol? template) (cons? body) (null? (cdr body))) - `(set! (dict-ref *macros* ',template) - (lambda (*source-dictionary* . .l) - (apply (hide .l ,(car body)) .l)))) + `(define ,template + (procedure->macro + (lambda (*source-dictionary* . .l) + (apply (hide .l ,(car body)) .l))))) (else (raise 'syntax-error `(defmacro ,template . ,body))))) Index: modular.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/modular.wisp,v retrieving revision 1.60 retrieving revision 1.61 diff -u -d -r1.60 -r1.61 --- modular.wisp 26 Aug 2002 16:18:24 -0000 1.60 +++ modular.wisp 4 Sep 2002 14:29:47 -0000 1.61 @@ -19,7 +19,6 @@ (define (module-load f) (let ((exports '()) - (mexports '()) (home-dict (regular-env))) ((if (port? f) read-all=> for-each) (lambda (s) @@ -27,23 +26,16 @@ ((cons? s) (case (car s) ((export) (cons! exports (cdr s))) - ((export-macro) (cons! mexports (cdr s))) ((module)) ; ignore (module ...) (else (eval s home-dict)))) (else (eval s home-dict)))) f) (set! exports (flatten exports)) - (set! mexports (flatten mexports)) (for-each (lambda (name) (if (not (fit-for-variable-name? name)) - (raise 'invalid-export (list 'export name)))) + (raise 'invalid-export name))) exports) - (for-each (lambda (name) - (if (not (fit-for-variable-name? name)) - (raise 'invalid-export (list 'export-macro name)))) - mexports) - (cons (pick-dict-items home-dict exports) - (pick-dict-items (dict-ref home-dict '*macros*) mexports)))) + (pick-dict-items home-dict exports))) (define modules (make-box '())) @@ -76,7 +68,7 @@ exportion)))))))) (define (module-ref module-name (item-name #f)) - (my mod (car (%get-module module-name)) + (my mod (%get-module module-name) (if item-name (my c (assq item-name mod) (if c @@ -84,24 +76,9 @@ (raise 'unknown item-name))) (alist-copy mod)))) -(define (module-macro-ref module-name (macro-name #f)) - (my mod (cdr (%get-module module-name)) - (if macro-name - (my c (assq macro-name mod) - (if c - (cdr c) - (raise 'unknown macro-name))) - (alist-copy mod)))) - (define (real-use module-name target) (my exportion (%get-module module-name) - (alist->dict (car exportion) target) - (my m (dict-ref target '*macros* #f) - (if (not m) - (begin - (set! m (make-dict)) - (set! (dict-ref target '*macros*) m))) - (alist->dict (cdr exportion) m))) + (alist->dict exportion target)) (begin)) (defmacro (use . names) Index: preproc.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/preproc.wisp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- preproc.wisp 26 Aug 2002 16:20:08 -0000 1.5 +++ preproc.wisp 4 Sep 2002 14:29:47 -0000 1.6 @@ -23,19 +23,6 @@ (else (cons (car vars) (loop (cdr vars))))))) -(define (cache-dict d . rest) - (hache - (cond - ((null? rest) - (lambda (x) - (dict-ref d x))) - ((null? (cdr rest)) - (my def (car rest) - (lambda (x) - (dict-ref d x def)))) - (else - (raise 'argcount (cons d rest)))))) - (define (drop-var index legacy) (let (loop (l legacy)) (let ((item (car l)) @@ -54,7 +41,7 @@ ;; - no (hide ...) ;; - no unquoted literals ;; - no entanglement outside literals -;; - no unexpandeed macro references +;; - no unexpanded macro references ;; - bodies of (lambda ...), (my ...), (return ...), (while ...) and ;; (WITHIN ...) always consist of a single item ;; - (DEFINE ...), (set! ...) and (while ...) only appear in void context @@ -72,289 +59,285 @@ ;; generator can't be passed to users directly. (define (preprocess item env) - (my fetch-macro (cache-dict (my macros (try (dict-ref env '*macros*) - (except (unknown) '#f)) - (if (dict? macros) - macros - (make-dict))) - '#f) - (my gen-var (my var-counter (make-counter) - (lambda #f - (string->symbol ".v$(var-counter)"))) - (letrec (((expression x legacy) - (cond - ((symbol? x) - (cond - ((assq x legacy) => cdr) - ((keyword? x) `',x) - ((or (eq? x '$) (eq? x '$?)) x) - ((fit-for-variable-name? x) (list 'GLOBAL x)) - (else (raise 'preprocessing-error x)))) - ((or (number? x) (boolean? x) (char? x) (string? x)) - `',x) - ((cons? x) - (my verb (car x) - (my args (let (loop (l (cdr x))) - (cond - ((cons? l) - (cons (car l) (loop (cdr l)))) - ((null? l) - '()) - (else (raise 'form? x)))) - (if (symbol? verb) - (case verb - ; special forms - ((asm) - ;; Bare link is a special case - (if (and (eq? verb 'asm) (cons? args) (null? (cdr args))) - (if (or (symbol? (car args)) (string? (car args))) - (cons 'asm args) - (raise 'preprocessing-error x)) - (if (not (null? args)) - (cons verb - (cons (let (loop (l (car args))) - (cond - ((null? l) '()) - ((cons? l) - (cons (expression (car l) legacy) - (loop (cdr l)))) - ((and (symbol? l) (assq l legacy)) => cdr) - (else (raise 'preprocessing-error x)))) - (map (lambda (ins) - (cond - ((cons? ins) - (cons (car ins) - (cdr ins))) - (else ins))) - (cdr args)))) - (raise 'preprocessing-error x)))) - ((begin) - (begin-form args legacy)) - ((CALL) + (my gen-var (my var-counter (make-counter) + (lambda #f + (string->symbol ".v$(var-counter)"))) + (letrec (((expression x legacy) + (cond + ((symbol? x) + (cond + ((assq x legacy) => cdr) + ((keyword? x) `',x) + ((or (eq? x '$) (eq? x '$?)) x) + ((fit-for-variable-name? x) (list 'GLOBAL x)) + (else (raise 'preprocessing-error x)))) + ((or (number? x) (boolean? x) (char? x) (string? x)) + `',x) + ((cons? x) + (my verb (car x) + (my args (let (loop (l (cdr x))) + (cond + ((cons? l) + (cons (car l) (loop (cdr l)))) + ((null? l) + '()) + (else (raise 'form? x)))) + (if (symbol? verb) + (case verb + ; special forms + ((asm) + ;; Bare link is a special case + (if (and (eq? verb 'asm) (cons? args) (null? (cdr args))) + (if (or (symbol? (car args)) (string? (car args))) + (cons 'asm args) + (raise 'preprocessing-error x)) (if (not (null? args)) - (procedure-call (car args) (cdr args) legacy) - (raise 'preprocessing-error x))) - ((DEFINE) - (if (= (length args) 2) - (let ((target (car args)) - (expr (cadr args))) - (if (fit-for-variable-name? target) - (if (assq target legacy) - (raise 'invalid-definition x) + (cons verb + (cons (let (loop (l (car args))) + (cond + ((null? l) '()) + ((cons? l) + (cons (expression (car l) legacy) + (loop (cdr l)))) + ((and (symbol? l) (assq l legacy)) => cdr) + (else (raise 'preprocessing-error x)))) + (map (lambda (ins) + (cond + ((cons? ins) + (cons (car ins) + (cdr ins))) + (else ins))) + (cdr args)))) + (raise 'preprocessing-error x)))) + ((begin) + (begin-form args legacy)) + ((CALL) + (if (not (null? args)) + (procedure-call (car args) (cdr args) legacy) + (raise 'preprocessing-error x))) + ((DEFINE) + (if (= (length args) 2) + (let ((target (car args)) + (expr (cadr args))) + (if (fit-for-variable-name? target) + (if (assq target legacy) + (raise 'invalid-definition x) + (list 'begin + (list 'DEFINE + target + (expression expr legacy)) + (list 'quote (begin)))) + (raise 'preprocessing-error x))) + (raise 'preprocessing-error x))) + ((GLOBAL) + (if (and (= (length args) 1) + (symbol? (car args))) + (cons 'GLOBAL args) + (raise 'preprocessing-error x))) + ((hide) + (if (not (null? args)) + (my hiddee (expression (car args) legacy) + (if (symbol? hiddee) + (begin-form (cdr args) (drop-var hiddee legacy)) + (raise 'preprocessing-error x))) + (raise 'preprocessing-error x))) + ((hold) + (if (not (null? (length args))) + (my v (gen-var) + (list 'my v (expression (car args) legacy) (list 'begin - (list 'DEFINE - target - (expression expr legacy)) - (list 'quote (begin)))) - (raise 'preprocessing-error x))) - (raise 'preprocessing-error x))) - ((GLOBAL) - (if (and (= (length args) 1) - (symbol? (car args))) - (cons 'GLOBAL args) - (raise 'preprocessing-error x))) - ((hide) - (if (not (null? args)) - (my hiddee (expression (car args) legacy) - (if (symbol? hiddee) - (begin-form (cdr args) (drop-var hiddee legacy)) - (raise 'preprocessing-error x))) - (raise 'preprocessing-error x))) - ((hold) - (if (not (null? (length args))) - (my v (gen-var) - (list 'my v (expression (car args) legacy) - (list 'begin - (begin-form (cdr args) legacy) - v))))) - ((if) - (case (length args) - ((2 3) - (cons 'if (expression-list args legacy))) - (else - (raise 'preprocessing-error x)))) - ((lambda) - (if (>= (length args) 2) - (my (() cc pl (() n:=?)) (parse-lambda-list (car args)) - (my v:=? (gen-var) - (acons! legacy n:=? v:=?) - (cond - ((eqv? cc #\G) - (set! cc #f)) - ((symbol? cc) - (my v (gen-var) - (acons! legacy cc v) - (set! cc v)))) - ; traverse the lambda-list and rename non-optional - ; variables - (for-each (lambda (pli) - (if pli - (case (car pli) - ((! *) - (my v (gen-var) - (acons! legacy (second pli) v) - (set! (second pli) v))) - ((?))))) - pl) - ; traverse the lambda-list and process optional variables - (for-each (lambda (pli) - (if (and pli (eq? (car pli) '?)) - (begin - (set! (third pli) - (expression (third pli) legacy)) + (begin-form (cdr args) legacy) + v))))) + ((if) + (case (length args) + ((2 3) + (cons 'if (expression-list args legacy))) + (else + (raise 'preprocessing-error x)))) + ((lambda) + (if (>= (length args) 2) + (my (() cc pl (() n:=?)) (parse-lambda-list (car args)) + (my v:=? (gen-var) + (acons! legacy n:=? v:=?) + (cond + ((eqv? cc #\G) + (set! cc #f)) + ((symbol? cc) + (my v (gen-var) + (acons! legacy cc v) + (set! cc v)))) + ; traverse the lambda-list and rename non-optional + ; variables + (for-each (lambda (pli) + (if pli + (case (car pli) + ((! *) (my v (gen-var) (acons! legacy (second pli) v) - (set! (second pli) v))))) - pl) - (list 'lambda - (cons - (list '() #f v:=?) - (let (loop (pl pl)) - (cond - ((null? pl) - (if (symbol? cc) - (list (list ':= cc)) - '())) - ((not (car pl)) ; must be the last entry - '#f) - ((and (null? (cdr pl)) (eqv? cc #\S)) - (set! cc #f) - (cons ':= (loop pl))) - ((eq? (caar pl) '!) - (cons (cadar pl) - (loop (cdr pl)))) - ((eq? (caar pl) '*) - (cons (cadar pl) - (cons '... - (loop (cdr pl))))) - ((eq? (caar pl) '?) - (cons (cdar pl) - (loop (cdr pl)))) - (else - (raise 'internal-trouble pl))))) - (begin-form (cdr args) legacy)))) - (raise 'preprocessing-error x))) - ((my) - (if (>= (length args) 2) - (let ((targets (car args)) - (expr (cadr args)) - (body (cddr args)) - (old-legacy legacy)) - (my vars '() - (my new-targets (let (loop (tar targets)) - (cond - ((null? tar) '()) - ((fit-for-variable-name? tar) - (if (memq tar vars) - (raise 'invalid-my-target targets)) - (my repl (gen-var) - (my rc (cons tar repl) - (cons! vars tar) - (cons! legacy rc)) - repl)) - ((cons? tar) - (my l (loop (car tar)) ; for ordering - (cons l (loop (cdr tar))))) - (else - (raise 'invalid-my-target tar)))) - (list 'my new-targets (expression expr old-legacy) - (begin-form body legacy))))) - (raise 'preprocessing-error x))) - ((OR) - (if (= (length args) 2) - (cons 'OR (expression-list args legacy)) - (raise 'preprocessing-error x))) - ((quote) - (if (= (length args) 1) - (cons 'quote args) - (raise 'preprocessing-error x))) - ((set!) - (if (= (length args) 2) - (list 'begin - (cons 'set! (expression-list args legacy)) - (list 'quote (begin))) - (raise 'preprocessing-error x))) - ((splicing) - (if (= (length args) 1) - (list 'splicing (expression (car args) legacy)) - (raise 'preprocessing-error x))) - ((while) - (if (not (null? args)) - (list 'begin - (list 'while (expression (car args) legacy) - (begin-form (cdr args) legacy)) - (list 'quote (begin))) - (raise 'preprocessing-error x))) - ((WITHIN) - (if (>= (length args) 2) - (my (class expr . body) args - (if (symbol? class) - (set! class (dict-ref env class))) - (if (not (class? class)) - (raise 'class? class)) - (my old-legacy legacy - ; FIXME: slot hidding doesn't work with this - (my slots (map car (vector->list (class->vector class))) - (for-each - (lambda (slot) - (if (string=? - (symbol->string slot)[0 ... 2] - ".v") - (raise 'invalid-slot-name slot)) - (acons! legacy slot slot)) - slots)) - (list 'WITHIN class (expression expr old-legacy) - (begin-form body legacy)))) - (raise 'preprocessing-error x))) - (else - (cond - ((assq verb legacy) ; local procedure call - (procedure-call verb args legacy)) - ((my mx (fetch-macro verb) - (and (procedure? mx) mx)) ; macro - => (lambda (mx) - (expression (apply mx env args) legacy))) - (else - (procedure-call verb args legacy))))) - (procedure-call verb args legacy))))) - (else - (raise 'preprocessing-error x)))) - ((procedure-call verb args legacy) - (simple-procedure-call (expression verb legacy) - (expression-list args legacy) legacy)) - ((simple-procedure-call verb args legacy) - (cons - (if (find (lambda (x) - (and (cons? x) - (eq? (car x) 'splicing))) - args) - 'VCALL 'CALL) - (cons verb args))) - ((expression-list items legacy) - (map (cut expression <> legacy) items)) - ((begin-form items legacy) - (set! items (map (lambda (item) - (expression item legacy)) items)) - (set! items - (unsure-collect - (lambda (store approve) - (store `',(begin)) - (letrec (((process item) - (store item) - (cond - ((symbol? item)) ; no approval - ((cons? item) - (case (car item) - ((GLOBAL lambda quote)) ; no approval - ((begin) (for-each process (cdr item))) - (else (approve)))) - (else (approve))))) - (for-each process items)) - (approve)))) - (if (null? (cdr items)) - (car items) - (cons 'begin items)))) - (expression item '()))))) + (set! (second pli) v))) + ((?))))) + pl) + ; traverse the lambda-list and process optional variables + (for-each (lambda (pli) + (if (and pli (eq? (car pli) '?)) + (begin + (set! (third pli) + (expression (third pli) legacy)) + (my v (gen-var) + (acons! legacy (second pli) v) + (set! (second pli) v))))) + pl) + (list 'lambda + (cons + (list '() #f v:=?) + (let (loop (pl pl)) + (cond + ((null? pl) + (if (symbol? cc) + (list (list ':= cc)) + '())) + ((not (car pl)) ; must be the last entry + '#f) + ((and (null? (cdr pl)) (eqv? cc #\S)) + (set! cc #f) + (cons ':= (loop pl))) + ((eq? (caar pl) '!) + (cons (cadar pl) + (loop (cdr pl)))) + ((eq? (caar pl) '*) + (cons (cadar pl) + (cons '... + (loop (cdr pl))))) + ((eq? (caar pl) '?) + (cons (cdar pl) + (loop (cdr pl)))) + (else + (raise 'internal-trouble pl))))) + (begin-form (cdr args) legacy)))) + (raise 'preprocessing-error x))) + ((my) + (if (>= (length args) 2) + (let ((targets (car args)) + (expr (cadr args)) + (body (cddr args)) + (old-legacy legacy)) + (my vars '() + (my new-targets (let (loop (tar targets)) + (cond + ((null? tar) '()) + ((fit-for-variable-name? tar) + (if (memq tar vars) + (raise 'invalid-my-target targets)) + (my repl (gen-var) + (my rc (cons tar repl) + (cons! vars tar) + (cons! legacy rc)) + repl)) + ((cons? tar) + (my l (loop (car tar)) ; for ordering + (cons l (loop (cdr tar))))) + (else + (raise 'invalid-my-target tar)))) + (list 'my new-targets (expression expr old-legacy) + (begin-form body legacy))))) + (raise 'preprocessing-error x))) + ((OR) + (if (= (length args) 2) + (cons 'OR (expression-list args legacy)) + (raise 'preprocessing-error x))) + ((quote) + (if (= (length args) 1) + (cons 'quote args) + (raise 'preprocessing-error x))) + ((set!) + (if (= (length args) 2) + (list 'begin + (cons 'set! (expression-list args legacy)) + (list 'quote (begin))) + (raise 'preprocessing-error x))) + ((splicing) + (if (= (length args) 1) + (list 'splicing (expression (car args) legacy)) + (raise 'preprocessing-error x))) + ((while) + (if (not (null? args)) + (list 'begin + (list 'while (expression (car args) legacy) + (begin-form (cdr args) legacy)) + (list 'quote (begin))) + (raise 'preprocessing-error x))) + ((WITHIN) + (if (>= (length args) 2) + (my (class expr . body) args + (if (symbol? class) + (set! class (dict-ref env class))) + (if (not (class? class)) + (raise 'class? class)) + (my old-legacy legacy + ; FIXME: slot hidding doesn't work with this + (my slots (map car (vector->list (class->vector class))) + (for-each + (lambda (slot) + (if (string=? + (symbol->string slot)[0 ... 2] + ".v") + (raise 'invalid-slot-name slot)) + (acons! legacy slot slot)) + slots)) + (list 'WITHIN class (expression expr old-legacy) + (begin-form body legacy)))) + (raise 'preprocessing-error x))) + (else + (cond + ((assq verb legacy) ; local procedure call + (procedure-call verb args legacy)) + ((my mx (and (dict-ref env verb #f) -> mac + (macro? mac) + (macro->procedure mac)) + (and (procedure? mx) mx)) ; macro + => (lambda (mx) + (expression (apply mx env args) legacy))) + (else + (procedure-call verb args legacy))))) + (procedure-call verb args legacy))))) + (else + (raise 'preprocessing-error x)))) + ((procedure-call verb args legacy) + (simple-procedure-call (expression verb legacy) + (expression-list args legacy) legacy)) + ((simple-procedure-call verb args legacy) + (cons + (if (find (lambda (x) + (and (cons? x) + (eq? (car x) 'splicing))) + args) + 'VCALL 'CALL) + (cons verb args))) + ((expression-list items legacy) + (map (cut expression <> legacy) items)) + ((begin-form items legacy) + (set! items (map (lambda (item) + (expression item legacy)) items)) + (set! items + (unsure-collect + (lambda (store approve) + (store `',(begin)) + (letrec (((process item) + (store item) + (cond + ((symbol? item)) ; no approval + ((cons? item) + (case (car item) + ((GLOBAL lambda quote)) ; no approval + ((begin) (for-each process (cdr item))) + (else (approve)))) + (else (approve))))) + (for-each process items)) + (approve)))) + (if (null? (cdr items)) + (car items) + (cons 'begin items)))) + (expression item '())))) (define (optimize-source item home-dict) (my gen-var (my var-counter (make-counter) Index: stdenv.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/stdenv.wisp,v retrieving revision 1.355 retrieving revision 1.356 diff -u -d -r1.355 -r1.356 --- stdenv.wisp 4 Sep 2002 14:28:37 -0000 1.355 +++ stdenv.wisp 4 Sep 2002 14:29:47 -0000 1.356 @@ -50,22 +50,23 @@ (cons 'list (map (lambda (x) `(cons ',x ,x)) '(* *stderr* *stdin* *stdout* + - / /= < << <= <box> - <c16string> <class> <file> <port> <record-type> = > >= >> - abs address-of alist->dict alist-copy analyse append - append-reverse apply assert-object-type assoc assq assv - atom? big-integer? bit? bitstring-ref boolean? box-empty! - box-empty? box-ref box? broketed? c16string? c8string? - caaaar caaadr caaar caadar caaddr caadr caar cadaar cadadr - cadar caddar cadddr caddr cadr call-with-in/out-files - call-with-input-file call-with-output-file car car* - cardinal? catch cdaaar cdaadr cdaar cdadar cdaddr cdadr - cdar cddaar cddadr cddar cdddar cddddr cdddr cddr cdr cdr* - ceiling cfmakeraw char->control-char char->integer - char-and char-bit-clear char-bit-set char-bit-toggle - char-bit? char-decimal? char-digit? char-downcase - char-hexadecimal? char-letter-modifier? char-letter? - char-lower-case? char-mirrored? char-number-letter? - char-octal? char-or char-order char-punctuation-close? + <c16string> <class> <file> <macro> <port> <record-type> = + > >= >> abs acons! address-of alist->dict alist-copy + analyse and append append-reverse apply assert + assert-object-type assoc assq assv atom? big-integer? bind + bit? bitstring-ref boolean? box-empty! box-empty? box-ref + box? broketed? c16string? c8string? caaaar caaadr caaar + caadar caaddr caadr caar cadaar cadadr cadar caddar cadddr + caddr cadr call-with-in/out-files call-with-input-file + call-with-output-file car car! car* cardinal? case catch + cdaaar cdaadr cdaar cdadar cdaddr cdadr cdar cddaar cddadr + cddar cdddar cddddr cdddr cddr cdr cdr! cdr* ceiling + cfmakeraw char->control-char char->integer char-and + char-bit-clear char-bit-set char-bit-toggle char-bit? + char-decimal? char-digit? char-downcase char-hexadecimal? + char-letter-modifier? char-letter? char-lower-case? + char-mirrored? char-number-letter? char-octal? char-or + char-order char-punctuation-close? char-punctuation-connector? char-punctuation-dash? char-punctuation-final-quote? char-punctuation-initial-quote? char-punctuation-open? @@ -78,53 +79,58 @@ char8? char<=? char<? char=? char>=? char>? char? circular-list class->vector class-discriminator class-of class-slots class? close-input-port close-output-port - close-port collect collect-string compile concatenate cons - cons-copy cons? construct-filename denominator desv desv+r - dict->alist dict-bind! dict-copy dict-defined? dict-drop! - dict-fetch dict-ref dict? drop duplicate-dict-item! - dwim-stringify eighth env-copy env-ref eof-object? eq? - equal? eqv? eval even? evmfunc? exit fifth file-ctime - file-descriptor file-mtime file-stat file-type file? - filter find find-tail first fit-for-symbol? - fit-for-variable-name? fixnum? flatten floor - for-all-env-vars for-dir-entries for-each fourth fraction? - freeze-class frer->structure hache init-port input-port? - instance? integer->char integer->string integer? - intermingle keyword? last-cons length list list->semideque + close-port collect collect-string compile concatenate cond + cons cons! cons-copy cons? construct-filename + current-globals cut cute decr! define define-class + defmacro denominator desv desv+r dict->alist dict-bind! + dict-copy dict-defined? dict-drop! dict-fetch dict-ref + dict? dis do drop duplicate-dict-item! dwim-stringify + eighth env-ref eof-object? eq? equal? eqv? eval even? + evmfunc? exit fifth file-ctime file-descriptor file-mtime + file-stat file-type file? filter find find-tail first + fit-for-symbol? fit-for-variable-name? fixnum? flatten + floor for-all-env-vars for-dir-entries for-each fourth + fraction? freeze-class frer->structure gimme hache hide* + incr! init-port input-port? instance? integer->char + integer->string integer? intermingle keyword? lambda-pack + last-cons length let let* letrec list list->semideque list->vector list-copy list-ref list? load lookup-slot - make-box make-c16string make-c8string make-class - make-counter make-dict make-empty-env make-instance - make-record-type make-string make-vector map meaning - member memq memv modify-bit module-macro-ref module-ref - modulo native? negative? newline ninth not null-list? - null? number->string number? numerator nybble? nyp? odd? - open-input-file open-output-file order->dict output-port? - pack-be-integer pack-le-integer parse-character-body - parse-lambda-list peek-char peek-string pick-dict-items - port? portio-debugging positive? preprocess print - procedure? provide-semiraw-files provide-syscalls quotient - raise rassoc rassq rassv rational->cons rational? read - read-all=> read-char read-char-sequence - read-character-body read-directory read-line read-string - read-whole-file real? record-type-discriminator - record-type-referrer record-type-slot-count record-type? - reduce-index ref remainder reverse round run-ewisp-file - sbyte? second seek semideque semideque->list - semideque-bottom semideque-insert! semideque-pop! - semideque-push! semideque-top seventh signal sixth slice + macro->procedure macro? make-box make-c16string + make-c8string make-class make-counter make-dict + make-instance make-record-type make-string make-vector map + meaning member memq memv metacode modify-bit module + module-ref modulo my-port native? negative? newline ninth + not null-list? null? number->string number? numerator + nybble? nyp? odd? open-input-file open-output-file opt or + order->dict output-port? pack-be-integer pack-le-integer + parse-character-body parse-lambda-list peek-char + peek-string pick-dict-items port? portio-debugging + positive? prep preprocess print procedure->macro + procedure? provide-semiraw-files provide-syscalls + quasiquote quotient raise rassoc rassq rassv + rational->cons rational? read read-all=> read-char + read-char-sequence read-character-body read-directory + read-line read-string read-whole-file real? rec + record-type-discriminator record-type-referrer + record-type-slot-count record-type? reduce-index ref + remainder reverse round run-ewisp-file sbyte? second seek + semideque semideque->list semideque-bottom + semideque-insert! semideque-pop! semideque-push! + semideque-top serial seventh signal sixth slice split-by-char string string->c16string string->c8string string->integer string->list string->number string->symbol string-append string-concatenate string-copy string-downcase string-downcase! string-fill! string-join string-length string-move! string-null? string-ref string-upcase string-upcase! string<=? string<? string=? - string>=? string>? string? structure->string subclass? - substring superclass swyde? symbol->string symbol-length - symbol-ref symbol<=? symbol<? symbol>=? symbol>? symbol? - system-constant tcchangeattr tcgetattr tcgetattr-raw - tcsetattr-raw tenth third toposplit translate tree-copy - truncate tty? type-of ubyte? unix-time unpack-be-integer - unpack-le-integer unsure-collect utf-8->c16string + string>=? string>? string? structure->string sub subclass? + substring superclass swap! swyde? symbol->string + symbol-length symbol-ref symbol<=? symbol<? symbol>=? + symbol>? symbol? system-constant tcchangeattr tcgetattr + tcgetattr-raw tcsetattr-raw tenth third toposplit + translate tree-copy truncate try tty? type type-of ubyte? + unix-time unpack-be-integer unpack-le-integer + unsure-collect use utf-8->c16string utf-8-first-byte->length uwyde? vector vector->list vector-append vector-copy vector-fill! vector-length vector-move! vector-ref vector? void? wisp-string-hash @@ -141,7 +147,7 @@ ; scan module export lists ((let (loop (modules (box-ref modules))) (and (cons? modules) - (my (module-name . (objexl)) (car modules) + (my (module-name . objexl) (car modules) (or (and (rassq obj objexl) -> mec (list (car mec) 'use module-name)) @@ -156,7 +162,6 @@ (set! (dict-ref e 'wisp-version) (string-copy wisp-version)) (set! (dict-ref e 'wisp-build) (string-copy wisp-build)) (set! (dict-ref e 'wisp-builder) (string-copy wisp-builder)) - (set! (dict-ref e '*macros*) (dict-copy *macros*)) e))) (define origin *origin) (define regular-env *regular-env)) Index: tostring.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/tostring.wisp,v retrieving revision 1.73 retrieving revision 1.74 diff -u -d -r1.73 -r1.74 --- tostring.wisp 31 Aug 2002 14:30:24 -0000 1.73 +++ tostring.wisp 4 Sep 2002 14:29:47 -0000 1.74 @@ -63,6 +63,19 @@ (list copy seen-twice unrecognized) copy)))) +; works on both procedures and macros +(define (procedure-remark s) + (cond + ((and (procedure? s) (meaning s)) ; macros do not have meaning + => (lambda (m) + (if (cons? m) + "$,[m]" + "($,[m])"))) + ((origin s) + => (lambda (o) + "$(car o) of $(cdr o)")) + (else #f))) + (define (structure->string s) (my (copy dupl) (topocopy s #t) (for-each (lambda (c) @@ -188,14 +201,17 @@ ((procedure? s) (emit "#<") (emit (if (native? s) "native" "procedure")) - (my m (meaning s) - (if m - (begin + (and (procedure-remark s) -> r + (begin (emit #\space) - (loop - (if (cons? m) - m - (list m)))))) + (emit r))) + (emit #\>)) + ((macro? s) + (emit "#<macro") + (and (procedure-remark s) -> r + (begin + (emit #\space) + (emit r))) (emit #\>)) ((void? s) (emit "#<void>")) ((class? s) |
From: <di...@us...> - 2002-09-04 14:29:50
|
Update of /cvsroot/wisp/wisp/src In directory usw-pr-cvs1:/tmp/cvs-serv29729/src Modified Files: essence.c wordlist.txt Log Message: Made macros ordinary first-class objects. Index: essence.c =================================================================== RCS file: /cvsroot/wisp/wisp/src/essence.c,v retrieving revision 1.174 retrieving revision 1.175 diff -u -d -r1.174 -r1.175 --- essence.c 4 Sep 2002 14:28:27 -0000 1.174 +++ essence.c 4 Sep 2002 14:29:42 -0000 1.175 @@ -455,134 +455,134 @@ void*Y0[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jinf,V 16,qi,W(cons_huh),dig,V 1,q,mha,l,V 1,l,V 116,tc,V 2,c,ds,V 1,r,dig,V 0,ds,V 1,r}; void*Y1[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 2,binzc,&branch_EVM_invargca,dig,V 1,q,mha,l0,q,qi,W(class_of),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,dig,V 1,q,mha,l0,q,qi,W(subclass_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,jinf,V 16,qi,W(instance_of_wrong_class),dig,V 2,q,mha,l,V 1,l,V 116,tc,V 2,c,ds,V 2,r,t,Z,ds,V 2,r}; void*Y2[]={j,V 1,V 0,hop,V 5,mlt,jinnc,V 10,notc,p,s,V 1,t,T,s,V 0,j,V 6,t,F,s,V 1,s,V 0,mca,subc,V 2,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 4,p,s,V 3,p,s,V 2,mla,l,V 0,jif,V 69,mla,l,V 4,xri,Q,jinz,V 21,mla,l,V 2,q,mla,l,V 3,q,mla,l,V 1,q,mha,l,V 1,l,V 91,tc,V 3,c,r,qi,W(argcount),mla,l,V 2,q,mla,l,V 3,q,mla,l,V 4,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 116,tc,V 2,c,r,mla,l,V 4,xri,Q,jinz,V 14,mla,l,V 2,q,mla,l,V 3,q,t,&dict_ref_2,tc,V 2,c,r,mla,l,V 4,q,li,rvec+10,tc,V 1,c,ct,l,V 1,xri,Q,jinz,V 26,mla,l,V 2,q,mla,l,V 3,q,mla,l,V 4,q,li,rvec+10,tc,V 1,c,ct,l0,q,t,&NN_dict_ref_3,tc,V 3,c,r,qi,W(argcount),mla,l,V 2,q,mla,l,V 3,q,mla,l,V 4,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 116,tc,V 2,c,r}; -void*Y3[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 3,mca,subc,V 2,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 2,p,s,V 1,p,s,V 0,mla,l,V 1,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 146,qi,W(set_bang),qi,W(dict_ref),qi,W(XmacrosX),qi,W(quote),mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,W(lambda),qi,W(Xsource_dictionaryX),mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mla,l,V 2,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,r,mla,l,V 1,q,mha,l,V 1,l,V 134,tc,V 1,c,jif,V 42,mla,l,V 2,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 24,mla,l,V 2,q,li,rvec+10,tc,V 1,c,ct,l,V 1,xri,Q,jinz,V 4,t,T,j,V 2,t,F,j,V 2,t,F,j,V 2,t,F,jif,V 212,qi,W(set_bang),qi,W(dict_ref),qi,W(XmacrosX),qi,W(quote),mla,l,V 1,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,W(lambda),qi,W(Xsource_dictionaryX),qi,W(DOTl),mha,l,V 1,l,V 84,tc,V 2,c,q,qi,W(apply),qi,W(hide),qi,W(DOTl),mla,l,V 2,q,li,rvec+10,tc,V 1,c,ct,l0,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,W(DOTl),qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,r,qi,W(syntax_error),qi,W(defmacro),mla,l,V 1,q,mla,l,V 2,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 116,tc,V 2,c,r}; -void*Y4[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 2,binzc,&branch_EVM_invargca,dig,V 0,q,dig,V 2,q,mha,l0,q,qi,W(eval),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,ds,V 2,r}; -void*Y5[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 3,mca,subc,V 2,binc,&branch_EVM_invargca,mac,mca,subc,V 4,binnc,&branch_EVM_invargca,mac,mlt,mca,mca,subc,V 2,jizc,V 12,mac,p,s,V 2,p,s,V 1,p,s,V 0,j,V 11,mac,p,s,V 1,p,s,V 0,t,W(assertion_failed),s,V 2,qi,W(if),qi,W(not),mla,l,V 1,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,W(raise),qi,W(quote),mla,l,V 2,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,W(quote),mla,l,V 1,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,W(begin),qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,r}; -void*Y7[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 5,mca,subc,V 3,binc,&branch_EVM_invargca,mac,mca,subc,V 5,binnc,&branch_EVM_invargca,mac,mlt,mca,mca,subc,V 3,jizc,V 15,mac,p,s,V 3,p,s,V 2,p,s,V 1,p,s,V 0,j,V 101,mac,p,s,V 2,p,s,V 1,p,s,V 0,mla,l,V 1,q,qi,I(-1),mha,l0,q,qi,W(symbol_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,q,qi,CH('?'),mha,l0,q,qi,W(charEQ_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,jif,V 5,mla,l,V 1,j,V 47,mla,l,V 1,q,mha,l0,q,qi,W(structure2string),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,qi,B 6,mha,l0,q,qi,W(string_append),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,q,mha,l0,q,qi,W(string2symbol),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,s,V 3,mla,l,V 1,q,mha,l0,q,qi,W(structure2string),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,qi,B 6,mha,l0,q,qi,W(string_append),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,q,mha,l0,q,qi,W(string2symbol),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,mlt,s,V 4,qi,W(my),qi,W(val),mla,l,V 2,q,qi,W(if),qi,W(not),mla,l,V 4,q,qi,W(val),qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,W(raise),qi,W(quote),mla,l,V 3,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,W(val),qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,W(begin),qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,r}; -void*Y8[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 3,mca,subc,V 2,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 2,p,s,V 1,p,s,V 0,mla,l,V 1,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 80,qi,W(define),mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,qi,W(lambda),mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mla,l,V 2,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,r,qi,W(DEFINE),mla,l,V 1,q,mla,l,V 2,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,r}; -void*Y9[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,xri,F,jinz,V 5,ds,V 1,t,T,r,ds,V 1,t,F,r}; -void*Y10[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,xri,Q,jinz,V 5,ds,V 1,t,T,r,ds,V 1,t,F,r}; -void*Y11[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 2,binzc,&branch_EVM_invargca,dig,V 0,xri,Q,jinz,V 4,t,T,j,V 2,t,F,jinf,V 56,dig,V 1,q,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,li,rvec+15,tc,V 2,c,jif,V 33,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mha,l,V 2,l,V 3,tc,V 2,c,j,V 2,t,F,ds,V 2,r}; [...980 lines suppressed...] struct cons conses [] = { @@ -2067,13 +2061,13 @@ [324]{car:CH('C'),cdr:BC 323}, [325]{car:CH('A'),cdr:BC 324}, [326]{car:CH('e'),cdr:BC 325}, -[327]{car:B 672,cdr:Q}, -[328]{car:B 671,cdr:BC 327}, -[329]{car:B 673,cdr:Q}, +[327]{car:B 671,cdr:Q}, +[328]{car:B 670,cdr:BC 327}, +[329]{car:B 672,cdr:Q}, }; /* The root node of the compiled builtin library */ struct node * -builtin_root = B 675; +builtin_root = B 674; /* essence.c ends here */ Index: wordlist.txt =================================================================== RCS file: /cvsroot/wisp/wisp/src/wordlist.txt,v retrieving revision 1.553 retrieving revision 1.554 diff -u -d -r1.553 -r1.554 --- wordlist.txt 4 Sep 2002 14:28:37 -0000 1.553 +++ wordlist.txt 4 Sep 2002 14:29:47 -0000 1.554 @@ -15,7 +15,6 @@ *arglist* *asm-lock* *ctx -*macros* *source-dictionary* *stderr* *stdin* @@ -30,7 +29,6 @@ .l / /= -: := :=? < @@ -42,6 +40,7 @@ <c16string> <class> <file> +<macro> <port> <record-type> = @@ -360,7 +359,6 @@ \char8 abs absolute -accept acons! addat address-of @@ -551,7 +549,6 @@ concatenate cond conflict -conflicting-documentation cons cons! cons-copy @@ -564,7 +561,6 @@ ctime current-globals cut -cut-place cute d dat @@ -595,7 +591,6 @@ discriminator division-by-zero do -documentation dot-tail drain drop @@ -615,7 +610,6 @@ end ensure-in-buffer ensure-line-in-buffer -env-copy env-ref eof-object? eof? @@ -633,9 +627,7 @@ exclusive execve exit -expand-cut export -export-macro f false fatal-handler @@ -793,7 +785,6 @@ list-copy list-ref list? -listen load local local-count @@ -806,6 +797,8 @@ lookup-slot lseek mac +macro->procedure +macro? mah make-box make-c16string @@ -813,7 +806,6 @@ make-class make-counter make-dict -make-empty-env make-fdset make-instance make-record-type @@ -839,7 +831,6 @@ module module-load module-loop -module-macro-ref module-ref module-was-run modules @@ -854,7 +845,6 @@ nc negative? negc -new-value newline ninth nlink @@ -876,6 +866,7 @@ o obsolete-initial odd? +of off_t oflag open @@ -920,6 +911,8 @@ preprocessing-error prevent-invalid-call print +procedure->macro +procedure-remark procedure? process-simple-quasiquote process-unquote-splicing @@ -1032,7 +1025,6 @@ sixth size size-of -sktnr slice slot slots @@ -1081,7 +1073,6 @@ stringify-address struct structure->string -structure->string-tree sub subat subc @@ -1106,7 +1097,6 @@ sync syntax syntax-error -sys:accept sys:chdir sys:chmod sys:close |
From: <di...@us...> - 2002-09-04 14:29:02
|
Update of /cvsroot/wisp/wisp/modules In directory usw-pr-cvs1:/tmp/cvs-serv29208/modules Modified Files: linux.wrti Log Message: Implemented |sys:sync| and dropped |sys:raw:accept|, |sys:raw:chdir|, |sys:raw:chmod|, |sys:raw:ftruncate|, |sys:raw:link|, |sys:raw:mkdir|, |sys:raw:pipe|, |sys:raw:rename|, |sys:raw:symlink|, |sys:raw:truncate|, and |sys:raw:unlink|. Index: linux.wrti =================================================================== RCS file: /cvsroot/wisp/wisp/modules/linux.wrti,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- linux.wrti 4 Sep 2002 14:26:24 -0000 1.10 +++ linux.wrti 4 Sep 2002 14:28:27 -0000 1.11 @@ -35,9 +35,24 @@ ,(add %esp 4) (believe %eax)) + ; |sys.pipe| returns ( reading-part writing-part ) or ( -errno ) + (macro sys.pipe + (conform) + ,(sub %esp 8) ; allocate space for filedes[2] + ,(mov %ebx %esp) + 42 \sys (believe %eax) + dup 0 < if ; failed? + nip nip ; clean up + else + drop ; drop the result + swap ; account for downwards-growing stack + then) + (macro sys.fork (conform) 2 \sys (believe %eax)) (macro sys.close (conform %ebx) 6 \sys (believe %eax)) (macro sys.creat (conform %ebx %ecx) 8 \sys (believe %eax)) + (macro sys.link (conform %ebx %ecx) 9 \sys (believe %eax)) + (macro sys.unlink (conform %ebx) 10 \sys (believe %eax)) (macro sys.chdir (conform %ebx) 12 \sys (believe %eax)) ; |sys.time| takes no argument and returns the time (macro sys.time (conform) ,(mov %ebx 0) 13 \sys (believe %eax)) |
From: <di...@us...> - 2002-09-04 14:29:02
|
Update of /cvsroot/wisp/wisp/doc In directory usw-pr-cvs1:/tmp/cvs-serv29208/doc Modified Files: wisp.vim worth.vim Log Message: Implemented |sys:sync| and dropped |sys:raw:accept|, |sys:raw:chdir|, |sys:raw:chmod|, |sys:raw:ftruncate|, |sys:raw:link|, |sys:raw:mkdir|, |sys:raw:pipe|, |sys:raw:rename|, |sys:raw:symlink|, |sys:raw:truncate|, and |sys:raw:unlink|. Index: wisp.vim =================================================================== RCS file: /cvsroot/wisp/wisp/doc/wisp.vim,v retrieving revision 1.215 retrieving revision 1.216 diff -u -d -r1.215 -r1.216 --- wisp.vim 31 Aug 2002 14:28:25 -0000 1.215 +++ wisp.vim 4 Sep 2002 14:28:26 -0000 1.216 @@ -256,9 +256,9 @@ syn keyword wispLibFunc string-pop! string-push! string-reverse syn keyword wispLibFunc string-reverse! string-starts-with? string-top syn keyword wispLibFunc string-trim string-trim-both string-trim-right -syn keyword wispLibFunc sys:accept sys:chdir sys:chmod sys:close -syn keyword wispLibFunc sys:dup sys:dup2 sys:errno->name sys:execve -syn keyword wispLibFunc sys:exit sys:fcntl:cloexec sys:fcntl:dupfd +syn keyword wispLibFunc sys:chdir sys:chmod sys:close sys:dup sys:dup2 +syn keyword wispLibFunc sys:errno->name sys:execve sys:exit +syn keyword wispLibFunc sys:fcntl:cloexec sys:fcntl:dupfd syn keyword wispLibFunc sys:fcntl:flags sys:fcntl:getlk sys:fcntl:setlk syn keyword wispLibFunc sys:fcntl:setlkw sys:for-dir-entries sys:fork syn keyword wispLibFunc sys:fstat sys:ftruncate sys:getcwd sys:getegid @@ -270,7 +270,7 @@ syn keyword wispLibFunc sys:ns:kill sys:ns:listen sys:ns:setsid syn keyword wispLibFunc sys:open sys:pipe sys:read sys:rename syn keyword wispLibFunc sys:select sys:setpgid sys:setpgrp sys:setsid -syn keyword wispLibFunc sys:stat sys:symlink sys:tcgetattr +syn keyword wispLibFunc sys:stat sys:symlink sys:sync sys:tcgetattr syn keyword wispLibFunc sys:tcsetattr sys:truncate sys:unlink syn keyword wispLibFunc sys:waitpid sys:write take take! take-right syn keyword wispLibFunc unzip1 unzip2 unzip3 unzip4 unzip5 urldecode Index: worth.vim =================================================================== RCS file: /cvsroot/wisp/wisp/doc/worth.vim,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- worth.vim 4 Sep 2002 14:26:24 -0000 1.6 +++ worth.vim 4 Sep 2002 14:28:26 -0000 1.7 @@ -38,17 +38,17 @@ syn keyword wispFunc sys.ftruncate sys.getegid sys.geteuid sys.getgid syn keyword wispFunc sys.getpeername sys.getpgid sys.getpgrp sys.getpid syn keyword wispFunc sys.getppid sys.getsid sys.getsockname sys.getuid -syn keyword wispFunc sys.kill sys.listen sys.lstat sys.mkdir sys.mlock -syn keyword wispFunc sys.mlockall sys.munlock sys.munlockall sys.nice -syn keyword wispFunc sys.pause sys.rename sys.rmdir sys.setgid +syn keyword wispFunc sys.kill sys.link sys.listen sys.lstat sys.mkdir +syn keyword wispFunc sys.mlock sys.mlockall sys.munlock sys.munlockall +syn keyword wispFunc sys.nice sys.pause sys.rename sys.rmdir sys.setgid syn keyword wispFunc sys.setpgid sys.setregid sys.setreuid sys.setsid syn keyword wispFunc sys.setuid sys.shutdown sys.socket sys.stat syn keyword wispFunc sys.stime sys.swapoff sys.swapon sys.symlink syn keyword wispFunc sys.sync sys.time sys.truncate sys.umask -syn keyword wispFunc sys.vhangup sys.write sys.write-char tetra! tetra@ -syn keyword wispFunc tetras tuck type u< u<= u> u>= wisp-bool-> -syn keyword wispFunc wisp-epilogue wisp-prologue within wyde! wyde@ -syn keyword wispFunc wydes xor +syn keyword wispFunc sys.unlink sys.vhangup sys.write sys.write-char +syn keyword wispFunc tetra! tetra@ tetras tuck type u< u<= u> u>= +syn keyword wispFunc wisp-bool-> wisp-epilogue wisp-prologue within +syn keyword wispFunc wyde! wyde@ wydes xor syn keyword worthRegister %ah %al %ax %bh %bl %bp %bx %ch %cl %cs %cx syn keyword worthRegister %dh %di %dl %ds %dx %eax %ebp %ebx %ecx %edi |
From: <di...@us...> - 2002-09-04 14:28:41
|
Update of /cvsroot/wisp/wisp/src/native In directory usw-pr-cvs1:/tmp/cvs-serv29208/src/native Modified Files: sys.s sys.wth sys_raw.nasm sysconst.inc Log Message: Implemented |sys:sync| and dropped |sys:raw:accept|, |sys:raw:chdir|, |sys:raw:chmod|, |sys:raw:ftruncate|, |sys:raw:link|, |sys:raw:mkdir|, |sys:raw:pipe|, |sys:raw:rename|, |sys:raw:symlink|, |sys:raw:truncate|, and |sys:raw:unlink|. Index: sys.s =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/sys.s,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- sys.s 4 Sep 2002 14:26:57 -0000 1.1 +++ sys.s 4 Sep 2002 14:28:37 -0000 1.2 @@ -1,22 +1,124 @@ .section .text .align 16 -N_sys_ns_kill: +N_sys_ns_unlink: +.byte 144,81,131,249,1,15,132,8,0,0,0,88,137,193,233 +.long N_signal_argcount - (.+4) +.byte 88,232 +.long ws2zt - (.+4) +.byte 91,137,195,184,10,0,0,0,205,128,80,233 +.long encsi$1 - (.+4) +.global N_sys_ns_unlink,NN_sys_ns_unlink +.equiv NN_sys_ns_unlink, N_sys_ns_unlink + 1 +.section .text +.align 16 +N_sys_ns_truncate: +.byte 144,81,131,249,2,15,132,8,0,0,0,88,137,193,233 +.long N_signal_argcount - (.+4) +.byte 88,88,91,80,83,232 +.long ws2zt - (.+4) +.byte 91,91,80,104 +.long N_sys_ns_truncate.L1 +.byte 83,233 +.long decsi$1 - (.+4) +.byte 137,193,88,137,195,184,92,0,0,0,205,128,80,233 +.long encsi$1 - (.+4) +.global N_sys_ns_truncate,NN_sys_ns_truncate,N_sys_ns_truncate.L1 +.equiv NN_sys_ns_truncate, N_sys_ns_truncate + 1 +.equiv N_sys_ns_truncate.L1, N_sys_ns_truncate + 43 +.section .text +.align 16 +N_sys_ns_symlink: +.byte 144,81,131,249,2,15,132,8,0,0,0,88,137,193,233 +.long N_signal_argcount - (.+4) +.byte 88,88,91,80,83,232 +.long ws2zt - (.+4) +.byte 91,91,80,83,232 +.long ws2zt - (.+4) +.byte 91,137,193,88,137,195,184,83,0,0,0,205,128,80,233 +.long encsi$1 - (.+4) +.global N_sys_ns_symlink,NN_sys_ns_symlink +.equiv NN_sys_ns_symlink, N_sys_ns_symlink + 1 +.section .text +.align 16 +N_sys_ns_setsid: +.byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 +.long N_signal_argcount - (.+4) +.byte 88,184,66,0,0,0,205,128,80,233 +.long encsi$1 - (.+4) +.global N_sys_ns_setsid,NN_sys_ns_setsid +.equiv NN_sys_ns_setsid, N_sys_ns_setsid + 1 +.section .text +.align 16 +N_sys_ns_setpgid: .byte 144,81,131,249,2,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,88,91,80,104 -.long N_sys_ns_kill.L1 +.long N_sys_ns_setpgid.L1 .byte 83,233 .long decsi$1 - (.+4) .byte 91,80,104 -.long N_sys_ns_kill.L2 +.long N_sys_ns_setpgid.L2 +.byte 83,233 +.long decsi$1 - (.+4) +.byte 137,193,88,137,195,184,57,0,0,0,205,128,80,233 +.long encsi$1 - (.+4) +.global N_sys_ns_setpgid,NN_sys_ns_setpgid,N_sys_ns_setpgid.L1,N_sys_ns_setpgid.L2 +.equiv NN_sys_ns_setpgid, N_sys_ns_setpgid + 1 +.equiv N_sys_ns_setpgid.L1, N_sys_ns_setpgid + 34 +.equiv N_sys_ns_setpgid.L2, N_sys_ns_setpgid + 47 +.section .text +.align 16 +N_sys_ns_rename: +.byte 144,81,131,249,2,15,132,8,0,0,0,88,137,193,233 +.long N_signal_argcount - (.+4) +.byte 88,88,91,80,83,232 +.long ws2zt - (.+4) +.byte 91,91,80,83,232 +.long ws2zt - (.+4) +.byte 91,137,193,88,137,195,184,38,0,0,0,205,128,80,233 +.long encsi$1 - (.+4) +.global N_sys_ns_rename,NN_sys_ns_rename +.equiv NN_sys_ns_rename, N_sys_ns_rename + 1 +.section .text +.align 16 +N_sys_ns_pipe: +.byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 +.long N_signal_argcount - (.+4) +.byte 88,131,236,8,137,227,184,42,0,0,0,205,128,80,133,192,15,141,9,0,0 +.byte 0,88,91,91,80,233,5,0,0,0,88,88,91,80,83,88,80,133,192,15,141,5,0 +.byte 0,0,233 +.long encsi$1 - (.+4) +.byte 88,91,80,104 +.long N_sys_ns_pipe.L5 +.byte 83,233 +.long encui$1 - (.+4) +.byte 91,80,104 +.long N_sys_ns_pipe.L6 +.byte 83,233 +.long encui$1 - (.+4) +.byte 80,233 +.long cons$2 - (.+4) +.byte 88,195 +.global N_sys_ns_pipe,NN_sys_ns_pipe,N_sys_ns_pipe.L5,N_sys_ns_pipe.L6 +.equiv NN_sys_ns_pipe, N_sys_ns_pipe + 1 +.equiv N_sys_ns_pipe.L5, N_sys_ns_pipe + 83 +.equiv N_sys_ns_pipe.L6, N_sys_ns_pipe + 96 +.section .text +.align 16 +N_sys_ns_mkdir: +.byte 144,81,131,249,2,15,132,8,0,0,0,88,137,193,233 +.long N_signal_argcount - (.+4) +.byte 88,88,91,80,83,232 +.long ws2zt - (.+4) +.byte 91,91,80,104 +.long N_sys_ns_mkdir.L1 .byte 83,233 .long decui$1 - (.+4) -.byte 137,193,88,137,195,184,37,0,0,0,205,128,80,233 +.byte 137,193,88,137,195,184,39,0,0,0,205,128,80,233 .long encsi$1 - (.+4) -.global N_sys_ns_kill,NN_sys_ns_kill,N_sys_ns_kill.L1,N_sys_ns_kill.L2 -.equiv NN_sys_ns_kill, N_sys_ns_kill + 1 -.equiv N_sys_ns_kill.L1, N_sys_ns_kill + 34 -.equiv N_sys_ns_kill.L2, N_sys_ns_kill + 47 +.global N_sys_ns_mkdir,NN_sys_ns_mkdir,N_sys_ns_mkdir.L1 +.equiv NN_sys_ns_mkdir, N_sys_ns_mkdir + 1 +.equiv N_sys_ns_mkdir.L1, N_sys_ns_mkdir + 43 .section .text .align 16 N_sys_ns_listen: @@ -38,42 +140,36 @@ .equiv N_sys_ns_listen.L2, N_sys_ns_listen + 47 .section .text .align 16 -N_sys_ns_dup2: +N_sys_ns_link: .byte 144,81,131,249,2,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) -.byte 88,88,91,80,104 -.long N_sys_ns_dup2.L1 -.byte 83,233 -.long decui$1 - (.+4) -.byte 91,80,104 -.long N_sys_ns_dup2.L2 -.byte 83,233 -.long decui$1 - (.+4) -.byte 137,193,88,137,195,184,63,0,0,0,205,128,80,233 +.byte 88,88,91,80,83,232 +.long ws2zt - (.+4) +.byte 91,91,80,83,232 +.long ws2zt - (.+4) +.byte 91,137,193,88,137,195,184,9,0,0,0,205,128,80,233 .long encsi$1 - (.+4) -.global N_sys_ns_dup2,NN_sys_ns_dup2,N_sys_ns_dup2.L1,N_sys_ns_dup2.L2 -.equiv NN_sys_ns_dup2, N_sys_ns_dup2 + 1 -.equiv N_sys_ns_dup2.L1, N_sys_ns_dup2 + 34 -.equiv N_sys_ns_dup2.L2, N_sys_ns_dup2 + 47 +.global N_sys_ns_link,NN_sys_ns_link +.equiv NN_sys_ns_link, N_sys_ns_link + 1 .section .text .align 16 -N_sys_ns_setpgid: +N_sys_ns_kill: .byte 144,81,131,249,2,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,88,91,80,104 -.long N_sys_ns_setpgid.L1 +.long N_sys_ns_kill.L1 .byte 83,233 .long decsi$1 - (.+4) .byte 91,80,104 -.long N_sys_ns_setpgid.L2 +.long N_sys_ns_kill.L2 .byte 83,233 -.long decsi$1 - (.+4) -.byte 137,193,88,137,195,184,57,0,0,0,205,128,80,233 +.long decui$1 - (.+4) +.byte 137,193,88,137,195,184,37,0,0,0,205,128,80,233 .long encsi$1 - (.+4) -.global N_sys_ns_setpgid,NN_sys_ns_setpgid,N_sys_ns_setpgid.L1,N_sys_ns_setpgid.L2 -.equiv NN_sys_ns_setpgid, N_sys_ns_setpgid + 1 -.equiv N_sys_ns_setpgid.L1, N_sys_ns_setpgid + 34 -.equiv N_sys_ns_setpgid.L2, N_sys_ns_setpgid + 47 +.global N_sys_ns_kill,NN_sys_ns_kill,N_sys_ns_kill.L1,N_sys_ns_kill.L2 +.equiv NN_sys_ns_kill, N_sys_ns_kill + 1 +.equiv N_sys_ns_kill.L1, N_sys_ns_kill + 34 +.equiv N_sys_ns_kill.L2, N_sys_ns_kill + 47 .section .text .align 16 N_sys_ns_getpgid: @@ -90,6 +186,53 @@ .equiv N_sys_ns_getpgid.L1, N_sys_ns_getpgid + 32 .section .text .align 16 +N_sys_ns_ftruncate: +.byte 144,81,131,249,2,15,132,8,0,0,0,88,137,193,233 +.long N_signal_argcount - (.+4) +.byte 88,88,91,80,104 +.long N_sys_ns_ftruncate.L1 +.byte 83,233 +.long decui$1 - (.+4) +.byte 91,80,104 +.long N_sys_ns_ftruncate.L2 +.byte 83,233 +.long decsi$1 - (.+4) +.byte 137,193,88,137,195,184,93,0,0,0,205,128,80,233 +.long encsi$1 - (.+4) +.global N_sys_ns_ftruncate,NN_sys_ns_ftruncate,N_sys_ns_ftruncate.L1,N_sys_ns_ftruncate.L2 +.equiv NN_sys_ns_ftruncate, N_sys_ns_ftruncate + 1 +.equiv N_sys_ns_ftruncate.L1, N_sys_ns_ftruncate + 34 +.equiv N_sys_ns_ftruncate.L2, N_sys_ns_ftruncate + 47 +.section .text +.align 16 +N_sys_ns_fork: +.byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 +.long N_signal_argcount - (.+4) +.byte 88,184,2,0,0,0,205,128,80,233 +.long encsi$1 - (.+4) +.global N_sys_ns_fork,NN_sys_ns_fork +.equiv NN_sys_ns_fork, N_sys_ns_fork + 1 +.section .text +.align 16 +N_sys_ns_dup2: +.byte 144,81,131,249,2,15,132,8,0,0,0,88,137,193,233 +.long N_signal_argcount - (.+4) +.byte 88,88,91,80,104 +.long N_sys_ns_dup2.L1 +.byte 83,233 +.long decui$1 - (.+4) +.byte 91,80,104 +.long N_sys_ns_dup2.L2 +.byte 83,233 +.long decui$1 - (.+4) +.byte 137,193,88,137,195,184,63,0,0,0,205,128,80,233 +.long encsi$1 - (.+4) +.global N_sys_ns_dup2,NN_sys_ns_dup2,N_sys_ns_dup2.L1,N_sys_ns_dup2.L2 +.equiv NN_sys_ns_dup2, N_sys_ns_dup2 + 1 +.equiv N_sys_ns_dup2.L1, N_sys_ns_dup2 + 34 +.equiv N_sys_ns_dup2.L2, N_sys_ns_dup2 + 47 +.section .text +.align 16 N_sys_ns_dup: .byte 144,81,131,249,1,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) @@ -118,49 +261,66 @@ .equiv N_sys_ns_close.L1, N_sys_ns_close + 32 .section .text .align 16 -N_sys_ns_fork: -.byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 +N_sys_ns_chmod: +.byte 144,81,131,249,2,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) -.byte 88,184,2,0,0,0,205,128,80,233 +.byte 88,88,91,80,83,232 +.long ws2zt - (.+4) +.byte 91,91,80,104 +.long N_sys_ns_chmod.L1 +.byte 83,233 +.long decui$1 - (.+4) +.byte 137,193,88,137,195,184,15,0,0,0,205,128,80,233 .long encsi$1 - (.+4) -.global N_sys_ns_fork,NN_sys_ns_fork -.equiv NN_sys_ns_fork, N_sys_ns_fork + 1 +.global N_sys_ns_chmod,NN_sys_ns_chmod,N_sys_ns_chmod.L1 +.equiv NN_sys_ns_chmod, N_sys_ns_chmod + 1 +.equiv N_sys_ns_chmod.L1, N_sys_ns_chmod + 43 .section .text .align 16 -N_sys_ns_setsid: -.byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 +N_sys_ns_chdir: +.byte 144,81,131,249,1,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) -.byte 88,184,66,0,0,0,205,128,80,233 +.byte 88,232 +.long ws2zt - (.+4) +.byte 91,137,195,184,12,0,0,0,205,128,80,233 .long encsi$1 - (.+4) -.global N_sys_ns_setsid,NN_sys_ns_setsid -.equiv NN_sys_ns_setsid, N_sys_ns_setsid + 1 +.global N_sys_ns_chdir,NN_sys_ns_chdir +.equiv NN_sys_ns_chdir, N_sys_ns_chdir + 1 .section .text .align 16 -N_sys_exit: -.byte 144,81,133,201,15,133,5,0,0,0,88,64,106,7,80,88,80,61,1,0,0,0,15 -.byte 132,8,0,0,0,88,137,193,233 +N_sys_sync: +.byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) -.byte 88,88,80,104 -.long N_sys_exit.L2 -.byte 80,233 -.long decui$1 - (.+4) -.byte 80,61,0,1,0,0,15,140,13,0,0,0,88,88,104 -.long WB_range -.byte 80,233 -.long raise$2 - (.+4) -.byte 88,137,195,184,1,0,0,0,205,128 -.global N_sys_exit,NN_sys_exit,N_sys_exit.L2 -.equiv NN_sys_exit, N_sys_exit + 1 -.equiv N_sys_exit.L2, N_sys_exit + 50 +.byte 88,184,36,0,0,0,205,128,184,27,0,0,0,195 +.global N_sys_sync,NN_sys_sync +.equiv NN_sys_sync, N_sys_sync + 1 .section .text .align 16 -N_sys_getegid: +N_sys_getuid: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) -.byte 88,184,50,0,0,0,205,128,80,233 +.byte 88,184,24,0,0,0,205,128,80,233 .long encui$1 - (.+4) -.global N_sys_getegid,NN_sys_getegid -.equiv NN_sys_getegid, N_sys_getegid + 1 +.global N_sys_getuid,NN_sys_getuid +.equiv NN_sys_getuid, N_sys_getuid + 1 +.section .text +.align 16 +N_sys_getppid: +.byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 +.long N_signal_argcount - (.+4) +.byte 88,184,64,0,0,0,205,128,80,233 +.long encui$1 - (.+4) +.global N_sys_getppid,NN_sys_getppid +.equiv NN_sys_getppid, N_sys_getppid + 1 +.section .text +.align 16 +N_sys_getpid: +.byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 +.long N_signal_argcount - (.+4) +.byte 88,184,20,0,0,0,205,128,80,233 +.long encui$1 - (.+4) +.global N_sys_getpid,NN_sys_getpid +.equiv NN_sys_getpid, N_sys_getpid + 1 .section .text .align 16 N_sys_getgid: @@ -181,31 +341,31 @@ .equiv NN_sys_geteuid, N_sys_geteuid + 1 .section .text .align 16 -N_sys_getuid: -.byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 -.long N_signal_argcount - (.+4) -.byte 88,184,24,0,0,0,205,128,80,233 -.long encui$1 - (.+4) -.global N_sys_getuid,NN_sys_getuid -.equiv NN_sys_getuid, N_sys_getuid + 1 -.section .text -.align 16 -N_sys_getppid: +N_sys_getegid: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) -.byte 88,184,64,0,0,0,205,128,80,233 +.byte 88,184,50,0,0,0,205,128,80,233 .long encui$1 - (.+4) -.global N_sys_getppid,NN_sys_getppid -.equiv NN_sys_getppid, N_sys_getppid + 1 +.global N_sys_getegid,NN_sys_getegid +.equiv NN_sys_getegid, N_sys_getegid + 1 .section .text .align 16 -N_sys_getpid: -.byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 +N_sys_exit: +.byte 144,81,133,201,15,133,5,0,0,0,88,64,106,7,80,88,80,61,1,0,0,0,15 +.byte 132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) -.byte 88,184,20,0,0,0,205,128,80,233 -.long encui$1 - (.+4) -.global N_sys_getpid,NN_sys_getpid -.equiv NN_sys_getpid, N_sys_getpid + 1 +.byte 88,88,80,104 +.long N_sys_exit.L2 +.byte 80,233 +.long decui$1 - (.+4) +.byte 80,61,0,1,0,0,15,140,13,0,0,0,88,88,104 +.long WB_range +.byte 80,233 +.long raise$2 - (.+4) +.byte 88,137,195,184,1,0,0,0,205,128 +.global N_sys_exit,NN_sys_exit,N_sys_exit.L2 +.equiv NN_sys_exit, N_sys_exit + 1 +.equiv N_sys_exit.L2, N_sys_exit + 50 .section .text .align 16 N_unix_time: Index: sys.wth =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/sys.wth,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- sys.wth 4 Sep 2002 14:26:57 -0000 1.1 +++ sys.wth 4 Sep 2002 14:28:37 -0000 1.2 @@ -10,25 +10,27 @@ (include wisptyp) (extern WB_range) +(extern cons$2) (extern decsi$1) (extern decui$1) (extern encsi$1) (extern encui$1) +(extern ws2zt) (macro decsi <: swap (flush) 'decsi$1 jump :>) (macro decui <: swap (flush) 'decui$1 jump :>) +(macro encsi <: swap (flush) 'encsi$1 jump :>) +(macro encui <: swap (flush) 'encui$1 jump :>) +(macro ws->zt (flush) ws2zt (believe %eax) nip) (native unix_time dup 0 = argc drop sys.time (flush) 'encsi$1 jump) -(native sys_getpid dup 0 = argc drop - sys.getpid (flush) 'encui$1 jump) - -(native sys_getppid dup 0 = argc drop - sys.getppid (flush) 'encui$1 jump) +(native sys_exit dup 0 = if ZERO swap 1+ then dup 1 = argc drop + dup decui dup 256 >= if drop 'WB_range swap go-raise then sys.exit) -(native sys_getuid dup 0 = argc drop - sys.getuid (flush) 'encui$1 jump) +(native sys_getegid dup 0 = argc drop + sys.getegid (flush) 'encui$1 jump) (native sys_geteuid dup 0 = argc drop sys.geteuid (flush) 'encui$1 jump) @@ -36,21 +38,27 @@ (native sys_getgid dup 0 = argc drop sys.getgid (flush) 'encui$1 jump) -(native sys_getegid dup 0 = argc drop - sys.getegid (flush) 'encui$1 jump) +(native sys_getpid dup 0 = argc drop + sys.getpid (flush) 'encui$1 jump) -(native sys_exit dup 0 = if ZERO swap 1+ then dup 1 = argc drop - dup decui dup 256 >= if drop 'WB_range swap go-raise then sys.exit) +(native sys_getppid dup 0 = argc drop + sys.getppid (flush) 'encui$1 jump) + +(native sys_getuid dup 0 = argc drop + sys.getuid (flush) 'encui$1 jump) + +(native sys_sync dup 0 = argc drop + sys.sync VOID) ;; The sys:ns:foo functions differ from sys:foo only in ;; that they do not themselves raise signals on error. ;; They return negative values instead. -(native sys_ns_setsid dup 0 = argc drop - sys.setsid (flush) 'encsi$1 jump) +(native sys_ns_chdir dup 1 = argc drop + ws->zt sys.chdir (flush) 'encsi$1 jump) -(native sys_ns_fork dup 0 = argc drop - sys.fork (flush) 'encsi$1 jump) +(native sys_ns_chmod dup 2 = argc drop + swap ws->zt swap decui sys.chmod (flush) 'encsi$1 jump) (native sys_ns_close dup 1 = argc drop decui sys.close (flush) 'encsi$1 jump) @@ -58,19 +66,53 @@ (native sys_ns_dup dup 1 = argc drop decui sys.dup (flush) 'encsi$1 jump) +(native sys_ns_dup2 dup 2 = argc drop + swap decui swap decui sys.dup2 (flush) 'encsi$1 jump) + +(native sys_ns_fork dup 0 = argc drop + sys.fork (flush) 'encsi$1 jump) + +(native sys_ns_ftruncate dup 2 = argc drop + swap decui swap decsi sys.ftruncate (flush) 'encsi$1 jump) + (native sys_ns_getpgid dup 1 = argc drop decsi sys.getpgid (flush) 'encsi$1 jump) -(native sys_ns_setpgid dup 2 = argc drop - swap decsi swap decsi sys.setpgid (flush) 'encsi$1 jump) +(native sys_ns_kill dup 2 = argc drop + swap decsi swap decui sys.kill (flush) 'encsi$1 jump) -(native sys_ns_dup2 dup 2 = argc drop - swap decui swap decui sys.dup2 (flush) 'encsi$1 jump) +(native sys_ns_link dup 2 = argc drop + swap ws->zt swap ws->zt sys.link (flush) 'encsi$1 jump) (native sys_ns_listen dup 2 = argc drop swap decui swap decui sys.listen (flush) 'encsi$1 jump) -(native sys_ns_kill dup 2 = argc drop - swap decsi swap decui sys.kill (flush) 'encsi$1 jump) +(native sys_ns_mkdir dup 2 = argc drop + swap ws->zt swap decui sys.mkdir (flush) 'encsi$1 jump) + +(native sys_ns_pipe dup 0 = argc drop + sys.pipe dup 0 < if + (flush) 'encsi$1 jump + else + (flush) swap encui swap encui (flush) 'cons$2 jump + then) + +(native sys_ns_rename dup 2 = argc drop + swap ws->zt swap ws->zt sys.rename (flush) 'encsi$1 jump) + +(native sys_ns_setpgid dup 2 = argc drop + swap decsi swap decsi sys.setpgid (flush) 'encsi$1 jump) + +(native sys_ns_setsid dup 0 = argc drop + sys.setsid (flush) 'encsi$1 jump) + +(native sys_ns_symlink dup 2 = argc drop + swap ws->zt swap ws->zt sys.symlink (flush) 'encsi$1 jump) + +(native sys_ns_truncate dup 2 = argc drop + swap ws->zt swap decsi sys.truncate (flush) 'encsi$1 jump) + +(native sys_ns_unlink dup 1 = argc drop + ws->zt sys.unlink (flush) 'encsi$1 jump) ; vim: ft=worth Index: sys_raw.nasm =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/sys_raw.nasm,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- sys_raw.nasm 4 Sep 2002 14:26:57 -0000 1.43 +++ sys_raw.nasm 4 Sep 2002 14:28:37 -0000 1.44 @@ -15,27 +15,13 @@ %endrep %endmacro -native_syscall chdir, 1 -native_syscall chmod, 2 -native_syscall close, 1 native_syscall execve, 3 native_syscall fcntl, 3 -native_syscall ftruncate, 2 native_syscall getcwd, 2 native_syscall ioctl, 3 -native_syscall kill, 2 -native_syscall link, 2 native_syscall lseek, 3 -native_syscall mkdir, 2 native_syscall open, 3 -native_syscall pipe, 1, untag ebx ; so that a cons can be used native_syscall read, 3 -native_syscall rename, 2 -native_syscall symlink, 2 -native_syscall truncate, 2 -native_syscall unlink, 1 native_syscall waitpid, 3, untag ecx ; so that a cons can be used native_syscall write, 3 native_syscall nanosleep, 2, {untag ebx, ecx} - -native_socketcall accept, 3 Index: sysconst.inc =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/sysconst.inc,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- sysconst.inc 8 Aug 2002 16:46:39 -0000 1.10 +++ sysconst.inc 4 Sep 2002 14:28:37 -0000 1.11 @@ -42,12 +42,6 @@ %else ; LINUX %error Unknown system? %endif ; LINUX -%ifdef LINUX -%define CCC_sktnr_listen 4 -%define CCC_sktnr_accept 5 -%else ; LINUX -%error Unknown system? -%endif ; LINUX %define CCC_termios_NCCS 32 %ifdef LINUX %define CCC_termios_cc_VINTR 0 |
From: <di...@us...> - 2002-09-04 14:28:40
|
Update of /cvsroot/wisp/wisp/src In directory usw-pr-cvs1:/tmp/cvs-serv29208/src Modified Files: essence.c sysconst.h sysconst.txt wordlist.txt Log Message: Implemented |sys:sync| and dropped |sys:raw:accept|, |sys:raw:chdir|, |sys:raw:chmod|, |sys:raw:ftruncate|, |sys:raw:link|, |sys:raw:mkdir|, |sys:raw:pipe|, |sys:raw:rename|, |sys:raw:symlink|, |sys:raw:truncate|, and |sys:raw:unlink|. Index: essence.c =================================================================== RCS file: /cvsroot/wisp/wisp/src/essence.c,v retrieving revision 1.173 retrieving revision 1.174 diff -u -d -r1.173 -r1.174 --- essence.c 4 Sep 2002 14:26:24 -0000 1.173 +++ essence.c 4 Sep 2002 14:28:27 -0000 1.174 @@ -391,38 +391,38 @@ NN_sys_getppid, NN_sys_getuid, NN_sys_lstat, + NN_sys_ns_chdir, + NN_sys_ns_chmod, NN_sys_ns_close, NN_sys_ns_dup, NN_sys_ns_dup2, NN_sys_ns_fork, + NN_sys_ns_ftruncate, NN_sys_ns_getpgid, [...1106 lines suppressed...] struct cons conses [] = { @@ -2069,13 +2067,13 @@ [324]{car:CH('C'),cdr:BC 323}, [325]{car:CH('A'),cdr:BC 324}, [326]{car:CH('e'),cdr:BC 325}, -[327]{car:B 673,cdr:Q}, -[328]{car:B 672,cdr:BC 327}, -[329]{car:B 674,cdr:Q}, +[327]{car:B 672,cdr:Q}, +[328]{car:B 671,cdr:BC 327}, +[329]{car:B 673,cdr:Q}, }; /* The root node of the compiled builtin library */ struct node * -builtin_root = B 676; +builtin_root = B 675; /* essence.c ends here */ Index: sysconst.h =================================================================== RCS file: /cvsroot/wisp/wisp/src/sysconst.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- sysconst.h 8 Aug 2002 16:46:39 -0000 1.10 +++ sysconst.h 4 Sep 2002 14:28:37 -0000 1.11 @@ -42,12 +42,6 @@ #else /* LINUX */ #error Unknown system? #endif /* LINUX */ -#ifdef LINUX -#define CCC_sktnr_listen 4 -#define CCC_sktnr_accept 5 -#else /* LINUX */ -#error Unknown system? -#endif /* LINUX */ #define CCC_termios_NCCS 32 #ifdef LINUX #define CCC_termios_cc_VINTR 0 Index: sysconst.txt =================================================================== RCS file: /cvsroot/wisp/wisp/src/sysconst.txt,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- sysconst.txt 8 Aug 2002 16:46:39 -0000 1.16 +++ sysconst.txt 4 Sep 2002 14:28:37 -0000 1.17 @@ -47,12 +47,6 @@ (nanosleep 162) (getcwd 183)))) -(<group> sktnr ; socketcall subnumbers - (<case> - (LINUX - (listen 4) - (accept 5)))) - (<group> termios (NCCS 32) (<group> cc Index: wordlist.txt =================================================================== RCS file: /cvsroot/wisp/wisp/src/wordlist.txt,v retrieving revision 1.552 retrieving revision 1.553 diff -u -d -r1.552 -r1.553 --- wordlist.txt 4 Sep 2002 14:26:56 -0000 1.552 +++ wordlist.txt 4 Sep 2002 14:28:37 -0000 1.553 @@ -1152,6 +1152,7 @@ sys:setsid sys:stat sys:symlink +sys:sync sys:tcgetattr sys:tcsetattr sys:truncate |
From: <di...@us...> - 2002-09-04 14:28:40
|
Update of /cvsroot/wisp/wisp/src/builtin In directory usw-pr-cvs1:/tmp/cvs-serv29208/src/builtin Modified Files: dictbase.wisp stdenv.wisp sys.wisp Log Message: Implemented |sys:sync| and dropped |sys:raw:accept|, |sys:raw:chdir|, |sys:raw:chmod|, |sys:raw:ftruncate|, |sys:raw:link|, |sys:raw:mkdir|, |sys:raw:pipe|, |sys:raw:rename|, |sys:raw:symlink|, |sys:raw:truncate|, and |sys:raw:unlink|. Index: dictbase.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/dictbase.wisp,v retrieving revision 1.234 retrieving revision 1.235 diff -u -d -r1.234 -r1.235 --- dictbase.wisp 4 Sep 2002 14:26:56 -0000 1.234 +++ dictbase.wisp 4 Sep 2002 14:28:37 -0000 1.235 @@ -157,6 +157,7 @@ (local sys:lstat (asm NN_sys_lstat)) (local sys:select (asm NN_sys_select)) (local sys:stat (asm NN_sys_stat)) +(local sys:sync (asm NN_sys_sync)) (local truncate (asm NN_truncate)) (local type-of (asm NN_type_of)) (local unix-time (asm NN_unix_time)) Index: stdenv.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/stdenv.wisp,v retrieving revision 1.354 retrieving revision 1.355 diff -u -d -r1.354 -r1.355 --- stdenv.wisp 4 Sep 2002 14:26:56 -0000 1.354 +++ stdenv.wisp 4 Sep 2002 14:28:37 -0000 1.355 @@ -11,8 +11,8 @@ (cons 'list (map (lambda (x) `(cons ',x ,x)) - '(fdset-ref make-fdset sys:accept sys:chdir sys:chmod sys:close - sys:dup sys:dup2 sys:errno->name sys:execve sys:exit + '(fdset-ref make-fdset sys:chdir sys:chmod sys:close sys:dup + sys:dup2 sys:errno->name sys:execve sys:exit sys:fcntl:cloexec sys:fcntl:dupfd sys:fcntl:flags sys:fcntl:getlk sys:fcntl:setlk sys:fcntl:setlkw sys:for-dir-entries sys:fork sys:fstat sys:ftruncate @@ -21,7 +21,7 @@ sys:link sys:listen sys:lseek sys:lstat sys:mkdir sys:nanosleep sys:open sys:pipe sys:read sys:rename sys:select sys:setpgid sys:setpgrp sys:setsid sys:stat - sys:symlink sys:tcgetattr sys:tcsetattr sys:truncate + sys:symlink sys:sync sys:tcgetattr sys:tcsetattr sys:truncate sys:unlink sys:waitpid sys:write))))) (define (provide-syscalls target) Index: sys.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/sys.wisp,v retrieving revision 1.105 retrieving revision 1.106 diff -u -d -r1.105 -r1.106 --- sys.wisp 4 Sep 2002 14:26:56 -0000 1.105 +++ sys.wisp 4 Sep 2002 14:28:37 -0000 1.106 @@ -22,20 +22,31 @@ (my (nroot . fargs) item `(define (,(string->symbol "sys:$[nroot]") ,@fargs) (my result ((asm ,(string->symbol "NN_sys_ns_$[nroot]")) ,@fargs) - (if (negative? result) + (if (and (integer? result) + (negative? result)) (signal-system-error result (list ',(string->symbol "sys:$[nroot]") ,@fargs)) result))))) - '((close fd) + '((chdir dir) + (chmod name mode) + (close fd) (dup fd) (dup2 oldfd newfd) (fork) + (ftruncate fd len) (getpgid pid) (kill pid sig) + (link oldname newname) (listen s backlog) + (mkdir name mode) + (pipe) + (rename oldname newname) (setpgid pid pgid) - (setsid))))) + (setsid) + (symlink oldname newname) + (truncate filename len) + (unlink name))))) (local (sys:getpgrp) (sys:getpgid 0)) @@ -43,49 +54,6 @@ (local (sys:setpgrp) (sys:setpgid 0 0)) -(local (sys:pipe) - (my filedes (cons '() '()) - (my res (encsi ((asm NN_sys_raw_pipe) filedes)) - (if (negative? res) - (signal-system-error res `(sys:pipe)) - (cons (encui (car filedes)) (encui (cdr filedes))))))) - -(local (sys:mkdir name mode) - (my res (encsi ((asm NN_sys_raw_mkdir) (%ws->0t name) (decui mode))) - (if (negative? res) - (signal-system-error res `(sys:mkdir ,name ,mode)) - (begin)))) - -(local (sys:unlink name) - (my res (encsi ((asm NN_sys_raw_unlink) (%ws->0t name))) - (if (negative? res) - (signal-system-error res `(sys:unlink ,name)) - (begin)))) - -(local (sys:chmod name mode) - (my res (encsi ((asm NN_sys_raw_chmod) (%ws->0t name) (decui mode))) - (if (negative? res) - (signal-system-error res `(sys:chmod ,name ,mode)) - (begin)))) - -(local (sys:link oldname newname) - (my res (encsi ((asm NN_sys_raw_link) (%ws->0t oldname) (%ws->0t newname))) - (if (negative? res) - (signal-system-error res `(sys:link ,oldname ,newname)) - (begin)))) - -(local (sys:rename oldname newname) - (my res (encsi ((asm NN_sys_raw_rename) (%ws->0t oldname) (%ws->0t newname))) - (if (negative? res) - (signal-system-error res `(sys:rename ,oldname ,newname)) - (begin)))) - -(local (sys:symlink oldname newname) - (my res (encsi ((asm NN_sys_raw_symlink) (%ws->0t oldname) (%ws->0t newname))) - (if (negative? res) - (signal-system-error res `(sys:link ,oldname ,newname)) - (begin)))) - (local (sys:getcwd) (my size 16 (let (loop) @@ -101,24 +69,6 @@ (asm ((decui (- res 1)) s . buffer) pt (s . 2) p (s . 1) (tn . 9) s0) s))))))) -(local (sys:chdir name) - (my res (encsi ((asm NN_sys_raw_chdir) (%ws->0t name))) - (if (negative? res) - (signal-system-error res `(sys:chdir ,name)) - (begin)))) - -(local (sys:truncate name len) - (my res (encsi ((asm NN_sys_raw_truncate) (%ws->0t name) (decsi len))) - (if (negative? res) - (signal-system-error res `(sys:truncate ,name ,len)) - (begin)))) - -(local (sys:ftruncate fd len) - (my res (encsi ((asm NN_sys_raw_ftruncate) (decui fd) (decsi len))) - (if (negative? res) - (signal-system-error res `(sys:ftruncate ,fd ,len)) - (begin)))) - (local (sys:lseek fd ofs whence) (my res (encsi ((asm NN_sys_raw_lseek) (decui fd) (decsi ofs) (decui whence))) (if (negative? res) @@ -141,12 +91,6 @@ (%wsv->0tv argv) (%wsv->0tv envp))) `(sys:execve ,filename ,argv ,envp))) - -(local (sys:accept socket) - (my res (encsi ((asm NN_sys_raw_accept) (decui socket) '() '())) - (if (negative? res) - (signal-system-error res `(sys:accept ,socket) #t) - res))) ; options is an integer, bitwise-or'ed: ; 1=WNOHANG, 2=WUNTRACED (the way Linux defines them) |
From: <di...@us...> - 2002-09-04 14:27:51
|
Update of /cvsroot/wisp/wisp/doc In directory usw-pr-cvs1:/tmp/cvs-serv29108/doc Modified Files: Makefile.am wisp.texi wisp.texi.ewisp Added Files: texi-ewisp.vim Removed Files: texinfo-ewisp.vim Log Message: Renamed texinfo-ewisp.vim to texi-ewisp.vim in order to better cope with the 14-character filename length limit. --- NEW FILE: texi-ewisp.vim --- " texi-ewisp.vim - ewisp-embedded TeXinfo source " " Copyleft © 2002 by Andres Soolo (di...@us...) " This file is licensed under the GNU GPL v2. If you " don't know what that means, please do read the GPL. " " @(#) $Id: texi-ewisp.vim,v 1.1 2002/09/04 14:27:48 digg Exp $ runtime syntax/texinfo.vim runtime syntax/ewisp.vim let b:current_syntax = "texi-ewisp" Index: Makefile.am =================================================================== RCS file: /cvsroot/wisp/wisp/doc/Makefile.am,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- Makefile.am 8 Aug 2002 17:07:45 -0000 1.20 +++ Makefile.am 4 Sep 2002 14:27:48 -0000 1.21 @@ -12,7 +12,7 @@ wisp.1 worth.1 \ wisp.texi.ewisp \ depends.txt paw.txt \ - wisp.vim wispstruc.vim ewisp.vim worth.vim wid.vim texinfo-ewisp.vim + wisp.vim wispstruc.vim ewisp.vim worth.vim wid.vim texi-ewisp.vim man_MANS = wisp.1 worth.1 info_TEXINFOS = wisp.texi Index: wisp.texi =================================================================== RCS file: /cvsroot/wisp/wisp/doc/wisp.texi,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- wisp.texi 26 Aug 2002 15:50:58 -0000 1.24 +++ wisp.texi 4 Sep 2002 14:27:48 -0000 1.25 @@ -202,6 +202,7 @@ * assoc:: * assq:: * assv:: +* atom?:: * bit?:: * boolean?:: * box-empty!:: @@ -369,6 +370,8 @@ * positive?:: * print:: * procedure?:: +* raise:: +* signal:: * rassoc:: * rassq:: * rassv:: @@ -388,7 +391,6 @@ * reverse:: * sbyte?:: * seventh:: -* signal:: * sixth:: * split:: * string:: @@ -766,6 +768,30 @@ @noindent @b{See also:} @func{assq}, @func{assoc}, @func{rassv}, @func{memv}, @func{desv}. +@node atom?,,, +@section @t{atom?} +@findex atom? +@c ("(" (bar "atom?") space (slash "object") ")" space produces space (slash "boolean")) +(@func{atom?} @funcarg{object}) @produces{} @funcarg{boolean} + + +@c ("Checks" space "whether" space (slash "object") space "is" space "an" space "atomic" space "object." space "An" space "object" space "is" space "atomic" space "if" space "it" space "is" space "either") +Checks whether @funcarg{object} is an atomic object. An object is atomic if it is either + +@c (bullet space "a" space "number;" space bullet space "a" space "symbol;" space bullet space "a" space "character;" space bullet space "a" space "Boolean" space "constant;" space bullet space "the" space "empty" space "list;" space bullet space "or" space "the" space "void" space "object.") +@bullet{} a number; @bullet{} a symbol; @bullet{} a character; @bullet{} a Boolean constant; @bullet{} the empty list; @bullet{} or the void object. + +@c ("The" space "intention" space "is" space "that" space "an" space "object" space "should" space "be" space "atomic" space "iff" space "it" space "can't" space "be" space "mutated." space "However," space "the" space "definition" space "above" space "is" space "a" space "bit" space "narrower" space "as" space "it" space "is" space "not" space "always" space "easy" space "to" space "automatically" space "prove" space "whether" space "there" space "are" space "no" space "mutators" space "alive" space "for" space "any" space "specific" space "type," space "especially" space "an" space "user-defined" space "record" space "type." space "On" space "the" space "other" space "hand," space "the" space "definition" space "might" space "be" space "amended" space "in" space "the" space "future" space "to" space "include" space "empty" space "nonresizeable" space "vectors" space "and" space "empty" space "nonresizeable" space "strings.") +The intention is that an object should be atomic iff it can't be mutated. However, the definition above is a bit narrower as it is not always easy to automatically prove whether there are no mutators alive for any specific type, especially an user-defined record type. On the other hand, the definition might be amended in the future to include empty nonresizeable vectors and empty nonresizeable strings. + +@c ((colon "Conforms to:") space "Wisp" space "extension." space "(Does" space "not" space "conform" space "to" space (bar "atom") space "of" space "Common" space "Lisp" space "as" space "the" space "latter" space "considers" space "vectors" space "atomic.)") +@noindent +@b{Conforms to:} Wisp extension. (Does not conform to @func{atom} of Common Lisp as the latter considers vectors atomic.) + +@c ((colon "See also:") space (bar "eqv?") ".") +@noindent +@b{See also:} @func{eqv?}. + @node bit?,,, @section @t{bit?} @findex bit? @@ -2807,6 +2833,10 @@ @noindent @b{Conforms to:} @RfiveRS{}. +@c ((colon "See also:") space (bar "atom?") ".") +@noindent +@b{See also:} @func{atom?}. + @node even?,,, @section @t{even?} @findex even? @@ -3760,6 +3790,54 @@ @noindent @b{Conforms to:} @RfiveRS{}. +@node raise,,, +@section @t{raise} +@findex raise +@c ("(" (bar "raise") space (slash "type") space (slash "datum") ")" space "-/->" space (slash "type") space (slash "datum")) +(@func{raise} @funcarg{type} @funcarg{datum}) -/-> @funcarg{type} @funcarg{datum} + + +@c ("Raises" space "the" space "specified" space "signal.") +Raises the specified signal. + +@c ("Note" space "that" space "calls" space "to" space (bar "raise") space "never" space "return," space "even" space "in" space "the" space "case" space "of" space "invalid" space "argument" space "count." space "However," space "in" space "such" space "case" space "the" space "signal" space "raised" space "may" space "not" space "be" space "what" space "was" space "expected.") +Note that calls to @func{raise} never return, even in the case of invalid argument count. However, in such case the signal raised may not be what was expected. + +@c ((bar "signal") space "is" space "a" space "deprecated" space "alias" space "for" space (bar "raise") ".") +@func{signal} is a deprecated alias for @func{raise}. + +@c ((colon "Conforms to:") space "Wisp" space "extension.") +@noindent +@b{Conforms to:} Wisp extension. + +@c ((colon "See also:") space (bar "catch") ".") +@noindent +@b{See also:} @func{catch}. + +@node signal,,, +@section @t{signal} +@findex signal +@c ("(" (bar "raise") space (slash "type") space (slash "datum") ")" space "-/->" space (slash "type") space (slash "datum")) +(@func{raise} @funcarg{type} @funcarg{datum}) -/-> @funcarg{type} @funcarg{datum} + + +@c ("Raises" space "the" space "specified" space "signal.") +Raises the specified signal. + +@c ("Note" space "that" space "calls" space "to" space (bar "raise") space "never" space "return," space "even" space "in" space "the" space "case" space "of" space "invalid" space "argument" space "count." space "However," space "in" space "such" space "case" space "the" space "signal" space "raised" space "may" space "not" space "be" space "what" space "was" space "expected.") +Note that calls to @func{raise} never return, even in the case of invalid argument count. However, in such case the signal raised may not be what was expected. + +@c ((bar "signal") space "is" space "a" space "deprecated" space "alias" space "for" space (bar "raise") ".") +@func{signal} is a deprecated alias for @func{raise}. + +@c ((colon "Conforms to:") space "Wisp" space "extension.") +@noindent +@b{Conforms to:} Wisp extension. + +@c ((colon "See also:") space (bar "catch") ".") +@noindent +@b{See also:} @func{catch}. + @node rassoc,,, @section @t{rassoc} @findex rassoc @@ -4084,27 +4162,6 @@ @noindent @b{See also:} @func{list-ref}, @func{car}, @func{cdr}. -@node signal,,, -@section @t{signal} -@findex signal -@c ("(" (bar "signal") space (slash "type") space (slash "datum") ")" space "-/->" space (slash "type") space (slash "datum")) -(@func{signal} @funcarg{type} @funcarg{datum}) -/-> @funcarg{type} @funcarg{datum} - - -@c ("Raises" space "the" space "specified" space "signal.") -Raises the specified signal. - -@c ("Note" space "that" space "calls" space "to" space (bar "signal") space "never" space "return," space "even" space "in" space "the" space "case" space "of" space "invalid" space "argument" space "count." space "However," space "in" space "such" space "case" space "the" space "signal" space "raised" space "may" space "not" space "be" space "what" space "was" space "expected.") -Note that calls to @func{signal} never return, even in the case of invalid argument count. However, in such case the signal raised may not be what was expected. - -@c ((colon "Conforms to:") space "Wisp" space "extension.") -@noindent -@b{Conforms to:} Wisp extension. - -@c ((colon "See also:") space (bar "catch") ".") -@noindent -@b{See also:} @func{catch}. - @node sixth,,, @section @t{sixth} @findex sixth @@ -4341,12 +4398,12 @@ @node string-length,,, @section @t{string-length} @findex string-length -@c ("(" (bar "string-length") space (slash "string") ")" space accesses space (slash "cardinal")) -(@func{string-length} @funcarg{string}) @accesses{} @funcarg{cardinal} +@c ("(" (bar "string-length") space (slash "string") ")" space produces space (slash "cardinal")) +(@func{string-length} @funcarg{string}) @produces{} @funcarg{cardinal} -@c ("Accesses" space "the" space "length" space "of" space (slash "string") "." space "If" space "length" space "of" space (slash "string") space "is" space "changed," space "adds" space "or" space "deletes" space "some" space "characters" space "from" space "its" space "right" space "end." space "The" space "added" space "characters" space "are" space "unspecified.") -Accesses the length of @funcarg{string}. If length of @funcarg{string} is changed, adds or deletes some characters from its right end. The added characters are unspecified. +@c ("Returns" space "the" space "length" space "of" space (slash "string") ".") +Returns the length of @funcarg{string}. @node string-null?,,, @section @t{string-null?} @@ -5099,4 +5156,4 @@ @contents @bye -@c vim: ft=texinfo-ewisp +@c vim: ft=texi-ewisp Index: wisp.texi.ewisp =================================================================== RCS file: /cvsroot/wisp/wisp/doc/wisp.texi.ewisp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- wisp.texi.ewisp 8 Aug 2002 17:07:45 -0000 1.1 +++ wisp.texi.ewisp 4 Sep 2002 14:27:48 -0000 1.2 @@ -273,4 +273,4 @@ @contents @bye -@c vim: ft=texinfo-ewisp +@c vim: ft=texi-ewisp --- texinfo-ewisp.vim DELETED --- |
From: <di...@us...> - 2002-09-04 14:27:27
|
Update of /cvsroot/wisp/wisp/modules/format In directory usw-pr-cvs1:/tmp/cvs-serv28473/modules/format Modified Files: as.wim Log Message: Converted sys.nasm to sys.wth and death.c to death.wth . Index: as.wim =================================================================== RCS file: /cvsroot/wisp/wisp/modules/format/as.wim,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- as.wim 26 Aug 2002 16:18:19 -0000 1.7 +++ as.wim 4 Sep 2002 14:26:24 -0000 1.8 @@ -15,6 +15,37 @@ (define basectr (make-counter)) +; Note: we don't take double-width into account here. +; If /seplen/ is an integer, a list of lists is returned; if it is +; a string, a list of strings is returned. +(define (wrap-text items (width 72) (seplen 1)) + (my sep #f + (case seplen + (string? (set! sep seplen) + (set! seplen (string-length sep))) + (char? (set! sep seplen) + (set! seplen 1))) + (collect + (lambda (emit) + (my emit (if sep + (serial (cut string-join <> sep) emit) + emit) + (if (not (null? items)) + (let ((rcurrent-line (list (car items))) + (column (string-length (car items)))) + (for-each (lambda (item) + (my new-column (+ column seplen (string-length item)) + (if (<= new-column width) + (begin + (cons! rcurrent-line item) + (set! column new-column)) + (begin + (emit (reverse rcurrent-line)) + (set! rcurrent-line (list item)) + (set! column (string-length item)))))) + (cdr items)) + (emit (reverse rcurrent-line))))))))) + ; FIXME: this assumes 32-bit architecture currently (define (write-as-code codeblock output-port) (my (code labels) codeblock @@ -30,13 +61,14 @@ (lambda (item) (cond ((string? item) - (print output-port ".byte ") - (print output-port (string-join - (map (serial char->integer + (for-each (lambda (line) + (print output-port + ".byte $,[line]\n")) + (wrap-text (map (serial char->integer integer->string) (string->list item)) - #\,)) - (newline output-port)) + (- 72 (string-length ".byte ")) + #\,))) ((cons? item) (case (car item) ((reltetra) @@ -58,7 +90,8 @@ (for-each (lambda (labelrec) (my (name . delta) labelrec - (if (not (eq? name base-name)) + (if (not (or (eq? name base-name) + (char=? (symbol-ref name 0) #\.))) (print output-port ".equiv $[name], $,[base-name] + $,[delta]\n")))) labels)))) |
From: <di...@us...> - 2002-09-04 14:27:27
|
Update of /cvsroot/wisp/wisp/modules In directory usw-pr-cvs1:/tmp/cvs-serv28473/modules Modified Files: linux.wrti universal.wrti wisptyp.wrti Log Message: Converted sys.nasm to sys.wth and death.c to death.wth . Index: linux.wrti =================================================================== RCS file: /cvsroot/wisp/wisp/modules/linux.wrti,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- linux.wrti 8 Aug 2002 17:16:29 -0000 1.9 +++ linux.wrti 4 Sep 2002 14:26:24 -0000 1.10 @@ -10,19 +10,18 @@ (ifndef _linux.wrti_ (define _linux.wrti_) - (macro sys.exit - (->reg 0 %ebx) - ,(mov %eax 1) - ,(int #x80) - ,(\skip)) + (macro \sys ,(mov %eax ,0) drop ,(int #x80)) + (macro \skt (stack=! 1) ,(mov %ebx ,0) drop + (flush) ,(mov %ecx %esp) 102 \sys) + + (macro sys.exit (->reg 0 %ebx) 1 \sys ,(\skip)) (macro sys.write (->reg 0 %edx) (->reg 1 %ecx) (->reg 2 %ebx) (register %eax) - ,(mov %eax 4) - ,(int #x80) + 4 \sys nip nip nip) (macro sys.write-char @@ -32,17 +31,103 @@ ,(mov %edx 1) ,(push %ecx) ,(mov %ecx %esp) - ,(mov %eax 4) - ,(int #x80) + 4 \sys ,(add %esp 4) (believe %eax)) - (macro sys.time - (register %ebx) - (register %eax) - ,(mov %eax 13) - ,(mov %ebx 0) - ,(int #x80) - nip)) + (macro sys.fork (conform) 2 \sys (believe %eax)) + (macro sys.close (conform %ebx) 6 \sys (believe %eax)) + (macro sys.creat (conform %ebx %ecx) 8 \sys (believe %eax)) + (macro sys.chdir (conform %ebx) 12 \sys (believe %eax)) + ; |sys.time| takes no argument and returns the time + (macro sys.time (conform) ,(mov %ebx 0) 13 \sys (believe %eax)) + (macro sys.chmod (conform %ebx %ecx) 15 \sys (believe %eax)) + (macro sys.getpid (conform) 20 \sys (believe %eax)) + (macro sys.setuid (conform %ebx) 23 \sys (believe %eax)) + (macro sys.getuid (conform) 24 \sys (believe %eax)) + (macro sys.stime (conform %ebx) 25 \sys (believe %eax)) + (macro sys.alarm (conform %ebx) 27 \sys (believe %eax)) + (macro sys.pause (conform) 29 \sys (believe %eax)) + (macro sys.access (conform %ebx %ecx) 33 \sys (believe %eax)) + (macro sys.nice (conform %ebx) 34 \sys (believe %eax)) + ; since sync(2) never fails, |sys.sync| returns nothing + (macro sys.sync (conform) 36 \sys (believe)) + (macro sys.kill (conform %ebx %ecx) 37 \sys (believe %eax)) + (macro sys.rename (conform %ebx %ecx) 38 \sys (believe %eax)) + (macro sys.mkdir (conform %ebx %ecx) 39 \sys (believe %eax)) + (macro sys.rmdir (conform %ebx) 40 \sys (believe %eax)) + (macro sys.dup (conform %ebx) 41 \sys (believe %eax)) + (macro sys.brk (conform %ebx) 45 \sys (believe %eax)) + (macro sys.setgid (conform %ebx) 46 \sys (believe %eax)) + (macro sys.getgid (conform) 47 \sys (believe %eax)) + (macro sys.geteuid (conform) 49 \sys (believe %eax)) + (macro sys.getegid (conform) 50 \sys (believe %eax)) + (macro sys.setpgid (conform %ebx %ecx) 57 \sys (believe %eax)) + (macro sys.umask (conform %ebx) 60 \sys (believe %eax)) + (macro sys.chroot (conform %ebx) 61 \sys (believe %eax)) + (macro sys.dup2 (conform %ebx %ecx) 63 \sys (believe %eax)) + (macro sys.getppid (conform) 64 \sys (believe %eax)) + (macro sys.getpgrp (conform) 65 \sys (believe %eax)) + (macro sys.setsid (conform) 66 \sys (believe %eax)) + (macro sys.setreuid (conform %ebx %ecx) 70 \sys (believe %eax)) + (macro sys.setregid (conform %ebx %ecx) 71 \sys (believe %eax)) + (macro sys.symlink (conform %ebx %ecx) 83 \sys (believe %eax)) + (macro sys.swapon (conform %ebx %ecx) 87 \sys (believe %eax)) + (macro sys.truncate (conform %ebx %ecx) 92 \sys (believe %eax)) + (macro sys.ftruncate (conform %ebx %ecx) 93 \sys (believe %eax)) + (macro sys.fchmod (conform %ebx %ecx) 94 \sys (believe %eax)) + (macro sys.stat (conform %ebx %ecx) 106 \sys (believe %eax)) + (macro sys.lstat (conform %ebx %ecx) 107 \sys (believe %eax)) + (macro sys.fstat (conform %ebx %ecx) 108 \sys (believe %eax)) + (macro sys.vhangup (conform) 111 \sys (believe %eax)) + (macro sys.swapoff (conform %ebx) 115 \sys (believe %eax)) + (macro sys.fsync (conform %ebx) 118 \sys (believe %eax)) + (macro sys.getpgid (conform %ebx) 132 \sys (believe %eax)) + (macro sys.fchdir (conform %ebx) 133 \sys (believe %eax)) + (macro sys.flock (conform %ebx %ecx) 143 \sys (believe %eax)) + (macro sys.getsid (conform %ebx) 147 \sys (believe %eax)) + (macro sys.fdatasync (conform %ebx) 148 \sys (believe %eax)) + (macro sys.mlock (conform %ebx %ecx) 150 \sys (believe %eax)) + (macro sys.munlock (conform %ebx %ecx) 151 \sys (believe %eax)) + (macro sys.mlockall (conform %ebx) 152 \sys (believe %eax)) + (macro sys.munlockall (conform) 153 \sys (believe %eax)) -; vim:ft=worth + (macro sys.socket swap rot 1 \skt (believe %eax) nip nip nip) + (macro sys.bind swap rot 2 \skt (believe %eax) nip nip nip) + (macro sys.connect swap rot 3 \skt (believe %eax) nip nip nip) + (macro sys.listen swap 4 \skt (believe %eax) nip nip) + (macro sys.accept swap rot 5 \skt (believe %eax) nip nip nip) + (macro sys.getsockname swap rot 6 \skt (believe %eax) nip nip nip) + (macro sys.getpeername swap rot 7 \skt (believe %eax) nip nip nip) + (macro sys.shutdown swap 13 \skt (believe %eax) nip nip) + + ; <linux/socket.h> + (macro AF_UNSPEC 0) (macro PF_UNSPEC 0) + (macro AF_UNIX 1) (macro PF_UNIX 1) + (macro AF_INET 2) (macro PF_INET 2) + (macro AF_AX25 3) (macro PF_AX25 3) + (macro AF_IPX 4) (macro PF_IPX 4) + (macro AF_APPLETALK 5) (macro PF_APPLETALK 5) + (macro AF_NETROM 6) (macro PF_NETROM 6) + (macro AF_BRIDGE 7) (macro PF_BRIDGE 7) + (macro AF_ATMPVC 8) (macro PF_ATMPVC 8) + (macro AF_X25 9) (macro PF_X25 9) + (macro AF_INET6 10) (macro PF_INET6 10) + (macro AF_ROSE 11) (macro PF_ROSE 11) + (macro AF_DECnet 12) (macro PF_DECnet 12) + (macro AF_NETBEUI 13) (macro PF_NETBEUI 13) + (macro AF_SECURITY 14) (macro PF_SECURITY 14) + (macro AF_KEY 15) (macro PF_KEY 15) + (macro AF_NETLINK 16) (macro PF_NETLINK 16) + (macro AF_PACKET 17) (macro PF_PACKET 17) + (macro AF_ASH 18) (macro PF_ASH 18) + (macro AF_ECONET 19) (macro PF_ECONET 19) + (macro AF_ATMSVC 20) (macro PF_ATMSVC 20) + (macro AF_SNA 22) (macro PF_SNA 22) + (macro AF_IRDA 23) (macro PF_IRDA 23) + (macro AF_PPPOX 24) (macro PF_PPPOX 24) + (macro AF_WANPIPE 25) (macro PF_WANPIPE 25) + (macro AF_LLC 26) (macro PF_LLC 26) + (macro AF_BLUETOOTH 31) (macro PF_BLUETOOTH 31)) + +; vim: ft=worth Index: universal.wrti =================================================================== RCS file: /cvsroot/wisp/wisp/modules/universal.wrti,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- universal.wrti 31 Aug 2002 14:29:22 -0000 1.11 +++ universal.wrti 4 Sep 2002 14:26:24 -0000 1.12 @@ -156,22 +156,22 @@ (macro \0<?j (->reg 1) ,(test ,1 ,1) - ,(jmp %?l)) + ,(jmp %?l ,0)) (macro \0<=?j (->reg 1) ,(test ,1 ,1) - ,(jmp %?le)) + ,(jmp %?le ,0)) (macro \0>?j (->reg 1) ,(test ,1 ,1) - ,(jmp %?g)) + ,(jmp %?g ,0)) (macro \0>=?j (->reg 1) ,(test ,1 ,1) - ,(jmp %?ge)) + ,(jmp %?ge ,0)) ;; Conditional value hooks. Stack: ( arg ... -- value ). Index: wisptyp.wrti =================================================================== RCS file: /cvsroot/wisp/wisp/modules/wisptyp.wrti,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- wisptyp.wrti 31 Aug 2002 14:29:11 -0000 1.7 +++ wisptyp.wrti 4 Sep 2002 14:26:24 -0000 1.8 @@ -47,6 +47,8 @@ (macro VOID 27) (macro UNDEF 35) ; not a real value--used only in boxes + (macro ZERO 7) + (macro null? NULL =) |
From: <di...@us...> - 2002-09-04 14:27:26
|
Update of /cvsroot/wisp/wisp/doc In directory usw-pr-cvs1:/tmp/cvs-serv28473/doc Modified Files: worth.vim Log Message: Converted sys.nasm to sys.wth and death.c to death.wth . Index: worth.vim =================================================================== RCS file: /cvsroot/wisp/wisp/doc/worth.vim,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- worth.vim 31 Aug 2002 14:29:21 -0000 1.5 +++ worth.vim 4 Sep 2002 14:26:24 -0000 1.6 @@ -19,8 +19,9 @@ syn keyword worthPreproc include macro native syn keyword wispSyntax ->reg ->ureg :> <: again begin believe binary -syn keyword wispSyntax copy delete else flush if if-empty if-int-const -syn keyword wispSyntax register stack<=! stack=! stack>=! then until +syn keyword wispSyntax conform copy delete else flush if if-empty +syn keyword wispSyntax if-int-const register stack<=! stack=! stack>=! +syn keyword wispSyntax then until syn keyword wispFunc + - -2rot ->wisp-bool -rot / /mod 0= 1+ 1- 2* syn keyword wispFunc 2drop 2dup 2rot < <= <> = > >= ?dup abs and argc @@ -29,10 +30,25 @@ syn keyword wispFunc emit-digit encode-digit fill go-access-slot syn keyword wispFunc hexprint lshift m+ max min mod move negate nip not syn keyword wispFunc octas or over rol ror rot rshift s>d sp! sp@ space -syn keyword wispFunc square swap sys.exit sys.write sys.write-char -syn keyword wispFunc tetra! tetra@ tetras tuck type u< u<= u> u>= -syn keyword wispFunc wisp-bool-> wisp-epilogue wisp-prologue within -syn keyword wispFunc wyde! wyde@ wydes xor +syn keyword wispFunc square swap sys.accept sys.access sys.alarm +syn keyword wispFunc sys.bind sys.brk sys.chdir sys.chmod sys.chroot +syn keyword wispFunc sys.close sys.connect sys.creat sys.dup sys.dup2 +syn keyword wispFunc sys.exit sys.fchdir sys.fchmod sys.fdatasync +syn keyword wispFunc sys.flock sys.fork sys.fstat sys.fsync +syn keyword wispFunc sys.ftruncate sys.getegid sys.geteuid sys.getgid +syn keyword wispFunc sys.getpeername sys.getpgid sys.getpgrp sys.getpid +syn keyword wispFunc sys.getppid sys.getsid sys.getsockname sys.getuid +syn keyword wispFunc sys.kill sys.listen sys.lstat sys.mkdir sys.mlock +syn keyword wispFunc sys.mlockall sys.munlock sys.munlockall sys.nice +syn keyword wispFunc sys.pause sys.rename sys.rmdir sys.setgid +syn keyword wispFunc sys.setpgid sys.setregid sys.setreuid sys.setsid +syn keyword wispFunc sys.setuid sys.shutdown sys.socket sys.stat +syn keyword wispFunc sys.stime sys.swapoff sys.swapon sys.symlink +syn keyword wispFunc sys.sync sys.time sys.truncate sys.umask +syn keyword wispFunc sys.vhangup sys.write sys.write-char tetra! tetra@ +syn keyword wispFunc tetras tuck type u< u<= u> u>= wisp-bool-> +syn keyword wispFunc wisp-epilogue wisp-prologue within wyde! wyde@ +syn keyword wispFunc wydes xor syn keyword worthRegister %ah %al %ax %bh %bl %bp %bx %ch %cl %cs %cx syn keyword worthRegister %dh %di %dl %ds %dx %eax %ebp %ebx %ecx %edi |
Update of /cvsroot/wisp/wisp/src/native In directory usw-pr-cvs1:/tmp/cvs-serv28473/src/native Modified Files: .cvsignore Makefile.am boxes.s cons.s sys_raw.nasm Added Files: death.s death.wth sys.s sys.wth Removed Files: sys.nasm Log Message: Converted sys.nasm to sys.wth and death.c to death.wth . --- NEW FILE: death.s --- .section .text .align 16 die: .byte 88,232 .long strlen - (.+4) .byte 186,13,0,0,0,185 .long _G0_ .byte 187,1,0,0,0,137,199,184,4,0,0,0,205,128,88,137,250,137,193,187,1,0 .byte 0,0,184,4,0,0,0,205,128,186,1,0,0,0,185 .long _G1_ .byte 187,1,0,0,0,184,4,0,0,0,205,128,187,1,0,0,0,184,1,0,0,0,205,128 .global die .section .text .align 16 _G1_: .byte 10 .global _G1_ .section .text .align 16 _G0_: .byte 119,105,115,112,32,101,110,103,105,110,101,58,32 .global _G0_ --- NEW FILE: death.wth --- ;;;; death.wth - fatal error reporting ;; ;; Copyleft © 2002 by Andres Soolo (di...@us...) ;; This file is licensed under the GNU GPL v2. If you ;; don't know what that means, please do read the GPL. ;; ;;;; @(#) $Id: death.wth,v 1.1 2002/09/04 14:26:57 digg Exp $ (include linux) (extern strlen) (defun die ; one argument: a null-terminated string drop ; we aren't going to return (flush) strlen (believe %eax) 1 "wisp engine: " sys.write drop 1 -rot sys.write drop 1 "\n" sys.write drop 1 sys.exit) ; vim: ft=worth --- NEW FILE: sys.s --- .section .text .align 16 N_sys_ns_kill: .byte 144,81,131,249,2,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,88,91,80,104 .long N_sys_ns_kill.L1 .byte 83,233 .long decsi$1 - (.+4) .byte 91,80,104 .long N_sys_ns_kill.L2 .byte 83,233 .long decui$1 - (.+4) .byte 137,193,88,137,195,184,37,0,0,0,205,128,80,233 .long encsi$1 - (.+4) .global N_sys_ns_kill,NN_sys_ns_kill,N_sys_ns_kill.L1,N_sys_ns_kill.L2 .equiv NN_sys_ns_kill, N_sys_ns_kill + 1 .equiv N_sys_ns_kill.L1, N_sys_ns_kill + 34 .equiv N_sys_ns_kill.L2, N_sys_ns_kill + 47 .section .text .align 16 N_sys_ns_listen: .byte 144,81,131,249,2,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,88,91,80,104 .long N_sys_ns_listen.L1 .byte 83,233 .long decui$1 - (.+4) .byte 91,80,104 .long N_sys_ns_listen.L2 .byte 83,233 .long decui$1 - (.+4) .byte 91,80,83,187,4,0,0,0,137,225,184,102,0,0,0,205,128,91,91,80,233 .long encsi$1 - (.+4) .global N_sys_ns_listen,NN_sys_ns_listen,N_sys_ns_listen.L1,N_sys_ns_listen.L2 .equiv NN_sys_ns_listen, N_sys_ns_listen + 1 .equiv N_sys_ns_listen.L1, N_sys_ns_listen + 34 .equiv N_sys_ns_listen.L2, N_sys_ns_listen + 47 .section .text .align 16 N_sys_ns_dup2: .byte 144,81,131,249,2,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,88,91,80,104 .long N_sys_ns_dup2.L1 .byte 83,233 .long decui$1 - (.+4) .byte 91,80,104 .long N_sys_ns_dup2.L2 .byte 83,233 .long decui$1 - (.+4) .byte 137,193,88,137,195,184,63,0,0,0,205,128,80,233 .long encsi$1 - (.+4) .global N_sys_ns_dup2,NN_sys_ns_dup2,N_sys_ns_dup2.L1,N_sys_ns_dup2.L2 .equiv NN_sys_ns_dup2, N_sys_ns_dup2 + 1 .equiv N_sys_ns_dup2.L1, N_sys_ns_dup2 + 34 .equiv N_sys_ns_dup2.L2, N_sys_ns_dup2 + 47 .section .text .align 16 N_sys_ns_setpgid: .byte 144,81,131,249,2,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,88,91,80,104 .long N_sys_ns_setpgid.L1 .byte 83,233 .long decsi$1 - (.+4) .byte 91,80,104 .long N_sys_ns_setpgid.L2 .byte 83,233 .long decsi$1 - (.+4) .byte 137,193,88,137,195,184,57,0,0,0,205,128,80,233 .long encsi$1 - (.+4) .global N_sys_ns_setpgid,NN_sys_ns_setpgid,N_sys_ns_setpgid.L1,N_sys_ns_setpgid.L2 .equiv NN_sys_ns_setpgid, N_sys_ns_setpgid + 1 .equiv N_sys_ns_setpgid.L1, N_sys_ns_setpgid + 34 .equiv N_sys_ns_setpgid.L2, N_sys_ns_setpgid + 47 .section .text .align 16 N_sys_ns_getpgid: .byte 144,81,131,249,1,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,88,104 .long N_sys_ns_getpgid.L1 .byte 80,233 .long decsi$1 - (.+4) .byte 137,195,184,132,0,0,0,205,128,80,233 .long encsi$1 - (.+4) .global N_sys_ns_getpgid,NN_sys_ns_getpgid,N_sys_ns_getpgid.L1 .equiv NN_sys_ns_getpgid, N_sys_ns_getpgid + 1 .equiv N_sys_ns_getpgid.L1, N_sys_ns_getpgid + 32 .section .text .align 16 N_sys_ns_dup: .byte 144,81,131,249,1,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,88,104 .long N_sys_ns_dup.L1 .byte 80,233 .long decui$1 - (.+4) .byte 137,195,184,41,0,0,0,205,128,80,233 .long encsi$1 - (.+4) .global N_sys_ns_dup,NN_sys_ns_dup,N_sys_ns_dup.L1 .equiv NN_sys_ns_dup, N_sys_ns_dup + 1 .equiv N_sys_ns_dup.L1, N_sys_ns_dup + 32 .section .text .align 16 N_sys_ns_close: .byte 144,81,131,249,1,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,88,104 .long N_sys_ns_close.L1 .byte 80,233 .long decui$1 - (.+4) .byte 137,195,184,6,0,0,0,205,128,80,233 .long encsi$1 - (.+4) .global N_sys_ns_close,NN_sys_ns_close,N_sys_ns_close.L1 .equiv NN_sys_ns_close, N_sys_ns_close + 1 .equiv N_sys_ns_close.L1, N_sys_ns_close + 32 .section .text .align 16 N_sys_ns_fork: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,184,2,0,0,0,205,128,80,233 .long encsi$1 - (.+4) .global N_sys_ns_fork,NN_sys_ns_fork .equiv NN_sys_ns_fork, N_sys_ns_fork + 1 .section .text .align 16 N_sys_ns_setsid: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,184,66,0,0,0,205,128,80,233 .long encsi$1 - (.+4) .global N_sys_ns_setsid,NN_sys_ns_setsid .equiv NN_sys_ns_setsid, N_sys_ns_setsid + 1 .section .text .align 16 N_sys_exit: .byte 144,81,133,201,15,133,5,0,0,0,88,64,106,7,80,88,80,61,1,0,0,0,15 .byte 132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,88,80,104 .long N_sys_exit.L2 .byte 80,233 .long decui$1 - (.+4) .byte 80,61,0,1,0,0,15,140,13,0,0,0,88,88,104 .long WB_range .byte 80,233 .long raise$2 - (.+4) .byte 88,137,195,184,1,0,0,0,205,128 .global N_sys_exit,NN_sys_exit,N_sys_exit.L2 .equiv NN_sys_exit, N_sys_exit + 1 .equiv N_sys_exit.L2, N_sys_exit + 50 .section .text .align 16 N_sys_getegid: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,184,50,0,0,0,205,128,80,233 .long encui$1 - (.+4) .global N_sys_getegid,NN_sys_getegid .equiv NN_sys_getegid, N_sys_getegid + 1 .section .text .align 16 N_sys_getgid: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,184,47,0,0,0,205,128,80,233 .long encui$1 - (.+4) .global N_sys_getgid,NN_sys_getgid .equiv NN_sys_getgid, N_sys_getgid + 1 .section .text .align 16 N_sys_geteuid: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,184,49,0,0,0,205,128,80,233 .long encui$1 - (.+4) .global N_sys_geteuid,NN_sys_geteuid .equiv NN_sys_geteuid, N_sys_geteuid + 1 .section .text .align 16 N_sys_getuid: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,184,24,0,0,0,205,128,80,233 .long encui$1 - (.+4) .global N_sys_getuid,NN_sys_getuid .equiv NN_sys_getuid, N_sys_getuid + 1 .section .text .align 16 N_sys_getppid: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,184,64,0,0,0,205,128,80,233 .long encui$1 - (.+4) .global N_sys_getppid,NN_sys_getppid .equiv NN_sys_getppid, N_sys_getppid + 1 .section .text .align 16 N_sys_getpid: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,184,20,0,0,0,205,128,80,233 .long encui$1 - (.+4) .global N_sys_getpid,NN_sys_getpid .equiv NN_sys_getpid, N_sys_getpid + 1 .section .text .align 16 N_unix_time: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,187,0,0,0,0,184,13,0,0,0,205,128,80,233 .long encsi$1 - (.+4) .global N_unix_time,NN_unix_time .equiv NN_unix_time, N_unix_time + 1 --- NEW FILE: sys.wth --- ;;;; sys.wth - the syscall wrappers ;; ;; Copyleft © 2002 by Andres Soolo (di...@us...) ;; This file is licensed under the GNU GPL v2. If you ;; don't know what that means, please do read the GPL. ;; ;;;; @(#) $Id: sys.wth,v 1.1 2002/09/04 14:26:57 digg Exp $ (include linux) (include wisptyp) (extern WB_range) (extern decsi$1) (extern decui$1) (extern encsi$1) (extern encui$1) (macro decsi <: swap (flush) 'decsi$1 jump :>) (macro decui <: swap (flush) 'decui$1 jump :>) (native unix_time dup 0 = argc drop sys.time (flush) 'encsi$1 jump) (native sys_getpid dup 0 = argc drop sys.getpid (flush) 'encui$1 jump) (native sys_getppid dup 0 = argc drop sys.getppid (flush) 'encui$1 jump) (native sys_getuid dup 0 = argc drop sys.getuid (flush) 'encui$1 jump) (native sys_geteuid dup 0 = argc drop sys.geteuid (flush) 'encui$1 jump) (native sys_getgid dup 0 = argc drop sys.getgid (flush) 'encui$1 jump) (native sys_getegid dup 0 = argc drop sys.getegid (flush) 'encui$1 jump) (native sys_exit dup 0 = if ZERO swap 1+ then dup 1 = argc drop dup decui dup 256 >= if drop 'WB_range swap go-raise then sys.exit) ;; The sys:ns:foo functions differ from sys:foo only in ;; that they do not themselves raise signals on error. ;; They return negative values instead. (native sys_ns_setsid dup 0 = argc drop sys.setsid (flush) 'encsi$1 jump) (native sys_ns_fork dup 0 = argc drop sys.fork (flush) 'encsi$1 jump) (native sys_ns_close dup 1 = argc drop decui sys.close (flush) 'encsi$1 jump) (native sys_ns_dup dup 1 = argc drop decui sys.dup (flush) 'encsi$1 jump) (native sys_ns_getpgid dup 1 = argc drop decsi sys.getpgid (flush) 'encsi$1 jump) (native sys_ns_setpgid dup 2 = argc drop swap decsi swap decsi sys.setpgid (flush) 'encsi$1 jump) (native sys_ns_dup2 dup 2 = argc drop swap decui swap decui sys.dup2 (flush) 'encsi$1 jump) (native sys_ns_listen dup 2 = argc drop swap decui swap decui sys.listen (flush) 'encsi$1 jump) (native sys_ns_kill dup 2 = argc drop swap decsi swap decui sys.kill (flush) 'encsi$1 jump) ; vim: ft=worth Index: .cvsignore =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/.cvsignore,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- .cvsignore 22 Jul 2002 14:37:08 -0000 1.5 +++ .cvsignore 4 Sep 2002 14:26:56 -0000 1.6 @@ -1,5 +1,6 @@ *.o *.prn +*.was .*.swp .deps Makefile Index: Makefile.am =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/Makefile.am,v retrieving revision 1.150 retrieving revision 1.151 diff -u -d -r1.150 -r1.151 --- Makefile.am 26 Aug 2002 15:59:43 -0000 1.150 +++ Makefile.am 4 Sep 2002 14:26:57 -0000 1.151 @@ -14,17 +14,17 @@ base.inc linux_syscall.inc sysconst.inc \ apply.nasm bitstr_ref.nasm chars.nasm cxr.nasm integers.nasm \ list.nasm memset.nasm records.nasm ref.nasm resignal.nasm \ - signal.nasm strings.nasm sys.nasm sys_raw.nasm types.nasm \ - valloc.nasm vectors.nasm wrap.nasm \ - boxes.wth cons.wth \ - boxes.s cons.s + signal.nasm strings.nasm sys_raw.nasm types.nasm valloc.nasm \ + vectors.nasm wrap.nasm \ + boxes.wth cons.wth death.wth sys.wth \ + boxes.s cons.s death.s sys.s EXTRA_DIST = .cvsignore noinst_LIBRARIES = libnative.a libnative_a_LIBADD = native_call.o branches.o \ - apply.o bitstr_ref.o chars.o cons.o cxr.o integers.o list.o \ + apply.o bitstr_ref.o chars.o cxr.o integers.o list.o \ memset.o records.o ref.o resignal.o signal.o strings.o sys.o \ sys_raw.o types.o valloc.o vectors.o wrap.o Index: boxes.s =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/boxes.s,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- boxes.s 4 Sep 2002 14:25:41 -0000 1.5 +++ boxes.s 4 Sep 2002 14:26:57 -0000 1.6 @@ -12,10 +12,7 @@ .byte 61,35,0,0,0,15,133,7,0,0,0,106,11,233,2,0,0,0,106,19,88,195 .global N_box_empty_huh,NN_box_empty_huh,N_box_empty_huh.L1 .equiv NN_box_empty_huh, N_box_empty_huh + 1 -.equiv .L0, N_box_empty_huh + 19 .equiv N_box_empty_huh.L1, N_box_empty_huh + 47 -.equiv .L2, N_box_empty_huh + 65 -.equiv .L3, N_box_empty_huh + 67 .section .text .align 16 N_box_empty: @@ -25,7 +22,6 @@ .long N_box_ref - (.+4) .global N_box_empty,NN_box_empty .equiv NN_box_empty, N_box_empty + 1 -.equiv .L0, N_box_empty + 19 .section .text .align 16 N_box_ref: @@ -37,7 +33,6 @@ .long slot_accessor_body - (.+4) .global N_box_ref,NN_box_ref .equiv NN_box_ref, N_box_ref + 1 -.equiv .L0, N_box_ref + 21 .section .text .align 16 box_ref.final: @@ -47,7 +42,6 @@ .long raise$2 - (.+4) .byte 88,91,195 .global box_ref.final -.equiv .L0, box_ref.final + 25 .section .text .align 16 N_make_box: @@ -57,4 +51,3 @@ .long record_constructor_body - (.+4) .global N_make_box,NN_make_box .equiv NN_make_box, N_make_box + 1 -.equiv .L0, N_make_box + 15 Index: cons.s =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/cons.s,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- cons.s 4 Sep 2002 14:25:41 -0000 1.3 +++ cons.s 4 Sep 2002 14:26:57 -0000 1.4 @@ -3,12 +3,10 @@ N_cons_huh: .byte 144,81,131,249,1,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) -.byte 88,88,53,2,0,0,0,37,7,0,0,0,133,192,15,133,7,0,0,0,106,11,233,2,0,0,0,106,19,88,195 +.byte 88,88,53,2,0,0,0,37,7,0,0,0,133,192,15,133,7,0,0,0,106,11,233,2,0 +.byte 0,0,106,19,88,195 .global N_cons_huh,NN_cons_huh .equiv NN_cons_huh, N_cons_huh + 1 -.equiv .L0, N_cons_huh + 19 -.equiv .L1, N_cons_huh + 46 -.equiv .L2, N_cons_huh + 48 .section .text .align 16 N_cons: @@ -19,5 +17,4 @@ .byte 91,91,137,193,131,193,4,137,25,91,137,24,13,2,0,0,0,195 .global N_cons,NN_cons,cons$2 .equiv NN_cons, N_cons + 1 -.equiv .L0, N_cons + 19 .equiv cons$2, N_cons + 20 Index: sys_raw.nasm =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/sys_raw.nasm,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- sys_raw.nasm 8 Aug 2002 16:46:39 -0000 1.42 +++ sys_raw.nasm 4 Sep 2002 14:26:57 -0000 1.43 @@ -18,18 +18,10 @@ native_syscall chdir, 1 native_syscall chmod, 2 native_syscall close, 1 -native_syscall dup, 1 -native_syscall dup2, 2 native_syscall execve, 3 -native_syscall exit, 1 native_syscall fcntl, 3 native_syscall ftruncate, 2 native_syscall getcwd, 2 -native_syscall getegid, 0 -native_syscall geteuid, 0 -native_syscall getgid, 0 -native_syscall getpgid, 1 -native_syscall getuid, 0 native_syscall ioctl, 3 native_syscall kill, 2 native_syscall link, 2 @@ -39,7 +31,6 @@ native_syscall pipe, 1, untag ebx ; so that a cons can be used native_syscall read, 3 native_syscall rename, 2 -native_syscall setpgid, 2 native_syscall symlink, 2 native_syscall truncate, 2 native_syscall unlink, 1 @@ -48,4 +39,3 @@ native_syscall nanosleep, 2, {untag ebx, ecx} native_socketcall accept, 3 -native_socketcall listen, 2 --- sys.nasm DELETED --- |
From: <di...@us...> - 2002-09-04 14:27:00
|
Update of /cvsroot/wisp/wisp/tools In directory usw-pr-cvs1:/tmp/cvs-serv28473/tools Modified Files: worth Log Message: Converted sys.nasm to sys.wth and death.c to death.wth . Index: worth =================================================================== RCS file: /cvsroot/wisp/wisp/tools/worth,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- worth 4 Sep 2002 14:25:41 -0000 1.22 +++ worth 4 Sep 2002 14:26:58 -0000 1.23 @@ -625,6 +625,29 @@ (else (raise 'binary-operator? oper))) rest))) (process-word-list code #t)))) + ((conform) (my reqs (cdr word) + (cond + ((null? reqs) (flush)) + ((and (cons? reqs) + (null? (cdr reqs)) + reqs -> (reg) + (assq reg regref#)) + (my (reg) reqs + (->register 0 reg) + (stack=! 1))) + ((and (cons? reqs) + (cons? (cdr reqs)) + (null? (cddr reqs)) + reqs -> (reg1 reg2) + (assq reg1 regref#) + (assq reg2 regref#) + (not (eq? reg1 reg2))) + (my (reg1 reg2) reqs + (stack<=! 2) + (->register 0 reg2) + (->register 1 reg1))) + (else (raise 'unable-to-conform + reqs))))) ((believe) (my claim (cdr word) (set! regstack (if (and (not (null? claim)) @@ -661,12 +684,13 @@ skip-assembly?[] => (cut >= <> 3)) (emit (list '() 'stack (reverse regstack)))))) (for-each (cut process-word <> #f) body) - (flush) (if (eq? name '_start) (begin (process-word 0 #f) (process-word 'sys.exit #f)) - (process-word ',(ret) #f))) + (begin + (flush) + (process-word ',(ret) #f)))) (if (not (null? synstack)) (raise 'unbalanced-syntax name))))) (reverse rcode))) |
From: <di...@us...> - 2002-09-04 14:26:59
|
Update of /cvsroot/wisp/wisp/src In directory usw-pr-cvs1:/tmp/cvs-serv28473/src Modified Files: Makefile.am death.h essence.c wordlist.txt Removed Files: death.c Log Message: Converted sys.nasm to sys.wth and death.c to death.wth . Index: Makefile.am =================================================================== RCS file: /cvsroot/wisp/wisp/src/Makefile.am,v retrieving revision 1.86 retrieving revision 1.87 diff -u -d -r1.86 -r1.87 --- Makefile.am 28 Aug 2002 20:05:15 -0000 1.86 +++ Makefile.am 4 Sep 2002 14:26:24 -0000 1.87 @@ -7,7 +7,7 @@ #### @(#) $Id$ bin_PROGRAMS = wisp -wisp_SOURCES = wisp.c.nepl wisp.c death.c death.h wordreg.c \ +wisp_SOURCES = wisp.c.nepl wisp.c death.h wordreg.c \ wordreg.h.nepl wordlist.txt dict.c dict.h node.c node.h arithm.c arithm.h \ mem.c mem.h GenWisp.pm evm.h evm.c prim.c \ prim.h essence.c essence.h boot.wisp sys.c sys.h \ Index: death.h =================================================================== RCS file: /cvsroot/wisp/wisp/src/death.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- death.h 22 Jul 2002 14:53:10 -0000 1.10 +++ death.h 4 Sep 2002 14:26:24 -0000 1.11 @@ -1,6 +1,5 @@ /* - * This is death.h, the C header file that declares some useful - * ways to die. + * death.h - some useful ways to die. * * Copyleft © 2002 by Andres Soolo (di...@us...) * This file is licensed under the GNU GPL v2. If you Index: essence.c =================================================================== RCS file: /cvsroot/wisp/wisp/src/essence.c,v retrieving revision 1.172 retrieving revision 1.173 diff -u -d -r1.172 -r1.173 --- essence.c 31 Aug 2002 14:39:20 -0000 1.172 +++ essence.c 4 Sep 2002 14:26:24 -0000 1.173 @@ -398,6 +398,7 @@ NN_sys_ns_getpgid, NN_sys_ns_kill, NN_sys_ns_listen, + NN_sys_ns_setpgid, NN_sys_ns_setsid, NN_sys_raw_accept, NN_sys_raw_chdir, @@ -415,7 +416,6 @@ NN_sys_raw_pipe, NN_sys_raw_read, NN_sys_raw_rename, - NN_sys_raw_setpgid, NN_sys_raw_symlink, NN_sys_raw_truncate, NN_sys_raw_unlink, @@ -495,7 +495,7 @@ void*Y41[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,mha,l,V 2,l,V 2,q,li,rvec+10,tc,V 1,c,ct,l,V 1,xri,Q,jinz,V 36,mha,l,V 2,l,V 2,q,dig,V 1,q,mha,l,V 1,l,V 104,tc,V 1,c,q,mha,l0,q,qi,W(cdr),t,&NN_dict_ref_2,tc,V 2,c,tc,V -2,c,t,Z,ds,V 1,r,mha,l,V 2,l,V 2,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,dig,V 1,q,mha,l0,q,qi,W(car),t,&NN_dict_ref_2,tc,V 2,c,tc,V -2,c,t,Z,ds,V 1,r}; void*Y42[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 0,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 0,mla,l,V 0,xri,Q,jinz,V 4,t,T,j,V 2,t,F,jinf,V 52,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,xri,Q,jinz,V 22,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l,V 2,l,V 3,tc,V 1,c,j,V 14,qi,W(argcount),mla,l,V 0,q,mha,l,V 1,l,V 116,tc,V 2,c,mha,l,V 2,l,V 2,q,li,rvec+10,tc,V 1,c,ct,l,V 1,xri,Q,jiz,V 23,mha,l,V 2,l,V 2,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mat,mha,l,V 2,st,V 2,t,Z,r,t,Z,r}; void*Y43[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 5,mca,subc,V 1,binzc,&branch_EVM_invargca,mlt,p,s,V 0,qi,Q,mha,l,V 1,l,V 104,tc,V 1,c,mlt,s,V 1,mla,l,V 1,mlt,s,V 2,t,B 41,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 3,t,B 42,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 4,mla,l,V 3,q,mla,l,V 4,q,mla,l,V 0,tc,V 2,c,mla,l,V 2,q,qi,Q,mha,l0,q,qi,W(cdr),t,&NN_dict_ref_2,tc,V 2,c,tc,V -2,c,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,r}; -void*Y44[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 2,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 19,dig,V 0,q,mha,l0,q,qi,W(quasiquote_cons),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,ds,V 2,r,dig,V 0,q,mha,l,V 1,l,V 164,tc,V 1,c,jif,V 63,qi,W(list2vector),qi,W(quasiquote),dig,V 2,q,mha,l0,q,qi,W(vector2list),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,ds,V 2,r,qi,W(quote),dig,V 1,q,mha,l,V 1,l,V 104,tc,V 2,c,ds,V 2,r}; +void*Y44[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 2,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 19,dig,V 0,q,mha,l0,q,qi,W(quasiquote_cons),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,ds,V 2,r,dig,V 0,q,mha,l,V 1,l,V 156,tc,V 1,c,jif,V 63,qi,W(list2vector),qi,W(quasiquote),dig,V 2,q,mha,l0,q,qi,W(vector2list),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,ds,V 2,r,qi,W(quote),dig,V 1,q,mha,l,V 1,l,V 104,tc,V 2,c,ds,V 2,r}; void*Y45[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 2,binzc,&branch_EVM_invargca,dig,V 0,xri,Q,jinz,V 5,dig,V 1,ds,V 2,r,qi,W(append),dig,V 2,q,qi,W(quasiquote),dig,V 3,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,ds,V 2,r}; void*Y46[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 3,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 314,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,mlt,s,V 0,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 1,mla,l,V 1,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 24,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,xri,Q,jinz,V 4,t,T,j,V 2,t,F,j,V 2,t,F,jif,V 160,mla,l,V 0,mlt,s,V 2,mla,l,V 2,xri,W(unquote),jinz,V 14,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,ds,V 1,r,mla,l,V 2,xri,W(quasiquote),jinz,V 41,qi,W(quote),mla,l,V 0,q,mla,l,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,ds,V 1,r,qi,W(cons),qi,W(quasiquote),mla,l,V 0,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,W(quasiquote),mla,l,V 1,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,ds,V 1,r,qi,W(cons),qi,W(quasiquote),mla,l,V 0,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,W(quasiquote),mla,l,V 1,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,ds,V 1,r,qi,W(quote),dig,V 1,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,ds,V 1,r}; void*Y47[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 9,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,mlt,s,V 0,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 1,mla,l,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 517,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,mlt,s,V 2,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 3,mla,l,V 3,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 24,mla,l,V 3,q,li,rvec+10,tc,V 1,c,ct,l,V 1,xri,Q,jinz,V 4,t,T,j,V 2,t,F,j,V 2,t,F,jif,V 400,mla,l,V 2,mlt,s,V 4,mla,l,V 4,xri,W(unquote_splicing),jinz,V 32,mla,l,V 3,q,li,rvec+10,tc,V 1,c,ct,l0,q,mla,l,V 1,q,mha,l0,q,qi,W(process_unquote_splicing),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,ds,V 1,r,mla,l,V 4,xri,W(unquote),jinz,V 302,mla,l,V 3,q,li,rvec+10,tc,V 1,c,ct,l0,mlt,s,V 5,mla,l,V 5,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 230,mla,l,V 5,q,li,rvec+10,tc,V 1,c,ct,l0,mlt,s,V 6,mla,l,V 5,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 7,mla,l,V 7,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 24,mla,l,V 7,q,li,rvec+10,tc,V 1,c,ct,l,V 1,xri,Q,jinz,V 4,t,T,j,V 2,t,F,j,V 2,t,F,jif,V 102,mla,l,V 6,mlt,s,V 8,mla,l,V 8,xri,W(splicing),jinz,V 32,mla,l,V 7,q,li,rvec+10,tc,V 1,c,ct,l0,q,mla,l,V 1,q,mha,l0,q,qi,W(process_unquote_splicing),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,ds,V 1,r,qi,W(unquote),mla,l,V 6,q,mla,l,V 7,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 104,tc,V 2,c,q,mla,l,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l0,q,qi,W(process_simple_quasiquote),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,ds,V 1,r,qi,W(unquote),mla,l,V 6,q,mla,l,V 7,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 104,tc,V 2,c,q,mla,l,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l0,q,qi,W(process_simple_quasiquote),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,ds,V 1,r,qi,W(unquote),mla,l,V 5,q,mha,l,V 1,l,V 104,tc,V 2,c,q,mla,l,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l0,q,qi,W(process_simple_quasiquote),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,ds,V 1,r,mla,l,V 2,q,mla,l,V 3,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mla,l,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l0,q,qi,W(process_simple_quasiquote),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,ds,V 1,r,mla,l,V 2,q,mla,l,V 3,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mla,l,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l0,q,qi,W(process_simple_quasiquote),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,ds,V 1,r,mla,l,V 0,q,mla,l,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l0,q,qi,W(process_simple_quasiquote),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,ds,V 1,r}; @@ -528,8 +528,8 @@ void*Y74[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,xri,I(0),jinz,V 5,ds,V 1,t,T,r,ds,V 1,t,F,r}; void*Y75[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,qi,I(0),dig,V 1,q,li,rvec+15,tc,V 2,c,ds,V 1,r}; void*Y76[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,qi,I(0),li,rvec+15,tc,V 2,c,ds,V 1,r}; -void*Y77[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 2,binzc,&branch_EVM_invargca,dig,V 1,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 13,dig,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,j,V 2,t,F,jif,V 82,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l0,q,qi,W(binary_equal_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,jif,V 40,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mha,l0,q,qi,W(binary_equal_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,ds,V 2,r,t,F,ds,V 2,r,dig,V 1,q,mha,l,V 1,l,V 133,tc,V 1,c,jif,V 13,dig,V 0,q,mha,l,V 1,l,V 133,tc,V 1,c,j,V 2,t,F,jif,V 22,dig,V 1,q,dig,V 1,q,mha,l0,q,qi,W(stringEQ_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,ds,V 2,r,dig,V 1,q,mha,l,V 1,l,V 164,tc,V 1,c,jif,V 13,dig,V 0,q,mha,l,V 1,l,V 164,tc,V 1,c,j,V 2,t,F,jif,V 72,dig,V 1,q,mha,l,V 1,l,V 161,tc,V 1,c,q,dig,V 1,q,mha,l,V 1,l,V 161,tc,V 1,c,q,li,rvec+17,tc,V 2,c,jif,V 36,dig,V 1,q,dig,V 1,q,qi,I(0),dig,V 4,q,mha,l,V 1,l,V 161,tc,V 1,c,q,mha,l0,q,qi,W(binary_vector_contents_equal_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 4,c,ds,V 2,r,t,F,ds,V 2,r,dig,V 1,q,dig,V 1,q,li,rvec+17,tc,V 2,c,ds,V 2,r}; -void*Y78[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 4,binzc,&branch_EVM_invargca,dig,V 1,q,dig,V 1,q,li,rvec+15,tc,V 2,c,jinf,V 4,t,T,j,V 2,t,F,jinf,V 82,dig,V 3,q,dig,V 2,q,mha,l,V 1,l,V 163,tc,V 2,c,q,dig,V 3,q,dig,V 3,q,mha,l,V 1,l,V 163,tc,V 2,c,q,mha,l0,q,qi,W(binary_equal_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,jif,V 35,dig,V 3,q,dig,V 3,q,dig,V 3,q,qi,I(1),li,rvec+4,tc,V 2,c,q,dig,V 3,q,mha,l0,q,qi,W(binary_vector_contents_equal_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 4,c,j,V 2,t,F,ds,V 4,r}; +void*Y77[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 2,binzc,&branch_EVM_invargca,dig,V 1,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 13,dig,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,j,V 2,t,F,jif,V 82,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l0,q,qi,W(binary_equal_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,jif,V 40,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mha,l0,q,qi,W(binary_equal_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,ds,V 2,r,t,F,ds,V 2,r,dig,V 1,q,mha,l,V 1,l,V 133,tc,V 1,c,jif,V 13,dig,V 0,q,mha,l,V 1,l,V 133,tc,V 1,c,j,V 2,t,F,jif,V 22,dig,V 1,q,dig,V 1,q,mha,l0,q,qi,W(stringEQ_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,ds,V 2,r,dig,V 1,q,mha,l,V 1,l,V 156,tc,V 1,c,jif,V 13,dig,V 0,q,mha,l,V 1,l,V 156,tc,V 1,c,j,V 2,t,F,jif,V 72,dig,V 1,q,mha,l,V 1,l,V 153,tc,V 1,c,q,dig,V 1,q,mha,l,V 1,l,V 153,tc,V 1,c,q,li,rvec+17,tc,V 2,c,jif,V 36,dig,V 1,q,dig,V 1,q,qi,I(0),dig,V 4,q,mha,l,V 1,l,V 153,tc,V 1,c,q,mha,l0,q,qi,W(binary_vector_contents_equal_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 4,c,ds,V 2,r,t,F,ds,V 2,r,dig,V 1,q,dig,V 1,q,li,rvec+17,tc,V 2,c,ds,V 2,r}; +void*Y78[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 4,binzc,&branch_EVM_invargca,dig,V 1,q,dig,V 1,q,li,rvec+15,tc,V 2,c,jinf,V 4,t,T,j,V 2,t,F,jinf,V 82,dig,V 3,q,dig,V 2,q,mha,l,V 1,l,V 155,tc,V 2,c,q,dig,V 3,q,dig,V 3,q,mha,l,V 1,l,V 155,tc,V 2,c,q,mha,l0,q,qi,W(binary_equal_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,jif,V 35,dig,V 3,q,dig,V 3,q,dig,V 3,q,qi,I(1),li,rvec+4,tc,V 2,c,q,dig,V 3,q,mha,l0,q,qi,W(binary_vector_contents_equal_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 4,c,j,V 2,t,F,ds,V 4,r}; void*Y79[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 0,binzc,&branch_EVM_invargca,mha,l,V 2,l,V 1,xri,Q,jinz,V 3,t,T,r,mha,l,V 2,l,V 0,q,mha,l,V 2,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l0,q,qi,W(binary_equal_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,jif,V 29,mha,l,V 2,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mat,mha,l,V 2,st,V 1,mha,l,V 2,l,V 2,tc,V 0,c,r,t,F,r}; void*Y80[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 3,mca,subc,V 1,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 1,p,s,V 0,t,Q,mlt,s,V 2,t,B 79,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 2,mla,l,V 2,tc,V 0,c,r}; void*Y81[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,xri,T,jinz,V 4,t,T,j,V 2,t,F,jinf,V 12,dig,V 0,xri,F,jinz,V 4,t,T,j,V 2,t,F,ds,V 1,r}; @@ -547,9 +547,9 @@ void*Y93[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 0,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 0,mla,l,V 0,xri,Q,jinz,V 3,t,I(0),r,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,xri,Q,jinz,V 20,qi,I(0),mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,li,rvec+5,tc,V 2,c,r,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,mlt,s,V 1,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 0,mla,l,V 0,xri,Q,jiz,V 41,mla,l,V 1,q,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,li,rvec+5,tc,V 2,c,mlt,s,V 1,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 0,j,V -48,mla,l,V 1,r}; void*Y94[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 0,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 0,t,I(1),mlt,s,V 1,mla,l,V 0,xri,Q,jiz,V 41,mla,l,V 1,q,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,li,rvec+6,tc,V 2,c,mlt,s,V 1,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 0,j,V -48,mla,l,V 1,r}; void*Y95[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 0,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 0,mla,l,V 0,xri,Q,jinz,V 3,t,I(1),r,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,xri,Q,jinz,V 20,qi,I(1),mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,li,rvec+7,tc,V 2,c,r,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,mlt,s,V 1,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 0,mla,l,V 0,xri,Q,jiz,V 41,mla,l,V 1,q,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,li,rvec+7,tc,V 2,c,mlt,s,V 1,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 0,j,V -48,mla,l,V 1,r}; -void*Y96[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 2,binzc,&branch_EVM_invargca,dig,V 1,q,dig,V 1,q,li,rvec+7,tc,V 2,c,q,mha,l,V 1,l,V 154,tc,V 1,c,ds,V 2,r}; -void*Y97[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,qi,I(0),dig,V 1,q,mha,l,V 1,l,V 157,tc,V 2,c,xri,I(0),jinz,V 5,ds,V 1,t,T,r,ds,V 1,t,F,r}; -void*Y98[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,qi,I(0),dig,V 1,q,mha,l,V 1,l,V 157,tc,V 2,c,xri,I(1),jinz,V 5,ds,V 1,t,T,r,ds,V 1,t,F,r}; +void*Y96[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 2,binzc,&branch_EVM_invargca,dig,V 1,q,dig,V 1,q,li,rvec+7,tc,V 2,c,q,mha,l,V 1,l,V 146,tc,V 1,c,ds,V 2,r}; +void*Y97[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,qi,I(0),dig,V 1,q,mha,l,V 1,l,V 149,tc,V 2,c,xri,I(0),jinz,V 5,ds,V 1,t,T,r,ds,V 1,t,F,r}; +void*Y98[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,qi,I(0),dig,V 1,q,mha,l,V 1,l,V 149,tc,V 2,c,xri,I(1),jinz,V 5,ds,V 1,t,T,r,ds,V 1,t,F,r}; void*Y99[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l,V 1,l,V 117,tc,V 1,c,q,li,rvec+10,tc,V 1,c,ct,l0,ds,V 1,r}; void*Y100[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l,V 1,l,V 117,tc,V 1,c,q,li,rvec+10,tc,V 1,c,ct,l,V 1,ds,V 1,r}; void*Y101[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,qi,I(0),li,rvec+15,tc,V 2,c,jif,V 13,qi,I(0),dig,V 1,q,li,rvec+5,tc,V 2,c,ds,V 1,r,dig,V 0,ds,V 1,r}; @@ -569,20 +569,20 @@ void*Y115[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 2,binzc,&branch_EVM_invargca,dig,V 1,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 65,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l,V 2,l,V 3,tc,V 2,c,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mha,l,V 2,l,V 3,tc,V 2,c,ds,V 2,r,dig,V 1,xri,Q,jinz,V 5,t,Z,ds,V 2,r,mha,l,V 2,l,V 0,q,dig,V 2,q,dig,V 2,q,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V -3,c,t,Z,ds,V 2,r}; void*Y116[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 4,mca,subc,V 3,binzc,&branch_EVM_invargca,mlt,p,s,V 2,p,s,V 1,p,s,V 0,t,Q,mlt,s,V 3,t,B 115,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 3,mla,l,V 1,q,mla,l,V 2,q,mla,l,V 3,tc,V 2,c,r}; void*Y117[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 3,binzc,&branch_EVM_invargca,qi,W(dict_bind_bang),qi,W(quote),dig,V 4,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,W(quote),dig,V 4,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,dig,V 3,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,ds,V 3,r}; -void*Y118[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,mlt,s,V 0,mla,l,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 52,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l,V 2,l,V 1,tc,V 1,c,q,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mha,l,V 2,l,V 1,tc,V 1,c,q,mha,l,V 1,l,V 84,tc,V 2,c,ds,V 1,r,mla,l,V 0,q,mha,l,V 1,l,V 133,tc,V 1,c,jif,V 19,dig,V 0,q,mha,l0,q,qi,W(string_copy),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,ds,V 1,r,mla,l,V 0,q,mha,l,V 1,l,V 164,tc,V 1,c,jif,V 42,dig,V 0,q,mha,l0,q,qi,W(vector2list),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,mha,l,V 2,l,V 1,tc,V 1,c,q,mha,l0,q,qi,W(list2vector),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,ds,V 1,r,mla,l,V 0,q,mha,l,V 1,l,V 92,tc,V 1,c,jif,V 37,dig,V 0,q,mha,l,V 1,l,V 88,tc,V 1,c,q,mha,l,V 2,l,V 1,tc,V 1,c,q,mha,l0,q,qi,W(alist2dict),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,ds,V 1,r,dig,V 0,ds,V 1,r}; +void*Y118[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,mlt,s,V 0,mla,l,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 52,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l,V 2,l,V 1,tc,V 1,c,q,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mha,l,V 2,l,V 1,tc,V 1,c,q,mha,l,V 1,l,V 84,tc,V 2,c,ds,V 1,r,mla,l,V 0,q,mha,l,V 1,l,V 133,tc,V 1,c,jif,V 19,dig,V 0,q,mha,l0,q,qi,W(string_copy),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,ds,V 1,r,mla,l,V 0,q,mha,l,V 1,l,V 156,tc,V 1,c,jif,V 42,dig,V 0,q,mha,l0,q,qi,W(vector2list),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,mha,l,V 2,l,V 1,tc,V 1,c,q,mha,l0,q,qi,W(list2vector),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,ds,V 1,r,mla,l,V 0,q,mha,l,V 1,l,V 92,tc,V 1,c,jif,V 37,dig,V 0,q,mha,l,V 1,l,V 88,tc,V 1,c,q,mha,l,V 2,l,V 1,tc,V 1,c,q,mha,l0,q,qi,W(alist2dict),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,ds,V 1,r,dig,V 0,ds,V 1,r}; void*Y119[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 1,binzc,&branch_EVM_invargca,mlt,p,s,V 0,t,Q,mlt,s,V 1,t,B 118,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 1,mla,l,V 0,q,mla,l,V 1,tc,V 1,c,r}; void*Y120[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 6,mca,subc,V 1,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 1,p,s,V 0,mla,l,V 0,q,t,&NN_pr_make_record_type,tc,V 1,c,mlt,s,V 2,mla,l,V 2,q,li,rvec+10,tc,V 1,c,ct,l0,q,t,F,q,t,F,q,mla,l,V 1,xri,Q,jiz,V 114,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,q,l0,mlt,s,V 3,p,l,V 1,q,li,rvec+10,tc,V 1,c,ct,q,l0,mlt,s,V 4,p,l,V 1,mlt,s,V 5,mla,l,V 5,mlt,s,V 1,mla,l,V 3,q,dig,V 0,xri,W(ref),jinz,V 44,dig,V 1,jif,V 16,qi,W(duplicate_ref_hook),mla,l,V 4,q,mha,l,V 1,l,V 116,tc,V 2,c,j,V 22,t,T,bury,V 1,mla,l,V 4,q,mla,l,V 2,q,mha,l,V 1,l,V 12,tc,V 2,c,bury,V 2,j,V 14,qi,W(record_hook_name_huh),mla,l,V 3,q,mha,l,V 1,l,V 116,tc,V 2,c,ds,V 1,j,V -121,dig,V 0,jif,V 13,dig,V 2,q,dig,V 2,q,t,&NN_pr_record_type_ref_slot,tc,V -2,c,j,V 0,ds,V 1,ds,V 1,ds,V 1,mla,l,V 2,r}; void*Y121[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,mha,l,V 2,l,V 1,xri,Q,jiz,V 50,mha,l,V 2,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l,V 2,l,V 0,tc,V 1,c,q,dig,V 1,tc,V 1,c,mha,l,V 2,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mat,mha,l,V 2,st,V 1,j,V -59,t,Z,ds,V 1,r}; -void*Y122[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 2,binzc,&branch_EVM_invargca,mlt,p,s,V 1,p,s,V 0,t,B 121,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l,V 1,l,V 171,tc,V 1,c,r}; -void*Y123[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l0,q,qi,W(carTIMES),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,mlt,s,V 0,mla,l,V 0,jif,V 61,mha,l,V 2,l,V 0,q,mla,l,V 0,q,mha,l,V 1,l,V 12,tc,V 2,c,q,mha,l,V 3,l,V 0,tc,V 1,c,mha,l0,q,qi,W(cdr),t,&NN_dict_ref_2,tc,V 2,c,q,dig,V 1,q,mha,l,V 1,l,V 173,tc,V 2,c,q,mha,l,V 3,l,V 1,tc,V 1,c,ds,V 1,r,t,Z,ds,V 1,r}; +void*Y122[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 2,binzc,&branch_EVM_invargca,mlt,p,s,V 1,p,s,V 0,t,B 121,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l,V 1,l,V 163,tc,V 1,c,r}; +void*Y123[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l0,q,qi,W(carTIMES),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,mlt,s,V 0,mla,l,V 0,jif,V 61,mha,l,V 2,l,V 0,q,mla,l,V 0,q,mha,l,V 1,l,V 12,tc,V 2,c,q,mha,l,V 3,l,V 0,tc,V 1,c,mha,l0,q,qi,W(cdr),t,&NN_dict_ref_2,tc,V 2,c,q,dig,V 1,q,mha,l,V 1,l,V 165,tc,V 2,c,q,mha,l,V 3,l,V 1,tc,V 1,c,ds,V 1,r,t,Z,ds,V 1,r}; void*Y124[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 1,binzc,&branch_EVM_invargca,mlt,p,s,V 0,t,Q,mlt,s,V 1,t,B 123,q,qi,V 3,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 1,mha,l,V 2,l,V 1,q,mha,l,V 2,l,V 2,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mla,l,V 1,tc,V 1,c,r}; -void*Y125[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 3,mca,subc,V 2,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 2,p,s,V 1,p,s,V 0,mla,l,V 1,q,mha,l,V 1,l,V 164,tc,V 1,c,jif,V 22,mla,l,V 1,q,mha,l0,q,qi,W(vector2list),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,mlt,s,V 1,j,V 0,mla,l,V 2,xri,Q,jinz,V 17,mla,l,V 0,q,mla,l,V 1,q,mha,l,V 1,l,V 173,tc,V 2,c,r,t,B 124,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l,V 1,l,V 171,tc,V 1,c,r}; -void*Y126[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l0,q,qi,W(carTIMES),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,mlt,s,V 0,mla,l,V 0,jif,V 58,mla,l,V 0,mlt,s,V 1,mha,l,V 2,l,V 0,q,mla,l,V 1,q,mha,l,V 1,l,V 12,tc,V 2,c,mha,l0,q,qi,W(cdr),t,&NN_dict_ref_2,tc,V 2,c,q,dig,V 1,q,mha,l,V 1,l,V 173,tc,V 2,c,q,mha,l,V 2,l,V 4,tc,V 1,c,ds,V 1,r,t,F,ds,V 1,r}; +void*Y125[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 3,mca,subc,V 2,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 2,p,s,V 1,p,s,V 0,mla,l,V 1,q,mha,l,V 1,l,V 156,tc,V 1,c,jif,V 22,mla,l,V 1,q,mha,l0,q,qi,W(vector2list),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,mlt,s,V 1,j,V 0,mla,l,V 2,xri,Q,jinz,V 17,mla,l,V 0,q,mla,l,V 1,q,mha,l,V 1,l,V 165,tc,V 2,c,r,t,B 124,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l,V 1,l,V 163,tc,V 1,c,r}; +void*Y126[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l0,q,qi,W(carTIMES),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,mlt,s,V 0,mla,l,V 0,jif,V 58,mla,l,V 0,mlt,s,V 1,mha,l,V 2,l,V 0,q,mla,l,V 1,q,mha,l,V 1,l,V 12,tc,V 2,c,mha,l0,q,qi,W(cdr),t,&NN_dict_ref_2,tc,V 2,c,q,dig,V 1,q,mha,l,V 1,l,V 165,tc,V 2,c,q,mha,l,V 2,l,V 4,tc,V 1,c,ds,V 1,r,t,F,ds,V 1,r}; void*Y127[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 5,mca,subc,V 2,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 2,p,s,V 1,p,s,V 0,mla,l,V 2,xri,Q,jinz,V 51,mla,l,V 1,mlt,s,V 3,mla,l,V 3,xri,Q,jiz,V 35,mla,l,V 3,q,li,rvec+10,tc,V 1,c,ct,l0,q,mla,l,V 0,tc,V 1,c,mla,l,V 3,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 3,j,V -42,t,Z,r,t,Q,mlt,s,V 4,t,B 126,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 4,mla,l,V 1,q,mla,l,V 2,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mla,l,V 4,tc,V 1,c,r}; void*Y128[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 2,binzc,&branch_EVM_invargca,dig,V 0,xri,Q,jiz,V 20,mha,l,V 2,l,V 1,q,dig,V 1,q,mha,l,V 1,l,V 116,tc,V 2,c,ds,V 2,r,t,F,ds,V 2,r}; -void*Y129[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 0,binzc,&branch_EVM_invargca,mha,l0,q,qi,W(car),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l,V 2,l,V 0,q,mha,l,V 1,l,V 173,tc,V 2,c,r}; +void*Y129[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 0,binzc,&branch_EVM_invargca,mha,l0,q,qi,W(car),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l,V 2,l,V 0,q,mha,l,V 1,l,V 165,tc,V 2,c,r}; void*Y130[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 1,binc,&branch_EVM_invargca,mac,mca,subc,V 3,binnc,&branch_EVM_invargca,mac,mlt,mca,mca,subc,V 1,jizc,V 9,mac,p,s,V 1,p,s,V 0,j,V 8,mac,p,s,V 0,t,W(cons_huh),s,V 1,qi,W(cons_huh),t,B 128,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,t,B 129,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l,V 1,l,V 34,tc,V 3,c,r}; -void*Y131[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 0,binzc,&branch_EVM_invargca,mha,l0,q,qi,W(cdr),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l,V 2,l,V 0,q,mha,l,V 1,l,V 173,tc,V 2,c,r}; +void*Y131[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 0,binzc,&branch_EVM_invargca,mha,l0,q,qi,W(cdr),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l,V 2,l,V 0,q,mha,l,V 1,l,V 165,tc,V 2,c,r}; void*Y132[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 1,binc,&branch_EVM_invargca,mac,mca,subc,V 3,binnc,&branch_EVM_invargca,mac,mlt,mca,mca,subc,V 1,jizc,V 9,mac,p,s,V 1,p,s,V 0,j,V 8,mac,p,s,V 0,t,W(cons_huh),s,V 1,qi,W(cons_huh),t,B 128,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,t,B 131,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l,V 1,l,V 34,tc,V 3,c,r}; void*Y133[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 2,binzc,&branch_EVM_invargca,dig,V 1,xri,Q,jiz,V 39,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,dig,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,bury,V 0,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,bury,V 1,j,V -45,dig,V 0,ds,V 2,r}; void*Y134[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,qi,Q,mha,l0,q,qi,W(append_reverse),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,ds,V 1,r}; @@ -615,9 +615,9 @@ void*Y161[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,xri,Q,jiz,V 71,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,mlt,s,V 0,mha,l,V 2,l,V 0,q,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mha,l,V 2,l,V 2,tc,V 2,c,jif,V 6,mla,l,V 0,ds,V 1,r,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mha,l,V 2,l,V 3,tc,V 1,c,ds,V 1,r,t,F,ds,V 1,r}; void*Y162[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 4,mca,subc,V 2,binc,&branch_EVM_invargca,mac,mca,subc,V 4,binnc,&branch_EVM_invargca,mac,mlt,mca,mca,subc,V 2,jizc,V 12,mac,p,s,V 2,p,s,V 1,p,s,V 0,j,V 19,mac,p,s,V 1,p,s,V 0,mha,l0,q,qi,W(equal_huh),t,&NN_dict_ref_2,tc,V 2,c,s,V 2,t,Q,mlt,s,V 3,t,B 161,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 3,mla,l,V 1,q,mla,l,V 3,tc,V 1,c,r}; void*Y163[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 4,mca,subc,V 1,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 1,p,s,V 0,mla,l,V 0,q,mla,l,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,mlt,s,V 2,mla,l,V 2,mlt,s,V 3,mla,l,V 3,q,li,rvec+10,tc,V 1,c,ct,l,V 1,xri,Q,jiz,V 17,mla,l,V 3,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 3,j,V -33,mla,l,V 3,q,mla,l,V 2,q,mha,l0,q,qi,W(cdr),t,&NN_dict_ref_2,tc,V 2,c,tc,V -2,c,mla,l,V 2,r}; -void*Y164[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 4,mca,subc,V 1,binc,&branch_EVM_invargca,mac,mca,subc,V 4,binnc,&branch_EVM_invargca,mac,mlt,mca,mca,subc,V 2,jizc,V 18,mac,mca,subc,V 1,jizc,V 23,mac,p,s,V 2,p,s,V 1,p,s,V 0,j,V 23,mac,p,s,V 1,p,s,V 0,j,V 10,j,V 12,mac,p,s,V 0,t,I(0),s,V 1,t,I(1),s,V 2,mla,l,V 0,q,mha,l,V 1,l,V 164,tc,V 1,c,jif,V 22,mla,l,V 0,q,mha,l0,q,qi,W(vector2list),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,mlt,s,V 0,j,V 0,mha,l,V 1,l,V 108,tc,V 0,c,mlt,s,V 3,mla,l,V 0,xri,Q,jiz,V 66,mla,l,V 3,q,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,mla,l,V 1,q,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V -3,c,mla,l,V 1,q,mla,l,V 2,q,li,rvec+4,tc,V 2,c,mlt,s,V 1,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 0,j,V -73,mla,l,V 3,r}; +void*Y164[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 4,mca,subc,V 1,binc,&branch_EVM_invargca,mac,mca,subc,V 4,binnc,&branch_EVM_invargca,mac,mlt,mca,mca,subc,V 2,jizc,V 18,mac,mca,subc,V 1,jizc,V 23,mac,p,s,V 2,p,s,V 1,p,s,V 0,j,V 23,mac,p,s,V 1,p,s,V 0,j,V 10,j,V 12,mac,p,s,V 0,t,I(0),s,V 1,t,I(1),s,V 2,mla,l,V 0,q,mha,l,V 1,l,V 156,tc,V 1,c,jif,V 22,mla,l,V 0,q,mha,l0,q,qi,W(vector2list),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,mlt,s,V 0,j,V 0,mha,l,V 1,l,V 108,tc,V 0,c,mlt,s,V 3,mla,l,V 0,xri,Q,jiz,V 66,mla,l,V 3,q,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,mla,l,V 1,q,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V -3,c,mla,l,V 1,q,mla,l,V 2,q,li,rvec+4,tc,V 2,c,mlt,s,V 1,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 0,j,V -73,mla,l,V 3,r}; void*Y165[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 1,binc,&branch_EVM_invargca,mac,mca,subc,V 3,binnc,&branch_EVM_invargca,mac,mlt,mca,mca,subc,V 1,jizc,V 9,mac,p,s,V 1,p,s,V 0,j,V 14,mac,p,s,V 0,mha,l,V 1,l,V 108,tc,V 0,c,s,V 1,mla,l,V 0,q,dig,V 0,xri,Q,jiz,V 68,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,t,T,q,mla,l,V 1,q,dig,V 2,q,li,rvec+10,tc,V 1,c,ct,l0,q,dig,V 3,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mha,l,V 1,l,V 91,tc,V 3,c,ds,V 1,ds,V 1,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,bury,V 0,j,V -74,ds,V 1,mla,l,V 1,r}; -void*Y166[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l,V 1,l,V 161,tc,V 1,c,q,qi,I(1),li,rvec+5,tc,V 2,c,mlt,s,V 0,t,Q,mlt,s,V 1,mla,l,V 0,q,qi,I(0),li,rvec+15,tc,V 2,c,jinf,V 57,dig,V 0,q,mla,l,V 0,q,mha,l,V 1,l,V 163,tc,V 2,c,q,mla,l,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mla,l,V 0,q,qi,I(1),li,rvec+5,tc,V 2,c,q,dig,V 0,ds,V 1,mlt,s,V 0,dig,V 0,ds,V 1,mlt,s,V 1,j,V -70,mla,l,V 1,ds,V 1,r}; +void*Y166[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l,V 1,l,V 153,tc,V 1,c,q,qi,I(1),li,rvec+5,tc,V 2,c,mlt,s,V 0,t,Q,mlt,s,V 1,mla,l,V 0,q,qi,I(0),li,rvec+15,tc,V 2,c,jinf,V 57,dig,V 0,q,mla,l,V 0,q,mha,l,V 1,l,V 155,tc,V 2,c,q,mla,l,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mla,l,V 0,q,qi,I(1),li,rvec+5,tc,V 2,c,q,dig,V 0,ds,V 1,mlt,s,V 0,dig,V 0,ds,V 1,mlt,s,V 1,j,V -70,mla,l,V 1,ds,V 1,r}; void*Y167[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,xri,Q,jinz,V 22,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l,V 1,l,V 104,tc,V 1,c,ds,V 1,r,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l,V 2,l,V 0,q,dig,V 2,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mha,l,V 2,l,V 2,tc,V 1,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,ds,V 1,r}; void*Y168[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 3,mca,subc,V 2,binzc,&branch_EVM_invargca,mlt,p,s,V 1,p,s,V 0,mla,l,V 1,xri,Q,jinz,V 3,t,Q,r,t,Q,mlt,s,V 2,t,B 167,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 2,mla,l,V 1,q,mla,l,V 2,tc,V 1,c,r}; void*Y169[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,xri,Q,jinz,V 4,t,T,j,V 2,t,F,jinf,V 79,dig,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 41,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mha,l,V 2,l,V 2,tc,V 1,c,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l,V 2,l,V 2,tc,V 1,c,j,V 25,dig,V 0,q,mha,l,V 2,l,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,mat,mha,l,V 2,st,V 1,t,Z,ds,V 1,r}; @@ -627,11 +627,11 @@ void*Y173[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 3,mca,subc,V 2,binzc,&branch_EVM_invargca,mlt,p,s,V 1,p,s,V 0,t,Q,mlt,s,V 2,t,B 172,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 2,mla,l,V 1,q,mla,l,V 2,tc,V 1,c,r}; void*Y174[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 2,binzc,&branch_EVM_invargca,dig,V 1,q,dig,V 1,q,mha,l0,q,qi,W(find_tail),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,mlt,s,V 0,mla,l,V 0,jif,V 14,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,ds,V 2,r,t,F,ds,V 2,r}; void*Y175[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 1,binzc,&branch_EVM_invargca,mha,l,V 2,l,V 1,mlt,s,V 0,mla,l,V 0,xri,Q,jiz,V 59,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,t,T,q,dig,V 1,q,mha,l,V 2,l,V 0,tc,V 1,c,jif,V 10,dig,V 1,q,dig,V 3,tc,V 1,c,j,V 0,ds,V 1,ds,V 1,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 0,j,V -66,t,Z,ds,V 1,r}; -void*Y176[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 2,binzc,&branch_EVM_invargca,mlt,p,s,V 1,p,s,V 0,t,B 175,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l,V 1,l,V 171,tc,V 1,c,r}; +void*Y176[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 2,binzc,&branch_EVM_invargca,mlt,p,s,V 1,p,s,V 0,t,B 175,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l,V 1,l,V 163,tc,V 1,c,r}; void*Y177[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 3,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 227,dig,V 0,q,mha,l,V 2,l,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,mat,mha,l,V 2,st,V 1,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,q,l0,mlt,s,V 0,p,l,V 1,mlt,s,V 1,mla,l,V 1,q,mha,l,V 2,l,V 1,q,mha,l0,q,qi,W(memq),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,mlt,s,V 2,mla,l,V 2,jif,V 138,mla,l,V 2,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mla,l,V 2,q,qi,Q,mha,l0,q,qi,W(cdr),t,&NN_dict_ref_2,tc,V 2,c,tc,V -2,c,dig,V 0,ds,V 1,mlt,s,V 2,mha,l0,q,qi,W(car),t,&NN_dict_ref_2,tc,V 2,c,q,mla,l,V 2,q,mha,l0,q,qi,W(reverse),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,mha,l0,q,qi,W(map),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,q,mha,l0,q,qi,W(car),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l,V 2,l,V 1,q,mha,l0,q,qi,W(reverse),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,mha,l0,q,qi,W(map),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,ds,V 1,r,mla,l,V 1,q,mha,l,V 2,l,V 2,tc,V 1,c,ds,V 1,r,mha,l0,q,qi,W(car),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l,V 2,l,V 1,q,mha,l0,q,qi,W(reverse),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,mha,l0,q,qi,W(map),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,q,dig,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,ds,V 1,r}; void*Y178[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 3,mca,subc,V 1,binzc,&branch_EVM_invargca,mlt,p,s,V 0,t,Q,mlt,s,V 1,t,Q,mlt,s,V 2,t,B 177,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 2,mla,l,V 0,q,mla,l,V 2,tc,V 1,c,r}; void*Y179[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 1,binzc,&branch_EVM_invargca,t,F,mlt,s,V 0,mha,l,V 2,l,V 0,mlt,s,V 1,mla,l,V 1,xri,Q,jiz,V 34,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,dig,V 1,tc,V 1,c,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 1,j,V -41,t,Z,ds,V 1,r}; -void*Y180[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 1,binzc,&branch_EVM_invargca,mlt,p,s,V 0,t,B 179,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l,V 1,l,V 171,tc,V 1,c,r}; +void*Y180[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 1,binzc,&branch_EVM_invargca,mlt,p,s,V 0,t,B 179,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l,V 1,l,V 163,tc,V 1,c,r}; void*Y181[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,ds,V 1,r}; void*Y182[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,mha,l0,q,qi,W(cons_copy),t,&NN_dict_ref_2,tc,V 2,c,q,dig,V 1,q,mha,l0,q,qi,W(map),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,ds,V 1,r}; void*Y183[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 0,mla,l,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 15,mla,l,V 0,q,mha,l,V 2,l,V 1,tc,V 1,c,ds,V 1,r,dig,V 0,ds,V 1,r}; @@ -649,7 +649,7 @@ void*Y195[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l,V 1,l,V 133,tc,V 1,c,jif,V 19,dig,V 0,q,mha,l0,q,qi,W(string2symbol),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,ds,V 1,r,dig,V 0,q,mha,l,V 1,l,V 134,tc,V 1,c,jif,V 5,dig,V 0,ds,V 1,r,dig,V 0,q,mha,l0,q,qi,W(integer_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,jif,V 5,dig,V 0,ds,V 1,r,qi,W(invalid_system_constant_name_part),dig,V 1,q,mha,l,V 1,l,V 116,tc,V 2,c,ds,V 1,r}; void*Y196[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,xri,Q,jinz,V 4,t,T,j,V 2,t,F,jinf,V 110,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l,V 2,l,V 1,q,li,rvec+17,tc,V 2,c,jif,V 13,dig,V 0,q,mha,l,V 3,l,V 0,tc,V 1,c,j,V 0,dig,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 13,dig,V 0,q,mha,l,V 3,l,V 1,tc,V 1,c,j,V 0,ds,V 1,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mha,l,V 3,l,V 1,tc,V 1,c,ds,V 1,ds,V 1,r}; void*Y197[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 1,binzc,&branch_EVM_invargca,mlt,p,s,V 0,t,Q,mlt,s,V 1,t,B 196,q,qi,V 3,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 1,mha,l0,q,qi,W(system_constants),t,&NN_dict_ref_2,tc,V 2,c,q,mla,l,V 1,tc,V 1,c,r}; -void*Y198[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 3,mca,subc,V 1,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 1,p,s,V 0,mla,l,V 1,xri,Q,jinz,V 60,mla,l,V 0,q,mha,l,V 1,l,V 134,tc,V 1,c,jif,V 22,mla,l,V 0,q,mha,l0,q,qi,W(symbol2string),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,mlt,s,V 0,j,V 0,qi,CH('/'),mla,l,V 0,q,mha,l0,q,qi,W(split_by_char),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,mlt,s,V 0,j,V 0,t,B 195,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,mla,l,V 0,q,mla,l,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l0,q,qi,W(flatten),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,mha,l0,q,qi,W(map),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,q,mha,l0,q,qi,W(flatten),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,mlt,s,V 1,mla,l,V 1,q,mha,l0,q,qi,W(system_constants),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l0,q,qi,W(desvPLUSr),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,mlt,s,V 2,mla,l,V 2,jinf,V 42,mla,l,V 1,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 24,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,xri,Q,jinz,V 4,t,T,j,V 2,t,F,j,V 2,t,F,j,V 2,t,F,jif,V 95,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,mlt,s,V 1,t,B 197,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l,V 1,l,V 171,tc,V 1,c,q,dig,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 23,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,xri,Q,jinz,V 4,t,T,j,V 2,t,F,j,V 2,t,F,jif,V 15,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,mlt,s,V 2,j,V 0,ds,V 1,j,V 0,mla,l,V 2,r}; +void*Y198[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 3,mca,subc,V 1,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 1,p,s,V 0,mla,l,V 1,xri,Q,jinz,V 60,mla,l,V 0,q,mha,l,V 1,l,V 134,tc,V 1,c,jif,V 22,mla,l,V 0,q,mha,l0,q,qi,W(symbol2string),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,mlt,s,V 0,j,V 0,qi,CH('/'),mla,l,V 0,q,mha,l0,q,qi,W(split_by_char),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,mlt,s,V 0,j,V 0,t,B 195,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,mla,l,V 0,q,mla,l,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l0,q,qi,W(flatten),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,mha,l0,q,qi,W(map),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,q,mha,l0,q,qi,W(flatten),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,mlt,s,V 1,mla,l,V 1,q,mha,l0,q,qi,W(system_constants),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l0,q,qi,W(desvPLUSr),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,mlt,s,V 2,mla,l,V 2,jinf,V 42,mla,l,V 1,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 24,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,xri,Q,jinz,V 4,t,T,j,V 2,t,F,j,V 2,t,F,j,V 2,t,F,jif,V 95,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,mlt,s,V 1,t,B 197,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,mha,l,V 1,l,V 163,tc,V 1,c,q,dig,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 23,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,xri,Q,jinz,V 4,t,T,j,V 2,t,F,j,V 2,t,F,jif,V 15,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,mlt,s,V 2,j,V 0,ds,V 1,j,V 0,mla,l,V 2,r}; void*Y199[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 0,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 0,mha,l0,q,qi,W(system_constant_internal),t,&NN_dict_ref_2,tc,V 2,c,q,mla,l,V 0,q,mha,l,V 1,l,V 12,tc,V 2,c,mlt,s,V 1,mla,l,V 1,q,mha,l,V 1,l,V 85,tc,V 1,c,jinf,V 4,mla,l,V 1,r,t,F,r}; void*Y200[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 1,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 1,p,s,V 0,mla,l,V 1,xri,Q,jiz,V 44,mla,l,V 0,q,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l,V 1,l,V 18,tc,V 2,c,mlt,s,V 0,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 1,j,V -51,mla,l,V 0,r}; void*Y201[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 1,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 1,p,s,V 0,mla,l,V 1,xri,Q,jiz,V 44,mla,l,V 0,q,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l,V 1,l,V 19,tc,V 2,c,mlt,s,V 0,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 1,j,V -51,mla,l,V 0,r}; @@ -676,27 +676,27 @@ void*Y222[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 3,mca,subc,V 2,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 2,p,s,V 1,p,s,V 0,mla,l,V 1,xri,Q,jinz,V 15,qi,W(begin),mla,l,V 2,q,mha,l,V 1,l,V 84,tc,V 2,c,r,t,B 219,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,mla,l,V 1,q,mha,l0,q,qi,W(map),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,mlt,s,V 1,qi,W(let),t,B 220,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,mla,l,V 1,q,mha,l0,q,qi,W(map),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,q,t,B 221,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,q,mla,l,V 1,q,mha,l0,q,qi,W(map),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,q,mla,l,V 2,q,mha,l0,q,qi,W(append),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,r}; void*Y223[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l0,q,qi,W(length),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,mha,l,V 1,l,V 110,tc,V 1,c,mlt,s,V 0,t,I(0),q,dig,V 1,xri,Q,jiz,V 53,mla,l,V 0,q,dig,V 1,q,dig,V 3,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l,V 1,l,V 123,tc,V -3,c,dig,V 0,q,qi,I(1),li,rvec+4,tc,V 2,c,bury,V 0,dig,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,bury,V 1,j,V -59,ds,V 1,mla,l,V 0,ds,V 1,r}; void*Y224[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 0,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 0,mla,l,V 0,q,mha,l0,q,qi,W(list2vector),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,r}; -void*Y225[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l,V 1,l,V 161,tc,V 1,c,mlt,s,V 0,mla,l,V 0,q,mha,l,V 1,l,V 110,tc,V 1,c,mlt,s,V 1,mla,l,V 1,q,qi,I(0),dig,V 2,q,qi,I(0),mla,l,V 0,q,mha,l,V 1,l,V 162,tc,V 5,c,mla,l,V 1,ds,V 1,r}; -void*Y226[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 4,mca,subc,V 0,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 0,mla,l,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 50,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,xri,Q,jinz,V 30,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l,V 1,l,V 164,tc,V 1,c,jinf,V 4,t,T,j,V 2,t,F,j,V 2,t,F,j,V 2,t,F,jif,V 16,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,mlt,s,V 0,j,V 0,t,I(0),mlt,s,V 1,mla,l,V 0,q,dig,V 0,xri,Q,jiz,V 57,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,t,T,q,mla,l,V 1,q,dig,V 2,q,mha,l,V 1,l,V 161,tc,V 1,c,q,li,rvec+4,tc,V 2,c,mlt,s,V 1,ds,V 1,ds,V 1,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,bury,V 0,j,V -63,ds,V 1,mla,l,V 1,q,mha,l,V 1,l,V 110,tc,V 1,c,mlt,s,V 2,t,I(0),mlt,s,V 3,mla,l,V 0,q,dig,V 0,xri,Q,jiz,V 86,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,t,T,q,dig,V 1,q,mha,l,V 1,l,V 161,tc,V 1,c,q,mla,l,V 2,q,mla,l,V 3,q,dig,V 4,q,qi,I(0),dig,V 4,q,mha,l,V 1,l,V 162,tc,V 5,c,mla,l,V 3,q,dig,V 1,q,li,rvec+4,tc,V 2,c,mlt,s,V 3,ds,V 1,ds,V 1,ds,V 1,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,bury,V 0,j,V -92,ds,V 1,mla,l,V 2,r}; +void*Y225[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l,V 1,l,V 153,tc,V 1,c,mlt,s,V 0,mla,l,V 0,q,mha,l,V 1,l,V 110,tc,V 1,c,mlt,s,V 1,mla,l,V 1,q,qi,I(0),dig,V 2,q,qi,I(0),mla,l,V 0,q,mha,l,V 1,l,V 154,tc,V 5,c,mla,l,V 1,ds,V 1,r}; +void*Y226[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 4,mca,subc,V 0,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 0,mla,l,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 50,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,xri,Q,jinz,V 30,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l,V 1,l,V 156,tc,V 1,c,jinf,V 4,t,T,j,V 2,t,F,j,V 2,t,F,j,V 2,t,F,jif,V 16,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,mlt,s,V 0,j,V 0,t,I(0),mlt,s,V 1,mla,l,V 0,q,dig,V 0,xri,Q,jiz,V 57,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,t,T,q,mla,l,V 1,q,dig,V 2,q,mha,l,V 1,l,V 153,tc,V 1,c,q,li,rvec+4,tc,V 2,c,mlt,s,V 1,ds,V 1,ds,V 1,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,bury,V 0,j,V -63,ds,V 1,mla,l,V 1,q,mha,l,V 1,l,V 110,tc,V 1,c,mlt,s,V 2,t,I(0),mlt,s,V 3,mla,l,V 0,q,dig,V 0,xri,Q,jiz,V 86,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,t,T,q,dig,V 1,q,mha,l,V 1,l,V 153,tc,V 1,c,q,mla,l,V 2,q,mla,l,V 3,q,dig,V 4,q,qi,I(0),dig,V 4,q,mha,l,V 1,l,V 154,tc,V 5,c,mla,l,V 3,q,dig,V 1,q,li,rvec+4,tc,V 2,c,mlt,s,V 3,ds,V 1,ds,V 1,ds,V 1,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l,V 1,bury,V 0,j,V -92,ds,V 1,mla,l,V 2,r}; void*Y227[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mlt,s,V 0,qi,&BCL0,li,rvec+11,tc,V 2,c,t,T,mat,mla,l,V 0,st,V 5,t,Z,ds,V 1,r}; void*Y228[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mlt,s,V 0,qi,&BCL0,li,rvec+11,tc,V 2,c,mla,l,V 0,l,V 2,ds,V 1,r}; -void*Y229[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l0,q,qi,W(zero_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,jinf,V 92,dig,V 0,q,qi,I(1),li,rvec+5,tc,V 2,c,bury,V 0,mha,l,V 2,l,V 2,l,V 3,q,dig,V 1,q,mha,l,V 1,l,V 163,tc,V 2,c,mlt,s,V 0,mla,l,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 13,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,j,V 3,mla,l,V 0,q,mha,l,V 2,l,V 1,xors,jinz,V 5,dig,V 0,ds,V 1,r,dig,V 0,q,mha,l,V 2,l,V 3,tc,V 1,c,ds,V 1,r,t,F,ds,V 1,r}; -void*Y230[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 4,mca,subc,V 2,binzc,&branch_EVM_invargca,mlt,p,s,V 1,p,s,V 0,mla,l,V 0,q,mlt,s,V 2,qi,&BCL0,li,rvec+11,tc,V 2,c,mla,l,V 1,q,dig,V 0,q,mha,l,V 1,l,V 134,tc,V 1,c,jinf,V 15,qi,W(symbol_huh),dig,V 1,q,mha,l,V 1,l,V 116,tc,V 2,c,j,V 0,ds,V 1,t,Q,mlt,s,V 3,t,B 229,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 3,mla,l,V 2,l,V 3,q,mha,l,V 1,l,V 161,tc,V 1,c,q,mla,l,V 3,tc,V 1,c,r}; -void*Y231[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 3,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mlt,s,V 0,qi,&BCL0,li,rvec+11,tc,V 2,c,t,Q,mlt,s,V 1,mla,l,V 0,l,V 3,q,mha,l,V 1,l,V 161,tc,V 1,c,mlt,s,V 2,mla,l,V 2,q,mha,l0,q,qi,W(zero_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,jinf,V 69,mla,l,V 2,q,qi,I(1),li,rvec+5,tc,V 2,c,mlt,s,V 2,mla,l,V 0,l,V 3,q,mla,l,V 2,q,mha,l,V 1,l,V 163,tc,V 2,c,q,dig,V 0,jif,V 28,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,mla,l,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,mlt,s,V 1,j,V 0,ds,V 1,j,V -88,mla,l,V 1,ds,V 1,r}; +void*Y229[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l0,q,qi,W(zero_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,jinf,V 92,dig,V 0,q,qi,I(1),li,rvec+5,tc,V 2,c,bury,V 0,mha,l,V 2,l,V 2,l,V 3,q,dig,V 1,q,mha,l,V 1,l,V 155,tc,V 2,c,mlt,s,V 0,mla,l,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 13,mla,l,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,j,V 3,mla,l,V 0,q,mha,l,V 2,l,V 1,xors,jinz,V 5,dig,V 0,ds,V 1,r,dig,V 0,q,mha,l,V 2,l,V 3,tc,V 1,c,ds,V 1,r,t,F,ds,V 1,r}; +void*Y230[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 4,mca,subc,V 2,binzc,&branch_EVM_invargca,mlt,p,s,V 1,p,s,V 0,mla,l,V 0,q,mlt,s,V 2,qi,&BCL0,li,rvec+11,tc,V 2,c,mla,l,V 1,q,dig,V 0,q,mha,l,V 1,l,V 134,tc,V 1,c,jinf,V 15,qi,W(symbol_huh),dig,V 1,q,mha,l,V 1,l,V 116,tc,V 2,c,j,V 0,ds,V 1,t,Q,mlt,s,V 3,t,B 229,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 3,mla,l,V 2,l,V 3,q,mha,l,V 1,l,V 153,tc,V 1,c,q,mla,l,V 3,tc,V 1,c,r}; +void*Y231[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 3,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mlt,s,V 0,qi,&BCL0,li,rvec+11,tc,V 2,c,t,Q,mlt,s,V 1,mla,l,V 0,l,V 3,q,mha,l,V 1,l,V 153,tc,V 1,c,mlt,s,V 2,mla,l,V 2,q,mha,l0,q,qi,W(zero_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,jinf,V 69,mla,l,V 2,q,qi,I(1),li,rvec+5,tc,V 2,c,mlt,s,V 2,mla,l,V 0,l,V 3,q,mla,l,V 2,q,mha,l,V 1,l,V 155,tc,V 2,c,q,dig,V 0,jif,V 28,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,mla,l,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,mlt,s,V 1,j,V 0,ds,V 1,j,V -88,mla,l,V 1,ds,V 1,r}; void*Y232[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mlt,s,V 0,qi,&BCL0,li,rvec+11,tc,V 2,c,mla,l,V 0,l,V 3,q,mha,l0,q,qi,W(vector_copy),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,ds,V 1,r}; -void*Y233[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 2,binzc,&branch_EVM_invargca,dig,V 1,q,mlt,s,V 0,qi,&BCL0,li,rvec+11,tc,V 2,c,mla,l,V 0,l,V 5,jif,V 15,qi,W(frozen),dig,V 2,q,mha,l,V 1,l,V 116,tc,V 2,c,j,V 0,dig,V 0,mlt,s,V 1,mla,l,V 1,xri,Q,jiz,V 87,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,t,T,q,mla,l,V 0,l,V 3,q,dig,V 4,q,dig,V 3,q,mha,l0,q,qi,W(lookup_slot),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,jinf,V 13,qi,W(unknown),dig,V 3,q,mha,l,V 1,l,V 116,tc,V 2,c,q,qi,F,mha,l,V 1,l,V 163,tc,V -3,c,ds,V 1,ds,V 1,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 1,j,V -94,t,Z,ds,V 2,r}; -void*Y234[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 2,binzc,&branch_EVM_invargca,dig,V 1,q,mlt,s,V 0,qi,&BCL0,li,rvec+11,tc,V 2,c,mla,l,V 0,l,V 5,jif,V 15,qi,W(frozen),dig,V 2,q,mha,l,V 1,l,V 116,tc,V 2,c,j,V 0,dig,V 0,mlt,s,V 1,mla,l,V 1,xri,Q,jiz,V 101,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,t,T,q,mla,l,V 0,l,V 3,q,dig,V 4,q,dig,V 3,q,mha,l0,q,qi,W(lookup_slot),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,jinf,V 13,qi,W(unknown),dig,V 3,q,mha,l,V 1,l,V 116,tc,V 2,c,q,mha,l,V 1,l,V 163,tc,V 2,c,q,qi,F,mha,l0,q,qi,W(cadr),t,&NN_dict_ref_2,tc,V 2,c,tc,V -2,c,ds,V 1,ds,V 1,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 1,j,V -108,t,Z,ds,V 2,r}; -void*Y235[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mlt,s,V 0,qi,&BCL0,li,rvec+11,tc,V 2,c,mla,l,V 0,l,V 3,l,V 1,mat,t,V 2,addat,mta,q,mha,l,V 1,l,V 159,tc,V 1,c,mlt,s,V 1,mla,l,V 1,q,dig,V 1,pt,s,V 1,t,V 10,s0,mla,l,V 1,ds,V 1,r}; +void*Y233[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 2,binzc,&branch_EVM_invargca,dig,V 1,q,mlt,s,V 0,qi,&BCL0,li,rvec+11,tc,V 2,c,mla,l,V 0,l,V 5,jif,V 15,qi,W(frozen),dig,V 2,q,mha,l,V 1,l,V 116,tc,V 2,c,j,V 0,dig,V 0,mlt,s,V 1,mla,l,V 1,xri,Q,jiz,V 87,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,t,T,q,mla,l,V 0,l,V 3,q,dig,V 4,q,dig,V 3,q,mha,l0,q,qi,W(lookup_slot),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,jinf,V 13,qi,W(unknown),dig,V 3,q,mha,l,V 1,l,V 116,tc,V 2,c,q,qi,F,mha,l,V 1,l,V 155,tc,V -3,c,ds,V 1,ds,V 1,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 1,j,V -94,t,Z,ds,V 2,r}; +void*Y234[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 2,binzc,&branch_EVM_invargca,dig,V 1,q,mlt,s,V 0,qi,&BCL0,li,rvec+11,tc,V 2,c,mla,l,V 0,l,V 5,jif,V 15,qi,W(frozen),dig,V 2,q,mha,l,V 1,l,V 116,tc,V 2,c,j,V 0,dig,V 0,mlt,s,V 1,mla,l,V 1,xri,Q,jiz,V 101,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l0,q,t,T,q,mla,l,V 0,l,V 3,q,dig,V 4,q,dig,V 3,q,mha,l0,q,qi,W(lookup_slot),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,jinf,V 13,qi,W(unknown),dig,V 3,q,mha,l,V 1,l,V 116,tc,V 2,c,q,mha,l,V 1,l,V 155,tc,V 2,c,q,qi,F,mha,l0,q,qi,W(cadr),t,&NN_dict_ref_2,tc,V 2,c,tc,V -2,c,ds,V 1,ds,V 1,mla,l,V 1,q,li,rvec+10,tc,V 1,c,ct,l,V 1,mlt,s,V 1,j,V -108,t,Z,ds,V 2,r}; +void*Y235[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 2,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mlt,s,V 0,qi,&BCL0,li,rvec+11,tc,V 2,c,mla,l,V 0,l,V 3,l,V 1,mat,t,V 2,addat,mta,q,mha,l,V 1,l,V 151,tc,V 1,c,mlt,s,V 1,mla,l,V 1,q,dig,V 1,pt,s,V 1,t,V 10,s0,mla,l,V 1,ds,V 1,r}; void*Y236[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l,V 1,l,V 102,tc,V 1,c,jif,V 44,dig,V 0,q,mha,l0,q,qi,W(class_of),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,mha,l0,q,qi,W(LTclassGT),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l0,q,qi,W(subclass_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,ds,V 1,r,t,F,ds,V 1,r}; void*Y237[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,dig,V 0,q,mha,l,V 1,l,V 102,tc,V 1,c,jinf,V 15,qi,W(instance_huh),dig,V 1,q,mha,l,V 1,l,V 116,tc,V 2,c,j,V 0,ds,V 1,dig,V 0,l,V 1,ds,V 1,r}; void*Y238[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,jif,V 68,dig,V 0,q,mha,l0,q,qi,W(LTclassGT),t,&NN_dict_ref_2,tc,V 2,c,xors,jiz,V 47,dig,V 0,q,mha,l,V 2,l,V 1,xors,jinz,V 4,t,T,j,V 2,t,F,jinf,V 25,dig,V 0,q,mha,l0,q,qi,W(superclass),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,mha,l,V 2,l,V 2,tc,V 1,c,ds,V 1,r,t,F,ds,V 1,r,t,F,ds,V 1,r}; void*Y239[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 3,mca,subc,V 2,binzc,&branch_EVM_invargca,mlt,p,s,V 1,p,s,V 0,mla,l,V 0,q,mha,l0,q,qi,W(LTclassGT),t,&NN_dict_ref_2,tc,V 2,c,xors,jinz,V 23,mla,l,V 1,q,mha,l0,q,qi,W(LTclassGT),t,&NN_dict_ref_2,tc,V 2,c,xors,jinz,V 3,t,T,r,t,F,r,mla,l,V 0,q,mha,l,V 1,l,V 102,tc,V 1,c,jinf,V 19,mla,l,V 0,q,mha,l0,q,qi,W(class_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,jif,V 31,t,Q,mlt,s,V 2,t,B 238,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,mlt,s,V 2,mla,l,V 0,q,mla,l,V 2,tc,V 1,c,r,t,F,r}; -void*Y240[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 3,mca,subc,V 1,binc,&branch_EVM_invargca,mac,mca,subc,V 3,binnc,&branch_EVM_invargca,mac,mlt,mca,mca,subc,V 1,jizc,V 9,mac,p,s,V 1,p,s,V 0,j,V 8,mac,p,s,V 0,t,F,s,V 1,mla,l,V 0,q,dig,V 0,q,mha,l,V 1,l,V 164,tc,V 1,c,jinf,V 15,qi,W(vector_huh),dig,V 1,q,mha,l,V 1,l,V 116,tc,V 2,c,j,V 0,ds,V 1,mla,l,V 0,q,mha,l,V 1,l,V 161,tc,V 1,c,q,dig,V 0,q,mha,l0,q,qi,W(zero_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,jinf,V 60,dig,V 0,q,qi,I(1),li,rvec+5,tc,V 2,c,bury,V 0,mla,l,V 0,q,dig,V 1,q,mha,l,V 1,l,V 163,tc,V 2,c,q,dig,V 0,q,mha,l,V 1,l,V 134,tc,V 1,c,jinf,V 15,qi,W(symbol_huh),dig,V 1,q,mha,l,V 1,l,V 116,tc,V 2,c,j,V 0,ds,V 1,j,V -78,ds,V 1,mla,l,V 1,jif,V 32,mla,l,V 1,q,mha,l0,q,qi,W(class2vector),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,mla,l,V 0,q,mha,l,V 1,l,V 174,tc,V 2,c,j,V 17,mla,l,V 0,q,mha,l0,q,qi,W(vector_copy),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,mlt,s,V 0,mha,l,V 1,l,V 108,tc,V 0,c,q,mla,l,V 0,q,mha,l,V 1,l,V 161,tc,V 1,c,q,dig,V 0,q,mha,l0,q,qi,W(zero_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,jinf,V 173,dig,V 0,q,qi,I(1),li,rvec+5,tc,V 2,c,bury,V 0,mla,l,V 0,q,dig,V 1,q,mha,l,V 1,l,V 163,tc,V 2,c,q,dig,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 12,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,j,V 2,dig,V 0,q,dig,V 0,jif,V 23,dig,V 3,q,dig,V 1,q,qi,F,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V 3,c,j,V 2,t,F,jif,V 15,qi,W(duplicate_slot_name),dig,V 2,q,mha,l,V 1,l,V 116,tc,V 2,c,j,V 65,dig,V 1,q,mha,l,V 1,l,V 134,tc,V 1,c,jif,V 31,mla,l,V 0,q,dig,V 3,q,dig,V 3,q,qi,T,mha,l,V 1,l,V 104,tc,V 2,c,q,mha,l,V 1,l,V 163,tc,V -3,c,j,V 0,dig,V 3,q,dig,V 1,q,qi,T,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V -3,c,ds,V 1,ds,V 1,j,V -191,ds,V 1,ds,V 1,mla,l,V 1,jif,V 41,mla,l,V 1,q,dig,V 0,q,mha,l0,q,qi,W(class_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,jinf,V 15,qi,W(class_huh),dig,V 1,q,mha,l,V 1,l,V 116,tc,V 2,c,j,V 0,ds,V 1,j,V 0,mha,l0,q,qi,W(LTclassGT),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l0,q,qi,W(make_instance),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,mlt,s,V 2,qi,F,mla,l,V 1,jif,V 7,mla,l,V 1,l,V 4,j,V 2,t,Q,q,mla,l,V 0,q,mla,l,V 1,q,mla,l,V 2,pt,st,V 2,pt,st,V 3,pt,st,V 4,pt,st,V 5,mla,l,V 2,r}; +void*Y240[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 3,mca,subc,V 1,binc,&branch_EVM_invargca,mac,mca,subc,V 3,binnc,&branch_EVM_invargca,mac,mlt,mca,mca,subc,V 1,jizc,V 9,mac,p,s,V 1,p,s,V 0,j,V 8,mac,p,s,V 0,t,F,s,V 1,mla,l,V 0,q,dig,V 0,q,mha,l,V 1,l,V 156,tc,V 1,c,jinf,V 15,qi,W(vector_huh),dig,V 1,q,mha,l,V 1,l,V 116,tc,V 2,c,j,V 0,ds,V 1,mla,l,V 0,q,mha,l,V 1,l,V 153,tc,V 1,c,q,dig,V 0,q,mha,l0,q,qi,W(zero_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,jinf,V 60,dig,V 0,q,qi,I(1),li,rvec+5,tc,V 2,c,bury,V 0,mla,l,V 0,q,dig,V 1,q,mha,l,V 1,l,V 155,tc,V 2,c,q,dig,V 0,q,mha,l,V 1,l,V 134,tc,V 1,c,jinf,V 15,qi,W(symbol_huh),dig,V 1,q,mha,l,V 1,l,V 116,tc,V 2,c,j,V 0,ds,V 1,j,V -78,ds,V 1,mla,l,V 1,jif,V 32,mla,l,V 1,q,mha,l0,q,qi,W(class2vector),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,mla,l,V 0,q,mha,l,V 1,l,V 166,tc,V 2,c,j,V 17,mla,l,V 0,q,mha,l0,q,qi,W(vector_copy),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,mlt,s,V 0,mha,l,V 1,l,V 108,tc,V 0,c,q,mla,l,V 0,q,mha,l,V 1,l,V 153,tc,V 1,c,q,dig,V 0,q,mha,l0,q,qi,W(zero_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,jinf,V 173,dig,V 0,q,qi,I(1),li,rvec+5,tc,V 2,c,bury,V 0,mla,l,V 0,q,dig,V 1,q,mha,l,V 1,l,V 155,tc,V 2,c,q,dig,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 12,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,j,V 2,dig,V 0,q,dig,V 0,jif,V 23,dig,V 3,q,dig,V 1,q,qi,F,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V 3,c,j,V 2,t,F,jif,V 15,qi,W(duplicate_slot_name),dig,V 2,q,mha,l,V 1,l,V 116,tc,V 2,c,j,V 65,dig,V 1,q,mha,l,V 1,l,V 134,tc,V 1,c,jif,V 31,mla,l,V 0,q,dig,V 3,q,dig,V 3,q,qi,T,mha,l,V 1,l,V 104,tc,V 2,c,q,mha,l,V 1,l,V 155,tc,V -3,c,j,V 0,dig,V 3,q,dig,V 1,q,qi,T,mha,l0,q,qi,W(dict_ref),t,&NN_dict_ref_2,tc,V 2,c,tc,V -3,c,ds,V 1,ds,V 1,j,V -191,ds,V 1,ds,V 1,mla,l,V 1,jif,V 41,mla,l,V 1,q,dig,V 0,q,mha,l0,q,qi,W(class_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,jinf,V 15,qi,W(class_huh),dig,V 1,q,mha,l,V 1,l,V 116,tc,V 2,c,j,V 0,ds,V 1,j,V 0,mha,l0,q,qi,W(LTclassGT),t,&NN_dict_ref_2,tc,V 2,c,q,mha,l0,q,qi,W(make_instance),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,mlt,s,V 2,qi,F,mla,l,V 1,jif,V 7,mla,l,V 1,l,V 4,j,V 2,t,Q,q,mla,l,V 0,q,mla,l,V 1,q,mla,l,V 2,pt,st,V 2,pt,st,V 3,pt,st,V 4,pt,st,V 5,mla,l,V 2,r}; void*Y241[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l,V 1,l,V 102,tc,V 1,c,jif,V 39,dig,V 0,q,mha,l0,q,qi,W(class_of),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,mha,l,V 2,l,V 0,q,mha,l0,q,qi,W(subclass_huh),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,ds,V 1,r,t,F,ds,V 1,r}; void*Y242[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 1,binzc,&branch_EVM_invargca,mlt,p,s,V 0,t,B 241,q,qi,V 2,qh,ql,li,rvec+19,tc,V 4,c,r}; void*Y243[]={j,V 1,V 0,binc,&branch_EVM_invargc,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l,V 2,l,V 5,q,mha,l0,q,qi,W(memq),t,&NN_dict_ref_2,tc,V 2,c,tc,V 2,c,jinf,V 28,dig,V 0,q,mha,l,V 2,l,V 5,q,mha,l,V 1,l,V 84,tc,V 2,c,mat,mha,l,V 2,st,V 5,t,Z,ds,V 1,r,t,Z,ds,V 1,r}; void*Y244[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 1,mca,subc,V 1,binzc,&branch_EVM_invargca,dig,V 0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 375,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,mlt,s,V 0,mla,l,V 0,xri,W(friend),jinz,V 167,qi,W(DEFINE),dig,V 1,q,mha,l0,q,qi,W(caadr),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,qi,W(lambda),dig,V 3,q,mha,l0,q,qi,W(cdadr),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,qi,W(WITHIN),mha,l,V 2,l,V 9,q,dig,V 6,q,mha,l0,q,qi,W(cadadr),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,dig,V 7,q,mha,l0,q,qi,W(cddr),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,ds,V 1,r,dig,V 0,q,li,rvec+10,tc,V 1,c,ct,l0,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 162,qi,W(DEFINE),dig,V 1,q,mha,l0,q,qi,W(caar),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,qi,W(lambda),dig,V 3,q,mha,l0,q,qi,W(cdar),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,qi,W(WITHIN),mha,l,V 2,l,V 9,q,dig,V 6,q,mha,l0,q,qi,W(cadar),t,&NN_dict_ref_2,tc,V 2,c,tc,V 1,c,q,dig,V 7,q,li,rvec+10,tc,V 1,c,ct,l,V 1,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,qi,Q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,q,mha,l,V 1,l,V 84,tc,V 2,c,ds,V 1,r,t,BC 7,ds,V 1,r,t,BC 7,ds,V 1,r}; -void*Y245[]={j,V 1,V 0,binc,&branch_EVM_invargc,hop,V 11,mca,subc,V 2,binc,&branch_EVM_invargca,mlt,qi,Q,inc,dcc,jizc,V 15,t,rvec,sc,V 12,t,&NN_cons,tc,V 2,c,q,li,rvec+12,mac,j,V -18,p,mlt,s,V 2,p,s,V 1,p,s,V 0,mla,l,V 1,q,mha,l,V 1,l,V 85,tc,V 1,c,jif,V 29,mla,l,V 0,q,mla,l,V 1,q,mha,l0,q,qi,W(second),t,&NN_dict_r... [truncated message content] |
From: <di...@us...> - 2002-09-04 14:26:59
|
Update of /cvsroot/wisp/wisp/src/builtin In directory usw-pr-cvs1:/tmp/cvs-serv28473/src/builtin Modified Files: dictbase.wisp stdenv.wisp sys.wisp Log Message: Converted sys.nasm to sys.wth and death.c to death.wth . Index: dictbase.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/dictbase.wisp,v retrieving revision 1.233 retrieving revision 1.234 diff -u -d -r1.233 -r1.234 --- dictbase.wisp 26 Aug 2002 16:18:23 -0000 1.233 +++ dictbase.wisp 4 Sep 2002 14:26:56 -0000 1.234 @@ -155,14 +155,6 @@ (local sys:getppid (asm NN_sys_getppid)) (local sys:getuid (asm NN_sys_getuid)) (local sys:lstat (asm NN_sys_lstat)) -(local sys:ns:close (asm NN_sys_ns_close)) -(local sys:ns:dup (asm NN_sys_ns_dup)) -(local sys:ns:dup2 (asm NN_sys_ns_dup2)) -(local sys:ns:fork (asm NN_sys_ns_fork)) -(local sys:ns:getpgid (asm NN_sys_ns_getpgid)) -(local sys:ns:kill (asm NN_sys_ns_kill)) -(local sys:ns:listen (asm NN_sys_ns_listen)) -(local sys:ns:setsid (asm NN_sys_ns_setsid)) (local sys:select (asm NN_sys_select)) (local sys:stat (asm NN_sys_stat)) (local truncate (asm NN_truncate)) Index: stdenv.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/stdenv.wisp,v retrieving revision 1.353 retrieving revision 1.354 diff -u -d -r1.353 -r1.354 --- stdenv.wisp 26 Aug 2002 16:20:08 -0000 1.353 +++ stdenv.wisp 4 Sep 2002 14:26:56 -0000 1.354 @@ -19,12 +19,10 @@ sys:getcwd sys:getegid sys:geteuid sys:getgid sys:getpgid sys:getpgrp sys:getpid sys:getppid sys:getuid sys:kill sys:link sys:listen sys:lseek sys:lstat sys:mkdir - sys:nanosleep sys:ns:close sys:ns:dup sys:ns:dup2 sys:ns:fork - sys:ns:getpgid sys:ns:kill sys:ns:listen sys:ns:setsid - sys:open sys:pipe sys:read sys:rename sys:select sys:setpgid - sys:setpgrp sys:setsid sys:stat sys:symlink sys:tcgetattr - sys:tcsetattr sys:truncate sys:unlink sys:waitpid - sys:write))))) + sys:nanosleep sys:open sys:pipe sys:read sys:rename + sys:select sys:setpgid sys:setpgrp sys:setsid sys:stat + sys:symlink sys:tcgetattr sys:tcsetattr sys:truncate + sys:unlink sys:waitpid sys:write))))) (define (provide-syscalls target) (for-each (lambda (p) Index: sys.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/sys.wisp,v retrieving revision 1.104 retrieving revision 1.105 diff -u -d -r1.104 -r1.105 --- sys.wisp 26 Aug 2002 16:18:24 -0000 1.104 +++ sys.wisp 4 Sep 2002 14:26:56 -0000 1.105 @@ -16,59 +16,26 @@ (eq? sig 'EAGAIN))) (raise sig datum)))) -(define (sys:setsid) - (my pid (sys:ns:setsid) - (if (negative? pid) - (signal-system-error pid `(sys:setsid)) - pid))) - -(define (sys:fork) - (my pid (sys:ns:fork) - (if (negative? pid) - (signal-system-error pid `(sys:fork)) - pid))) - -(define (sys:close fd) - (my res (sys:ns:close fd) - (if (negative? res) - (signal-system-error res `(sys:close ,fd)) - (begin)))) - -(define (sys:dup fd) - (my res (sys:ns:dup fd) - (if (negative? res) - (signal-system-error res `(sys:dup ,fd)) - res))) - -(define (sys:dup2 oldfd newfd) - (my res (sys:ns:dup2 oldfd newfd) - (if (negative? res) - (signal-system-error res `(sys:dup2 ,oldfd ,newfd)) - res))) - -(define (sys:listen s backlog) - (my res (sys:ns:listen s backlog) - (if (negative? res) - (signal-system-error res `(sys:listen ,s ,backlog)) - (begin)))) - -(define (sys:kill pid sig) - (my res (sys:ns:kill pid sig) - (if (negative? res) - (signal-system-error res `(sys:kill ,pid ,sig)) - (begin)))) - -(define (sys:getpgid pid) - (my res (sys:ns:getpgid pid) - (if (negative? res) - (signal-system-error res `(sys:getpgid ,pid)) - res))) - -(local (sys:setpgid pid pgid) - (my res (encsi ((asm NN_sys_raw_setpgid) (decsi pid) (decsi pgid))) - (if (negative? res) - (signal-system-error res `(sys:setpgid ,pid ,pgid)) - (begin)))) +(metacode + (cons 'begin + (map (lambda (item) + (my (nroot . fargs) item + `(define (,(string->symbol "sys:$[nroot]") ,@fargs) + (my result ((asm ,(string->symbol "NN_sys_ns_$[nroot]")) ,@fargs) + (if (negative? result) + (signal-system-error + result (list ',(string->symbol "sys:$[nroot]") + ,@fargs)) + result))))) + '((close fd) + (dup fd) + (dup2 oldfd newfd) + (fork) + (getpgid pid) + (kill pid sig) + (listen s backlog) + (setpgid pid pgid) + (setsid))))) (local (sys:getpgrp) (sys:getpgid 0)) |
From: <di...@us...> - 2002-09-04 14:25:44
|
Update of /cvsroot/wisp/wisp/tools In directory usw-pr-cvs1:/tmp/cvs-serv28382/tools Modified Files: worth Log Message: Improved Worth's comparison handling. Index: worth =================================================================== RCS file: /cvsroot/wisp/wisp/tools/worth,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- worth 31 Aug 2002 14:29:22 -0000 1.21 +++ worth 4 Sep 2002 14:25:41 -0000 1.22 @@ -18,6 +18,63 @@ (define builtin-words '(< <= <> = > >= begin else if then u< u<= u> u>= until)) +(define (other op c) + (cond + ((eq? op (car c)) (cdr c)) + ((eq? op (cdr c)) (car c)) + (else #f))) + +(define (negate-comparison op) + (any (cut other op <>) + '((= . <>) + (< . >=) + (> . <=) + (u< . u>=) + (u> . u<=)))) + +(define (reverse-comparison op) + (any (cut other op <>) + '((= . =) + (<> . <>) + (< . >) + (<= . >=) + (u< . u>) + (u<= . u>=)))) + +(define (jumpify-comparison op) + (cdr (assq op '((= . \=?j) + (<> . \<>?j) + (< . \<?j) + (<= . \<=?j) + (> . \>?j) + (>= . \>=?j) + (u< . \u<?j) + (u<= . \u<=?j) + (u> . \u>?j) + (u>= . \u>=?j) + (0= . \0=?j) + (0<> . \0<>?j) + (0< . \0<?j) + (0<= . \0<=?j) + (0> . \0>?j) + (0>= . \0>=?j) + (0u< . \0u<?j) + (0u<= . \0u<=?j) + (0u> . \0u>?j) + (0u>= . \0u>=?j))))) + +(define (zerofy-comparison op) + (cdr (assq op '((= . 0=) + (<> . 0<>) + (< . 0<) + (<= . 0<=) + (> . 0>) + (>= . 0>=) + (u< . 0u<) + (u<= . 0u<=) + (u> . 0u>) + (u>= . 0u>=))))) + (define macro-box (make-box '())) (define def-box (make-box #f)) (define known-procedure-box (make-box '())) @@ -26,10 +83,10 @@ (define (word-class word) (cond ((cpu-register? word) 'register) - ((keyword? word) 'keyword) ((memq word known-procedure-box[]) 'procedure) ((assq word macro-box[]) 'macro) ((memq word builtin-words) 'builtin) + ((keyword? word) 'keyword) (else #f))) (define code-box ; a list of codeblocks @@ -329,215 +386,277 @@ (use-- (list-ref regstack i)) (set! regstack (append (take regstack i) (drop regstack (+ i 1))))) + ((conditional-jump target) + (my (op a b) (car regstack) + (cdr! regstack) + (cond + ((and (zero? b) + (zerofy-comparison op) + => jumpify-comparison -> w + (eq? (word-class w) 'macro) + w) + => (lambda (w) + (cons! regstack a) + (cons! regstack target) + (my sl (length regstack) + (process-word w #t) + (if (/= (length regstack) sl) + (raise 'improper w))) + (delete 0) + (delete 0))) + (else + (cons! regstack a) + (cons! regstack b) + (cons! regstack target) + (my sl (length regstack) + (my w (jumpify-comparison op) + (process-word w #t) + (if (/= (length regstack) sl) + (raise 'improper w)))) + (delete 0) + (delete 0) + (delete 0))))) ((process-word word suppress?) (if (and (not suppress?) skip-assembly?[] => (cut >= <> 2)) (emit (list '() 'word word))) - (case word - (integer? (cons! regstack word)) - (char? (cons! regstack (char->integer word))) - (string? (my name (genname) - (add-string name word) - (cons! regstack name) - (cons! regstack (string-length word)))) - ((= <> < <= > >= u< u<= u> u>=) - ; make an expression - (stack>=! 2) - (my b (car regstack) - (cdr! regstack) - (my a (car regstack) - (cdr! regstack) - (cons! regstack (list word a b))))) - ((if) (stack=! 1) - (->register 0) - (my l (gen-label) - (cons! synstack (cons 'if l)) - - (emit `(test ,(car regstack) ,(car regstack))) - (emit `(jmp %?z ,l))) - (delete 0)) - ((else) (flush) - (case (and (cons? synstack) (caar synstack)) - ((if) (my l2 (gen-label) - (emit `(jmp ,l2)) - (emit (cdar synstack)) - (cdr! synstack) - (cons! synstack (cons 'else l2)))) - (else (raise 'unexpected-else name)))) - ((then) (flush) - (case (and (cons? synstack) (caar synstack)) - ((if else) (emit (cdar synstack)) - (cdr! synstack)) - (else (raise 'unexpected-then name)))) - ((begin) (flush) - (my l (gen-label) - (emit l) - (cons! synstack (cons 'begin l)))) - ((until) (stack=! 1) - (->register 0) - (my reg (car regstack) - (case (and (cons? synstack) (caar synstack)) - ((begin) (emit `(test ,reg ,reg)) - (emit `(jmp %?z ,(cdar synstack))) - (delete 0) - (cdr! synstack)) - (else (raise 'unexpected-until name))))) - (cons? - (case (car word) - ((quote) (if (not (and (cons? (cdr word)) - (null? (cddr word)))) - (raise 'worth-word? word)) - (my sym (second word) - (type symbol sym) - (if (memq sym known-procedure-box[]) - (cons! regstack sym) - (raise 'undefined sym)))) - ((unquote) (if (not (and (cons? (cdr word)) - (null? (cddr word)))) - (raise 'worth-word? word)) - (emit (if (symbol? (second word)) - (second word) - (let (loop (l (second word))) - (map (lambda (item) - (cond - ((not (cons? item)) - item) - ((eq? (car item) - 'unquote) - (list-ref regstack - (second - item))) - (else - (loop item)))) - l))))) - ((flush) (if (not (null? (cdr word))) - (raise 'worth-word? word)) - (flush)) - ((register) (let (loop) - (my r (pick-register - (and (cons? (cdr word)) - (cdr word))) - (if r - (cons! regstack r) - (begin - (if (cons? (last regstack)) - ; We've run out of registers and the bottom - ; register is an expression. This is bad. - (raise 'deadlock regstack)) - (enstack) - (loop)))))) - ((copy) (if (not (and (cons? (cdr word)) - (null? (cddr word)))) - (raise 'worth-word? word)) - (copy (second word))) - ((delete) (if (not (and (cons? (cdr word)) - (null? (cddr word)))) - (raise 'worth-word? word)) - (delete (second word))) - ((->reg) (case (length word) - ((1) (raise 'worth-word? word)) - ((2) (->register (second word))) - ((3) (->register (second word) - (cddr word))) - (else (raise 'worth-word? word)))) - ((->ureg) (if (not (and (cons? (cdr word)) + (case word + (integer? (cons! regstack word)) + (char? (cons! regstack (char->integer word))) + (string? (my name (genname) + (add-string name word) + (cons! regstack name) + (cons! regstack (string-length word)))) + ((= <> < <= > >= u< u<= u> u>=) + ; force stack depth + (stack>=! 2) + ; normalize operand order + (my (b a) regstack + (if (and (cons? b) + (or (integer? a) + (and (symbol? a) + (not (cpu-register? a))))) + (begin + (set! regstack `(,a ,b ,@(cddr regstack))) + (set! word (reverse-comparison word))))) + (cond + ((and (zero? (car regstack)) + (or (eq? word '<>) + (eq? word '=)) + (cons? (cadr regstack)) + (memq (caadr regstack) + '(= <> < <= > >= u< u<= u> u>=))) + (cdr! regstack) ; drop the zero + (if (eq? word '=) + (set! (caar regstack) + (negate-comparison (caar regstack))))) + (else + ; reduce subexpressions + (if (cons? (second regstack)) + (->register 1)) + (if (cons? (first regstack)) + (->register 0)) + ; make an expression + (my b (car regstack) + (cdr! regstack) + (my a (car regstack) + (cdr! regstack) + (cons! regstack (list word a b))))))) + ((if) + ; booleanize and negate the stacktop + (process-word 0 suppress?) + (process-word '= suppress?) + ; force stack depth + (stack=! 1) + ; jump + (my l (gen-label) + (conditional-jump l) + (cons! synstack (cons 'if l)))) + ((else) (flush) + (case (and (cons? synstack) (caar synstack)) + ((if) (my l2 (gen-label) + (emit `(jmp ,l2)) + (emit (cdar synstack)) + (cdr! synstack) + (cons! synstack (cons 'else l2)))) + (else (raise 'unexpected-else name)))) + ((then) (flush) + (case (and (cons? synstack) (caar synstack)) + ((if else) (emit (cdar synstack)) + (cdr! synstack)) + (else (raise 'unexpected-then name)))) + ((begin) (flush) + (my l (gen-label) + (emit l) + (cons! synstack (cons 'begin l)))) + ((until) + ; booleanize and negate the stacktop + (process-word 0 suppress?) + (process-word '= suppress?) + ; force stack depth + (stack=! 1) + ; jump + (case (and (cons? synstack) (caar synstack)) + ((begin) + (conditional-jump (cdar synstack)) + (cdr! synstack)) + (else (raise 'unexpected-until name)))) + (cons? + (case (car word) + ((quote) (if (not (and (cons? (cdr word)) + (null? (cddr word)))) + (raise 'worth-word? word)) + (my sym (second word) + (type symbol sym) + (if (memq sym known-procedure-box[]) + (cons! regstack sym) + (raise 'undefined sym)))) + ((unquote) (if (not (and (cons? (cdr word)) + (null? (cddr word)))) + (raise 'worth-word? word)) + (emit (if (symbol? (second word)) + (second word) + (let (loop (l (second word))) + (map (lambda (item) + (cond + ((not (cons? item)) + item) + ((eq? (car item) + 'unquote) + (list-ref regstack + (second + item))) + (else + (loop item)))) + l))))) + ((flush) (if (not (null? (cdr word))) + (raise 'worth-word? word)) + (flush)) + ((register) (let (loop) + (my r (pick-register + (and (cons? (cdr word)) + (cdr word))) + (if r + (cons! regstack r) + (begin + (if (cons? (last regstack)) + ; We've run out of registers and the bottom + ; register is an expression. This is bad. + (raise 'deadlock regstack)) + (enstack) + (loop)))))) + ((copy) (if (not (and (cons? (cdr word)) (null? (cddr word)))) (raise 'worth-word? word)) - (->unaliased-register (second word))) - ((stack>=!) (if (not (and (cons? (cdr word)) - (null? (cddr word)))) - (raise 'worth-word? word)) - (stack>=! (second word))) - ((stack<=!) (if (not (and (cons? (cdr word)) + (copy (second word))) + ((delete) (if (not (and (cons? (cdr word)) (null? (cddr word)))) (raise 'worth-word? word)) - (stack<=! (second word))) - ((stack=!) (if (not (and (cons? (cdr word)) + (delete (second word))) + ((->reg) (case (length word) + ((1) (raise 'worth-word? word)) + ((2) (->register (second word))) + ((3) (->register (second word) + (cddr word))) + (else (raise 'worth-word? word)))) + ((->ureg) (if (not (and (cons? (cdr word)) (null? (cddr word)))) (raise 'worth-word? word)) - (stack=! (second word))) - ((remember) (if (not (and (cons? (cdr word)) + (->unaliased-register (second word))) + ((stack>=!) (if (not (and (cons? (cdr word)) + (null? (cddr word)))) + (raise 'worth-word? word)) + (stack>=! (second word))) + ((stack<=!) (if (not (and (cons? (cdr word)) + (null? (cddr word)))) + (raise 'worth-word? word)) + (stack<=! (second word))) + ((stack=!) (if (not (and (cons? (cdr word)) (null? (cddr word)))) (raise 'worth-word? word)) - (set! reminder (drop regstack - (second word)))) - ((if-int-const) (if (not (and (cons? (cdr word)) - (cons? (cddr word)) - (cons? (cdddr word)) - (null? (cddddr word)))) - (raise 'worth-word? word)) - (my (i pos neg) (cdr word) - (process-word-list - (if (and (> (length regstack) i) - (integer? (list-ref regstack i))) - pos - neg) - suppress?))) - ((if-empty) (if (not (and (cons? (cdr word)) - (cons? (cddr word)) - (null? (cdddr word)))) - (raise 'worth-word? word)) - (my (pos neg) (cdr word) - (process-word-list - (if (null? regstack) - pos - neg) - suppress?))) - ((binary) (if (not (cons? (cdr word))) - (raise 'worth-word? word)) - (my (oper . code) (cdr word) - (if (and (cons? regstack) - (integer? (car regstack)) - (cons? (cdr regstack)) - (integer? (cadr regstack))) - (my (b a . rest) regstack - (set! regstack - (cons - (case oper - ((+) (+ a b)) - ((-) (- a b)) - ((*) (* a b)) - ((/) (quotient a b)) - ((mod) (remainder a b)) - ((lshift) (<< (reduce-to-utetra a) - b)) - ((rshift) (>> (reduce-to-utetra a) - b)) - (else (raise 'binary-operator? oper))) - rest))) - (process-word-list code #t)))) - ((believe) (my claim (cdr word) - (set! regstack - (if (and (not (null? claim)) - (eq? (car claim) '*)) - (append-reverse (cdr claim) reminder) - (reverse claim))) - (set! regref# - (map (cut cons <> 0) - '(%eax %ebx %ecx %edi - %edx %esi))) - (for-each use++ regstack))) - ((fra) (my l (string->symbol - "$[name]$,(gen-label)") - (cons! synstack (cons 'fra l)) - (cons! regstack l))) - ((here) (my reg (car regstack) - (case (and (cons? synstack) - (caar synstack)) - ((fra) (emit (cdar synstack)) - (delete 0) - (cdr! synstack)) - (else (raise 'unexpected-here name))))) - (else (raise 'worth-word? word)))) - (else - (cond - ((assq word macro-box[]) - => (serial cdr (cut process-word-list <> #t))) - ((memq word known-procedure-box[]) - (flush) - (emit `(call ,word))) - (else - (raise 'worth-word? word))))) + (stack=! (second word))) + ((remember) (if (not (and (cons? (cdr word)) + (null? (cddr word)))) + (raise 'worth-word? word)) + (set! reminder (drop regstack + (second word)))) + ((if-int-const) (if (not (and (cons? (cdr word)) + (cons? (cddr word)) + (cons? (cdddr word)) + (null? (cddddr word)))) + (raise 'worth-word? word)) + (my (i pos neg) (cdr word) + (process-word-list + (if (and (> (length regstack) i) + (integer? (list-ref regstack i))) + pos + neg) + suppress?))) + ((if-empty) (if (not (and (cons? (cdr word)) + (cons? (cddr word)) + (null? (cdddr word)))) + (raise 'worth-word? word)) + (my (pos neg) (cdr word) + (process-word-list + (if (null? regstack) + pos + neg) + suppress?))) + ((binary) (if (not (cons? (cdr word))) + (raise 'worth-word? word)) + (my (oper . code) (cdr word) + (if (and (cons? regstack) + (integer? (car regstack)) + (cons? (cdr regstack)) + (integer? (cadr regstack))) + (my (b a . rest) regstack + (set! regstack + (cons + (case oper + ((+) (+ a b)) + ((-) (- a b)) + ((*) (* a b)) + ((/) (quotient a b)) + ((mod) (remainder a b)) + ((lshift) (<< (reduce-to-utetra a) + b)) + ((rshift) (>> (reduce-to-utetra a) + b)) + (else (raise 'binary-operator? oper))) + rest))) + (process-word-list code #t)))) + ((believe) (my claim (cdr word) + (set! regstack + (if (and (not (null? claim)) + (eq? (car claim) '*)) + (append-reverse (cdr claim) reminder) + (reverse claim))) + (set! regref# + (map (cut cons <> 0) + '(%eax %ebx %ecx %edi + %edx %esi))) + (for-each use++ regstack))) + ((fra) (my l (string->symbol + "$[name]$,(gen-label)") + (cons! synstack (cons 'fra l)) + (cons! regstack l))) + ((here) (my reg (car regstack) + (case (and (cons? synstack) + (caar synstack)) + ((fra) (emit (cdar synstack)) + (delete 0) + (cdr! synstack)) + (else (raise 'unexpected-here name))))) + (else (raise 'worth-word? word)))) + (else + (cond + ((assq word macro-box[]) + => (serial cdr (cut process-word-list <> #t))) + ((memq word known-procedure-box[]) + (flush) + (emit `(call ,word))) + (else + (raise 'worth-word? word))))) (if (and (not suppress?) skip-assembly?[] => (cut >= <> 3)) (emit (list '() 'stack (reverse regstack)))))) |