====== Und das geht? ======
Man kann r> und >r auf verschiedene Forthworte verteilen. Aber was für Anwendungen könnten das sein, die so etwas //brauchen//?
: A 'a emit r> ;
: B 'b emit ;
: C 'c emit ;
: D 'd emit >r ;
: AB a b ;
: CD c d ;
: ABCD ab cd ;
----
Hinweis:
gForth benutzt ' als Präfix von Zahlen - damit wird hier ein Ascii-Wert auf den Stack gelegt.
Für andere Forth Systeme geht möglicherweise ''ascii a'' besser.
----
Hmm, habe zuerst nicht geglaubt das dass ueberhaupt funktionieren konnte...
FORTH> abcd acdb ok
Es geht also! Mein Fehler war zu glauben das Data manipuliert werden sollte,
es geht anscheinend nur um 'Flow of Control.' (Voellig read-only meiner
Meinung nach, aber trickreich ist es schon.)
So wird der return stack als data stack missbraucht:
: send-B R> '[' emit 'b' >R >R ;
: get-B? 'a' emit R> R> emit >R ;
: test send-B get-B? ']' emit ;
In iForth gibt test dann '[ab]' aus.
--- //[[mhx@iae.nl|marcel hendrix]] 2006/05/22 21:21//