2010-01-20 14:00:36 -05:00
|
|
|
! Copyright (C) 2008, 2010 Slava Pestov.
|
2008-06-25 04:25:08 -04:00
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2013-03-05 13:48:14 -05:00
|
|
|
USING: classes compiler.units kernel parser vocabs.parser words ;
|
2008-06-25 04:25:08 -04:00
|
|
|
IN: classes.parser
|
|
|
|
|
|
|
|
: save-class-location ( class -- )
|
|
|
|
location remember-class ;
|
|
|
|
|
2015-08-23 16:32:24 -04:00
|
|
|
: create-class ( string vocab -- word )
|
|
|
|
create-word
|
2013-03-22 18:58:20 -04:00
|
|
|
dup t "defining-class" set-word-prop
|
2013-03-23 19:05:14 -04:00
|
|
|
dup set-last-word
|
2008-06-25 04:25:08 -04:00
|
|
|
dup save-class-location
|
2010-02-17 08:19:57 -05:00
|
|
|
dup create-predicate-word save-location ;
|
2008-06-25 04:25:08 -04:00
|
|
|
|
2015-08-23 16:32:24 -04:00
|
|
|
: create-class-in ( string -- word )
|
|
|
|
current-vocab create-class ;
|
|
|
|
|
2011-09-27 16:20:07 -04:00
|
|
|
: scan-new-class ( -- word )
|
|
|
|
scan-word-name create-class-in ;
|