version 1.140, 2003/08/04 20:32:34
|
version 1.146, 2004/08/26 15:50:44
|
Line 447 sourcepath value fpath
|
Line 447 sourcepath value fpath
|
\G Make a complete new Forth search path; the path separator is |. |
\G Make a complete new Forth search path; the path separator is |. |
fpath path= ; |
fpath path= ; |
|
|
: path>counted cell+ dup cell+ swap @ ; |
: path>string cell+ dup cell+ swap @ ; |
|
|
: next-path ( adr len -- adr2 len2 ) |
: next-path ( adr len -- adr2 len2 ) |
2dup 0 scan |
2dup 0 scan |
Line 456 sourcepath value fpath
|
Line 456 sourcepath value fpath
|
r> - ; |
r> - ; |
|
|
: previous-path ( path^ -- ) |
: previous-path ( path^ -- ) |
dup path>counted |
dup path>string |
BEGIN tuck dup WHILE repeat ; |
BEGIN tuck dup WHILE repeat ; |
|
|
: .path ( path-addr -- ) \ gforth |
: .path ( path-addr -- ) \ gforth |
\G Display the contents of the search path @var{path-addr}. |
\G Display the contents of the search path @var{path-addr}. |
path>counted |
path>string |
BEGIN next-path dup WHILE type space REPEAT 2drop 2drop ; |
BEGIN next-path dup WHILE type space REPEAT 2drop 2drop ; |
|
|
: .fpath ( -- ) \ gforth |
: .fpath ( -- ) \ gforth |
Line 546 Create tfile 0 c, 255 chars allot
|
Line 546 Create tfile 0 c, 255 chars allot
|
IF rdrop |
IF rdrop |
ofile place open-ofile |
ofile place open-ofile |
dup 0= IF >r ofile count r> THEN EXIT |
dup 0= IF >r ofile count r> THEN EXIT |
ELSE r> path>counted |
ELSE r> path>string |
BEGIN next-path dup |
BEGIN next-path dup |
WHILE 5 pick 5 pick check-path |
WHILE 5 pick 5 pick check-path |
0= IF >r 2drop 2drop r> ofile count 0 EXIT ELSE drop THEN |
0= IF >r 2drop 2drop r> ofile count 0 EXIT ELSE drop THEN |
Line 1177 false DefaultValue new-input
|
Line 1177 false DefaultValue new-input
|
false DefaultValue peephole |
false DefaultValue peephole |
false DefaultValue abranch |
false DefaultValue abranch |
true DefaultValue f83headerstring |
true DefaultValue f83headerstring |
true DefaultValue control-rack |
true DefaultValue control-rack |
[THEN] |
[THEN] |
|
|
true DefaultValue gforthcross |
true DefaultValue gforthcross |
Line 1722 Ghost (do) Ghost (?do)
|
Line 1722 Ghost (do) Ghost (?do)
|
Ghost (for) drop |
Ghost (for) drop |
Ghost (loop) Ghost (+loop) 2drop |
Ghost (loop) Ghost (+loop) 2drop |
Ghost (next) drop |
Ghost (next) drop |
Ghost (does>) Ghost (compile) 2drop |
Ghost (does>) Ghost (does>1) Ghost (does>2) 2drop drop |
|
Ghost compile, drop |
Ghost (.") Ghost (S") Ghost (ABORT") 2drop drop |
Ghost (.") Ghost (S") Ghost (ABORT") 2drop drop |
Ghost (C") Ghost c(abort") Ghost type 2drop drop |
Ghost (C") Ghost c(abort") Ghost type 2drop drop |
Ghost ' drop |
Ghost ' drop |
Line 2026 variable ResolveFlag
|
Line 2027 variable ResolveFlag
|
\ Header states 12dec92py |
\ Header states 12dec92py |
|
|
\ : flag! ( 8b -- ) tlast @ dup >r T c@ xor r> c! H ; |
\ : flag! ( 8b -- ) tlast @ dup >r T c@ xor r> c! H ; |
bigendian [IF] 0 [ELSE] tcell 1- [THEN] Constant flag+ |
X has? f83headerstring bigendian or [IF] 0 [ELSE] tcell 1- [THEN] Constant flag+ |
: flag! ( w -- ) tlast @ flag+ + dup >r T c@ xor r> c! H ; |
: flag! ( w -- ) tlast @ flag+ + dup >r T c@ xor r> c! H ; |
|
|
VARIABLE ^imm |
VARIABLE ^imm |
Line 2631 T has? peephole H [IF]
|
Line 2632 T has? peephole H [IF]
|
|
|
>TARGET |
>TARGET |
Cond: DOES> |
Cond: DOES> |
compile (does>) doeshandler, |
T here 5 cells H + alit, compile (does>2) compile ;s |
resolve-does>-part |
doeshandler, resolve-does>-part |
;Cond |
;Cond |
|
|
: DOES> |
: DOES> |
Line 3247 Cond: postpone ( -- ) \ name
|
Line 3248 Cond: postpone ( -- ) \ name
|
ABORT" CROSS: Can't postpone on forward declaration" |
ABORT" CROSS: Can't postpone on forward declaration" |
dup >magic @ <imm> = |
dup >magic @ <imm> = |
IF (gexecute) |
IF (gexecute) |
ELSE compile (compile) addr, THEN ;Cond |
ELSE >link @ alit, compile compile, THEN ;Cond |
|
|
\ save-cross 17mar93py |
\ save-cross 17mar93py |
|
|