1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2024-06-12 14:29:54 +00:00

Chanfe batch words ?EXEC RESUME> to [IF][ELSE][THEN]

This commit is contained in:
Dave Schmenk 2024-02-11 10:51:12 -08:00
parent a587aa477f
commit 29498dc6e7
3 changed files with 68 additions and 49 deletions

View File

@ -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

View File

@ -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

View File

@ -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