From: George H. <geo...@us...> - 2007-04-24 09:00:24
|
Update of /cvsroot/win32forth/win32forth-stc/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv16864/win32forth-stc/src Modified Files: primhash.f Added Files: Class.f Log Message: gah: Bugfix to primhash plus partial class support (only allows BYTES type and object IVARS; no INT DINT SHORT or BYTE yet). --- NEW FILE: Class.f --- \ $Id: Class.f,v 1.1 2007/04/24 09:00:17 georgeahubert Exp $ \ --------------------------- Change Block ------------------------------- \ \ arm 15/08/2005 22:56:45 \ First version 0.1 STC based kernel \ \ \ \ ------------------------- End Change Block ----------------------------- \ \ Experimental: a fully optimising, STC based, ANS Forth compliant kernel \ \ Copyright [c] 2005 by Alex McDonald (alex at rivadpm dot com) \ Dirk Busch (dirk at win32forth.org) \ George Hubert (georgeahubert at yahoo.co.uk) \ The original Win32Forth system was public domain; this kernel (and \ currently the kernel alone) is GPL. Although the basic structure of \ Win32Forth and many of its capabilities are employed in this code, most [...1492 lines suppressed...] : GetMethod { \ m0cfa -- -<method: object>- m0cfa } \ W32F Class \ *G Return the xt of method. Used in interpretive mode or to create parsing words. @word _msgFind 1 <> abort" Undefined Method" TRUE to get-reference? \ tell do_message to return method depth >r execute to m0cfa \ execute do_message depth r> < if 0 \ if it was a class, object is NULL then to obj-save m0cfa ; : [GetMethod] ( compiling:- -<method: object>- -- ) ( runtime:- -- m0cfa ) \ W32F Class \ *G Compile the xt of the method as a literal into the current definition. Compile only. state @ >r postpone [ GetMethod r> if ] then Postpone Literal ; Immediate IN-APPLICATION only forth also definitions Index: primhash.f =================================================================== RCS file: /cvsroot/win32forth/win32forth-stc/src/primhash.f,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** primhash.f 18 Apr 2007 09:13:04 -0000 1.2 --- primhash.f 24 Apr 2007 09:00:16 -0000 1.3 *************** *** 336,344 **** : lit>OP ( n -- ) (comp-only) compilation> drop ! >r macro[ mov OP [UP], # r> ]macro ; : lit+OP ( n -- ) (comp-only) compilation> drop ! >r macro[ add OP [UP], # r> ]macro ; in-previous --- 336,344 ---- : lit>OP ( n -- ) (comp-only) compilation> drop ! >r macro[ mov OP [UP], dword # r> ]macro ; : lit+OP ( n -- ) (comp-only) compilation> drop ! >r macro[ add OP [UP], r@ 127 > if dword then # r> ]macro ; in-previous *************** *** 416,420 **** then ; )) ! IN-APPLICATION --- 416,422 ---- then ; )) ! ! in-previous ! |