CoreForth-0

common/control-flow.ft.md


: if            postpone ?branch here cell allot ; immediate
: then          here swap ! ; immediate
: else          postpone branch here cell allot swap here swap ! ; immediate
: begin         here ; immediate
: again         postpone branch , ; immediate
: until         postpone ?branch , ; immediate
: while         postpone if swap ; immediate
: repeat        postpone branch , postpone then ; immediate

: do            postpone (do) here ; immediate
: loop          postpone (loop)
                postpone ?branch , ; immediate
: +loop         postpone (+loop)
                postpone ?branch , ; immediate