code: public Token scanNumericLiteral() {
  		int start = pos;
  		int next = pos + 1;
  		// Decide whether it's an integer, binary or hexadecimal literal
  		if (next < input.length() && input.charAt(pos) == '0' && input.charAt(next) == 'x') {
  			// Hexadecimal literal
  			return scanHexLiteral();
  		} else if (next < input.length() && input.charAt(pos) == '0' && input.charAt(next) == 'b') {
  			// Binary literal
  			return scanBinaryLiteral();
  		} else {
  			return scanIntegerLiteral();
  		}
  	}
docs: Scan a numeric constant. That is a sequence of digits which constitutes an
  integer literal (e.g. 12 or 1_000), a binary literal (e.g. 0b1001_0011) or a
  hex literal (e.g. 0xff).
  
  @return