@action(Alt(Rule("<STR_LIT>"),<EOL>Rule("<STR_LIT>"),<EOL>Rule("<STR_LIT>")))<EOL><INDENT>def arglist(self, args, call):<DEDENT>
for arg in args:<EOL><INDENT>if isinstance(arg, ast.keyword):<EOL><INDENT>call.keywords.append(arg)<EOL><DEDENT>elif len(call.keywords) > <NUM_LIT:0>:<EOL><INDENT>error = diagnostic.Diagnostic(<EOL>"<STR_LIT>", "<STR_LIT>", {},<EOL>arg.loc, [call.keywords[-<NUM_LIT:1>].loc])<EOL>self.diagnostic_engine.process(error)<EOL><DEDENT>else:<EOL><INDENT>call.args.append(arg)<EOL><DEDENT><DEDENT>return call<EOL>
arglist: (argument ',')* (argument [','] |
                                     '*' test (',' argument)* [',' '**' test] |
                                     '**' test)