John Hayes' ANS Forth Testsuite enthält Tests, die wie folgt aussehen:Was passiert, wenn ich DOES zweimal anrufe?
: WEIRD: CREATE DOES> 1 + DOES> 2 + ;
WEIRD: W1
W1
Ich bin eher an ratlos, genau das, was diese tun soll. Die ANS Forth Specification auf DOES>
ist weitgehend undurchdringlich.
Von der Test-Suite zu lesen, es sieht aus wie es um den ersten Anruf zu DOES>
ist erwartet W1
, zu modifizieren, aber dann, dass W1
aktiviert die SekundenDOES>
aufrufen. Ich nehme an, dass die zweite Funktion auf dem Wort basiert, das durch den letzten Aufruf an CREATE
definiert wurde, aber das ist bereits DOES>
ified, also bin ich mir nicht sicher, was das tun soll.
gforth besteht die Testsuite, daher scheinen die Tests gültig zu sein; aber mein Haustier Forth-Interpreter nicht, und ich muss herausfinden, wie es funktioniert ...
Es ist eine Weile (30+ Jahre) seit ich in Forth versuchte, aber vielleicht [http://www.vintagecomputer.net/fjkraan/comp/atom/doc/ForthTheory&Practice_10-index.pdf] wird helfen . –
Re "DOES>": Kapitel 11, "Definieren definierender Wörter", p. 229-246, in * [Forth - Ein Text und Hinweis] (http://www.amazon.com/Forth-Reference-Prentice-Hall-Software-Series/dp/0133263312) * von Mahlon G. Kelly und Nicholas Spies (ISBN 0133263312/978-0133263312), kann von Nutzen sein. Die zentrale Seite ist Seite 234. [Sie ist möglicherweise in Google Books verfügbar] (https://books.google.dk/books?hl=da&id=AIVGAAAAYAAJ&focus=searchwithininvolume&q=various+defining+words) (aber ich konnte nur die ersten Zeilen) - ein praktikabler Weg ist es, es aus einer Bibliothek zu leihen. –