S" :" CREATE ] DOCOL READ-WORD CREATE LIT DOCOL , ] EXIT [ : ; LIT EXIT , [ S" [" FIND >CFA , ] EXIT [ IMMEDIATE : / /MOD DROP ; : MOD /MOD SWAP DROP ; : NEG 0 SWAP - ; : IF IMMEDIATE ' 0BRANCH , HERE @ 0 , ; : THEN IMMEDIATE DUP HERE @ SWAP - SWAP ! ; : ELSE IMMEDIATE ' BRANCH , HERE @ 0 , SWAP DUP HERE @ SWAP - SWAP ! ; : BEGIN IMMEDIATE HERE @ ; : UNTIL IMMEDIATE ' 0BRANCH , HERE @ - , ; : FIB 0 1 0 BEGIN ROT DUP ROT + ROT ROT 1 + DUP 4 PICK = UNTIL DROP SWAP DROP SWAP DROP ; : C, HERE @ C! HERE @ 1 + HERE ! ; : OVER SWAP DUP ROT ; : STORE-STRING BEGIN OVER C@ C, SWAP 1 + SWAP 1 - DUP 0 = UNTIL DROP DROP ; S" HELLO-ADDR" CREATE S" Hello!" DUP ROT STORE-STRING : HELLO ' HELLO-ADDR LIT [ , ] TELL NEWLINE ; HELLO S" 10 FIB = " TELL 10 FIB .U S" (Expected: 59)" TELL NEWLINE