1 ! Copyright (C) 2005, 2006 Eduardo Cavazos
3 ! Thanks to Mackenzie Straight for the idea
5 USING: compiler.units kernel parser words namespaces
10 : define-var-symbol ( str -- ) create-in define-symbol ;
12 : define-var-getter ( str -- )
13 dup ">" append create-in swap in get lookup [ get ] curry define ;
15 : define-var-setter ( str -- )
16 ">" over append create-in swap in get lookup [ set ] curry define ;
18 : define-var ( str -- ) [
19 dup define-var-symbol dup define-var-getter define-var-setter
20 ] with-compilation-unit ;
23 scan define-var ; parsing
25 : define-vars ( seq -- ) [ define-var ] each ;
28 ";" parse-tokens define-vars ; parsing