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