| : prompt state @ IF ." compiled" EXIT THEN ." ok" ; |
: prompt state @ IF ." compiled" EXIT THEN ." ok" ; |
| |
|
| : (Query) ( -- ) |
: (Query) ( -- ) |
| loadfile off blk off refill drop ; |
loadfile off blk off loadline off refill drop ; |
| |
|
| : (quit) BEGIN .status cr (query) interpret prompt AGAIN ; |
: (quit) BEGIN .status cr (query) interpret prompt AGAIN ; |
| |
|
| ' (DoError) IS DoError |
' (DoError) IS DoError |
| |
|
| : quit ( ?? -- ?? ) \ core |
: quit ( ?? -- ?? ) \ core |
| rp0 @ rp! handler off >tib @ >r |
rp0 @ rp! handler off clear-tibstack >tib @ >r |
| BEGIN |
BEGIN |
| [ has? compiler [IF] ] |
[ has? compiler [IF] ] |
| postpone [ |
postpone [ |
| bootmessage |
bootmessage |
| loadline off quit ; |
loadline off quit ; |
| |
|
| : boot ( path **argv argc -- ) |
: clear-tibstack ( -- ) |
| main-task up! |
|
| [ has? os [IF] ] |
|
| stdout TO outfile-id |
|
| \ !! [ [THEN] ] |
|
| \ !! [ has? file [IF] ] |
|
| argc ! argv ! pathstring 2! |
|
| [ [THEN] ] |
|
| sp@ sp0 ! |
|
| [ has? glocals [IF] ] |
[ has? glocals [IF] ] |
| lp@ forthstart 7 cells + @ - |
lp@ forthstart 7 cells + @ - |
| [ [ELSE] ] |
[ [ELSE] ] |
| sp@ $40 + |
sp@ $40 + |
| [ [THEN] ] |
[ [THEN] ] |
| [ [THEN] ] |
[ [THEN] ] |
| dup >tib ! tibstack ! #tib off >in off |
dup >tib ! tibstack ! #tib off >in off ; |
| |
|
| |
: boot ( path **argv argc -- ) |
| |
main-task up! |
| |
[ has? os [IF] ] |
| |
stdout TO outfile-id |
| |
\ !! [ [THEN] ] |
| |
\ !! [ has? file [IF] ] |
| |
argc ! argv ! pathstring 2! |
| |
[ [THEN] ] |
| |
sp@ sp0 ! |
| |
clear-tibstack |
| rp@ rp0 ! |
rp@ rp0 ! |
| [ has? floating [IF] ] |
[ has? floating [IF] ] |
| fp@ fp0 ! |
fp@ fp0 ! |