Although
EVALUATE,
LOAD,
INCLUDE-FILE and
INCLUDED
are not listed as words which alter
STATE, the text
interpreted by any one of these words could include one or
more words which explicitly alter
STATE.
EVALUATE,
LOAD,
INCLUDE-FILE and
INCLUDED
do not in themselves alter
STATE.
STATE does not nest with text interpreter nesting. For
example, the code sequence:
: FOO
S" ]"
EVALUATE
;
FOO
will leave the system in compilation state. Similarly, after
LOADing a block containing
], the system
will be in compilation state.
Note that
] does not affect the parse area and that the
only effect that
: has on the parse area is to parse a
word. This entitles a program to use these words to set the
state with known side-effects on the parse area. For example:
: NOP
: POSTPONE ; IMMEDIATE
;
NOP
ALIGN
NOP
ALIGNED
Some non-compliant systems have
] invoke a
compiler loop in addition to setting
STATE. Such a
system would inappropriately attempt to compile the second
use of
NOP
.