rename WORD to PARSE-NAME (from FORTH 2012) which is a better match for the interface

This commit is contained in:
Jesse D. McDonald 2020-10-27 21:52:24 -05:00
parent 28559fc98c
commit 63b0c745ab
2 changed files with 17 additions and 17 deletions

View File

@ -1308,8 +1308,8 @@ defword SKIP_SPACE,"SKIP-SPACE"
1: .int DROP
2: .int EXIT
/* ( "<spaces?>ccc" -- c-addr u ) */
defword WORD
/* ( "<spaces?>ccc<space>" -- c-addr u ) */
defword PARSE_NAME,"PARSE-NAME"
.int SKIP_SPACE
.int PARSE_AREA,DROP,LIT,1
.int NEXT_CHAR,DROP
@ -1370,7 +1370,7 @@ defword INTERPRET
litstring "Tried to interpret a string literal\n"
.int TYPE,BAILOUT
/* ELSE */
1: .int WORD,TWODUP,PARSENUMBER,ZBRANCH,(3f - .)
1: .int PARSE_NAME,TWODUP,PARSENUMBER,ZBRANCH,(3f - .)
.int STATE,FETCH,TWONIP,ZBRANCH,(2f - .)
.int LIT,LIT,COMMA,COMMA
2: .int EXIT
@ -1394,11 +1394,11 @@ defword QUIT
defword LATEST
.int CURRENT,FETCH,FETCH,EXIT
/* CREATE depends on bootstrap ALIGN, COMMA, LATEST, WORD, ALLOT, >FLAGS, and >DFA */
/* CREATE depends on bootstrap ALIGN, COMMA, LATEST, PARSE_NAME, ALLOT, >FLAGS, and >DFA */
defword CREATE
.int ALIGN,HERE
.int LIT,DODATA,COMMA,LIT,0,COMMA,LATEST,COMMA
.int WORD,DUP,COMMABYTE,HERE,SWAP,DUP,ALLOT,CMOVE
.int PARSE_NAME,DUP,COMMABYTE,HERE,SWAP,DUP,ALLOT,CMOVE
.int ALIGN,HERE,OVER,TDFA,STORE
.int CURRENT,FETCH,STORE,EXIT
@ -1451,7 +1451,7 @@ defword DEFER
.int CREATE,LIT,BAILOUT,LATEST,DEFERSTORE,EXIT
defword QUOTE,"'"
.int WORD,FIND_OR_BAILOUT,DROP,EXIT
.int PARSE_NAME,FIND_OR_BAILOUT,DROP,EXIT
defword LITERAL,,F_IMMED
.int LIT,LIT,COMMA,COMMA,EXIT
@ -1460,13 +1460,13 @@ defword COMPILE_QUOTE,"[']",F_IMMED
.int QUOTE,LITERAL,EXIT
defword CHAR
.int WORD,DROP,FETCHBYTE,EXIT
.int PARSE_NAME,DROP,FETCHBYTE,EXIT
defword COMPILE_CHAR,"[CHAR]",F_IMMED
.int CHAR,LITERAL,EXIT
defword POSTPONE,,F_IMMED
.int WORD,FIND_OR_BAILOUT,ZGT,ZBRANCH,(0f - .)
.int PARSE_NAME,FIND_OR_BAILOUT,ZGT,ZBRANCH,(0f - .)
.int LITERAL
/* this would compile bootstrap COMMA into the definition */
/* .int LITERAL,LIT,COMMA,COMMA,EXIT */

View File

@ -1173,7 +1173,7 @@ DEFER REFILL
\ Skip whitespace; read and return the next word delimited by whitespace
\ The delimiting whitespace character is left in the parse area
: WORD ( "<spaces>ccc" -- c-addr u )
: PARSE-NAME ( "<spaces?>ccc<space>" -- c-addr u )
BEGIN
SKIP-SPACES
PARSE-EMPTY?
@ -1209,7 +1209,7 @@ DEFER REFILL
>>FORTH
: CREATE ( "<spaces>ccc" -- )
WORD (CREATE) ;
PARSE-NAME (CREATE) ;
\ Append "<addr> (DOES) EXIT" to the current definition
\ where <addr> is the next address after the "EXIT" as a literal number
@ -1219,7 +1219,7 @@ DEFER REFILL
\ Debugging aid; shows a label and the contents of the stacks at runtime
: (MARK) "-- " TYPE TYPE " --\n" TYPE .S R> .RS >R ;
: MARK IMMEDIATE WORD POSTPONE SLITERAL POSTPONE (MARK) ;
: MARK IMMEDIATE PARSE-NAME POSTPONE SLITERAL POSTPONE (MARK) ;
' (MARK) (HIDE)
\ Define a threaded FORTH word
@ -1400,7 +1400,7 @@ DEFER REFILL
: [IF] IMMEDIATE
0= IF
0 BEGIN
WORD 2>R
PARSE-NAME 2>R
2R@ "[IF]" COMPARE 0= IF
1+
ELSE 2R@ "[THEN]" COMPARE 0= OR-ELSE 2R@ "[ELSE]" COMPARE 0= THEN IF
@ -1415,7 +1415,7 @@ DEFER REFILL
\ Skips over nested [IF] … [THEN] or [IF] … [ELSE] … [THEN] structures
: [ELSE] IMMEDIATE
0 BEGIN
WORD 2>R
PARSE-NAME 2>R
2R@ "[IF]" COMPARE 0= IF
1+
ELSE 2R@ "[THEN]" COMPARE 0= IF
@ -1430,7 +1430,7 @@ DEFER REFILL
\ Read the next word and return the first character
: CHAR ( "<spaces>name" -- c )
WORD DROP C@ ;
PARSE-NAME DROP C@ ;
\ Like CHAR but generates a literal at compile-time.
: [CHAR] ( Compilation: "<spaces>ccc" -- ) ( Runtime: -- c ) IMMEDIATE
@ -1808,7 +1808,7 @@ BOOTSTRAP-GET-ORDER SET-ORDER
\ Read a word from the input (during runtime) and return its execution token
\ Aborts if the word is not found in the current (runtime) search order list
: ' ( "<spaces>ccc" -- xt ) WORD FIND-OR-THROW DROP ;
: ' ( "<spaces>ccc" -- xt ) PARSE-NAME FIND-OR-THROW DROP ;
\ Like ' but generates a literal at compile-time.
: ['] ( Compilation: "<spaces>ccc" -- ) ( Runtime: -- xt ) IMMEDIATE
@ -1816,7 +1816,7 @@ BOOTSTRAP-GET-ORDER SET-ORDER
\ Read a word and append its compilation semantics to the current definition.
: POSTPONE ( "<spaces>name" -- ) IMMEDIATE
WORD FIND-OR-THROW 0< IF
PARSE-NAME FIND-OR-THROW 0< IF
COMPILE,
ELSE
POSTPONE LITERAL
@ -1971,7 +1971,7 @@ NULL 0 STRING-BUFFER 2!
HERE SWAP DUP ALLOT CMOVE ALIGN
THEN
ELSE
WORD
PARSE-NAME
2DUP PARSENUMBER IF
STATE @ 2NIP IF
POSTPONE LITERAL