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

Unified Diff: pkg/front_end/lib/src/fasta/scanner/token.dart

Issue 2664593002: Port parser and scanner fixes from rasta branch. (Closed)
Patch Set: Rebased on ef8ec26cf36d1f07b4fdf5d605003210826ae1c2. Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: pkg/front_end/lib/src/fasta/scanner/token.dart
diff --git a/pkg/front_end/lib/src/fasta/scanner/token.dart b/pkg/front_end/lib/src/fasta/scanner/token.dart
index e1ba6b901412451a42e64311875ff923ac175478..8a7222867abbf5ff0cb2a473df3b25359ee359d0 100644
--- a/pkg/front_end/lib/src/fasta/scanner/token.dart
+++ b/pkg/front_end/lib/src/fasta/scanner/token.dart
@@ -15,6 +15,7 @@ import 'keyword.dart' show
import 'precedence.dart' show
BAD_INPUT_INFO,
+ EOF_INFO,
PrecedenceInfo;
import 'token_constants.dart' show
@@ -112,6 +113,8 @@ abstract class Token {
/// The character offset of the end of this token within the source text.
int get charEnd => charOffset + charCount;
+
+ bool get isEof => false;
}
/**
@@ -130,6 +133,8 @@ class SymbolToken extends Token {
bool isIdentifier() => false;
String toString() => "SymbolToken($value)";
+
+ bool get isEof => info == EOF_INFO;
}
/**
@@ -164,60 +169,6 @@ class KeywordToken extends Token {
String toString() => "KeywordToken($value)";
}
-abstract class ErrorToken extends Token {
- ErrorToken(int charOffset) : super(charOffset);
-
- PrecedenceInfo get info => BAD_INPUT_INFO;
-
- String get value {
- throw assertionMessage;
- }
-
- String get stringValue => null;
-
- bool isIdentifier() => false;
-
- String get assertionMessage;
-}
-
-class BadInputToken extends ErrorToken {
- final int character;
-
- BadInputToken(this.character, int charOffset) : super(charOffset);
-
- String toString() => "BadInputToken($character)";
-
- String get assertionMessage {
- return 'Character U+${character.toRadixString(16)} not allowed here.';
- }
-}
-
-class UnterminatedToken extends ErrorToken {
- final String start;
- final int endOffset;
-
- UnterminatedToken(this.start, int charOffset, this.endOffset)
- : super(charOffset);
-
- String toString() => "UnterminatedToken($start)";
-
- String get assertionMessage => "'$start' isn't terminated.";
-
- int get charCount => endOffset - charOffset;
-}
-
-class UnmatchedToken extends ErrorToken {
- final BeginGroupToken begin;
-
- UnmatchedToken(BeginGroupToken begin)
- : this.begin = begin,
- super(begin.charOffset);
-
- String toString() => "UnmatchedToken(${begin.value})";
-
- String get assertionMessage => "'$begin' isn't closed.";
-}
-
/**
* A String-valued token. Represents identifiers, string literals,
* number literals, comments, and error tokens, using the corresponding
« no previous file with comments | « pkg/front_end/lib/src/fasta/scanner/recover.dart ('k') | pkg/front_end/lib/src/fasta/scanner/utf8_bytes_scanner.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698