anchor.diff:          return TokenType.GT_GT;
         case fasta.CARET_EQ_TOKEN:
           return TokenType.CARET_EQ;
  -      case fasta.COMMENT_TOKEN:
  -        // TODO(paulberry,ahe): how to distinguish multi-line from
  -        // single-line comments?  Causes a failure in test_comment_single().
  -        return TokenType.MULTI_LINE_COMMENT;
         case fasta.STRING_INTERPOLATION_IDENTIFIER_TOKEN:
           return TokenType.STRING_INTERPOLATION_IDENTIFIER;
         case fasta.QUESTION_PERIOD_TOKEN:
  
positive.code: 
    @override
    @failingTest
    void test_comment_single() {
      // TODO(paulberry,ahe): See TODO comment below in _translateTokenInfoKind().
      super.test_comment_single();
    }
  
    @override
    @failingTest
    void test_double_missingDigitInExponent() {
      // TODO(paulberry,ahe): see UnimplementedError("distinguish unterminated
      // errors")
  
negative.code:       }
      }
  
      if (token is fasta.StringToken) {
        return makeStringToken(token.value);
      } else if (token is fasta.KeywordToken) {
        return makeKeywordToken(_translateKeyword(token.keyword.syntax));
      } else if (token is fasta.SymbolToken) {
  