20 lines
		
	
	
		
			548 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			548 B
		
	
	
	
		
			Factor
		
	
	
USING: accessors parser words sequences namespaces kernel assocs
 | 
						|
compiler.units ;
 | 
						|
IN: xmode.tokens
 | 
						|
 | 
						|
! Based on org.gjt.sp.jedit.syntax.Token
 | 
						|
<<
 | 
						|
SYMBOL: tokens
 | 
						|
 | 
						|
{ "COMMENT1" "COMMENT2" "COMMENT3" "COMMENT4" "DIGIT" "FUNCTION" "INVALID" "KEYWORD1" "KEYWORD2" "KEYWORD3" "KEYWORD4" "LABEL" "LITERAL1" "LITERAL2" "LITERAL3" "LITERAL4" "MARKUP" "OPERATOR" "END" "NULL" } [
 | 
						|
    create-in dup define-symbol
 | 
						|
    dup name>> swap
 | 
						|
] H{ } map>assoc tokens set-global
 | 
						|
>>
 | 
						|
 | 
						|
: string>token ( string -- id ) tokens get at ;
 | 
						|
 | 
						|
TUPLE: token str id ;
 | 
						|
 | 
						|
C: <token> token
 |