1
1
module . exports = {
2
+
3
+ CLASS_DEFINITION : {
4
+ '{' : 'CLASS_DEFINITION_START' ,
5
+ '}' : 'CLASS_DEFINITION_END' ,
6
+ } ,
2
7
3
- // ARRAY: {
4
- // '[': 'ARRAY_START',
5
- // ']': 'ARRAY_END'
6
- // },
7
-
8
- // DICTIONARY: {
9
- // '[': 'DICTIONARY_START',
10
- // ']': 'DICTIONARY_END'
11
- // },
12
-
13
- NATIVE_METHOD : {
14
- 'abs' : 'NATIVE_METHOD' ,
15
- 'advancedBy' : 'NATIVE_METHOD' ,
16
- 'append' : 'NATIVE_METHOD' ,
17
- 'contains' : 'NATIVE_METHOD' ,
18
- 'distanceTo' : 'NATIVE_METHOD' ,
19
- 'dropFirst' : 'NATIVE_METHOD' ,
20
- 'dropLast' : 'NATIVE_METHOD' ,
21
- 'elementsEqual' : 'NATIVE_METHOD' ,
22
- 'hasPrefix' : 'NATIVE_METHOD' ,
23
- 'hasSuffix' : 'NATIVE_METHOD' ,
24
- 'insert' : 'NATIVE_METHOD' ,
25
- 'insertContentsOf' : 'NATIVE_METHOD' ,
26
- 'maxElement' : 'NATIVE_METHOD' ,
27
- 'minElement' : 'NATIVE_METHOD' ,
28
- 'predecessor' : 'NATIVE_METHOD' ,
29
- 'popLast' : 'NATIVE_METHOD' ,
30
- 'print' : 'NATIVE_METHOD' ,
31
- 'removeAtIndex' : 'NATIVE_METHOD' ,
32
- 'removeAll' : 'NATIVE_METHOD' ,
33
- 'removeFirst' : 'NATIVE_METHOD' ,
34
- 'removeLast' : 'NATIVE_METHOD' ,
35
- 'removeRange' : 'NATIVE_METHOD' ,
36
- 'removeValueForKey' : 'NATIVE_METHOD' ,
37
- 'replaceRange' : 'NATIVE_METHOD' ,
38
- 'successor' : 'NATIVE_METHOD' ,
39
- 'startsWith' : 'NATIVE_METHOD' ,
40
- 'updateValue' : 'NATIVE_METHOD' ,
8
+ COLLECTION : {
9
+ '[' : 'ARRAY_START' ,
10
+ ']' : 'COLLECTION_END' ,
41
11
} ,
42
12
43
- METHOD_ARGUMENT_NAME : {
44
- 'at' : 'METHOD_ARGUMENT_NAME' ,
45
- 'atIndex' : 'METHOD_ARGUMENT_NAME' ,
46
- 'forKey' : 'METHOD_ARGUMENT_NAME' ,
47
- 'repeatedValue' : 'METHOD_ARGUMENT_NAME'
13
+ COMMENT : {
14
+ '//' : 'COMMENT_START' ,
15
+ '/*' : 'MULTI_LINE_COMMENT_START' ,
16
+ '*/' : 'MULTI_LINE_COMMENT_END' ,
48
17
} ,
49
18
50
- TYPE_PROPERTY : {
51
- 'characters' : 'TYPE_PROPERTY' ,
52
- 'count' : 'TYPE_PROPERTY' ,
53
- 'description' : 'TYPE_PROPERTY' ,
54
- 'endIndex' : 'TYPE_PROPERTY' ,
55
- 'lowercaseString' : 'TYPE_PROPERTY' ,
56
- 'isEmpty' : 'TYPE_PROPERTY' ,
57
- 'startIndex' : 'TYPE_PROPERTY' ,
58
- 'uppercaseString' : 'TYPE_PROPERTY' ,
59
- } ,
60
-
61
- RANGES : {
62
- '...' : 'CLOSED_RANGE' ,
63
- '..<' : 'HALF-OPEN_RANGE' ,
64
- } ,
65
-
66
19
FUNCTION_DECLARATION : {
67
20
'(' : 'PARAMS_START' ,
68
21
')' : 'PARAMS_END' ,
69
22
'{' : 'STATEMENTS_START' ,
70
23
'}' : 'STATEMENTS_END' ,
71
24
'->' : 'RETURN_ARROW' ,
72
- '...' : 'VARIADIC_PARAM'
25
+ '...' : 'VARIADIC_PARAM' ,
73
26
} ,
74
27
75
28
FUNCTION_INVOCATION : {
76
29
'(' : 'INVOCATION_START' ,
77
- ')' : 'INVOCATION_END'
78
- } ,
79
-
80
- CLASS_DEFINITION : {
81
- '{' : 'CLASS_DEFINITION_START' ,
82
- '}' : 'CLASS_DEFINITION_END'
83
- } ,
84
-
85
- STRUCT_DEFINITION : {
86
- '{' : 'STRUCT_DEFINITION_START' ,
87
- '}' : 'STRUCT_DEFINITION_END'
30
+ ')' : 'INVOCATION_END' ,
88
31
} ,
89
32
90
33
INITIALIZATION : {
91
34
'(' : 'INITIALIZATION_START' ,
92
- ')' : 'INITIALIZATION_END'
93
- } ,
94
-
95
- COLLECTION : {
96
- '[' : 'ARRAY_START' ,
97
- ']' : 'COLLECTION_END'
98
- } ,
99
-
100
- COMMENT : {
101
- '//' : 'COMMENT_START' ,
102
- '/*' : 'MULTI_LINE_COMMENT_START' ,
103
- '*/' : 'MULTI_LINE_COMMENT_END'
35
+ ')' : 'INITIALIZATION_END' ,
104
36
} ,
105
37
106
38
KEYWORD : {
@@ -192,12 +124,48 @@ module.exports = {
192
124
'Type' : 'CONTEXT_SPECIFIC_KEYWORD' ,
193
125
'unowned' : 'CONTEXT_SPECIFIC_KEYWORD' ,
194
126
'weak' : 'CONTEXT_SPECIFIC_KEYWORD' ,
195
- 'willSet' : 'CONTEXT_SPECIFIC_KEYWORD'
127
+ 'willSet' : 'CONTEXT_SPECIFIC_KEYWORD' ,
196
128
197
129
} ,
130
+
131
+ METHOD_ARGUMENT_NAME : {
132
+ 'at' : 'METHOD_ARGUMENT_NAME' ,
133
+ 'atIndex' : 'METHOD_ARGUMENT_NAME' ,
134
+ 'forKey' : 'METHOD_ARGUMENT_NAME' ,
135
+ 'repeatedValue' : 'METHOD_ARGUMENT_NAME' ,
136
+ } ,
137
+
138
+ NATIVE_METHOD : {
139
+ 'abs' : 'NATIVE_METHOD' ,
140
+ 'advancedBy' : 'NATIVE_METHOD' ,
141
+ 'append' : 'NATIVE_METHOD' ,
142
+ 'contains' : 'NATIVE_METHOD' ,
143
+ 'distanceTo' : 'NATIVE_METHOD' ,
144
+ 'dropFirst' : 'NATIVE_METHOD' ,
145
+ 'dropLast' : 'NATIVE_METHOD' ,
146
+ 'elementsEqual' : 'NATIVE_METHOD' ,
147
+ 'hasPrefix' : 'NATIVE_METHOD' ,
148
+ 'hasSuffix' : 'NATIVE_METHOD' ,
149
+ 'insert' : 'NATIVE_METHOD' ,
150
+ 'insertContentsOf' : 'NATIVE_METHOD' ,
151
+ 'maxElement' : 'NATIVE_METHOD' ,
152
+ 'minElement' : 'NATIVE_METHOD' ,
153
+ 'predecessor' : 'NATIVE_METHOD' ,
154
+ 'popLast' : 'NATIVE_METHOD' ,
155
+ 'print' : 'NATIVE_METHOD' ,
156
+ 'removeAtIndex' : 'NATIVE_METHOD' ,
157
+ 'removeAll' : 'NATIVE_METHOD' ,
158
+ 'removeFirst' : 'NATIVE_METHOD' ,
159
+ 'removeLast' : 'NATIVE_METHOD' ,
160
+ 'removeRange' : 'NATIVE_METHOD' ,
161
+ 'removeValueForKey' : 'NATIVE_METHOD' ,
162
+ 'replaceRange' : 'NATIVE_METHOD' ,
163
+ 'successor' : 'NATIVE_METHOD' ,
164
+ 'startsWith' : 'NATIVE_METHOD' ,
165
+ 'updateValue' : 'NATIVE_METHOD' ,
166
+ } ,
198
167
199
168
OPERATOR : {
200
-
201
169
'/' : 'OPERATOR' ,
202
170
'=' : 'OPERATOR' ,
203
171
'-' : 'OPERATOR' ,
@@ -211,14 +179,10 @@ module.exports = {
211
179
'|' : 'OPERATOR' ,
212
180
'^' : 'OPERATOR' ,
213
181
'?' : 'OPERATOR' ,
214
- '~' : 'OPERATOR'
215
-
182
+ '~' : 'OPERATOR' ,
216
183
} ,
217
-
218
- // TODO end of file terminator at end of string, new line terminator, semicolon terminator
219
-
184
+
220
185
PUNCTUATION : {
221
-
222
186
'(' : 'PUNCTUATION' ,
223
187
')' : 'PUNCTUATION' ,
224
188
'{' : 'PUNCTUATION' ,
@@ -230,8 +194,11 @@ module.exports = {
230
194
'@' : 'PUNCTUATION' ,
231
195
'#' : 'PUNCTUATION' ,
232
196
'`' : 'PUNCTUATION' ,
233
- // '?': 'PUNCTUATION'
234
-
197
+ } ,
198
+
199
+ RANGE : {
200
+ '...' : 'CLOSED_RANGE' ,
201
+ '..<' : 'HALF-OPEN_RANGE' ,
235
202
} ,
236
203
237
204
SUBSTRING_LOOKUP : {
@@ -243,12 +210,17 @@ module.exports = {
243
210
'\\(' : "STRING_INTERPOLATION_START" ,
244
211
')' : "STRING_INTERPOLATION_END" ,
245
212
} ,
213
+
214
+ STRUCT_DEFINITION : {
215
+ '{' : 'STRUCT_DEFINITION_START' ,
216
+ '}' : 'STRUCT_DEFINITION_END' ,
217
+ } ,
246
218
247
219
TERMINATOR : {
248
220
'EOF' : 'TERMINATOR' ,
249
221
'\\n' : 'TERMINATOR' ,
250
222
'\\r' : 'TERMINATOR' ,
251
- '\\t' : 'TAB'
223
+ '\\t' : 'TAB' ,
252
224
} ,
253
225
254
226
TYPE : {
@@ -266,8 +238,18 @@ module.exports = {
266
238
'UInt8' : 'TYPE_NUMBER' ,
267
239
'UInt16' : 'TYPE_NUMBER' ,
268
240
'UInt32' : 'TYPE_NUMBER' ,
269
- 'UInt64' : 'TYPE_NUMBER'
270
- }
271
-
241
+ 'UInt64' : 'TYPE_NUMBER' ,
242
+ } ,
243
+
244
+ TYPE_PROPERTY : {
245
+ 'characters' : 'TYPE_PROPERTY' ,
246
+ 'count' : 'TYPE_PROPERTY' ,
247
+ 'description' : 'TYPE_PROPERTY' ,
248
+ 'endIndex' : 'TYPE_PROPERTY' ,
249
+ 'lowercaseString' : 'TYPE_PROPERTY' ,
250
+ 'isEmpty' : 'TYPE_PROPERTY' ,
251
+ 'startIndex' : 'TYPE_PROPERTY' ,
252
+ 'uppercaseString' : 'TYPE_PROPERTY' ,
253
+ } ,
272
254
273
- } ;
255
+ } ;
0 commit comments