Vet gedrukte tekst is invoer, de rest is reactie van het programma.
[rtn] is de returntoets.
Let op:
De maatregelen die Forth na een fout pleegt te nemen, blijven nu achterwege.
VB [rtn]
0: [ DROP [rtn] -4 THROW is uitgevoerd
0: [ 12 [rtn]
1: 12 [ 1999 [rtn]
2: 12 1999 [ : ZWAP [rtn]
2: 12 1999 ] QWERTY [rtn] -61 THROW is uitgevoerd
Met
QWERTY kan
EVALUATE niets aanvangen.
Het is geen woord en ook geen getal, maar de compile-toestand blijft gehandhaafd,
de stack blijft intact.
2: 12 1999 ] 2>R [rtn]
2: 12 1999 ] R> R> [rtn]
2: 12 1999 ] ; [rtn]
Ondanks de storing lijkt
ZWAP toch gecompileerd te zijn.
2: 12 1999 [ ZWAP [rtn]
2: 1999 12 [ ' ASDF [rtn] -13 THROW is uitgevoerd
TICK kan het woord
ASDF niet vinden.
2: 1999 12 [ -56 THROW [rtn]
[rtn] ok
.S [rtn] ( 1999 12 ) ok
Met
VB kom je in een oneindige lus, waaruit je alleen kunt ontsnappen
met woorden als
QUIT of
BYE.
Dat laatste is natuurlijk niet de bedoeling.
-56 throw is een speciale
THROW waarvoor afgesproken is
dat hij
QUIT uitvoert.
Probeer ook
ABORT en
TRUE ABORT" Hallo!"
ABORT behoort
-1 THROW uit te voeren
en
ABORT" een
-2 THROW.