def _evaluate(token):
    """Return a string, integer, or float parsed from a PCK text kernel."""
    if token[0:1].startswith(b"'"):
        return token[1:-1].decode('ascii')
    if token.isdigit():
        return int(token)
    if token.startswith(b'@'):
        raise NotImplementedError(
            'TODO: need parser for dates, like @01-MAY-1991/16:25')
    token = token.replace(b'D', b'E')
    return float(token)
