anchor.diff:        return advance();
       }
   
  -    if (identical(next, $QUESTION)) {
  -      return tokenizeQuestion(next);
  +    if (identical(next, $PERIOD)) {
  +      return tokenizeDotsOrNumber(next);
  +    }
  +
  +    if (identical(next, $COMMA)) {
  +      appendPrecedenceToken(COMMA_INFO);
  +      return advance();
  +    }
  +
  +    if (identical(next, $EQ)) {
  +      return tokenizeEquals(next);
  +    }
  +
  +    if (identical(next, $CLOSE_CURLY_BRACKET)) {
  +      return appendEndGroup(CLOSE_CURLY_BRACKET_INFO, OPEN_CURLY_BRACKET_TOKEN);
  +    }
  +
  +    if (identical(next, $SLASH)) {
  +      return tokenizeSlashOrComment(next);
  +    }
  +
  +
  +    if (identical(next, $OPEN_CURLY_BRACKET)) {
  +      appendBeginGroup(OPEN_CURLY_BRACKET_INFO);
  +      return advance();
  +    }
  +
  +    if (identical(next, $DQ) || identical(next, $SQ)) {
  +      return tokenizeString(next, scanOffset, false);
  +    }
  +
  +    if(identical(next, $_)){
  +      return tokenizeKeywordOrIdentifier(next, true);
  +    }
  +
  +    if (identical(next, $COLON)) {
  +      appendPrecedenceToken(COLON_INFO);
  +      return advance();
  +    }
  +
  +    if (identical(next, $LT)) {
  +      return tokenizeLessThan(next);
  +    }
  +
  +    if (identical(next, $GT)) {
  +      return tokenizeGreaterThan(next);
  +    }
  +
  +    if (identical(next, $BANG)) {
  +      return tokenizeExclamation(next);
  +    }
  +
  +    if (identical(next, $OPEN_SQUARE_BRACKET)) {
  +      return tokenizeOpenSquareBracket(next);
       }
   
       if (identical(next, $CLOSE_SQUARE_BRACKET)) {
  
positive.code:       return next;
      }
  
      if ($a <= next && next <= $z) {
        if (identical($r, next)) {
          return tokenizeRawStringKeywordOrIdentifier(next);
        }
        return tokenizeKeywordOrIdentifier(next, true);
      }
  
      if (($A <= next && next <= $Z) ||
          identical(next, $_) ||
          identical(next, $$)) {
        return tokenizeKeywordOrIdentifier(next, true);
      }
  
      if (identical(next, $LT)) {
        return tokenizeLessThan(next);
      }
  
      if (identical(next, $GT)) {
        return tokenizeGreaterThan(next);
      }
  
      if (identical(next, $EQ)) {
        return tokenizeEquals(next);
      }
  
      if (identical(next, $BANG)) {
        return tokenizeExclamation(next);
      }
  
      if (identical(next, $PLUS)) {
        return tokenizePlus(next);
      }
  
      if (identical(next, $MINUS)) {
        return tokenizeMinus(next);
      }
  
      if (identical(next, $STAR)) {
        return tokenizeMultiply(next);
      }
  
      if (identical(next, $PERCENT)) {
        return tokenizePercent(next);
      }
  
      if (identical(next, $AMPERSAND)) {
        return tokenizeAmpersand(next);
      }
  
      if (identical(next, $BAR)) {
        return tokenizeBar(next);
      }
  
      if (identical(next, $CARET)) {
        return tokenizeCaret(next);
      }
  
      if (identical(next, $OPEN_SQUARE_BRACKET)) {
        return tokenizeOpenSquareBracket(next);
      }
  
      if (identical(next, $TILDE)) {
        return tokenizeTilde(next);
      }
  
      if (identical(next, $BACKSLASH)) {
        appendPrecedenceToken(BACKSLASH_INFO);
        return advance();
      }
  
      if (identical(next, $HASH)) {
        return tokenizeTag(next);
      }
  
      if (identical(next, $OPEN_PAREN)) {
        appendBeginGroup(OPEN_PAREN_INFO);
        return advance();
      }
  
      if (identical(next, $CLOSE_PAREN)) {
        return appendEndGroup(CLOSE_PAREN_INFO, OPEN_PAREN_TOKEN);
      }
  
      if (identical(next, $COMMA)) {
        appendPrecedenceToken(COMMA_INFO);
        return advance();
      }
  
      if (identical(next, $COLON)) {
        appendPrecedenceToken(COLON_INFO);
        return advance();
      }
  
  
negative.code:           CLOSE_SQUARE_BRACKET_INFO, OPEN_SQUARE_BRACKET_TOKEN);
      }
  
      if (identical(next, $AT)) {
        return tokenizeAt(next);
      }
  
      if (next >= $1 && next <= $9) {
        return tokenizeNumber(next);
      }
  
      if (identical(next, $AMPERSAND)) {
        return tokenizeAmpersand(next);
      }
  
      if (identical(next, $0)) {
        return tokenizeHexOrNumber(next);
      }
  
      if (identical(next, $QUESTION)) {
        return tokenizeQuestion(next);
      }
  
      if (identical(next, $BAR)) {
        return tokenizeBar(next);
      }
  
      if (identical(next, $PLUS)) {
        return tokenizePlus(next);
      }
  
      if(identical(next, $$)){
        return tokenizeKeywordOrIdentifier(next, true);
      }
  
      if (identical(next, $MINUS)) {
        return tokenizeMinus(next);
      }
  
      if (identical(next, $STAR)) {
        return tokenizeMultiply(next);
      }
  
      if (identical(next, $CARET)) {
        return tokenizeCaret(next);
      }
  
      if (identical(next, $TILDE)) {
        return tokenizeTilde(next);
      }
  
      if (identical(next, $PERCENT)) {
        return tokenizePercent(next);
      }
  
      if (identical(next, $BACKPING)) {
        appendPrecedenceToken(BACKPING_INFO);
        return advance();
      }
  
      if (identical(next, $BACKSLASH)) {
        appendPrecedenceToken(BACKSLASH_INFO);
        return advance();
      }
  
      if (identical(next, $HASH)) {
        return tokenizeTag(next);
      }
  
      if (next < 0x1f) {
        return unexpected(next);
      }
  