A standard program is not permitted to change state
explicitly. However, it can change state
implicitly, using the
words [
and ]
. When [
is executed it switches
state
to interpret state, and therefore the text interpreter
starts interpreting. When ]
is executed it switches state
to compile state and therefore the text interpreter starts
compiling. The most common usage for these words is for switching into
interpret state and back from within a colon definition; this technique
can be used to compile a literal (for an example, see Literals) or
for conditional compilation (for an example, see Interpreter Directives).