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 1: .int DROP
2: .int EXIT 2: .int EXIT
/* ( "<spaces?>ccc" -- c-addr u ) */ /* ( "<spaces?>ccc<space>" -- c-addr u ) */
defword WORD defword PARSE_NAME,"PARSE-NAME"
.int SKIP_SPACE .int SKIP_SPACE
.int PARSE_AREA,DROP,LIT,1 .int PARSE_AREA,DROP,LIT,1
.int NEXT_CHAR,DROP .int NEXT_CHAR,DROP
@ -1370,7 +1370,7 @@ defword INTERPRET
litstring "Tried to interpret a string literal\n" litstring "Tried to interpret a string literal\n"
.int TYPE,BAILOUT .int TYPE,BAILOUT
/* ELSE */ /* ELSE */
1: .int WORD,TWODUP,PARSENUMBER,ZBRANCH,(3f - .) 1: .int PARSE_NAME,TWODUP,PARSENUMBER,ZBRANCH,(3f - .)
.int STATE,FETCH,TWONIP,ZBRANCH,(2f - .) .int STATE,FETCH,TWONIP,ZBRANCH,(2f - .)
.int LIT,LIT,COMMA,COMMA .int LIT,LIT,COMMA,COMMA
2: .int EXIT 2: .int EXIT
@ -1394,11 +1394,11 @@ defword QUIT
defword LATEST defword LATEST
.int CURRENT,FETCH,FETCH,EXIT .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 defword CREATE
.int ALIGN,HERE .int ALIGN,HERE
.int LIT,DODATA,COMMA,LIT,0,COMMA,LATEST,COMMA .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 ALIGN,HERE,OVER,TDFA,STORE
.int CURRENT,FETCH,STORE,EXIT .int CURRENT,FETCH,STORE,EXIT
@ -1451,7 +1451,7 @@ defword DEFER
.int CREATE,LIT,BAILOUT,LATEST,DEFERSTORE,EXIT .int CREATE,LIT,BAILOUT,LATEST,DEFERSTORE,EXIT
defword QUOTE,"'" defword QUOTE,"'"
.int WORD,FIND_OR_BAILOUT,DROP,EXIT .int PARSE_NAME,FIND_OR_BAILOUT,DROP,EXIT
defword LITERAL,,F_IMMED defword LITERAL,,F_IMMED
.int LIT,LIT,COMMA,COMMA,EXIT .int LIT,LIT,COMMA,COMMA,EXIT
@ -1460,13 +1460,13 @@ defword COMPILE_QUOTE,"[']",F_IMMED
.int QUOTE,LITERAL,EXIT .int QUOTE,LITERAL,EXIT
defword CHAR defword CHAR
.int WORD,DROP,FETCHBYTE,EXIT .int PARSE_NAME,DROP,FETCHBYTE,EXIT
defword COMPILE_CHAR,"[CHAR]",F_IMMED defword COMPILE_CHAR,"[CHAR]",F_IMMED
.int CHAR,LITERAL,EXIT .int CHAR,LITERAL,EXIT
defword POSTPONE,,F_IMMED defword POSTPONE,,F_IMMED
.int WORD,FIND_OR_BAILOUT,ZGT,ZBRANCH,(0f - .) .int PARSE_NAME,FIND_OR_BAILOUT,ZGT,ZBRANCH,(0f - .)
.int LITERAL .int LITERAL
/* this would compile bootstrap COMMA into the definition */ /* this would compile bootstrap COMMA into the definition */
/* .int LITERAL,LIT,COMMA,COMMA,EXIT */ /* .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 \ Skip whitespace; read and return the next word delimited by whitespace
\ The delimiting whitespace character is left in the parse area \ 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 BEGIN
SKIP-SPACES SKIP-SPACES
PARSE-EMPTY? PARSE-EMPTY?
@ -1209,7 +1209,7 @@ DEFER REFILL
>>FORTH >>FORTH
: CREATE ( "<spaces>ccc" -- ) : CREATE ( "<spaces>ccc" -- )
WORD (CREATE) ; PARSE-NAME (CREATE) ;
\ Append "<addr> (DOES) EXIT" to the current definition \ Append "<addr> (DOES) EXIT" to the current definition
\ where <addr> is the next address after the "EXIT" as a literal number \ 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 \ Debugging aid; shows a label and the contents of the stacks at runtime
: (MARK) "-- " TYPE TYPE " --\n" TYPE .S R> .RS >R ; : (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) ' (MARK) (HIDE)
\ Define a threaded FORTH word \ Define a threaded FORTH word
@ -1400,7 +1400,7 @@ DEFER REFILL
: [IF] IMMEDIATE : [IF] IMMEDIATE
0= IF 0= IF
0 BEGIN 0 BEGIN
WORD 2>R PARSE-NAME 2>R
2R@ "[IF]" COMPARE 0= IF 2R@ "[IF]" COMPARE 0= IF
1+ 1+
ELSE 2R@ "[THEN]" COMPARE 0= OR-ELSE 2R@ "[ELSE]" COMPARE 0= THEN IF 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 \ Skips over nested [IF] … [THEN] or [IF] … [ELSE] … [THEN] structures
: [ELSE] IMMEDIATE : [ELSE] IMMEDIATE
0 BEGIN 0 BEGIN
WORD 2>R PARSE-NAME 2>R
2R@ "[IF]" COMPARE 0= IF 2R@ "[IF]" COMPARE 0= IF
1+ 1+
ELSE 2R@ "[THEN]" COMPARE 0= IF ELSE 2R@ "[THEN]" COMPARE 0= IF
@ -1430,7 +1430,7 @@ DEFER REFILL
\ Read the next word and return the first character \ Read the next word and return the first character
: CHAR ( "<spaces>name" -- c ) : CHAR ( "<spaces>name" -- c )
WORD DROP C@ ; PARSE-NAME DROP C@ ;
\ Like CHAR but generates a literal at compile-time. \ Like CHAR but generates a literal at compile-time.
: [CHAR] ( Compilation: "<spaces>ccc" -- ) ( Runtime: -- c ) IMMEDIATE : [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 \ 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 \ 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. \ Like ' but generates a literal at compile-time.
: ['] ( Compilation: "<spaces>ccc" -- ) ( Runtime: -- xt ) IMMEDIATE : ['] ( 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. \ Read a word and append its compilation semantics to the current definition.
: POSTPONE ( "<spaces>name" -- ) IMMEDIATE : POSTPONE ( "<spaces>name" -- ) IMMEDIATE
WORD FIND-OR-THROW 0< IF PARSE-NAME FIND-OR-THROW 0< IF
COMPILE, COMPILE,
ELSE ELSE
POSTPONE LITERAL POSTPONE LITERAL
@ -1971,7 +1971,7 @@ NULL 0 STRING-BUFFER 2!
HERE SWAP DUP ALLOT CMOVE ALIGN HERE SWAP DUP ALLOT CMOVE ALIGN
THEN THEN
ELSE ELSE
WORD PARSE-NAME
2DUP PARSENUMBER IF 2DUP PARSENUMBER IF
STATE @ 2NIP IF STATE @ 2NIP IF
POSTPONE LITERAL POSTPONE LITERAL