Erst die Daten, dann der Ausführungsbefehl.
    Diese Grundregel von Forth findet auch beim Treffen von Entscheidungen
    in Programmen mit Hilfe von bedingten Sprüngen Anwendung.
    Ein Flag auf dem Stack ist das 'Datenfutter' für
    die 'Operatoren' 
IF oder 
UNTIL,
    die daraufhin entscheiden, ob gesprungen werden soll oder nicht.
    In vielen Programmiersprachen haben wir die Konstruktion:
IF        \ Bestimme den Flag-Wert von 'KALT'.
 KALT     \ Formulierung des Flags
THEN      \ Verlasse die Konstruktion, wenn flag=false
 SCHAL-UM \ Bedingt auszufuehrender Code
ENDIF     \ Endpunkt; koennte auch ENDTHEN heissen
    In Forth gehört die Bestimmung des Flag-Wertes
    nicht zur Grammatik der Konstruktion.
    Es gibt lediglich den Operator 
IF mit seinem Abschlusselement 
THEN. Der Programmierer muss dafür sorgen, dass ein Flag bereitsteht:
( KALT?   \ Flag auf Stack )
IF        \ Spring bei 'false' vorwaerts nach THEN
 SCHAL-UM \ Bedingt auszufuehrender Code
THEN      \ Endpunkt; koennte auch ENDIF heissen
    Der Rückwärtssprung mit 
UNTIL geht in Forth analog:
BEGIN      \ Anfangspunkt
 ... WARM? \ Der Programmierer sorgt dafuer, dass
           \   dieser Code ein Flag produziert
UNTIL      \ Spring bei 'false' zurueck nach BEGIN
( SCHAL-AB )
    Sie können diese Strukturen ineinander schachteln.
    Wenn Sie das sauber tun, wie in
 
... BEGIN ... IF ... THEN ... UNTIL ...,
heißt das strukturierte Programmierung.
    In 
... BEGIN ... IF ... UNTIL ... THEN ...
wird Forth protestieren, wenn es auf 
UNTIL trifft,
    denn das 
IF ist noch nicht abgeschlossen.
    Und in 
... IF ... IF ... THEN ... THEN ...
    gehört das erste 
THEN darum zum zweiten 
IF.