21 lines
		
	
	
		
			581 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			581 B
		
	
	
	
		
			Factor
		
	
	
! Copyright (C) 2008, 2010 Slava Pestov.
 | 
						|
! See http://factorcode.org/license.txt for BSD license.
 | 
						|
USING: classes compiler.units kernel parser vocabs.parser words ;
 | 
						|
IN: classes.parser
 | 
						|
 | 
						|
: save-class-location ( class -- )
 | 
						|
    location remember-class ;
 | 
						|
 | 
						|
: create-class ( string vocab -- word )
 | 
						|
    create-word
 | 
						|
    dup t "defining-class" set-word-prop
 | 
						|
    dup set-last-word
 | 
						|
    dup save-class-location
 | 
						|
    dup create-predicate-word save-location ;
 | 
						|
 | 
						|
: create-class-in ( string -- word )
 | 
						|
    current-vocab create-class ;
 | 
						|
 | 
						|
: scan-new-class ( -- word )
 | 
						|
    scan-word-name create-class-in ;
 |