def split_positional_keyword_arguments(*args):
    """ Create a list of positional arguments and a dictionary of keyword arguments
    """

    # Distinguish between positional and keyword arguments
    val_args = ()
    for i, a in enumerate(args):
        if a.has_keyword:
            args, val_args = args[:i], args[i:]
            break

    # Collect values from args
    args = [a.value for a in args]
    # Convert list of keyword arguments into dictionary
    kwargs = {a.keyword: a.value for a in val_args}

    return args, kwargs