Chromium Code Reviews

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

Issue 10540048: Implement 'as' operator. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: No entries in language.status, vm and dartc already implemented 'as'. Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | | Annotate | Revision Log
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 final int EOF_TOKEN = 0; 5 final int EOF_TOKEN = 0;
6 6
7 final int KEYWORD_TOKEN = $k; 7 final int KEYWORD_TOKEN = $k;
8 final int IDENTIFIER_TOKEN = $a; 8 final int IDENTIFIER_TOKEN = $a;
9 final int DOUBLE_TOKEN = $d; 9 final int DOUBLE_TOKEN = $d;
10 final int INT_TOKEN = $i; 10 final int INT_TOKEN = $i;
(...skipping 53 matching lines...)
64 final int PLUS_PLUS_TOKEN = STAR_EQ_TOKEN + 1; 64 final int PLUS_PLUS_TOKEN = STAR_EQ_TOKEN + 1;
65 final int PLUS_EQ_TOKEN = PLUS_PLUS_TOKEN + 1; 65 final int PLUS_EQ_TOKEN = PLUS_PLUS_TOKEN + 1;
66 final int MINUS_MINUS_TOKEN = PLUS_EQ_TOKEN + 1; 66 final int MINUS_MINUS_TOKEN = PLUS_EQ_TOKEN + 1;
67 final int MINUS_EQ_TOKEN = MINUS_MINUS_TOKEN + 1; 67 final int MINUS_EQ_TOKEN = MINUS_MINUS_TOKEN + 1;
68 final int TILDE_SLASH_EQ_TOKEN = MINUS_EQ_TOKEN + 1; 68 final int TILDE_SLASH_EQ_TOKEN = MINUS_EQ_TOKEN + 1;
69 final int TILDE_SLASH_TOKEN = TILDE_SLASH_EQ_TOKEN + 1; 69 final int TILDE_SLASH_TOKEN = TILDE_SLASH_EQ_TOKEN + 1;
70 final int PERCENT_EQ_TOKEN = TILDE_SLASH_TOKEN + 1; 70 final int PERCENT_EQ_TOKEN = TILDE_SLASH_TOKEN + 1;
71 final int GT_GT_TOKEN = PERCENT_EQ_TOKEN + 1; 71 final int GT_GT_TOKEN = PERCENT_EQ_TOKEN + 1;
72 final int CARET_EQ_TOKEN = GT_GT_TOKEN + 1; 72 final int CARET_EQ_TOKEN = GT_GT_TOKEN + 1;
73 final int IS_TOKEN = CARET_EQ_TOKEN + 1; 73 final int IS_TOKEN = CARET_EQ_TOKEN + 1;
74 final int COMMENT_TOKEN = IS_TOKEN + 1; 74 final int AS_TOKEN = IS_TOKEN + 1;
75 final int COMMENT_TOKEN = AS_TOKEN + 1;
75 final int GT_GT_GT_TOKEN = COMMENT_TOKEN + 1; 76 final int GT_GT_GT_TOKEN = COMMENT_TOKEN + 1;
76 final int STRING_INTERPOLATION_IDENTIFIER_TOKEN = COMMENT_TOKEN + 1; 77 final int STRING_INTERPOLATION_IDENTIFIER_TOKEN = COMMENT_TOKEN + 1;
77 78
78 // TODO(ahe): Get rid of this. 79 // TODO(ahe): Get rid of this.
79 final int UNKNOWN_TOKEN = 1024; 80 final int UNKNOWN_TOKEN = 1024;
80 81
81 /** 82 /**
82 * A token that doubles as a linked list. 83 * A token that doubles as a linked list.
83 */ 84 */
84 class Token { 85 class Token {
(...skipping 314 matching lines...)
399 final PrecedenceInfo EQ_EQ_INFO = 400 final PrecedenceInfo EQ_EQ_INFO =
400 const PrecedenceInfo(const SourceString('=='), 9, EQ_EQ_TOKEN); 401 const PrecedenceInfo(const SourceString('=='), 9, EQ_EQ_TOKEN);
401 402
402 // Relational operators. 403 // Relational operators.
403 final PrecedenceInfo GT_EQ_INFO = 404 final PrecedenceInfo GT_EQ_INFO =
404 const PrecedenceInfo(const SourceString('>='), 10, GT_EQ_TOKEN); 405 const PrecedenceInfo(const SourceString('>='), 10, GT_EQ_TOKEN);
405 final PrecedenceInfo GT_INFO = 406 final PrecedenceInfo GT_INFO =
406 const PrecedenceInfo(const SourceString('>'), 10, GT_TOKEN); 407 const PrecedenceInfo(const SourceString('>'), 10, GT_TOKEN);
407 final PrecedenceInfo IS_INFO = 408 final PrecedenceInfo IS_INFO =
408 const PrecedenceInfo(const SourceString('is'), 10, IS_TOKEN); 409 const PrecedenceInfo(const SourceString('is'), 10, IS_TOKEN);
410 final PrecedenceInfo AS_INFO =
411 const PrecedenceInfo(const SourceString('as'), 10, AS_TOKEN);
409 final PrecedenceInfo LT_EQ_INFO = 412 final PrecedenceInfo LT_EQ_INFO =
410 const PrecedenceInfo(const SourceString('<='), 10, LT_EQ_TOKEN); 413 const PrecedenceInfo(const SourceString('<='), 10, LT_EQ_TOKEN);
411 final PrecedenceInfo LT_INFO = 414 final PrecedenceInfo LT_INFO =
412 const PrecedenceInfo(const SourceString('<'), 10, LT_TOKEN); 415 const PrecedenceInfo(const SourceString('<'), 10, LT_TOKEN);
413 416
414 // Shift operators. 417 // Shift operators.
415 final PrecedenceInfo GT_GT_GT_INFO = 418 final PrecedenceInfo GT_GT_GT_INFO =
416 const PrecedenceInfo(const SourceString('>>>'), 11, GT_GT_GT_TOKEN); 419 const PrecedenceInfo(const SourceString('>>>'), 11, GT_GT_GT_TOKEN);
417 final PrecedenceInfo GT_GT_INFO = 420 final PrecedenceInfo GT_GT_INFO =
418 const PrecedenceInfo(const SourceString('>>'), 11, GT_GT_TOKEN); 421 const PrecedenceInfo(const SourceString('>>'), 11, GT_GT_TOKEN);
(...skipping 69 matching lines...)
488 491
489 final PrecedenceInfo HEXADECIMAL_INFO = 492 final PrecedenceInfo HEXADECIMAL_INFO =
490 const PrecedenceInfo(const SourceString('hexadecimal'), 0, HEXADECIMAL_TOKEN); 493 const PrecedenceInfo(const SourceString('hexadecimal'), 0, HEXADECIMAL_TOKEN);
491 494
492 final PrecedenceInfo COMMENT_INFO = 495 final PrecedenceInfo COMMENT_INFO =
493 const PrecedenceInfo(const SourceString('comment'), 0, COMMENT_TOKEN); 496 const PrecedenceInfo(const SourceString('comment'), 0, COMMENT_TOKEN);
494 497
495 // For reporting lexical errors. 498 // For reporting lexical errors.
496 final PrecedenceInfo ERROR_INFO = 499 final PrecedenceInfo ERROR_INFO =
497 const PrecedenceInfo(const SourceString('?'), 0, UNKNOWN_TOKEN); 500 const PrecedenceInfo(const SourceString('?'), 0, UNKNOWN_TOKEN);
OLDNEW

Powered by Google App Engine