好的 经过大量的试验和错误以及大量搜索后,我发现了一些应该可以工作的东西,但是由于 redFORTH 中的两个错误,没有。
价值
\ Works fine, now to reset the value.
: VALUE \ n <name> --
CREATE ,
DOES> @
;
到
\ Works if not compiling, LITERAL and POSTPONE are broken.
: TO
TIBWORD FIND 3 +
STATE @ IF
POSTPONE LITERAL
POSTPONE !
ELSE
!
THEN
; IMMEDIATE
LITERAL 中的错误演示
\ fails, very wierd error.
: TESTLIT [ 42 ] LITERAL ;
\ TESTLIT Unknown Token: TESTLIT
\ FORGET TESTLIT Unknown Token: TESTLIT
\ WORDS TESTLIT COLD SORTMATCH ...
POSTPONE 中的错误演示
\ fails, postpone is directly equivelent to [']
: TESTPOST POSTPONE + ; IMMEDIATE
: TEST 2 2 TESTPOST . ;
\ . 1935
\ ' + . 1935
我要去提交错误报告....
编辑#1:经过更多的试验和错误,而不是一点点咒骂(我对 FORTH 不好),我找到了一种让它工作的方法。
: TO
TIBWORD FIND 3 +
STATE @ IF
(lit) (lit) , , \ store address
(lit) ! ,
ELSE
!
THEN
; IMMEDIATE