/
token-map.kuma
125 lines (119 loc) · 2.05 KB
/
token-map.kuma
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
my tokens = qw(
TOKEN_IDENT
TOKEN_DOUBLE
TOKEN_INTEGER
TOKEN_STRING
TOKEN_CLASS
TOKEN_RETURN
TOKEN_USE
TOKEN_UNLESS
TOKEN_IF
TOKEN_DO
TOKEN_SUB
TOKEN_STR_NOT
TOKEN_DIE
TOKEN_TRY
TOKEN_STR_OR
TOKEN_STR_XOR
TOKEN_STR_AND
TOKEN_ELSIF
TOKEN_LAST
TOKEN_NEXT
TOKEN_ELSE
TOKEN_WHILE
TOKEN_FOR
TOKEN_MY
TOKEN_UNDEF
TOKEN_TRUE
TOKEN_FALSE
TOKEN_SELF
TOKEN_FILE
TOKEN_LINE
TOKEN_IS
TOKEN_QUESTION
TOKEN_PLUSPLUS
TOKEN_PLUS_ASSIGN
TOKEN_PLUS
TOKEN_BYTES_DQ
TOKEN_BYTES_SQ
TOKEN_LPAREN
TOKEN_HEREDOC_SQ_START
TOKEN_DIV_ASSIGN
TOKEN_DIV
TOKEN_MOD_ASSIGN
TOKEN_MOD
TOKEN_COMMA
TOKEN_NOT_EQUAL
TOKEN_REGEXP_NOT_MATCH
TOKEN_NOT
TOKEN_EQUAL_EQUAL
TOKEN_FAT_COMMA
TOKEN_REGEXP_MATCH
TOKEN_ASSIGN
TOKEN_XOR_ASSIGN
TOKEN_XOR
TOKEN_DOTDOTDOT
TOKEN_DOTDOT
TOKEN_DOT
TOKEN_OROR_ASSIGN
TOKEN_OROR
TOKEN_OR_ASSIGN
TOKEN_OR
TOKEN_ANDAND
TOKEN_AND_ASSIGN
TOKEN_AND
TOKEN_LSHIFT_ASSIGN
TOKEN_HEREDOC_SQ_START
TOKEN_LSHIFT
TOKEN_CMP
TOKEN_LE
TOKEN_LT
TOKEN_RSHIFT_ASSIGN
TOKEN_RSHIFT
TOKEN_GE
TOKEN_GT
TOKEN_REF
TOKEN_TILDE
TOKEN_DEREF
TOKEN_POW_ASSIGN
TOKEN_POW
TOKEN_MUL_ASSIGN
TOKEN_MUL
TOKEN_PLUSPLUS
TOKEN_PLUS_ASSIGN
TOKEN_PLUS
TOKEN_LBRACE
TOKEN_BYTES_SQ
TOKEN_BYTES_DQ
TOKEN_QW
TOKEN_STRING_DQ
TOKEN_STRING_SQ
TOKEN_LBRACKET
TOKEN_FILETEST
TOKEN_MINUSMINUS
TOKEN_LAMBDA
TOKEN_MINUS_ASSIGN
TOKEN_MINUS
TOKEN_RPAREN
TOKEN_COLON
TOKEN_END
TOKEN_SEMICOLON
TOKEN_RBRACE
TOKEN_RBRACKET
TOKEN_REGEXP
TOKEN_LF
TOKEN_NEW
TOKEN_STATIC
TOKEN_QX
TOKEN_EXPORT
TOKEN_VARIABLE
)
my i = 1
my token_map = {}
tokens.each(-> { token_map[$_] = i++ })
token_map['TOKEN_EOF'] = -1
my json = JSON.stringify({
"name2id": token_map,
"id2name": token_map.reverse()
})
printf("module.exports=%s;\n", json)