From fda5eeae72dc043d4359cf1c9a8e092008292f22 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 9 Aug 2007 05:01:37 +0000 Subject: * parse.y (f_marg_list): renamed from f_marg_head. * parse.y (f_margs): allow multiple mandatory arguments after a splat. [ruby-dev:31153] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ parse.y | 20 ++++++++++---------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index eda54987b4..e83ea7cded 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Thu Aug 9 14:01:36 2007 Nobuyoshi Nakada + + * parse.y (f_marg_list): renamed from f_marg_head. + + * parse.y (f_margs): allow multiple mandatory arguments after a splat. + [ruby-dev:31153] + Thu Aug 9 02:02:02 2007 Yukihiro Matsumoto * enum.c (enum_cycle): typo fixed. a patch from Kazuhiro diff --git a/parse.y b/parse.y index 8e74605cef..6d69a3944f 100644 --- a/parse.y +++ b/parse.y @@ -637,7 +637,7 @@ static void ripper_compile_error(struct parser_params*, const char *fmt, ...); %type open_args paren_args opt_paren_args %type command_args aref_args opt_block_arg block_arg var_ref var_lhs %type mrhs superclass block_call block_command -%type f_arglist f_args f_arg f_arg_item f_optarg f_marg f_marg_head f_margs +%type f_arglist f_args f_arg f_arg_item f_optarg f_marg f_marg_list f_margs %type assoc_list assocs assoc undef_list backref string_dvar for_var %type block_param opt_block_param block_param_def f_opt %type bv_decls opt_bv_decl bvar @@ -3007,7 +3007,7 @@ f_marg : f_norm_arg } ; -f_marg_head : f_marg +f_marg_list : f_marg { /*%%%*/ $$ = $1; @@ -3015,7 +3015,7 @@ f_marg_head : f_marg $$ = mlhs_add(mlhs_new(), $1); %*/ } - | f_marg_head ',' f_marg + | f_marg_list ',' f_marg { /*%%%*/ $$ = list_append($1, $3); @@ -3025,7 +3025,7 @@ f_marg_head : f_marg } ; -f_margs : f_marg_head +f_margs : f_marg_list { /*%%%*/ $$ = NEW_MASGN($1, 0); @@ -3033,7 +3033,7 @@ f_margs : f_marg_head $$ = $1; %*/ } - | f_marg_head ',' tSTAR f_norm_arg + | f_marg_list ',' tSTAR f_norm_arg { /*%%%*/ $$ = NEW_MASGN($1, assignable($4, 0)); @@ -3041,7 +3041,7 @@ f_margs : f_marg_head $$ = mlhs_add_star($1, $4); %*/ } - | f_marg_head ',' tSTAR f_norm_arg ',' f_marg + | f_marg_list ',' tSTAR f_norm_arg ',' f_marg_list { /*%%%*/ $$ = NEW_MASGN($1, NEW_POSTARG(assignable($4, 0), $6)); @@ -3049,7 +3049,7 @@ f_margs : f_marg_head $$ = mlhs_add_star($1, $4); %*/ } - | f_marg_head ',' tSTAR + | f_marg_list ',' tSTAR { /*%%%*/ $$ = NEW_MASGN($1, -1); @@ -3057,7 +3057,7 @@ f_margs : f_marg_head $$ = mlhs_add_star($1, Qnil); %*/ } - | f_marg_head ',' tSTAR ',' f_marg + | f_marg_list ',' tSTAR ',' f_marg_list { /*%%%*/ $$ = NEW_MASGN($1, NEW_POSTARG(-1, $5)); @@ -3073,7 +3073,7 @@ f_margs : f_marg_head $$ = mlhs_add_star(mlhs_new(), $2); %*/ } - | tSTAR f_norm_arg ',' f_marg + | tSTAR f_norm_arg ',' f_marg_list { /*%%%*/ $$ = NEW_MASGN(0, NEW_POSTARG(assignable($2, 0), $4)); @@ -3092,7 +3092,7 @@ f_margs : f_marg_head $$ = mlhs_add_star(mlhs_new(), Qnil); %*/ } - | tSTAR ',' f_marg + | tSTAR ',' f_marg_list { /*%%%*/ $$ = NEW_MASGN(0, NEW_POSTARG(-1, $3)); -- cgit v1.2.3