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

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

Issue 11015019: Handle "is" and "as" like other keywords. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Also a few co19 fixes in dart2js. Created 8 years, 2 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
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 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 const int STAR_EQ_TOKEN = BAR_EQ_TOKEN + 1; 64 const int STAR_EQ_TOKEN = BAR_EQ_TOKEN + 1;
65 const int PLUS_PLUS_TOKEN = STAR_EQ_TOKEN + 1; 65 const int PLUS_PLUS_TOKEN = STAR_EQ_TOKEN + 1;
66 const int PLUS_EQ_TOKEN = PLUS_PLUS_TOKEN + 1; 66 const int PLUS_EQ_TOKEN = PLUS_PLUS_TOKEN + 1;
67 const int MINUS_MINUS_TOKEN = PLUS_EQ_TOKEN + 1; 67 const int MINUS_MINUS_TOKEN = PLUS_EQ_TOKEN + 1;
68 const int MINUS_EQ_TOKEN = MINUS_MINUS_TOKEN + 1; 68 const int MINUS_EQ_TOKEN = MINUS_MINUS_TOKEN + 1;
69 const int TILDE_SLASH_EQ_TOKEN = MINUS_EQ_TOKEN + 1; 69 const int TILDE_SLASH_EQ_TOKEN = MINUS_EQ_TOKEN + 1;
70 const int TILDE_SLASH_TOKEN = TILDE_SLASH_EQ_TOKEN + 1; 70 const int TILDE_SLASH_TOKEN = TILDE_SLASH_EQ_TOKEN + 1;
71 const int PERCENT_EQ_TOKEN = TILDE_SLASH_TOKEN + 1; 71 const int PERCENT_EQ_TOKEN = TILDE_SLASH_TOKEN + 1;
72 const int GT_GT_TOKEN = PERCENT_EQ_TOKEN + 1; 72 const int GT_GT_TOKEN = PERCENT_EQ_TOKEN + 1;
73 const int CARET_EQ_TOKEN = GT_GT_TOKEN + 1; 73 const int CARET_EQ_TOKEN = GT_GT_TOKEN + 1;
74 const int IS_TOKEN = CARET_EQ_TOKEN + 1; 74 const int COMMENT_TOKEN = CARET_EQ_TOKEN + 1;
75 const int AS_TOKEN = IS_TOKEN + 1;
76 const int COMMENT_TOKEN = AS_TOKEN + 1;
77 const int STRING_INTERPOLATION_IDENTIFIER_TOKEN = COMMENT_TOKEN + 1; 75 const int STRING_INTERPOLATION_IDENTIFIER_TOKEN = COMMENT_TOKEN + 1;
78 76
79 // TODO(ahe): Get rid of this. 77 // TODO(ahe): Get rid of this.
80 const int UNKNOWN_TOKEN = 1024; 78 const int UNKNOWN_TOKEN = 1024;
81 79
82 /** 80 /**
83 * A token that doubles as a linked list. 81 * A token that doubles as a linked list.
84 */ 82 */
85 class Token implements Spannable { 83 class Token implements Spannable {
86 /** 84 /**
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 const PrecedenceInfo(const SourceString('==='), 9, EQ_EQ_EQ_TOKEN); 399 const PrecedenceInfo(const SourceString('==='), 9, EQ_EQ_EQ_TOKEN);
402 const PrecedenceInfo EQ_EQ_INFO = 400 const PrecedenceInfo EQ_EQ_INFO =
403 const PrecedenceInfo(const SourceString('=='), 9, EQ_EQ_TOKEN); 401 const PrecedenceInfo(const SourceString('=='), 9, EQ_EQ_TOKEN);
404 402
405 // Relational operators. 403 // Relational operators.
406 const PrecedenceInfo GT_EQ_INFO = 404 const PrecedenceInfo GT_EQ_INFO =
407 const PrecedenceInfo(const SourceString('>='), 10, GT_EQ_TOKEN); 405 const PrecedenceInfo(const SourceString('>='), 10, GT_EQ_TOKEN);
408 const PrecedenceInfo GT_INFO = 406 const PrecedenceInfo GT_INFO =
409 const PrecedenceInfo(const SourceString('>'), 10, GT_TOKEN); 407 const PrecedenceInfo(const SourceString('>'), 10, GT_TOKEN);
410 const PrecedenceInfo IS_INFO = 408 const PrecedenceInfo IS_INFO =
411 const PrecedenceInfo(const SourceString('is'), 10, IS_TOKEN); 409 const PrecedenceInfo(const SourceString('is'), 10, KEYWORD_TOKEN);
412 const PrecedenceInfo AS_INFO = 410 const PrecedenceInfo AS_INFO =
413 const PrecedenceInfo(const SourceString('as'), 10, AS_TOKEN); 411 const PrecedenceInfo(const SourceString('as'), 10, KEYWORD_TOKEN);
414 const PrecedenceInfo LT_EQ_INFO = 412 const PrecedenceInfo LT_EQ_INFO =
415 const PrecedenceInfo(const SourceString('<='), 10, LT_EQ_TOKEN); 413 const PrecedenceInfo(const SourceString('<='), 10, LT_EQ_TOKEN);
416 const PrecedenceInfo LT_INFO = 414 const PrecedenceInfo LT_INFO =
417 const PrecedenceInfo(const SourceString('<'), 10, LT_TOKEN); 415 const PrecedenceInfo(const SourceString('<'), 10, LT_TOKEN);
418 416
419 // Shift operators. 417 // Shift operators.
420 const PrecedenceInfo GT_GT_INFO = 418 const PrecedenceInfo GT_GT_INFO =
421 const PrecedenceInfo(const SourceString('>>'), 11, GT_GT_TOKEN); 419 const PrecedenceInfo(const SourceString('>>'), 11, GT_GT_TOKEN);
422 const PrecedenceInfo LT_LT_INFO = 420 const PrecedenceInfo LT_LT_INFO =
423 const PrecedenceInfo(const SourceString('<<'), 11, LT_LT_TOKEN); 421 const PrecedenceInfo(const SourceString('<<'), 11, LT_LT_TOKEN);
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 493
496 const PrecedenceInfo HEXADECIMAL_INFO = 494 const PrecedenceInfo HEXADECIMAL_INFO =
497 const PrecedenceInfo(const SourceString('hexadecimal'), 0, HEXADECIMAL_TOKEN); 495 const PrecedenceInfo(const SourceString('hexadecimal'), 0, HEXADECIMAL_TOKEN);
498 496
499 const PrecedenceInfo COMMENT_INFO = 497 const PrecedenceInfo COMMENT_INFO =
500 const PrecedenceInfo(const SourceString('comment'), 0, COMMENT_TOKEN); 498 const PrecedenceInfo(const SourceString('comment'), 0, COMMENT_TOKEN);
501 499
502 // For reporting lexical errors. 500 // For reporting lexical errors.
503 const PrecedenceInfo ERROR_INFO = 501 const PrecedenceInfo ERROR_INFO =
504 const PrecedenceInfo(const SourceString('?'), 0, UNKNOWN_TOKEN); 502 const PrecedenceInfo(const SourceString('?'), 0, UNKNOWN_TOKEN);
OLDNEW
« no previous file with comments | « dart/lib/compiler/implementation/scanner/keyword.dart ('k') | dart/tests/co19/co19-dart2dart.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698