CREATE ABUF 80 CHARS ALLOT
-[DEFINED] LOAD" [IF]
-: (ACCEPT)
- ['] ACCEPT >BODY EXECUTE
-;
: ACCEPT-TEST
- CR ." PLEASE TYPE UP TO 80 CHARACTERS:" CR
- ABUF 80 (ACCEPT) \ JMT: because ACCEPT is deferred
- CR ." RECEIVED: " [CHAR] " EMIT
- ABUF SWAP TYPE [CHAR] " EMIT CR
-;
+ CR ." PLEASE TYPE UP TO 80 CHARACTERS: "
+[DEFINED] LOAD" [IF] \ " \ JMT: because ACCEPT is deferred
+ ABUF 80 ['] ACCEPT >BODY EXECUTE \ JMT: execute default part of ACCEPT
[ELSE]
-: ACCEPT-TEST
- CR ." PLEASE TYPE UP TO 80 CHARACTERS:" CR
ABUF 80 ACCEPT
+[THEN]
CR ." RECEIVED: " [CHAR] " EMIT
ABUF SWAP TYPE [CHAR] " EMIT CR
;
-[THEN] \ LOAD"
-
T{ ACCEPT-TEST -> }T
+ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba
+
\ ------------------------------------------------------------------------
TESTING DICTIONARY SEARCH RULES
: GET_TIME
ECHO
CR CR ." DATE (DMY): "
-[DEFINED] LOAD" [IF] \ ACCEPT is a dEFERed word and redirected to SD_ACCEPT!
- ABUF ABUF 20 (ACCEPT) EVALUATE CR 3 SPACES DATE!
+[DEFINED] LOAD" [IF] \ " \ ACCEPT is a dEFERed word and redirected to SD_ACCEPT!
+ ABUF ABUF 20 ['] ACCEPT >BODY EXECUTE \ execute default value of ACCEPT
+ EVALUATE CR 3 SPACES DATE!
CR CR ." TIME (HMS): "
- ABUF ABUF 20 (ACCEPT) EVALUATE CR 3 SPACES TIME!
+ ABUF ABUF 20 ['] ACCEPT >BODY EXECUTE \ execute default value of ACCEPT
+ EVALUATE CR 3 SPACES TIME!
[ELSE] \ ACCEPT is not a DEFERed word
ABUF ABUF 20 ACCEPT EVALUATE CR 3 SPACES DATE!
CR CR ." TIME (HMS): "
WRITE" YOURFILE.TXT"
['] SD_EMIT IS EMIT
PROGRAMSTART HERE OVER - DUMP
- ['] (EMIT) IS EMIT
+ ['] EMIT >BODY IS EMIT
CLOSE
ELSE 1 - ?DUP
0= IF
['] SD_EMIT IS EMIT
CR
PROGRAMSTART HERE OVER - DUMP
- ['] (EMIT) IS EMIT
+ ['] EMIT >BODY IS EMIT
CLOSE
ELSE 1 - ?DUP
0= IF
(cr) (EMIT) (accept) (warm) is lit warm depth /mod mod \
space spaces bl word char fill key? key abort */ 2* 2/ /mod cell+ cells char+ \
chars move abs hex decimal hold <# # #s #> sign or \
- count type . u. dump (.") >number ' immediate exit recurse here allot , \
+ count type . u. dump (.") >number ' exit recurse here allot , \
c, branch 0branch ?branch align aligned create does> \
variable constant defer definitions forth forget only also previous literal \
source evaluate word interpret quit >body execute find state base \
- immediate words accept emit cr type echo noecho min max true false \
+ words accept emit cr type echo noecho min max true false \
char [char] postpone ['] rst_here rst_state wipe pwr_here pwr_state \
- assembler close
+ assembler close pad caps_on caps_off
# defwords
keywords3.$(file.patterns.forth)=\
-code endcode : ; \
+code endcode : ; immediate ;noname codennm \
lo2hi hi2lo colon asm endasm \
[if] [else] [then] [undefined] [defined]
style.forth.4=fore:#0000FF
# Keywords (keyword2_SCE_FORTH_KEYWORD)
-style.forth.5=fore:#FF0FF,$(font.base)
+style.forth.5=fore:#FF00FF,$(font.base)
# defwords (keyword3_SCE_FORTH_DEFWORD)
style.forth.6=fore:#FFFF00,$(font.base)