anchor.diff:        return next;
       }
   
  -    if ($a <= next && next <= $z) {
  +    int nextLower = next | 0x20;
  +
  +    if ($a <= nextLower && nextLower <= $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, $CLOSE_PAREN)) {
  +      return appendEndGroup(CLOSE_PAREN_INFO, OPEN_PAREN_TOKEN);
       }
   
       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();
       }
   
  
positive.code:           CLOSE_SQUARE_BRACKET_INFO, OPEN_SQUARE_BRACKET_TOKEN);
      }
  
      if (identical(next, $BACKPING)) {
        appendPrecedenceToken(BACKPING_INFO);
        return advance();
      }
  
      if (identical(next, $OPEN_CURLY_BRACKET)) {
        appendBeginGroup(OPEN_CURLY_BRACKET_INFO);
        return advance();
      }
  
      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, $AT)) {
        return tokenizeAt(next);
      }
  
      if (identical(next, $DQ) || identical(next, $SQ)) {
        return tokenizeString(next, scanOffset, false);
      }
  
      if (identical(next, $PERIOD)) {
        return tokenizeDotsOrNumber(next);
      }
  
      if (identical(next, $0)) {
        return tokenizeHexOrNumber(next);
      }
  
      // TODO(ahe): Would a range check be faster?
      if (identical(next, $1) ||
          identical(next, $2) ||
          identical(next, $3) ||
          identical(next, $4) ||
          identical(next, $5) ||
          identical(next, $6) ||
          identical(next, $7) ||
          identical(next, $8) ||
          identical(next, $9)) {
        return tokenizeNumber(next);
      }
  
      if (identical(next, $EOF)) {
        return $EOF;
      }
      if (next < 0x1f) {
        return unexpected(next);
      }
  
negative.code:       return advance();
      }
  
      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)) {
  