mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-04-05 03:37:43 +00:00
Switch COMPILE/[COMPILE] to POSTPONE
This commit is contained in:
parent
fbcfae86e0
commit
974a7d63f6
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
cp ../sysfiles/BLANK140.po PLASMA-2.1-DEMOS.po
|
||||
./ac.jar -n PLASMA-2.1-DEMOS.po PLASMA.DEMOS
|
||||
cat rel/INT32TEST#FE1000 | ./ac.jar -p PLASMA-2.1-DEMOS.po demos/INT32TEST REL
|
||||
cat rel/apple/CONIOTEST#FE1000 | ./ac.jar -p PLASMA-2.1-DEMOS.po demos/CONIOTST REL
|
||||
cat rel/apple/CONIOTEST#FE1000 | ./ac.jar -p PLASMA-2.1-DEMOS.po demos/CONIOTEST REL
|
||||
cat rel/apple/ROD#FE1000 | ./ac.jar -p PLASMA-2.1-DEMOS.po demos/ROD REL
|
||||
cat rel/RPNCALC#FE1000 | ./ac.jar -p PLASMA-2.1-DEMOS.po demos/RPNCALC REL
|
||||
cat rel/LZ4CAT#FE1000 | ./ac.jar -p PLASMA-2.1-DEMOS.po demos/LZ4CAT REL
|
||||
@ -30,5 +30,3 @@ cat rel/apple/FATGET#FE1000 | ./ac.jar -p PLASMA-2.1-DEMOS.po demos/apple
|
||||
cat rel/apple/FATPUT#FE1000 | ./ac.jar -p PLASMA-2.1-DEMOS.po demos/apple2/sdutils/FATPUT REL
|
||||
cat rel/apple/FATREADDSK#FE1000 | ./ac.jar -p PLASMA-2.1-DEMOS.po demos/apple2/sdutils/FATREADDSK REL
|
||||
cat rel/apple/FATWRITEDSK#FE1000 | ./ac.jar -p PLASMA-2.1-DEMOS.po demos/apple2/sdutils/FATWRITEDSK REL
|
||||
cat rel/apple/GFXDEMO#FE1000 | ./ac.jar -p PLASMA-2.1-DEMOS.po demos/apple3/GFXDEMO REL
|
||||
cat samplesrc/APPLE3.PIX#060000 | ./ac.jar -p PLASMA-2.1-DEMOS.po demos/apple3/APPLE3.PIX BIN
|
||||
|
@ -17,3 +17,5 @@ cat inc/grafix.plh | ./ac.jar -ptx PLASMA-2.1-FPSOS.po bld/inc/G
|
||||
cat samplesrc/gfxdemo.pla | ./ac.jar -ptx PLASMA-2.1-FPSOS.po bld/samples/GFXDEMO.PLA TXT
|
||||
cat scripts/grafix.4th | ./ac.jar -ptx PLASMA-2.1-FPSOS.po sys/scripts/GRAFIX.4TH TXT
|
||||
cat scripts/gfxplot.4th | ./ac.jar -ptx PLASMA-2.1-FPSOS.po bld/scripts/GFXPLOT.4TH TXT
|
||||
cat rel/apple/GFXDEMO#FE1000 | ./ac.jar -p PLASMA-2.1-FPSOS.po demos/apple3/GFXDEMO REL
|
||||
cat samplesrc/APPLE3.PIX#060000 | ./ac.jar -p PLASMA-2.1-FPSOS.po demos/apple3/APPLE3.PIX BIN
|
||||
|
@ -74,6 +74,14 @@ cp scripts/fpu.4th prodos/sys/scripts/FPU.4TH.TXT
|
||||
|
||||
rm -rf prodos/demos
|
||||
mkdir prodos/demos
|
||||
cp rel/INT32TEST#FE1000 prodos/demos/INT32TEST.REL
|
||||
cp rel/apple/CONIOTEST#FE1000 prodos/demos/CONIOTEST.REL
|
||||
cp rel/apple/ROD#FE1000 prodos/demos/ROD.REL
|
||||
cp rel/RPNCALC#FE1000 prodos/demos/RPNCALC.REL
|
||||
cp rel/LZ4CAT#FE1000 prodos/demos/LZ4CAT.REL
|
||||
cp ../doc/ROGUE.LZ4.BIN prodos/demos/ROGUE.LZ4.BIN
|
||||
cp rel/PRIMEGAP#FE1000 prodos/demos/PRIMEGAP.REL
|
||||
|
||||
mkdir prodos/demos/rogue
|
||||
cp rel/ROGUE#FE1000 prodos/demos/rogue/ROGUE.REL
|
||||
cp rel/ROGUECOMBAT#FE1000 prodos/demos/rogue/ROGUECOMBAT.REL
|
||||
|
@ -5,7 +5,7 @@ SRC" conio.4th"
|
||||
DEFER [ELSE] ( SKIP UNTIL [THEN] IF EXECUTED )
|
||||
: [IF] ( F -- )
|
||||
NOT IF ( SKIP CODE IN BETWEEN [ELSE] OR [THEN] )
|
||||
[COMPILE] [ELSE]
|
||||
POSTPONE [ELSE]
|
||||
THEN
|
||||
; IMMEDIATE
|
||||
:NONAME ( [ELSE] )
|
||||
@ -36,14 +36,14 @@ DEFER [ELSE] ( SKIP UNTIL [THEN] IF EXECUTED )
|
||||
: STRING CREATE 256 ALLOT DOES> ; ( JUST ALLOCATE THE BIGGEST STRING POSSIBLE )
|
||||
|
||||
: CONFIRM" ( -- F )
|
||||
COMPILE ."
|
||||
POSTPONE ."
|
||||
." (Y/N)"
|
||||
KEY CR TOUPPER CHAR Y =
|
||||
;
|
||||
|
||||
: INSERT.FLOPPY"
|
||||
." Insert "
|
||||
COMPILE ."
|
||||
POSTPONE ."
|
||||
." into floppy drive" CR
|
||||
." Press any key to continue" KEY DROP CR
|
||||
;
|
||||
|
@ -111,7 +111,7 @@ predef _case_#0, _of_#0, _endof_#0, _endcase_#0
|
||||
predef _dodo_(a,b)#0, _do_#0, _doloop_#0, _doplusloop_(a)#0, _plusloop_#0, _loop_#0
|
||||
predef _unloop_#0, _leave_#0, _j_#1, _defer_#0, _is_(a)#0, _noname_#0
|
||||
predef _create_#0, _itcdoes_(a)#0, _does_#0, _compoff_#0, _compon_#0, _state_#1
|
||||
predef _compile_#0, _forcecomp_#0, _dictaddw_(a)#0, _dictaddb_(a)#0, _colon_#0, _semi_#0
|
||||
predef _postpone_#0, _dictaddw_(a)#0, _dictaddb_(a)#0, _colon_#0, _semi_#0
|
||||
predef _componly_#0, _interponly_#0, _immediate_#0, _exit_#0, _pad_#1, _trailing_(a,b)#2
|
||||
predef _tors_(a)#0, _fromrs_#1, _toprs_#1, _lookup_#1, _latest_#1, _recurse_#0
|
||||
predef _cmove_(a,b,c)#0, _move_(a,b,c)#0, _fill_(a,b,c)#0, _plasma_(a)#0
|
||||
@ -509,18 +509,14 @@ word = @d_compoff, 0, @_compon_
|
||||
char d_compword = "(COMPILE)"
|
||||
byte = componly_flag
|
||||
word = @d_compon, 0, @_compword_
|
||||
// COMPILE NEXT WORD
|
||||
char d_compile = "COMPILE"
|
||||
// POSTPONE (COMPILE) NEXT WORD
|
||||
char d_postpone = "POSTPONE"
|
||||
byte = imm_flag | componly_flag
|
||||
word = @d_compword, 0, @_compile_
|
||||
// FORCE COMPILE NEXT WORD
|
||||
char d_forcecomp = "[COMPILE]"
|
||||
byte = imm_flag | componly_flag
|
||||
word = @d_compile, 0, @_forcecomp_
|
||||
word = @d_compword, 0, @_postpone_
|
||||
// COMPILE ONLY
|
||||
char d_componly = "COMPONLY"
|
||||
byte = imm_flag
|
||||
word = @d_forcecomp, 0, @_componly_
|
||||
word = @d_postpone, 0, @_componly_
|
||||
// INTERPRET ONLY
|
||||
char d_interponly = "INTERPONLY"
|
||||
byte = imm_flag
|
||||
@ -1408,29 +1404,12 @@ def _semi_#0
|
||||
fin
|
||||
state = state & ~comp_flag
|
||||
end
|
||||
def _compile_#0
|
||||
def _postpone_#0
|
||||
word dentry
|
||||
|
||||
dentry = find(nextword(' '))
|
||||
if dentry
|
||||
if ^_ffa_(dentry) & imm_flag
|
||||
_compword_(dentry)
|
||||
else
|
||||
_compliteral_(dentry)
|
||||
_compword_(@d_compword)
|
||||
fin
|
||||
else
|
||||
puts("No match\n")
|
||||
_quit_
|
||||
fin
|
||||
end
|
||||
def _forcecomp_#0
|
||||
word dentry
|
||||
|
||||
dentry = find(nextword(' '))
|
||||
if dentry
|
||||
_compliteral_(dentry)
|
||||
_compword_(@d_compword)
|
||||
_compword_(dentry)
|
||||
else
|
||||
puts("No match\n")
|
||||
_quit_
|
||||
|
Loading…
x
Reference in New Issue
Block a user