23 lines
		
	
	
		
			577 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			577 B
		
	
	
	
		
			Factor
		
	
	
 | 
						|
USING: accessors effects.parser kernel lexer multi-methods
 | 
						|
       parser sequences words ;
 | 
						|
 | 
						|
IN: multi-method-syntax
 | 
						|
 | 
						|
! A nicer specializer syntax to hold us over till multi-methods go in
 | 
						|
! officially.
 | 
						|
!
 | 
						|
! Use both 'multi-methods' and 'multi-method-syntax' in that order.
 | 
						|
 | 
						|
: scan-specializer ( -- specializer )
 | 
						|
 | 
						|
  scan drop ! eat opening parenthesis
 | 
						|
 | 
						|
  ")" parse-effect in>> [ search ] map ;
 | 
						|
 | 
						|
: CREATE-METHOD ( -- method )
 | 
						|
  scan-word scan-specializer swap create-method-in ;
 | 
						|
 | 
						|
: (METHOD:) ( -- method def ) CREATE-METHOD parse-definition ;
 | 
						|
 | 
						|
: METHOD: (METHOD:) define ; parsing |