Benutzer-Werkzeuge

Webseiten-Werkzeuge


quiz:to-r_r-from:aufgabe

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.

marcel hendrix 2006/05/22 21:21

quiz/to-r_r-from/aufgabe.txt · Zuletzt geändert: 2013-06-06 21:27 von 127.0.0.1