version 1.95, 2001/03/17 21:36:41
|
version 1.96, 2001/03/18 22:20:26
|
Line 1777 Comment ( Comment \
|
Line 1777 Comment ( Comment \
|
ELSE postpone literal postpone gexecute THEN ; |
ELSE postpone literal postpone gexecute THEN ; |
immediate |
immediate |
|
|
|
T has? peephole H [IF] |
: (cc) compile call T >body a, H ; ' (cc) IS colon, |
: (cc) compile call T >body a, H ; ' (cc) IS colon, |
|
[ELSE] |
|
' (prim) IS colon, |
|
[THEN] |
|
|
: [G'] |
: [G'] |
\G ticks a ghost and returns its address |
\G ticks a ghost and returns its address |
Line 2043 Cond: DOES> restrict?
|
Line 2047 Cond: DOES> restrict?
|
executed-ghost @ |
executed-ghost @ |
create-forward-warn |
create-forward-warn |
IF ['] reswarn-forward IS resolve-warning THEN |
IF ['] reswarn-forward IS resolve-warning THEN |
Theader >r dup gdoes, |
Theader >r dup , dup gdoes, |
\ stores execution semantic in the built word |
\ stores execution semantic in the built word |
\ if the word already has a semantic (concerns S", IS, .", DOES>) |
\ if the word already has a semantic (concerns S", IS, .", DOES>) |
\ then keep it |
\ then keep it |
Line 2101 Cond: DOES> restrict?
|
Line 2105 Cond: DOES> restrict?
|
postpone ; ( S addr xt ) |
postpone ; ( S addr xt ) |
over >exec ! ; immediate |
over >exec ! ; immediate |
|
|
|
T has? peephole H [IF] |
: compile: ( ghost -- ghost [xt] [colon-sys] ) |
: compile: ( ghost -- ghost [xt] [colon-sys] ) |
:noname postpone g>body ; |
:noname postpone g>body ; |
: ;compile ( ghost [xt] [colon-sys] -- ghost ) |
: ;compile ( ghost [xt] [colon-sys] -- ghost ) |
postpone ; over >comp ! ; immediate |
postpone ; over >comp ! ; immediate |
|
[ELSE] |
|
: compile: ( ghost -- ghost xt colon-sys ) :noname ; |
|
: ;compile ( ghost xt colon-sys -- ghost ) |
|
postpone ; drop ; immediate |
|
[THEN] |
|
|
: by ( -- ghost ) \ Name |
: by ( -- ghost ) \ Name |
ghost >end @ ; |
ghost >end @ ; |
Line 2141 Builder Variable
|
Line 2151 Builder Variable
|
[ELSE] |
[ELSE] |
Build: T 0 , H ; |
Build: T 0 , H ; |
by Create |
by Create |
|
\ compile: alit, ;compile |
Builder Variable |
Builder Variable |
[THEN] |
[THEN] |
|
|
Line 2151 Builder 2Variable
|
Line 2162 Builder 2Variable
|
[ELSE] |
[ELSE] |
Build: T 0 , 0 , H ; |
Build: T 0 , 0 , H ; |
by Create |
by Create |
|
\ compile: alit, ;compile |
Builder 2Variable |
Builder 2Variable |
[THEN] |
[THEN] |
|
|
Line 2161 Builder AVariable
|
Line 2173 Builder AVariable
|
[ELSE] |
[ELSE] |
Build: T 0 A, H ; |
Build: T 0 A, H ; |
by Create |
by Create |
|
\ compile: alit, ;compile |
Builder AVariable |
Builder AVariable |
[THEN] |
[THEN] |
|
|