VLIST
( -- )
=> [FORTH]
The VLIST command had been present in FIG and other forth
implementations. It has to list all accessible words. In PFE
it list all words in the search order. Well, the point is,
that we do really just look into the search order and are
then calling WORDS
on that Wordl. That way you can see
all accessible words in the order they might be found.
Uses => ?CR
primitive code = [p4_vlist]
!CSP
( -- )
=> [FORTH]
put SP
into CSP
used in control-words
primitive code = [p4_store_csp]
?CSP
( -- )
=> [FORTH]
check that SP
== CSP
otherwise THROW
used in control-words
primitive code = [p4_Q_csp]
CS-SWAP
=> [FORTH]
(no description)
primitive code = [p4_two_swap]
CS-DROP
=> [FORTH]
(no description)
primitive code = [p4_two_drop]
?COMP
( -- )
=> [FORTH]
check that the current STATE
is compiling
otherwise THROW
often used in control-words
primitive code = [p4_Q_comp]
?EXEC
( -- )
=> [FORTH]
check that the current STATE
is executing
otherwise THROW
often used in control-words
primitive code = [p4_Q_exec]
?FILE
( file-id -- )
=> [FORTH]
check the file-id otherwise (fixme)
primitive code = [p4_Q_file]
?LOADING
( -- )
=> [FORTH]
check that the currently interpreted text is
from a file/block, otherwise THROW
primitive code = [p4_Q_loading]
?PAIRS
( a b -- )
=> [FORTH]
if compiling, check that the two magics on
the CS-STACK
are identical, otherwise throw
used in control-words
primitive code = [p4_Q_pairs]
?STACK
( -- )
=> [FORTH]
check all stacks for underflow and overflow conditions,
and if such an error condition is detected THROW
primitive code = [p4_Q_stack]
DEFINED
( "name" -- flag )
=> [FORTH]
Search the dictionary for _name_. If _name_ is found,
return TRUE; otherwise return FALSE. Immediate for use in
definitions.
This word will actually return what FIND
returns (the NFA).
does check for the word using find (so it does not throw like '
)
and puts it on stack. As it is immediate it does work in compile-mode
too, so it places its argument in the cs-stack then. This is most
useful with a directly following [IF]
clause, so that sth. like
an [IFDEF] word
can be simulated through [DEFINED] word [IF]
: DEFINED BL WORD COUNT (FIND-NFA) ;
primitive code = [p4_defined]
[DEFINED]
( "name" -- flag )
=> [FORTH]
Search the dictionary for _name_. If _name_ is found,
return TRUE; otherwise return FALSE. Immediate for use in
definitions.
[DEFINED] word ( -- nfa|0 ) immediate
does check for the word using find (so it does not throw like '
)
and puts it on stack. As it is immediate it does work in compile-mode
too, so it places its argument in the cs-stack then. This is most
useful with a directly following [IF]
clause, so that sth. like
an [IFDEF] word
can be simulated through [DEFINED] word [IF]
: [DEFINED] BL WORD FIND NIP ; IMMEDIATE
immediate code = [p4_defined]
[UNDEFINED]
( "name" -- flag )
=> [FORTH]
Search the dictionary for _name_. If _name_ is found,
return FALSE; otherwise return TRUE. Immediate for use in
definitions.
see [DEFINED]
immediate code = [p4_undefined]
(FORGET)
=> "EXTENSIONS"
(no description)
primitive code = [p4_paren_forget]
(DICTLIMIT)
=> "EXTENSIONS"
(no description)
primitive code = [p4_paren_dictlimit]
(DICTFENCE)
=> "EXTENSIONS"
(no description)
primitive code = [p4_paren_dictfence]