]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/tokens/tokens.factor
factor: trim using lists
[factor.git] / basis / xmode / tokens / tokens.factor
1 USING: assocs kernel namespaces parser words.symbol ;
2 IN: xmode.tokens
3
4 ! Based on org.gjt.sp.jedit.syntax.Token
5 <<
6 SYMBOL: tokens
7
8 {
9     "COMMENT1" "COMMENT2" "COMMENT3" "COMMENT4" "DIGIT"
10     "FUNCTION" "INVALID" "KEYWORD1" "KEYWORD2" "KEYWORD3"
11     "KEYWORD4" "LABEL" "LITERAL1" "LITERAL2" "LITERAL3"
12     "LITERAL4" "MARKUP" "OPERATOR" "END" "NULL"
13 } [
14     dup create-word-in dup define-symbol
15 ] H{ } map>assoc tokens set-global
16 >>
17
18 : string>token ( string -- id ) tokens get at ;
19
20 TUPLE: token str id ;
21
22 C: <token> token