From d6050ef0cc01079bc3b7237cf5dad2290884f566 Mon Sep 17 00:00:00 2001 From: Tim Vaughan Date: Thu, 2 Jun 2016 01:01:04 +1200 Subject: [PATCH] Still messing around with vocabs. --- src/lib_9_vocab.4th | 46 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 38 insertions(+), 8 deletions(-) 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 ; -- 2.20.1