diff options
author | aamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-04-05 13:16:40 +0000 |
---|---|---|
committer | aamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-04-05 13:16:40 +0000 |
commit | e5af80c69779c10e237a20d1b04daf2453d5dc0c (patch) | |
tree | 16cc51ce826699c44ab06858cfa95d431da6e5ca | |
parent | d0dec9337b76267676bf8e62cf7cd189e2dff14e (diff) | |
download | ruby-e5af80c69779c10e237a20d1b04daf2453d5dc0c.tar.gz |
* parse.y (assoc_list): {a: 1, b: 2} should be allowed. [ruby-dev:23328]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | parse.y | 17 |
2 files changed, 19 insertions, 3 deletions
@@ -1,3 +1,8 @@ +Mon Apr 5 22:16:23 2004 Minero Aoki <aamine@loveruby.net> + + * parse.y (assoc_list): {a: 1, b: 2} should be allowed. + [ruby-dev:23328] + Mon Apr 5 19:43:40 2004 Kazuo Saito <ksaito@uranus.dti.ne.jp> * regexec.c: imported Oni Guruma 2.2.6. @@ -261,7 +261,7 @@ static void top_local_setup(); %type <node> command_args aref_args opt_block_arg block_arg var_ref var_lhs %type <node> mrhs superclass block_call block_command %type <node> f_arglist f_args f_optarg f_opt f_block_arg opt_f_block_arg -%type <node> assoc_list assocs assoc undef_list backref string_dvar +%type <node> assoc_list assocs assoc kwargs undef_list backref string_dvar %type <node> block_var opt_block_var brace_block cmd_brace_block do_block lhs none %type <node> mlhs mlhs_head mlhs_basic mlhs_entry mlhs_item mlhs_node %type <id> fitem variable sym symbol operation operation2 operation3 @@ -2381,9 +2381,9 @@ assoc_list : none } $$ = $1; } - | tLABEL arg_value + | kwargs trailer { - $$ = list_append(NEW_LIST(NEW_LIT(ID2SYM($1))), $2); + $$ = $1; } ; @@ -2400,6 +2400,17 @@ assoc : arg_value tASSOC arg_value } ; +kwargs : tLABEL arg_value + { + $$ = list_append(NEW_LIST(NEW_LIT(ID2SYM($1))), $2); + } + | kwargs ',' tLABEL arg_value + { + $$ = list_append(NEW_LIST(NEW_LIT(ID2SYM($3))), $4); + $$ = list_concat($1, $$); + } + ; + operation : tIDENTIFIER | tCONSTANT | tFID |