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 ; |