def p_arglist13(p):
    kwnames = set()
    keywords = p[4] + [p[5]]
    for kw in keywords:
        if not isinstance(kw, ast.keyword):
            msg = 'only named arguments may follow *expression'
            tok = FakeToken(p.lexer.lexer, p.lineno(1))
            syntax_error(msg, tok)
        if kw.arg in kwnames:
            msg = 'keyword argument repeated'
            tok = FakeToken(p.lexer.lexer, kw.lineno)
            syntax_error(msg, tok)
        kwnames.add(kw.arg)
    p[0] = Arguments(keywords=keywords, starargs=p[2])
arglist : STAR test COMMA arglist_list argument
dataset/ETHPy150Open nucleic/enaml/enaml/core/parser.py/p_arglist13