?DO DO LOOP +LOOP I J LEAVE
?DO ( n1 n2 -- )
DO ( n1 n2 -- )
Set up loop control parameters with index n2 and limit n1.
Example:
: testLoop 256 32 do I emit loop ;
LOOP ( ---)
Add one to the loop index. If the loop index is then equal to the loop limit, discard the loop parameters and continue execution immediately following the loop. Otherwise continue execution at the beginning of the loop.
+LOOP ( n ---)
I ( --- n)
n is a copy of the current loop index.
J ( --- n)
n is a copy of the next-outer loop index.
LEAVE ( ---)
Discard the current loop control parameters. An ambiguous condition exists if they
are unavailable. Continue execution immediately following the innermost syntactically
enclosing DO...LOOP
or DO...+LOOP
.