自動合成

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