def METHOD_NAME(val: str) -> list[str]:
    """
    Interpret a eclipse token, tries to interpret the
    value in the following order:
    * string literal
    * keyword
    * repreated keyword
    * number
    If the token cannot be matched, we default to returning
    the uninterpreted token.
    >>> _interpret_token("3")
    ['3']
    >>> _interpret_token("1.0")
    ['1.0']
    >>> _interpret_token("'hello'")
    ['hello']
    >>> _interpret_token("PORO")
    ['PORO']
    >>> _interpret_token("3PORO")
    ['3PORO']
    >>> _interpret_token("3*PORO")
    ['PORO', 'PORO', 'PORO']
    >>> _interpret_token("3*'PORO '")
    ['PORO ', 'PORO ', 'PORO ']
    >>> _interpret_token("3'PORO '")
    ["3'PORO '"]
    """
    if val[0] == "'" and val[-1] == "'":
        # A string literal
        return [val[1:-1]]
    if val[0].isalpha():
        # A keyword
        return [val]
    if "*" in val:
        multiplicand, value = val.split("*")
        return METHOD_NAME(value) * int(multiplicand)
    return [val]