function getTokenFromCode(code) {
    switch(code) {
      // The interpretation of a dot depends on whether it is followed
      // by a digit.
      case 46: // '.'
        return readToken_dot();

        // Punctuation tokens.
      case 40:  ++tokPos; return finishToken(_parenL);
      case 41:  ++tokPos; return finishToken(_parenR);
      case 59:  ++tokPos; return finishToken(_semi);
      case 44:  ++tokPos; return finishToken(_comma);
      case 91:  ++tokPos; return finishToken(_bracketL);
      case 93:  ++tokPos; return finishToken(_bracketR);
      case 123: ++tokPos; return finishToken(_braceL);
      case 125: ++tokPos; return finishToken(_braceR);
      case 58:  ++tokPos; return finishToken(_colon);
      case 63:  ++tokPos; return finishToken(_question);

        // '0x' is a hexadecimal number.
      case 48: // '0'
        var next = input.charCodeAt(tokPos + 1);
        if (next === 120 || next === 88) return readHexNumber();
        // Anything else beginning with a digit is an integer, octal
        // number, or float.
      case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: // 1-9
        return readNumber(false);

        // Quotes produce strings.
      case 34: case 39: // '"', "'"
        return readString(code);

      // Operators are parsed inline in tiny state machines. '=' (61) is
      // often referred to. `finishOp` simply skips the amount of
      // characters it is given as second argument, and returns a token
      // of the type given by its first argument.

      case 47: // '/'
        return readToken_slash();

      case 37: case 42: // '%*'
        return readToken_mult_modulo();

      case 124: case 38: // '|&'
        return readToken_pipe_amp(code);

      case 94: // '^'
        return readToken_caret();

      case 43: case 45: // '+-'
        return readToken_plus_min(code);

      case 60: case 62: // '<>'
        return readToken_lt_gt(code);

      case 61: case 33: // '=!'
        return readToken_eq_excl(code);

      case 126: // '~'
        return finishOp(_prefix, 1);
    }

    return false;
  }
@param {number} code
@returns {boolean|undefined}