From: Tim Vaughan Date: Wed, 1 Jun 2016 13:01:04 +0000 (+1200) Subject: Still messing around with vocabs. X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?a=commitdiff_plain;h=d6050ef0cc01079bc3b7237cf5dad2290884f566;p=forth.jl.git Still messing around with vocabs. --- diff --git a/src/lib_9_vocab.4th b/src/lib_9_vocab.4th index 68b7f6e..7e574b7 100644 --- a/src/lib_9_vocab.4th +++ b/src/lib_9_vocab.4th @@ -14,15 +14,45 @@ : VOCAB>LATEST ( vcfa -- vlatest ) 1+ @ @ ; +: ALSO + context #context @ + dup 1- @ swap ! + 1 #context +! +; + +\ Create new vocabulary +: VOCABULARY + create 0 , +does> + body> context #context @ 1- + ! +; + +: DEFINITIONS + context @ current ! +; + +vocabulary root +also root definitions + +: FORTH forth ; + +: ONLY + 1 #context ! + root + 2 #context ! +; + +\ only forth + +\ Display search order and compilation dictionary : ORDER - \ Search order - context #context @ 1- + context - do - i @ >name .name - loop + \ Search order + context #context @ 1- + context swap + do + i @ >name .name space + -1 +loop - \ Current (definitions) - 9 emit - current @ >name .name + \ Current (definitions) + 9 emit + current @ >name .name ;