code: function scanHexLiteral(start) {
    var number = '';
  
    while (index < length) {
      if (!isHexDigit(source[index])) {
        break;
      }
      number += source[index++];
    }
  
    if (number.length === 0) {
      throwError({}, MessageUnexpectedToken, ILLEGAL);
    }
  
    if (isIdentifierStart(source.charCodeAt(index))) {
      throwError({}, MessageUnexpectedToken, ILLEGAL);
    }
  
    return {
      type: TokenNumericLiteral,
      value: parseInt('0x' + number, 16),
      start: start,
      end: index
    };
  }
docs: 7.8.3 Numeric Literals