Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(440)

Side by Side Diff: frog/tokenizer.g.dart

Issue 10548047: Remove frog from the repository. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Move test and update apidoc.gyp. Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « frog/tokenizer.dart ('k') | frog/tree.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4 // Generated by scripts/tokenizer_gen.py.
5
6
7 /** A generated file that extends the hand coded methods in TokenizerBase. */
8 class Tokenizer extends TokenizerBase {
9
10 Tokenizer(SourceFile source, bool skipWhitespace, [int index = 0])
11 : super(source, skipWhitespace, index);
12
13 Token next() {
14 // keep track of our starting position
15 _startIndex = _index;
16
17 if (_interpStack != null && _interpStack.depth == 0) {
18 var istack = _interpStack;
19 _interpStack = _interpStack.pop();
20 if (istack.isMultiline) {
21 return finishMultilineString(istack.quote);
22 } else {
23 return finishStringBody(istack.quote);
24 }
25 }
26
27 int ch;
28 ch = _nextChar();
29 switch(ch) {
30 case 0: return _finishToken(TokenKind.END_OF_FILE);
31 case 32/*' '*/: case 9/*'\t'*/: case 10/*'\n'*/: case 13/*'\r'*/:
32 return finishWhitespace();
33 case 33/*!*/:
34 if (_maybeEatChar(61/*=*/)) {
35 if (_maybeEatChar(61/*=*/)) {
36 return _finishToken(TokenKind.NE_STRICT);
37 } else {
38 return _finishToken(TokenKind.NE);
39 }
40 } else {
41 return _finishToken(TokenKind.NOT);
42 }
43 case 34/*"*/:
44 return finishString(34/*"*/);
45 case 35/*#*/:
46 if (_maybeEatChar(33/*!*/)) {
47 return finishHashBang();
48 } else {
49 return _finishToken(TokenKind.HASH);
50 }
51 case 36/*$*/:
52 if (_maybeEatChar(34/*"*/)) {
53 return finishString(34/*"*/);
54 } else if (_maybeEatChar(39/*'*/)) {
55 return finishString(39/*'*/);
56 } else {
57 return finishIdentifier(36/*$*/);
58 }
59 case 37/*%*/:
60 if (_maybeEatChar(61/*=*/)) {
61 return _finishToken(TokenKind.ASSIGN_MOD);
62 } else {
63 return _finishToken(TokenKind.MOD);
64 }
65 case 38/*&*/:
66 if (_maybeEatChar(38/*&*/)) {
67 return _finishToken(TokenKind.AND);
68 } else if (_maybeEatChar(61/*=*/)) {
69 return _finishToken(TokenKind.ASSIGN_AND);
70 } else {
71 return _finishToken(TokenKind.BIT_AND);
72 }
73 case 39/*'*/:
74 return finishString(39/*'*/);
75 case 40/*(*/:
76 return _finishToken(TokenKind.LPAREN);
77 case 41/*)*/:
78 return _finishToken(TokenKind.RPAREN);
79 case 42/*'*'*/:
80 if (_maybeEatChar(61/*=*/)) {
81 return _finishToken(TokenKind.ASSIGN_MUL);
82 } else {
83 return _finishToken(TokenKind.MUL);
84 }
85 case 43/*+*/:
86 if (_maybeEatChar(43/*+*/)) {
87 return _finishToken(TokenKind.INCR);
88 } else if (_maybeEatChar(61/*=*/)) {
89 return _finishToken(TokenKind.ASSIGN_ADD);
90 } else {
91 return _finishToken(TokenKind.ADD);
92 }
93 case 44/*,*/:
94 return _finishToken(TokenKind.COMMA);
95 case 45/*-*/:
96 if (_maybeEatChar(45/*-*/)) {
97 return _finishToken(TokenKind.DECR);
98 } else if (_maybeEatChar(61/*=*/)) {
99 return _finishToken(TokenKind.ASSIGN_SUB);
100 } else {
101 return _finishToken(TokenKind.SUB);
102 }
103 case 46/*.*/:
104 if (_maybeEatChar(46/*.*/)) {
105 if (_maybeEatChar(46/*.*/)) {
106 return _finishToken(TokenKind.ELLIPSIS);
107 } else {
108 return _errorToken();
109 }
110 } else {
111 return finishDot();
112 }
113 case 47/*'/'*/:
114 if (_maybeEatChar(42/*'*'*/)) {
115 return finishMultiLineComment();
116 } else if (_maybeEatChar(47/*'/'*/)) {
117 return finishSingleLineComment();
118 } else if (_maybeEatChar(61/*=*/)) {
119 return _finishToken(TokenKind.ASSIGN_DIV);
120 } else {
121 return _finishToken(TokenKind.DIV);
122 }
123 case 48/*0*/:
124 if (_maybeEatChar(88/*X*/)) {
125 return finishHex();
126 } else if (_maybeEatChar(120/*x*/)) {
127 return finishHex();
128 } else {
129 return finishNumber();
130 }
131 case 58/*:*/:
132 return _finishToken(TokenKind.COLON);
133 case 59/*;*/:
134 return _finishToken(TokenKind.SEMICOLON);
135 case 60/*<*/:
136 if (_maybeEatChar(60/*<*/)) {
137 if (_maybeEatChar(61/*=*/)) {
138 return _finishToken(TokenKind.ASSIGN_SHL);
139 } else {
140 return _finishToken(TokenKind.SHL);
141 }
142 } else if (_maybeEatChar(61/*=*/)) {
143 return _finishToken(TokenKind.LTE);
144 } else {
145 return _finishToken(TokenKind.LT);
146 }
147 case 61/*=*/:
148 if (_maybeEatChar(61/*=*/)) {
149 if (_maybeEatChar(61/*=*/)) {
150 return _finishToken(TokenKind.EQ_STRICT);
151 } else {
152 return _finishToken(TokenKind.EQ);
153 }
154 } else if (_maybeEatChar(62/*>*/)) {
155 return _finishToken(TokenKind.ARROW);
156 } else {
157 return _finishToken(TokenKind.ASSIGN);
158 }
159 case 62/*>*/:
160 if (_maybeEatChar(61/*=*/)) {
161 return _finishToken(TokenKind.GTE);
162 } else if (_maybeEatChar(62/*>*/)) {
163 if (_maybeEatChar(61/*=*/)) {
164 return _finishToken(TokenKind.ASSIGN_SAR);
165 } else if (_maybeEatChar(62/*>*/)) {
166 if (_maybeEatChar(61/*=*/)) {
167 return _finishToken(TokenKind.ASSIGN_SHR);
168 } else {
169 return _finishToken(TokenKind.SHR);
170 }
171 } else {
172 return _finishToken(TokenKind.SAR);
173 }
174 } else {
175 return _finishToken(TokenKind.GT);
176 }
177 case 63/*?*/:
178 return _finishToken(TokenKind.CONDITIONAL);
179 case 64/*@*/:
180 if (_maybeEatChar(34/*"*/)) {
181 return finishRawString(34/*"*/);
182 } else if (_maybeEatChar(39/*'*/)) {
183 return finishRawString(39/*'*/);
184 } else {
185 return _errorToken();
186 }
187 case 91/*[*/:
188 if (_maybeEatChar(93/*]*/)) {
189 if (_maybeEatChar(61/*=*/)) {
190 return _finishToken(TokenKind.SETINDEX);
191 } else {
192 return _finishToken(TokenKind.INDEX);
193 }
194 } else {
195 return _finishToken(TokenKind.LBRACK);
196 }
197 case 93/*]*/:
198 return _finishToken(TokenKind.RBRACK);
199 case 94/*^*/:
200 if (_maybeEatChar(61/*=*/)) {
201 return _finishToken(TokenKind.ASSIGN_XOR);
202 } else {
203 return _finishToken(TokenKind.BIT_XOR);
204 }
205 case 123/*{*/:
206 return _finishOpenBrace();
207 case 124/*|*/:
208 if (_maybeEatChar(61/*=*/)) {
209 return _finishToken(TokenKind.ASSIGN_OR);
210 } else if (_maybeEatChar(124/*|*/)) {
211 return _finishToken(TokenKind.OR);
212 } else {
213 return _finishToken(TokenKind.BIT_OR);
214 }
215 case 125/*}*/:
216 return _finishCloseBrace();
217 case 126/*~*/:
218 if (_maybeEatChar(47/*'/'*/)) {
219 if (_maybeEatChar(61/*=*/)) {
220 return _finishToken(TokenKind.ASSIGN_TRUNCDIV);
221 } else {
222 return _finishToken(TokenKind.TRUNCDIV);
223 }
224 } else {
225 return _finishToken(TokenKind.BIT_NOT);
226 }
227 default:
228 if (TokenizerHelpers.isIdentifierStart(ch)) {
229 return this.finishIdentifier(ch);
230 } else if (TokenizerHelpers.isDigit(ch)) {
231 return this.finishNumber();
232 } else {
233 return _errorToken();
234 }
235 }
236
237 }
238
239 int getIdentifierKind() {
240 final i0 = _startIndex;
241 int ch;
242 switch (_index - i0) {
243 case 2:
244 ch = _text.charCodeAt(i0);
245 if (ch == 100/*d*/) {
246 if (_text.charCodeAt(i0+1) == 111/*o*/) return TokenKind.DO;
247 } else if (ch == 105/*i*/) {
248 ch = _text.charCodeAt(i0+1);
249 if (ch == 102/*f*/) {
250 return TokenKind.IF;
251 } else if (ch == 110/*n*/) {
252 return TokenKind.IN;
253 } else if (ch == 115/*s*/) {
254 return TokenKind.IS;
255 }
256 }
257 return TokenKind.IDENTIFIER;
258 case 3:
259 ch = _text.charCodeAt(i0);
260 if (ch == 102/*f*/) {
261 if (_text.charCodeAt(i0+1) == 111/*o*/ && _text.charCodeAt(i0+2) == 11 4/*r*/) return TokenKind.FOR;
262 } else if (ch == 103/*g*/) {
263 if (_text.charCodeAt(i0+1) == 101/*e*/ && _text.charCodeAt(i0+2) == 11 6/*t*/) return TokenKind.GET;
264 } else if (ch == 110/*n*/) {
265 if (_text.charCodeAt(i0+1) == 101/*e*/ && _text.charCodeAt(i0+2) == 11 9/*w*/) return TokenKind.NEW;
266 } else if (ch == 115/*s*/) {
267 if (_text.charCodeAt(i0+1) == 101/*e*/ && _text.charCodeAt(i0+2) == 11 6/*t*/) return TokenKind.SET;
268 } else if (ch == 116/*t*/) {
269 if (_text.charCodeAt(i0+1) == 114/*r*/ && _text.charCodeAt(i0+2) == 12 1/*y*/) return TokenKind.TRY;
270 } else if (ch == 118/*v*/) {
271 if (_text.charCodeAt(i0+1) == 97/*a*/ && _text.charCodeAt(i0+2) == 114 /*r*/) return TokenKind.VAR;
272 }
273 return TokenKind.IDENTIFIER;
274 case 4:
275 ch = _text.charCodeAt(i0);
276 if (ch == 99/*c*/) {
277 ch = _text.charCodeAt(i0+1);
278 if (ch == 97/*a*/) {
279 ch = _text.charCodeAt(i0+2);
280 if (ch == 108/*l*/) {
281 if (_text.charCodeAt(i0+3) == 108/*l*/) return TokenKind.CALL;
282 } else if (ch == 115/*s*/) {
283 if (_text.charCodeAt(i0+3) == 101/*e*/) return TokenKind.CASE;
284 }
285 }
286 } else if (ch == 101/*e*/) {
287 if (_text.charCodeAt(i0+1) == 108/*l*/ && _text.charCodeAt(i0+2) == 11 5/*s*/ && _text.charCodeAt(i0+3) == 101/*e*/) return TokenKind.ELSE;
288 } else if (ch == 110/*n*/) {
289 if (_text.charCodeAt(i0+1) == 117/*u*/ && _text.charCodeAt(i0+2) == 10 8/*l*/ && _text.charCodeAt(i0+3) == 108/*l*/) return TokenKind.NULL;
290 } else if (ch == 116/*t*/) {
291 ch = _text.charCodeAt(i0+1);
292 if (ch == 104/*h*/) {
293 if (_text.charCodeAt(i0+2) == 105/*i*/ && _text.charCodeAt(i0+3) == 115/*s*/) return TokenKind.THIS;
294 } else if (ch == 114/*r*/) {
295 if (_text.charCodeAt(i0+2) == 117/*u*/ && _text.charCodeAt(i0+3) == 101/*e*/) return TokenKind.TRUE;
296 }
297 } else if (ch == 118/*v*/) {
298 if (_text.charCodeAt(i0+1) == 111/*o*/ && _text.charCodeAt(i0+2) == 10 5/*i*/ && _text.charCodeAt(i0+3) == 100/*d*/) return TokenKind.VOID;
299 }
300 return TokenKind.IDENTIFIER;
301 case 5:
302 ch = _text.charCodeAt(i0);
303 if (ch == 97/*a*/) {
304 if (_text.charCodeAt(i0+1) == 119/*w*/ && _text.charCodeAt(i0+2) == 97 /*a*/ && _text.charCodeAt(i0+3) == 105/*i*/ && _text.charCodeAt(i0+4) == 116/*t* /) return TokenKind.AWAIT;
305 } else if (ch == 98/*b*/) {
306 if (_text.charCodeAt(i0+1) == 114/*r*/ && _text.charCodeAt(i0+2) == 10 1/*e*/ && _text.charCodeAt(i0+3) == 97/*a*/ && _text.charCodeAt(i0+4) == 107/*k* /) return TokenKind.BREAK;
307 } else if (ch == 99/*c*/) {
308 ch = _text.charCodeAt(i0+1);
309 if (ch == 97/*a*/) {
310 if (_text.charCodeAt(i0+2) == 116/*t*/ && _text.charCodeAt(i0+3) == 99/*c*/ && _text.charCodeAt(i0+4) == 104/*h*/) return TokenKind.CATCH;
311 } else if (ch == 108/*l*/) {
312 if (_text.charCodeAt(i0+2) == 97/*a*/ && _text.charCodeAt(i0+3) == 1 15/*s*/ && _text.charCodeAt(i0+4) == 115/*s*/) return TokenKind.CLASS;
313 } else if (ch == 111/*o*/) {
314 if (_text.charCodeAt(i0+2) == 110/*n*/ && _text.charCodeAt(i0+3) == 115/*s*/ && _text.charCodeAt(i0+4) == 116/*t*/) return TokenKind.CONST;
315 }
316 } else if (ch == 102/*f*/) {
317 ch = _text.charCodeAt(i0+1);
318 if (ch == 97/*a*/) {
319 if (_text.charCodeAt(i0+2) == 108/*l*/ && _text.charCodeAt(i0+3) == 115/*s*/ && _text.charCodeAt(i0+4) == 101/*e*/) return TokenKind.FALSE;
320 } else if (ch == 105/*i*/) {
321 if (_text.charCodeAt(i0+2) == 110/*n*/ && _text.charCodeAt(i0+3) == 97/*a*/ && _text.charCodeAt(i0+4) == 108/*l*/) return TokenKind.FINAL;
322 }
323 } else if (ch == 115/*s*/) {
324 if (_text.charCodeAt(i0+1) == 117/*u*/ && _text.charCodeAt(i0+2) == 11 2/*p*/ && _text.charCodeAt(i0+3) == 101/*e*/ && _text.charCodeAt(i0+4) == 114/*r */) return TokenKind.SUPER;
325 } else if (ch == 116/*t*/) {
326 if (_text.charCodeAt(i0+1) == 104/*h*/ && _text.charCodeAt(i0+2) == 11 4/*r*/ && _text.charCodeAt(i0+3) == 111/*o*/ && _text.charCodeAt(i0+4) == 119/*w */) return TokenKind.THROW;
327 } else if (ch == 119/*w*/) {
328 if (_text.charCodeAt(i0+1) == 104/*h*/ && _text.charCodeAt(i0+2) == 10 5/*i*/ && _text.charCodeAt(i0+3) == 108/*l*/ && _text.charCodeAt(i0+4) == 101/*e */) return TokenKind.WHILE;
329 }
330 return TokenKind.IDENTIFIER;
331 case 6:
332 ch = _text.charCodeAt(i0);
333 if (ch == 97/*a*/) {
334 if (_text.charCodeAt(i0+1) == 115/*s*/ && _text.charCodeAt(i0+2) == 11 5/*s*/ && _text.charCodeAt(i0+3) == 101/*e*/ && _text.charCodeAt(i0+4) == 114/*r */ && _text.charCodeAt(i0+5) == 116/*t*/) return TokenKind.ASSERT;
335 } else if (ch == 105/*i*/) {
336 if (_text.charCodeAt(i0+1) == 109/*m*/ && _text.charCodeAt(i0+2) == 11 2/*p*/ && _text.charCodeAt(i0+3) == 111/*o*/ && _text.charCodeAt(i0+4) == 114/*r */ && _text.charCodeAt(i0+5) == 116/*t*/) return TokenKind.IMPORT;
337 } else if (ch == 110/*n*/) {
338 ch = _text.charCodeAt(i0+1);
339 if (ch == 97/*a*/) {
340 if (_text.charCodeAt(i0+2) == 116/*t*/ && _text.charCodeAt(i0+3) == 105/*i*/ && _text.charCodeAt(i0+4) == 118/*v*/ && _text.charCodeAt(i0+5) == 101/ *e*/) return TokenKind.NATIVE;
341 } else if (ch == 101/*e*/) {
342 if (_text.charCodeAt(i0+2) == 103/*g*/ && _text.charCodeAt(i0+3) == 97/*a*/ && _text.charCodeAt(i0+4) == 116/*t*/ && _text.charCodeAt(i0+5) == 101/* e*/) return TokenKind.NEGATE;
343 }
344 } else if (ch == 114/*r*/) {
345 if (_text.charCodeAt(i0+1) == 101/*e*/ && _text.charCodeAt(i0+2) == 11 6/*t*/ && _text.charCodeAt(i0+3) == 117/*u*/ && _text.charCodeAt(i0+4) == 114/*r */ && _text.charCodeAt(i0+5) == 110/*n*/) return TokenKind.RETURN;
346 } else if (ch == 115/*s*/) {
347 ch = _text.charCodeAt(i0+1);
348 if (ch == 111/*o*/) {
349 if (_text.charCodeAt(i0+2) == 117/*u*/ && _text.charCodeAt(i0+3) == 114/*r*/ && _text.charCodeAt(i0+4) == 99/*c*/ && _text.charCodeAt(i0+5) == 101/* e*/) return TokenKind.SOURCE;
350 } else if (ch == 116/*t*/) {
351 if (_text.charCodeAt(i0+2) == 97/*a*/ && _text.charCodeAt(i0+3) == 1 16/*t*/ && _text.charCodeAt(i0+4) == 105/*i*/ && _text.charCodeAt(i0+5) == 99/*c */) return TokenKind.STATIC;
352 } else if (ch == 119/*w*/) {
353 if (_text.charCodeAt(i0+2) == 105/*i*/ && _text.charCodeAt(i0+3) == 116/*t*/ && _text.charCodeAt(i0+4) == 99/*c*/ && _text.charCodeAt(i0+5) == 104/* h*/) return TokenKind.SWITCH;
354 }
355 }
356 return TokenKind.IDENTIFIER;
357 case 7:
358 ch = _text.charCodeAt(i0);
359 if (ch == 100/*d*/) {
360 if (_text.charCodeAt(i0+1) == 101/*e*/ && _text.charCodeAt(i0+2) == 10 2/*f*/ && _text.charCodeAt(i0+3) == 97/*a*/ && _text.charCodeAt(i0+4) == 117/*u* / && _text.charCodeAt(i0+5) == 108/*l*/ && _text.charCodeAt(i0+6) == 116/*t*/) r eturn TokenKind.DEFAULT;
361 } else if (ch == 101/*e*/) {
362 if (_text.charCodeAt(i0+1) == 120/*x*/ && _text.charCodeAt(i0+2) == 11 6/*t*/ && _text.charCodeAt(i0+3) == 101/*e*/ && _text.charCodeAt(i0+4) == 110/*n */ && _text.charCodeAt(i0+5) == 100/*d*/ && _text.charCodeAt(i0+6) == 115/*s*/) return TokenKind.EXTENDS;
363 } else if (ch == 102/*f*/) {
364 ch = _text.charCodeAt(i0+1);
365 if (ch == 97/*a*/) {
366 if (_text.charCodeAt(i0+2) == 99/*c*/ && _text.charCodeAt(i0+3) == 1 16/*t*/ && _text.charCodeAt(i0+4) == 111/*o*/ && _text.charCodeAt(i0+5) == 114/* r*/ && _text.charCodeAt(i0+6) == 121/*y*/) return TokenKind.FACTORY;
367 } else if (ch == 105/*i*/) {
368 if (_text.charCodeAt(i0+2) == 110/*n*/ && _text.charCodeAt(i0+3) == 97/*a*/ && _text.charCodeAt(i0+4) == 108/*l*/ && _text.charCodeAt(i0+5) == 108/* l*/ && _text.charCodeAt(i0+6) == 121/*y*/) return TokenKind.FINALLY;
369 }
370 } else if (ch == 108/*l*/) {
371 if (_text.charCodeAt(i0+1) == 105/*i*/ && _text.charCodeAt(i0+2) == 98 /*b*/ && _text.charCodeAt(i0+3) == 114/*r*/ && _text.charCodeAt(i0+4) == 97/*a*/ && _text.charCodeAt(i0+5) == 114/*r*/ && _text.charCodeAt(i0+6) == 121/*y*/) re turn TokenKind.LIBRARY;
372 } else if (ch == 116/*t*/) {
373 if (_text.charCodeAt(i0+1) == 121/*y*/ && _text.charCodeAt(i0+2) == 11 2/*p*/ && _text.charCodeAt(i0+3) == 101/*e*/ && _text.charCodeAt(i0+4) == 100/*d */ && _text.charCodeAt(i0+5) == 101/*e*/ && _text.charCodeAt(i0+6) == 102/*f*/) return TokenKind.TYPEDEF;
374 }
375 return TokenKind.IDENTIFIER;
376 case 8:
377 ch = _text.charCodeAt(i0);
378 if (ch == 97/*a*/) {
379 if (_text.charCodeAt(i0+1) == 98/*b*/ && _text.charCodeAt(i0+2) == 115 /*s*/ && _text.charCodeAt(i0+3) == 116/*t*/ && _text.charCodeAt(i0+4) == 114/*r* / && _text.charCodeAt(i0+5) == 97/*a*/ && _text.charCodeAt(i0+6) == 99/*c*/ && _ text.charCodeAt(i0+7) == 116/*t*/) return TokenKind.ABSTRACT;
380 } else if (ch == 99/*c*/) {
381 if (_text.charCodeAt(i0+1) == 111/*o*/ && _text.charCodeAt(i0+2) == 11 0/*n*/ && _text.charCodeAt(i0+3) == 116/*t*/ && _text.charCodeAt(i0+4) == 105/*i */ && _text.charCodeAt(i0+5) == 110/*n*/ && _text.charCodeAt(i0+6) == 117/*u*/ & & _text.charCodeAt(i0+7) == 101/*e*/) return TokenKind.CONTINUE;
382 } else if (ch == 111/*o*/) {
383 if (_text.charCodeAt(i0+1) == 112/*p*/ && _text.charCodeAt(i0+2) == 10 1/*e*/ && _text.charCodeAt(i0+3) == 114/*r*/ && _text.charCodeAt(i0+4) == 97/*a* / && _text.charCodeAt(i0+5) == 116/*t*/ && _text.charCodeAt(i0+6) == 111/*o*/ && _text.charCodeAt(i0+7) == 114/*r*/) return TokenKind.OPERATOR;
384 }
385 return TokenKind.IDENTIFIER;
386 case 9:
387 if (_text.charCodeAt(i0) == 105/*i*/ && _text.charCodeAt(i0+1) == 110/*n */ && _text.charCodeAt(i0+2) == 116/*t*/ && _text.charCodeAt(i0+3) == 101/*e*/ & & _text.charCodeAt(i0+4) == 114/*r*/ && _text.charCodeAt(i0+5) == 102/*f*/ && _t ext.charCodeAt(i0+6) == 97/*a*/ && _text.charCodeAt(i0+7) == 99/*c*/ && _text.ch arCodeAt(i0+8) == 101/*e*/) return TokenKind.INTERFACE;
388 return TokenKind.IDENTIFIER;
389 case 10:
390 if (_text.charCodeAt(i0) == 105/*i*/ && _text.charCodeAt(i0+1) == 109/*m */ && _text.charCodeAt(i0+2) == 112/*p*/ && _text.charCodeAt(i0+3) == 108/*l*/ & & _text.charCodeAt(i0+4) == 101/*e*/ && _text.charCodeAt(i0+5) == 109/*m*/ && _t ext.charCodeAt(i0+6) == 101/*e*/ && _text.charCodeAt(i0+7) == 110/*n*/ && _text. charCodeAt(i0+8) == 116/*t*/ && _text.charCodeAt(i0+9) == 115/*s*/) return Token Kind.IMPLEMENTS;
391 return TokenKind.IDENTIFIER;
392 default: return TokenKind.IDENTIFIER;
393 }
394 }
395
396 }
397
398 /** Static helper methods. */
399 class TokenizerHelpers {
400
401 static bool isIdentifierStart(int c) {
402 return ((c >= 97/*a*/ && c <= 122/*z*/) || (c >= 65/*A*/ && c <= 90/*Z*/) || c == 95/*_*/);
403 }
404
405 static bool isDigit(int c) {
406 return (c >= 48/*0*/ && c <= 57/*9*/);
407 }
408
409 static bool isHexDigit(int c) {
410 return (isDigit(c) || (c >= 97/*a*/ && c <= 102/*f*/) || (c >= 65/*A*/ && c <= 70/*F*/));
411 }
412
413 static bool isWhitespace(int c) {
414 return (c == 32/*' '*/ || c == 9/*'\t'*/ || c == 10/*'\n'*/ || c == 13/*'\r' */);
415 }
416
417 static bool isIdentifierPart(int c) {
418 return (isIdentifierStart(c) || isDigit(c) || c == 36/*$*/);
419 }
420
421 static bool isInterpIdentifierPart(int c) {
422 return (isIdentifierStart(c) || isDigit(c));
423 }
424
425
426 }
OLDNEW
« no previous file with comments | « frog/tokenizer.dart ('k') | frog/tree.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698