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

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

Issue 23450044: Update dart2js parser to disallow repeated comparisons and prefix +. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Updated test expectations and error messages. Created 7 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
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 part of scanner; 5 part of scanner;
6 6
7 const int EOF_TOKEN = 0; 7 const int EOF_TOKEN = 0;
8 8
9 const int KEYWORD_TOKEN = $k; 9 const int KEYWORD_TOKEN = $k;
10 const int IDENTIFIER_TOKEN = $a; 10 const int IDENTIFIER_TOKEN = $a;
(...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 const PrecedenceInfo BAR_INFO = 424 const PrecedenceInfo BAR_INFO =
425 const PrecedenceInfo(const SourceString('|'), 8, BAR_TOKEN); 425 const PrecedenceInfo(const SourceString('|'), 8, BAR_TOKEN);
426 426
427 const PrecedenceInfo CARET_INFO = 427 const PrecedenceInfo CARET_INFO =
428 const PrecedenceInfo(const SourceString('^'), 9, CARET_TOKEN); 428 const PrecedenceInfo(const SourceString('^'), 9, CARET_TOKEN);
429 429
430 const PrecedenceInfo AMPERSAND_INFO = 430 const PrecedenceInfo AMPERSAND_INFO =
431 const PrecedenceInfo(const SourceString('&'), 10, AMPERSAND_TOKEN); 431 const PrecedenceInfo(const SourceString('&'), 10, AMPERSAND_TOKEN);
432 432
433 // Equality operators. 433 // Equality operators.
434 const int EQUALITY_PRECEDENCE = 6;
434 const PrecedenceInfo BANG_EQ_EQ_INFO = 435 const PrecedenceInfo BANG_EQ_EQ_INFO =
435 const PrecedenceInfo(const SourceString('!=='), 6, BANG_EQ_EQ_TOKEN); 436 const PrecedenceInfo(const SourceString('!=='),
437 EQUALITY_PRECEDENCE, BANG_EQ_EQ_TOKEN);
436 const PrecedenceInfo BANG_EQ_INFO = 438 const PrecedenceInfo BANG_EQ_INFO =
437 const PrecedenceInfo(const SourceString('!='), 6, BANG_EQ_TOKEN); 439 const PrecedenceInfo(const SourceString('!='),
440 EQUALITY_PRECEDENCE, BANG_EQ_TOKEN);
438 const PrecedenceInfo EQ_EQ_EQ_INFO = 441 const PrecedenceInfo EQ_EQ_EQ_INFO =
439 const PrecedenceInfo(const SourceString('==='), 6, EQ_EQ_EQ_TOKEN); 442 const PrecedenceInfo(const SourceString('==='),
443 EQUALITY_PRECEDENCE, EQ_EQ_EQ_TOKEN);
440 const PrecedenceInfo EQ_EQ_INFO = 444 const PrecedenceInfo EQ_EQ_INFO =
441 const PrecedenceInfo(const SourceString('=='), 6, EQ_EQ_TOKEN); 445 const PrecedenceInfo(const SourceString('=='),
446 EQUALITY_PRECEDENCE, EQ_EQ_TOKEN);
442 447
443 // Relational operators. 448 // Relational operators.
449 const int RELATIONAL_PRECEDENCE = 7;
444 const PrecedenceInfo GT_EQ_INFO = 450 const PrecedenceInfo GT_EQ_INFO =
445 const PrecedenceInfo(const SourceString('>='), 7, GT_EQ_TOKEN); 451 const PrecedenceInfo(const SourceString('>='),
452 RELATIONAL_PRECEDENCE, GT_EQ_TOKEN);
446 const PrecedenceInfo GT_INFO = 453 const PrecedenceInfo GT_INFO =
447 const PrecedenceInfo(const SourceString('>'), 7, GT_TOKEN); 454 const PrecedenceInfo(const SourceString('>'),
455 RELATIONAL_PRECEDENCE, GT_TOKEN);
448 const PrecedenceInfo IS_INFO = 456 const PrecedenceInfo IS_INFO =
449 const PrecedenceInfo(const SourceString('is'), 7, KEYWORD_TOKEN); 457 const PrecedenceInfo(const SourceString('is'),
458 RELATIONAL_PRECEDENCE, KEYWORD_TOKEN);
450 const PrecedenceInfo AS_INFO = 459 const PrecedenceInfo AS_INFO =
451 const PrecedenceInfo(const SourceString('as'), 7, KEYWORD_TOKEN); 460 const PrecedenceInfo(const SourceString('as'),
461 RELATIONAL_PRECEDENCE, KEYWORD_TOKEN);
452 const PrecedenceInfo LT_EQ_INFO = 462 const PrecedenceInfo LT_EQ_INFO =
453 const PrecedenceInfo(const SourceString('<='), 7, LT_EQ_TOKEN); 463 const PrecedenceInfo(const SourceString('<='),
464 RELATIONAL_PRECEDENCE, LT_EQ_TOKEN);
454 const PrecedenceInfo LT_INFO = 465 const PrecedenceInfo LT_INFO =
455 const PrecedenceInfo(const SourceString('<'), 7, LT_TOKEN); 466 const PrecedenceInfo(const SourceString('<'),
467 RELATIONAL_PRECEDENCE, LT_TOKEN);
456 468
457 // Shift operators. 469 // Shift operators.
458 const PrecedenceInfo GT_GT_INFO = 470 const PrecedenceInfo GT_GT_INFO =
459 const PrecedenceInfo(const SourceString('>>'), 11, GT_GT_TOKEN); 471 const PrecedenceInfo(const SourceString('>>'), 11, GT_GT_TOKEN);
460 const PrecedenceInfo LT_LT_INFO = 472 const PrecedenceInfo LT_LT_INFO =
461 const PrecedenceInfo(const SourceString('<<'), 11, LT_LT_TOKEN); 473 const PrecedenceInfo(const SourceString('<<'), 11, LT_LT_TOKEN);
462 474
463 // Additive operators. 475 // Additive operators.
464 const PrecedenceInfo MINUS_INFO = 476 const PrecedenceInfo MINUS_INFO =
465 const PrecedenceInfo(const SourceString('-'), 12, MINUS_TOKEN); 477 const PrecedenceInfo(const SourceString('-'), 12, MINUS_TOKEN);
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
533 545
534 const PrecedenceInfo HEXADECIMAL_INFO = 546 const PrecedenceInfo HEXADECIMAL_INFO =
535 const PrecedenceInfo(const SourceString('hexadecimal'), 0, HEXADECIMAL_TOKEN); 547 const PrecedenceInfo(const SourceString('hexadecimal'), 0, HEXADECIMAL_TOKEN);
536 548
537 const PrecedenceInfo COMMENT_INFO = 549 const PrecedenceInfo COMMENT_INFO =
538 const PrecedenceInfo(const SourceString('comment'), 0, COMMENT_TOKEN); 550 const PrecedenceInfo(const SourceString('comment'), 0, COMMENT_TOKEN);
539 551
540 // For reporting lexical errors. 552 // For reporting lexical errors.
541 const PrecedenceInfo ERROR_INFO = 553 const PrecedenceInfo ERROR_INFO =
542 const PrecedenceInfo(const SourceString('?'), 0, UNKNOWN_TOKEN); 554 const PrecedenceInfo(const SourceString('?'), 0, UNKNOWN_TOKEN);
OLDNEW
« no previous file with comments | « sdk/lib/_internal/compiler/implementation/scanner/parser.dart ('k') | sdk/lib/_internal/compiler/implementation/warnings.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698