自動合成
here ok.
. 4494152 ok
s" cyn" "header ok
here . 4494152 ok
' cyn . 4494152 ok
here . 4494152 ok
create wesley ok
here . 4494156 ok
' wesley . 4494152 ok
wesley . 4494156 ok
cyn . 4494156 ok
' wesley EXECUTE . 4494156 ok
: wesley ( str count -- )
"header \ 創建字串中指定的新詞
docon , 3 , \ 定義 此新詞的動作
;
Warning(-4101): DOCON is a system word in an application word
s" cyn" wesley ok
cyn ok.
. 3 ok
Win32Forth 詞類
CFA-CODE DOCOL ( -- ) \ runtime for colon definitions
CFA-CODE DODOES ( -- a1 ) \ runtime for DOES>
CFA-CODE DOVAR ( -- a1 ) \ runtime for CREATE and VARIABLE
CFA-CODE DOUSER ( -- a1 ) \ runtime for USER variables
CFA-CODE DOCON ( -- n1 ) \ runtime for constants
CFA-CODE DODEFER ( -- ) \ runtime for DEFER
CFA-CODE DOVALUE ( -- n1 ) \ runtime for VALUE fetch
CFA-CODE DOVALUE! ( n1 -- ) \ runtime for VALUE store
CFA-CODE DOVALUE+! ( n1 -- ) \ runtime for VALUE increment
CFA-CODE DO2VALUE ( d1 -- ) \ runtime for 2VALUE fetch
CFA-CODE DOOFF ( n -- ) \ run-time for OFFSET and FIELD+
\ variable cyn
: $variable ( str count -- )
"header \ 創建字串中指定的新詞
docon , 0 , \ 定義 此新詞的動作
;
s" cyn" variable@!
\ : cyn! ( n -- ) cyn ! ;
: $variable! ( str count -- )
"header \ 創建字串中指定的新詞
DOCOL , \ 定義 此新詞的動作
' ! ,
' unnest ,
;
\ : cyn@ ( n -- ) cyn @ ;
: $variable@ ( str count -- )
"header \ 創建字串中指定的新詞
DOCOL , \ 定義 此新詞的動作
' @ ,
' unnest ,
;
variable cyn ok
: cyn! cyn ! ; ok
' cyn! 20 dump
449364 | 00 10 40 00 5C 93 44 00 30 15 40 00 84 10 40 00 |..@.\.0.@.?@.|
449374 | 00 00 00 00 |....| ok
docol h. 401000 ok
' cyn h. 44935C ok
' ! h. 401530 ok
' unnest h. 401084 ok
create t1$ 256 allot
create t2$ 256 allot
variable tcfa
: $!@ ( str count -- )
t1$ place
t1$ count "header here tcfa !
docon , 0 ,
t1$ count t2$ place
s" @" t2$ +place t2$ count "header DOCOL , tcfa @ , compile @ compile unnest
t1$ count t2$ place
s" !" t2$ +place t2$ count "header DOCOL , tcfa @ , compile ! compile unnest
;
s" cyn" $!@
words cyn