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

Side by Side Diff: dart/lib/compiler/implementation/scanner/token.dart

Issue 10945027: Remove >>> and >>>= from scanner. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Address review comments Created 8 years, 3 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 | « dart/lib/compiler/implementation/scanner/scanner.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 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. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 const int EOF_TOKEN = 0; 5 const int EOF_TOKEN = 0;
6 6
7 const int KEYWORD_TOKEN = $k; 7 const int KEYWORD_TOKEN = $k;
8 const int IDENTIFIER_TOKEN = $a; 8 const int IDENTIFIER_TOKEN = $a;
9 const int BAD_INPUT_TOKEN = $X; 9 const int BAD_INPUT_TOKEN = $X;
10 const int DOUBLE_TOKEN = $d; 10 const int DOUBLE_TOKEN = $d;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 const int FUNCTION_TOKEN = LT_EQ_TOKEN + 1; 46 const int FUNCTION_TOKEN = LT_EQ_TOKEN + 1;
47 const int SLASH_EQ_TOKEN = FUNCTION_TOKEN + 1; 47 const int SLASH_EQ_TOKEN = FUNCTION_TOKEN + 1;
48 const int PERIOD_PERIOD_PERIOD_TOKEN = SLASH_EQ_TOKEN + 1; 48 const int PERIOD_PERIOD_PERIOD_TOKEN = SLASH_EQ_TOKEN + 1;
49 const int PERIOD_PERIOD_TOKEN = PERIOD_PERIOD_PERIOD_TOKEN + 1; 49 const int PERIOD_PERIOD_TOKEN = PERIOD_PERIOD_PERIOD_TOKEN + 1;
50 const int EQ_EQ_EQ_TOKEN = PERIOD_PERIOD_TOKEN + 1; 50 const int EQ_EQ_EQ_TOKEN = PERIOD_PERIOD_TOKEN + 1;
51 const int EQ_EQ_TOKEN = EQ_EQ_EQ_TOKEN + 1; 51 const int EQ_EQ_TOKEN = EQ_EQ_EQ_TOKEN + 1;
52 const int LT_LT_EQ_TOKEN = EQ_EQ_TOKEN + 1; 52 const int LT_LT_EQ_TOKEN = EQ_EQ_TOKEN + 1;
53 const int LT_LT_TOKEN = LT_LT_EQ_TOKEN + 1; 53 const int LT_LT_TOKEN = LT_LT_EQ_TOKEN + 1;
54 const int GT_EQ_TOKEN = LT_LT_TOKEN + 1; 54 const int GT_EQ_TOKEN = LT_LT_TOKEN + 1;
55 const int GT_GT_EQ_TOKEN = GT_EQ_TOKEN + 1; 55 const int GT_GT_EQ_TOKEN = GT_EQ_TOKEN + 1;
56 const int GT_GT_GT_EQ_TOKEN = GT_GT_EQ_TOKEN + 1; 56 const int INDEX_EQ_TOKEN = GT_GT_EQ_TOKEN + 1;
57 const int INDEX_EQ_TOKEN = GT_GT_GT_EQ_TOKEN + 1;
58 const int INDEX_TOKEN = INDEX_EQ_TOKEN + 1; 57 const int INDEX_TOKEN = INDEX_EQ_TOKEN + 1;
59 const int BANG_EQ_EQ_TOKEN = INDEX_TOKEN + 1; 58 const int BANG_EQ_EQ_TOKEN = INDEX_TOKEN + 1;
60 const int BANG_EQ_TOKEN = BANG_EQ_EQ_TOKEN + 1; 59 const int BANG_EQ_TOKEN = BANG_EQ_EQ_TOKEN + 1;
61 const int AMPERSAND_AMPERSAND_TOKEN = BANG_EQ_TOKEN + 1; 60 const int AMPERSAND_AMPERSAND_TOKEN = BANG_EQ_TOKEN + 1;
62 const int AMPERSAND_EQ_TOKEN = AMPERSAND_AMPERSAND_TOKEN + 1; 61 const int AMPERSAND_EQ_TOKEN = AMPERSAND_AMPERSAND_TOKEN + 1;
63 const int BAR_BAR_TOKEN = AMPERSAND_EQ_TOKEN + 1; 62 const int BAR_BAR_TOKEN = AMPERSAND_EQ_TOKEN + 1;
64 const int BAR_EQ_TOKEN = BAR_BAR_TOKEN + 1; 63 const int BAR_EQ_TOKEN = BAR_BAR_TOKEN + 1;
65 const int STAR_EQ_TOKEN = BAR_EQ_TOKEN + 1; 64 const int STAR_EQ_TOKEN = BAR_EQ_TOKEN + 1;
66 const int PLUS_PLUS_TOKEN = STAR_EQ_TOKEN + 1; 65 const int PLUS_PLUS_TOKEN = STAR_EQ_TOKEN + 1;
67 const int PLUS_EQ_TOKEN = PLUS_PLUS_TOKEN + 1; 66 const int PLUS_EQ_TOKEN = PLUS_PLUS_TOKEN + 1;
68 const int MINUS_MINUS_TOKEN = PLUS_EQ_TOKEN + 1; 67 const int MINUS_MINUS_TOKEN = PLUS_EQ_TOKEN + 1;
69 const int MINUS_EQ_TOKEN = MINUS_MINUS_TOKEN + 1; 68 const int MINUS_EQ_TOKEN = MINUS_MINUS_TOKEN + 1;
70 const int TILDE_SLASH_EQ_TOKEN = MINUS_EQ_TOKEN + 1; 69 const int TILDE_SLASH_EQ_TOKEN = MINUS_EQ_TOKEN + 1;
71 const int TILDE_SLASH_TOKEN = TILDE_SLASH_EQ_TOKEN + 1; 70 const int TILDE_SLASH_TOKEN = TILDE_SLASH_EQ_TOKEN + 1;
72 const int PERCENT_EQ_TOKEN = TILDE_SLASH_TOKEN + 1; 71 const int PERCENT_EQ_TOKEN = TILDE_SLASH_TOKEN + 1;
73 const int GT_GT_TOKEN = PERCENT_EQ_TOKEN + 1; 72 const int GT_GT_TOKEN = PERCENT_EQ_TOKEN + 1;
74 const int CARET_EQ_TOKEN = GT_GT_TOKEN + 1; 73 const int CARET_EQ_TOKEN = GT_GT_TOKEN + 1;
75 const int IS_TOKEN = CARET_EQ_TOKEN + 1; 74 const int IS_TOKEN = CARET_EQ_TOKEN + 1;
76 const int AS_TOKEN = IS_TOKEN + 1; 75 const int AS_TOKEN = IS_TOKEN + 1;
77 const int COMMENT_TOKEN = AS_TOKEN + 1; 76 const int COMMENT_TOKEN = AS_TOKEN + 1;
78 const int GT_GT_GT_TOKEN = COMMENT_TOKEN + 1;
79 const int STRING_INTERPOLATION_IDENTIFIER_TOKEN = COMMENT_TOKEN + 1; 77 const int STRING_INTERPOLATION_IDENTIFIER_TOKEN = COMMENT_TOKEN + 1;
80 78
81 // TODO(ahe): Get rid of this. 79 // TODO(ahe): Get rid of this.
82 const int UNKNOWN_TOKEN = 1024; 80 const int UNKNOWN_TOKEN = 1024;
83 81
84 /** 82 /**
85 * A token that doubles as a linked list. 83 * A token that doubles as a linked list.
86 */ 84 */
87 class Token { 85 class Token {
88 /** 86 /**
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 (value === '~') || 261 (value === '~') ||
264 (value === '[]') || 262 (value === '[]') ||
265 (value === '[]=') || 263 (value === '[]=') ||
266 (value === '*') || 264 (value === '*') ||
267 (value === '/') || 265 (value === '/') ||
268 (value === '%') || 266 (value === '%') ||
269 (value === '~/') || 267 (value === '~/') ||
270 (value === '+') || 268 (value === '+') ||
271 (value === '-') || 269 (value === '-') ||
272 (value === '<<') || 270 (value === '<<') ||
273 (value === '>>>') ||
274 (value === '>>') || 271 (value === '>>') ||
275 (value === '>=') || 272 (value === '>=') ||
276 (value === '>') || 273 (value === '>') ||
277 (value === '<=') || 274 (value === '<=') ||
278 (value === '<') || 275 (value === '<') ||
279 (value === '&') || 276 (value === '&') ||
280 (value === '^') || 277 (value === '^') ||
281 (value === '|'); 278 (value === '|');
282 } 279 }
283 280
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 ASSIGNMENT_PRECEDENCE, BAR_EQ_TOKEN); 345 ASSIGNMENT_PRECEDENCE, BAR_EQ_TOKEN);
349 const PrecedenceInfo CARET_EQ_INFO = 346 const PrecedenceInfo CARET_EQ_INFO =
350 const PrecedenceInfo(const SourceString('^='), 347 const PrecedenceInfo(const SourceString('^='),
351 ASSIGNMENT_PRECEDENCE, CARET_EQ_TOKEN); 348 ASSIGNMENT_PRECEDENCE, CARET_EQ_TOKEN);
352 const PrecedenceInfo EQ_INFO = 349 const PrecedenceInfo EQ_INFO =
353 const PrecedenceInfo(const SourceString('='), 350 const PrecedenceInfo(const SourceString('='),
354 ASSIGNMENT_PRECEDENCE, EQ_TOKEN); 351 ASSIGNMENT_PRECEDENCE, EQ_TOKEN);
355 const PrecedenceInfo GT_GT_EQ_INFO = 352 const PrecedenceInfo GT_GT_EQ_INFO =
356 const PrecedenceInfo(const SourceString('>>='), 353 const PrecedenceInfo(const SourceString('>>='),
357 ASSIGNMENT_PRECEDENCE, GT_GT_EQ_TOKEN); 354 ASSIGNMENT_PRECEDENCE, GT_GT_EQ_TOKEN);
358 const PrecedenceInfo GT_GT_GT_EQ_INFO =
359 const PrecedenceInfo(const SourceString('>>>='),
360 ASSIGNMENT_PRECEDENCE, GT_GT_GT_EQ_TOKEN);
361 const PrecedenceInfo LT_LT_EQ_INFO = 355 const PrecedenceInfo LT_LT_EQ_INFO =
362 const PrecedenceInfo(const SourceString('<<='), 356 const PrecedenceInfo(const SourceString('<<='),
363 ASSIGNMENT_PRECEDENCE, LT_LT_EQ_TOKEN); 357 ASSIGNMENT_PRECEDENCE, LT_LT_EQ_TOKEN);
364 const PrecedenceInfo MINUS_EQ_INFO = 358 const PrecedenceInfo MINUS_EQ_INFO =
365 const PrecedenceInfo(const SourceString('-='), 359 const PrecedenceInfo(const SourceString('-='),
366 ASSIGNMENT_PRECEDENCE, MINUS_EQ_TOKEN); 360 ASSIGNMENT_PRECEDENCE, MINUS_EQ_TOKEN);
367 const PrecedenceInfo PERCENT_EQ_INFO = 361 const PrecedenceInfo PERCENT_EQ_INFO =
368 const PrecedenceInfo(const SourceString('%='), 362 const PrecedenceInfo(const SourceString('%='),
369 ASSIGNMENT_PRECEDENCE, PERCENT_EQ_TOKEN); 363 ASSIGNMENT_PRECEDENCE, PERCENT_EQ_TOKEN);
370 const PrecedenceInfo PLUS_EQ_INFO = 364 const PrecedenceInfo PLUS_EQ_INFO =
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 const PrecedenceInfo IS_INFO = 410 const PrecedenceInfo IS_INFO =
417 const PrecedenceInfo(const SourceString('is'), 10, IS_TOKEN); 411 const PrecedenceInfo(const SourceString('is'), 10, IS_TOKEN);
418 const PrecedenceInfo AS_INFO = 412 const PrecedenceInfo AS_INFO =
419 const PrecedenceInfo(const SourceString('as'), 10, AS_TOKEN); 413 const PrecedenceInfo(const SourceString('as'), 10, AS_TOKEN);
420 const PrecedenceInfo LT_EQ_INFO = 414 const PrecedenceInfo LT_EQ_INFO =
421 const PrecedenceInfo(const SourceString('<='), 10, LT_EQ_TOKEN); 415 const PrecedenceInfo(const SourceString('<='), 10, LT_EQ_TOKEN);
422 const PrecedenceInfo LT_INFO = 416 const PrecedenceInfo LT_INFO =
423 const PrecedenceInfo(const SourceString('<'), 10, LT_TOKEN); 417 const PrecedenceInfo(const SourceString('<'), 10, LT_TOKEN);
424 418
425 // Shift operators. 419 // Shift operators.
426 const PrecedenceInfo GT_GT_GT_INFO =
427 const PrecedenceInfo(const SourceString('>>>'), 11, GT_GT_GT_TOKEN);
428 const PrecedenceInfo GT_GT_INFO = 420 const PrecedenceInfo GT_GT_INFO =
429 const PrecedenceInfo(const SourceString('>>'), 11, GT_GT_TOKEN); 421 const PrecedenceInfo(const SourceString('>>'), 11, GT_GT_TOKEN);
430 const PrecedenceInfo LT_LT_INFO = 422 const PrecedenceInfo LT_LT_INFO =
431 const PrecedenceInfo(const SourceString('<<'), 11, LT_LT_TOKEN); 423 const PrecedenceInfo(const SourceString('<<'), 11, LT_LT_TOKEN);
432 424
433 // Additive operators. 425 // Additive operators.
434 const PrecedenceInfo MINUS_INFO = 426 const PrecedenceInfo MINUS_INFO =
435 const PrecedenceInfo(const SourceString('-'), 12, MINUS_TOKEN); 427 const PrecedenceInfo(const SourceString('-'), 12, MINUS_TOKEN);
436 const PrecedenceInfo PLUS_INFO = 428 const PrecedenceInfo PLUS_INFO =
437 const PrecedenceInfo(const SourceString('+'), 12, PLUS_TOKEN); 429 const PrecedenceInfo(const SourceString('+'), 12, PLUS_TOKEN);
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 495
504 const PrecedenceInfo HEXADECIMAL_INFO = 496 const PrecedenceInfo HEXADECIMAL_INFO =
505 const PrecedenceInfo(const SourceString('hexadecimal'), 0, HEXADECIMAL_TOKEN); 497 const PrecedenceInfo(const SourceString('hexadecimal'), 0, HEXADECIMAL_TOKEN);
506 498
507 const PrecedenceInfo COMMENT_INFO = 499 const PrecedenceInfo COMMENT_INFO =
508 const PrecedenceInfo(const SourceString('comment'), 0, COMMENT_TOKEN); 500 const PrecedenceInfo(const SourceString('comment'), 0, COMMENT_TOKEN);
509 501
510 // For reporting lexical errors. 502 // For reporting lexical errors.
511 const PrecedenceInfo ERROR_INFO = 503 const PrecedenceInfo ERROR_INFO =
512 const PrecedenceInfo(const SourceString('?'), 0, UNKNOWN_TOKEN); 504 const PrecedenceInfo(const SourceString('?'), 0, UNKNOWN_TOKEN);
OLDNEW
« no previous file with comments | « dart/lib/compiler/implementation/scanner/scanner.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698