| 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 |
| 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 |
| 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 @ ; |
| [ELSE] |
[ELSE] |
| Build: T 0 , H ; |
Build: T 0 , H ; |
| by Create |
by Create |
| |
\ compile: alit, ;compile |
| Builder Variable |
Builder Variable |
| [THEN] |
[THEN] |
| |
|
| [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] |
| |
|
| [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] |
| |
|