version 1.143, 2003/09/01 22:12:46
|
version 1.147, 2003/11/02 22:15:28
|
Line 136
|
Line 136
|
\ throw execute, cfa and NEXT1 out? |
\ throw execute, cfa and NEXT1 out? |
\ macroize *ip, ip++, *ip++ (pipelining)? |
\ macroize *ip, ip++, *ip++ (pipelining)? |
|
|
|
\ Stack caching setup |
|
|
|
ifdef(`M4_ENGINE_FAST', `include(cache1.vmg)', `include(cache0.vmg)') |
|
|
\ these m4 macros would collide with identifiers |
\ these m4 macros would collide with identifiers |
undefine(`index') |
undefine(`index') |
undefine(`shift') |
undefine(`shift') |
Line 1400 longname2=listlfind(c_addr, u, longname1
|
Line 1404 longname2=listlfind(c_addr, u, longname1
|
REPEAT THEN nip nip ; |
REPEAT THEN nip nip ; |
: (findl-samelen) ( u longname1 -- u longname2/0 ) |
: (findl-samelen) ( u longname1 -- u longname2/0 ) |
BEGIN 2dup cell+ @ lcount-mask and <> WHILE @ dup 0= UNTIL THEN ; |
BEGIN 2dup cell+ @ lcount-mask and <> WHILE @ dup 0= UNTIL THEN ; |
|
: capscomp ( c_addr1 u c_addr2 -- n ) |
|
swap bounds |
|
?DO dup c@ I c@ <> |
|
IF dup c@ toupper I c@ toupper = |
|
ELSE true THEN WHILE 1+ LOOP drop 0 |
|
ELSE c@ toupper I c@ toupper - unloop THEN sgn ; |
|
: sgn ( n -- -1/0/1 ) |
|
dup 0= IF EXIT THEN 0< 2* 1+ ; |
|
|
\+hash |
\+hash |
|
|
Line 2517 a_addr = groups;
|
Line 2529 a_addr = groups;
|
|
|
\g static_super |
\g static_super |
|
|
\C #if !defined(GFORTH_DEBUGGING) && !defined(INDIRECT_THREADED) && !defined(DOUBLY_INDIRECT) && !defined(VM_PROFILING) |
ifdef(`M4_ENGINE_FAST', |
|
`include(peeprules.vmg)') |
include(peeprules.vmg) |
|
|
|
\C #endif |
|
|
|
\g end |
\g end |