13 lines
		
	
	
		
			312 B
		
	
	
	
		
			Factor
		
	
	
		
		
			
		
	
	
			13 lines
		
	
	
		
			312 B
		
	
	
	
		
			Factor
		
	
	
|  | 
 | ||
|  | USING: kernel parser generic math sequences strings ;
 | ||
|  | 
 | ||
|  | IN: lisp.lexer | ||
|  | 
 | ||
|  | TUPLE: sexp-lexer ;
 | ||
|  | 
 | ||
|  | : <sexp-lexer> ( text -- lexer )
 | ||
|  |     <lexer> sexp-lexer construct-delegate ;
 | ||
|  | 
 | ||
|  | M: sexp-lexer skip-word ( lexer -- )
 | ||
|  | [ 2dup nth "\"()" member?
 | ||
|  |   [ drop 1+ ] [ [ dup blank? swap ")" member? or ] skip ] if ] change-column ;
 |