There are the following words for performing the various translator actions:
perform interpreter action of translator
perform compile action of translator
perform postpone action of translator
throw
s -13 (undefined word) if token is 0.
Their typical use is in a text interpreter. A simple text interpreter could look like this:
: myinterpret ( -- ) \ refill happens outside begin parse-name dup while forth-recognize ?found state @ if compiling else interpreting then repeat 2drop ;
This text interpreter itself does not deal with postponing; ]]
can be implemented as a text interpreter that performs the postponing: