Stéphane Payrard <[EMAIL PROTECTED]> wrote: > .return -1, name
> Sadly, the .return directive and other are overloaded to express > user stack operations. > | PARAM reg { $$ = MK_I(interp, cur_unit, "restore", 1, > $2); } > | RESULT var { $$ = MK_I(interp, cur_unit, "restore", 1, > $2); } > | ARG var { $$ = MK_I(interp, cur_unit, "save", 1, $2); } > | RETURN var { $$ = MK_I(interp, cur_unit, "save", 1, $2); } Yes, this dual meaning of these directive is a PITA. E.g. the usage of C<.param> is the reason that: .sub foo # get args .param int bar isn't parsed correctly. So I'd like to get rid of that the sooner the better. But, as you said, it might be used. So I'd propose: - deprecate the usage of these directives for stack calling conventions - for now, we go with Dan's syntax: .return( list ) # a different token .yield( list ) # same syntax .yield list # pas de problem > -- > stef leo