| (name>x) tuck (x>int) ( b xt ) |
(name>x) tuck (x>int) ( b xt ) |
| swap immediate-mask and flag-sign ; |
swap immediate-mask and flag-sign ; |
| |
|
| |
const Create ??? 0 , 3 c, char ? c, char ? c, char ? c, |
| |
\ ??? is used by dovar:, must be created/:dovar |
| |
|
| |
[IFDEF] forthstart |
| |
\ if we have a forthstart we can define head? with it |
| |
\ otherwise leave out the head? check |
| |
|
| : head? ( addr -- f ) |
: head? ( addr -- f ) |
| \G heuristic check whether addr is a name token; may deliver false |
\G heuristic check whether addr is a name token; may deliver false |
| \G positives; addr must be a valid address |
\G positives; addr must be a valid address |
| \ in dubio pro: |
\ in dubio pro: |
| drop true ; |
drop true ; |
| |
|
| const Create ??? 0 , 3 c, char ? c, char ? c, char ? c, |
|
| \ ??? is used by dovar:, must be created/:dovar |
|
| |
|
| : >head ( cfa -- nt ) \ gforth to-head |
: >head ( cfa -- nt ) \ gforth to-head |
| $21 cell do ( cfa ) |
$21 cell do ( cfa ) |
| dup i - count $9F and + cfaligned over alias-mask + = |
dup i - count $9F and + cfaligned over alias-mask + = |
| cell +loop |
cell +loop |
| drop ??? ( wouldn't 0 be better? ) ; |
drop ??? ( wouldn't 0 be better? ) ; |
| |
|
| |
[ELSE] |
| |
|
| |
: >head ( cfa -- nt ) \ gforth to-head |
| |
$21 cell do ( cfa ) |
| |
dup i - count $9F and + cfaligned over alias-mask + = |
| |
if ( cfa ) i - cell - unloop exit |
| |
then |
| |
cell +loop |
| |
drop ??? ( wouldn't 0 be better? ) ; |
| |
|
| |
[THEN] |
| |
|
| ' >head ALIAS >name |
' >head ALIAS >name |
| |
|
| : body> 0 >body - ; |
: body> 0 >body - ; |
| \ command-line arguments |
\ command-line arguments |
| ' noop IS 'cold |
' noop IS 'cold |
| |
|
| include ../chains.fs |
include ./../chains.fs |
| |
|
| Variable init8 |
Variable init8 |
| |
|