210a
<< <> >>

210

Die Programmiersprache Forth
home
Über das Manipulieren des Input-Stroms.

MANY TIMES

Forth am Werk

Wenn der Benutzer eine Zeile eintippt und auf [rtn] drückt, rückt Forth dieser Zeile wie folgt zu Leibe:

Es sucht nach dem ersten Nicht-Zwischenraum (hier beginnt ganz bestimmt ein Forth-Wort), dann nach dem ersten darauf folgenden Zwischenraum (da endet das Wort). Hierbei fungiert die Systemvariable >IN als Orientierungshilfe.

Forth hält nämlich in >IN eifrig fest, welche Stelle in der Zeile es sich gerade anschaut.

Danach sucht es in seinem Wörterbuch nach dem gerade herausgeschälten Wort und führt es, falls die Suche erfolgreich war, aus (executiert es). Findet Forth das Wort nicht, dann hört es in seinem Bemühen auf und kümmert sich nicht mehr weiter um den Rest der Zeile.

Solange es gelingt, wiederholt Forth diese Prozedur: Das nächste Wort in der Reihe wird ermittelt, wobei stets >IN ins Spiel kommt, und ausgeführt. Bis zum Ende der Zeile.

Da Forth keine Syntax hat, braucht es von vornherein nicht zu untersuchen, ob die Zeile fehlerfrei ist.
Eventuelle Tippfehler kommen von selbst ans Licht, denn Forth kann verkehrt geschriebene Worte sowieso nicht finden.
Mit Programmierfehlern ist das natürlich eine andere Sache. Aber das ist keine Syntaxfrage.
) >IN @ . [rtn] ?
 1234567... Positionen
Der Inhalt von >IN wird über @ hereingeholt. Forth hat die Zeile bis @ einschließlich des Zwischenraums danach dann schon gelesen.
)       >IN @ . [rtn] ?
 1234567890123... Positionen

)       >IN @ . >IN @ . [rtn] ?
 123456789012345678901... Positionen
Forth vertraut darauf, dass der Anwender kein Wort eintippt, das den Inhalt von >IN heimlich verändert. Aber sag sowas nie in Anwesenheit eines Forth-Programmierers ...
>>