mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-02-18 18:30:32 +00:00
Chanfe batch words ?EXEC RESUME> to [IF][ELSE][THEN]
This commit is contained in:
parent
a587aa477f
commit
29498dc6e7
17
src/mkrel
17
src/mkrel
@ -145,13 +145,16 @@ cp utilsrc/apple/mon.pla prodos/bld/samples/MON.PLA.TXT
|
||||
cp utilsrc/apple/zipchip.pla prodos/bld/samples/ZIPCHIP.PLA.TXT
|
||||
|
||||
mkdir prodos/bld/scripts
|
||||
cp scripts/rod.4th prodos/bld/scripts/ROD.4TH.TXT
|
||||
cp scripts/bounce.4th prodos/bld/scripts/BOUNCE.4TH.TXT
|
||||
cp scripts/dbounce.4th prodos/bld/scripts/DBOUNCE.4TH.TXT
|
||||
cp scripts/hrbounce.4th prodos/bld/scripts/HRBOUNCE.4TH.TXT
|
||||
cp scripts/plot.4th prodos/bld/scripts/PLOT.4TH.TXT
|
||||
cp scripts/hrplot.4th prodos/bld/scripts/HRPLOT.4TH.TXT
|
||||
cp scripts/gfxplot.4th prodos/bld/scripts/GFXPLOT.4TH.TXT
|
||||
cp scripts/rod.4th prodos/bld/scripts/ROD.4TH.TXT
|
||||
cp scripts/bounce.4th prodos/bld/scripts/BOUNCE.4TH.TXT
|
||||
cp scripts/dbounce.4th prodos/bld/scripts/DBOUNCE.4TH.TXT
|
||||
cp scripts/hrbounce.4th prodos/bld/scripts/HRBOUNCE.4TH.TXT
|
||||
cp scripts/plot.4th prodos/bld/scripts/PLOT.4TH.TXT
|
||||
cp scripts/hrplot.4th prodos/bld/scripts/HRPLOT.4TH.TXT
|
||||
cp scripts/gfxplot.4th prodos/bld/scripts/GFXPLOT.4TH.TXT
|
||||
cp scripts/hdinstall.4th prodos/bld/scripts/HDINSTALL.4TH.TXT
|
||||
cp scripts/hdinstall1.4th prodos/bld/scripts/HDINSTALL1.4TH.TXT
|
||||
cp scripts/hdinstall2.4th prodos/bld/scripts/HDINSTALL2.4TH.TXT
|
||||
|
||||
#mkdir prodos/bld/examples
|
||||
#cp samplesrc/examples/ex.1.pla prodos/bld/examples/EX.1.PLA.TXT
|
||||
|
@ -1,20 +1,26 @@
|
||||
SRC" plasma.4th"
|
||||
SRC" conio.4th"
|
||||
|
||||
: RESUME> ; INTERPONLY ( PLACE HOLDER TO RESUME EXECUTION )
|
||||
: ?EXEC ( F -- )
|
||||
NOT IF ( SKIP CODE IN BETWEEN ?EXEC AND RESUME> )
|
||||
: [THEN] ; IMMEDIATE ( PLACE HOLDER TO RESUME EXECUTION )
|
||||
DEFER [ELSE] ( SKIP UNTIL [THEN] IF EXECUTED )
|
||||
: [IF] ( F -- )
|
||||
NOT IF ( SKIP CODE IN BETWEEN [ELSE] OR [THEN] )
|
||||
1 >R
|
||||
BEGIN
|
||||
BL WORD FIND IF
|
||||
CASE
|
||||
' RESUME> OF
|
||||
R> 1- ?DUP 0= IF ( EXIT IF FINAL RESUME> )
|
||||
' [ELSE] OF
|
||||
R@ 1 = IF ( RESUME EXECUTING AT MATCHING [ELSE] )
|
||||
R> DROP DROP EXIT
|
||||
THEN
|
||||
ENDOF
|
||||
' [THEN] OF
|
||||
R> 1- ?DUP 0= IF ( EXIT AT FINAL [THEN] )
|
||||
DROP EXIT
|
||||
THEN
|
||||
>R
|
||||
ENDOF
|
||||
[ LATEST ] LITERAL OF ( CHECK FOR NESTED ?EXEC )
|
||||
[ LATEST ] LITERAL OF ( CHECK FOR NESTED [IF] )
|
||||
R> 1+ >R
|
||||
ENDOF
|
||||
ENDCASE
|
||||
@ -23,7 +29,27 @@ SRC" conio.4th"
|
||||
THEN
|
||||
AGAIN
|
||||
THEN
|
||||
; INTERPONLY
|
||||
; IMMEDIATE
|
||||
:NONAME ( [ELSE] )
|
||||
1 >R
|
||||
BEGIN
|
||||
BL WORD FIND IF
|
||||
CASE
|
||||
' [THEN] OF
|
||||
R> 1- ?DUP 0= IF ( EXIT AT FINAL [THEN] )
|
||||
DROP EXIT
|
||||
THEN
|
||||
>R
|
||||
ENDOF
|
||||
' [IF] OF ( CHECK FOR NESTED [IF] )
|
||||
R> 1+ >R
|
||||
ENDOF
|
||||
ENDCASE
|
||||
ELSE
|
||||
DROP
|
||||
THEN
|
||||
AGAIN
|
||||
; IMMEDIATE IS [ELSE]
|
||||
|
||||
: STRINPUT ( STR -- )
|
||||
DUP 1+ 255 ACCEPT -TRAILING SWAP C!
|
||||
@ -51,14 +77,12 @@ DEST C@ 0= ?ABORT" Destination required"
|
||||
FILELIST " -R EDITOR.README PL* CMD* SYS " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
|
||||
CONFIRM" Copy demos?"
|
||||
?EXEC
|
||||
CONFIRM" Copy demos?" [IF]
|
||||
FILELIST " -R DEMOS " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
RESUME>
|
||||
[THEN]
|
||||
|
||||
CONFIRM" Copy build tools?"
|
||||
?EXEC
|
||||
CONFIRM" Copy build tools?" [IF]
|
||||
DEST " /BLD" STRCAT DROP
|
||||
" NEWDIR" DEST LOADMOD
|
||||
FILELIST " BLD/PLASM BLD/CODEOPT " STRCPY
|
||||
@ -67,13 +91,12 @@ CONFIRM" Copy build tools?"
|
||||
FILELIST " -R BLD/INC " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
|
||||
CONFIRM" Copy sample code?"
|
||||
?EXEC
|
||||
CONFIRM" Copy sample code?" [IF]
|
||||
FILELIST " -R BLD/SAMPLES " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
RESUME>
|
||||
[THEN]
|
||||
|
||||
RESUME>
|
||||
[THEN]
|
||||
|
||||
." Done" CR
|
||||
0 0 40 24 VIEWPORT
|
||||
|
@ -1,20 +1,20 @@
|
||||
SRC" plasma.4th"
|
||||
SRC" conio.4th"
|
||||
|
||||
: RESUME> ; INTERPONLY ( PLACE HOLDER TO RESUME EXECUTION )
|
||||
: ?EXEC ( F -- )
|
||||
NOT IF ( SKIP CODE IN BETWEEN ?EXEC AND RESUME> )
|
||||
: [THEN] ; IMMEDIATE ( PLACE HOLDER TO RESUME EXECUTION )
|
||||
: [IF] ( F -- )
|
||||
NOT IF ( SKIP CODE IN BETWEEN [ELSE] OR [THEN] )
|
||||
1 >R
|
||||
BEGIN
|
||||
BL WORD FIND IF
|
||||
CASE
|
||||
' RESUME> OF
|
||||
R> 1- ?DUP 0= IF ( EXIT IF FINAL RESUME> )
|
||||
' [THEN] OF
|
||||
R> 1- ?DUP 0= IF ( EXIT AT FINAL [THEN] )
|
||||
DROP EXIT
|
||||
THEN
|
||||
>R
|
||||
ENDOF
|
||||
[ LATEST ] LITERAL OF ( CHECK FOR NESTED ?EXEC )
|
||||
[ LATEST ] LITERAL OF ( CHECK FOR NESTED [IF] )
|
||||
R> 1+ >R
|
||||
ENDOF
|
||||
ENDCASE
|
||||
@ -23,8 +23,7 @@ SRC" conio.4th"
|
||||
THEN
|
||||
AGAIN
|
||||
THEN
|
||||
; INTERPONLY
|
||||
|
||||
; IMMEDIATE
|
||||
: STRING CREATE 256 ALLOT DOES> ; ( JUST ALLOCATE THE BIGGEST STRING POSSIBLE )
|
||||
|
||||
: CONFIRM" ( -- F )
|
||||
@ -56,29 +55,25 @@ INSERT.FLOPPY" PLASMA.SYS"
|
||||
FILELIST " -R /PLASMA.SYS/* " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
|
||||
CONFIRM" Copy demos?"
|
||||
?EXEC
|
||||
CONFIRM" Copy demos?" [IF]
|
||||
INSERT.FLOPPY" PLASMA.DEMOS"
|
||||
FILELIST " -R /PLASMA.DEMOS/DEMOS " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
RESUME>
|
||||
[THEN]
|
||||
|
||||
CONFIRM" Copy floating point libraries?"
|
||||
?EXEC
|
||||
CONFIRM" Copy floating point libraries?" [IF]
|
||||
INSERT.FLOPPY" PLASMA.FPSOS"
|
||||
FILELIST " -R /PLASMA.FPSOS/SYS " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
RESUME>
|
||||
[THEN]
|
||||
|
||||
CONFIRM" Copy networking libraries?"
|
||||
?EXEC
|
||||
CONFIRM" Copy networking libraries?" [IF]
|
||||
INSERT.FLOPPY" PLASMA.INET"
|
||||
FILELIST " -R /PLASMA.INET/* " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
RESUME>
|
||||
[THEN]
|
||||
|
||||
CONFIRM" Copy build tools?"
|
||||
?EXEC
|
||||
CONFIRM" Copy build tools?" [IF]
|
||||
DEST " BLD" STRCAT
|
||||
" NEWDIR" SWAP LOADMOD
|
||||
INSERT.FLOPPY" PLASMA.BLD"
|
||||
@ -86,19 +81,17 @@ CONFIRM" Copy build tools?"
|
||||
" /PLASMA.BLD/BLD/INC " STRCAT DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
|
||||
CONFIRM" Copy sample PLASMA code?"
|
||||
?EXEC
|
||||
CONFIRM" Copy sample PLASMA code?" [IF]
|
||||
FILELIST " -R /PLASMA.BLD/BLD/SAMPLES " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
RESUME>
|
||||
[THEN]
|
||||
|
||||
CONFIRM" Copy sample FORTH scripts?"
|
||||
?EXEC
|
||||
CONFIRM" Copy sample FORTH scripts?" [IF]
|
||||
FILELIST " -R /PLASMA.BLD/BLD/SCRIPTS " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
RESUME>
|
||||
[THEN]
|
||||
|
||||
RESUME>
|
||||
[THEN]
|
||||
|
||||
FILELIST " AUTORUN HDINSTALL.4TH" STRCPY
|
||||
" DEL" SWAP LOADMOD
|
||||
|
Loading…
x
Reference in New Issue
Block a user